@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap');

/*
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@400;500;600;700&display=swap');
*/

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

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

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

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

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

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

/*-----------------------------------------------------------------------------------------

#538ba7


0000 確認用 と　デフォ
0001 INITIAL VALUE
0002 LAYOUT
0003 TYPOGRAPHY RESET

1001 Humberger
1002 Humberger の時のメニュー
1003 FIXED-NAV

2001 HEADER　FOOTER　の　PARTS
2002 HEADER
2003 HEADER upper
2004 HEADER nav
2005 FOOTER

3001 INDEX -  area-hero

4001 TABLE
4002 blockquote
4003 LIST-STYLE

5001 button
5002 article の 基本＆TYPOGRAPHY
5003 area-title
5004 eyecatch


----------------------------------------------------------------------------------------- */









/*-----------------------------------------------------------------------------------------
0000 確認用 と　デフォ
----------------------------------------------------------------------------------------- */
body {
	border-left: 0px solid black;
}

input,
button {
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	background: transparent;
	cursor: pointer;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: transparent;
}

textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	resize: none;
	padding: 0;
	border: 0;
	outline: none;
	background: transparent;
}

@media screen and (max-width: 1200px) {
	body {
		border-left: 0px solid red;
	}
}

@media screen and (max-width: 1024px) {
	body {
		border-color: green;
	}
}

@media screen and (max-width: 768px) {
	body {
		border-color: blue;
	}
}

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

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

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










/*-----------------------------------------------------------------------------------------
0001 INITIAL VALUE
----------------------------------------------------------------------------------------- */
html {
	padding: 0px;
	margin: 0px;
	background: white;
	border: 0px solid #42985B;
	font-size: 62.5%;
	overflow-x: hidden;
	color: black;

}

