@charset "UTF-8";
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
*, ::before, ::after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
}

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
}

body {
	margin: 0;
}

main {
	display: block;
}

p, table, blockquote, address, pre, iframe, form, figure, dl {
	margin: 0;
}

h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

dt {
	font-weight: 700;
}

dd {
	margin-left: 0;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit;
}

pre {
	font-family: monospace,monospace;
	font-size: inherit;
}

address {
	font-style: inherit;
}

a {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
}

abbr[title] {
	text-decoration: underline dotted;
}

b, strong {
	font-weight: bolder;
}

code, kbd, samp {
	font-family: monospace,monospace;
	font-size: inherit;
}

small {
	font-size: 80%;
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

svg, img, embed, object, iframe {
	vertical-align: bottom;
}

button, input, optgroup, select, textarea {
	-webkit-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
	text-align: inherit;
	text-transform: inherit;
}

button, [type="button"], [type="reset"], [type="submit"] {
	cursor: pointer;
}

button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled {
	cursor: default;
}

:-moz-focusring {
	outline: auto;
}

select:disabled {
	opacity: inherit;
}

option {
	padding: 0;
}

fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
}

legend {
	padding: 0;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

[type="number"] {
	-moz-appearance: textfield;
}

label[for] {
	cursor: pointer;
}

details {
	display: block;
}

summary {
	display: list-item;
}

[contenteditable]:focus {
	outline: auto;
}

table {
	border-color: inherit;
	border-collapse: collapse;
}

caption {
	text-align: left;
}

td, th {
	vertical-align: top;
	padding: 0;
}

th {
	text-align: left;
	font-weight: 700;
}

html {
	font-size: 16px;
	overflow-y: scroll;
}
html * {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
}

body {
	font-family: 'Noto Sans JP', "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-feature-settings: "palt";
	margin: 0px auto;
	color: #000000;
	overflow: hidden;
	background: #fff;
	font-size: clamp(0.875rem, 0.80718rem + 0.31915vw, 1.0625rem);
	line-height: 1.7;
	font-weight: 400;
}
body img {
	border: 0px;
}
body a {
	text-decoration: none;
	color: #000;
}
body a.underline {
	text-decoration: underline;
}
body a.underline:hover {
	text-decoration: none;
}
body dl, body ul, body ol {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
body p {
	margin: 0px;
}
body input, body select {
	outline: none;
}
body .clear {
	clear: both;
}
.sp body .view_pc {
	display: none !important;
}
body .view_sp {
	display: none !important;
}
.sp body .view_sp {
	display: block !important;
}

a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
a:hover {
	opacity: 0.7;
}

img {
	max-width: 100%;
}

.stack {
	margin-top: 0 !important;
}

.section {
	margin-top: 100px !important;
}
.sp .section {
	margin-top: 40px !important;
}

.block {
	margin-top: 40px !important;
}
.sp .block {
	margin-top: 20px !important;
}

.l_block {
	margin-top: 50px !important;
}
.sp .l_block {
	margin-top: 25px !important;
}

.paragraph {
	margin-top: 20px !important;
}
.sp .paragraph {
	margin-top: 10px !important;
}

.button {
	display: flex;
	gap: 30px 20px;
}
.button a, .button span {
	position: relative;
	display: flex;
	align-items: center;
	width: 290px;
	max-width: 100%;
	min-height: 60px;
	padding: 5px 40px 5px 30px;
	font-size: clamp(0.875rem, 0.82979rem + 0.21277vw, 1rem);
	line-height: 1.4;
	font-weight: bold;
	background: #F0F0F3;
	border-radius: 30px;
	transition: 0.5s;
	box-shadow: 5px 5px 5px #9babcb, -5px -5px 5px transparent, inset 5px 5px 5px transparent, inset 5px 5px 5px transparent;
	z-index: 2;
}
.button a::before, .button span::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 30px;
	box-shadow: -5px -5px 5px white;
	z-index: -1;
}
.button a::after, .button span::after {
	content: "";
	display: block;
	position: absolute;
	width: 14px;
	height: 14px;
	right: 20px;
	top: calc(50% - 7px);
	background: url(../images/button_arrow.svg) no-repeat center center;
	background-size: cover;
}
.button a:hover, .button span:hover {
	box-shadow: 5px 5px 5px transparent, -5px -5px 5px transparent, inset 5px 5px 5px #9babcb, inset -5px -5px 5px transparent;
}
.button a:hover::before, .button span:hover::before {
	top: 5px;
	left: 5px;
	box-shadow: 5px 5px 5px white;
}
.button.center {
	justify-content: center;
}

#top_header {
	height: 120px;
	background: #fff;
}
.tablet #top_header {
	height: 100px;
}
#top_header .inner {
	position: relative;
	width: 100%;
	max-width: 1320px;
	margin: auto;
	padding: 0px 20px 0px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.sp #top_header .inner {
	padding: 0px 10px 0px;
}
.tablet #top_header .inner {
	height: 100px;
	padding-left: 10px;
	padding-right: 10px;
}
#top_header .inner .logo {
	width: 100%;
	max-width: 476px;
}
.wpc #top_header .inner .logo {
	max-width: 380px;
}
.pc #top_header .inner .logo {
	max-width: 300px;
}
.tablet #top_header .inner .logo {
	max-width: 220px;
}
.sp #top_header .inner .logo {
	max-width: 200px;
}
#top_header .inner .logo img {
	width: 100%;
}
#top_header .inner .menu {
	display: flex;
	align-items: center;
	gap: 50px;
}
.wpc #top_header .inner .menu {
	gap: 40px;
}
.pc #top_header .inner .menu {
	gap: 30px;
}
.tablet #top_header .inner .menu {
	gap: 10px 0px;
	flex-wrap: wrap;
}
.sp #top_header .inner .menu {
	flex-direction: column;
	align-items: flex-end;
	gap: 0px 0px;
}
.tablet #top_header .inner .menu li {
	width: 50%;
	text-align: right;
}
.tablet.english #top_header .inner .menu li {
	width: 100%;
}
.sp #top_header .inner .menu li {
	width: auto;
}
#top_header .inner .menu li a {
	color: #1AC78D;
	font-weight: bold;
}
.sp #top_header .inner .menu li a {
	font-size: 12px;
}
.tablet #top_header .inner .menu li.btn {
	width: 100%;
	text-align: right;
}
.sp #top_header .inner .menu li.btn {
	width: auto;
}
#top_header .inner .menu li.btn a {
	position: relative;
	display: flex;
	align-items: center;
	margin: auto;
	width: 240px;
	max-width: 100%;
	min-height: 60px;
	padding: 5px 40px 5px 30px;
	font-size: clamp(0.875rem, 0.80718rem + 0.31915vw, 1.0625rem);
	line-height: 1.4;
	font-weight: 400;
	color: #000;
	background: #F0F0F3;
	border-radius: 30px;
	transition: 0.5s;
	box-shadow: 5px 5px 5px #9babcb, -5px -5px 5px transparent, inset 5px 5px 5px transparent, inset 5px 5px 5px transparent;
	z-index: 2;
}
.pc #top_header .inner .menu li.btn a {
	display: inline;
	width: auto;
	padding: 0;
	background: none;
	border-radius: 0;
	color: #1AC78D;
	font-weight: bold;
	box-shadow: none;
}
.sp #top_header .inner .menu li.btn a {
	font-size: 12px;
}
#top_header .inner .menu li.btn a::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 30px;
	box-shadow: -5px -5px 5px white;
	z-index: -1;
}
.pc #top_header .inner .menu li.btn a::before {
	display: none;
}
#top_header .inner .menu li.btn a::after {
	content: "";
	display: block;
	position: absolute;
	width: 14px;
	height: 14px;
	right: 20px;
	top: calc(50% - 7px);
	background: url(../images/button_arrow.svg) no-repeat center center;
	background-size: cover;
}
.pc #top_header .inner .menu li.btn a::after {
	display: none;
}
#top_header .inner .menu li.btn a:hover {
	box-shadow: 5px 5px 5px transparent, -5px -5px 5px transparent, inset 5px 5px 5px #9babcb, inset -5px -5px 5px transparent;
}
#top_header .inner .menu li.btn a:hover::before {
	top: 5px;
	left: 5px;
	box-shadow: 5px 5px 5px white;
}

