/* CSS Document */
*, *::after, *::before {
  box-sizing: inherit;
}
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, hr {
  margin: 0;
  padding: 0;
  border: 0;
}
html, body {
  box-sizing: border-box;
  line-height: 1.7;
  letter-spacing: 0.1rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: var(--text);
  font-size: 16px;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main, form legend {
  display: block;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img, video, svg {
  max-width: 100%;
}
figure {
  max-width: 600px;
  margin: 0.5rem auto;
}
.oswald {
  font-family: 'Oswald', sans-serif !important;
}
.half figure {
  max-width: calc(100% / 2 - 1rem);
}
.half, .third {
  margin: 1rem auto;
  max-width: 610px;
}
.half figcaption {
  font-size: 0.95rem;
}
.third figure {
  max-width: calc(100% / 3 - 1rem);
}
.third figcaption {
  font-size: 0.85rem;
}
:root {
  --primary: #111111;
  --accent: #2c9c0d;
  --sub: #ff9e00;
  --title: #2c9c0d;
	--title2: #2c9cce;
  --text: #111111;
  --gray: #393F47;
  --mdgray: #dfeaf5;
  --lightgray: rgba(240,240,240,0.7);
  --base: #dbe3e9;
  --green: #5bb331;
  --gray2: #1A427C;
	--gp: #00b55e;
	--gp2:#5bde40;
}
:root {
  --space-unit: 1em;
  --space: calc(1.25*var(--space-unit));
  --component-padding: var(--space);
}

.tit_gradation{
	color:#FFF!important;
	font-weight: bold;}

.tit_golf{
	background: var(--text);
	color:#FFF!important;
	font-weight: bold;
	padding:5px;
	margin-bottom:1rem
}
.padding-md {
  padding: calc(var(--space) * 1.8);
}
.padding-ss {
  padding: 0.5rem;
}
.bg_primary {
  background: var(--primary);
}
.bg_white {
  background: #FFF;
}
.bg_gray {
  background: var(--gray);
}
.bg_50gray{background: var(--base);}
/*.bg_base {
  background: var(--base);
}*/
.bg_gp{
	background: rgb(253,253,220);
background: radial-gradient(circle, rgba(253,253,220,1) 0%, rgba(242,252,202,1) 100%);
}
.bg_base{ background:  linear-gradient(to right, var(--base), transparent), url(./noise.svg);
	background-size:auto,20%;position: relative;
}
.bg_base::before{z-index: 1;
content: "";
background:  rgba(150, 255, 170, 0.9);
	mix-blend-mode:soft-light;
	opacity: 0.9;
	background-size:30%;
width:100%;
height:100%;
	top:0px;
	left: 0;
	display: block;
	position: absolute;}

.bg_base_sch{ background:  linear-gradient(to right, var(--base), transparent), url(./noise.svg);
	background-size:auto,20%;position: relative;
}
.bg_base_sch::before{z-index: 1;
content: "";
	position: absolute;
background: url("./bg_sch.jpg") no-repeat center center;
	mix-blend-mode:soft-light;
	opacity: 0.8;
	background-size:140%;
width:100%;
height:100%;
	top:0px;
	left: 0;
	display: block;}

.bg_base_btn{ background: url(./noise.svg)
	;background-size:4px;border-radius:60px;}

.bg_lightgray {
  background: var(--lightgray);
}
.bg_title {
  background: var(--title);
}
.bg_sub {
  background: var(--sub);
}
.txt_primary {
  color: var(--primary);
}
.txt_accent {
  color: var(--accent);
}

.txt_white{
	color: #FFF!important;
}
.txt_text {
  color: var(--text);
}
.txt_center {
  text-align: center;
}
.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}