body {
	width: 100%;
	height: auto;
	font-weight: normal;
	font-size: 1rem;
	line-height: 1;
	position: relative;
	padding: 0;
	margin: 0;
	background: white;
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Yu Gothic", sans-serif;
	background: white;
	color: inherit;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

article,
section,
aside,
header,
footer {
	display: block;
	padding: 0;
	margin: 0;
	width: 100%;
	border: 0px solid #42985B;
}

main {
	display: block;
	padding: 0;
	margin: 0;
	width: 100%;
	background: white;
	background-size: 100% auto;
}

img {
	width: 100%;
	height: auto;
	display: block;
	padding: 0;
	margin: 0 auto;
	vertical-align: bottom;
	image-rendering: -webkit-optimize-contrast;
}

a {
	color: #1b739d;
	text-decoration: none;
}

a:hover {
	transition: 0.5s;
	text-decoration: none;
	opacity: 0.5;
}

.none {
	display: none;
}

.clearfix::after {
	content: '';
	display: block;
	clear: both;
}

strong,
b {
	font-weight: 600;
}

small {
	font-size: 0.8em;
}

em {
	color: #444;
	padding: 0 0.3em;
	font-style: normal;
}

li {
	list-style: none;
}

hr {
	margin: 1.5rem 0;
	clear: both;
}

iframe {
	width: 100%;
	vertical-align: bottom;
	margin: 0 auto;
}

time {
	color: #333;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1;
	padding: 0.25em 1em;
	margin: 0.2em 0;
	background: #bbb;
	display: block;
	width: 7em;
	text-align: center;
	font-family: 'Jost', sans-serif;
}

.disabled {
	opacity: 0.4;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

.flexbox {
	width: 100%;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.swiper-wrapper {
	height: auto !important;
}

.swiper-container li {
	list-style: none;
}


.txt-center {
	text-align: center;
}

.txt-right {
	text-align: right;
}

.txt-small {
	font-size: 0.8em !important;
	font-weight: inherit !important;
}

.txt-large {
	font-size: 1.1em !important;
	font-weight: inherit !important;
}


.txt-xlarge {
	font-size: 1.3em !important;
	font-weight: inherit !important;
}




.irregular {}

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

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

@media screen and (max-width: 768px) {
	body {
		min-width: 100%;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}


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

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

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










/*-----------------------------------------------------------------------------------------
0002 LAYOUT
----------------------------------------------------------------------------------------- */
.container {
	border: 0px solid red;
	max-width: 1200px;
	padding: 0;
	margin: 0 auto;
	background: transparent;
}

.container-fluid {
	border: 0px solid lightblue;
	width: 100%;
	padding: 0;
	margin: 0 auto;
	background: transparent;
}

.row {
	clear: both;
	padding: 0;
	margin: 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}


.flexbox {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flexbox-middle {
	-webkit-justify-content: center;
	-ms-flex-pack: justify;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	height: 100%;
}

.flexbox li {
	list-style: none;
}

.col-01,
.col-02,
.col-03,
.col-04,
.col-05,
.col-06,
.col-07,
.col-08,
.col-09,
.col-10,
.col-11,
.col-12 {
	border: 0px solid black;
	padding: 0 15px;
	display: block;
	float: none;
	position: relative;
}

.col-01 {
	width: 8.33333%;
}

.col-02 {
	width: 16.66667%;
}

.col-03 {
	width: 25%;
}

.col-04 {
	width: 33.33333%;
}

.col-05 {
	width: 41.66667%;
}

.col-06 {
	width: 50%;
}

.col-07 {
	width: 58.33333%;
}

.col-08 {
	width: 66.66667%;
}

.col-09 {
	width: 75%;
}

.col-10 {
	width: 83.33333%;
}

.col-11 {
	width: 91.66667%;
}

.col-12 {
	width: 100%;
}

.container-fluid .col-12,
.container-fluid .col-11,
.container-fluid .col-10,
.container-fluid .col-09,
.container-fluid .col-08,
.container-fluid .col-07,
.container-fluid .col-06,
.container-fluid .col-05,
.container-fluid .col-04,
.container-fluid .col-03,
.container-fluid .col-02,
.container-fluid .col-01 {
	padding: 0;
	border-color: orange;
}

@media screen and (max-width: 1200px) {
	.container {
		width: 100%;
		min-width: initial;
		border: 0px solid orange;
		/* padding-left: 5%;
		padding-right: 5%; */
	}
}

@media screen and (max-width: 1024px) {
	.blank {
		display: none;
	}
}

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

	.container,
	.container-fluid {
		width: 100%;
		min-width: initial;
		border: 0px solid blue;
	}

	.container {
		width: 100%;
		min-width: initial;
		border: 0px solid orange;
		padding-left: 5%;
		padding-right: 5%;
	}

	header .container {
		padding-left: 0;
		padding-right: 0;
	}


	.col-01,
	.col-02,
	.col-03,
	.col-04,
	.col-05,
	.col-06,
	.col-07,
	.col-08,
	.col-09,
	.col-10,
	.col-11,
	.col-12 {
		padding: 0 10px;
	}

	.col-01 {
		width: 50%;
	}

	.col-02 {
		width: 50%;
	}

	.col-03 {
		width: 50%;
	}

	.col-04 {
		width: 100%;
	}

	.col-05 {
		width: 100%;
	}

	.col-06 {
		width: 100%;
	}

	.col-07 {
		width: 100%;
	}

	.col-08 {
		width: 100%;
	}

	.col-09 {
		width: 100%;
	}

	.col-10 {
		width: 100%;
	}

	.col-11 {
		width: 100%;
	}

	.col-12 {
		width: 100%;
	}
}

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

	.col-01,
	.col-02,
	.col-03,
	.col-04,
	.col-05,
	.col-06,
	.col-07,
	.col-08,
	.col-09,
	.col-10,
	.col-11,
	.col-12 {
		padding: 0 5px;
	}
}

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

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










/*-----------------------------------------------------------------------------------------
0003 TYPOGRAPHY RESET
----------------------------------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6,
p,
th,
td,
li,
dt,
dd {
	font-size: 1.6rem;
	line-height: 1.5;
	padding: 0;
	margin: 0;
	letter-spacing: 0;
	font-weight: 400;
	font-style: normal;
}

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

@media screen and (max-width: 1024px) {
	html {
		font-size: calc(62.5% * 0.90);
		color: purple
	}
}

@media screen and (max-width: 768px) {
	html {
		font-size: calc(62.5% * 0.85);
		color: maroon
	}
}

@media screen and (max-width: 520px) {
	html {
		font-size: calc(62.5% * 0.80);
		color: darkorange
	}
}

@media screen and (max-width: 420px) {
	html {
		font-size: calc(62.5% * 0.75);
		color: yellowgreen
	}
}

@media screen and (max-width: 375px) {
	html {
		font-size: calc(62.5% * 0.70);
		color: pink
	}
}










/*-----------------------------------------------------------------------------------------
1001 Humberger
----------------------------------------------------------------------------------------- */
.hamburger {
	display: none
}

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

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

	.hamburger,
	.hamburger span {
		display: inline-block;
		transition: all 0.4s;
		box-sizing: border-box;
	}

	.hamburger {
		position: fixed;
		top: 27px;
		right: 15px;
		width: 60px;
		height: 60px;
		z-index: 1003;
		display: block;
		background: transparent;
	}

	.hamburger.active {
		z-index: 1003;
	}

	.hamburger span {
		position: absolute;
		left: 12px;
		width: 36px;
		height: 3px;
		background-color: #0B9BE0;
		border-radius: 4px;
	}

	.hamburger span:nth-of-type(1) {
		top: calc(28px - 12px);
	}

	.hamburger span:nth-of-type(2) {
		top: 28px;
	}

	.hamburger span:nth-of-type(3) {
		top: calc(28px + 12px);
	}

	.hamburger.active span {
		background-color: white;
	}

	.hamburger.active span:nth-of-type(1) {
		-webkit-transform: translateY(12px) rotate(-45deg);
		transform: translateY(12px) rotate(-45deg);
	}

	.hamburger.active span:nth-of-type(2) {
		left: 50%;
		opacity: 0;
		-webkit-animation: active-menu-bar02 0.8s forwards;
		animation: active-menu-bar02 0.8s forwards;
	}

	.hamburger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-12px) rotate(45deg);
		transform: translateY(-12px) rotate(45deg);
	}

}

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

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

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

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