header {
	position: absolute;
	top: 120px;
	width: 100%;
	z-index: 10;
}
.tablet header {
	top: 100px;
}
.shortheader header {
	position: fixed;
	top: 0;
}
header .inner {
	position: relative;
	position: relative;
	width: 100%;
	max-width: 1320px;
	margin: auto;
	padding: 0px 20px 0px;
}
.sp header .inner {
	padding: 0px 10px 0px;
}
header .inner > div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	background: #fff;
	border-radius: 0 0 10px 10px;
}
header .inner .logo {
	padding-left: 15px;
}
.pc header .inner .logo {
	max-width: 23%;
}
header .inner .menu {
	width: calc(100% - 183px);
	padding: 20px 40px 0 40px;
}
.pc header .inner .menu {
	min-width: calc(80% - 20px);
	padding: 20px 10px 0 10px;
}
.tablet header .inner .menu {
	padding: 10px 10px 0 10px;
}
header .inner .menu .main_menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 15px;
}
.tablet header .inner .menu .main_menu {
	margin-top: 10px;
}
.sp header .inner .menu .main_menu {
	margin-top: 5px;
	align-items: center;
}
header .inner .menu .main_menu li {
	width: 25%;
	text-align: center;
	font-size: clamp(0.875rem, 0.82979rem + 0.21277vw, 1rem);
	line-height: 2;
	font-weight: bold;
}
.tablet header .inner .menu .main_menu li {
	width: 50%;
}
.tablet header .inner .menu .main_menu li:nth-of-type(2n + 1) {
	border-left: none !important;
}
header .inner .menu .main_menu li a {
	display: block;
	padding: 9px 5px;
}
.sp header .inner .menu .main_menu li a {
	padding: 5px;
	font-size: clamp(0.75rem, 0.70479rem + 0.21277vw, 0.875rem);
	line-height: 1.3;
	font-weight: 400;
}
header .inner .menu .main_menu li a.current {
	color: #1AC78D;
}
header .inner .menu .main_menu li a br {
	display: none;
}
.sp header .inner .menu .main_menu li a br {
	display: block;
}
header .inner .menu .main_menu li + li {
	border-left: 1px solid #D5D5D5;
}
header .inner .menu .sub_menu {
	text-align: right;
	font-size: clamp(0.75rem, 0.70479rem + 0.21277vw, 0.875rem);
	line-height: 2;
	font-weight: 400;
	color: #868686;
}
header .inner .menu .sub_menu a {
	color: #000000;
}
header .inner .menu .sub_menu .access {
	padding-right: 18px;
}
header .inner .menu .sub_menu .access a {
	padding-left: 25px;
	background: url(../images/ico_access.png) no-repeat left center/contain;
}

