@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap);

@import url(https://fonts.googleapis.com/css?family=Quicksand:700&display=swap);

/**
 * CSS リセット
*/
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	margin: 0;
	padding: 0;
	border: 0;
}

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

/**
 * フォント設定
*/
html {
	font-family: "Noto Sans JP", Roboto, sans-serif;
	font-size: 50%;
	font-weight: 500;
	letter-spacing: calc(1px - 0.0625em);
	font-kerning: auto;
	font-feature-settings: "pkna" 1;
}

@media (min-width: 768px) {
	html {
		font-size: 62.5%;
	}
}

body {
	color: #282828;
	font-size: 1.6rem;
	line-height: 1.6;
}

* {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

/**
 * レイアウト
 */
article,
aside,
footer,
header,
nav,
section,
main {
	display: block;
}

* {
	box-sizing: border-box;
}

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

a {
	color: #44576d;
}

/**
 * 要素設定
 */
table {
	border-spacing: 0;
	border-collapse: collapse;
}

ol,
ul {
	list-style: none;
}

img,
video {
	max-width: 100%;
}

img {
	height: auto;
	border-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote::after,
blockquote::before,
q::after,
q::before {
	content: "";
	content: none;
}

/**
 * 属性 & ステート
 */
[hidden] {
	display: none !important;
}

[disabled] {
	cursor: not-allowed;
}

:focus:not(:focus-visible) {
	outline: none;
}

/**
 * オプション
 */
html {
	height: 100%;
}

body {
	height: 100%;
	padding-bottom: 0;
}

/**
 * アイコンフォント
 */
@font-face {
	font-family: icomoon;
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/icomoon.eot?x1xp8l);
	src:
		url(../fonts/icomoon.eot?x1xp8l#iefix) format("embedded-opentype"),
		url(../fonts/icomoon.ttf?x1xp8l) format("truetype"),
		url(../fonts/icomoon.woff?x1xp8l) format("woff"),
		url(../fonts/icomoon.svg?x1xp8l#icomoon) format("svg");
	font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: icomoon !important;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	text-transform: none;
	speak: none;
}

.icon-access::before {
	content: "\e904";
	margin-right: 0.5em;
}

.icon-blank::before {
	content: "\e901";
	margin-right: 0.3em;
}

.icon-blank::before {
}

.icon-arrow::after {
	content: "\e900";
}

.icon-arrow-before::before {
	content: "\e900";
	transform: rotate(180deg);
}

.icon-mail::before {
	content: "\e902";
}

.icon-wonder::before {
	content: "\e903";
}

/**
 * スクロール制御
 */
.c-noscroll {
	overflow: hidden;
}

/**
 * パディング
 */
.c-padside1 {
	padding-right: 1em;
	padding-left: 1em;
}

@media (min-width: 1000px) {
	.c-padside1 {
		padding-right: 0;
		padding-left: 0;
	}
}

/**
 * テキスト
 */
.c-txt--aleft {
	text-align: left;
}

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

.c-txt--eng {
	font-family: Quicksand, sans-serif;
	font-weight: 700;
}

.c-txt--red {
	color: #df171f;
}

.c-txt--white {
	color: #fff;
}

.c-txt--green {
	color: #00863a;
}

.c-txt--darkblue {
	color: #44576d;
}

.c-txt--small {
	font-size: 1.4rem;
}

.c-txt--medium {
	font-size: 1.8rem;
}

.c-txt--large {
	font-size: 2.4rem;
}

.c-txtBlock--xl {
	margin-bottom: 0.5em;
	font-size: 2.4rem;
	line-height: 1.4;
}

.c-txtBlock--l {
	margin-bottom: 0.5em;
	font-size: 2rem;
	line-height: 1.5;
}

.c-txtBlock--m {
	margin-bottom: 0.5em;
	font-size: 1.6rem;
	line-height: 1.6;
}

.c-txtBlock--s {
	margin-bottom: 0.5em;
	font-size: 1.4rem;
	line-height: 1.6;
}

.c-txtCaption--catch {
	margin-bottom: 1em;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.4;
}

.c-txtCaption--catch br {
	display: none;
}

.c-txtCaption--main {
	position: relative;
	margin-bottom: 1em;
	padding-bottom: 0.5em;
	color: #44576d;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
}

.c-txtCaption--main::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 60px;
	height: 2px;
	margin-left: -30px;
	background: #df171f;
}

.c-txtCaption--l,
.c-topics__contents h2 {
	margin-bottom: 1em;
	padding: 0.5em 0.8em;
	border-left: 5px solid #00863a;
	background: #f4f4f4;
	color: #282828;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

.c-txtCaption--m,
.c-topics__contents h3 {
	margin-bottom: 1em;
	padding: 0.5em 0;
	border-bottom: 2px solid #00863a;
	color: #282828;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

.c-txtCaption--s,
.c-topics__contents h4 {
	margin-bottom: 1em;
	padding: 0;
	color: #00863a;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

.c-txtCaption--s-black {
	color: #282828;
}

.c-txtCaption--xs,
.c-topics__contents h5 {
	margin-bottom: 1em;
	padding: 0;
	color: #44576d;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

@media (min-width: 768px) {
	.c-txtBlock--l {
		font-size: 2rem;
		line-height: 1.4;
	}

	.c-txtCaption--catch br {
		display: block;
	}

	a[href^="tel:"] {
		text-decoration: none;
		pointer-events: none;
	}
}

/**
 * リンク
 */
a.c-imglink img,
a.c-imglink svg {
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

a.c-imglink:hover img,
a.c-imglink:hover svg {
	opacity: 0.8;
}

a.c-imgexp {
	display: block;
	overflow: hidden;
}

a.c-imgexp img {
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

a.c-imgexp:hover img {
	transform: scale(1.1);
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	opacity: 0.8;
}

a.c-txtlink,
a.c-txtlink:link {
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	color: #44576d;
	text-decoration: none;
}

a.c-txtlink--border,
a.c-txtlink--border:link {
	display: inline-block;
	padding: 0.5rem 1rem;
	border: 1px solid #44576d;
}

a.c-txtlink--border-pat2,
a.c-txtlink--border-pat2:link {
	padding: 1rem 2rem;
}

a.c-txtlink--border-pat2.icon-arrow::after,
a.c-txtlink--border-pat2.icon-arrow:link::after {
	margin-left: 0.5em;
	font-size: 90%;
}

a.c-txtlink:hover {
	opacity: 0.8;
	text-decoration: underline;
}

a.c-txtlink--border:hover {
	text-decoration: none;
}

a.c-txtlink--wh:link {
	color: #fff;
}

a.c-link--animation,
a.c-link--animation:visited {
	display: block;
	position: relative;
	transition: all 0.3s ease 0s;
	color: inherit;
	text-decoration: none;
}

a.c-link--animation::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 0;
	height: 3px;
	transition: all 0.3s ease 0s;
	background: #00863a;
}

a.c-link--animation:hover {
	opacity: 0.8;
	cursor: pointer;
}

a.c-link--animation:hover::after {
	width: 100%;
}

/**
 * インデックスフォント
 */
h1,
h2,
h3,
h4,
h5,
h6,
strong {
	color: #282828;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体",
		YuGothic, "Yu Gothic", sans-serif;
	font-weight: 700;
	line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.4;
}

/**
 * レイアウト
 */
.l-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.l-container {
	position: relative;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.l-container--column {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.l-container--padding {
	padding: 0 2em;
}

.l-container--contents {
	padding: 0 0 5em;
}

.l-contmain {
	flex: 1;
	width: 100%;
	margin-bottom: 3em;
}

.l-contside {
	width: 100%;
}

.l-contbox {
	position: relative;
	width: 100%;
	margin: 0 0 1.5em;
	padding: 0 1em;
}

.l-heading {
	position: relative;
	width: 100%;
	padding-top: 120px;
	padding-top: 35vw;
	overflow: hidden;
	text-align: center;
}

.l-heading--large {
	padding-top: 35vw;
}

.l-heading .l-heading__img,
.l-heading--large .l-heading__img {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-family: "object-fit: cover;";
	object-fit: cover;
}

@media (min-width: 1001px) {
	.l-contbox {
		padding: 0;
	}
}

@media (min-width: 768px) {
	.l-contbox {
		margin: 0 0 3em;
	}

	.l-heading {
		padding-top: 250px;
		padding-top: 350px;
	}

	.l-heading--large {
		padding-top: 350px;
	}

	.l-contside {
		width: 200px;
		margin-left: 2em;
	}

	.l-contmain {
		flex: 1;
		width: auto;
		margin-bottom: 0;
	}
}

/** ------------
 *コンポーネント
 *-------------/

/**
 * 調整
 */
.c-padtop2 {
	padding-top: 1em;
}

.c-padtop3 {
	padding-top: 1.5em;
}

.c-padbottom5 {
	padding-bottom: 2.5em;
}

.c-padbottom3 {
	padding-bottom: 1.5em;
}

.c-padbottom2 {
	padding-bottom: 1em;
}

.c-marbottom5 {
	margin-bottom: 2.5em;
}

.c-marbottom3 {
	margin-bottom: 1.5em;
}

.c-marbottom2 {
	margin-bottom: 1em;
}

.c-marbottom1 {
	margin-bottom: 0.5em;
}

@media (min-width: 768px) {
	.c-padtop2 {
		padding-top: 2em;
	}

	.c-padtop3 {
		padding-top: 3em;
	}

	.c-padbottom5 {
		padding-bottom: 5em;
	}

	.c-padbottom3 {
		padding-bottom: 3em;
	}

	.c-padbottom2 {
		padding-bottom: 2em;
	}

	.c-marbottom5 {
		margin-bottom: 5em;
	}

	.c-marbottom3 {
		margin-bottom: 3em;
	}

	.c-marbottom2 {
		margin-bottom: 2em;
	}

	.c-marbottom1 {
		margin-bottom: 1em;
	}
}

/**
 * ボタン
 */
.c-btn {
	display: inline-flex;
	position: relative;
	justify-content: center;
	min-width: 260px;
	max-width: 90%;
	padding: 1em;
	overflow: hidden;
	border: 1px solid #00863a;
	background: #00863a;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

.c-btn--l {
	font-size: 2.2rem;
	font-weight: 700;
}

.c-btn--s {
	min-width: max-content;
	font-size: 1.6rem;
	font-weight: 700;
}

.c-btn.icon-mail::before {
	align-self: center;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 400;
}

.c-btn.icon-mail span {
	display: none;
}

.c-btn.icon-arrow::after {
	align-self: center;
	margin-top: 1.5px;
	margin-left: 1em;
	color: #fff;
	font-size: 80%;
}

@media (min-width: 1150px) {
	.c-btn {
		z-index: 0;
		padding: 1em;
		overflow: hidden;
		-o-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}

	.c-btn:hover {
		opacity: 0.8;
		color: #fff;
	}

	.c-btn.icon-mail::before {
		margin-right: 1rem;
		font-size: 2rem;
	}

	.c-btn.icon-mail span {
		display: inline;
		align-self: center;
	}

	.c-btn--l {
		min-width: 500px;
	}
}

/**
 * ヘッダー
 */
.c-header {
	position: relative;
	z-index: 5;
	width: 100%;
	height: 50px;
	background: #fff;
}

.is-fixed {
	position: fixed;
	z-index: 5;
	top: 0;
	left: 0;
}

.c-header__logo {
	display: flex;
	flex: 1;
	align-self: center;
	justify-content: center;
	width: auto;
	max-width: 90px;
	height: 100%;
	margin: 0 1em;
}

.c-header__logo a {
	display: block;
	align-self: center;
}

.c-header__logo .c-logo {
	display: block;
	width: 100%;
	height: auto;
}

@media (min-width: 1150px) {
	.c-header {
		height: auto;
		padding: 0;
	}

	.c-header {
		display: flex;
		justify-content: space-between;
	}

	.c-header__logo {
		width: 30%;
		max-width: 154px;
		margin: 1em 1em 1em 2em;
	}

	.c-header__logo .c-logo {
		width: 100%;
		min-width: 100px;
		height: auto;
	}
}

/**
 * グローバルナビゲーション
 */
.c-header .c-btn {
	width: 100%;
	min-width: 100%;
	font-size: 1.6rem;
	font-weight: 700;
}

.c-header .c-btn__inheader {
	display: flex;
	position: absolute;
	top: 0;
	right: 70px;
	justify-content: center;
	width: 60px;
	min-width: 60px;
	max-width: 100px;
	height: 50px;
	line-height: 1.1;
}

.js-menubtn {
	position: absolute;
	z-index: 999;
	top: 0.5em;
	right: 1em;
	align-self: center;
	width: 40px;
	height: 40px;
	cursor: pointer;
}

.js-menubtn:hover {
	text-decoration: none;
}

.js-menubtn__line {
	display: block;
	position: absolute;
	top: 9px;
	left: 7px;
	width: 25px;
	height: 2px;
	transition: transform 0.3s;
	border-radius: 10px;
	background: #00863a;
}

.js-menubtn__line--center {
	top: 18px;
}

.js-menubtn__line--bottom {
	top: 27px;
}

.js-menubtn__line--top.s-active {
	top: 18px;
	transform: rotate(45deg);
}

.js-menubtn__line--center.s-active {
	transform: scaleX(0);
}

.js-menubtn__line--bottom.s-active {
	top: 18px;
	transform: rotate(135deg);
}

@media (min-width: 1150px) {
	.c-header .c-btn {
		width: auto;
		min-width: 0;
		font-size: 1.8rem;
	}

	.c-header .c-btn__inheader {
		position: static;
		width: inherit;
		max-width: 260px;
		height: auto;
	}

	.js-menubtn {
		display: none;
	}
}

.c-nav {
	width: 100%;
}

.c-nav__list {
	display: none;
	width: 100%;
	border-top: 1px solid #fff;
}

.c-nav__item {
	display: flex;
	position: relative;
	align-self: stretch;
	justify-content: center;
	width: 100%;
}

.c-nav__item .c-nav__sublist,
.c-nav__item .sub-menu {
	display: none;
}

.c-nav__item > a {
	display: block;
	align-self: center;
	width: 100%;
	padding: 1em;
	border-bottom: 1px solid #fff;
	background: rgba(0, 134, 58, 1);
	color: #fff;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

@media (min-width: 1150px) {
	.c-nav {
		flex: 1;
		align-self: stretch;
		width: auto;
	}

	.c-nav__list {
		display: flex;
		align-self: stretch;
		justify-content: flex-end;
		height: 100%;
		border-top: none;
	}

	.c-nav__item {
		position: relative;
		width: 15vw;
		max-width: 160px;
		transition: all 0.3s ease 0s;
		text-decoration: none;
	}

	.c-nav__item > a {
		display: block;
		position: relative;
		transition: all 0.3s ease 0s;
		color: inherit;
		color: #00863a;
		font-weight: 700;
		text-decoration: none;
	}

	.c-nav__item > a::after {
		content: "";
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 0;
		height: 3px;
		transition: all 0.3s ease 0s;
		background: #00863a;
	}

	.c-nav__item > a:hover {
		opacity: 0.8;
		cursor: pointer;
	}

	.c-nav__item > a:hover::after {
		width: 100%;
	}

	.c-nav__item .c-nav__sublist,
	.c-nav__item .sub-menu {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.c-nav__item .c-nav__sublist li,
	.c-nav__item .sub-menu li {
		width: 100%;
		height: 0;
		overflow: hidden;
		-moz-transition: 0.2s;
		-webkit-transition: 0.2s;
		-o-transition: 0.2s;
		-ms-transition: 0.2s;
		transition: 0.2s;
	}

	.c-nav__item .c-nav__sublist a,
	.c-nav__item .sub-menu a {
		display: block;
		width: 100%;
		padding: 1em;
		-moz-transition: 0.3s;
		-webkit-transition: 0.3s;
		-o-transition: 0.3s;
		-ms-transition: 0.3s;
		transition: 0.3s;
		background: rgba(0, 134, 58, 1);
		color: #fff;
		font-size: 1.4rem;
		font-weight: 400;
		text-align: left;
		text-decoration: none;
	}

	.c-nav__item .c-nav__sublist a:hover,
	.c-nav__item .sub-menu a:hover {
		opacity: 0.8;
	}

	.c-nav__item:hover .c-nav__sublist li,
	.c-nav__item:hover .sub-menu li {
		height: auto;
		overflow: visible;
	}

	.c-nav__item > a {
		display: flex;
		position: relative;
		align-self: stretch;
		justify-content: center;
		padding: 1.4em;
		-webkit-transition: all 0.3s ease-in-out;
		-o-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
		border: none;
		background: none;
		color: #00863a;
	}

	.c-nav__item > a::after {
		content: "";
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 0;
		height: 3px;
		transition: all 0.3s ease 0s;
		background: #00863a;
	}

	.c-nav__item:hover > a {
		cursor: pointer;
	}

	.c-nav__item:hover > a::after {
		width: 100%;
	}
}

/**
 * キャプション
 */
.c-caption__main {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	width: 94%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.3;
}

.c-caption__main--wh {
	color: #fff;
}

.c-caption__main .c-caption__main--eng {
	display: block;
	position: relative;
	color: #df171f;
	font-family: Quicksand, sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
}

.c-caption--eng {
	display: block;
	color: #df171f;
	font-family: Quicksand, sans-serif;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 3.2;
}

.c-caption__sub {
	position: relative;
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
	color: #df171f;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 3.2;
}

.c-caption__sub::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 360px;
	height: 1px;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background: #fff;
}

.c-caption__sub--eng {
	display: block;
	color: #df171f;
	font-family: Quicksand, sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 2.4;
}

@media (min-width: 768px) {
	.c-caption__main {
	}
}

/**
 * トピックス
 */
.c-topics {
	width: 100%;
}

.c-topics__list {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: 3em 0;
	border-top: 1px solid #44576d;
	border-bottom: 1px solid #44576d;
}

.c-topics__list li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0.5em 0;
	text-align: left;
}

.c-topics__list li .c-topics__day {
	color: #00863a;
	font-weight: 700;
}

.c-topics__list li > .c-topics__day {
	align-self: flex-start;
	width: 100%;
	padding-right: 1em;
}

.c-topics__list li > a {
	flex: 1;
	width: auto;
}

@media (min-width: 768px) {
	.c-topics__list li .c-topics__day {
		width: 22%;
		padding-right: 1em;
	}
}

/**
 * パンくずリスト
 */
.c-breadcrumb {
	width: 100%;
	margin-bottom: 2em;
	padding: 0 1em;
	font-size: 1.2rem;
}

.c-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	padding: 1em 0;
}

.c-breadcrumb li {
	align-self: center;
	line-height: 1;
	white-space: nowrap;
}

.c-breadcrumb a {
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	color: #44576d;
	text-decoration: none;
}

.c-breadcrumb a:hover {
	opacity: 0.8;
	text-decoration: underline;
}

.c-breadcrumb .c-breadcrumb--current {
	font-weight: 700;
}

.c-breadcrumb li.icon-arrow::after {
	margin-right: 0.8em;
	margin-left: 0.8em;
	color: #44576d;
	font-size: 0.6rem;
	vertical-align: middle;
}

/**
 * コンテンツナビゲーション
 */
.c-contnav {
	width: 100%;
	padding: 0;
	border-top: 1px solid #44576d;
	border-bottom: 1px solid #44576d;
	background: #fff;
	text-align: center;
}

.c-contnav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
	padding: 0;

	border-left: 1px solid #44576d;
}

.c-contnav li {
	display: flex;
	align-self: stretch;
	justify-content: center;
	width: 20%;
	border-right: 1px solid #44576d;
}

.c-contnav li a {
	display: flex;
	align-items: center;
	align-self: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 1em;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	color: #44576d;
	text-decoration: none;
}

.c-contnav a span {
	align-self: center;
}

.c-contnav li a:hover,
.c-contnav li.c-contnav--current a,
.c-contnav li.current_page_item a,
.c-contnav li.current_page_parent a {
	position: relative;
	background: #44576d;
	color: #fff;
}

@media (max-width: 767px) {
	.c-contnav.c-col6 li {
		width: calc(100% / 3);
		border-bottom: 1px solid #44576d;
	}

	.c-contnav.c-col6 li:nth-child(4),
	.c-contnav.c-col6 li:nth-child(5),
	.c-contnav.c-col6 li:nth-child(6) {
		border-bottom: none;
	}

	.c-contnav.c-col5 li {
		width: calc(100% / 3);
		border-bottom: 1px solid #44576d;
	}

	.c-contnav.c-col5 li:nth-child(4) {
		width: calc(100% / 2);
		border-bottom: none;
	}

	.c-contnav.c-col5 li:last-child {
		width: calc(100% / 2);
		border-bottom: none;
	}

	.c-contnav.c-col4 li {
		width: calc(100% / 2);
		border-bottom: 1px solid #44576d;
	}

	.c-contnav.c-col4 li:nth-child(3),
	.c-contnav.c-col4 li:nth-child(4) {
		border-bottom: none;
	}

	.c-contnav.c-col3 li {
		width: calc(100% / 3);
	}

	.c-contnav.c-col2 li {
		width: calc(100% / 2);
	}
}

/**
 * カラム
 */
.c-col1 li,
.c-col1 > div {
	width: 100%;
}

.c-col2 li,
.c-col2 > div {
	width: 100%;
}

.c-col3 li,
.c-col3 > div {
	width: 100%;
}

.c-col4 li,
.c-col4 > div {
	width: 100%;
}

.c-col5 li,
.c-col5 > div {
	width: 100%;
}

.c-col6 li,
.c-col6 > div {
	width: 100%;
}

@media (min-width: 768px) {
	.c-col2 li,
	.c-col2 > div {
		width: 50%;
	}

	.c-col3 li,
	.c-col3 > div {
		width: calc(100% / 3);
	}

	.c-col4 li,
	.c-col4 > div {
		width: calc(100% / 4);
	}

	.c-col5 li,
	.c-col5 > div {
		width: calc(100% / 5);
	}

	.c-col6 li,
	.c-col6 > div {
		width: calc(100% / 6);
	}
}

@media (min-width: 480px) and (max-width: 767px) {
	.c-col2 li,
	.c-col2 > div {
		width: 50%;
	}

	.c-col3 li,
	.c-col3 > div {
		width: 50%;
	}

	.c-col4 li,
	.c-col4 > div {
		width: 50%;
	}

	.c-col5 li,
	.c-col5 > div {
		width: 50%;
	}

	.c-col6 li,
	.c-col6 > div {
		width: 50%;
	}
}

/**
 * リスト
 */
.c-list,
.c-topics__contents ul,
.c-topics__contents ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
	margin-bottom: 1em;
	padding: 0;
	text-align: left;
}

.c-topics__contents ul,
.c-topics__contents ol {
	display: block;
}

.c-list li,
.c-topics__contents ul li,
.c-topics__contents ol li {
	position: relative;
	align-self: flex-start;
	margin-bottom: 0.5em;
	padding-right: 1em;
	padding-left: 1em;
}

.c-list li::before,
.c-topics__contents ul li::before,
.c-topics__contents ol li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
	color: #00863a;
	font-weight: 700;
}

.c-list.c-list--black li::before {
	color: #000;
}

.c-list--square li::before {
	content: "■";
	position: absolute;
	top: 0;
	left: 0;
	color: #00863a;
	font-weight: 700;
}

.c-list--number,
.c-topics__contents ol {
	padding-left: 0;
	list-style-type: none;
	counter-reset: item;
}

.c-list--number .c-list--number {
	padding-left: 1em;
}

.c-list--number li,
.c-topics__contents ol li {
	width: 100%;
	padding-left: 1.5em;
}

.c-list--number li::before,
.c-topics__contents ol li::before {
	content: counter(item) ".";
	padding-right: 0.5em;
	color: #00863a;
	font-weight: 700;
	counter-increment: item;
}

.c-list--number-black li::before {
	color: #282828;
}

/**
 * Flexbox
 */
.c-flex--col1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
}

/**
 * カード
 */
.l-contbox.c-card {
	display: flex;
	flex-wrap: wrap !important;
	align-items: stretch;
	justify-content: flex-start;
	gap: 32px;
}

@media (min-width: 782px) {
	.l-contbox.c-card > .wp-block-column {
		flex: 0 0 calc((100% - 2 * 32px) / 3) !important;
		min-width: 0;
	}
}

.c-card__borderimg {
	padding: 1.5em;
	border: 1px solid #44576d;
}

.wp-block-column .c-txtCaption--m,
.c-card__borderimg .c-txtCaption--m {
	padding-top: 0;
}

.wp-block-media-text {
	grid-template-columns: 1fr !important;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media img {
	width: 100%;
	max-width: 450px;
}

.c-card__borderimg .wp-block-media-text__media {
	width: 40%;
	max-width: 330px;
}

@media (max-width: 767px) {
	.wp-block-media-text {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media,
	.c-card__borderimg .wp-block-media-text__media {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 1em;
	}

	.wp-block-media-text.has-media-on-the-right
		.wp-block-media-text__media
		img {
		width: auto;
		max-width: 100%;
	}

	.wp-block-column {
		margin-bottom: 1em;
	}
}

.wp-block-media-text .wp-block-media-text__content {
	flex: 1;
	width: auto;
	padding: 0 1em;
}

.c-card__borderbtn--green {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: space-between;
	border: 1px solid #00863a;
}

.c-card .c-card__borderbtn--green.wp-block-column:nth-child(2n) {
	margin-left: 0;
}

.c-card .c-card__borderbtn--green.wp-block-column:not(:first-child) {
	margin-left: 0;
}

.c-card__borderbtn--green .c-card__continner {
	padding: 1.5em;
}

.c-card__borderbtn--green .c-btn {
	width: 100%;
	max-width: none;
	font-weight: 700;
}

/**
 * テーブル
 */
table.c-table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #44576d;
	border-left: 1px solid #44576d;
}

.c-table > table,
.c-topics__contents .wp-block-table > table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #44576d;
	border-left: 1px solid #44576d;
}

.c-topics__contents .is-style-stripes > table {
	width: 100%;
	border-collapse: collapse;
	border-top: none;
	border-left: none;
}

.c-table th,
.c-table td,
.c-topics__contents .wp-block-table th,
.c-topics__contents .wp-block-table td {
	padding: 1em;
	border-right: 1px solid #44576d;
	border-bottom: 1px solid #44576d;
	text-align: left;
}

.c-topics__contents .is-style-stripes th,
.c-topics__contents .is-style-stripes td {
	border: none;
}

.c-table th,
.c-topics__contents .wp-block-table th {
	width: 20%;
	background: #f3f3f3;
	color: #44576d;
	vertical-align: top;
	white-space: nowrap;
}

.c-topics__contents .wp-block-table th {
	width: auto;
	text-align: center;
	white-space: normal;
}

.c-topics__contents .is-style-stripes th {
	border-bottom: 2px solid #44576d;
	background: none;
}

.c-table--th50 th {
	width: 50%;
	white-space: normal;
}

.c-table--th40 th {
	width: 40%;
	white-space: normal;
}

.c-table--th30 th {
	width: 30%;
	white-space: normal;
}

/**
 * 定義リスト
 */
.c-dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 94%;
	margin-right: auto;
	margin-bottom: 1em;
	margin-left: auto;
}

.c-dl dt {
	align-self: flex-start;
	width: 100%;
	padding: 0.5em 1em;
	border-bottom: 1px solid #00863a;
	color: #00863a;
	font-weight: 700;
	text-align: left;
}

.c-dl dd {
	align-self: flex-start;
	width: 100%;
	padding: 0.5em 1em;
	text-align: left;
}

@media (min-width: 768px) {
	.c-dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		max-width: 840px;
		margin-bottom: 1em;
	}

	.c-dl dt {
		width: 20%;
		border-bottom: none;
	}

	.c-dl dd {
		width: 80%;
		border-left: 1px solid #00863a;
	}
}

/**
 * FAQ
 */
.c-faq__item {
	width: 100%;
	max-width: none;
	margin-bottom: 1em;
	color: #282828;
	cursor: pointer;
}

.c-dl dt.c-faq__link {
	display: flex;
	position: relative;
	flex-wrap: nowrap;
	justify-content: flex-start;
	width: 100%;
	padding: 0;
	-webkit-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	border-bottom: none;
	background: #f4f4f4;
	font-size: 2rem;
}

.c-dl dt.c-faq__link:hover {
	opacity: 0.8;
}

.c-dl dt.c-faq__link span {
	flex: 1;
	align-self: center;
	width: auto;
	padding: 0.5em 1em;
	color: #282828;
	line-height: 1.4;
}

.c-faq__link.icon-arrow::before {
	content: "?";
	align-self: stretch;
	padding: 0.5em;
	background: #00863a;
	color: #fff;
	font-family: Quicksand, sans-serif;
	font-size: 3rem;
	font-weight: 700;
}

.c-faq__link.icon-arrow::after {
	align-self: center;
	padding: 0 1.5em;
	transform: rotate(90deg);
	color: #00863a;
	font-size: 1.6rem;
}

.c-faq__link.icon-arrow.on::after {
	transform: rotate(-90deg);
}

.c-dl dd.c-faq__cont {
	display: none;
	width: 100%;
	padding: 1em;
	border: none;
	background: #fff;
}

/**
 * ページトップボタン
 */
.c-page-top {
	display: flex;
	position: fixed;
	z-index: 10;
	right: 0;
	bottom: 0;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid #00863a;
	background: rgba(255, 255, 255, 0.8);
	text-decoration: none;
}

.c-page-top.icon-arrow::after {
	align-self: center;
	transform: rotate(-90deg);
	color: #df171f;
	font-size: 1.6rem;
}

.c-page-top:hover {
	opacity: 0.8;
}

@media (min-width: 768px) {
	.c-page-top {
		width: 60px;
		height: 60px;
	}

	.c-page-top.icon-arrow::after {
		font-size: 2rem;
	}
}

/**
 * フッター
 */
.c-footer {
	width: 100%;
	padding: 0;
	border-top: 1px solid #00863a;
	background: #fff;
	text-align: center;
}

.c-footer__splink {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	width: 100%;
}

.c-footer__splink li {
	align-self: stretch;
	width: 50%;
}

.c-footer__splink li:last-child {
	width: 100%;
	padding: 1em;
}

.c-footer__splink li:last-child img {
	width: 60px;
}

.c-footer__splink .c-btn,
.c-footer__splink a {
	display: flex;
	justify-content: space-between;
	width: 100%;
	min-width: 100%;
	max-width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 1em;
	border: none;
	border-bottom: 1px solid #00863a;
	background: #fff;
	color: #282828;
	text-align: left;
	text-decoration: none;
}

.c-footer__splink .c-btn span,
.c-footer__splink a span {
	line-height: 1.4;
}

.c-footer__splink li:nth-child(2n) a {
	border-left: 1px solid #00863a;
}

.c-footer__splink .icon-arrow::after,
.c-footer__splink a::after {
	content: "\e900";
	align-self: center;
	color: #00863a;

	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: icomoon !important;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-style: normal;
	font-variant: normal;
	font-weight: 400;
	line-height: 1;
	text-transform: none;
	speak: none;
}

.c-footer__splink li:last-child a {
	display: inline-block;
	padding: 0;
	border: none;
	text-align: center;
}

.c-footer__splink li:last-child a::after {
	display: none;
}

.c-footer__splink span,
.c-footer__splink .icon {
	align-self: center;
}

.c-footer__link {
	padding-bottom: 0;
}

.c-footer__link > ul:not(.c-footer__splink) {
	display: none;
}

.c-footer__link .icon-blank {
	display: flex;
	line-height: inherit;
}

.c-footer__link ul:last-child .c-footer__link--margin {
	margin-bottom: 1em;
}

.c-footer__link .icon-blank::before {
	margin-right: 0.5em;
	color: #44576d;
}

.c-footer__link ul:last-child li:last-child img {
	width: 60px;
}

.c-footer__line {
	display: flex;
	justify-content: center;
	padding: 0.5em;
	background: #00863a;
}

.c-footer__line table {
	width: 100%;
}

.c-footer__line table tr td {
	width: 50%;
}

.c-footer__copy {
	color: #fff;
	font-size: 1.4rem;
	text-align: right;
}

.div_area_link {
	text-align: left;
}

.div_area_link a {
	color: #fff;
	font-size: 1.4rem;
}

.c-footer__lic {
	display: flex;
	justify-content: center;
	width: 100%;
	text-align: right;
}

.c-footer__lic table {
	width: 100%;
}

.c-footer__lic table tr td {
	width: 33%;
	text-align: right;
}

.div_area_lic {
	display: flex;
	justify-content: right;
}

@media (max-width: 1000px) and (min-width: 768px) {
	.c-footer__link {
		width: 94%;
	}

	.c-footer__lic table {
		width: 94%;
	}

	.c-footer__line {
		padding-right: 0;
		padding-left: 0;
	}

	.c-footer__line table {
		width: 94%;
	}
}

@media (min-width: 768px) {
	.c-footer {
		padding: 2em 0 0;
		border-top: 2px solid #00863a;
	}

	.c-footer__splink {
		display: none;
	}

	.c-footer__link {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-bottom: 0;
		color: #00863a;
		font-size: 1.4rem;
		text-align: left;
	}

	.c-footer__link > ul:not(.c-footer__splink) {
		display: block;
		width: 18%;
	}

	.c-footer__link li {
		margin-bottom: 0.2em;
	}

	.c-footer__link li a {
		-webkit-transition: all 0.3s ease-in-out;
		-o-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
		color: #44576d;
		text-decoration: none;
	}

	.c-footer__link li a:hover {
		opacity: 0.8;
		text-decoration: underline;
	}

	.c-footer__link li.c-footer__link--index {
		margin-bottom: 0.5em;
		font-weight: 600;
	}

	.c-footer__link .c-txt--eng {
		padding: 0.5em 0;
		font-size: 1.8rem;
		font-weight: 700;
	}

	.c-footer__lic table {
		width: 94%;
		max-width: 1000px;
	}

	.c-footer__line {
		padding-right: 0;
		padding-left: 0;
	}

	.c-footer__line table {
		width: 94%;
		max-width: 1000px;
	}
}

#horiz {
	display: flex;
	justify-content: center;
	overflow: hidden;
	text-align: center;
}

#pmark {
	width: 60px;
}

#isms {
	width: auto;
	height: 60px;
}