/*-----------------------------------------------------------------------------------------
1002 Humberger の時のメニュー
----------------------------------------------------------------------------------------- */
#navigation {
	display: none;
}

#navigation.block {
	height: 100%;
	opacity: 1;
	width: 100%;
	right: 0;
}

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

@media screen and (max-width: 1024px) {
	#navigation {
		position: fixed;
		display: block;
		width: 100%;
		height: 100px;
		overflow-y: auto;
		top: 0;
		right: -100%;
		z-index: 1002;
		background-size: auto auto;
		background-color: rgba(11, 155, 224, 0.95);
		height: 100%;
		opacity: 1;
		transition: all .8s ease;
	}

	.accordion {
		height: 100%;
		width: 100%;
		padding: 0;
		margin: 0;
		-webkit-justify-content: center;
		-ms-flex-pack: justify;
		justify-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding-bottom: 100px;

	}

	.accordion ul.accordion-container {
		width: 75%;
		padding: 0;
		margin: auto;
		background: rgba(255, 255, 255, 0);
	}

	.accordion ul.accordion-container li {
		border-bottom: 1px dashed white;
		padding: 0;
		margin: 0 0 0 0;
	}

	.accordion ul.accordion-container li a {
		display: block;
		padding: 15px 5px;
		margin: 0;
		font-size: 27px;
		line-height: 1.4;
		text-decoration: none;
		font-weight: 400;
		color: white;
		-webkit-justify-content: space-between;
		-ms-flex-pack: space-between;
		justify-content: space-between;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.accordion ul.accordion-container li a span {
		font-family: 'Oswald', sans-serif;
	}

	.accordion ul.accordion-container li a small {
		-webkit-justify-content: center;
		-ms-flex-pack: justify;
		justify-content: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		font-size: 0.4em;
		margin-left: 1em;
	}

	.accordion ul.accordion-container li a small b {
		background: rgba(255, 255, 255, 0.9);
		color: #0B9BE0;
		padding: 0.1em 1em;
		min-width: 14em;
		text-align: center;
	}

	.accordion ul.accordion-container li:first-child {
		border-top: 1px dashed white;
	}

	.accordion ul.accordion-container li.icon {
		border: none;
	}

	.accordion ul.accordion-container li a:hover {
		background: white;
		color: #0B9BE0;
		transition: 0.4s;
		opacity: 1;
	}
}

@media screen and (max-width: 768px) {
	.accordion ul.accordion-container li a {
		font-size: 20px;
	}

	.accordion ul.accordion-container li a small {
		font-size: 0.6em;
	}
}

@media screen and (max-width: 520px) {
	.accordion ul.accordion-container {
		width: 85%;
	}
}

@media screen and (max-width: 420px) {
	.accordion ul.accordion-container li a {
		padding: 10px 5px;
		display: block;
		font-size: 18px;

	}

	.accordion ul.accordion-container li a small {
		display: block;
		font-size: 0.4em;
		margin: 0;
		font-size: 10px;
	}

	.accordion ul.accordion-container li a small b {
		background: transparent;
		color: white;
		padding: 0.1em 0;
		text-align: left;
		font-weight: 400;
	}

	.accordion ul.accordion-container li a:hover small b {
		color: #0B9BE0;
	}
}

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










/*-----------------------------------------------------------------------------------------
1003 FIXED-NAV
----------------------------------------------------------------------------------------- */
.fixed-nav {
	display: none;
	background: white;
	padding: 0;
	margin: 0;
	position: fixed;
	z-index: 1005;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60px;
}

.fixed-nav ul {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
}

.fixed-nav ul li {
	width: 25%;
	height: 100%;
	padding: 0;
	margin: 0;
	-webkit-justify-content: center;
	-ms-flex-pack: justify;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border-left: 1px solid rgba(255, 255, 255, 0.4);
	background: black;
	transition: 0.5s;
}

.fixed-nav ul li:first-child {
	border-left: none;
}

.fixed-nav ul li:hover {
	opacity: 0.8;
}

.fixed-nav ul li a {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	display: block;
	color: white;
}

.fixed-nav ul li a span,
.fixed-nav ul li a small {
	display: block;
	text-align: center;
	width: 100%;
	height: auto;
	padding: 0.2em 0;
	margin: 0;
}

.fixed-nav ul li a span {
	font-family: Oswald, sans-serif;
	font-size: 20px;
	line-height: 1;
}

.fixed-nav ul li a small {
	font-family: Oswald, sans-serif;
	font-size: 12px;
	line-height: 1;
}

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


@media screen and (max-width: 1024px) {
	.fixed-nav {
		display: block;
	}

	.fixed-nav ul li a span {
		font-size: 2.0vw;
	}

	.fixed-nav ul li a small {
		font-size: 1.0vw;
	}
}

@media screen and (max-width: 768px) {
	.fixed-nav ul li a span {
		font-size: calc(2.0vw * 1.6);
		line-height: 1;
	}

	.fixed-nav ul li a small {
		font-size: calc(1.0vw * 1.6);
	}
}

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