.top_content {
	background: #F0F0F3;
}
.top_content .main {
	position: relative;
	padding-top: 215px;
	background: url(../../images/top_main.jpg) no-repeat top center/cover;
}
.sp .top_content .main {
	padding-top: 150px;
}
.top_content .main::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 215px;
	top: 0;
	left: 0;
	background: linear-gradient(#1ac78d, rgba(26, 199, 141, 0));
}
.sp .top_content .main::before {
	height: 150px;
}
.top_content .main h1 {
	font-size: clamp(2rem, 0.91489rem + 5.10638vw, 5rem);
	line-height: 1.5;
	font-weight: bold;
	color: #fff;
}
.top_content .main h1 span {
	display: block;
	margin-top: 20px;
	font-size: clamp(1.5rem, 0.95745rem + 2.55319vw, 3rem);
	line-height: 1;
	font-weight: bold;
	font-family: "Montserrat", sans-serif;
}
.top_content .main .nb {
	margin-top: 20px;
	font-size: clamp(1.125rem, 0.85372rem + 1.2766vw, 1.875rem);
	line-height: 1;
	font-weight: bold;
	padding: 20px;
	width: 400px;
	max-width: 100%;
	text-align: center;
	border-radius: 35px;
	background: rgba(255, 255, 255, 0.7);
	font-family: "Montserrat", sans-serif;
}
.top_content .main .link {
	display: flex;
	gap: 30px;
	align-items: center;
	margin-top: 70px;
	width: 250px;
	padding: 15px 20px;
	border: 1px solid #fff;
	border-radius: 10px;
	background: rgba(0, 148, 98, 0.7);
}
.sp .top_content .main .link {
	margin-top: 40px;
}
.top_content .main .link .tx {
	font-size: clamp(0.75rem, 0.70479rem + 0.21277vw, 0.875rem);
	line-height: 1.7;
	font-weight: bold;
	color: #fff;
}
.top_content > div .inner {
	position: relative;
	width: 100%;
	max-width: 1320px;
	margin: auto;
	padding: 0px 20px 40px;
}
.sp .top_content > div .inner {
	padding: 0px 10px 20px;
}
.top_content > div.bg_w {
	padding-top: 40px;
	background: #fff;
}
.top_content .image img {
	display: block;
	margin: auto;
}
.top_content h2 {
	margin: 80px 0 20px 0;
	font-size: clamp(1.5rem, 0.95745rem + 2.55319vw, 3rem);
	line-height: 1;
	font-weight: bold;
	color: #1AC78D;
	font-family: "Montserrat", sans-serif;
}
.tablet .top_content h2 {
	margin-top: 40px;
}