#isms__sp {
	width: auto;
	height: 60px;
}

#mark__splink {
	width: 50%;
	min-width: 50%;
	max-width: 50%;
	height: 60px;
}

#lic_area {
	display: flex;
	justify-content: right;
	width: 210px;
	overflow: hidden;
}

#lic_area_child_p {
	width: 100px;
	list-style: none;
	text-align: left;
}

#lic_area_child_i {
	width: 103px;
	list-style: none;
	text-align: left;
}

#lic_img {
	width: 100%;
}

#lic_txt {
	font-size: 10px;
	text-align: left;
}

/**
 * サイドバー
 */
.l-container--contents:has(.l-contside.sidebar) {
	display: flex;
	max-width: 1120px;
	padding-inline: 20px;
}

.l-container--contents:has(.l-contside.sidebar) .l-contbox {
	padding: 0;
}

.l-container--contents:has(.l-contside.sidebar)
	.wp-block-media-text.has-media-on-the-right
	.wp-block-media-text__media
	img {
	max-width: 270px;
}

.l-contside.sidebar {
	position: sticky;
	top: 100px;
	width: calc(280 / 1080 * 100vw);
	max-width: 280px;
	height: 430px;
}

.l-contside.sidebar .widget_recent_entries,
.l-contside.sidebar .widget_categories,
.l-contside.sidebar .widget_archive {
	display: none;
}

