@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

/************************************************************************************
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%;
	vertical-align: baseline;
	-webkit-text-size-adjust: 100%;
}
html {
	line-height: 1;
	font-size: 62.5%;
	scroll-behavior: smooth; 
}
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, fieldset { border: 0; }
/* set image max width to 100% */
img {
	max-width: 100%;
	height: auto;
}
/* set html5 elements to block */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; }
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	color: #333333;
	font-size: 1.4rem;
	font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
a:link, a:visited, a:active {
	color: #3372a8;
	text-decoration: underline;
	word-wrap: break-word;
	outline: none;
}
a:hover {
	color: #000;
	text-decoration: none;
	transition: 0.2s linear;
}
a img {
	border: none;
	-webkit-transition: 0.2s linear;
	transition: 0.2s linear;
}
a:hover img { opacity: 1; }
input[type=search] {
	-webkit-appearance: none;
	outline: none;
}
 input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {
 display: none;
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.clear {
	clear: both;
	font: 0pt/0pt sans-serif;
}
/* text_font
---------------------------------------------*/
em { color: #ff0088; }
.b { font-weight: bold !important; }
.c {
	text-align: center !important;
	margin: 0px auto !important;
}
.txtr {
	text-align: right !important;
	display: block !important;
}
.txtl { text-align: left !important; }
.normal { font-weight: normal !important;}
.mb05 { margin-bottom: 0.5rem !important; }
.mb1 { margin-bottom: 1rem !important; }
.mb2 { margin-bottom: 2rem !important; }
.mb3 { margin-bottom: 3rem !important; }
.mb4 { margin-bottom: 4rem !important; }
.mb5 { margin-bottom: 5rem !important; }
.mb6 { margin-bottom: 6rem !important; }
.mb10 { margin-bottom: 10rem !important; }
.mt1 { margin-top: 1rem !important; }
.mt2 { margin-top: 2rem !important; }
.mt3 { margin-top: 3rem !important; }
.mt4 { margin-top: 4rem !important; }
.mt5 { margin-top: 5rem !important; }
.mt6 { margin-top: 6rem !important; }
.mt10 { margin-top: 10rem !important; }
.pt1 { padding-top: 1rem !important; }
.pt2 { padding-top: 2rem !important; }
.pt3 { padding-top: 3rem !important; }
.pt4 { padding-top: 4rem !important; }
.pt5 { padding-top: 5rem !important; }
.pt6 { padding-top: 6rem !important; }
.pt10 { padding-top: 10rem !important; }
.ml1 { margin-left: 1rem !important; }
.ml2 { margin-left: 2rem !important; }
.ml3 { margin-left: 3rem !important; }
.pad_A1 { padding: 1rem !important; }
.pad_A2 { padding: 2rem !important; }

.disc {
	padding-left: 1.7rem;
	text-indent: -.1rem;
	line-height: 1.7;
  }
.disc li {
	list-style-type: disc !important;
  }
.decimal ol {
	padding-left: 1em;
  }
.decimal ol li {
	list-style-type: decimal !important;
	margin-left: 1em;
	text-indent: -.1em;
  }
hr {
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	border-color: #C9CACA;
	height: 1px;
  }
hr.linebk {
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	border-color: #000;
	height: 1px;
  }

.indent     { 
 margin-left: 1em;
 text-indent: -1em;
}
.justify {
	padding-top: 0.2em;
	line-height: 1.4em;
	text-align: justify;
	text-justify: inter-ideograph; /* IE用 */
}

.f_gothic { font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }
.f_mincho { font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif; }
.overflow {
	overflow: hidden;
}
.overflow::after {
  content: "";
  display: block;
  clear: both;
}
.fc_red {
	color: #FF0000 !important;
}
.fc_orange {
	color: #e88020 !important;
}
.fc_cc {
	color: #3372a8 !important;
}
.fc_cc2 {
	color: #E5EFF5 !important;
}
.fc_cc3 {
	color: #F2F4FF !important;
}
.bg_cc {
	background: #3372a8 !important;
}
.bg_cc2 {
	background: #E5EFF5 !important;
}
.bg_cc3 {
	background: #F2F4FF !important;
}
.bg_wh {
	background: #fff !important;
}
.bg_bk {
	background: #000 !important;
}
.lspac { letter-spacing: -0.09em; }
hr {
	border: 0;
  height: 1px;
  background: #ccc;
  margin: 4rem 0;
}
.frame_p {
	box-shadow: 0 2px 6px #999;
}
.under {background: linear-gradient(transparent 50%, #ffff02 50%);}


a.anchor {
    display: block;
    padding-top: 10rem;
    margin-top: -10rem;
}
/* page-top */
#pagetop {
	position: fixed;
	bottom: 0;
	right: 0;
	display: block;
	color: #3372a8;
	text-decoration: none;
	font-weight: bold;
 	font-size: 10px;
	width: 50px;
	height: 50px;
	text-align: center;
	line-height: 22px;
	box-sizing: border-box;
}
#pagetop:before {
	content: '▲';
	position: absolute;
	top: 12px;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 2rem;
}
#pagetop:hover { opacity: 0.7; }
main {
	position: relative;
}

/* css animation */
.transform {
	transform: translateY(30px);
	transition: 1s ease;
	opacity: 0;
  }
  
  .transform02 {
	transform: translateY(70px);
	transition: 2.2s ease;
	opacity: 0;
  }
  
  .transform_r {
	transform: translateX(100px);
	transition: 1s ease;
	opacity: 0;
  }
  
  .transform_r02 {
	transform: translateX(150px);
	transition: 1s ease;
	opacity: 0;
  }
  
  .transform_l {
	transform: translateX(-100px);
	transition: 1s ease;
	opacity: 0;
  }
  
  .transform_l02 {
	transform: translateX(-150px);
	transition: 1s ease;
	opacity: 0;
  }
  
  .transform_f {
	transform: translateY(0);
	transition: 2s ease;
	opacity: 0;
  }
  
  .transform.fade_on, .transform02.fade_on {
	transform: translateY(0px);
	opacity: 1;
  }
  
  .transform_r.fade_on, .transform_r02.fade_on {
	transform: translateX(0px);
	opacity: 1;
  }
  
  .transform_l.fade_on, .transform_l02.fade_on {
	transform: translateX(0px);
	opacity: 1;
  }
  
  .transform_f.fade_on {
	transform: translateX(0px);
	opacity: 1;
  }

.delay {
	-webkit-transition-delay: 0.1s;
	transition-delay: 0.1s;
}
.delay02 {
	-webkit-transition-delay: 0.2s;
	transition-delay: 0.2s;
}
.delay03 {
	-webkit-transition-delay: 0.4s;
	transition-delay: 0.4s;
}
.delay04 {
	-webkit-transition-delay: 0.6s;
	transition-delay: 0.6s;
}
.delay05 {
	-webkit-transition-delay: 0.8s;
	transition-delay: 0.8s;
}
.delay06 {
	-webkit-transition-delay: 1s;
	transition-delay: 1s;
}
.delay07 {
	-webkit-transition-delay: 1.3s;
	transition-delay: 1.3s;
}
.delay08 {
	-webkit-transition-delay: 2.5s;
	transition-delay: 2.5s;
}

/* 日曜日：赤 */
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7n + 1),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n + 1) {
  color: red;
}

/* 土曜日：青 */
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n) {
  color: blue;
}

/* 入力欄の文字列  */
.flatpickr-calendar .numInput{
  user-select: none;
}

/* Adjustment */
@media screen and (min-width: 768px) {

}

@media screen and (max-width: 767px) {

}