.news {
	width: 100%;
	border-top: 1px solid #9BABCB;
}
.news > div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 40px;
	padding: 35px 0;
	border-bottom: 1px solid #9BABCB;
}
.tablet .news > div {
	padding: 20px 0;
}
.news > div .date {
	width: 120px;
	font-size: clamp(1.0625rem, 0.99468rem + 0.31915vw, 1.25rem);
	line-height: 1.8;
	font-weight: 400;
	font-weight: bold;
}
.news > div .date .br {
	display: none;
}
.tablet .news > div .date {
	width: 100%;
}
.news > div .tx {
	width: calc(100% - 160px);
	font-size: clamp(1.0625rem, 0.99468rem + 0.31915vw, 1.25rem);
	line-height: 1.8;
	font-weight: 400;
}
.tablet .news > div .tx {
	width: 100%;
}
.news > div .tx .title {
	display: block;
	font-size: clamp(1.5rem, 1.27394rem + 1.06383vw, 2.125rem);
	line-height: 1.5;
	font-weight: 400;
}
.news > div .tx .title + * {
	margin-top: 20px;
}
.news > div .tx > a {
	text-decoration: underline;
}
.news > div .tx > a:hover {
	text-decoration: none;
}
.news > div .tx .tag {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}
.news > div .tx .tag > a {
	padding: 10px 20px;
	border: 1px solid #9BABCB;
	border-radius: 20px;
	font-size: clamp(0.75rem, 0.70479rem + 0.21277vw, 0.875rem);
	line-height: 1;
	font-weight: 400;
}

#breadcrumbs {
	position: relative;
	background: #F0F0F3;
	padding-top: 30px;
}
.sp #breadcrumbs {
	padding-top: 10px;
	display: none;
}
#breadcrumbs ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0;
	position: relative;
	width: 100%;
	max-width: 1320px;
	margin: auto;
	padding: 0px 20px 0px;
	width: 100%;
}
.sp #breadcrumbs ul {
	padding: 0px 10px 0px;
}
#breadcrumbs ul li {
	font-size: clamp(0.75rem, 0.70479rem + 0.21277vw, 0.875rem);
	line-height: 1.3;
	font-weight: 400;
	color: #7D8E9E;
}
#breadcrumbs ul li + li::before {
	content: "/";
	padding: 0 10px;
}

#cat_title {
	padding-top: 215px;
	background: url(../images/cat_title_bg.jpg) no-repeat top center/cover;
}
.sp #cat_title {
	padding-top: 150px;
}
#cat_title > div {
	position: relative;
	width: 100%;
	max-width: 1320px;
	margin: auto;
	padding: 0px 20px 40px;
}
.sp #cat_title > div {
	padding: 0px 10px 20px;
}
#cat_title > div h1 {
	font-size: clamp(2rem, 0.91489rem + 5.10638vw, 5rem);
	line-height: 1.6;
	font-weight: bold;
	color: #fff;
}
#cat_title > div h1.small {
	margin-top: -5px;
	font-size: clamp(1.25rem, 1.11436rem + 0.6383vw, 1.625rem);
	line-height: 1.6;
	font-weight: bold;
}
#cat_title > div h1.small span {
	display: block;
	margin-bottom: 20px;
	font-size: clamp(1.3125rem, 1.13165rem + 0.85106vw, 1.8125rem);
	line-height: 1.6;
	font-weight: bold;
}