@media screen and (max-width: 420px) {
	.fixed-nav {
		height: 50px;
	}

	.fixed-nav ul li a span {
		font-size: calc(2.0vw * 1.8);
		line-height: 1;
	}

	.fixed-nav ul li a small {
		font-size: calc(1.0vw * 1.8);
	}
}

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









/*-----------------------------------------------------------------------------------------
2001 HEADER　FOOTER　の　PARTS
----------------------------------------------------------------------------------------- */
.logo img {
	max-width: 100%;
	width: auto;
	margin: 0;
}

.copyright {
	font-size: 11px;
	letter-spacing: 0.05em;
	line-height: 1.1;
	text-align: center;
	padding: 1em 0;
	margin: 1.5vw 0 0 0;
}

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

@media screen and (max-width: 1024px) {
	.logo img {
		max-width: 230px;
		width: auto;
		margin: 3vw auto 1.5vw;
	}

	.col-second .logo img {
		max-width: 125px;
	}

	.copyright {
		font-size: 10px;
		letter-spacing: 0;
		padding-bottom: 1em;
	}
}

@media screen and (max-width: 768px) {
	.logo img {
		max-width: 190px;
	}
}

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

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

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










/*-----------------------------------------------------------------------------------------
2002 HEADER
----------------------------------------------------------------------------------------- */
header {
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
	position: relative;
	z-index: 1000;
	background: white;
}

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

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

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

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

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

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










/*-----------------------------------------------------------------------------------------
2003 HEADER upper
----------------------------------------------------------------------------------------- */
header .upper {
	background: #0B9BE0;
	padding: 2px 0;
	margin: 0;
	color: white;
}

header .upper dl dt {
	font-size: 11px;
	line-hegiht: 1.3;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	margin: 0;
	texst-align: center;
}

header .upper nav {
	width: 100%;
	height: 100%;
}

header .upper nav ul {
	width: 100%;
	height: 100%;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: flex-end;
	justify-content: flex-end;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

header .upper nav ul li {
	font-size: 12px;
	line-height: 1.3;
	padding: 0 2em 0 0;
}

header .upper nav ul li a {
	height: 100%;
	-webkit-justify-content: center;
	-ms-flex-pack: justify;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	color: white;
}

header .upper nav ul li.lang {
	border: none;
	padding: 0 1px;
}

header .upper nav ul li.lang a {
	background: white;
	color: #333;
	width: 100%;
	padding: 0.2em 1em 0.25em;
	font-family: 'Oswald', sans-serif;
}

header .upper nav ul li.lang.current a {
	background: black;
	color: white;
}

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

@media screen and (max-width: 1024px) {
	header .upper {
		background: #0B9BE0;
		padding: 2px 0 4px;
		margin: 0;
		color: white;
	}

	header .upper dl dt {
		font-size: 10px;
		width: calc(100% - 120px);

	}

	header .upper dl dd {
		width: 120px;
	}

	header .upper nav ul li {
		display: none;
	}

	header .upper nav ul li.lang {
		display: block;
	}
}

@media screen and (max-width: 768px) {
	header .upper dl dt {
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

@media screen and (max-width: 520px) {
	header .upper dl dt {
		font-size: 0px;
	}
}

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

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





#logged header .upper {
	background: #1b739d;
	background: darkred;
}

#yet header .upper {
	background: #1b739d;
}

#yet.en header .upper {
	border-top:1px solid yellow;
}


#yet .user_name {
	display:none;
}










/*-----------------------------------------------------------------------------------------
2004 HEADER nav
----------------------------------------------------------------------------------------- */
header nav.global_menu {
	border: 0px solid red;
	width: 100%;
	height: 100%;
	display: block;
}

