@charset "utf-8";
/*--------------------------------------------------

 * Basic styles

--------------------------------------------------*/

html {
	line-height: 1.875;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;

	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: subpixel-antialiased;

	scroll-behavior: smooth;

	/*font-feature-settings : "palt";*/
	/* iphoneでバグる */
}

:root {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

@media (min-width: 769px) and (max-width: 1000px) {
	html {
		line-height: 1.875;
		font-size: 1.53vw;
	}
}

@media (max-width: 768px) {
	html {
		font-size: 3.5vw;
		line-height: 1.875;
	}
}

.g-body {
	margin: 0;
	padding: 0;
}

img {
	border: 0 none;
	vertical-align: middle;
}

input, textarea, button, select {
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
	line-height: inherit;
}

/* for safari */
_::-webkit-full-page-media, _:future, :root input, :root textarea, :root select {
	font-size: 16px;
}

/* initialize [r]eset */
.r {
	margin: 0;
	padding: 0;
	vertical-align: top;

	list-style: none;

	font-size: 1em;
	font-style: normal;
	font-weight: 300;

	border: none;
	border-spacing: 0;
	border-collapse: collapse;

	appearance: none;
	-webkit-appearance: none;
}

.figure {
	display: block;
	margin: 0;
	padding: 0;
	text-align: center;
}

.h {
	margin: 0;
	padding: 0;
	margin-bottom: 1em;

	font-weight: bold;
	line-height: 2em;
}

.h0 {
	margin: 0;
	padding: 0;
	font-weight: bold;
}

.p {
	margin: 0;
	padding: 0;
	margin-bottom: 1em;
}

.p0 {
	margin: 0;
	padding: 0;
}

.small {
	font-size: .75em;
	line-height: 1.5em;
}

.big {
	font-size: 1.25em;
	line-height: 1.5em;
}

.italic {
	font-style: italic;
}

.underline {
	text-decoration: underline;
}

.strong {
	font-weight: bold !important;
}

.light {
	font-weight: normal !important;
}

.ul {
	margin: 0;
	padding: 0;
	margin-left: 1.2em;
	list-style: disc;
}

.ol {
	margin: 0;
	padding: 0;
	margin-left: 1.2em;
	list-style: decimal;
}

.ol--round {
	margin: 0;
	padding: 0;
	list-style: none;

	counter-reset: i;
}

.ol--round li {
	position: relative;
	z-index: 0;
	padding-left: 2.5em;

	counter-increment: i;
}

.ol--round li:before {
	content: "("counter(i) ")";
	display: block;

	position: absolute;
	left: 0;
}

/*--------------------------------------------------

 * animation

--------------------------------------------------*/

@keyframes kf-fadein {
	from {
		opacity: 0;
	}
}

@keyframes kf-zoomin {
	from {
		opacity: 0;
		transform: scale(.95);
	}
}

@keyframes header-sticky {
	from {
		transform: translateY(-100%);
	}
}

@keyframes kf-slidedown {
	from {
		opacity: 0;
		transform: scaleY(0);
		transform-origin: center top;
	}

	to {
		opacity: 1;
		transform: scaleY(1);
		transform-origin: center top;
	}
}

@keyframes flash {
	from {
		box-shadow: inset 0 0 9999px rgba(255, 255, 255, .5);
	}

	to {
		box-shadow: inset 0 0 0000px rgba(255, 255, 255, .0);
	}
}

/*--------------------------------------------------

 * template modules

--------------------------------------------------*/

/* debug */
.template__parts {
	overflow: hidden;
	line-height: 1.5em;
	background-color: #ddd;
}

.template__block {
	margin-bottom: 200px;
}

.template__title {
	background: #efefef;
	border-bottom: 3px solid #ccc;
	padding: 10px;
	margin-bottom: 10px;

	font-size: 2em;
	font-weight: bold;
	line-height: 1.5em;
	text-align: center;
}

.template__separate {
	height: 0;
	border: 0;
	border-bottom: 1px dotted #666;
	margin-top: 30px;
	margin-bottom: 30px;
}

/*--------------------------------------------------

 * Utilities

--------------------------------------------------*/

/* responsive */
@media (min-width: 769px) {
	.for-pc {}

	.for-sp {
		display: none !important;
	}
}

@media (max-width: 768px) {
	.for-pc {
		display: none !important;
	}

	.for-sp {}
}

.fit {
	width: 100%;
}

.auto-fit {
	max-width: 100%;
}

@media (min-width: 769px) {
	.pc-fit {
		width: 100%;
	}

	.pc-auto-fit {
		max-width: 100%;
	}
}

@media (max-width: 768px) {
	.sp-fit {
		width: 100%;
	}

	.sp-auto-fit {
		max-width: 100%;
	}
}

/* text */
.t-center {
	text-align: center;
}

.t-left {
	text-align: left;
}

.t-right {
	text-align: right;
}

@media (min-width: 769px) {
	.pc-t-center {
		text-align: center;
	}

	.pc-t-left {
		text-align: left;
	}

	.pc-t-right {
		text-align: right;
	}
}

@media (max-width: 768px) {
	.sp-t-center {
		text-align: center;
	}

	.sp-t-left {
		text-align: left;
	}

	.sp-t-right {
		text-align: right;
	}
}

/* [annot]ation */
.annotation {
	margin: 0;
	padding: 0;
	list-style: none;
}

.annotation__item {
	padding-left: 1em;
	text-indent: -1em;
}

/* scroller */
.scroller {
	overflow: auto;
}

/* form */
.require,
.important {
	color: #c00 !important;
}

.example {
	line-height: 1.875;
	font-size: .875em;

	color: #999;
}

/* media */
@media (min-width: 769px) {
	.media {
		display: flex;
	}

	.media__image {
		flex: 0 0 auto;
		max-width: 40%;
	}

	.media__image:not(.media__image--right) {
		margin-right: 1.25em;
	}

	.media__image--right {
		order: 1;
		margin-left: 1.25em;
	}

	.media__body {
		flex: 1 1 auto;
	}
}

@media (max-width: 768px) {
	.media {}

	.media__image {
		text-align: center;
	}

	.media__image--right {}

	.media__body {}

	.media__image+.media__body,
	.media__body+.media__image {
		margin-top: 1em;
	}
}

/* web safe color 216 pattern */
/*--------------------------------------------------

 * javascript modules

--------------------------------------------------*/

/* convert background */
.js-bg {
	overflow: hidden;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.js-bg__trigger {
	visibility: hidden;
}

.js-bg__hide {
	display: block;
	position: fixed;
	left: 110%;
}

/* jsin */
.js-in {}

.js-in.js-in--active {}

.a-target {
	visibility: hidden;
}

.js-in--active .a-target {
	visibility: visible;
}

.a-target:nth-child(1) {
	animation-delay: 0000ms !important;
}

.a-target:nth-child(2) {
	animation-delay: 0090ms !important;
}

.a-target:nth-child(3) {
	animation-delay: 0180ms !important;
}

.a-target:nth-child(4) {
	animation-delay: 0270ms !important;
}

.a-target:nth-child(5) {
	animation-delay: 0360ms !important;
}

.a-target:nth-child(6) {
	animation-delay: 0450ms !important;
}

.a-target:nth-child(7) {
	animation-delay: 0540ms !important;
}

.a-target:nth-child(8) {
	animation-delay: 0630ms !important;
}

.a-target:nth-child(9) {
	animation-delay: 0720ms !important;
}

.a-target:nth-child(10) {
	animation-delay: 0810ms !important;
}

.a-target:nth-child(11) {
	animation-delay: 0900ms !important;
}

.a-target:nth-child(12) {
	animation-delay: 0990ms !important;
}

.a-target:nth-child(13) {
	animation-delay: 1080ms !important;
}

.a-target:nth-child(14) {
	animation-delay: 1170ms !important;
}

.a-target:nth-child(15) {
	animation-delay: 1260ms !important;
}

.a-target:nth-child(16) {
	animation-delay: 1350ms !important;
}

.a-target:nth-child(17) {
	animation-delay: 1440ms !important;
}

.a-target:nth-child(18) {
	animation-delay: 1530ms !important;
}

.a-fade.js-in--active .a-target {
	animation: jsin-fadeIn 360ms ease-out both;
}

.a-blur.js-in--active .a-target {
	animation: jsin-blurIn 64.0ms linear both;
}

.a-slide.js-in--active .a-target {
	animation: jsin-slideIn 640ms ease-out both;
}

.a-zoom.js-in--active .a-target {
	animation: jsin-zoomIn 640ms ease-out both;
}

.a-hero.js-in--active .a-target {
	animation: jsin-hero 1280ms ease-out both;
}

@keyframes jsin-fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes jsin-blurIn {
	from {
		opacity: 0;
		filter: blur(5rem);
	}

	to {
		opacity: 1;
		filter: blur(0);
	}
}

@keyframes jsin-slideIn {
	from {
		opacity: 0;
		transform: translateY(2rem);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes jsin-zoomIn {
	from {
		opacity: 0;
		transform: scale(1.75);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes jsin-hero {
	from {
		opacity: .5;
		transform: scale(1.2);
		filter: blur(2em);
	}

	to {
		opacity: 1;
		transform: scale(1);
		filter: blur(0);
	}
}

/* sticky (for IE) */
.js-stick--ignition .js-sticky__target {
	position: fixed;
	top: auto;
	left: 0;
	right: 0;
	bottom: 0;

	transition-duration: 200ms;
	transition-timing-function: ease-out;
	transition-property: opacity visibility;
}

.js-stick--ignition .js-sticky__target:not(.js-sticky--active) {
	opacity: 0;
	visibility: hidden;
}

.js-multi-option__target {
	/*
	transition-duration: 210ms;
	transition-timing-function: ease-out;
	transition-property: transform visibility opacity;
	*/

	transform-origin: top;

	animation: multi-option-open 180ms ease-out;
}

.js-multi-option:not(.js-multi-option--active) .js-multi-option__target {
	/*
	opacity: 0;
	visibility: hidden;
	transform: scaleY(0);
	*/

	display: none;
}

.js-multi-option:not(.js-multi-option--checked) .js-multi-option__toggle {
	color: #999;
}

@keyframes multi-option-open {
	from {
		opacity: 0;
		transform: scaleY(0);
	}
}

/* agree */
.js-agree__target[disabled] {
	opacity: .33;
	pointer-events: none;
}

/* tab */
.js-tab {
	display: none;
}

.js-tab__target:not(.js-tab--active) {
	display: none;
}

.js-tab__target.js-tab--active {
	animation: kf-fadein 100ms ease-out;
}

/* modal */
.js-modal__view {
	display: none;
}


/*--------------------------------------------------

 * Space Design

--------------------------------------------------*/

/* space */
.gap0 {
	margin: 0;
	padding: 0;
}

.gap-a9 {
	padding: 11.25rem !important;
}

.gap-a8 {
	padding: 9.375rem !important;
}

.gap-a7 {
	padding: 7.5rem !important;
}

.gap-a6 {
	padding: 6.25rem !important;
}

.gap-a5 {
	padding: 5rem !important;
}

.gap-a4 {
	padding: 3.75rem !important;
}

.gap-a3 {
	padding: 2.5rem !important;
}

.gap-a2 {
	padding: 1.25rem !important;
}

.gap-a1 {
	padding: .625rem !important;
}

.gap-vp9 {
	padding-top: 11.25rem !important;
	padding-bottom: 11.25rem !important;
}

.gap-vp8 {
	padding-top: 9.375rem !important;
	padding-bottom: 9.375rem !important;
}

.gap-vp7 {
	padding-top: 7.5rem !important;
	padding-bottom: 7.5rem !important;
}

.gap-vp6 {
	padding-top: 6.25rem !important;
	padding-bottom: 6.25rem !important;
}

.gap-vp5 {
	padding-top: 5rem !important;
	padding-bottom: 5rem !important;
}

.gap-vp4 {
	padding-top: 3.75rem !important;
	padding-bottom: 3.75rem !important;
}

.gap-vp3 {
	padding-top: 2.5rem !important;
	padding-bottom: 2.5rem !important;
}

.gap-vp2 {
	padding-top: 1.25rem !important;
	padding-bottom: 1.25rem !important;
}

.gap-vp1 {
	padding-top: .625rem !important;
	padding-bottom: .625rem !important;
}

.gap-vm9 {
	margin-top: 11.25rem !important;
	margin-bottom: 11.25rem !important;
}

.gap-vm8 {
	margin-top: 9.375rem !important;
	margin-bottom: 9.375rem !important;
}

.gap-vm7 {
	margin-top: 7.5rem !important;
	margin-bottom: 7.5rem !important;
}

.gap-vm6 {
	margin-top: 6.25rem !important;
	margin-bottom: 6.25rem !important;
}

.gap-vm5 {
	margin-top: 5rem !important;
	margin-bottom: 5rem !important;
}

.gap-vm4 {
	margin-top: 3.75rem !important;
	margin-bottom: 3.75rem !important;
}

.gap-vm3 {
	margin-top: 2.5rem !important;
	margin-bottom: 2.5rem !important;
}

.gap-vm2 {
	margin-top: 1.25rem !important;
	margin-bottom: 1.25rem !important;
}

.gap-vm1 {
	margin-top: .625rem !important;
	margin-bottom: .625rem !important;
}

.gap-t9 {
	margin-top: 11.25rem !important;
}

.gap-t8 {
	margin-top: 9.375rem !important;
}

.gap-t7 {
	margin-top: 7.5rem !important;
}

.gap-t6 {
	margin-top: 6.25rem !important;
}

.gap-t5 {
	margin-top: 5rem !important;
}

.gap-t4 {
	margin-top: 3.75rem !important;
}

.gap-t3 {
	margin-top: 2.5rem !important;
}

.gap-t2 {
	margin-top: 1.25rem !important;
}

.gap-t1 {
	margin-top: .625rem !important;
}

.gap-b9 {
	margin-bottom: 11.25rem !important;
}

.gap-b8 {
	margin-bottom: 9.375rem !important;
}

.gap-b7 {
	margin-bottom: 7.5rem !important;
}

.gap-b6 {
	margin-bottom: 6.25rem !important;
}

.gap-b5 {
	margin-bottom: 5rem !important;
}

.gap-b4 {
	margin-bottom: 3.75rem !important;
}

.gap-b3 {
	margin-bottom: 2.5rem !important;
}

.gap-b2 {
	margin-bottom: 1.25rem !important;
}

.gap-b1 {
	margin-bottom: .625rem !important;
}

/*--------------------------------------------------

 * Components (Parts)

--------------------------------------------------*/

/* title */
.title1 {
	font-size: 1em;
	font-weight: bold;

	margin: 0;
	padding: 0;

	text-align: center;
}

.title1__main {
	line-height: 1.33;
	font-size: 2.25em;

	color: #0171b1;

}

.title1__ruby {
	line-height: 2;
	font-size: 1em;

	color: #ccc;
}

.title2 {
	line-height: 1.33;
	font-size: 1.25em;
	font-weight: normal;

	padding-left: .5em;

	color: #0071b0;
	border-left: 3px solid;
}

.title3 {
	line-height: 2;
	font-size: 1.125em;
	font-weight: normal;

	color: #0071b0;
	border-bottom: .125em solid;
}

.title4 {
	line-height: 1.33;
	font-size: 1.875em;
	text-align: center;

	color: #0071b0;

	display: flex;
	flex-direction: column;
}

.title4:before,
.title4:after {
	content: "";
	display: block;
	order: 1;
}

.title4:before {
	height: .067em;
	margin-top: .5em;
	background:
		linear-gradient(currentcolor, currentcolor) no-repeat left top / calc(50% - .4em) auto,
		linear-gradient(currentcolor, currentcolor) no-repeat right top / calc(50% - .4em) auto;
}

.title4:after {
	width: calc(.8em + .067em);
	height: calc(.8em + .067em);

	margin-top: -.067em;
	margin-left: auto;
	margin-right: auto;

	background:
		linear-gradient(to right top, transparent 50%, currentcolor 50%, currentcolor calc(50% + .067em), transparent calc(50% + .067em)) no-repeat left top / 50.05% auto,
		linear-gradient(to left top, transparent 50%, currentcolor 50%, currentcolor calc(50% + .067em), transparent calc(50% + .067em)) no-repeat right top / 50.05% auto;
}

.title5 {
	line-height: 1.33;
	font-size: 1.875em;
	font-weight: bold;
	text-align: center;

	position: relative;
	z-index: 0;

	padding: .5em .75em;

	color: #fff;
}

.title5:before {
	content: "";

	display: block;

	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	background-size: 4px auto;
	background-color: #0171b1;
	background-image: url(../img/base/texture1.png);
}

@media (min-width: 769px) {
	.title5:before {
		transform: skew(-30deg);
	}

	.title5--left {
		margin-left: 30%;
	}

	.title5--right {
		margin-right: 30%;
	}
}

@media (max-width: 768px) {
	.title5:before {
		transform: skew(-25deg);
	}

	.title5--left {
		padding-right: 0;
	}

	.title5--right {
		padding-left: 0;
	}
}

.title5--left:before {
	right: -100vw;
	/*right: calc((100vw - 130%) / -2);*/
}

.title5--right:before {
	left: -100vw;
	/*left: calc((100vw - 130%) / -2);*/
}


.title6 {
	line-height: 2;
	font-size: 1.125em;

	padding: .5em 1em !important;

	color: #fff;
	background-color: #0071b0;
}

@media (max-width: 768px) {
	.title6 {
		font-size: 1em;
	}
}



.title7 {
	line-height: 1.33;
	font-size: 1.875em;
	font-weight: normal;
	text-align: center;

	color: #0071b0;

	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.title7:before,
.title7:after {
	content: "";
	flex: 0 0 3.33em;
	border-bottom: .125em solid;
}

.title7:before {
	margin-right: 1em;
	transform: rotate(45deg);
	transform-origin: right bottom;
}

.title7:after {
	margin-left: 1em;
	transform: rotate(-45deg);
	transform-origin: left bottom;
}

@media (max-width: 768px) {
	.title7 {
		font-size: 1.25em;
	}
}

.title11 {
	line-height: 1.5;
	font-size: 1.875em;
	font-weight: bold;

	color: #0071b0;
}

/* catch */
.catch1 {
	color: #0071b0;
	/*font-weight: bold;*/
	line-height: 1.5;
}

.catch1--skin1 {
	color: #c00;
}

.catch--size-1 {
	font-size: 0.875em;
}

.catch--size0 {
	font-size: 1.000em;
}

.catch--size1 {
	font-size: 1.125em;
}

.catch--size2 {
	font-size: 1.250em;
}

.catch--size3 {
	font-size: 1.375em;
}

.catch--size4 {
	font-size: 1.500em;
}

.catch--size5 {
	font-size: 1.625em;
}

.catch--size6 {
	font-size: 1.750em;
}

.catch--size7 {
	font-size: 1.875em;
}

.catch--size8 {
	font-size: 2.000em;
}

.catch--size9 {
	font-size: 2.125em;
}

/* note */
.note-3 {
	line-height: 1.875;
	font-size: 0.75em !important;
}

.note-2 {
	line-height: 1.875;
	font-size: 0.87em !important;
}

.note-1 {
	line-height: 1.875;
	font-size: 0.93em !important;
}

.note0 {
	line-height: 1.875;
	font-size: 1.00em !important;

}

.note1 {
	line-height: 1.875;
	font-size: 1.12em !important;
}

.note2 {
	line-height: 1.875;
	font-size: 1.25em !important;
}

.note3 {
	line-height: 1.875;
	font-size: 1.33em !important;
}

.note4 {
	line-height: 1.875;
	font-size: 1.50em !important;
}

/* em */
.em1 {
	color: #0071b0;
	font-style: normal;
}

.em2 {
	color: #f90;
	font-style: normal;
}

/* button */
.button1 {
	box-sizing: border-box;
	display: block;
	padding: 1.25em 1.375em;

	text-align: center;
	text-decoration: inherit;

	color: #fff;
	background-color: #ccc;

	transition-duration: 50ms;
	transition-property: color background-color;
	transition-timing-function: ease-out;
}

.button1:hover {
	/*opacity: .78;*/
}

button.button1 {
	width: 100%;
	cursor: pointer;
	border: 0 none;
}

label.button1 {
	cursor: pointer;
}

.button1--back:before {
	content: "‹";
	margin-right: 1em;
}

.button1--next:after {
	content: "›";
	margin-left: 1em;
}

.button1--skin0 {
	background-color: #fff;
	color: #0171B1;
}

.button1--skin0:hover {
	background-color: #0171B1;
	color: #fff;
	opacity: 1;
}

.button1--skin1 {
	background-color: #0171B1;
}

.button1--skin2 {
	background-color: #FF9000;
}

.button1--login {
	background-color: #4E9642;
}

.button1--facebook {
	background-color: #3C5A9A;
}

/* popup */
.button1 {
	transition: transform 280ms cubic-bezier(.18, .89, .32, 1.28);
}

.button1:hover {
	transform: scale(1.075);
}

.button1:active {
	transform: scale(1.0375);
	transition-duration: 0ms;
}

.button2 {
	box-sizing: border-box;
	display: block;
	padding: 1.25em 1.375em;

	text-align: center;
	text-decoration: inherit;

	color: inherit;
	border: 1px solid;
	background-color: inherit;

	transition-duration: 50ms;
	transition-property: color background-color;
	transition-timing-function: ease-out;
}

.button2:not(.button2--no-reaction):hover {
	border-color: transparent;
}

button.button2 {
	width: 100%;
	cursor: pointer;
}

label.button2 {
	cursor: pointer;
}

.button2--back:before {
	content: "‹";
	margin-right: 1em;
}

.button2--next:after {
	content: "›";
	margin-left: 1em;
}

.button2:not(.button2--no-reaction):hover {
	background-color: #000;
	color: #fff;
}

.button2--skin1 {
	color: #0071b0;
}

.button2--skin1:not(.button2--no-reaction):hover {
	color: #fff;
	background-color: #0071b0;
}

.button2--reverse0 {
	color: #fff;
	background-color: #000;
	border-color: transparent;
}

.button2--reverse0:not(.button2--no-reaction):hover {
	color: #000;
	background-color: transparent;
	border-color: inherit;
}

.button2--reverse1 {
	color: #fff;
	background-color: #0171b1;
	border-color: transparent;
}

.button2--reverse1:not(.button2--no-reaction):hover {
	color: #0171b1;
	background-color: transparent;
	border-color: inherit;
}

/* popup */
.button2 {
	transition: transform 280ms cubic-bezier(.18, .89, .32, 1.28);
}

.button2:hover {
	transform: scale(1.075);
}

.button2:active {
	transform: scale(1.0375);
	transition-duration: 0ms;
}

.button3 {
	box-sizing: border-box;
	display: block;

	padding: 1.25em;

	text-align: center;
	text-decoration: inherit;

	color: #0071b0;
	border: .25em solid #0071b0;


	transition: opacity 50ms ease-out;
}

.button3:hover {
	/*opacity: .78;*/
}

.button3--top:after,
.button3--bottom:after {
	content: "";

	display: inline-block;
	vertical-align: middle;

	width: .7em;
	height: .7em;

	margin-left: 1em;

	border-style: solid;
	border-width: 0 1px 1px 0;
}

.button3--top:after {
	transform: translateY(33%) rotate(225deg);
}

.button3--bottom:after {
	transform: translateY(-33%) rotate(45deg);
}

.button3.js-bg {
	color: #fff;
	position: relative;
	z-index: 0;
}

.button3.js-bg:before {
	content: "";

	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	background-color: rgba(20, 98, 147, .6);
}

/* popup */
.button3 {
	transition: transform 280ms cubic-bezier(.18, .89, .32, 1.28);
}

.button3:hover {
	transform: scale(1.075);
}

.button3:active {
	transform: scale(1.0375);
	transition-duration: 0ms;
}

/* link */
.link1 {
	color: #0171B1;
}

.link1:hover {
	text-decoration: none;
}

.link1[target=_blank]:after {
	/* content: url(../img/base/icon--blank0.gif); */
	margin-left: .25em;

	-ms-interpolation-mode: nearest-neighbor;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: -moz-crisp-edges;
	image-rendering: -o-crisp-edges;
	image-rendering: pixelated;
}

@media (min-width: 769px) {
	.link1[href^="tel:"] {
		pointer-events: none;
		color: inherit;
		text-decoration: inherit;
	}
}

.link1--skin1 {
	color: #999;
}

.link1--skin2 {
	color: #f90;
}


.link1--skin1[target=_blank]:after {
	/* content: url(../img/base/icon--blank1.gif); */
}

.link1--skin2[target=_blank]:after {
	/* content: url(../img/base/icon--blank2.gif); */
}

.link2 {
	color: inherit;
}

.link2:hover {
	text-decoration: none;
}

.link2:before {
	content: "> ";
}

.link2--skin0 {
	color: #999;
}

.link2--skin1 {
	color: #0171B1;
}

.link2--skin2 {
	color: #f90;
}

.link3 {
	color: inherit;
}

.link3:hover {
	text-decoration: none;
}

.link3:after {
	content: " >";
}

.link3--skin0 {
	color: #999;
}

.link3--skin1 {
	color: #0171B1;
}

.link3--skin2 {
	color: #f90;
}

/* nav */
.nav1 {
	margin: 0;
	padding: 0;
	list-style: none;

	margin-left: -1em;

	display: flex;
	justify-content: center;
}

.nav1--left {
	justify-content: flex-start;
}

.nav1--right {
	justify-content: flex-end;
}

.nav1__item {
	margin-left: 1em;
}



.aside-nav1 {
	margin: 0;
	padding: 0;
	list-style: none;
}

.aside-nav1__item {}

@media (min-width: 769px) {
	.aside-nav1 {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;

		margin-left: -2.5em;
		margin-bottom: -1.5em;
	}

	.aside-nav1__item {
		box-sizing: border-box;

		min-width: 18.75em;
		margin-left: 2.5em;
		margin-bottom: 1.5em;
	}
}

@media (max-width: 768px) {
	.aside-nav1__item+.aside-nav1__item {
		margin-top: 1em;
	}
}





.pager {
	display: table;
	margin-left: auto;
	margin-right: auto;


	border: 1px solid #ccc;
	border-radius: 4px;
	overflow: hidden;
}

.pager__items {
	margin: 0;
	padding: 0;
	list-style: none;

	display: flex;
	justify-content: center;
}

.pager__item {
	width: 1.75em;
	height: 1.75em;

	display: flex;
	align-items: center;
	justify-content: center;

	color: #fff;
	background-color: #0071b0;
}

.pager__item:not(:first-child) {
	border-left: 1px solid #ccc;
}

.pager__button {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;

	text-decoration: inherit;

	color: #0071b0;
	background-color: #fff;

	transition: opacity 100ms ease-out;
}

.pager__button:hover {
	opacity: .78;
}






.form-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.form-nav__item {}

@media (min-width: 769px) {
	.form-nav {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;

		margin-left: -2.5em;
		margin-bottom: -1.5em;
	}

	.form-nav__item {
		box-sizing: border-box;

		min-width: 44%;
		margin-left: 2.5em;
		margin-bottom: 1.5em;
	}
}

@media (max-width: 768px) {
	.form-nav__item+.form-nav__item {
		margin-top: 1em;
	}
}



.form-aside-nav {
	font-size: .875em;

	margin: 0;
	padding: 0;
	list-style: none;

	margin-left: -1em;
	margin-top: 1em;
	margin-bottom: 1em;

	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.form-aside-nav--left {
	justify-content: flex-start;
}

.form-aside-nav__item {
	margin-left: 1em;
}





.page-list {
	margin: 0;
	padding: 0;
	list-style: none;

	margin-left: -.625em;
	margin-bottom: -.625em;

	display: flex;
	flex-wrap: wrap;
}

.page-list__item {
	box-sizing: border-box;

	text-align: center;

	margin-left: .625em;
	margin-bottom: .625em;

	flex: 1 1 auto;
}

.page-list__more {
	display: block;
	box-sizing: border-box;

	padding: .3125em .625em;

	color: #0071b0;
	text-decoration: inherit;

	border: .125em solid;
}

.page-list__more:hover {
	color: #fff;
	background-color: #0071b0;
	border-color: transparent;
}







/* icon */
.icon-frame {
	display: flex;
}

.icon-frame--inline {
	display: inline-flex;
}

.icon-frame__icon {
	flex: 0 0 auto;
}

.icon-frame__body {
	flex: 0 1 auto;
	align-self: center;
}

.icon-frame__icon+.icon-frame__body,
.icon-frame__body+.icon-frame__icon {
	margin-left: .5em;
}

@media (min-width: 769px) {
	.icon-image[width] {
		width: auto;
	}
}






/* shadow */
.shadow1 {
	display: inline-block;
	vertical-align: middle;

	position: relative;
	z-index: 0;
}

.shadow1:before {
	content: "";

	display: block;
	box-sizing: border-box;
	pointer-events: none;

	position: absolute;
	z-index: -1;
	top: 1.25em;
	left: 1.25em;
	width: 100%;
	height: 100%;

	background-color: #f90;
	background-image: url(../img/base/texture2.png);
}

/* table */
.table1 {
	margin-left: auto;
	margin-right: auto;
	border-collapse: collapse;
}

.table1__head,
.table1__body {
	padding: .625em 1.25em;
	border: 1px solid #0071b0;
	text-align: center;
}

.table1__head {
	background-color: #e5f1f7;
}

.table1__body {}



.table2 {
	min-width: 100%;
	border-collapse: collapse;
	border-color: lime;
}

.table2__head,
.table2__body {
	text-align: left;
}

.table2__head {
	vertical-align: middle;
}

.table2__body {
	vertical-align: top;
}

@media (min-width: 769px) {

	.table2__head,
	.table2__body {
		padding-top: 1.5em;
		padding-bottom: 1.5em;
		border-bottom: 1px solid #ccc;
	}
}

@media (max-width: 768px) {

	.table2,
	.table2__thead,
	.table2__tbody,
	.table2__tfoot,
	.table2__tr,
	.table2__head,
	.table2__body {
		display: block;
	}

	.table2__tr {
		margin-bottom: 1em;
		padding-bottom: 1em;
		border-bottom: 1px solid #ccc;
	}

	.table2__head {
		margin-bottom: .5em;
	}

	.table2__body {}
}




.table3 {
	min-width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}

.table3__head,
.table3__body {
	text-align: left;
	vertical-align: text-top;
}

.table3 tr:not(:first-child) .table3__head,
.table3 tr:not(:first-child) .table3__body {
	padding-top: .5em;
}

.table3__head {
	font-size: 1.125em;
	font-weight: bold;
	padding-right: 2em;
}

.table3__body {}

.table3--tight {}

.table3--tight .table3__head,
.table3--tight .table3__body {
	padding-top: 0 !important;
}

.table3--tight .table3__head {
	white-space: nowrap;
	padding-right: 0;
}

.table3--tight .table3__head:after {
	content: "：";

	margin-left: .25em;
	margin-right: .25em;
}

.table3--tight .table3__body {
	width: 100%;
}




.table4__head--fill1 {
	background-color: #f1f1f1;
}

.table4__head,
.table4__body {
	padding: 1em;
}

.table4__head {
	text-align: left;
	font-size: 1.125em;
}

@media (min-width: 769px) {
	.table4 {
		min-width: 100%;
		table-layout: fixed;

		border-spacing: 0;
		border-collapse: collapse;
	}

	.table4__head,
	.table4__body {
		border-style: solid;
		border-width: 1px 0;
		border-color: #ccc;
	}


	.table4__body {}
}

@media (max-width: 768px) {

	.table4,
	.table4 thead,
	.table4 tbody,
	.table4 tfoot,
	.table4 tr,
	.table4__head,
	.table4__body {
		display: block;
	}


	.table4 tr {
		border-top: 1px solid #ccc;
	}

	.table4 tr:not(:last-child) {
		margin-bottom: 2em;
	}

	.table4__head,
	.table4__body {
		padding: .5em 1em;
	}

	.table4__head {
		text-align: left;
	}

	.table4__head--fill1 {}

	.table4__body {}
}





.form-grid {}

.form-grid__head,
.form-grid__body {}

.form-grid__head {
	text-align: inherit;
}

.form-grid__body {}

@media (min-width: 769px) {
	.form-grid {
		min-width: 100%;
		border-collapse: collapse;
		table-layout: fixed;
	}

	.form-grid__head,
	.form-grid__body {
		vertical-align: top;
	}

	.form-grid tr:not(:first-child) .form-grid__head,
	.form-grid tr:not(:first-child) .form-grid__body {
		padding-top: 2em;
	}

	.form-grid__head {
		padding-right: 1em;
	}

	.form-grid__body {}
}

@media (max-width: 768px) {

	.form-grid,
	.form-grid thead,
	.form-grid tbody,
	.form-grid tfoot,
	.form-grid tr,
	.form-grid__head,
	.form-grid__body {
		display: block;
	}

	.form-grid {}

	.form-grid tr {}

	.form-grid tr:not(:first-child) {
		margin-top: 1.5em;
	}

	.form-grid__head,
	.form-grid__body {}

	.form-grid__head {}

	.form-grid__body {}
}

/* form parts */
.input1 {
	box-sizing: border-box;

	max-width: 100%;
	padding: .34375em .6875em;

	outline: 0 none;
	border: 1px solid #ccc;

	transition: outline 180ms ease-out;
	outline: .75em solid transparent;
}

.input1:hover {
	border-color: #999;
}

.input1:focus {
	outline: .1875em solid #ccc;
	transition-duration: 300ms;
}

textarea.input1 {
	min-height: 8em;
}

.input1--error {
	background-color: #FCF2F1;
}

.input1::placeholder {
	opacity: .33;
}

.input1:-ms-input-placeholder {
	opacity: .33;
}

.input1[type=number] {
	-webkit-appearance: textfield;
	appearance: textfield;
}

.input1[type="number"]::-webkit-outer-spin-button,
.input1[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.input1[size="1"] {
	width: 2em;
}

.input1[size="2"] {
	width: 3em;
}

.input1[size="3"] {
	width: 4em;
}

.input1[size="4"] {
	width: 5em;
}

.input1[size="5"] {
	width: 6em;
}

.input1[size="6"] {
	width: 7em;
}

.input1[size="7"] {
	width: 8em;
}

.input1[size="8"] {
	width: 9em;
}

.input1[size="9"] {
	width: 10em;
}




.select1 {
	position: relative;
	z-index: 0;

	display: table;

	background-color: #fff;
	border: 1px solid #ccc;
	border-collapse: collapse;
}

.select1:hover {
	border-color: #999;
}

.select1:after {
	content: "";

	display: block;
	pointer-events: none;

	position: absolute;
	top: 0;
	right: 1em;
	bottom: 0;

	width: 0;
	height: 0;

	margin-top: auto;
	margin-bottom: auto;

	border: .4em solid transparent;
	border-top-color: inherit;

	transform: translateY(33%);
}

.select1__select {
	border: 0 none;
	box-sizing: border-box;

	width: 100%;
	padding: .34375em .6875em;
	padding-right: 2em;

	-webkit-appearance: none;
	appearance: none;

	background-color: transparent;

}

.select1__select:focus {
	outline: 0 none;
}

.select1__select::-ms-expand {
	display: none;
}

.select1__select:not([disabled]) {
	cursor: pointer;
}

.select1--error {
	background-color: #FCF2F1;
}

.select1--error .select1__select {}



.option1,
.option2 {
	display: inline-flex;
}

.option1__input,
.option2__input {
	display: none;
}

.option1__icon,
.option2__icon {
	display: block;
	flex: 0 0 auto;

	position: relative;
	z-index: 0;

	width: 1em;
	height: 1em;
	margin-right: .33em;
	margin-top: .5em;

	border: 1px solid #ccc;
	background-color: #fff;
}

.option1__icon:before,
.option2__icon:before {
	content: "";
	box-sizing: border-box;

	display: block;
	position: absolute;

	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.option1__input:not(:checked)+.option1__icon:before,
.option2__input:not(:checked)+.option2__icon:before {
	opacity: 0;
	visibility: hidden;
}

.option1__input[type=checkbox]+.option1__icon:before,
.option2__input[type=checkbox]+.option2__icon:before {
	border-style: solid;
	border-width: 0 .25em .25em 0;

	left: 25%;

	transform: translate(-50%, -20%) rotate(45deg);
	transform-origin: right bottom;
}

.option1__input[type=radio]+.option1__icon,
.option2__input[type=radio]+.option2__icon {
	border-radius: 1em;
}

.option1__input[type=radio]+.option1__icon:before,
.option2__input[type=radio]+.option2__icon:before {
	border-radius: 1em;

	width: .6em;
	height: .6em;
	margin: auto;
}

.option1:hover .option1__icon,
.option1__input:checked+.option1__icon {
	border-color: #f90;
}

.option2:hover .option2__icon,
.option2__input:checked+.option2__icon {
	border-color: #0071b0;
}

.option1__input[type=checkbox]+.option1__icon:before {
	border-color: #f90;
}

.option2__input[type=checkbox]+.option2__icon:before {
	border-color: #0071b0;
}

.option1__input[type=radio]+.option1__icon:before {
	background-color: #f90;
}

.option2__input[type=radio]+.option2__icon:before {
	background-color: #0071b0;
}






.dialog {
	padding: 1.25em;
	border: 1px solid;
}

.dialog--error {
	color: #c00;
	text-align: left;
}

.dialog--success {
	color: #4e9643;
	background-color: #EDF4EC;

	border: 0 none;

	text-align: center;
}

.error-note {
	line-height: 1.875;
	font-size: .875em;

	color: #c00;
}

.dialog-list {
	line-height: 1.875;
	font-size: .875em;

	margin: 0;
	padding: 0;
	list-style: none;

	/ text-align: left;
}

.dialog-list__item {}







.form-title {
	margin: 0;
	padding: 0;
	margin-bottom: 1.25em;
}





/* form layout */
.field-grid1 {
	display: flex;
	align-items: center;
}

.field-grid1>* {
	flex: 1 1 auto;
}

.field-grid1>input {
	width: 0;
	flex: 1 1 auto;
}

.field-grid1>*:not(:first-child) {
	margin-left: 1.25em;
}



.field-option1 {
	margin: 0;
	padding: 0;
	list-style: none;

	display: flex;
	flex-wrap: wrap;

	margin-left: -3em;
	margin-bottom: -.25em;
}

.field-option1__item {
	flex: 0 1 auto;

	margin-left: 3em;
	margin-bottom: .25em;
}



.field-option2 {
	margin: 0;
	padding: 0;
	list-style: none;

	display: flex;
	flex-wrap: wrap;

	margin-left: -3%;
	margin-bottom: -.25em;
}

.field-option2__item {
	box-sizing: border-box;

	margin-left: 3%;
	margin-bottom: .25em;
}

@media (min-width: 769px) {
	.field-option2__item {
		flex: 0 1 30.33%;
	}
}

@media (max-width: 768px) {
	.field-option2__item {
		flex: 0 1 47%;
	}
}





/* multi-option */
.multi-option {
	/*
	position: relative;
	z-index: 0;
	*/
}

.multi-option__closer {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.multi-option__preview {
	/*padding: .34375em .6875em;*/
	padding: .34375em .9375em;
	padding-right: 2em;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;

	border: 1px solid #ccc;
	background-color: #fff;
}

.multi-option__body {
	box-sizing: border-box;

	/*
	position: absolute;
	top: calc(100% - 1px);
	left: 0;
	right: 0;
	*/

	padding: 1em;
	overflow: auto;
	max-height: 12.5em;

	border-color: #ccc;
	border-style: solid;
	border-width: 0 1px 1px 1px;

	background-color: #fff;
}

.multi-option__group {
	font-weight: bold;

	margin: 0;
	padding: 0;

	margin-bottom: .75em;
}

.multi-option-list+.multi-option__group {
	margin-top: .75em;
}

.multi-option-list {
	margin: 0;
	padding: 0;
	list-style: none;

	margin-left: .75em;
}

.multi-option-list__item {}


.js-multi-option {}

.multi-option__preview.js-multi-option__toggle {
	cursor: pointer;

	position: relative;
	z-index: 0;
}

.multi-option__preview.js-multi-option__toggle:after {
	content: "";

	display: block;

	position: absolute;
	top: 0;
	right: 1em;
	bottom: 0;

	width: 0;
	height: 0;

	margin-top: auto;
	margin-bottom: auto;

	border: .4em solid transparent;
	border-top-color: inherit;

	transform: translateY(33%);
}

.js-multi-option__target {}

.js-multi-option--active {}

.js-multi-option:not(.js-multi-option--active) .js-multi-option__closer {
	display: none;
}

.js-multi-option.js-multi-option--active .js-multi-option__toggle,
.js-multi-option.js-multi-option--active .js-multi-option__target {
	position: relative;
	z-index: 1;
}







.field-section {
	margin-bottom: 3.75em;
}

.field-section+.field-section {
	margin-top: 3.75em;
}

.field-section+.field-section--submit {
	/*margin-top: 6.25em;*/
}






/* modal1 */
.modal1 {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	display: flex;
	align-items: center;
	justify-content: center;
}

.modal1__bg {
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	background-color: rgba(0, 0, 0, .5);
}

.modal1__window {
	color: #000;
	background-color: #fff;
}

.modal1-close {
	text-align: right;
}

.modal1-close__button {
	cursor: pointer;

	border: 0 none;
	outline: 0 none;

	color: #fff;
	background-color: #0071b0;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	line-height: 1;
	font-size: 1.5em;
	vertical-align: top;

	width: 1.5em;
	height: 1.5em;

	transition: transform 190ms cubic-bezier(.18, .89, .32, 1.28);
}

.modal1-close__button:hover {
	transform: scale(1.2);
}

.modal1__body {
	box-sizing: border-box;

	padding: 1.875em 3.75em;

	max-width: 90vw;
	max-height: 80vh;
	overflow: auto;
}

.modal1__body--companies {
	width: 90vw;
	height: 90vh;
	max-width: 1200px;
}

@media (min-width: 1200px) {
	.modal1__body {
		max-width: 1200px;
	}
}

@media (max-width: 768px) {
	.modal1__body {
		padding: .9375em 1.875em;
	}
}






/* modal2 */
.modal2 {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	display: flex;
	align-items: center;
	justify-content: center;
}

.modal2__bg {
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	background-color: rgba(0, 0, 0, .5);
}

.modal2__window {
	background-color: #fff;
	border: .5em solid #0071b0;
}

.modal2-close {
	text-align: right;
}

.modal2-close__button {
	cursor: pointer;

	border: 0 none;
	outline: 0 none;

	color: #fff;
	background-color: #0071b0;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	line-height: 1;
	font-size: 1.5em;

	width: 1.5em;
	height: 1.5em;

	transition: transform 190ms cubic-bezier(.18, .89, .32, 1.28);
}

.modal2-close__button:hover {
	transform: scale(1.2);
}

.modal2__body {
	box-sizing: border-box;

	padding: 1.875em 3.75em;

	max-width: 90vw;
	max-height: 80vh;
	overflow: auto;
}

@media (min-width: 1200px) {
	.modal2__body {
		max-width: 1200px;
	}
}

@media (max-width: 768px) {
	.modal2__body {
		padding: 1.875em;
	}
}





/* state */
.js-modal__view:not(:checked)~.modal1,
.js-modal__view:not(:checked)~.modal2 {
	opacity: 0;
	visibility: hidden;
}

.js-modal__view:not(:checked)~.modal1 .modal1__window,
.js-modal__view:not(:checked)~.modal2 .modal2__window {
	transform: scale(.96);
}

.modal1,
.modal2 {
	transition-property: opacity visibility;
	transition-duration: 180ms;
	transition-timing-function: ease-out;
}

.modal1__window,
.modal2__window {
	transition: transform 180ms ease-out;
}






/* accordion1 */
.accordion1 {}

.accordion1__heading {
	line-height: 2;
	font-size: 1.25em;
	font-weight: normal;

	margin: 0;
	padding: .5em 1.2em;

	box-sizing: border-box;
	display: block;
	min-width: 100%;


	text-align: left;

	border: 0 none;
	outline: 0 none;

	color: #fff;
	background-color: #0071b0;
}

.accordion1__body {
	padding: 1.5em;
	border-style: solid;
	border-color: #0071b0;
	border-width: 0 .3125em .3125em .3125em;
}



.accordion1__heading.js-accordion__toggle {
	cursor: pointer;

	position: relative;
	z-index: 0;

	display: flex;
	align-items: center;
	justify-content: space-between;
}

.accordion1__heading.js-accordion__toggle:after {
	content: "";
	display: block;

	width: 1em;
	height: 1em;
	line-height: 1em;
	text-align: center;

	font-size: inherit;
	font-weight: bold;
}

.js-accordion__view:not(:checked)~.accordion1 .js-accordion__toggle:after {
	content: "＋";
}

.js-accordion__view:checked~.accordion1 .js-accordion__toggle:after {
	content: "－";
}

.accordion1__heading.js-accordion__toggle:hover {
	animation: flash 480ms ease-out;
}




.js-accordion__view {
	display: none;
}

.js-accordion__view:not(:checked)~.accordion1 .accordion1__body {
	display: none;
}

.js-accordion__view:checked~.accordion1 .accordion1__body {
	animation: a-accordion1 180ms ease-out;
}

@keyframes a-accordion1 {
	from {
		transform: scaleY(0);
		opacity: 0;
		transform-origin: center top;
	}

	to {
		transform: scaleY(1);
		opacity: 1;
		transform-origin: center top;
	}
}










/*--------------------------------------------------

 * Layout (Basic)

--------------------------------------------------*/
@media (min-width: 769px) {}

@media (max-width: 768px) {}

/* state */
.g-flag {
	display: none;
}








.sitewidth {
	box-sizing: border-box;

	max-width: calc(1000px + 12%);
	min-width: 320px;

	margin-left: auto;
	margin-right: auto;
/* 
	padding-left: 6%;
	padding-right: 6%; */
}








/* container */
.g-container {}

.anchor {
	display: block;
}

@media (min-width: 769px) {
	.g-container {
		padding-top: 100px;
	}

	.anchor {
		padding-top: 100px;
		margin-top: -100px;
	}
}

@media (max-width: 768px) {
	.g-container {
		padding-top: 60px;
	}

	.anchor {
		padding-top: 60px;
		margin-top: -60px;
	}
}






/* header */
.g-header {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
}

.g-container:not(.is-scrolled) .g-header {
	position: absolute;
}

.g-container.is-scrolled .g-header {
	position: fixed;
	animation: header-sticky 300ms ease-out;
}

.g-header--main {}

.g-header--sub,
.g-container.is-scrolled .g-header--main {
	background-color: rgba(255, 255, 255, .8);
}

.g-header--sub:after {
	content: "";
	display: block;
	pointer-events: none;

	opacity: .3;

	position: absolute;
	z-index: -1;
	top: 100%;
	left: 0;
	right: 0;

	height: 3px;
	background-image: linear-gradient(#000, transparent);
}

.g-container.is-scrolled .g-header--sub:after {
	display: none;
}

.h-logo {
	align-self: center;
}

.h-logo__home {
	color: inherit;
	text-decoration: inherit;
}

.h-logo__data {
	max-width: 100%;
}

.g-header--sub .h-logo__data--white {
	display: none;
}

.g-container.is-scrolled .g-header--main .h-logo__data--white {
	display: none;
}

.g-container:not(.is-scrolled) .g-header--main .h-logo__data--black {
	display: none;
}

@media (max-width: 1200px) {
	.h-logo {
		margin-left: 6%;
		margin-right: 6%;
	}
}

@media (max-width: 768px) {
	.h-logo__data {
		width: 135px;
	}
}



.h-menu {
	margin: 0;
	padding: 0;
	list-style: none;


	display: flex;
}

.h-menu__item {}

.h-menu__item--login {}

.h-menu__more {
	display: block;
	cursor: pointer;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	height: 100%;
}

.h-menu__item--login .h-menu__more {
	background-color: #4E9643;
}

.h-menu__item--menu .h-menu__more {
	background-color: #fff;
}

.h-menu__item--menu .h-menu__more {
    background-color: #fff;
    position: absolute;
    right: 0px;
}

.h-menu__icon {
	width: 40px;
	transition: transform 190ms cubic-bezier(.18, .89, .32, 1.28);
}

.h-menu__more:hover .h-menu__icon {
	transform: scale(1.2);
}

@media (min-width: 769px) {
	.h-menu__more {
		width: 100px;
	}
}

@media (max-width: 768px) {
	.h-menu__more {
		width: 60px;
	}

	.h-menu__icon {
		max-width: 30px;
	}
}



/*  */
.g-login {
	transition-duration: 300ms;
	transition-timing-function: cubic-bezier(.18, .89, .32, 1.28);
	transition-property: visibility opacity transform;

	transform-origin: center top;
}

.h-menu__item--login:not(.js-submenu--active) .js-submenu__target {
	visibility: hidden;
	opacity: 0;
	transform: scaleY(0);
	transition-duration: 240ms;
}







.g-login {
	line-height: 1.875;
	font-size: .875em;

	position: absolute;
	z-index: 0;
	top: 100%;
	right: 0;

	margin-right: -4px;
	padding: .3125em .625em;

	border-style: solid;
	border-width: 0 4px 4px 4px;
	border-image: url(../img/base/g-login__shawod.png) 4 fill;
}

@media (min-width: 769px) {
	.g-login {
		right: 200px;
	}
}

@media (max-width: 768px) {
	.g-login {
		right: 120px;
	}
}

@media (max-width: 1200px) {
	.g-login {
		margin-left: 6%;
	}
}


.g-login__user {
	padding-bottom: .5em;
	margin-bottom: .5em;
	border-bottom: 1px solid #ccc;
}

.g-login-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.g-login-menu__item {}

.g-login-menu__more {
	color: inherit;
	text-decoration: inherit;
}

.g-login-menu__more:hover {
	text-decoration: underline;
}









/* global navi */
.g-nav {
	color: #fff;
    background-color: hsl(203deg 99% 61% / 80%);

	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
}

@media (max-width: 768px) {
	.g-nav {
		left: 0;
		height: auto!important;
	}
}

.hum-acc-subt{
	color: white;
	text-decoration: none;
}

.g-nav__bg {
	position: fixed;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}



.g-nav__header {
	display: flex;
	align-items: center;
	justify-content: space-between;

	box-sizing: border-box;
	padding-left: 1.875em;
	padding-right: 1.875em;
}

.g-nav__body {
	overflow: auto;
}

@media (min-width: 769px) {
	.g-nav__header {
		height: 100px;
		justify-content: flex-end;
	}

	/* .g-nav__body {
		height: calc(100% - 100px);
	} */
}

@media (max-width: 768px) {
	.g-nav__header {
		height: 70px;
		border-bottom: 1px solid;
	}

}


.gn-logo {}

.gn-logo__home {}

.gn-logo__data {
	max-width: 100%;
}

@media (min-width: 769px) {
	.gn-logo {
		display: none;
	}
}

@media (max-width: 768px) {
	.gn-logo__data {
		width: 135px;
	}
}

.gn-toggle {
	margin-left: 1.875em;

	transition: transform 190ms cubic-bezier(.18, .89, .32, 1.28);
}

.gn-toggle:hover {
	transform: scale(1.2);
}

.gn-toggle__switch {
	cursor: pointer;
}

.gn-toggle__icon {
	width: 40px;
}

@media (max-width: 768px) {
	.gn-toggle__icon {
		max-width: 45px;
	}
}

.gn__more1 {
	line-height: 2;
	font-size: 1.33em;

	color: inherit;
	text-decoration: inherit;
	margin: auto 9%;
}

@media (min-width: 769px) {
	.gn__more1 {
		transition: opacity 100ms ease-out;
	}

	.gn__more1:hover {
		opacity: .78;
	}
}

@media (max-width: 768px) {
	.gn__more1 {
		line-height: 2;
		font-size: 1.25em;

		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;

		padding: 1.25rem 1.875rem;
	}

	.gn__more1:after {
		content: "";
	}
}

.gn__more1:not(.js-submenu__trigger):after {
	width: .5em;
	height: .5em;

	border-style: solid;
	border-width: .2em .2em 0 0;

	transform: rotate(45deg);
}

.js-submenu:not(.js-submenu--active) .gn__more1.js-submenu__trigger:after {
	content: "＋";
}

.js-submenu.js-submenu--active .gn__more1.js-submenu__trigger:after {
	content: "－";
}



.gn__more2 {
	color: inherit;
	text-decoration: inherit;
}

.gn__more2[target=_blank] {
	display: inline-flex;
}

.gn__more2[target=_blank]:before {
	/* content: url(../img/base/icon--blank.svg); */
	width: 1em;
	margin-right: .5em;
}

@media (min-width: 769px) {
	.gn__more2 {
		transition: opacity 100ms ease-out;
	}

	.gn__more2:hover {
		opacity: .78;
	}
}


.gn-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 769px) {
	.gn-list {
		/* margin-left: 1.875em;
		margin-right: 1.875em; */
	}

	.gn-list__item {
		/* margin-bottom: .75em; */
		border-bottom: 1px solid white;
		padding: 4%;
	}
}

@media (max-width: 768px) {
	.gn-list__item {
		border-bottom: 1px solid;
	}
}



.gn-sub-list {
	margin: 0;
	padding: 0;
	list-style: none;

	margin-bottom: 1.875em;
}

.gn-sub-list__item {}

.gn-sub-list__item>.gn__more2 {
	padding-left: 3em;
	padding-right: 1.875em;
}



.g-nav__aside {
	margin-top: 1.25em;
	margin-left: 1.875em;
	margin-right: 1.875em;
	padding-bottom: 1.875em;
}

@media (min-width: 769px) {
	.g-nav__aside {
		margin-left: 3em;
	}
}




.gn-external-list {
	margin: 0;
	padding: 0;
	list-style: none;

	box-sizing: border-box;

}

@media (min-width: 769px) {
	.gn-external-list {
		margin-bottom: 1.875em;
	}

	.gn-external-list__item:not(:last-child) {
		margin-bottom: .5em;
	}
}

@media (max-width: 768px) {
	.gn-external-list {
		font-size: .875em;
		line-height: 1.875;

		display: flex;
		flex-wrap: wrap;
	}

	.gn-external-list__item {
		flex: 0 1 50%;
		box-sizing: border-box;
		margin-bottom: 1.875em;
	}
}



.gn-sns {
	font-size: .8em;

	margin: 0;
	padding: 0;
	list-style: none;
}

.gn-sns__item {}

.gn-sns__more {
	box-sizing: border-box;

	display: flex;
	align-items: center;

	padding: .4em 1.33em;

	color: inherit;
	border: 1px solid;
	text-decoration: inherit;

	transition: opacity 100ms ease-out;
}

.gn-sns__more:hover {
	opacity: .78;
}

.gn-sns__icon {
	flex: 0 0 auto;
	margin-right: .66em;
}

@media (min-width: 769px) {
	.gn-sns {
		width: 16.66em;
	}

	.gn-sns__item:not(:last-child) {
		margin-bottom: 1.6em;
	}

	.gn-sns__more {
		justify-content: center;
	}

	.gn-sns__icon {
		width: 30px;
	}
}

@media (max-width: 768px) {
	.gn-sns {
		font-size: .7em;

		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.gn-sns__item {
		box-sizing: border-box;
		flex: 0 0 auto;
		width: calc(33% - 1.25em);
	}

	.gn-sns__item:not(:first-child) {
		margin-left: 1.25em;
	}

	.gn-sns__more {
		padding-top: 1em;
		padding-bottom: 1em;
	}

	.gn-sns__icon {
		width: 20px;
	}
}





/* state */
.g-nav {
	transition-duration: 360ms;
	transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	transition-property: visibility transform;
	margin-top: 103px;
	height: 450px;
}

#g-nav__toggle:not(:checked)~.g-container .g-nav {
	visibility: hidden;
	transform: translateX(100%);
	transition-duration: 240ms;
}






/*  */
.gn-list__item:not(.js-submenu--active) .js-submenu__target {
	display: none;
}

.gn-list__item .js-submenu__trigger:after {}

.gn-list__item:not(.js-submenu--active) .js-submenu__trigger:after {}

.gn-list__item.js-submenu--active .js-submenu__trigger:after {}

.gn-list__item.js-submenu--active .js-submenu__target {
	transform-origin: left top;
	animation: global_sub_navi 240ms ease-out;
}

@keyframes global_sub_navi {
	from {
		transform: scaleY(0);
		opacity: 0;
	}
}

/* main */
.g-main {
	background-color: #fff;
	background-attachment: fixed;
}

/* breadcrumb */
.g-breadcrumb {
	background-color: #F5F5F5;
	line-height: 1.875;
	font-size: .75em;
	padding-top: .5em;
	padding-bottom: .5em;
	margin-top: 80px;
}

.g-breadcrumb__items {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	margin: auto;
}

.g-breadcrumb__item:not(:last-child) {
	margin-right: .5em;
}

.g-breadcrumb__item:not(:first-child):before {
	content: ">";
	margin-right: .5em;
}

.g-breadcrumb__link {
	color: #0071b0;
	text-decoration: inherit;
}

.g-breadcrumb__link:hover {
	text-decoration: underline;
}

.g-breadcrumb__link--home:before {
	/* content: url(../img/base/breadcrumb--home.svg); */
	display: inline-block;
	vertical-align: baseline;

	width: 1em;
	height: 1em;
	margin-right: .25em;
}






/* contents */
.g-contents {
	/* margin-bottom: 6.25em; */
	padding-bottom: 2.25rem;
}

@media (max-width: 768px) {
	.g-contents {
		margin-top: 1.875em;
		margin-bottom: 3.125em;
	}
}





/* page header1 */
.page-header1 {
	position: relative;
	z-index: 0;

	color: #fff;
	background-color: #333;
}

.page-header1:before {
	content: "";
	display: block;

	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;

	background-size: auto 100%;
	background-position: center bottom;
	background-image: url(../img/base/header1__texture.png);
}

.page-header1__bg {
	display: none;
}

.page-header1__inner {}

.page-header1__mascot {
	max-width: 100%;
}

@media all and (-ms-high-contrast: none) and (min-width: 769px) {
	.page-header1__mascot {
		max-width: 100%;
		padding-top: 2em;
	}
}

@media (min-width: 769px) {
	.page-header1 {
		margin-top: -100px;
		padding-top: 100px;
	}
}

@media (max-width: 768px) {
	.page-header1 {
		margin-top: -60px;
		padding-top: 60px;
	}
}



.page-header1-grid {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.page-header1-grid__mascot {
	flex: 0 1 auto;
	max-width: 40%;
}

.page-header1-grid__title {
	flex: 0 0 auto;
	align-self: center;
	text-align: right;
}

.page-header1-grid__mascot+.page-header1-grid__title,
.page-header1-grid__title+.page-header1-grid__mascot {
	margin-left: 6%;
}

@media (min-width: 769px) {
	.page-header1-grid {
		min-height: 375px;
	}

	.page-header1-grid__mascot {}

	.page-header1-grid__title {}
}

@media (max-width: 768px) {
	.page-header1-grid {}

	.page-header1-grid__mascot {
		padding-top: 1em;
		flex: 0 0 35%;
	}

	.page-header1-grid__title {
		flex: 0 1 auto;
	}
}



/* page header1 */
.page-title1 {
	line-height: 1.25;

	font-size: 1em;
	font-weight: normal;
	text-shadow: 0 0 .45em rgba(0, 113, 176, .35);

	margin: 0;
	padding: 0;
}

.page-title1__main {}

.page-title1__ruby {
	display: flex;

	margin-top: .5em;
}

@media (min-width: 769px) {
	.page-title1__main {
		font-size: 2.875em;
	}

	.page-title1__ruby {
		font-size: 1.375em;
	}
}

@media (max-width: 768px) {
	.page-title1__main {
		font-size: 1.85em;
	}

	.page-title1__ruby {
		font-size: .9375em;
	}
}

.page-title1__ruby:before {
	content: "";

	flex: 1 1 auto;
	align-self: center;

	margin-right: 1em;
	border-bottom: 1px solid;
}

@media (min-width: 769px) {
	.page-title1__ruby:before {
		min-width: 5em;
	}
}

@media (max-width: 768px) {
	.page-title1__ruby:before {
		min-width: 2.5em;
	}
}




/* page header2 */
.page-header2 {
	text-align: center;
	padding-top: 3.75em;
	padding-bottom: 3.75em;
}

.page-title2 {
	line-height: 1.25;
	font-size: 1em;
	font-weight: normal;
	text-align: center;

	margin: 0;
	padding: 0;
}

.page-title2__main {
	font-size: 2.25em;
}

.page-title2__ruby {
	font-size: 1em;
}

.page-title2__main+.page-title2__ruby {
	margin-top: .5em;
}

@media (max-width: 768px) {
	.page-header2 {
		padding-top: 2.85em;
		padding-bottom: 2.85em;
	}

	.page-title2__main {
		font-size: 2em;
	}
}



/* event header */
.event-header {
	display: flex;
	align-items: center;
	justify-content: center;
}

.event-header-heading {
	line-height: 1.25;
	font-size: 2.5em;

	margin: 0;
	padding: 1em;

	display: flex;
	align-items: baseline;
	justify-content: center;

	color: #0071B0;
	background-color: #fff;
}

.event-header-heading__year {}

.event-header-heading__note {
	font-size: 1.5em;
}

@media (min-width: 769px) {
	.event-header {
		padding-top: 6.875em;
		padding-bottom: 6.875em;
	}
}

@media (max-width: 768px) {
	.event-header {
		line-height: 1.33;
		font-size: .875em;

		padding-top: 3.4375em;
		padding-bottom: 3.4375em;
	}

	.event-header-heading {
		font-size: 1.75em;


	}
}






/* instruction */
.instruction {
	text-align: center;
	margin-bottom: 3.75em;
}









/* pagetop */
.g-pagetop {
	position: fixed;
	right: 0;
	bottom: 0;

	transition:
		transform 150ms ease-out,
		bottom 450ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.g-container:not(.is-scrolled) .g-pagetop {
	transform: translateY(100%);
}

.g-pagetop__trigger {
	line-height: 2;
	font-size: .75em;
	text-decoration: inherit;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	box-sizing: border-box;
	padding: .5em;
	width: 4em;

	color: #fff;
	background-color: rgba(0, 113, 176, .5);

	transition: transform 190ms cubic-bezier(.18, .89, .32, 1.28);
}

.g-pagetop__trigger:hover {
	transform: scale(1.2);
}

.g-pagetop__trigger:before {
	content: "";

	display: block;

	width: 1em;
	height: 1em;

	border-style: solid;
	border-width: 2px 0 0 2px;


	transform: translateY(50%) rotate(45deg);
}









/* footer */
.g-footer {
	color: #fff;
	background-color: #1F2C5C;

	padding-bottom: 2.5em;
}

@media (min-width: 769px) {
	.g-footer {
		padding-top: 2.5em;
	}

	.g-footer__inner {
		max-width: 1000px;
		min-width: 320px;

		padding-left: 6%;
		padding-right: 6%;

		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 768px) {
	.g-footer__inner {
		display: flex;
		flex-direction: column;
	}

	.f-nav {
		order: -1;
	}
}




.f-logo {
	text-align: center;
}

.f-logo__home {}

.f-logo__data {}

@media (max-width: 768px) {
	.f-logo__data {
		width: 135px;
	}
}



.f-nav {
	margin-bottom: 1.5em;
}

.fn-list {
	line-height: 1.875;
	font-size: .875em;

	margin: 0;
	padding: 0;
	list-style: none;
}

.fn-list__item {}

.fn__more {
	color: inherit;
	text-decoration: inherit;
}

.fn__more:hover {
	text-decoration: underline;
}

.fn__more[target=_blank]:after {
	/* content: url(../img/base/icon--blank.svg); */

	width: 1em;
	display: inline-block;
	vertical-align: middle;

	margin-left: .5em;
}

@media (min-width: 769px) {
	.f-nav {
		margin-top: 1.5em;
	}

	.fn-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.fn-list__item:not(:first-child):before {
		content: "｜";

		margin-left: 1em;
		margin-right: 1em;
		color: #fff;
		font-weight: bold;
	}
}

@media (max-width: 768px) {
	.f-nav {}

	.fn-list {}

	.fn-list__item {
		border-bottom: 1px solid;
	}

	.fn__more {
		display: block;
		padding: 1em 1.5em;
	}
}




.fn-sns {
	margin: 0;
	padding: 0;
	list-style: none;

	margin-top: 1.5em;
	margin-bottom: 1.5em;

	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.fn-sns__item {}

.fn-sns__item:not(:first-child) {
	margin-left: 1.875em;
}

.fn-sns__more {
	color: inherit;
	text-decoration: inherit;
}

.fn-sns__icon {
	transition: transform 190ms cubic-bezier(.18, .89, .32, 1.28);
}

.fn-sns__more:hover .fn-sns__icon {
	transform: scale(1.2);
}

@media (min-width: 769px) {
	.fn-sns__icon {
		width: 40px;
	}
}

@media all and (-ms-high-contrast: none) and (min-width: 769px) {
	.fn-sns__icon {
		width: 40px;
		height: 40px;
	}
}

@media (max-width: 768px) {
	.fn-sns__item:not(:first-child) {
		margin-left: 1.5em;
	}

	.fn-sns__icon {
		width: 30px;
	}
}




.f-copyright {
	line-height: 1.875;
	font-size: .75em;
	text-align: center;
}

.f-copyright__note {
	font-size: 1em;
}










/*--------------------------------------------------

 * common contents style

--------------------------------------------------*/


/* column */
.g-column {}

.g-column__item {}

.g-column__item:not(:first-child):nth-child(odd) {
	margin-top: 5em;
}

.g-column__item:not(:last-child):nth-child(odd) {
	margin-bottom: 5em;
}

.g-column__item:nth-child(even) {
	padding-top: 5em;
	padding-bottom: 5em;
	background-color: #F3F8FC;
}

.g-column__item--title5-wrap:nth-child(odd) {
	margin-top: 0 !important;
	overflow: hidden;
}

.g-column__item--title5-wrap:nth-child(even) {
	padding-top: 0 !important;
	overflow: hidden;
}

.g-column__nav {
	margin-top: 3.75em;
}

.g-column__item:nth-child(odd) .g-column__nav {
	margin-bottom: 3.75em;
}

.g-column__header {
	text-align: center;
	margin-bottom: 3.75em;
}

.title11--g-column {
	margin: 0;
	padding: 0;
	margin-bottom: 1em;
}

.catch1--g-column {
	margin: 0;
	padding: 0;
}

@media (max-width: 768px) {
	.title11--g-column.title11 {
		font-size: 1.7em;
	}

	.g-column__header {
		margin-bottom: 2em;
	}

	.g-column__item:not(:first-child):nth-child(odd) {
		margin-top: 3.75em;
	}

	.g-column__item:not(:last-child):nth-child(odd) {
		margin-bottom: 3.75em;
	}

	.g-column__item:nth-child(even) {
		padding-top: 3.75em;
		padding-bottom: 3.75em;
	}
}





/* --- event list --- */
/* event list */
.event-list--horizontal {}

.event-list--vertical {}



.event-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.event-list__item {}

.event-list__more {
	box-sizing: border-box;
	display: block;
	color: inherit;
	text-decoration: inherit;

	background-color: #fff;

	transition: outline 180ms ease-out;
	outline: .5em solid transparent;
}

.event-list__more:hover {
	outline: .125em solid #0171b1;
	transition-duration: 300ms;
}

@media (min-width: 769px) {
	.event-list__more {
		padding: .9375em 1.875em;
	}
}

@media (max-width: 768px) {
	.event-list__more {
		padding: .9375em;
	}
}

.event-list--horizontal .event-list__item:after {
	content: "";
	display: block;

	margin-top: 1.875em;
	margin-bottom: 1.875em;

	border-bottom: 1px solid #ccc;
}

.event-list--vertical .event-list__item {
	display: flex;
}

.event-list--vertical .event-list__item .event-list__more {
	flex: 1 1 auto;
}

@media (min-width: 769px) {
	.event-list--vertical.event-list {
		display: flex;
		flex-wrap: wrap;

		margin-left: -2%;
		margin-bottom: -2%;
	}

	.event-list--vertical .event-list__item {
		box-sizing: border-box;
		flex: 0 0 48%;

		margin-left: 2%;
		margin-bottom: 2%;
	}
}

@media (max-width: 768px) {
	.event-list--vertical .event-list__item:not(:last-child) {
		margin-bottom: 1.875em;
	}
}




.event-list__grid {
	display: flex;
}

.event-list--horizontal .event-list__grid {
	align-items: center;
}

.event-list--horizontal .event-list__header {}

.event-list--horizontal .event-list__body {
	flex: 1 1 auto;
	margin-left: 1.875em;
	margin-right: 1.875em;
}

.event-list--horizontal .event-list__footer {}

@media (min-width: 769px) {
	.event-list--horizontal .event-list__footer {
		flex: 0 1 38%;
	}
}

@media (max-width: 768px) {
	.event-list--horizontal .event-list__grid {
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.event-list--horizontal .event-list__header {
		flex: 0 0 30%;
	}

	.event-list--horizontal .event-list__body {
		flex: 1 1 10%;

		margin-left: .9375em;
		margin-right: 0;
	}

	.event-list--horizontal .event-list__footer {
		flex: 1 1 100%;

		margin-top: 1em;
	}
}



.event-list--vertical .event-list__grid {
	flex-direction: column;
}

.event-list--vertical .event-list__header {
	display: flex;
	align-items: center;
	justify-content: space-between;

	margin-bottom: .625em;
	padding-bottom: .625em;
	border-bottom: 1px solid #0171B1;
}

.event-list--vertical .event-list__body {}

.event-list--vertical .event-list__footer {}





.event-list__about {}

.event-list--horizontal .event-list__about {
	text-align: center;
	border: .125em solid #0171B1;
}

.event-list--vertical .event-list__about {
	display: flex;
	align-items: center;
}

@media (max-width: 768px) {
	.event-list--vertical .event-list__about {
		flex: 1 1 auto;
	}
}



.event-list__place {
	line-height: 1.33;
	font-weight: bold;
	text-align: center;

	margin: 0;
	padding: .5em;

	color: #fff;
	background-color: #0171B1;
}

.event-list--vertical .event-list__place {
	font-size: 1.25em;
}



.event-list__calendar {
	line-height: 1.33;
	font-size: 1.625em;
	font-weight: bold;

	margin: 0;
	padding: 0;

	color: #0171B1;
}

.event-list__week {
	font-size: .615em;
	font-weight: normal;

	vertical-align: baseline;
}

.event-list--horizontal .event-list__calendar {
	padding: .5em;
}

.event-list--vertical .event-list__calendar {
	margin-left: .5em;
}




.event-list__name {
	font-size: 1.25em;

	margin: 0;
	padding: 0;
}

.event-list--horizontal .event-list__name {}

.event-list--vertical .event-list__name {}




.event-list__heading {}

.event-list--horizontal .event-list__heading {
	display: flex;
	margin-bottom: 1.25em;
}

.event-list--vertical .event-list__heading {}

@media (max-width: 768px) {
	.event-list--horizontal .event-list__heading {
		flex-wrap: wrap;
	}
}




.event-list__date {
	margin: 0;
	padding: 0;
}



.event-list-nav {
	margin: 0;
	padding: 0;
	list-style: none;

	display: flex;
}

.event-list-nav__item {
	flex: 1 1;
}

.event-list-nav__item:not(:first-child) {
	margin-left: 1.25em;
}

.event-list-nav .button1,
.event-list-nav .button2 {
	padding: .65em;
}




/* brain type */
.brain-type {
	margin: 0;
	padding: 0;
	list-style: none;

	margin-left: -.5em;
	margin-bottom: -.5em;

	display: flex;
	flex-wrap: wrap;
}

.brain-type__item {
	margin-left: .5em;
	margin-bottom: .5em;

	padding: .25em 1em;
	border: .125em solid;
}

.brain-type__item--chemical {
	color: #09AADE;
}

.brain-type__item--art {
	color: red;
}

.brain-type__item--both {
	color: #00A306;
}

.event-list--horizontal .brain-type {
	margin-right: 1.25em;
}

.event-list--horizontal .brain-type__item {
	font-size: .875em;
}

.event-list--vertical {}

@media (max-width: 768px) {
	.event-list--vertical .brain-type__item {
		font-size: .875em;
	}
}

/* --- event list --- */






/* event search filter */
.g-filter {
	margin-bottom: 6.25em;
}

.filter {
	padding: .875em 1.75em;
}

.g-filter .filter {
	background-color: #F3F8FC;
}

.filter+.filter {
	margin-top: 2.5em;
}

.filter__title {
	line-height: 2;
	font-size: 1.5em;
	font-weight: normal;

	color: #0171B1;

	margin: 0;
	padding: 0;
	margin-bottom: .5em;
}

.filter-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.filter-list__item {
	box-sizing: border-box;
}

@media (min-width: 769px) {
	.filter-list {
		display: flex;
		align-items: flex-end;

		margin-left: -1.25em;
	}

	.filter-list__item {
		flex: 1 1;
		margin-left: 1.25em;
	}

}

@media (max-width: 768px) {
	.filter-list__item:not(:last-child) {
		margin-bottom: 1em;
	}
}

.filter__more,
.filter__switch,
.filter-list__item.js-search-group__tab {
	box-sizing: border-box;
	display: block;

	padding: .4em 0;

	color: inherit;
	text-decoration: inherit;
	text-align: center;

	color: #0171B1;
	background-color: #fff;

	border: .1em solid;

	/*transition: opacity 50ms ease-out;*/

	transition-duration: 190ms;
	transition-property: opacity transform;
	transition-timing-function: cubic-bezier(.18, .89, .32, 1.28);
	;
}

.filter__switch:hover,
.filter-list__item.js-search-group__tab:hover {
	opacity: .78;
}

.filter__more {
	font-size: 1.25em;
}

.filter__more:hover,
.filter__switch:hover,
.filter-list__item.js-search-group__tab:not(.js-search-group--active):hover {
	transform: scale(1.125);
}

.filter__switch {
	display: block;
}

.js-tab:not(:checked)+.filter__switch,
.filter-list__item.js-search-group__tab:not(.js-search-group--active) {
	cursor: pointer;
}

.filter__more:hover,
.js-tab:checked+.filter__switch,
.filter-list__item.js-search-group__tab.js-search-group--active {
	color: #fff;
	background-color: #0171B1;
	border-color: transparent;
}

.js-tab:checked+.filter__switch,
.filter-list__item.js-search-group__tab.js-search-group--active {
	padding-top: .6em;
	padding-bottom: .6em;
}

.filter-pref {
	/*margin-top: 1.875em;*/
}


.filter-command {
	margin-top: 3.75em;
}



.field-option1 {
	padding-top: 1em;
}

@media (max-width: 768px) {
	.filter-pref__name {
		margin: 0;
		padding: .5em 1.875em;
		background-color: #ddd;

		margin-bottom: 2px;
	}

	.filter-pref__name.js-search-group--active {
		color: #fff;
		background-color: #0071B0;
		border: 0 none;
	}

	.filter-pref__name.js-search-group__accordion {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.filter-pref__name.js-search-group__accordion:after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		border: .33em solid transparent;
	}

	.filter-pref__name.js-search-group__accordion:not(.js-search-group--active):after {
		border-bottom-color: inherit;
		transform: translateY(-33%);
	}

	.filter-pref__name.js-search-group__accordion.js-search-group--active:after {
		border-top-color: inherit;
		transform: translateY(33%);
	}

	.field-option1 {
		padding-bottom: 1em;
	}
}





/* 状態 */
.filter-pref__name:not(.js-search-group--active)+.js-search-group__body {
	display: none;
}

.filter-pref__name.js-search-group--active+.js-search-group__body {
	animation: kf-fadein 180ms ease-out;
}

@media (min-width: 769px) {
	.filter-pref__name {
		display: none;
	}
}

@media (max-width: 768px) {
	.filter-list--prefs {
		display: none;
	}
}








/*--------------------------------------------------

 * plugin customize

--------------------------------------------------*/
@media (min-width: 769px) {}

@media (max-width: 768px) {}

/* slick1 */
.slick1 {
	z-index: 0;
}

.slick1 .slick-arrow {
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 3.4375em;
	height: 3.4375em;

	border: 0 none;
	outline: 0 none;
	background-color: rgba(0, 113, 176, .8);

	cursor: pointer;
	transition: transform 190ms cubic-bezier(.18, .89, .32, 1.28);
}

.slick1 .slick-prev {
	right: 100%;
	transform: translateX(50%);
}

.slick1 .slick-next {
	left: 100%;
	transform: translateX(-50%);
}

.slick1 .slick-prev:hover {
	transform: translateX(50%) scale(1.2);
}

.slick1 .slick-next:hover {
	transform: translateX(-50%) scale(1.2);
}

.slick1 .slick-arrow:before {
	content: "";

	display: block;

	width: 1.25em;
	height: 1.25em;

	border-style: solid;
	border-color: #fff;
	border-width: 0 0 .125em .125em;
}

.slick1 .slick-prev:before {
	transform: translateX(25%) rotate(45deg);
}

.slick1 .slick-next:before {
	transform: translateX(-25%) rotate(225deg);
}



.slick1 .slick-dots {
	margin: 0;
	padding: 0;
	list-style: none;

	display: flex;
	justify-content: center;
}

.slick1 .slick-dots li {}

.slick1 .slick-dots li+li {
	margin-left: .625em;
}

.slick1 .slick-dots li button {
	margin: 0;
	padding: 0;
	display: block;

	cursor: pointer;

	color: #0071b0;
	outline: 0 none;
	border: .125em solid;
	border-radius: 1em;
	background-color: transparent;

	width: 1em;
	height: 1em;
	overflow: hidden;
	text-indent: -99em;

	transition: transform 190ms cubic-bezier(.18, .89, .32, 1.28);
}

.slick1 .slick-dots li.slick-active button {
	background-color: currentcolor;
}

.slick1 .slick-dots li button:hover {
	transform: scale(1.2);
}

/* 6/26 追記 */
.logoimg{
	position: absolute;
    top: 0%;
    left: 43%;
    width: 300px;
}
.titleflex{
	display: flex;
	justify-content: center;
}
.title-with-dots{
	position: relative;
}

.sidebox1{
	/* padding: 6% 8% 8% 8%; */
	padding: 1rem 1.5rem 1rem 1.5rem;
    border-bottom: 3px solid #d3dddf;
    border-top: 5px solid black;
}

.side-subtitle{
	text-align: center;
	font-weight: 600;
	color: #009;
	letter-spacing: 0.3rem;
}

.flex3{
	display: flex;
    justify-content: space-between;
    column-gap: 20px;
}

.blog-grid__main{
	width: 59%;
	background-color: white;
  padding: 3%;
}
.titletext{
	font-size: 1rem;
}
.sidetitle{
	text-align: center;
	color: #0071B0;
	font-weight: 600;
	font-size: 1rem;
}

.sidebox2{
	padding: 6% 8% 6% 8%;
    border-bottom: 3px solid #d3dddf;
	position: relative;
	background-color: white;
}
.index__item{

}
::marker {
    font-size: 1.2em;
    font-weight: bolder;
    color: #000099;
}
.sidebtn1{
	background-color: #fad508;
    border-radius: 20vw;
}
.sidebtn2{
	background-color: #12d3ae;
    border-radius: 20vw;
}
.btntext{
	color: black;
    font-weight: 600;
}
.atagu{
	text-decoration: none;
}

.index{
	margin-left: 0;
	/* padding-left: 1.25em; */
	border-bottom:2px dotted #d3dddf;
	border-top:2px dotted #d3dddf;
}
.index__jump {
    color: black;
    text-decoration: none;
    font-size: 1rem;
}
.index__title{
	text-align: center;
	color: #0071B0;
    font-weight: 600;
}
.sidebox3{
	padding: 5% 8% 0% 8%;
    border-top: 5px solid black;
	position: relative;
	background-color: white;
}

.entry-meta{
	display: flex;
    align-items: center;
    /* margin-bottom: 1.875em; */
    justify-content: space-between;
}
.syukatsu{
	color: white;
	background-color: #1f2c5c;
	padding: 0% 5% 0% 5%;
    font-weight: 500;
}
.entry-date {
	margin: 0;
	margin-bottom: 1.5rem;
	padding: 0;
	color: #939393;
}

.entry-lead__title {
    margin: 0;
    padding: 0;
    font-size: 1.5em;
    font-weight: bold;
}

.entry__note a {
	color: #90a8ad;
}
.entryflex{
	display: flex;
	justify-content: space-between;
    background-color: #efefef;
    padding: 0% 2% 0% 3%;
	margin-bottom: 3%;
}
.linkname{
	color: #90a8ad;
}
.link-image{
	width: 40%;
	object-fit: cover;
}
.linkimage-back{
    justify-content: end;
    width: 8%;
    display: flex;
    align-items: center;
}

  /* リスト全体のスタイルを設定 */
  ol {
    list-style: none; /* デフォルトのリストスタイルを無効にする */
    padding: 0; /* パディングを無効にする */
    margin: 0; /* マージンを無効にする */
    counter-reset: list-counter; /* カウンターをリセット */
  }

  /* リストアイテムのスタイルを設定 */
  .index__item {
    padding: 5px 0; /* 各リストアイテムにパディングを追加 */
    border-bottom: 1px solid #eee; /* 各リストアイテムの下に境界線を追加 */
    counter-increment: list-counter; /* カウンターをインクリメント */
	border-bottom: 2px dotted #d3dddf;  

}

  /* 最後のリストアイテムの下の境界線を削除 */
  .index__item:last-child {
    border-bottom: none;
  }

  /* ::before 疑似要素を使用してカスタムマーカーを設定 */
  .index__item::before {
	content: counter(list-counter, decimal-leading-zero) " ";
    font-weight: 600;
    color: #264d98;
    margin-right: 5px;
    font-family: auto;
  }
  .scrollable-list {
    /* max-height: 200px; */
	max-height: 14vw;
    overflow-y: auto;
    border: 1px solid #ccc;
    /* padding: 30px; */
	padding: 2vh;
  }
  .scrollable-list::-webkit-scrollbar {
    width: 12px;
  }

  .scrollable-list::-webkit-scrollbar-track {
    background: #f1f1f1;
  }

  .scrollable-list::-webkit-scrollbar-thumb {
    background: #888;
  }

  .scrollable-list::-webkit-scrollbar-thumb:hover {
    background: #555;
  }
  .title-with-dots::before{
	content: '';
    position: absolute;
    top: 0.9rem;
    left: -0.97rem;
    width: 0.4em;
    height: 0.4em;
    background-color: #25aaff;
    border-radius: 50%;
    transform: translateY(-50%);
  }
  .title-with-dots::after {
	content: '';
    position: absolute;
    top: 0.9rem;
    right: -0.97rem;
    width: 0.4em;
    height: 0.4em;
    background-color: #25aaff;
    border-radius: 50%;
    transform: translateY(-50%);
  }
  .mokuzi-with-dots::before{
	content: '';
    position: absolute;
    top: 11.2%;
    left: 38%;

    width: 0.4em;
    height: 0.4em;
    background-color: #25aaff;
    border-radius: 50%;
    transform: translateY(-50%);
  }
  .mokuzi-with-dots::after {
	content: '';
    position: absolute;
    top: 11.2%;
    right: 38%;
    width: 0.4em;
    height: 0.4em;
    background-color: #25aaff;
    border-radius: 50%;
    transform: translateY(-50%);
  }
  /* .side-subtitle::after {
    left: 2.6em;
    top: 0.64em;
    content: '';
    width: 0.4em;
    height: 0.4em;
    background-color: #25aaff;
    border-radius: 50%;
    position: absolute;
} */
.cta-subt::before {
	left: 3.6em;
    top: 1.74em;
    content: '';
    width: 0.4em;
    height: 0.4em;
    background-color: #25aaff;
    border-radius: 50%;
    position: absolute;
}
.cta-subt::after {
	right: 4.2em;
    top: 1.74em;
    content: '';
    width: 0.4em;
    height: 0.4em;
    background-color: #25aaff;
    border-radius: 50%;
    position: absolute;
}

.osusume-cont::before{
    left: 0.6em;
    top: 1.6em;
    content: '';
    width: 0.4em;
    height: 0.4em;
    background-color: #25aaff;
    border-radius: 50%;
    position: absolute;
}
.osusume-cont::after{
    right: 1.2em;
    top: 1.6em;
    content: '';
    width: 0.4em;
    height: 0.4em;
    background-color: #25aaff;
    border-radius: 50%;
    position: absolute;
}
.sidebar ul li a {
	color: #000;
	text-decoration: none;
    display: block;
}
.entry-list{
	display: flex;
	margin: auto 7%;
	justify-content: space-between;
}
.cont-box{
	width: 100vw;
    background: aquamarine;
    /* position: relative; */
    margin-left: 0;
    position: absolute;
    right: 0;
}
.lineflex{
	display: flex;
	padding: 7%;
	justify-content: space-between;
}

.accordion {
    max-width: 600px;
}

.accordion-item {
    border-bottom: 1px solid white;
}

.accordion-header {
	padding: 4% 3% 4% 12%;
    cursor: pointer;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
	width: 60%;
	font-size: 1.2rem;
}

.accordion-content {
    display: none;
    /* padding: 15px; */
	background-color: #0c87be;
    border-top: 1px solid white;
	/* padding: 2% 2% 2% 7%; */
}

.categorybox-pc a{
	text-decoration: none;
	color: white;
	margin-left: 2%;
}
.categorybox-pc{
	margin-top: 2%;
	margin-bottom: 2%;
}

.accordion-header.active {
    color: #fff;
}

.toggle-icon {
    font-size: 36px;
    font-weight: bold;
	font-family: auto;
}

.sp-ctasec{
	display: none;
}

.sponly{
	display: none;
}
.sideflex1{
	display: flex;
	margin: auto 5%;
	/* padding: 4%; */
	justify-content: center;
	padding-top: 4%;
    padding-bottom: 4%;
	/* border-right: 2px dotted #00488e; */
}
.sideflex1:hover{
	opacity: 0.8;
}
.side-imgbox{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20%;
}
.btntext{
	/* font-size: 0.9rem; */
	font-size: 0.8rem;
	width: 80%;
}

.sidebar {
    position: sticky;
    top: 4vh;
    /* margin: 4vw 0;  */
    left: 0;
    background-color: white;
    z-index: 98;
    box-sizing: border-box; 
}

.sidebar-content {
    /* height: 100%;
    overflow-y: auto;  */
	width: 25%;
}

.sidebar ul {
    list-style-type: none;
    padding: 0;
	margin-top: 0;
}
.mleft{
	margin-left: 10%;
}
.mleft2{
	margin-left: 3%;
}
.content {
    margin-left: 250px; /* サイドバーの幅に合わせる */
    padding: 20px;
    flex-grow: 1;
}

.content div {
    margin-bottom: 40px;
    padding: 20px;
    background-color: #f4f4f4;
    border: 1px solid #ddd;
}
.recommend{
	background-color: white;
	box-sizing: border-box;
    max-width: calc(1000px + 12%);
    min-width: 320px;
    margin-left: auto;
    margin-right: auto;
}
.editor-img{
	/* width: 100%; */
	width: 120px;
	height: 120px;
	object-fit: cover;
    object-position: -20px center;
	border-radius: 20vw;
}
.enn-size{
	border-radius: 20%;
	width: 14%;
}

.editor_flex{
	display: flex;
	margin: auto 7%;
	justify-content: space-between;
	padding-bottom: 5%;
    padding-top: 3%;
}
.editor-pro{
	width: 18%;
	display: flex;
	align-items: center;
}
.editor_name{
	width: 100%;
	font-size: 1.2rem;
	font-weight: 600;
}
.editor-cont{
	width: 68%;
}

.editorspec{
	font-size: small;
	color: gray;
}
.spatop{
	padding-top: 2%;
	border-top: 1.4px solid #b6c6c9;
    margin: auto 9%;
}
.hum-flex{
	display: flex;
    margin: auto 8%;
}
.hum-imgsec{
    width: 8%;
    display: flex;
    align-items: center;
}
.hum-flag{
	width: 100%;
}
.hum-subt{
	font-size: 1.2rem;
	font-weight: 600;
    letter-spacing: 0.2rem;
	margin-left: 0.6rem;
}
.line-imgbox{
	width: 20%;
}
.line-sec{
	display: flex;
    padding: 0% 7% 0% 7%;
    justify-content: space-between;
	border-radius: 20vw;
	margin: auto 7%;
    border: 1px solid white;
	margin-top: 9%;
}
.lineflex {
    display: flex;
    justify-content: space-between;
}
.lineflex2{
	display: flex;
	align-items: center;
	width: 70%;
}
.linecont{
	font-weight: 600;
}
.lineimg{
	border-radius: 10px;
}
.catebtn{
	position: absolute;
    right: -12%;
}
.entry-summary{
	width: 96%;
	margin: auto;
}
.entry-grid__photo{
	margin: auto 5%;
}
.syukatsu-cate{
	margin: auto 5%;
}
.entry-summary__title{
	margin: auto 5%;
}
.entry-list__item{
	position: relative;
	margin-bottom: 5%;
}
.koushin-place{
	position: absolute;
	right: 0;
	bottom: 0;
}

body.no-scroll {
	overflow: hidden; /* スクロール禁止 */
}
.entryflex p{
	width: 90%;
}

.cate-aflex{
	display: flex;
    width: 100%;
    color: white;
    text-decoration: none;
	padding: 10px 10px 10px 20px;
	border-bottom: 2px dotted #00488e;
}
.bor-r{
	border-right: 2px dotted #00488e;
}
.cate-flex-pc{
	display: flex;
}
.bor-none{
	border-bottom: none;
}
@media (min-width: 769px) {}

@media (max-width: 768px) {
	.spatop{
		padding-top: 10%;
		border-top: 1.4px solid #cccccc;
		margin: auto 5%;
	}
	.entry-list__item{
		border-bottom: none;
	}
	
	.g-breadcrumb{
		display: none;
	}
	.g-container {
        padding-top: 46px;
    }
	.syukatsu{
		padding: 0% 0% 0% 0%;
		width: 22%;
		text-align: center;
	}
	.g-nav{
		background-color: hsl(198.53deg 75.49% 50.39%);
	}
	.entry-list{
		display: block;
	}
	.f-logo__data {
        width: 250px;
        padding-bottom: 15px;
    }
	.fn-list__item {
border-bottom: none;
    }
	/* .sidebar{
		display: none;
	} */
	#g-nav__toggle:not(:checked)~.g-container .g-nav {
		visibility: hidden;
		transform: translateX(0%);
		transition-duration: 240ms;
	}
	.logoimg {
		position: absolute;
		top: 12%;
		left: 24%;
		width: 200px;
	}
	.blog-grid__main {
		width: 84%;
		background-color: white;
        padding: 12% 5% 5% 5%;
		margin-top: 3%;
	}
	.h-menu__more {
		display: block;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		height: 88%;
	}
	.g-contents {
        margin-top: 1.875em;
        margin-bottom: 0em; 
    }
	.cta-subt2::before {
		left: 8.7em;
		top: 2.3em;
		content: '';
		width: 0.4em;
		height: 0.4em;
		background-color: #25aaff;
		border-radius: 50%;
		position: absolute;
	}
	.cta-subt2::after {
        left: 19em;
        top: 2.3em;
        content: '';
        width: 0.4em;
        height: 0.4em;
        background-color: #25aaff;
        border-radius: 50%;
        position: absolute;
	}
	.sidebtn1 {
		background-color: #fad508;
		border-radius: 20vw;
		padding: 3%;
		margin: auto 12%;
	}
	.sidebtn2 {
        border-radius: 20vw;
        padding: 3%;
        margin: auto 12%;
	}
	.pconly{
		display: none;
	}
	.sidebox2{
		border-bottom: none;

	}
	.f-syukatsu{
		text-align: center;
		font-size: 1.4em;
		font-weight: 600;
		font-family: sans-serif;
		letter-spacing: 0.2rem;
	}
	.fn__more {
        display: block;
        padding: 0.5em 1.5em;
        text-align: center;
		font-weight: 500;
    }
	.g-footer {
		color: #fff;
		background-color: #1F2C5C;
		padding-bottom: 2.5em;
		padding-top: 3em;
	}
	.g-nav {
		transition-duration: 360ms;
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
		transition-property: visibility transform;
		margin-top: 72px;
		height: auto;
	}
	.accordion-header {
		cursor: pointer;
		font-weight: bold;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 16px;
		justify-content: center;
	}
	.gn__more1:not(.js-submenu__trigger):after {
		display: none;
	}
	.gn__more1 {
        line-height: 2;
        font-size: 1.25em;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        padding: 1.25rem 1.875rem;
		font-weight: bold;
    }
	.accordion-content p{
		text-align: center;
	}
	.mokuziimg{
		position: fixed;
		top: 85%;
		right: 5%;
		width: 13vw;
	}

	.clickable-image {
		max-width: 300px;
		cursor: pointer;
		display: block;
		margin: 20px auto;
	}
	
	.table-of-contents {
		position: fixed;
		bottom: -100%;
		left: 0;
		right: 0;
		background-color: white;
		box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
		transition: bottom 0.3s ease;
	}
	
	.table-of-contents h2 {
		margin-top: 0;
		text-align: center;
	}
	
	.table-of-contents ul {
		list-style: none;
		padding: 0;
	}
	
	.table-of-contents ul li {
		margin-bottom: 10px;
	}
	
	.table-of-contents ul li a {
		text-decoration: none;
		color: #007BFF;
	}
	
	.table-of-contents .close-btn {
        display: block;
        width: 2.4rem;
        height: 2.4rem;
        padding: 10px;
        background-color: #264d98;
        color: white;
        border: none;
        cursor: pointer;
        text-align: center;
        font-size: 0.6rem;
        margin-top: 20px;
        position: absolute;
        bottom: 0.6%;
        right: 3%;
        border-radius: 3vw;
    }
	
	.table-of-contents.open {
        bottom: 0;
        /* height: 100vw; */
		background-color: rgb(123 114 114 / 60%);
        padding-top: 200vw;
		z-index: 100;
	}
	.mokuzibox{
		background-color: white;
	}
	.index__item{
		list-style: none;
	}
	        /* スクロール可能なメニューのコンテナ */
			.scroll-menu {
				height: 300px; /* 必要に応じて調整 */
				overflow-y: auto;
				margin: auto 10%;
			}
	
			/* リストアイテムのスタイル */
			.scroll-menu ul {
				list-style-type: none;
				padding: 0;
				margin: 0;
				border-top: 2px dotted #d3dddf;
			}
	
			.scroll-menu ul li {
				/* margin-bottom: 10px; */
				font-size: 1.6rem;
			}
	
			.scroll-menu ul li a {
				text-decoration: none;

			}

			.link-image {
				width: 20px;
				object-fit: cover;
			}
			.linkimage-back {
				justify-content: end;
				/* width: 38%; */
				display: flex;
				align-items: center;
			}
	
			.scroll-menu ul li a:hover {
				text-decoration: underline;
			}
			.scroll-menu ul li a {
				text-decoration: none;
				color: black;
			}
	.batu-mark{
        font-size: 1.6rem;
        display: flex;
        position: absolute;
        top: 1.2rem;
        right: 1.34rem;
	}
	.close-text::before{
        content: '';
        position: absolute;
        top: 41%;
        left: -3%;
        width: 0.4em;
        height: 0.4em;
        background-color: #25aaff;
        border-radius: 50%;
        transform: translateY(-50%);
	}		
	.close-text::after{
        content: '';
        position: absolute;
        top: 41%;
        right: -3%;
        width: 0.4em;
        height: 0.4em;
        background-color: #25aaff;
        border-radius: 50%;
        transform: translateY(-50%);
	}		
	.close-text{
		position: relative;
	}
	.sp-mokuzi{
        text-align: center;
        color: #000099;
        position: relative;
        margin: auto 35%;
        width: 30%;
        letter-spacing: 0.8rem;
        font-size: 1.6rem;
        font-weight: 600;
		padding-bottom: 3%;
        padding-top: 8%;
	}
	.sp-mokuzi::before{
        content: '';
        position: absolute;
        top: 60%;
        left: 3%;
        width: 0.3em;
        height: 0.3em;
        background-color: #25aaff;
        border-radius: 50%;
        transform: translateY(-50%);
	}	
	.sp-mokuzi::after{
        content: '';
        position: absolute;
        top: 60%;
        right: 12%;
        width: 0.3em;
        height: 0.3em;
        background-color: #25aaff;
        border-radius: 50%;
        transform: translateY(-50%);
	}	
	.upborder{
		border-top: 2px dotted #d3dddf;
	}
	.sideflex1{
		display: flex;
		margin: auto 8%;
	}
	.side-imgbox{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 20%;
	}
	.btntext{
		font-size: 0.9rem;
	}
	.sp-ctasec{
		display: block;
		padding-top: 9%;
        padding-bottom: 7%;
	}
	.sponly{
		display: block;
	}
	.entry-list__item{
		width: 100%;
	}
	.recommend{
		margin-left: 3%;
		margin-right: 3%;
	}
	.contbox{
		padding-bottom: 5%;
	}
	.sidebox2{
		padding: 0% 8% 5% 8%;
	}
	.pconly{
		display: none;
	}
	.editor-img {
		/* width: 100%; */
		width: 70px;
		height: 70px;
		object-fit: cover;
		object-position: -7px center;
		border-radius: 20vw;
	}
	.editor-pro {
		width: 60%;
		display: flex;
		align-items: center;
	}
	.enn-size {
		border-radius: 20%;
		width: 33%;
		display: flex;
        justify-content: end;
	}
	.editor-cont{
		width: 82%;
		margin: auto;
	}
	.sp-editor{
		padding-top: 4%;
		padding-bottom: 10%;
	}
	.line-sec{
		margin-top: 9%;
	}
	.syukatsu2{
		padding: 2% 7% 2% 7%;
		color: white;
		background-color: #1f2c5c;
		font-weight: 500;
	}
	.syukatsu-cate{
		margin-top: 4%;
		margin-bottom: 4%;
	}
	.toggle-icon{
		font-size: 24px;
	}
	.g-nav{
		height: auto;
		position: fixed;
	}
	.hum-imgsec{
		width: 12%;
	}
	.gn__more1 {
		margin-left: 21%;
		justify-content: flex-start;
	}
	.hum-flex{
		margin: auto 0%;
	}
	.entry-summary{
		padding: 4%;
	}
	.sidetitle{
		font-size: 1.2rem;
	}

	.flex3{
		/* display: flex; */
		justify-content: center;
		column-gap: unset;
		flex-direction: column;
	}

	.sidebar-content {
		/* display: none; */
		width: 100%;
	}

}
@media (min-width: 769px) {
.entry-summary:hover{
	background-color: #e8fcff;
}
.entry-list__item:hover{
	background-color: #e8fcff;
}
}


.syukatsu2{
	padding: 2% 7% 2% 7%;
	color: white;
	background-color: #1f2c5c;
	font-weight: 500;
}
.entry-list{

}



.openbtn{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}


/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    top: 0;
}
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #666;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
body{
	overflow-x: hidden;
}
.cate-flex-pc2{
	width: 50%;
	display: flex;
}

.cate-box{
	display: flex;
	align-items: center;
	width: 20%;
	display: flex;
}
.cate-box2{
	display: flex;
	align-items: center;
	margin-left: 2%;
}
.cate-midashi-pc{
font-weight: 500;
font-size: 1rem;
line-height: 1.4;
}

.iconimg{
	width: 100%;
}




@media (min-width: 769px) {
.line-sec:hover{
	background-color: white;
	color: black;
}
.linebtn:hover{
	background-color: white;
	color: black;
	border-radius: 20%;
}
}

/* .linebtn{
	width: 100%;
} */



@media (max-width: 768px) {
	.loo{
		height: 100%;
		overflow: hidden;
	}
	.fn__more[target=_blank]:after{
		display: none;
	}
	.categorybox{
		width: 50%;
		text-align: center;
	}
	.blog-grid__side{
		display: flex;
		flex-wrap: wrap;
		/* margin: auto 5%; */
	}
	.blog-grid__side2{
		display: flex;
		flex-wrap: wrap;
		margin: auto 5%;
	  }
	.categorybox a {
		text-decoration: none;
		color: #000;
		font-weight: 600;
	}
	.categorytitle{
		text-align: center;
        font-weight: 600;
        font-size: 20px;
	}
	.lineflex{
		/* width: 100%; */
		width: 60vw;
	}
	.entryflex p{
		width: auto;
	}
	.accordion-content{
		max-height: 172px;
		overflow-y: auto;
	}
	.blog-grid__side{
		display: block;
	}
	.categorybox-pc {
		font-size: 16px;
		margin-left: 15%;
		margin-top: 2%;
		margin-bottom: 2%;
	}
	/* .sidebar-content {
		height: 100%;
		overflow-y: auto; 
		display: none;
	} */
	.spatop2{
        padding-top: 3%;
        padding-bottom: 3%;
        border-top: 2px solid #d3dddf;
        margin: auto 6%;
	}
	.cate-flex{
		display: flex;
		margin: auto 5%;
		text-decoration: none;
		padding-top: 2%;
		padding-bottom: 2%;
	}
	.cate-flex2{
		display: flex;
		align-items: center;
		width: 28%;
	}
	.cate-flex3{
		display: flex;
		align-items: center;
		width: 70%;
	}
	.cate-midashi-sp{
		color: #365aa0;
        font-weight: 600;
        font-size: 3vw;
		line-height: 1.4;
	}
	.btop-sp{
		border-bottom: 2px dotted #d3dddf;
		margin: auto 2%;
		width: 50%;
		/* padding-bottom: 3%; */
	}
	.spflex{
		display: flex;
		margin: auto 5%;
	}
	.iconsp{

	}
	.categosec{
		padding-bottom: 8%;
	}
	.entry-category__item{
		margin-top: 1%;
	}
}


@media (min-width: 769px) and (max-width: 1300px) {
	.sidebox1{
		padding: 0.5rem 1.5rem 0.5rem 1.5rem;
	}
	.index__jump {
		color: black;
		text-decoration: none;
		font-size: 0.85rem;
	}
	.sidebox2 {
		padding: 3% 8% 3% 8%;
		border-bottom: 3px solid #d3dddf;
		position: relative;
		background-color: white;
	}
	.sidebar ul li a {
		line-height: 1.6;
	}
	.btntext {
		font-size: 0.8rem;
	}
	.titletext{
		line-height: 1.4;
		font-size: 0.9rem;
	}
	.sidebox3 {
		padding: 3% 8% 0% 8%;
	}
	.sidebar{
    position: sticky;
    top: 3vh;
    /* margin: 4vw 0; */
    left: 0;
    background-color: white;
    z-index: 98;
    box-sizing: border-box;
	}
	.sideflex1{
		padding-top: 3%;
		padding-bottom: 3%;
	}
}

@media (min-width: 1301px) {
	.sidebar {
			position: sticky;
			top: 10vh;
			/* margin: 4vw 0;  */
			left: 0;
			background-color: white;
			z-index: 98;
			box-sizing: border-box; 
	}
}

/*--------------------------------------------------

 * content

--------------------------------------------------*/

main.g-main img {
	width: auto;
}

.g-header__inner {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 0;
	height: 130px;
}

.g-header__inner .header_logo {
	width: 575px;
	margin: 25px auto 0;
}

.g-header__inner .header_logo img {
	width: 100%;
}

.g-header__inner .header_logo p {
	font-size: 16px;
	margin-top: -10px;
	display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
}

.g-header__inner .header_logo p:before, .g-header__inner .header_logo p:after {
  border-top: 1px solid;
  content: "";
  width: 135px; /* 線の長さ */
}
.g-header__inner .header_logo p:before {
  margin-right: 1em; /* 文字の右隣 */
}
.g-header__inner .header_logo p:after {
  margin-left: 1em; /* 文字の左隣 */
}

.g-main .g-breadcrumb .midashiwidth {
	box-sizing: border-box;
	max-width: calc(1000px + 12%);
	min-width: 320px;
	margin-left: auto;
	margin-right: auto;
}

#supervisor .box .txt p {
	margin-top: 20px;
	line-height: 1.7;
}

.entry-category__item{
	border-radius: 30px;
	margin-bottom: 1rem;
	padding: 0 2%;
}

.entry-category__item a {
	color: #fff;
	text-decoration: none;
	transition: all .3s;
}

.entry-category__item a:hover {
	opacity: 0.6;
}

.entry-category {
	width: 100%;
}

.blog-grid__main .thumbnail_image {
	margin-bottom: 1.5rem;
}

.blog-grid__main .thumbnail_image img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.share_button {
	position: fixed;
	left: 0;
	z-index: 10;
	top: 20%;
}

.share_button ul.share .title {
	width: 100%;
	margin-bottom: 10px;
	font-size: 18px;
}

.share_button ul.share {
	background-color: #EF8019;
	display: flex;
	row-gap: 10px;
	flex-direction: column;
	padding: 20px 10px 20px 15px;
	border-radius: 0 25px 25px 0;
}

.share_title {
	color: #fff;
	font-size: 20px;
	text-align: center;
}

.share_button ul.share li {
	margin: 0;
	flex: none;
	min-width: auto;
	margin: 0;
}

.share_button ul.share li a {
	display: block;
	width: 100%;
}

.share_button ul.share li a img {
	display: block;
	width: 40px;
	margin: 5px auto;
	transition: all .3s;
}

.share_button ul.share li a img:hover {
	filter: drop-shadow(0 3px 5px #606060);
}

.understand_column .understand_column_box {
	background-color: #f0f0f0;
	margin-top: 40px;
	padding: 10px 25px 30px 60px;
	border-radius: 5px;
	box-shadow: 2px 2px 2px #cfcfcf;
}

.understand_column .understand_column_box h2 {
	display: block;
	position: relative;
	overflow-wrap: break-word;
	margin-bottom: 0;
	color: #EF8019;
}

.understand_column .understand_column_box ol {
	margin-top: 0;
	line-height: 1.7;
}

.understand_column .understand_column_box ol li {
	display: list-item;
	list-style-type: decimal;
}

.understand_column .understand_column_box ol li::marker {
	font-size: 16px;
	color: #000;
	font-weight: 400;
}

.understand_column .understand_column_box h2::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	left: -35px;
	top: 50%;
	transform: translateY(-50%);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	background-image: url("../img/column/mingcute_question-fill.svg");
}

.naitei_channel {
	margin-top: 40px;
	text-align: center;
}

.naitei_channel_area h2 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  line-height: 1;
  color: #1C2B59;
	margin: 20px 0;
}

.naitei_channel_area h2::before,
.naitei_channel_area h2::after {
  width: 1px;
  height: 28px;
  content: "";
  background-color: #1C2B59;
}

.naitei_channel_area h2::before {
  margin-right: 0.5em;
  transform: rotate(-30deg);
}

.naitei_channel_area h2::after {
  margin-left: 0.5em;
  transform: rotate(30deg);
}

.content_bunner {
	margin-top: 40px;
}

.content_bunner_area ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
}

.content_bunner_area ul li {
	list-style-type: none;
	width: 32.5%;
	height: auto;
	margin-bottom: 10px;
}

.content_bunner_area ul li img {
	width: 100%;
	object-fit: cover;
	-webkit-transition: all .3s;
  transition: all .3s;
}

.content_bunner_area ul li img:hover {
	transform: scale(1.1,1.1);
}

.agenda_list {
	margin-top: 40px;
}

.agenda_list_area .accordion-006 {
	width: 100%;
	margin-bottom: 7px;
	background-color: #FFF9DE;
	border-radius: 5px;
}

.agenda_list_area .accordion-006 summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 1em 2em 1rem 0;
	color: #646464;
	font-weight: 600;
	cursor: pointer;
}

.agenda_list_area .accordion-006 summary h2 {
	margin: 0;
	padding: 0;
	display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
}

.agenda_list_area .accordion-006 summary h2:before {
  border-top: 2px solid #EF8019;
  content: "";
  width: 100px; /* 線の長さ */
}
.agenda_list_area .accordion-006 summary h2:before {
  margin-right: 1em; /* 文字の右隣 */
}

.agenda_list_area .accordion-006 summary::-webkit-details-marker {
	display: none;
}

.agenda_list_area .accordion-006 summary::after {
	transform: translateY(-25%) rotate(45deg);
	width: 7px;
	height: 7px;
	margin-left: 10px;
	border-bottom: 3px solid #bbcbcf;
	border-right: 3px solid #bbcbcf;
	content: '';
	transition: transform .3s;
}

.agenda_list_area .accordion-006[open] summary::after {
	transform: rotate(225deg);
}

.agenda_list_area .accordion-006 ul {
	line-height: 2.5;
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: .3em 2em 1.5em 7.5rem;
	transition: transform .5s, opacity .5s;
}

.agenda_list_area .accordion-006[open] ul {
	transform: none;
	opacity: 1;
}

.agenda_list_area .accordion-006 ul li {
	display: block;
	list-style-type: none;
}

.agenda_list_area .accordion-006 ul li a {
	color: #646464;
	font-weight: 600;
	text-decoration: underline;
}

.content_area {
	margin-top: 40px;
}

.content_area .content_area_title h2 {
	color: #646464;
	margin: 0;
	padding: 0;
	display: flex;
	margin-bottom: 20px;
}

.content_area .content_area_title h2:before {
  border-top: 2px solid #EF8019;
  content: "";
  width: 100px; /* 線の長さ */
	margin-top: 2.5%;
}
.content_area .content_area_title h2:before {
  margin-right: 1em; /* 文字の右隣 */
}

.content_area .content_area_box img {
	width: 100%;
}

.content_area .content_area_box p,
.content_area .content_area_box div {
	line-height: 2.2;
}

.content_area .content_area_box h2 {
	color: #646464;
}

.content_area .content_area_box h3 {
	font-size: 24px;
	color: #646464;
	width: 100%;
	border-bottom: 2px solid #646464;
	margin-bottom: 30px;
}

.content_area .content_area_box h4 {
	font-size: 18px;
	color: #646464;
	margin: 30px 0 10px;
}

.content_area .content_area_box strong {
	padding: 0 5px;
}

.cta_area {
	margin-top: 40px;
}

.cta_area .cta_area_box a img {
	width: 100%;
	height: auto;
	-webkit-transition: all .3s;
  transition: all .3s;
}

.cta_area .cta_area_box a img:hover {
	transform: scale(1.1,1.1);
}

.faq_list {
	margin-top: 40px;
}

.faq_list .faq_list_area h2 {
	margin: 0;
	padding: 0;
	display: flex;
	color: #1C2B59;
}

.faq_list .faq_list_area h2:before {
  border-top: 2px solid #1C2B59;
  content: "";
  width: 100px; /* 線の長さ */
	margin-top: 2.5%;
}
.faq_list .faq_list_area h2:before {
  margin-right: 1em; /* 文字の右隣 */
}

.faq_list .faq_list_area .accordion-006 {
	width: 100%;
	margin-bottom: 7px;
	border-radius: 5px;
}

.faq_list .faq_list_area .accordion-006 summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 1em 2em ;
	color: #1C2B59;
	font-weight: 600;
	cursor: pointer;
	background-color: #fff;
	box-shadow: 2px 2px 2px #9c9c9c;
	border-left: 15px solid #EF8019;
	margin-top: 20px;
}

.faq_list .faq_list_area .accordion-006 summary h2 {
	margin: 0;
	padding: 0;
	display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
}

.faq_list .faq_list_area .accordion-006 summary h2:before {
  border-top: 2px solid #1C2B59;
  content: "";
  width: 100px; /* 線の長さ */
}
.faq_list .faq_list_area .accordion-006 summary h2:before {
  margin-right: 1em; /* 文字の右隣 */
}

.faq_list .faq_list_area .accordion-006 summary::-webkit-details-marker {
	display: none;
}

.faq_list .faq_list_area .accordion-006 summary::after {
	transform: translateY(-25%) rotate(45deg);
	width: 7px;
	height: 7px;
	margin-left: 10px;
	border-bottom: 3px solid #bbcbcf;
	border-right: 3px solid #bbcbcf;
	content: '';
	transition: transform .3s;
}

.faq_list .faq_list_area .accordion-006[open] summary::after {
	transform: rotate(225deg);
}

.faq_list .faq_list_area .accordion-006 p {
	line-height: 2;
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 1rem 2rem;
	transition: transform .5s, opacity .5s;
}

.faq_list .faq_list_area .accordion-006[open] p {
	transform: none;
	opacity: 1;
}

.page-nav {
	display: flex;
	justify-content: space-between;
	margin: 40px 0;
}

.page-nav .prev-link,
.page-nav .next-link {
	border: 1px solid #D9D9D9;
	width: 45%;
	padding: 20px 50px;
	background-color: #fff;
}

.page-nav a {
	color: #1C2B59;
	text-decoration: none;
	transition: .3s;
}

.page-nav a:hover {
	background-color: #FFF9DE;
}

.page-nav a h4 {
	font-size: 18px;
	margin: 0;
	line-height: 1.5;
}

.page-nav a p {
	color: #939393;
	margin: 0;
}

.dli-arrow-left {
  display: inline-block;
  vertical-align: middle;
  color: #939393;
  line-height: 1;
  position: relative;
  width: 1.5em;
  height: 0.1em;
  background: currentColor;
	top: 0;
	bottom: 0;
	left: 30px;
	margin: auto;
}

.dli-arrow-left::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-right: 0;
  border-bottom: 0;
  transform: rotate(-45deg);
  transform-origin: top left;
  position: absolute;
  top: 50%;
  left: -0.05em;
  box-sizing: border-box;
}

.dli-arrow-right {
  display: inline-block;
  vertical-align: middle;
  color: #939393;
  line-height: 1;
  position: relative;
  width: 1.5em;
  height: 0.1em;
  background: currentColor;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
}

.dli-arrow-right::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}

.embedbox{
	width: 70%;
	min-width: 340px;
	max-width: 1000px;
	margin: 0 auto;
}

.embed-container {
	position: relative;
	padding-bottom: 56.25%;
	overflow: hidden;
	max-width: 100%;
	height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 768px) {
	.share_button {
		width: 100%;
		left: 0;
		right: 0;
		bottom: 0;
		top: auto;
	}

	.share_button ul.share .title {
		font-size: 13px;
	}

	.share_button ul.share {
		column-gap: 15px;
		flex-direction: row;
		padding: 5px 0 10px;
		border-radius: 0;
		align-items: center;
		justify-content: center;
	}

	.naitei_channel_area iframe {
		width: 100%;
	}

	.share_button ul.share li a img {
		width: 30px;
		margin: 5px auto;
	}

	.g-contents {
		margin-top: 0;
	}

	.g-header__inner {
		height: 80px;
		box-shadow: 0 3px 5px #adadad;
	}

	.g-header__inner .header_logo {
		margin: 10px auto;
	}

	.g-header__inner .header_logo p:before, .g-header__inner .header_logo p:after {
		width: 30px; /* 線の長さ */
	}

	.g-header__inner .header_logo img {
		width: 90%;
	}

	.g-header__inner .header_logo {
		text-align: center;
	}

	.blog-grid__main {
		width: 100%;
		padding: 5%;
		margin-top: 0;
		box-sizing: border-box;
	}

	.understand_column .understand_column_box {
		padding: 10px 15px 30px 45px;
	}

	.content_bunner_area ul li {
		width: 49%;
	}

	.agenda_list_area .accordion-006 summary h2:before {
		width: auto;
		border: none;
	}

	.agenda_list_area .accordion-006 ul {
		line-height: 1.5;
		padding: .3em 2em 1.5em;
	}

	.agenda_list_area .accordion-006 ul li {
		margin-bottom: 20px;
	}

	.content_area .content_area_box h3 {
		font-size: 18px;
	}

	.content_area .content_area_title h2:before {
		border-top: none;
		width: auto;
		margin: 0;
	}

	.cta_area .cta_area_box {
		padding: 10px;
	}
	
	.cta_area .cta_area_box h2 {
		font-size: 16px;
	}
	
	.cta_area .cta_area_box .cta_area_box_img {
		justify-content: center;
		flex-direction: column;
	}
	
	.cta_area .cta_area_box .cta_area_box_img a {
		width: 100%;
		margin-bottom: 20px;
	}

	.page-nav {
		justify-content: center;
		flex-direction: column;
	}

	.page-nav .prev-link,
	.page-nav .next-link {
		width: 100%;
		box-sizing: border-box;
	}

	.dli-arrow-left {
		top: 60px;
		left: 15px;
		margin: 0;
	}

	.dli-arrow-right {
		top: -60px;
		right: -42%;
	}

	.faq_list .faq_list_area h2:before {
		border-top: none;
		width: auto;
	}

	.page-nav a h4 {
		font-size: 16px;
	}
}

/*--------------------------------------------------

 * side_content

--------------------------------------------------*/

.side_area,
.side_area_second {
	margin-top: 30px;
}

.side_area_second .side_area {
	margin-top: 10px;
}

.side_area .side_area_menu_01 ul li {
	display: block;
}

.side_area .side_area_menu_01 ul li a {
	width: 100%;
	padding: 10px 5px;
	font-weight: 600;
	color: #1C2B59;
  position: relative;
  display: inline-block;
  vertical-align: middle;
	border-top: 1px solid #646464;
	transition: letter-spacing 0.3s;
}

.side_area .side_area_menu_01 ul li a:hover {
	color: #5d7ad4;
	letter-spacing: 0.05em;
}

.side_area .side_area_menu_01 ul li:last-child > a {
	border-bottom: 1px solid #646464;
}

.side_area .side_area_menu_01 ul li a::after{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 0.6em;   /* arrow size */
  height: 0.6em;  /* arrow size */
  border-top: 1px solid #1C2B59;  /* thickness, color */
  border-right: 1px solid #1C2B59;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.side_area_menu_icon {
	display: inline-block;
	width: 50px;
	text-align: center;
}

.side_area_menu_icon img {
	height: 30px;
	object-fit: cover;
}

.side_area_second {
	background-color: #FFF9DE;
	padding: 15px;
}

.side_area_menu_02 h2,
.side_area_menu_03 h2 {
	margin: 0 0 0 5px;
	color: #1C2B59;
}

.side_area_menu_tilte {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #1C2B59;
}

.side_area_menu_03 .side_area_menu_tilte {
	margin-top: 25px;
}

.side_area_menu_04 h2 {
	color: #1C2B59;
	border-bottom: 1px solid #1C2B59;
	padding-bottom: 10px;
}

.side_area_menu_04 {
	list-style-type: none;
	margin-top: 25px;
}

.side_area_menu_04 ul {
	display: flex;
	flex-wrap: wrap;
}

.side_area_menu_04 ul li {
	margin: 5px 3px;
}

section.side_area .side_area_menu_04 ul li a {
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	padding: 2px 15px;
	border: 1px solid #D9D9D9;
	border-radius: 30px;
	color: #646464;
	background-color: #fff;
	transition: all .5s;
}

section.side_area .side_area_menu_04 ul li a:hover {
	color: #fff;
	background-color: #EF8019;
}

.side_area_menu_04 ul li a::before {
	content: "# ";
}

main.g-main .related-post__img img {
	width: 100%;
	height: auto;
}

.related-post__img {
	margin: 0;
	padding: 0;
}

.sidebar ul.latest_info {
	display: flex;
	flex-wrap: wrap;
	margin: 10px 0 5px;
}

.sidebar ul.latest_info li {
	color: #646464;
	padding: 1px 10px;
	border: 1px solid #D9D9D9;
	border-radius: 30px;
	margin: 2px 4px;
	background-color: #fff;
}

.related-post {
	background-color: #fff;
	padding: 10px;
	margin-bottom: 15px;
	box-shadow: 2px 2px 4px #D9D9D9;
	border-radius: 7px;
}

.related-post a {
	position: relative;
	text-decoration: none;
}

.related-post a h3 {
	font-size: 20px;
	color: #646464;
	line-height: 1.5;
	margin: 0;
}

.related-post .update_date {
	font-size: 14px;
	color: #939393;
	margin: 0;
}

.related-post a .triangle {
  display: block;
  height: 0;
  width: 0;
  position: absolute;
  bottom: 0;
  right: 0;
  border-left: 15px solid transparent;
  border-bottom: 15px solid #EF8019;
}

@media screen and (max-width: 768px) {
	.sidebar {
		z-index: 9;
	}

	.side_area_menu_01 {
		display: none;
	}

	.g-contents {
		padding-bottom: 0;
	}
}