main .contents {
	position: relative;
	background: #F0F0F3;
	padding-bottom: 120px;
}
.tablet main .contents {
	padding-bottom: 80px;
}
.sp main .contents {
	padding-bottom: 60px;
}
main .contents > div:not(.background) {
	position: relative;
	width: 100%;
	max-width: 1320px;
	margin: auto;
	padding: 120px 20px 0px;
}
.sp main .contents > div:not(.background) {
	padding: 60px 10px 0px;
}
.tablet main .contents > div:not(.background) {
	padding: 80px 20px 0;
}
.sp main .contents > div:not(.background) {
	padding: 60px 10px 0;
}
main .contents > div:not(.background) + div:not(.background) {
	padding-top: 0;
}
main .contents.mt > div {
	padding-top: 60px;
}
.tablet main .contents.mt > div {
	padding-top: 40px;
}
.sp main .contents.mt > div {
	padding-top: 30px;
}
main .contents * + .background {
	margin-top: 120px;
}
.tablet main .contents * + .background {
	margin-top: 80px;
}
.sp main .contents * + .background {
	margin-top: 60px;
}
main .contents > .background {
	background: #fff;
}
main .contents > .background > div {
	position: relative;
	width: 100%;
	max-width: 1320px;
	margin: auto;
	padding: 80px 20px 80px;
}
.sp main .contents > .background > div {
	padding: 40px 10px 40px;
}
main .contents .center {
	text-align: center;
}
main .contents .right {
	text-align: right;
}
main .contents * + section {
	margin-top: 70px;
}
.tablet main .contents * + section {
	margin-top: 50px;
}
main .contents * + p {
	margin-top: 10px;
}
main .contents .text {
	max-width: 950px;
	margin-left: auto;
	margin-right: auto;
}
main .contents .text p {
	font-size: clamp(1rem, 0.90957rem + 0.42553vw, 1.25rem);
	line-height: 1.7;
	font-weight: 400;
}
main .contents .image {
	max-width: 950px;
	margin-left: auto;
	margin-right: auto;
}
main .contents .image img {
	display: block;
	margin: auto;
}
main .contents .image p.caption {
	margin-left: auto;
	margin-right: auto;
}
main .contents .image.left {
	text-align: left;
}
main .contents .image.left img {
	margin-left: 0px;
}
main .contents .image.right {
	text-align: right;
}
main .contents .image.right img {
	margin-right: 0px;
}
main .contents * + .image {
	margin-top: 30px;
}
.sp main .contents * + .image {
	margin-top: 20px;
}
main .contents h2 {
	position: relative;
	padding-bottom: 20px;
	color: #1AC78D;
	font-size: clamp(1.375rem, 1.28457rem + 0.42553vw, 1.625rem);
	line-height: 1.5;
	font-weight: bold;
	border-bottom: 1px solid #9BABCB;
}
main .contents h2 + * {
	margin-top: 40px;
}
.tablet main .contents h2 + * {
	margin-top: 30px;
}
.sp main .contents h2 + * {
	margin-top: 20px;
}
main .contents h2 a {
	color: #1AC78D;
	text-decoration: underline;
}
main .contents h2 a:hover {
	text-decoration: none;
}
main .contents * + h2 {
	margin-top: 80px;
}
.sp main .contents * + h2 {
	margin-top: 60px;
}
main .contents h3 {
	font-size: clamp(1.25rem, 1.15957rem + 0.42553vw, 1.5rem);
	line-height: 1.5;
	font-weight: 400;
	color: #1AC78D;
}
main .contents h3 + * {
	margin-top: 20px;
}
main .contents * + h3 {
	margin-top: 40px;
}
.tablet main .contents * + h3 {
	margin-top: 30px;
}
.sp main .contents * + h3 {
	margin-top: 20px;
}
main .contents .anchor {
	margin-top: -40px;
	border-radius: 10px;
	overflow: hidden;
}
.tablet main .contents .anchor {
	margin-top: 0;
}
main .contents .anchor ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0;
}
main .contents .anchor ul li {
	position: relative;
	overflow: hidden;
}
main .contents .anchor ul li a {
	display: block;
	position: relative;
	padding: 10px 10px 20px;
	height: 100%;
	font-size: clamp(1rem, 0.90957rem + 0.42553vw, 1.25rem);
	line-height: 1.5;
	font-weight: bold;
	color: #1AC78D;
	text-align: center;
	background: #fff;
}
main .contents .anchor ul li a::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	bottom: 7px;
	left: calc(50% - 3px);
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 8px solid #9BABCB;
}
main .contents .anchor ul li + li::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0;
	width: 1px;
	height: calc(100% - 20px);
	background: #9BABCB;
	z-index: 2;
}
main .contents .anchor ul.col4 li {
	width: 25%;
}
.tablet main .contents .anchor ul.col4 li {
	width: 50%;
}
.tablet main .contents .anchor ul.col4 li:nth-of-type(2n+1)::before {
	display: none !important;
}
.tablet main .contents .anchor ul.col4 li:nth-of-type(2n+1) {
	border-radius: 10px 0 0 10px;
}
.tablet main .contents .anchor ul.col4 li:nth-of-type(2n+2) {
	border-radius: 0 10px 10px 0;
}
main .contents .anchor ul.col4 li:last-child a {
	border-radius: 0 10px 10px 0;
}
main .contents .anchor ul.col5 li {
	width: 20%;
}
main .contents .anchor ul.col5 li:nth-of-type(5n+1) {
	border-radius: 10px 0 0 10px;
}
main .contents .anchor ul.col5 li:nth-of-type(5n+1)::before {
	display: none !important;
}
main .contents .anchor ul.col5 li:nth-of-type(5n) {
	border-radius: 0 10px 10px 0;
}
.tablet main .contents .anchor ul.col5 li {
	width: 50%;
}
.tablet main .contents .anchor ul.col5 li:nth-of-type(5n+1)::before {
	display: block !important;
}
.tablet main .contents .anchor ul.col5 li:nth-of-type(2n+1)::before {
	display: none !important;
}
.tablet main .contents .anchor ul.col5 li:nth-of-type(2n+1) {
	border-radius: 10px 0 0 10px;
}
.tablet main .contents .anchor ul.col5 li:nth-of-type(2n) {
	border-radius: 0 10px 10px 0;
}
main .contents .anchor ul.col5 li:last-child a {
	border-radius: 0 10px 10px 0;
}
main .contents .linkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}
.tablet main .contents .linkbox {
	gap: 20px;
}
main .contents .linkbox > div {
	width: calc((100% - 120px) / 4);
}
.tablet main .contents .linkbox > div {
	width: calc((100% - 40px) / 2);
}
main .contents .linkbox > div > a, main .contents .linkbox > div > span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 70%;
	margin-left: auto;
	margin-right: auto;
	aspect-ratio: 290 / 205;
	background: #fff;
}
main .contents .linkbox > div > a img, main .contents .linkbox > div > span img {
	display: block;
	max-width: 100%;
	aspect-ratio: 290 / 205;
	object-fit: contain;
}
main .contents .linkbox > div .title {
	font-size: clamp(1.125rem, 1.07979rem + 0.21277vw, 1.25rem);
	line-height: 1.5;
	font-weight: bold;
	margin-top: 10px;
}
main .contents .linkbox > div .tx {
	margin-top: 10px;
}
main .contents .linkbox > div .tx a {
	text-decoration: underline;
}
main .contents .linkbox > div .tx a:hover {
	text-decoration: none;
}
main .contents .pdf_box {
	margin: 40px auto 0;
	width: 620px;
	max-width: 100%;
	border: 1px solid #9BABCB;
	border-radius: 10px;
}
main .contents .pdf_box > div {
	display: flex;
	align-items: center;
	gap: 40px;
	padding: 40px 50px;
}
.tablet main .contents .pdf_box > div {
	display: block;
	padding: 20px;
}
.tablet main .contents .pdf_box > div .button {
	margin-top: 20px;
}
main .contents .pdf_box > div p {
	font-size: clamp(0.875rem, 0.73936rem + 0.6383vw, 1.25rem);
	line-height: 1.5;
	font-weight: bold;
}
main .contents .seminar_list {
	position: relative;
	margin-top: 120px;
}
.tablet main .contents .seminar_list {
	margin-top: 80px;
	padding-top: 40px;
}
.sp main .contents .seminar_list {
	margin-top: 60px;
}
main .contents .seminar_list .news {
	margin-top: 0;
	border-top: none;
}
main .contents .seminar_list .news > div {
	gap: 10px 10px;
	min-height: 225px;
}
main .contents .seminar_list .news > div .date {
	width: 220px;
}
main .contents .seminar_list .news > div .tx {
	width: calc(100% - 240px);
}
.tablet main .contents .seminar_list .news > div .tx {
	padding: 0;
	width: 100%;
}
main .contents .seminar_list .news > div .tx p {
	font-size: clamp(0.875rem, 0.78457rem + 0.42553vw, 1.125rem);
	line-height: 1.5;
	font-weight: 400;
}
main .contents .seminar_list .news > div .tx .title {
	font-size: clamp(1rem, 0.90957rem + 0.42553vw, 1.25rem);
	line-height: 1.5;
	font-weight: 400;
}
main .contents .seminar_list .time_link {
	position: absolute;
	right: 0;
	top: 15px;
	z-index: 2;
	text-align: right;
}
main .contents .seminar_list .time_link a {
	color: #000;
}
main .contents .seminar_list .time_link a.ac {
	color: #868686;
	pointer-events: none;
}
main .contents .seminar_detail {
	margin-bottom: 180px;
}
.tablet main .contents .seminar_detail {
	margin-bottom: 0;
}
main .contents .seminar_detail .time {
	font-size: clamp(1rem, 0.90957rem + 0.42553vw, 1.25rem);
	line-height: 1.7;
	font-weight: bold;
}
main .contents .seminar_detail .time .br {
	display: none;
}
main .contents .seminar_detail .title {
	margin: 40px 0 50px 0;
	font-size: clamp(1.25rem, 1.15957rem + 0.42553vw, 1.5rem);
	line-height: 1.6;
	font-weight: bold;
}
.sp main .contents .seminar_detail .title {
	margin: 20px 0 25px 0;
}
main .contents .seminar_detail .tx {
	margin-top: 20px;
	font-size: clamp(1.125rem, 1.07979rem + 0.21277vw, 1.25rem);
	line-height: 1.5;
	font-weight: 400;
}
main .contents .seminar_detail .tx + .tx {
	margin-top: 10px;
}
main .contents .timetable h2 {
	padding: 0;
	font-size: clamp(1.75rem, 1.43351rem + 1.48936vw, 2.625rem);
	line-height: 1.5;
	font-weight: 400;
	color: #000;
	border: none;
}
main .contents .timetable h3 {
	font-size: clamp(1.5rem, 1.27394rem + 1.06383vw, 2.125rem);
	line-height: 1.5;
	font-weight: bold;
	color: #1AC78D;
}
main .contents .timetable .button + .button {
	margin-top: 25px;
}
main .contents .company_detail .logo img {
	max-width: 100%;
}
main .contents .company_detail .title {
	margin-top: 10px;
}
main .contents .company_detail .title .tx {
	font-size: clamp(1.75rem, 1.43351rem + 1.48936vw, 2.625rem);
	line-height: 1.5;
	font-weight: 400;
}
main .contents .company_detail .title .tx a {
	text-decoration: underline;
}
main .contents .company_detail .title .tx a:hover {
	text-decoration: none;
}
main .contents .company_detail .title .tag {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 15px;
}
main .contents .company_detail .title .tag > span {
	padding: 10px 20px;
	border: 1px solid #9BABCB;
	border-radius: 20px;
	background: #fff;
	font-size: clamp(0.75rem, 0.70479rem + 0.21277vw, 0.875rem);
	line-height: 1;
	font-weight: 400;
}
main .contents .company_detail + h2 {
	margin-top: 50px;
}
main .contents .company_list {
	display: flex;
	width: 100%;
}
.tablet main .contents .company_list {
	display: none;
}
main .contents .company_list > ul {
	width: 25%;
	margin-top: 15px;
	padding-left: 10px;
	padding-right: 10px;
}
main .contents .company_list > ul + ul {
	position: relative;
}
main .contents .company_list > ul + ul::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 100%;
	background: #9BABCB;
	left: 0;
	top: 0;
}
main .contents .company_list > ul li a {
	text-decoration: underline;
}
main .contents .company_list > ul li a:hover {
	text-decoration: none;
}