header nav.global_menu ul {
	width: 100%;
	height: 100%;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: flex-end;
	justify-content: flex-end;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

header nav.global_menu ul li {
	border-left: 1px solid #ccc;
	width: auto;
	height: 100%;
}

header nav.global_menu ul li a {
	background: transparent;
	height: 100%;
	display: block;
	-webkit-justify-content: center;
	-ms-flex-pack: justify;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

header nav.global_menu ul li a {
	color: #333;
	font-size: 21px;
	font-family: 'Oswald', sans-serif;
	text-align: center;
	padding: 0.5em 1.5em;
	font-weight: 300;
}

header nav.global_menu ul li a span {
	dipslay: block;
	border: 0px solid red;
}

header nav.global_menu ul li a small {
	display: block;
	font-size: 0.6em;
	opacity: 0.8;
	margin-top: 0.2em
}

header .logo {
	border: 0px solid blue;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
}

header h1 {
	border: 0px solid blue;
	width: 100%;
	height: 100%;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

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

@media screen and (max-width: 1024px) {
	header nav.global_menu {
		display: none;
	}

	header .col-04 {
		width: 100%;
	}

	header .logo {
		width: calc(100% - 80px);
		height: 100%;
		padding: 10px 0;
		margin: 0;
	}

	header .logo img {
		margin: auto;
	}
}

@media screen and (max-width: 768px) {
	header h1 {
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}

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

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

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










/*-----------------------------------------------------------------------------------------
2005 FOOTER
----------------------------------------------------------------------------------------- */
footer {
	background: white;
	padding: 3vw 0 0 0;
	margin: 0;
	border-top: 1px solid #ddd;
	border-bottom: 10px solid #ddd;
	color:#333;
}

footer a {
	color:#333;
}

footer nav {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 1.5rem 0 0 0;
}

footer nav ul {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;

}

footer nav ul li {
	border-right: 1px solid #333;
	font-size: 1.4rem;
	padding: 0 1em
}

footer nav ul li:first-child {
	padding-left: 0;
}

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

@media screen and (max-width: 1024px) {
	footer {
		padding-bottom: 70px;
	}

	footer .col-first,
	footer .col-second {
		width: 100%;
	}

	footer nav {
		width: 100%;
		height: auto;
		padding: 0;
		margin: 1.5rem 0 0 0;
	}

	footer nav ul {
		display: block;
	}

	footer nav ul li {
		width: 100%;
		text-align: center;
		border: none;
		font-size: 1.4rem;
		padding: 0.25em 0;
	}

	footer nav ul li:first-child {
		padding-left: 0;
	}
}

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

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

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

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










/*-----------------------------------------------------------------------------------------
3001 INDEX -  area-hero
----------------------------------------------------------------------------------------- */
.area-hero {
	border-bottom: 10px solid #f9f9f9;
	padding: 2.5vw 0;
}

.swiper-container {
	border: 0px solid green;
}


.swiper-container ul li {
	border: 0px solid blue;
	margin: auto 0;

}

.swiper-container ul li a {
	border: 0px solid skyblue;
	display: block;
	width:max-content;
	max-width:75%;
	margin:0 auto;
}

.swiper-container ul li a img {
	border: 0px solid skyblue;
	display: block;
	max-width:100%;
	margin:3vw auto;
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
}


.swiper-pagination-bullet {
	width: 14px;
	height: 14px;
	color: transparent;
}

.swiper-pagination-bullet-active {
	background: #007AFF;
}


.swiper-button-prev,
.swiper-button-next {
	background: black;
	width: 50px;
	height: 50px;
}

.swiper-button-prev {
	left: 0px;
}

.swiper-button-next {
	right: 0px;
}

.swiper-button-prev:after,
.swiper-button-next:after {
	font-size: 25px;
	color: white
}


.area-hero img {
	/* max-width:320px; */
	/* width:60%;
	margin-bottom:5vw;
	border:0px solid red; */
}

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

@media screen and (max-width: 1024px) {
	.swiper-pagination-bullet {
		width: 13px;
		height: 13px;
	}

	.swiper-button-prev,
	.swiper-button-next {
		background: black;
		width: 40px;
		height: 40px;
	}

	.swiper-button-prev:after,
	.swiper-button-next:after {
		font-size: 20px;
	}

}

@media screen and (max-width: 768px) {
	.swiper-pagination-bullet {
		width: 12px;
		height: 12px;
	}

	.swiper-button-prev,
	.swiper-button-next {
		background: black;
		width: 30px;
		height: 30px;
	}

	.swiper-button-prev:after,
	.swiper-button-next:after {
		font-size: 16px;
	}
}

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

@media screen and (max-width: 420px) {
	.swiper-pagination-bullet {
		width: 10px;
		height: 10px;
	}

	.swiper-button-prev,
	.swiper-button-next {
		background: black;
		width: 25px;
		height: 25px;
	}

	.swiper-button-prev:after,
	.swiper-button-next:after {
		font-size: 13px;
	}

	/* .swiper-container ul li a img {
		width:auto;
		max-width:300px;
	} */

}

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










/*-----------------------------------------------------------------------------------------
4001 TABLE
----------------------------------------------------------------------------------------- */
table {
	width: 100%;
	margin: 1.5rem 0;
}

table th,
table td {
	border: 1px solid #ddd;
	width: auto;
	padding: 1.0em 1.5em;
	text-align: left;
	vertical-align: middle;
}

table th {
	background: #f5f5f5;
	text-align: center;
	font-weight: 600;
}

.frame-table {
	border: 0px solid #ddd;
	width: 100%;
	overflow-x: auto;
}

.frame-table table {
	min-width: 1024px;
	margin: 0;
	position: relative;
}

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

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

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

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

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

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










table.document th,
table.document td {
	line-height: 1.5;
	font-size: 1.4rem;
}

table.document th {
	width: 30%;
	text-align: left;
	letter-spacing: 0.1em;
	padding-left: 2em;
	padding-right: 2em;
}

table.document td {
	width: 70%;
}

table.document th.dark {
	background: #ccc;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

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

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

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

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

	table.document th,
	table.document td {
		letter-spacing: 0;
		padding: 1em;
	}

	table.document th {
		width: 35%;
	}

	table.document td {
		width: 65%;
	}
}

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

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










table.detail th {
	width: 30%;
}

table.detail td {
	width: 70%;
}

/* ----- 2024-09-09-ADD ----- */
table.detail td .status-badge {
	margin-bottom:0.5em;
	display:block;
	width:fit-content;
	padding:0.4em 1em;
}

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

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

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

	table.detail th,
	table.detail td {
		display: block;
		width: 100%;
		border: none;
		padding-left:0.2em;
		padding-right:0.2em;
	}

	table.detail th {
		border-top: 4px solid #ddd;
		font-size: 1.8rem
	}
}

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

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

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










.form table.detail th,
.form table.detail td {}

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

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

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

	.form table.detail th,
	.form table.detail td {
		padding: 0.75em 0;
	}

	.form table.detail td {
		padding-bottom: 4em;
	}
}

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

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

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











/*-----------------------------------------------------------------------------------------
4002 blockquote
----------------------------------------------------------------------------------------- */
blockquote {
	border: 1px double #eee;
	padding: 2.5vw;
	margin: 1.0rem 0;
	color: #333;
	background: #f9f9f9;
	width: auto;
}

blockquote.input-window {
	max-width: 640px;
	padding: 3vw 4.5vw;
	margin: 1.5rem auto;
	border-color: #bbb;
}

article .form blockquote {
	background: transparent;
	border: none;
	padding: 0;
	margin: 3.0rem 0;
}



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

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

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

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

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

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










/*-----------------------------------------------------------------------------------------
4003 LIST-STYLE
----------------------------------------------------------------------------------------- */
ul.document,
ol.document {
	border: 0px solid red;
	padding: 0;
	margin: 2.5vw 0;
}

ol.document li,
ul.document li {
	list-style: decimal;
	margin-left: 2em;
	margin-top: 1.25em;
	line-height: 1.5;
}

ul.document li {
	list-style: none;
}

ol.document.lower-roman li {
	list-style: lower-roman;
}

ol.document li b,
ol.document li strong,
ul.document li b,
ul.document li strong {
	letter-spacing: 0.05em
}

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

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

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

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

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

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











/*-----------------------------------------------------------------------------------------
4004 LIST
----------------------------------------------------------------------------------------- */
.title,
.date,
.place,
.link,
.text {
	color: #333;
	line-height: 1.4;
	padding: 0;
	margin: 0.25em 0
}





.title {
	font-size: 2.1rem;
	font-weight: 600;
}

.date {
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	font-weight:600;
}

.date::before {
	content: '\f073';
	font-family: Fontawesome;
	font-weight: 500;
	padding-right: 0.2em;
}

.place {
	font-size: 1.6rem;
	font-weight: 400;
}

.link {
	font-size: 1.6rem;
	font-weight: 400;
}

.link a::after {
	content: '\f138';
	font-family: Fontawesome;
	font-weight: 500;
	padding-left: 0.4em;
	font-size: 0.8em
}

.text {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.7;
}



.program .title,
.program .date,
.program .place,
.program .link,
.program .text {
	border-bottom:1px solid #ddd;
	padding: 0 0 0.5em 0;
	margin: 0 0 0.5em 0;
}

.program .title {
	margin-top:2em;
}

.program .title:before {
	content:'■';
	margin-right:0.2em;
}



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

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

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

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

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

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






.list {
	border: 0px solid red;
	padding: 0;
	margin: 0;
}

.list li {
	border: 0px solid pink;
	padding: 0;
	margin: 0;
}

.list li:hover {
	background: #f9f9f9;
}

.list dl {
	border-bottom: 1px solid #aaa;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0;
	margin: 0
}

.list dl dt,
.list dl dd {
	display: block;
	padding: 2.0rem 1.5rem;
	margin: 0;
	background: transparent;
}

.list dl dt {
	width: 60%;
}

.list dl dd {
	width: 40%;
}

.list .header-title dt,
.list .header-title dd {
	background: #333;
	color: White;
	padding: 1.0rem 2.0rem;
	text-align: center;
	letter-spacing: 0.2em;
	font-weight: 400;
}

.list .header-title dd {
	border-left: 1px solid white;
}


.list a {
	display:block;
	margin-bottom:0.25em;
}






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

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

@media screen and (max-width: 768px) {
	.list dl {
		padding: 5vw 1vw
	}

	.list dl dt,
	.list dl dd {
		padding: 0;
		width: 100%;
	}

	.list .header-title dt,
	.list .header-title dd {
		display: none;
	}
}

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

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

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





.list.reverse dl dt {
	width: 25%;
	padding:1.5rem 2.0rem 1.5rem 0;
	-webkit-justify-content: center;
	-ms-flex-pack: justify;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.list.reverse dl dd {
	width: 75%;
	padding: 1.5rem 0;
}

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

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

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

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

	.list.reverse dl dt,
	.list.reverse dl dd {
		width: 100%;
		padding: 2.5vw;
	}
}

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

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











/*-----------------------------------------------------------------------------------------
5001 button
----------------------------------------------------------------------------------------- */

ul.area-btn {
	-webkit-justify-content: center;
	-ms-flex-pack: justify;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

ul.area-btn li {
	display: block;
	padding: 0 5px;
	margin: 0;
	min-width: 33.33333%
}

ul.area-btn li button {
	width: 100%;
}





button {
	background: #333;
	width: max-content;
	min-width: 140px;
	height: auto;
	display: block;
	text-align: center;
	color: White;
	padding: 0.75em 2em;
	margin: 0.75em auto;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	position: relative;
	border-radius: 0;
	border: none;
}

button:hover {
	opacity: 0.5;
	transition: 0.5s;
	cursor: pointer
}

button::after {
	content: '\f138';
	font-family: Fontawesome;
	font-weight: 500;
	padding-left: 0.4em;
}

button.back::after {
	display: none;
}

button.back::before {
	content: '\f137';
	font-family: Fontawesome;
	font-weight: 500;
	padding-right: 0.4em;
}

button.success {
	background: darkred;
}

button.danger {
	background: darkorange;
}

button.danger {
	background: yellowgreen;
}

button.primary {
	background: skyblue;
}

button.nothing {
	background: silver;
}

button.touroku {
	background: yellowgreen;
}

button.kochira {
	background: #538ba7;
}

button.btn-more {
	font-size: 1.3rem;
	width: max-content;
	min-width: initial;
	padding: 0.4em 1.5em;
	margin: 0.5em 0;
}




/* ----- 2024-09-09-ADD ----- */
.col-04 ul.area-btn.sidebar  {
	margin-top:1.0rem;
	display:block;
}

.col-04 ul.area-btn.sidebar li {
	min-width:initial;
	padding:0.25rem;
}

.col-04 ul.area-btn.sidebar li button {
	width:auto;
	min-width:75%;
	padding:0.4em 1.25em;
	margin:0 auto;
	font-size:1.6rem;
	letter-spacing: 0;
}



/* ----- 2025-07-14-ADD ----- */

button.mada {
	background: transparent;
	color:#333;
	padding-left:0;
	padding-right:0;
	font-size:1.6rem;
	line-height:1;
}

button.mada::after {
	display:none;
}





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

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

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

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

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

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










/*-----------------------------------------------------------------------------------------
5002 article の 基本＆TYPOGRAPHY
----------------------------------------------------------------------------------------- */
article {
	border: 0px solid olive;
	padding: 2.5vw 0;
	margin: 0;
}

article h3,
article h4,
article h5,
article h6,
article th {
	color: #333;
}

article p,
article li,
article td,
article dt,
article dd {
	color: #333;
}

article a {
	color: #538ba7;
}

article h3 {
	font-size: 3.3rem;
	letter-spacing: 0.15em;
	position: relative;
	margin-bottom: 1.5em;
	font-weight: 600;
}

article h3 small {
	font-size: 0.6em;
	font-weight: 400;
	letter-spacing: 0.05em;
	display: block;
	text-align: left;
}

article h3::before {
	content: '';
	display: block;
	position: absolute;
	bottom: -0.5em;
	left: 0;
	width: 100%;
	height: 4px;
	background: #ccc;
}

article h3::after {
	content: '';
	display: block;
	position: absolute;
	bottom: -0.5em;
	left: 0;
	width: 15%;
	height: 4px;
	background: #0B9BE0;
}

article h4 {
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	background: #333;
	width: max-content;
	display: block;
	padding: 0.2em 2em;
	margin-bottom: 0.5em;
	color: #F9F9F9;
}

article blockquote h4 {
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	background: transparent;
	width: auto;
	display: block;
	padding: 0 0 0.5em 0;
	margin: 0 0 1.5em 0;
	color: #333;
	text-align: center;
	font-weight: 600;
	border-bottom: 1px double #bbb;
}

article .form blockquote h4 {
	margin-bottom: 0.5em;
	text-align: left;
}

article h5 {
	font-size: 1.8rem;
	margin: 1.5em 0 0.25em;
	font-weight: 600;
	letter-spacing: 0.05em
}

article h6 {
	font-size: 1.8rem;
	margin: 2em 0 0.25em;
	font-weight: 600;
	letter-spacing: 0.05em
}

article p {
	margin-top: 1em;
	line-height: 1.7;
	font-size: 1.6rem;
}

article blockquote p {
	color: #333;
}

article p.signature {
	text-align: right;
	margin: 6em 0;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.5;
}

article p.caution {
	text-align: center;
}

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

@media screen and (max-width: 1024px) {
	article h3 {
		font-size: 2.7rem;
	}
}

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

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

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

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




















/*-----------------------------------------------------------------------------------------
5003 area-title
----------------------------------------------------------------------------------------- */
.area-title {
	border: 0px solid aqua;
	padding: 5vw 0 0 0;
	margin: 0;
}

.area-title h2 {
	font-size: 4.5rem;
	padding: 0;
	margin: 0;
	margin-bottom: calc(1.2em + 10px - 0.5em);
	color: #333;
	position: relative;
	text-align: center;
	line-height:1.4;
}

.area-title h2 span {
	font-family: 'Oswald', sans-serif;
	display: block;
}

.area-title h2 small {
	display: block;
	font-size: 0.4em;
}

.area-title h2:before {
	position: absolute;
	bottom: -0.6em;
	left: calc(50% - 30px);
	width: 60px;
	height: 10px;
	content: '';
	border-radius: 5px;
	background: #333;
}


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

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

@media screen and (max-width: 768px) {
	.area-title h2 {
		font-size: 7vw;
	}

	.area-title h2:before {
		height: 5px;
	}
}

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

@media screen and (max-width: 420px) {
	.area-title h2 {
		font-size: 9vw;
	}
}

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













/*-----------------------------------------------------------------------------------------
5004 eyecatch
----------------------------------------------------------------------------------------- */
.eyecatch {
	border: 0px solid #ddd;
	display: block;
	width: 100%;
	padding: 1.5rem;
	margin: 0 0;
}

.list .eyecatch {
	border: 0px solid green;
	padding: 0;
}

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

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

@media screen and (max-width: 768px) {
	.eyecatch {
		border: 1px solid #ddd;
		padding: 5vw 10vw;
	}
}

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

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

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










/*-----------------------------------------------------------------------------------------
3002 FORM関係
----------------------------------------------------------------------------------------- */
.err {
	color: maroon;
	font-size: 12px;
	line-height: 1.4;
	display: block;
}


input,
textarea,
select {
	width: auto;
	border: 1px solid rgba(89, 73, 63, 0.2);
	font-size: 18px;
	line-height: 1.8;
	padding: 10px 15px;
	margin: 0;
	color: #333;
	background: white;
	background: linear-gradient(#f6f6f6 0%, #fff 100%);
	border-radius: 3px;
}

input {
	border: 1px solid #bbb;
	text-shadow: none;
	font-size: 16px;
	line-height: 1.2;
	cursor: pointer;
	outline: none;
	padding: 0.75em;
	margin: 0 0;
	width: auto;
	border-radius: 0;
	width: 100%;

}

.input-window input {
	margin: 1.0rem 0 1.5rem;
	background:white;
}



/* チェックボックス01 */
input[type=checkbox] {
	display: none;
}

.checkbox01 {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	padding: 5px 30px;
	position: relative;
	width: auto;
}

.checkbox01::before {
	background: #fff;
	border: 1px solid #231815;
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	left: 5px;
	margin-top: -8px;
	position: absolute;
	top: 50%;
}

.checkbox01::after {
	border-right: 3px solid #1470A9;
	border-bottom: 3px solid #1470A9;
	content: '';
	display: block;
	width: 8px;
	height: 12px;
	left: 10px;
	margin-top: -7px;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: rotate(45deg);
}

input[type=checkbox]:checked+.checkbox01::after {
	opacity: 1;
}

/* ラジオボタン01 */
input[type=radio] {
	display: none;
}

.radio01 {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	padding: 5px 30px;
	position: relative;
	width: auto;
}

.radio01::before {
	background: #fff;
	border: 1px solid #231815;
	border-radius: 50%;
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	left: 5px;
	margin-top: -8px;
	position: absolute;
	top: 50%;
}

.radio01::after {
	background: #1470A9;
	border-radius: 50%;
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	left: 8px;
	margin-top: -5px;
	opacity: 0;
	position: absolute;
	top: 50%;
}

input[type=radio]:checked+.radio01::after {
	opacity: 1;
}








.form dl * {
	font-size: 16px;
}

.form span.requred {
	color: red;
	background: none;
	padding: 0 0.2em;
}

.form td span {
	padding: 0.25em 0.5em;
	margin: 0;
	display: block;
	width: max-content
}

.form td span.requred {
	margin-left: -0.5em
}

.form th small {
	font-size: 0.8em !important;
}

.form dl {
	border: 0px solid red;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0;
	margin: 10px 0;
}

.form dl dt,
.form dl dd {
	font-size: 18px;
	line-height: 1.4;
}

.form dl dt {
	border: 0px solid green;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

.form dl dd {
	border: 0px solid blue;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	flex-grow: 1;
	padding: 0;
	margin: 0 0.5em 0 0;
}

.form .width8em {
	width: 8em;
}

.form .width16em {
	width: 16em;
}

.form .width24em {
	width: 24em;
}

.form .width100 {
	width: 100%;
}





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

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

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



	.form * {
		font-size: 14px;
	}

	.form td span {
		width: auto;
		display: inline-block;
	}



	.form dl {
		padding: 0;
		display: block;
		width: 100%;
	}

	.form dl dt,
	.form dl dd {
		font-size: 16px;
	}

	.form dl dt {
		padding: 0;
		margin: 0;
		display: block;
		width: 100%;
	}

	.form dl dd {
		padding: 0;
		margin: 0;
		display: block;
		width: 100%;
	}

	.form .width8em,
	.form .width16em,
	.form .width24em {
		width: 100%;
	}
}

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

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

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







.form .frame-doui {
	border:1px solid #bbb;
	padding:1.5rem;
	margin:3.0rem 0;
	width:100%;
	height:20em;
	overflow-y:scroll;
	background:#f9f9f9;
	opacity: 0.9;

}

.form .frame-doui h6 {
	line-height:1.6;
	font-size:1.5rem;
	font-weight:600;
	padding:0;
	margin:3em 0 0.5em 0;

}

.form .frame-doui p,
.form .frame-doui li {
	line-height:1.6;
	font-size:1.4rem;
	margin-top:0;
	margin-bottom:0.75em;
}

.form .frame-doui ol.document {
	padding:0;
	margin:0;
}



/* ----- 2023-07-29-ADD ----- */
input#memberInput {
	height:5em;
}

.list dl.header-title {
	padding:1vw 0;
}
