@charset "utf-8";
/* all
-------------------------------------------------------------------*/
:root {
	--hover: background .4s, color .4s, border-color .4s, opacity .4s, text-decoration-color .4s, transform .4s, filter .4s, box-shadow .4s, outline .4s;
	--header: 120px;
	--container: 1200px;
	--wide: 1920px;
	--side: 375px;
	--inner: 5%;
	--outer: calc(var(--inner) * -1);
	--fontcolor: #282828;
	--key01: #0081e8;
	--key02: #00175c;
	--key03: #ffcf05;
	--accent01: #1d4192;
	--accent02: #d63535;
	--subcolor: #f98925;
	--light: #ffff00;
	--gray: #c0ced9;
	--lgray: #edf2fd;
	--lgray2: #f4f5f0;
	--dgray: #949494;
	--reverse: invert(1);
	--white: brightness(0) invert(1);
	--vk-width-container: calc(var(--container) + 30px) !important;
	--sans:"Noto Sans JP", sans-serif;
	--serif:"Noto Serif JP", serif;
	--roboto:"Roboto", sans-serif;
	font-weight: 600;
}
:root img {
	transition: opacity .4s, filter .4s;
}
:root :is(a, button, label) {
	transition: var(--hover);
}
:root a :is(span, b, i, img) {
	transition: var(--hover);
}
/* :root mark {
	background: none;
	text-decoration-line: underline;
	text-decoration-thickness: 0.6em;
	text-decoration-color: var(--light);
	text-decoration-style: solid;
	text-underline-offset: -0.3em;
} */
:root .roboto {
	font-family: "Roboto", sans-serif;
}
:root .min {
	font-family: "Noto Serif JP", serif;
}
:root p {
	font-weight: 400;
}
html {
	background: #FFFFFF;
	color: var(--fontcolor);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.6;
	scroll-padding: var(--header) !important;
	scroll-behavior: smooth;
	font-feature-settings: 'palt';
	font-optical-sizing: auto;
	font-style: normal;
	letter-spacing: 0.06em;
}
:root body {
	width: 100%;
	font-size: 100%;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	text-align: center;
	min-width: var(--container);
	position: relative;
	z-index: 2;
	overflow-x: clip;
}
:root a.skip-link {
	display: flex;
	font-size: 0.75rem;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: var(--key);
	position: absolute;
	top: calc(var(--header) + 1px);
	left: 0;
	padding: 0.5em;
	z-index: -5;
	box-shadow: 0 0 1em rgba(0, 0, 0, 0.25);
	opacity: 0;
	width: 8em;
	height: 8em;
}
:root a.skip-link:focus {
	opacity: 1;
	z-index: 15;
	text-decoration: underline dotted 1px;
}
:root :is(header, footer) * {
	margin-block: 0;
	padding: 0;
	line-height: inherit;
}
.all-content {
	overflow: clip;
}
main {
	width: 100%;
	position: relative;
	z-index: 5;
	padding-top: var(--header);
}
body img,
body svg {
	max-width: 100%;
	height: auto;
}
.sitewrap,
.widewrap {
	width: var(--container);
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
}
.widewrap {
	max-width: var(--wide);
	padding-inline: 1em;
	width: auto;
}
*:has(> .sitewrap) {
	width: 100%;
	overflow: clip;
}
.center_content {
	text-align: center;
}
.center_content>* {
	margin-inline: auto;
}
.right_content {
	text-align: right;
}
.right_content>* {
	margin-inline: auto 0;
}
@media screen and (max-width:1240px) {
	:root {
		--container: 100%;
	}
	.sitewrap {
		padding-inline: var(--inner);
	}
}
@media screen and (max-width:980px) {
	:root {
		--header: 70px;
	}
}
@media screen and (max-width:767px) {
	header#fix_menu {
		--header: 60px;
	}
	:root {
		--header: 60px;
		--inner: 15px;
	}
	html {
		font-size: 14px;
	}
}
:is(header, footer) * {
	margin: 0;
	padding: 0;
	line-height: inherit;
}
/* header
-------------------------------------------------------------------*/
#global-header {
	position: fixed;
	z-index: 50;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	transition: top .4s .2s, background .2s;
	padding: 0;
	height: var(--header);
	width: 100%;
	max-width: var(--wide);
	margin-inline: auto;
	justify-content: space-between;
	background: #fff;
}
#global-header #site_ttl {
	margin-inline: 2.5em;
}
#global-header .drop_menu {
	margin-right: 1em;
	margin-block: auto 0;
}
#global-header .drop_top {
	display: flex;
	gap: 0.5em;
	justify-content: flex-end;
	margin-block: 0.25em 0.25em;
	align-items: center;
}
#global-header .header-tel {
	display: flex;
	flex-direction: column;
	margin-right: 1.5em;
}
#global-header .header-tel a {
	font-size: 1.75rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration-color: transparent;
	text-underline-offset: 0.06em;
	text-decoration-thickness: 1px;
}
#global-header .header-tel a img {
	vertical-align: middle;
	margin-block: 0.2em 0;
}
#global-header .header-tel a span {
	line-height: 1;
}
#global-header .header-tel p {
	font-size: 0.875rem;
	letter-spacing: 0.25em;
}
#global-header .btn02 {
	gap: 0;
}
#global-header .drop_bottom {
	display: flex;
	gap: 0em;
	font-size: 0.87rem;
}
#global-header .drop_bottom>li {
	list-style-type: none;
	padding-inline: 0.75em;
}
#global-header .drop_bottom li a {
	display: flex;
	padding: 1em 0.5em;
}
#global-header .drop_bottom .drop_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25em;
	position: relative;
	align-items: center;
	z-index: 2;
	transition: background .4s;
}
#global-header .drop_bottom .drop_wrap>i {
	cursor: pointer;
	transition: transform .2s, margin .2s;
	display: flex;
	margin: 0;
}
#global-header .drop_bottom .drop_wrap>i:before {
	content: "";
	display: block;
	aspect-ratio: 1 / 1;
	height: 0.75em;
	color: var(--key01);
	border-top: solid 2px;
	border-right: solid 2px;
	transform: rotate(135deg) skew(-2deg, -2deg);
	margin-bottom: 0.15em;
}
#global-header .drop_child {
	position: absolute;
	max-height: 0;
	overflow: hidden;
	transition: max-height .2s, opacity .2s;
	flex: 1;
	opacity: 0;
	left: 50%;
	top: 1em;
	padding: 0;
	width: fit-content;
	transform: translateX(-50%);
	z-index: -1;
}
#global-header .drop_wrap:hover .drop_child {
	opacity: 1;
	max-height: fit-content;
	padding: 2.575em 0 0;
	white-space: nowrap;
}
#global-header .drop_wrap:hover .drop_child li+li {
	border-top: solid 1px #fff;
}
#global-header .drop_wrap:hover .drop_child a {
	font-size: 0.875rem;
	background: var(--key02);
	color: #fff;
	padding: 1em;
}
#global-header #switch {
	appearance: none;
	background: none;
	border: none;
	position: absolute;
	z-index: -1;
}
#global-header #switch {
	appearance: none;
	position: absolute;
	z-index: -1;
	opacity: 0;
	width: 1px;
	height: 1px;
	border: none;
	background: none;
	outline: none;
}
#global-header label[for="switch"] {
	display: none;
}
@media (hover: hover) and (pointer: fine),
(hover: none) and (pointer: coarse) {
	#global-header #site_ttl a:hover {
		opacity: 0.6;
	}
	#global-header .header-tel a:hover {
		color: var(--key01);
		text-decoration-color: var(--key01);
	}
	#global-header .drop_bottom li a:hover {
		color: var(--key01)
	}
	#global-header .drop_bottom .drop_wrap:hover {
		background: var(--lgray);
	}
	#global-header .drop_wrap .drop_child a:hover {
		background: var(--key01);
		text-decoration-color: transparent;
	}
}
@media screen and (max-width:1200px) {
	:root {
		--side: 280px;
		--header: 120px;
	}
	#global-header label[for="switch"] {
		display: flex;
		position: absolute;
		height: 60px;
		background: var(--accent01);
		aspect-ratio: 1 / 1;
		top: 0;
		bottom: 0;
		margin: auto;
		margin-right: 1em;
		right: 0em;
		appearance: none;
		padding: 0.25em;
		border: none;
		align-items: center;
		justify-content: center;
		z-index: 10;
		transition: background .2s, right .2s;
	}
	#global-header .drop_menu {
		margin-inline: auto calc(2em + 60px);
		margin-block: auto;
	}
	#global-header label[for="switch"]:before,
	#global-header label[for="switch"]:after,
	#global-header label[for="switch"] span {
		display: block;
		height: 2px;
		width: 2em;
		background: #fff;
		transition: transform .3s, inset .2s, opacity .2s .2s;
		transform: rotate(-180deg);
	}
	#global-header label[for="switch"]:before,
	#global-header label[for="switch"]:after {
		content: "";
		position: absolute;
		inset: 0 auto;
		margin: auto;
	}
	#global-header label[for="switch"]:before {
		top: -1.25em;
	}
	#global-header label[for="switch"]:after {
		bottom: -1.25em;
	}
	#global-header #global-nav {
		position: fixed;
		width: var(--side);
		top: 0;
		bottom: 0;
		right: calc(var(--side) * -1);
		flex-direction: column-reverse;
		z-index: 150;
		background: var(--accent);
		transition: right .2s;
		justify-content: flex-end;
		gap: 0;
		overflow-y: auto;
		display: block;
	}
	#global-header #global-nav>* {
		visibility: hidden;
	}
	#global-header:has(#switch:checked) label[for="switch"] {
		right: var(--side);
	}
	#global-header:has(#switch:checked) label[for="switch"] span {
		transform: rotate(315deg);
		position: relative;
		z-index: 0;
	}
	#global-header:has(#switch:checked) label[for="switch"]:before {
		transform: rotate(45deg);
		top: 0;
	}
	#global-header:has(#switch:checked) label[for="switch"]:after {
		transform: rotate(315deg);
		bottom: 0;
		opacity: 0;
	}
	#global-header:has(#switch:checked) #global-nav {
		right: 0;
		background: var(--lgray);
	}
	#global-header:has(#switch:checked) #global-nav>* {
		visibility: visible;
	}
	#global-header .drop_bottom .drop_wrap {
		gap: 0 2em;
	}
	#global-header #site_ttl {
		margin-inline: 1em 0.5em;
	}
	#global-header #site_ttl img {
		max-width: 17.5vw
	}
	#global-header .header-tel {
		margin-right: 0.5em;
	}
	#global-header .header-tel a {
		font-size: 1.375rem;
	}
	#global-header .header-tel p {
		letter-spacing: 0.075em;
	}
	#global-header .btn02 {
		width: 10em;
		flex-direction: column;
		font-size: 0.94rem;
	}
	#global-header #global-nav>li {
		padding: 0;
		border-bottom: solid 1px var(--gray);
	}
	#global-header #global-nav a {
		padding: 1.0em 1em;
		background: var(--lgray);
		font-size: 0.875rem;
		display: flex;
		align-items: center;
		text-decoration: underline dotted 1px;
		text-decoration: none;
		flex-grow: 1;
	}
	#global-header .drop_bottom .drop_wrap>i {
		width: 3em;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#global-header #global-nav ul {
		opacity: 0;
		position: static;
		flex-basis: 100%;
		transform: none;
		padding: 0;
		max-height: 0;
	}
	#global-header #global-nav .drop_wrap.opened ul {
		max-height: fit-content;
		opacity: 1;
	}
	#global-header .drop_bottom .drop_wrap.opened>i {
		transform: scale(-1);
		margin-top: 0.5em;
	}
	#global-header #global-nav ul a {
		background: var(--accent01);
		color: #fff;
	}
	#global-header #global-nav ul li {
		border: none;
		padding: 0;
	}
	#global-header #global-nav ul li:nth-child(n+2) {
		border-top: solid 1px #fff;
	}
}
@media screen and (max-width:767px) {
	:root {
		--side: 100%;
		--header: 60px;
	}
	#global-header {
		position: absolute;
	}
	#global-header #site_ttl img {
		max-width: 105px;
	}
	#global-header label[for="switch"] {
		margin-right: 0;
		background: transparent;
		z-index: 50;
		position: fixed;
		top: 0;
		bottom: auto;
	}
	#global-header label[for="switch"]:before,
	#global-header label[for="switch"]:after,
	#global-header label[for="switch"] span {
		background: var(--fontcolor);
		filter: drop-shadow(0 0px 2px rgb(255 255 255));
	}
	#global-header .drop_menu {
		margin-inline: 0;
		margin-block: auto;
	}
	#global-header #NavWrap {
		position: fixed;
		width: var(--side);
		top: 0;
		bottom: 0;
		right: calc(var(--side) * -1);
		flex-direction: column-reverse;
		z-index: 40;
		background: var(--accent);
		transition: right .2s;
		justify-content: flex-end;
		gap: 0;
		overflow-y: auto;
		display: block;
	}
	#global-header:has(#switch:checked) #NavWrap {
		right: 0;
		background: var(--lgray);
	}
	#global-header #global-nav {
		position: static;
		width: 100%;
	}
	#global-header #global-nav>* {
		visibility: visible;
	}
	#global-header .drop_top {
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		border-bottom: solid 1px var(--gray);
		padding: 1em 0.5em;
		gap: 0.5em 2%;
	}
	#global-header .drop_top>* {
		flex-basis: 49%;
	}
	#global-header .header-tel {
		margin-inline: auto;
		flex-basis: 100%;
		align-items: center;
	}
	#global-header .btn02 {
		width: 100%;
	}
	#global-header:has(#switch:checked) label[for="switch"] {
		right: calc(100% - var(--header));
		background: transparent;
	}
}
/* footer
-------------------------------------------------------------------*/
#global-footer {
	color: #fff;
	padding: 4.625em 0 2.3125em;
	background: #0a1c28;
	--width: 845px;
}
#global-footer .footer-menu {
	display: flex;
	justify-content: space-between;
}
#global-footer .footer-menu .copy_style {
	margin-bottom: 2.5em;
}
#global-footer .footer-menu .delivery-btn {
	margin-bottom: 1.25em;
}
#global-footer .foot_right {
	display: flex;
	justify-content: space-between;
	width: var(--width);
	font-size: 0.875rem;
	margin-top: 1em;
}
#global-footer .foot-link-wrap {
	display: flex;
	flex-direction: column;
	gap: 1.275em;
	list-style: none;
	font-weight: 500;
}
#global-footer .foot-link-wrap .foot-link02 {
	margin-left: 0.25em;
	position: relative;
	display: flex;
	align-items: center;
	gap: 1.0em;
}
#global-footer .foot-link-wrap .foot-link02:before {
	content: "";
	display: block;
	width: 4px;
	height: 2px;
	background: #fff;
}
#global-footer .foot_bottom {
	border-top: solid 1px #686d70;
	padding-top: 1.25em;
	margin-top: 4em;
	color: #686d70;
}
#global-footer .foot_bottom-col {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#global-footer .policy-link {
	display: flex;
	gap: 1em;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.2;
}
#global-footer .policy-link p~p {
	border-left: solid 1px;
	padding-left: 1em;
}
a.pagetop {
	position: absolute;
	z-index: 15;
	bottom: 2em;
	right: 2%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: var(--key01);
	color: #fff;
	aspect-ratio: 1 / 1;
	width: 5em;
	border-radius: 50%;
	font-weight: 600;
	filter: drop-shadow(0 0.25em 5px rgba(0, 0, 0, 0.25))
}
a.pagetop:is(:hover, :focus) {
	text-decoration-color: transparent;
}
a.pagetop span {
	display: block;
	height: 1.0em;
	aspect-ratio: 1 / 1;
	border-top: solid 2px;
	border-right: solid 2px;
	transform: rotate(-45deg);
	margin-top: 0.35em;
}
:root p a:hover,
:root li a:hover,
:root a:hover {
	text-decoration-style: solid;
}
@media (hover: hover) and (pointer: fine),
(hover: none) and (pointer: coarse) {
	#global-footer .footer-menu .copy_style a:hover {
		opacity: 0.6
	}
	#global-footer .foot-link-wrap a:hover {
		color: var(--gray);
	}
	#global-footer .policy-link a:hover {
		color: #fff;
	}
	a.pagetop:hover {
		background: #fff;
		color: var(--key01);
	}
	a.pagetop:hover span {
		color: var(--key01);
	}
	:root p a,
	:root li a,
	:root a {
		text-decoration-style: solid;
	}
}
@media screen and (max-width:1200px) {
	#global-footer .footer-menu {
		flex-direction: column;
		align-items: center;
	}
	#global-footer .foot_right {
		width: 100%;
		margin-top: 2.5em;
	}
}
@media screen and (max-width:767px) {
	a.pagetop {
		position: absolute;
		bottom: auto;
		margin-top: -1em;
		z-index: 1;
		width: 3.5em;
		z-index: 10;
	}
	#global-footer {
		padding: 4em var(--inner) 6.5em;
	}
	body.post-name-seminarcontact #global-footer {
		padding-bottom: 2em;
	}
	#global-footer .footer-menu .copy_style {
		margin: 0 auto 2em;
		width: 105px;
	}
	body:not(.post-name-recruit, .post-name-seminarcontact, .post-name-thanks) #global-footer .footer-menu .delivery-btn {
		margin-bottom: 0;
	}
	body:not(.post-name-recruit, .post-name-seminarcontact, .post-name-thanks) #global-footer .footer-menu .seminar-btn {
		position: fixed;
		bottom: 1em;
		left: 1em;
		right: 1em;
		z-index: 20;
	}
	body:not(.post-name-recruit, .post-name-seminarcontact, .post-name-thanks) #global-footer .footer-menu .seminar-btn a {
		width: auto;
		box-shadow: 0 0.1em 0.5em rgba(0, 0, 0, 0.2);
		position: relative;
		z-index: 2;
		overflow: hidden;
		font-size: 1.2857rem;
	}
	body:not(.post-name-recruit, .post-name-seminarcontact, .post-name-thanks) #global-footer .footer-menu .seminar-btn a:after {
		content: "";
		display: block;
		position: absolute;
		inset: 0;
		background: linear-gradient(0deg, rgba(255, 232, 137, 1) 0%, rgba(255, 207, 7, 1) 50%, rgba(255, 232, 137, 1) 100%);
		z-index: -1;
		transition: opacity .4s;
		opacity: 1;
	}
	#global-footer .foot_right {
		flex-direction: column;
		width: 100%;
		margin-top: 2.5em;
	}
	#global-footer .foot-link-wrap {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 1em;
		font-size: 0.94rem;
	}
	#global-footer .foot-link-wrap .foot-link01 {
		flex-basis: calc(50% - 1em);
		border-bottom: solid 1px #999;
		padding-bottom: 0.5em;
	}
	#global-footer .foot-link-wrap:has(.foot-link02) {
		gap: 0.5em 1em;
		margin-bottom: 1em;
	}
	#global-footer .foot-link-wrap:has(.foot-link02) .foot-link01 {
		flex-basis: 100%;
	}
	#global-footer .foot-link-wrap .foot-link02 {
		flex-basis: calc(50% - 1.5rem);
		margin-left: 0.5em;
	}
	#global-footer .foot-link-wrap .foot-link02 a {
		font-size: 0.75rem;
	}
	#global-footer .foot-link-wrap a {
		text-decoration: underline dotted 1px #ccc;
	}
	#global-footer .foot_bottom-col {
		flex-direction: column;
		gap: 1em;
	}
}
/* print
-------------------------------------------------------------------*/
@media print {
	*html body {
		zoom: 60%;
	}
	#global-header {
		position: relative;
	}
}