.l-contside.sidebar .wp-block-image {
	margin: 0;
}

.l-contside.sidebar .widget_block.widget_media_image img {
	transition: opacity 0.3s;
}

.l-contside.sidebar .widget_block.widget_media_image:hover img {
	opacity: 0.8;
}

.l-contside.sidebar .widget_block.widget_text {
	text-align: left;
}

.l-contside.sidebar .widget_block.widget_text p {
	padding-left: 20px;
}

.l-contside.sidebar .widget_block.widget_text a {
	display: flex;
	align-items: center;
	width: 100%;
	margin-top: 8px;
	column-gap: 12px;
	color: #0da254;
	font-weight: 700;
	text-decoration: none;
}

.l-contside.sidebar .widget_block.widget_text a::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: transform 0.3s;
	border-top: 2px solid #0da254;
	border-right: 2px solid #0da254;
}

.l-contside.sidebar .widget_block.widget_text a:hover::after {
	transform: rotate(45deg) translate(4px, -4px);
}

@media (max-width: 1099.98px) {
	.l-container--contents:has(.l-contside.sidebar) .wp-block-media-text {
		display: flex;
		flex-direction: column;
		row-gap: 24px;
	}

	.l-container--contents:has(.l-contside.sidebar)
		.wp-block-media-text__content,
	.l-container--contents:has(.l-contside.sidebar)
		.wp-block-media-text__media {
		width: 100%;
	}
}

@media (max-width: 767.98px) {
	.l-container--contents:has(.l-contside.sidebar) {
		display: block;
		padding: 0 0 2em;
	}

	.l-container--contents:has(.l-contside.sidebar) .l-contmain {
		padding-inline: 1em;
	}

	.l-contside.sidebar {
		width: 100%;
		height: unset;
	}

	.l-contside.sidebar .widget_block.widget_media_image {
		display: none;
	}

	.c-btn-wrap {
		flex-direction: column;
	}

	.c-btn-wrap .c-btn.c-btn--l.icon-arrow {
		width: 100% !important;
		margin: 0 auto 1em;
	}
}

ul.sty_list {
	padding-left: 1.5em;
	list-style-type: disc;
}

ul.sty_list li {
	text-align: left;
}

.c-table ul {
	padding-left: 1.5em;
	list-style-type: disc;
}

.dates-and-e-learning {
	display: flex;
}