footer {
	width: 100%;
	padding-bottom: 75px;
	background: #F0F0F3;
}
.sp footer {
	padding-bottom: 40px;
}
footer .footer_top {
	margin-bottom: 40px;
	background: #1AC78D;
}
.sp footer .footer_top {
	margin-bottom: 20px;
}
footer .footer_top p {
	position: relative;
	width: 100%;
	max-width: 1320px;
	margin: auto;
	padding: 15px 20px 15px;
	font-size: clamp(1.0625rem, 0.90426rem + 0.74468vw, 1.5rem);
	line-height: 1.3;
	font-weight: bold;
	color: #fff;
}
.sp footer .footer_top p {
	padding: 7.5px 10px 7.5px;
}
footer .inner {
	position: relative;
	width: 100%;
	max-width: 1320px;
	margin: auto;
	padding: 0px 20px 0px;
}
.sp footer .inner {
	padding: 0px 10px 0px;
}
footer .footer_menu {
	margin-top: 30px;
}
footer .footer_menu ul.btn {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.tablet footer .footer_menu ul.btn {
	gap: 20px;
}
footer .footer_menu ul.btn li {
	width: calc((100% - 90px) / 4);
}
.pc footer .footer_menu ul.btn li {
	width: calc((100% - 60px) / 3);
}
.tablet footer .footer_menu ul.btn li {
	width: calc((100% - 20px) / 2);
}
.sp footer .footer_menu ul.btn li {
	width: 100%;
}
footer .footer_menu ul.btn li a {
	position: relative;
	display: flex;
	align-items: center;
	margin: auto;
	width: 290px;
	max-width: 100%;
	min-height: 60px;
	padding: 5px 40px 5px 30px;
	font-size: clamp(0.875rem, 0.80718rem + 0.31915vw, 1.0625rem);
	line-height: 1.4;
	font-weight: 400;
	background: #F0F0F3;
	border-radius: 30px;
	transition: 0.5s;
	box-shadow: 5px 5px 5px #9babcb, -5px -5px 5px transparent, inset 5px 5px 5px transparent, inset 5px 5px 5px transparent;
	z-index: 2;
}
footer .footer_menu ul.btn li a::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 30px;
	box-shadow: -5px -5px 5px white;
	z-index: -1;
}
footer .footer_menu ul.btn li a::after {
	content: "";
	display: block;
	position: absolute;
	width: 14px;
	height: 14px;
	right: 20px;
	top: calc(50% - 7px);
	background: url(../images/button_arrow.svg) no-repeat center center;
	background-size: cover;
}
footer .footer_menu ul.btn li a:hover {
	box-shadow: 5px 5px 5px transparent, -5px -5px 5px transparent, inset 5px 5px 5px #9babcb, inset -5px -5px 5px transparent;
}
footer .footer_menu ul.btn li a:hover::before {
	top: 5px;
	left: 5px;
	box-shadow: 5px 5px 5px white;
}
footer .footer_menu ul.btn li a.bold {
	font-weight: bold;
}
footer .footer_menu ul.tx {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: 75%;
	margin-top: 30px;
}
.wpc footer .footer_menu ul.tx {
	width: 100%;
}
footer .footer_menu ul.tx li {
	width: calc((100% - 60px) / 3);
}
.tablet footer .footer_menu ul.tx li {
	width: calc((100% - 20px) / 2);
}
.sp footer .footer_menu ul.tx li {
	width: 100%;
}
footer .footer_menu ul.tx.en {
	width: 100%;
}
footer .footer_menu ul.tx.en li {
	width: calc((100% - 80px) / 4);
}
.tablet footer .footer_menu ul.tx.en li {
	width: calc((100% - 20px) / 2);
}
.sp footer .footer_menu ul.tx.en li {
	width: 100%;
}
footer .footer_menu .image {
	text-align: center;
}
.sp footer .footer_menu .image {
	margin-top: 5px;
}

#gototop {
	position: fixed;
	z-index: 100;
	right: 30px;
	bottom: 30px;
	opacity: 0;
	transition: 0.3s;
	pointer-events: none;
}
.tablet #gototop {
	right: 20px;
	bottom: 20px;
}
.sp #gototop {
	right: 10px;
	bottom: 10px;
}
.shortheader #gototop {
	opacity: 1;
	pointer-events: auto;
}
#gototop a {
	display: block;
	width: 60px;
	height: 60px;
}
.sp #gototop a {
	width: 40px;
	height: 40px;
}
#gototop a img {
	width: 100%;
}
