@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600;900&family=Raleway:wght@600&display=swap");
.mt-0 {
	margin-top: 0px !important
}

.mb-0 {
	margin-bottom: 0px !important
}

.pt-0 {
	padding-top: 0px !important
}

.pb-0 {
	padding-bottom: 0px !important
}

.mt-5 {
	margin-top: 5px !important
}

.mb-5 {
	margin-bottom: 5px !important
}

.pt-5 {
	padding-top: 5px !important
}

.pb-5 {
	padding-bottom: 5px !important
}

.mt-10 {
	margin-top: 10px !important
}

.mb-10 {
	margin-bottom: 10px !important
}

.pt-10 {
	padding-top: 10px !important
}

.pb-10 {
	padding-bottom: 10px !important
}

.mt-15 {
	margin-top: 15px !important
}

.mb-15 {
	margin-bottom: 15px !important
}

.pt-15 {
	padding-top: 15px !important
}

.pb-15 {
	padding-bottom: 15px !important
}

.mt-20 {
	margin-top: 20px !important
}

.mb-20 {
	margin-bottom: 20px !important
}

.pt-20 {
	padding-top: 20px !important
}

.pb-20 {
	padding-bottom: 20px !important
}

.mt-25 {
	margin-top: 25px !important
}

.mb-25 {
	margin-bottom: 25px !important
}

.pt-25 {
	padding-top: 25px !important
}

.pb-25 {
	padding-bottom: 25px !important
}

.mt-30 {
	margin-top: 30px !important
}

.mb-30 {
	margin-bottom: 30px !important
}

.pt-30 {
	padding-top: 30px !important
}

.pb-30 {
	padding-bottom: 30px !important
}

.mt-35 {
	margin-top: 35px !important
}

.mb-35 {
	margin-bottom: 35px !important
}

.pt-35 {
	padding-top: 35px !important
}

.pb-35 {
	padding-bottom: 35px !important
}

.mt-40 {
	margin-top: 40px !important
}

.mb-40 {
	margin-bottom: 40px !important
}

.pt-40 {
	padding-top: 40px !important
}

.pb-40 {
	padding-bottom: 40px !important
}

.mt-45 {
	margin-top: 45px !important
}

.mb-45 {
	margin-bottom: 45px !important
}

.pt-45 {
	padding-top: 45px !important
}

.pb-45 {
	padding-bottom: 45px !important
}

.mt-50 {
	margin-top: 50px !important
}

.mb-50 {
	margin-bottom: 50px !important
}

.pt-50 {
	padding-top: 50px !important
}

.pb-50 {
	padding-bottom: 50px !important
}

.mt-55 {
	margin-top: 55px !important
}

.mb-55 {
	margin-bottom: 55px !important
}

.pt-55 {
	padding-top: 55px !important
}

.pb-55 {
	padding-bottom: 55px !important
}

.mt-60 {
	margin-top: 60px !important
}

.mb-60 {
	margin-bottom: 60px !important
}

.pt-60 {
	padding-top: 60px !important
}

.pb-60 {
	padding-bottom: 60px !important
}

.mt-65 {
	margin-top: 65px !important
}

.mb-65 {
	margin-bottom: 65px !important
}

.pt-65 {
	padding-top: 65px !important
}

.pb-65 {
	padding-bottom: 65px !important
}

.mt-70 {
	margin-top: 70px !important
}

.mb-70 {
	margin-bottom: 70px !important
}

.pt-70 {
	padding-top: 70px !important
}

.pb-70 {
	padding-bottom: 70px !important
}

.mt-75 {
	margin-top: 75px !important
}

.mb-75 {
	margin-bottom: 75px !important
}

.pt-75 {
	padding-top: 75px !important
}

.pb-75 {
	padding-bottom: 75px !important
}

.mt-80 {
	margin-top: 80px !important
}

.mb-80 {
	margin-bottom: 80px !important
}

.pt-80 {
	padding-top: 80px !important
}

.pb-80 {
	padding-bottom: 80px !important
}

.mt-85 {
	margin-top: 85px !important
}

.mb-85 {
	margin-bottom: 85px !important
}

.pt-85 {
	padding-top: 85px !important
}

.pb-85 {
	padding-bottom: 85px !important
}

.mt-90 {
	margin-top: 90px !important
}

.mb-90 {
	margin-bottom: 90px !important
}

.pt-90 {
	padding-top: 90px !important
}

.pb-90 {
	padding-bottom: 90px !important
}

.mt-95 {
	margin-top: 95px !important
}

.mb-95 {
	margin-bottom: 95px !important
}

.pt-95 {
	padding-top: 95px !important
}

.pb-95 {
	padding-bottom: 95px !important
}

.mt-100 {
	margin-top: 100px !important
}

.mb-100 {
	margin-bottom: 100px !important
}

.pt-100 {
	padding-top: 100px !important
}

.pb-100 {
	padding-bottom: 100px !important
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	vertical-align: baseline;
	color: inherit;
	font-weight: inherit
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}

blockquote, q {
	quotes: none
}

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

input, textarea {
	margin: 0;
	padding: 0
}

ol, ul {
	list-style: none
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

caption, th {
	text-align: left
}

a:focus {
	outline: none
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden
}

.clearfix {
	min-height: 1px
}

* html .clearfix {
	height: 1px
}

.both {
	clear: both
}

.inline_block {
	display: inline-block;
	*display: inline;
	*zoom: 1
}

img {
	max-width: 100%;
	vertical-align: bottom
}

picture {
	max-width: 100%;
	vertical-align: bottom
}

picture img, picture source {
	max-width: 100%;
	vertical-align: bottom
}

table {
	width: 100%
}

*:focus {
	outline: none
}

* {
	margin: 0;
	padding: 0
}

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

html {
	font-size: 62.5%
}

body {
	font-size: 1.6rem;
	line-height: 1.7;
	font-family: "Noto Sans JP", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	min-width: 320px;
	font-weight: 500;
	color: #000;
	background: #FFF
}

@media screen and (max-width: 768px), print {
	body {
		font-size: 1.5rem
	}
}

a {
	text-decoration: none;
	color: inherit;
	font-weight: inherit;
	transition: .2s
}

a:hover {
	text-decoration: none;
	opacity: .9
}

.none {
	display: none
}

.clear::after {
	display: block;
	clear: both;
	content: ""
}

sup {
	position: relative;
	font-size: 70%;
	top: -5px
}

.notes {
	font-size: .8em
}

.tc {
	text-align: center !important
}

.tr {
	text-align: right !important
}

.tl {
	text-align: left !important
}

@media screen and (min-width: 768px), print {
	.pc-tc {
		text-align: center !important
	}
	.pc-tr {
		text-align: right !important
	}
}

@media screen and (max-width: 768px), print {
	.pc-tc {
		text-align: left !important
	}
}

.cl {
	clear: both
}

.inner {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 10
}

@media screen and (min-width: 768px), print {
	.inner {
		max-width: 1100px
	}
}

.txt {
	margin-bottom: 1em
}

.txtlink {
	text-decoration: underline !important
}

*:before, *:after {
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

@media screen and (max-width: 768px), print {
	.pc-only {
		display: none !important
	}
}

@media screen and (min-width: 768px), print {
	.sp-only {
		display: none !important
	}
}

#wrapper {
	overflow: hidden
}

.contentOuter {
	padding: 0 15px
}

.contentInnter {
	max-width: 1880px;
	margin: 0 auto
}

main {
	overflow: hidden;
	display: block
}

.oflex {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0
}

.oflex__item {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin: 0
}

.oflex[data-dir="normal"] {
	flex-direction: row
}

.oflex[data-dir="reverse"] {
	flex-direction: row-reverse
}

.oflex[data-align~="start"] {
	justify-content: flex-start
}

.oflex[data-align~="center"] {
	justify-content: center
}

.oflex[data-align~="end"] {
	justify-content: flex-end
}

.oflex[data-align~="justify"] {
	justify-content: space-between
}

.oflex[data-align~="top"] {
	align-items: flex-start
}

.oflex[data-align~="middle"] {
	align-items: center
}

.oflex[data-align~="bottom"] {
	align-items: flex-end
}

.oflex__item[data-align~="start"] {
	align-items: flex-start
}

.oflex__item[data-align~="center"] {
	align-items: center
}

.oflex__item[data-align~="end"] {
	align-items: flex-end
}

.oflex__item[data-align~="top"] {
	justify-content: flex-start;
	align-self: stretch
}

.oflex__item[data-align~="middle"] {
	justify-content: center;
	align-self: stretch
}

.oflex__item[data-align~="bottom"] {
	justify-content: flex-end;
	align-self: stretch
}

.oflex[data-gutter] {
	width: auto
}

.oflex[data-gutter]>.oflex__item {
	border: solid transparent;
	background-clip: padding-box
}

.oflex[data-gutter="small"] {
	margin: -1.25vw
}

.oflex[data-gutter="small"]>.oflex__item {
	border-width: 1.25vw
}

.oflex[data-gutter="normal"] {
	margin: -2.5vw
}

.oflex[data-gutter="normal"]>.oflex__item {
	border-width: 2.5vw
}

.oflex[data-gutter="large"] {
	margin: -3.75vw
}

.oflex[data-gutter="large"]>.oflex__item {
	border-width: 3.75vw
}

.oflex__item[data-grid~="sp1"] {
	width: 8.33333%
}

.oflex__item[data-grid~="sp2"] {
	width: 16.66667%
}

.oflex__item[data-grid~="sp3"] {
	width: 25%
}

.oflex__item[data-grid~="sp4"] {
	width: 33.33333%
}

.oflex__item[data-grid~="sp5"] {
	width: 41.66667%
}

.oflex__item[data-grid~="sp6"] {
	width: 50%
}

.oflex__item[data-grid~="sp7"] {
	width: 58.33333%
}

.oflex__item[data-grid~="sp8"] {
	width: 66.66667%
}

.oflex__item[data-grid~="sp9"] {
	width: 75%
}

.oflex__item[data-grid~="sp10"] {
	width: 83.33333%
}

.oflex__item[data-grid~="sp11"] {
	width: 91.66667%
}

.oflex__item[data-grid~="sp12"] {
	width: 100%
}

.oflex__item[data-grid~="spFive"] {
	width: 20%
}

@media screen and (min-width: 768px) {
	.oflex[data-gutter="small"] {
		margin: -.5vw
	}
	.oflex[data-gutter="small"]>.oflex__item {
		border-width: .5vw
	}
	.oflex[data-gutter="normal"] {
		margin: -1vw
	}
	.oflex[data-gutter="normal"]>.oflex__item {
		border-width: 1vw
	}
	.oflex[data-gutter="large"] {
		margin: -1.5vw
	}
	.oflex[data-gutter="large"]>.oflex__item {
		border-width: 1.5vw
	}
	.oflex__item[data-grid~="tab1"] {
		width: 8.33333%
	}
	.oflex__item[data-grid~="tab2"] {
		width: 16.66667%
	}
	.oflex__item[data-grid~="tab3"] {
		width: 25%
	}
	.oflex__item[data-grid~="tab4"] {
		width: 33.33333%
	}
	.oflex__item[data-grid~="tab5"] {
		width: 41.66667%
	}
	.oflex__item[data-grid~="tab6"] {
		width: 50%
	}
	.oflex__item[data-grid~="tab7"] {
		width: 58.33333%
	}
	.oflex__item[data-grid~="tab8"] {
		width: 66.66667%
	}
	.oflex__item[data-grid~="tab9"] {
		width: 75%
	}
	.oflex__item[data-grid~="tab10"] {
		width: 83.33333%
	}
	.oflex__item[data-grid~="tab11"] {
		width: 91.66667%
	}
	.oflex__item[data-grid~="tab12"] {
		width: 100%
	}
	.oflex__item[data-grid~="tabFive"] {
		width: 20%
	}
	.oflex__item[data-grid~="tabAuto"] {
		width: auto
	}
}

@media screen and (min-width: 1024px) {
	.oflex__item[data-grid~="lap1"] {
		width: 8.33333%
	}
	.oflex__item[data-grid~="lap2"] {
		width: 16.66667%
	}
	.oflex__item[data-grid~="lap3"] {
		width: 25%
	}
	.oflex__item[data-grid~="lap4"] {
		width: 33.33333%
	}
	.oflex__item[data-grid~="lap5"] {
		width: 41.66667%
	}
	.oflex__item[data-grid~="lap6"] {
		width: 50%
	}
	.oflex__item[data-grid~="lap7"] {
		width: 58.33333%
	}
	.oflex__item[data-grid~="lap8"] {
		width: 66.66667%
	}
	.oflex__item[data-grid~="lap9"] {
		width: 75%
	}
	.oflex__item[data-grid~="lap10"] {
		width: 83.33333%
	}
	.oflex__item[data-grid~="lap11"] {
		width: 91.66667%
	}
	.oflex__item[data-grid~="lap12"] {
		width: 100%
	}
	.oflex__item[data-grid~="lapFive"] {
		width: 20%
	}
	.oflex__item[data-grid~="lapAuto"] {
		width: auto
	}
}

@media screen and (min-width: 1200px) {
	.oflex__item[data-grid~="desk1"] {
		width: 8.33333%
	}
	.oflex__item[data-grid~="desk2"] {
		width: 16.66667%
	}
	.oflex__item[data-grid~="desk3"] {
		width: 25%
	}
	.oflex__item[data-grid~="desk4"] {
		width: 33.33333%
	}
	.oflex__item[data-grid~="desk5"] {
		width: 41.66667%
	}
	.oflex__item[data-grid~="desk6"] {
		width: 50%
	}
	.oflex__item[data-grid~="desk7"] {
		width: 58.33333%
	}
	.oflex__item[data-grid~="desk8"] {
		width: 66.66667%
	}
	.oflex__item[data-grid~="desk9"] {
		width: 75%
	}
	.oflex__item[data-grid~="desk10"] {
		width: 83.33333%
	}
	.oflex__item[data-grid~="desk11"] {
		width: 91.66667%
	}
	.oflex__item[data-grid~="desk12"] {
		width: 100%
	}
	.oflex__item[data-grid~="deskFive"] {
		width: 20%
	}
	.oflex__item[data-grid~="deskAuto"] {
		width: auto
	}
}

#header {
	top: 0;
	position: fixed;
	width: 100%;
	background: #FFF;
	z-index: 999;
	box-shadow: 2px 2px 18px -5px rgba(0, 0, 0, 0.3)
}

#header .header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1100px;
	margin: auto
}

@media screen and (max-width: 768px), print {
	#header .header_inner {
		padding: 5px;
		position: relative;
		z-index: 1000
	}
}

@media screen and (max-width: 768px), print {
	#header .header_inner .logo {
		width: 30%
	}
	#header .header_inner .logo a {
		display: block
	}
}

@media screen and (min-width: 768px), print {
	#header .header_inner .logo {
		width: 200px;
		border-radius: 0 0 5px 5px;
		padding: 2px 20px 6px
	}
	#header .header_inner .logo h1, #header .header_inner .logo .logo_wrap {
		height: 53px
	}
}

#header .header_inner .logo h1 {
	background: url("/common/img/siteid.svg") no-repeat center center;
	background-size: contain;
	overflow: hidden;
	text-indent: 300%;
	white-space: nowrap
}

#header .header_inner .logo .logo_wrap img {
	width: 160px;
	height: 53px
}

#header .header_btn_area {
	display: flex;
	justify-content: flex-end
}

@media screen and (max-width: 768px), print {
	#header .header_btn_area {
		width: 68%;
		padding-right: calc(2% + 40px)
	}
}

#header .header_btn_area a:hover {
	background: #ff8960
}

#header .header_btn_area .header_btn {
	text-align: center;
	font-weight: bold
}

@media screen and (min-width: 768px), print {
	#header .header_btn_area .header_btn {
		border-radius: 5px;
		box-shadow: 1px 1px 3px #a2a2a2
	}
	#header .header_btn_area .header_btn:not(:last-child) {
		margin-right: 20px
	}
}

@media screen and (max-width: 768px), print {
	#header .header_btn_area a.header_btn {
		display: flex;
		align-items: center;
		padding: .2em .5em;
		border-radius: 5px;
		color: #147CD9;
		border: solid 1px #147CD9;
		background: #FFF;
		font-size: 1rem
	}
	#header .header_btn_area a.header_btn:not(:last-child) {
		margin-right: 8px
	}
	#header .header_btn_area a.header_btn.header_inq {
		display: none !important
	}
	#header .header_btn_area a.header_btn.header_cv {
		background: #ff8960;
		color: #FFF;
		border-color: #ff8960
	}
}

@media screen and (min-width: 768px), print {
	#header .header_btn_area .header_req {
		width: 200px;
		height: 44px;
		background: #147CD9;
		display: flex;
		align-items: center;
		color: #FFF;
		line-height: 1.1em;
		justify-content: center
	}
	#header .header_btn_area .header_req.header_cv {
		background: #ff8960;
		color: #FFF;
		border-color: #ff8960
	}
}

@media screen and (max-width: 768px), print {
	#header .header_nav_wrap .nav_btn {
		padding: 0 !important;
		position: absolute;
		right: 2%;
		top: 10px;
		width: 44px;
		height: 40px;
		border: 0;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		align-items: center;
		background: transparent;
		transition: .35s ease-in-out;
		z-index: 1010
	}
}

@media screen and (max-width: 768px) and (min-width: 768px), print {
	#header .header_nav_wrap .nav_btn {
		display: none
	}
}

@media screen and (max-width: 768px), print {
	#header .header_nav_wrap .nav_btn span:first-of-type {
		border-top: #147CD9 solid 1px;
		width: 30px
	}
	#header .header_nav_wrap .nav_btn span:nth-of-type(2) {
		border-top: #147CD9 solid 1px;
		width: 30px
	}
	#header .header_nav_wrap .nav_btn span:nth-of-type(3) {
		border-top: #147CD9 solid 1px;
		width: 30px
	}
	#header .header_nav_wrap .nav_btn span:last-of-type::after {
		color: #147CD9;
		text-align: center;
		font-weight: bold;
		font-size: 1rem;
		line-height: 1em;
		font-family: "Noto Sans JP", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
		content: "メニュー"
	}
	#header .header_nav_wrap.active .nav_btn span:first-of-type {
		transform: rotate(45deg);
		margin-top: 9px
	}
	#header .header_nav_wrap.active .nav_btn span:nth-of-type(2) {
		transform: rotate(-45deg);
		transform: rotate(-45deg) translateY(-4px) translateX(3px)
	}
	#header .header_nav_wrap.active .nav_btn span:nth-of-type(3) {
		opacity: 0
	}
	#header .header_nav_wrap.active .nav_btn span:last-of-type::after {
		font-family: "Noto Sans JP", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
		text-align: center;
		font-weight: bold;
		font-size: 10px;
		content: "閉じる"
	}
	#header .header_nav_wrap.active .header_nav {
		top: 0
	}
	#header .header_nav_wrap .header_nav {
		z-index: 999;
		height: 100%;
		width: 100%;
		position: fixed;
		right: 0;
		top: -100vh;
		background: #F3F8FD;
		padding: 70px 5% 0;
		transition: .5s ease-in-out;
		overflow-y: auto
	}
	#header .header_nav_wrap .header_nav li.header_nav_item {
		border-bottom: solid 1px rgba(20, 124, 217, 0.5)
	}
	#header .header_nav_wrap .header_nav li.header_nav_item:first-of-type {
		border-top: solid 1px rgba(20, 124, 217, 0.5)
	}
	#header .header_nav_wrap .header_nav li.header_nav_item .header_nav_sub {
		display: none
	}
	#header .header_nav_wrap .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst {
		padding-bottom: 10px
	}
	#header .header_nav_wrap .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst a {
		padding: 4px 15px;
		color: #147CD9;
		display: block;
		font-weight: bold
	}
	#header .header_nav_wrap .header_nav li.header_nav_item>a {
		color: #147CD9;
		font-size: 1.8rem;
		line-height: 2.8em;
		display: block;
		width: 100%;
		font-weight: bold
	}
	#header .header_nav_wrap .header_nav li.header_nav_item.nav_acd>a {
		pointer-events: none;
		position: relative
	}
	#header .header_nav_wrap .header_nav li.header_nav_item.nav_acd>a::before {
		margin: auto;
		top: 0;
		bottom: 0;
		position: absolute;
		content: '';
		display: block;
		border-top: 2px solid #005bb5;
		width: 20px;
		height: 0;
		right: 10px;
		transition-duration: .5s;
		transform: rotate(90deg)
	}
	#header .header_nav_wrap .header_nav li.header_nav_item.nav_acd>a::after {
		margin: auto;
		top: 0;
		bottom: 0;
		position: absolute;
		content: '';
		display: block;
		border-top: 2px solid #005bb5;
		width: 20px;
		height: 0;
		right: 10px;
		transition-duration: .5s
	}
	#header .header_nav_wrap .header_nav li.header_nav_item.nav_acd.open>a::before {
		transform: rotate(0deg)
	}
	#header .header_sp_nav ul {
		display: flex;
		background: rgba(20, 124, 217, 0.2)
	}
	#header .header_sp_nav ul li {
		width: 100%
	}
	#header .header_sp_nav ul li a {
		display: block;
		color: #147CD9;
		text-align: center;
		font-weight: bold;
		line-height: 2.6em
	}
	#header .header_sp_nav ul li:not(:last-child) {
		border-right: 1px solid #FFF
	}
}

@media screen and (min-width: 768px), print {
	#header .header_nav_wrap {
		background: rgba(20, 124, 217, 0.3);
		margin: 4px 0 0
	}
	#header .header_nav_wrap .nav_btn {
		display: none
	}
	#header .header_nav {
		max-width: 1450px;
		margin: auto;
		display: flex
	}
    
    #header .header_nav.x2 {
        justify-content: center;
    }
    
	#header .header_nav li.header_nav_item {
		text-align: center;
		border-right: solid 1px rgba(20, 124, 217, 0.2);
		width: 19%
	}
    
    #header .header_nav.x2 li.header_nav_item {
        box-sizing: border-box;
        width: fit-content;
    }
    
	#header .header_nav li.header_nav_item:first-of-type {
		border-left: solid 1px rgba(20, 124, 217, 0.2)
	}
	#header .header_nav li.header_nav_item.shikasta {
		width: 24%
	}
    #header .header_nav.x2 li.header_nav_item.shikasta {
		width: fit-content;
	}
	#header .header_nav li.header_nav_item a span {
		font-size: .8em
	}
	#header .header_nav li.header_nav_item .header_nav_sub {
		display: block;
		visibility: hidden;
		position: absolute;
		background-color: rgba(20, 124, 217, 0.8);
		z-index: 100;
		left: 0;
		padding: 0 0 20px;
		transition: .1s;
		min-width: 100%;
		box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1) inset
	}
	#header .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst {
		opacity: 0;
		text-align: left;
		max-width: 1180px;
		margin: auto;
		display: flex;
		flex-flow: wrap
	}
	#header .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst li {
		width: calc((100% - 40px)/5);
		background-color: #FFF;
		position: relative;
        font-size: .85em;
	}
	#header .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst li:nth-child(n+6) {
		margin-top: 5px
	}
	#header .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst li:not(:nth-child(5n+5)) {
		margin-right: 10px
	}
	#header .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst li a::after {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		border-top: solid 2px #FFF;
		border-right: solid 2px #FFF;
		transform: rotate(45deg);
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		right: .5em;
		border-color: #147CD9
	}
	#header .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst a {
		padding: 8px 15px;
		color: #147CD9;
		display: block;
		font-weight: bold
	}
	/*
	#header .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst a:hover {
		background: #ff8960;
		color: #FFF
	}
	#header .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst a:hover::after {
		border-color: #FFF
	}
	*/
	
	#header .header_nav li.header_nav_item .header_nav_sub .header_nav_sub_lst a:hover {
		opacity: .8;
	}
	#header .header_nav li.header_nav_item>a {
		color: #147CD9;
		font-size: 1.8rem;
		line-height: 1.4em;
		display: flex;
		height: 80px;
		align-items: center;
		width: 100%;
		text-align: center;
		font-weight: bold
	}
	
	#header .header_nav li.header_nav_item>a.x2 {
		background: #F8B83D;
		color: #fff;
	}
    
    #header .header_nav.x2 li.header_nav_item>a {
        padding: 0 1em;
        box-sizing: border-box;
    }
	#header .header_nav li.header_nav_item>a:hover {
		background: #147CD9;
		color: #FFF
	}
	
	
	
	#header .header_nav li.header_nav_item>a:hover+.header_nav_sub {
		display: block;
		visibility: visible;
		padding-top: 15px
	}
	#header .header_nav li.header_nav_item>a:hover+.header_nav_sub .header_nav_sub_lst {
		opacity: 1
	}
	#header .header_nav li.header_nav_item>a+.header_nav_sub:hover {
		display: block;
		visibility: visible;
		padding-top: 15px
	}
	#header .header_nav li.header_nav_item>a+.header_nav_sub:hover .header_nav_sub_lst {
		opacity: 1
	}
}

@media screen and (max-width: 768px) {
	#header .header_nav li.header_nav_item>a {
		line-height: 1.8em !important;
		padding: .5em 0;
	}
	
	#header .header_nav li.header_nav_item>a.x2 {
		color: #FF8960;
	}
}

#breadcrumb {
	margin: 0 auto 20px;
	background: #f0f0f0;
	border-radius: 3px
}

@media screen and (max-width: 768px), print {
	#breadcrumb {
		margin-left: calc( ( 100% - 100vw) / 2);
		margin-right: calc( ( 100% - 100vw) / 2);
		margin-bottom: 0;
		overflow-x: scroll
	}
}

#breadcrumb #breadlist {
	display: flex;
	padding: 4px 10px
}

@media screen and (max-width: 768px), print {
	#breadcrumb #breadlist {
		overflow-scrolling: touch;
		overflow: auto;
		white-space: nowrap;
		padding: 6px 10px
	}
}

#breadcrumb #breadlist li {
	padding-right: 8px;
	font-size: 11px
}

#breadcrumb #breadlist li a {
	display: block
}

#breadcrumb #breadlist li a::after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 0 1px 4px;
	border-right: solid 1px;
	border-bottom: solid 1px;
	transform: rotate(-45deg)
}

footer {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 1rem 0
}

footer h2 {
	margin: 40px 0
}

footer h2 img {
	width: 150px
}

footer .sns_icon_lst {
	display: flex;
	justify-content: center;
	margin: 0 auto 24px
}

footer .sns_icon_lst li {
	padding: 0 5px
}

footer .sns_icon_lst li img {
	width: 40px
}

footer .footer-copy {
	font-size: .8em
}

.p-top_mv {
	background: url(../img/main_img.jpg) repeat-x 24vw center/100%;
	height: 540px;
	display: flex;
	flex-flow: column;
	justify-content: center
}

@media screen and (max-width: 768px), print {
	.p-top_mv {
		background: url(../img/main_img.jpg) repeat-x -21vw center/cover;
		padding-top: 40px;
		justify-content: flex-start;
		height: 500px;
		position: relative
	}
}

.p-top_mv_ttl_wrap {
	background: #147CD9;
	max-width: 500px;
	box-shadow: 1px 1px 3px #a2a2a2
}

@media screen and (max-width: 768px), print {
	.p-top_mv_ttl_wrap {
		max-width: 60%;
		padding-bottom: 10px
	}
}

.p-top_mv_ttl {
	text-align: center
}

.p-top_mv_ttl span {
	background: #FFF;
	display: block;
	color: #147CD9;
	font-weight: 900
}

@media screen and (max-width: 768px), print {
	.p-top_mv_ttl span {
		font-size: 4.5vw
	}
}

.p-top_mv_ttl .p-mv_ttllogo {
	text-indent: -9999px;
	display: block;
	background: url(/common/img/siteid_wt.svg) no-repeat center center/contain;
	width: 80%;
	height: 80px;
	margin: 20px auto 0
}

@media screen and (max-width: 768px), print {
	.p-top_mv_ttl .p-mv_ttllogo {
		height: 40px;
		margin: 10px auto
	}
}

.p-top_mv_catch {
	color: #FFF;
	padding: 20px;
	font-size: 1.2em;
    text-align: center;
}

.p-top_mv_catch strong {
    font-weight: 600;
    font-size: 1.5em;
    letter-spacing: .08em;
}

@media screen and (max-width: 768px), print {
	.p-top_mv_catch {
		background: rgba(20, 124, 217, 0.8);
		padding: 3%;
		font-size: 13px;
		position: absolute;
		top: 335px;
		margin: auto
	}
}

.p-top_features {
	background: #faf6ec;
	padding: 60px 0
}

@media screen and (max-width: 768px), print {
	.p-top_features {
		padding: 40px 0
	}
}

.p-top_feature_lst {
	counter-reset: fl-count;
	display: flex;
	justify-content: space-between
}

@media screen and (max-width: 768px), print {
	.p-top_feature_lst {
		flex-flow: column
	}
}

.p-top_feature_lst li {
	margin-top: 4em;
	background: #FFF;
	border-radius: 5%;
	padding: 2.5em 1em 1em;
	position: relative;
	display: flex;
	flex-flow: column;
	justify-content: space-between
}

@media screen and (min-width: 768px), print {
	.p-top_feature_lst li {
		width: 32%
	}
}

.p-top_feature_lst li::before {
	content: counter(fl-count);
	counter-increment: fl-count;
	background-color: #FFF;
	color: rgba(20, 124, 217, 0.6);
	font-family: "Raleway", sans-serif;
	font-size: 60px;
	display: block;
	position: absolute;
	line-height: 80px;
	text-align: center;
	height: 80px;
	width: 80px;
	border-radius: 50%;
	margin: auto;
	left: 0;
	right: 0;
	top: -48px
}

.p-top_feature_lst li .imgbox {
	margin-top: 10px
}

.p-top_feature_lst li .imgbox img {
	width: 100%;
	height: 160px;
	object-fit: cover
}

.p-top_feature_lst .p-top_feature_lst_ttl {
	text-align: center;
	font-weight: 600;
	font-size: 1.4em;
	margin-bottom: 10px;
	line-height: 1.4em
}

.p-top_recommend {
	padding: 60px 0
}

@media screen and (max-width: 768px), print {
	.p-top_recommend {
		padding: 40px 0
	}
}

.p-top_recommend .m-lst_check {
	margin: auto;
	background: rgba(255, 137, 96, 0.07);
	width: fit-content;
	padding: 20px 60px;
	border-radius: 5%
}

@media screen and (max-width: 768px), print {
	.p-top_recommend .m-lst_check {
		padding: 20px 5%
	}
}

.p-top_instructor {
	padding: 60px 0;
	background: rgba(25, 189, 178, 0.05);
}

.p-top_inst_slider {
	margin-bottom: 50px !important
}

.p-top_inst_slider li.slick-slide {
	background: #FFF;
	border-radius: 5%;
	max-width: 100%;
	margin: 0 20px;
	padding: 20px
}

@media screen and (min-width: 768px), print {
	.p-top_inst_slider li.slick-slide {
		width: 800px
	}
}

@media screen and (max-width: 768px), print {
	.p-top_inst_slider li.slick-slide {
		padding: 10px
	}
}

.p-top_inst_slider {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-direction: row;
    gap:20px 20px;
}

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

    .p-top_inst_slider {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        flex-direction: column;
        gap:10px 0;
        margin-bottom: 20px !important
    }

}

.p-top_inst_slider li {
    width: 48%;
    background: #fff;
    box-sizing: border-box;
    padding: 1em 1.5em;
    border-radius: 15px;
}

@media screen and (max-width: 768px), print {
    .p-top_inst_slider li {
        width: 90%;
        margin: auto;
        padding: 1.5em 1em;
        border-radius: 15px;
    }
}

.p-top_inst_box {
    width: 100%;
    margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	height: auto;
    
}



@media screen and (max-width: 768px), print {
	.p-top_inst_box {
		flex-flow: column;
		justify-content: flex-start
	}
}

.p-top_inst_box .p-top_inst_photo {
	width: 34%;
}

@media screen and (max-width: 768px), print {
	.p-top_inst_box .p-top_inst_photo {
		width: 60%;
        margin: 0 auto 5px auto;
        
	}
}

.p-top_inst_box .p-top_inst_photo img {
	height: auto
}

.p-top_inst_box .p-top_inst_txt {
    width: 62%
}

@media screen and (max-width: 768px), print {
	.p-top_inst_box .p-top_inst_txt {
		width: 100%
	}
}

.p-top_inst_box .p-top_inst_txt .p-top_inst_name {
	font-weight: 600;
	font-size: 1.4em
}

@media screen and (max-width: 768px), print {
	.p-top_inst_box .p-top_inst_txt .p-top_inst_name {
		font-size: 1.4em;
		text-align: center
	}
}

.p-top_inst_box .p-top_inst_txt .p-top_inst_kata {
	color: #19bdb2;
    font-size: .8em;
	margin-bottom: 10px
}

@media screen and (max-width: 768px), print {
	.p-top_inst_box .p-top_inst_txt .p-top_inst_kata {
		text-align: center
	}
}

.p-top_inst_box .p-top_inst_txt .txt {
	font-size: .8em
}

.p-top_course {
	padding: 50px 0;
	background: rgba(250, 246, 236, 0.5);
	height: 100%;
}

.p-top_course .p-top_course_s_wrap {
	background: #FFF;
	padding: 1em;
	border-radius: 10px;
	box-shadow: 3px 3px 15px rgba(61, 61, 61, 0.05)
}

.p-top_course .p-top_cource_s_box {
	background: rgba(250, 246, 236, 0.5);
	box-shadow: 1px 1px 3px rgba(61, 61, 61, 0.05);
	padding: 1em;
	border-radius: 5px
}

.p-top_course .p-top_cource_s_box .p-top_cource_s_ttl {
	text-align: center;
	font-size: 1.2em;
	font-weight: 900;
	line-height: 1.3em;
	border-bottom: solid 1px #147CD9;
	padding-bottom: 5px;
	margin-bottom: 5px
}

@media screen and (max-width: 768px), print {
	.p-top_course .p-top_cource_s_box .p-top_cource_s_ttl {
		font-size: 1.3em
	}
}

.p-top_course .p-top_cource_s_box .p-top_cource_s_ttl span {
	background: #19bdb2;
	font-size: .8em;
	font-weight: normal;
	color: #FFF;
	display: inline-block;
	padding: .1em 1em;
	border-radius: 1em;
	margin-bottom: 5px
}

.p-top_course .p-top_cource_s_box .price {
	color: #ff8960;
	font-weight: 800;
	font-size: 1.4em;
	text-align: right
}

.p-top_course .p-top_cource_s_box .price span {
	font-size: .7em
}

div.p-top_cource_box02 {
	margin-top: 40px;
	padding: 1em;
	background: #FFF;
	box-shadow: 3px 3px 15px rgba(61, 61, 61, 0.05)
}

div.p-top_cource_box02 .ms_priceBox {
	background: rgba(255, 137, 96, 0.1);
	border-radius: 5px;
	padding: .5em
}

div.p-top_cource_box02 .ms_priceBox .price {
	display: flex;
	align-items: center
}

@media screen and (max-width: 768px), print {
	div.p-top_cource_box02 .ms_priceBox .price {
		flex-flow: column
	}
}

div.p-top_cource_box02 .ms_priceBox .price li {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 1.2em
}

div.p-top_cource_box02 .ms_priceBox .price li:not(:last-of-type) {
	margin-right: 1em
}

div.p-top_cource_box02 .ms_priceBox .price li span {
	font-size: .8em
}

div.p-top_cource_box02 .p-top_cource_ttl {
	text-align: center;
	font-size: 2em;
	font-weight: 600;
	line-height: 1.3em;
	border-bottom: solid 1px #147CD9;
	padding-bottom: 5px;
	margin-bottom: 10px;
	position: relative
}

@media screen and (max-width: 768px), print {
	div.p-top_cource_box02 .p-top_cource_ttl {
		font-size: 1.5em
	}
}

div.p-top_cource_box02 .p-top_cource_ttl span.sub_ttl {
	color: #ff8960;
	font-weight: 600;
	font-size: .9em;
	position: relative;
	display: inline-block;
	padding: .1em 1em;
	margin-bottom: 5px;
	z-index: 2
}

@media screen and (max-width: 768px), print {
	div.p-top_cource_box02 .p-top_cource_ttl span.sub_ttl {
		line-height: 1.2em;
		padding: .1em .8em
	}
}

div.p-top_cource_box02 .p-top_cource_ttl span.sub_ttl::before, div.p-top_cource_box02 .p-top_cource_ttl span.sub_ttl::after {
	content: "";
	width: 3px;
	height: 1.4em;
	background: #ff8960;
	border-radius: 2px;
	display: block;
	position: absolute;
	top: .2em;
	z-index: 1
}

@media screen and (max-width: 768px), print {
	div.p-top_cource_box02 .p-top_cource_ttl span.sub_ttl::before, div.p-top_cource_box02 .p-top_cource_ttl span.sub_ttl::after {
		top: 0;
		height: 100%
	}
}

div.p-top_cource_box02 .p-top_cource_ttl span.sub_ttl::before {
	left: 0;
	transform: rotate(-30deg)
}

div.p-top_cource_box02 .p-top_cource_ttl span.sub_ttl::after {
	right: 0;
	transform: rotate(30deg)
}

div.p-top_cource_box02 .p-top_cource_ttl span.icon_zoom {
	display: inline-block;
	margin-bottom: -10px;
	margin-right: 10px;
	width: 48px;
	height: 48px
}

@media screen and (max-width: 768px), print {
	div.p-top_cource_box02 .p-top_cource_ttl span.icon_zoom {
		position: absolute;
		left: 10px;
		top: -.45em
	}
}

div.p-top_cource_box02.syuttyo .m-btn_wrap .m-btn03 {
	display: inline-block
}

@media screen and (min-width: 768px), print {
	div.p-top_cource_box02.syuttyo .m-btn_wrap .m-btn03 {
		width: 280px;
		margin: 0 10px
	}
}

@media screen and (max-width: 768px), print {
	div.p-top_cource_box02.syuttyo .m-btn_wrap .m-btn03:first-of-type {
		margin-bottom: 10px
	}
}

.p-top_cource_img img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

div.p-top_cource_box03 {
	margin-top: 40px;
	padding: 1em;
	background: #FFF;
	box-shadow: 3px 3px 15px rgba(61, 61, 61, 0.05)
}

div.p-top_cource_box03 .p-top_cource_ttl {
	text-align: center;
	font-size: 2em;
	font-weight: 600;
	line-height: 1.3em;
	border-bottom: solid 1px #147CD9;
	padding-bottom: 5px;
	margin-bottom: 10px
}

.p-top_cource_img {
	text-align: center
}

.p-top_cource_img img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

@media screen and (max-width: 768px), print {
	.p-top_cource_img img {
		width: 80%
	}
}

.p-top_hospital {
	background: url(/common/img/contact_bg.jpg) no-repeat center center/cover;
	padding: 60px 0
}

.p-top_hospital .inner {
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(8px);
	border-radius: 10px;
	box-shadow: 3px 3px 15px rgba(61, 61, 61, 0.05)
}

.p-top_hospital .inner .m-ttl_02 {
	border-radius: 10px 10px 0 0
}

.p-top_hospital .inner .p-top_hospital_catch {
	display: flex;
	align-items: center;
	color: #147CD9;
	margin: auto;
	justify-content: center;
	font-size: 1.3em;
	font-weight: bold;
	margin-bottom: 20px
}

@media screen and (min-width: 768px), print {
	.p-top_hospital .inner .p-top_hospital_catch::before, .p-top_hospital .inner .p-top_hospital_catch::after {
		content: "";
		width: 20%;
		height: 1px;
		background: #147CD9;
		margin: 0 1em
	}
}

.p-top_hospital .oflex {
	padding: 0 20px
}

.p-top_faq {
	padding: 80px 0
}

.p-top_faq .m-lst_faq dt {
	background: rgba(255, 137, 96, 0.1);
	font-size: 1.2em;
	font-weight: 600;
	padding: .5em 1em .5em 3em;
	position: relative;
	line-height: 1.4em
}

.p-top_faq .m-lst_faq dt::before {
	background: #ff8960;
	color: #FFF;
	content: "Q";
	display: block;
	width: 2em;
	height: 2em;
	line-height: 2em;
	text-align: center;
	border-radius: 50%;
	position: absolute;
	left: .5em;
	top: .3em
}

.p-top_faq .m-lst_faq dd {
	padding: .5em 1em 2em
}

.m-box_SNS {
	padding: 60px 0 80px;
	background: rgba(250, 246, 236, 0.5)
}

.m-box_SNS .inner {
	max-width: 800px
}

.m-box_SNS .p-sns_box {
	background: #FFF;
	padding: 1em;
	border-radius: 10px;
	box-shadow: 3px 3px 15px rgba(61, 61, 61, 0.05)
}

.m-box_SNS .p-sns_box .p-top_sns_ttl {
	text-align: center;
	font-weight: 600;
	font-size: 1.4em;
	margin-bottom: 15px
}

.m-box_SNS .p-sns_box .img_wrap .tc {
	margin-bottom: 20px
}

.m-box_SNS .p-sns_box .img_wrap .tc img {
	width: 100px
}

.p-top_systemCon {
	background: url(/common/img/clc_img01.jpg) no-repeat center center/cover;
	padding: 60px 0;
	position: relative
}

.p-top_systemCon::before {
	content: "";
	display: block;
	background: rgba(0, 0, 0, 0.4);
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0
}

.p-top_systemCon .inner .p-top_systemCon_info {
	background: #FFF;
	border-radius: 10px;
	height: 100%
}

.p-top_systemCon .inner dt {
	font-weight: 600;
	text-align: center;
	font-size: 1.3em;
	margin-bottom: 10px
}

.p-top_systemCon .inner dt .company__ttl {
	display: block;
	background: #147CD9;
	color: #FFF;
	text-align: center;
	border-radius: 10px 10px 0 0;
	margin-bottom: 10px;
	line-height: 2em
}

.p-top_systemCon .inner dt .logo {
	margin-top: 10px
}

.p-top_systemCon .inner dt .logo img {
	width: 80%;
	height: 120px;
	object-fit: contain
}

@media screen and (max-width: 768px), print {
	.p-top_systemCon .inner dt .logo img {
		width: 60%;
		height: 80px
	}
}

.p-top_systemCon .inner dd {
	padding: 0 20px 20px;
	font-size: .9em
}

.p-top_report {
	background: rgba(20, 124, 217, 0.05);
	padding: 60px 0
}

.p-top_topics {
	padding: 60px 0
}

.p-top_topics .news {
	border-top: solid 1px #EEE
}

.p-top_topics .news a {
	display: flex
}

@media screen and (min-width: 768px), print {
	.p-top_topics .news a dt, .p-top_topics .news a dd {
		padding: .4em 0;
		border-bottom: solid 1px #EEE
	}
	.p-top_topics .news a dt {
		width: 8em
	}
	.p-top_topics .news a dd {
		width: calc(100% - 8em)
	}
}

@media screen and (max-width: 768px), print {
	.p-top_topics .news a {
		flex-flow: column
	}
	.p-top_topics .news a dt {
		padding: .4em 0 0
	}
	.p-top_topics .news a dd {
		padding: .2em 0 .4em;
		border-bottom: solid 1px #EEE
	}
}

.content_arw {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 100px 0 100px;
	border-color: #147CD9 transparent transparent transparent;
	margin: 20px auto -50px;
	position: relative;
	z-index: 2
}

.p-top_btmBnr {
	padding: 60px 0;
	background: #EEE
}

.shikasta_wrap {
	background: #faf6ec
}

.shikasta_wrap .cont01 {
	text-align: center;
	padding: 20px 0 0
}

.shikasta_wrap .cont01 .logo {
	max-width: 300px;
	margin: auto
}

@media screen and (max-width: 768px), print {
	.shikasta_wrap .cont01 .logo {
		width: 70%;
		margin: 20px auto 0
	}
}

.shikasta_wrap .cont01 h1 {
	background: #FBB03B;
	color: #FFF;
	font-weight: bold;
	padding: 40px 0;
	margin-top: 20px
}

@media screen and (max-width: 768px), print {
	.shikasta_wrap .cont01 h1 {
		font-size: 1.8rem;
		padding: 20px 5%
	}
}

.shikasta_wrap .cont02 {
	padding: 40px 0
}

.shikasta_wrap .cont02 .flex_wrap {
	background: #FFF;
	margin: 40px auto;
	padding: 1em
}

.shikasta_wrap .cont02 .olex__item img {
	max-width: 100%
}

.shikasta_wrap .shisetsu_photo .oflex__item p {
	background: #FFF;
	text-align: center;
	padding: .5em;
	font-weight: bold
}

.shikasta_wrap .shisetsu_price, .shikasta_wrap .shikasta_map {
	background: #FFF;
	padding: 1em
}

.shikasta_wrap .shisetsu_price .time_ttl, .shikasta_wrap .shikasta_map .time_ttl {
	font-weight: bold;
	font-size: 1.2em;
	margin-bottom: 10px
}

@media screen and (max-width: 768px), print {
	.shikasta_wrap .shikasta_map>div {
		width: 100%
	}
	.shikasta_wrap .shikasta_map>div .movie_box {
		min-height: 200px
	}
}

.shikasta_wrap .olList.rental_time {
	font-size: 1.2em
}

.shikasta_wrap .olList.rental_time li::before {
	margin-left: -2em
}

.shikasta_wrap .cont04 {
	background: #f0f0f0;
	padding: 60px 0
}

.shikasta_wrap .cont04 .terms {
	display: none;
	font-size: .85em
}

.shikasta_wrap .cont04 .terms .terms_ttl {
	font-weight: bold;
	font-size: 1.2em
}

.shikasta_wrap #terms_open.none {
	display: none
}

.shikasta_wrap .cont05 {
	padding: 40px 0
}

.shikasta_wrap .cont05 .flow {
	display: flex;
	flex-flow: wrap;
	border-top: solid 1px #000
}

.shikasta_wrap .cont05 .flow dt, .shikasta_wrap .cont05 .flow dd {
	padding: 15px
}

.shikasta_wrap .cont05 .flow dt {
	width: 35%;
	background: #147CD9;
	color: #FFF;
	display: flex;
	align-items: center;
	flex-flow: column;
	text-align: center;
	justify-content: center;
	font-size: 1.2em;
	position: relative;
	border-bottom: solid 1px #FFF
}

@media screen and (max-width: 768px), print {
	.shikasta_wrap .cont05 .flow dt {
		font-size: 1em
	}
}

.shikasta_wrap .cont05 .flow dt:not(:last-of-type):after {
	content: "";
	display: block;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: -10px;
	width: 20px;
	height: 20px;
	z-index: 1;
	background: #147CD9;
	border-right: solid 1px #FFF;
	border-bottom: solid 1px #FFF;
	transform: rotate(45deg)
}

.shikasta_wrap .cont05 .flow dt .flow-head_step {
	background: #FFF;
	padding: 0 1em;
	border-radius: 1.6em;
	color: #147CD9;
	font-size: .9em
}

.shikasta_wrap .cont05 .flow dd {
	border-bottom: solid 1px #666;
	width: 65%;
	background: #FFF
}

.instructor_wrap .cont01 {
	background: url(/instructor/img/mv.jpg) no-repeat #F0F0F0;
	background-size: contain;
	background-position: top right;
	text-align: left;
	padding: 60px 0
}

@media screen and (max-width: 768px), print {
	.instructor_wrap .cont01 {
		background: url(/instructor/img/mv_sp.jpg) no-repeat #F0F0F0;
		background-size: cover
	}
}

.instructor_wrap .cont01 .logo img {
	width: 300px
}

@media screen and (max-width: 768px), print {
	.instructor_wrap .cont01 .logo img {
		width: 40%;
		margin: 20px auto 0
	}
}

.instructor_wrap .cont01 h1 {
	font-weight: 700;
	padding: 20px 0;
	color: #147CD9;
	font-size: 4rem;
	text-shadow: 0 0 5px #fff, 0 0 6px #fff
}

@media screen and (max-width: 768px), print {
	.instructor_wrap .cont01 h1 {
		font-size: 2.6rem
	}
}

.instructor_wrap .cont02 {
	padding: 40px 0
}

.instructor_wrap .cont02 .flex_wrap {
	background: #FFF;
	margin: 40px auto;
	padding: 1em
}

.instructor_wrap .cont02 .olex__item img {
	max-width: 100%
}

.instructor_wrap .cont02 .tokuten_box {
	border: solid 3px rgba(20, 124, 217, 0.3);
	padding: 1em;
	width: 100%;
	max-width: 800px;
	margin: auto
}

.instructor_wrap .cont02 .tokuten_box .tokuten_ttl {
	text-align: center;
	font-weight: bold;
	color: #147CD9;
	font-size: 1.6em
}

.instructor_wrap .cont02 .tokuten_box .txt {
	font-weight: bold
}

.instructor_wrap .p-form form * {
	font-size: 1.5rem !important
}

.masterkiso_wrap .cont01 {
	background: rgba(20, 124, 217, 0.1)
}

.masterkiso_wrap .cont01 .ttl_wrap {
	margin: 0 auto;
	max-width: 1200px;
	display: flex;
	align-items: center
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .cont01 .ttl_wrap {
		margin-left: -5%;
		overflow-x: hidden
	}
}

.masterkiso_wrap .cont01 .ttl_wrap .mv_img {
	width: 42%
}

.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt {
	width: 55%;
	margin-left: 20px
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt {
		margin-left: 0
	}
}

.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt .logo {
	display: flex;
	align-items: center
}

.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt .logo img {
	width: 140px
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt .logo img {
		width: 80px
	}
}

.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt .logo .ttl_catch {
	font-weight: bold;
	background-color: #ff8960;
	color: #FFF;
	border-radius: 50px;
	padding: .2em 1em
}

@media screen and (min-width: 768px), print {
	.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt .logo .ttl_catch {
		margin-left: 20px
	}
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt .logo .ttl_catch {
		display: none
	}
}

.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt .ps_ttl01 {
	font-weight: 900;
	color: #19bdb2;
	font-size: 3em;
	line-height: 1.3em
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt .ps_ttl01 {
		font-size: 18px;
		line-height: 1.4em;
		margin-top: 4px
	}
}

@media screen and (min-width: 768px), print {
	.masterkiso_wrap .cont01 .ttl_wrap .ttl_txt .catch {
		background: #FFF;
		box-shadow: 0px 0px 15px -5px #bbb;
		padding: 1em;
		border-radius: 5px;
		margin-top: 10px;
		display: flex;
		justify-content: center
	}
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .cont01 .catch.sp-only {
		margin: 10px 5% 0;
		background: #FFF;
		box-shadow: 0px 0px 15px -5px #bbb;
		padding: 1em;
		border-radius: 5px;
		margin-top: 10px
	}
}

.masterkiso_wrap .ps_ttl02 {
	font-size: 2em;
	font-weight: 900;
	border-bottom: solid 1px #19bdb2;
	margin-bottom: 20px
}

@media screen and (min-width: 768px), print {
	.masterkiso_wrap .ps_ttl02 {
		text-align: center
	}
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .ps_ttl02 {
		font-size: 1.5em
	}
}

.masterkiso_wrap .ps_ttl03 {
	max-width: 1100px;
	font-size: 2em;
	font-weight: 900;
	color: #FFF;
	border-bottom: solid 1px #FFF;
	margin: 0 auto 15px
}

@media screen and (min-width: 768px), print {
	.masterkiso_wrap .ps_ttl03 {
		text-align: center
	}
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .ps_ttl03 {
		font-size: 1.5em
	}
}

@media screen and (min-width: 768px), print {
	.masterkiso_wrap .cont02 p.txt {
		font-size: 1.2em;
		line-height: 1.8em
	}
}

.masterkiso_wrap .cont02 p.txt span {
	color: #ff8960;
	font-weight: 800;
	font-size: 1.2em
}

.masterkiso_wrap .cont03 {
	background: rgba(20, 124, 217, 0.8);
	padding: 1em 0 60px;
	margin-bottom: 60px
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .cont03 {
		padding: 1em 3%
	}
}

.masterkiso_wrap .cont03 .cont_cource {
	background: #FFF;
	border-radius: 2em;
	padding: 2em
}

.masterkiso_wrap .cont03 .cont_cource span {
	font-size: .8em
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .cont03 .cont_cource {
		padding: 1em;
		width: 100%
	}
}

.masterkiso_wrap .cont03 .cource_ttl {
	background: rgba(20, 124, 217, 0.1);
	border-left: #147CD9 solid 10px;
	font-size: 1.3em;
	font-weight: 800;
	padding: .5em 1em;
	margin-bottom: 10px
}

.masterkiso_wrap .cont03 .cource_ttl_02 {
	border-bottom: solid 2px #19bdb2;
	font-weight: 800;
	font-size: 1.2em;
	margin-bottom: 10px;
	position: relative
}

.masterkiso_wrap .cont03 .cource_ttl_02::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	margin-right: 0.5em;
	border-style: solid;
	border-width: 5px 0 5px 0.5em;
	border-color: transparent transparent transparent #19bdb2
}

.masterkiso_wrap .cont03 .ms_priceBox {
	background: rgba(255, 137, 96, 0.1);
	border-radius: 1em;
	padding: 1em;
	text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.masterkiso_wrap .cont03 .ms_priceBox ul.price {
	display: flex;
	align-items: center
}

.masterkiso_wrap .cont03 .ms_priceBox ul.price li {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 24px
}

.masterkiso_wrap .cont03 .ms_priceBox ul.price li .ttl {
	font-weight: bold;
	font-size: 16px
}

.masterkiso_wrap .cont03 .ms_priceBox ul.price li span {
	font-size: .7em
}

.masterkiso_wrap .cont03 .ms_priceBox ul.price li p.normal {
	font-size: 16px;
	font-weight: normal
}

.masterkiso_wrap .cont03 .ms_priceBox ul.price li:not(:last-of-type) {
	margin-right: 30px
}

@media screen and (max-width: 768px), print {
	.masterkiso_wrap .cont03 .ms_priceBox ul.price {
		flex-flow: column;
		justify-content: flex-start;
		align-items: flex-start
	}
	.masterkiso_wrap .cont03 .ms_priceBox ul.price li {
		flex-flow: wrap
	}
    .masterkiso_wrap .cont03 .ms_priceBox ul.price li.price_sp {

    }
    
    .masterkiso_wrap .cont03 .ms_priceBox ul.price li.price_sp p {
        display: flex;
        width: 100%;
        align-items: center;
    }
}

.masterkiso_wrap .cont03 .ms_priceBox .price_saletxt {
	text-align: center;
	margin-top: 5px;
	color: #ff4204;
	background: rgba(255, 137, 96, 0.2);
	padding: 0 .5em;
	font-size: 1.1em;
	font-weight: bold;
    display: block;
    width: 100%;
}

@media screen and (min-width: 768px), print {
	.masterkiso_wrap .cont03 .ms_priceBox .price_saletxt {
		font-size: 1.2em
	}
}

@media screen and (min-width: 768px), print {
	.masterkiso_wrap .cont03 .check_lst {
		margin-left: 40px
	}
}

.masterkiso_wrap .cont03 .check_lst li {
	padding-left: 6px
}

.masterkiso_wrap .cont03 .check_lst li span {
	color: #147CD9;
	font-size: 1.2em !important;
	display: inline
}

.masterkiso_wrap .cont03 .check_lst li::after {
	border-color: #19bdb2;
	border-width: 2px
}

.masterkiso_wrap .cont05 {
	margin-bottom: 80px
}

.lorn_form_wrap {
	display: none
}

.koza_lst .oflex__item {
	background: rgba(25, 189, 178, 0.1);
	border-radius: 20px
}

.koza_lst .oflex__item .koza_item {
	padding: 1em
}

.koza_lst .oflex__item .koza_item .koza_ttl {
	font-weight: bold;
	text-align: center;
	border-bottom: solid 1px #19bdb2;
	padding-bottom: 5px;
	margin-bottom: 5px;
	font-size: 1.1em
}

.koza_lst .oflex__item .koza_item .koza_ttl span {
	display: inline-block;
	background: #FFF;
	color: #19bdb2;
	font-size: .7em;
	padding: 0 1em;
	border-radius: 1.5em;
	margin-right: .2em
}

.koza_lst .oflex__item .koza_item .koza_ttl02 {
	font-weight: bold;
	color: #19bdb2;
	margin-top: 5px
}

.koza_lst .oflex__item .koza_item .l_indent_lst_arw {
	font-size: .8em
}

.clinical_wrap .mv_wrap {
	background: url(/clinical/img/mv.jpg) no-repeat center center;
	background-size: cover
}

@media screen and (min-width: 768px), print {
	.clinical_wrap .mv_wrap {
		min-height: 460px
	}
}

.clinical_wrap .mv_wrap .ttl_wrap {
	max-width: 1200px;
	margin: auto;
	height: 460px;
	display: flex;
	flex-flow: column;
	justify-content: center
}

.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt {
	margin: 0 auto 0 0;
	width: 57%
}

.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt .logo {
	display: flex
}

.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt .logo img {
	width: 180px
}

@media screen and (max-width: 768px), print {
	.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt .logo img {
		width: 80px
	}
}

.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt .ttl_taisyo {
	background: #FBB03B;
	padding: .2em 1.5em;
	font-weight: 800;
	color: #FFF;
	text-align: center;
	border-radius: 2em;
	display: inline-block;
	font-size: 20px
}

.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt .cl_ttl01 {
	font-weight: 900;
	font-size: 37px;
	color: #147CD9;
	line-height: 1.4;
	margin: 15px 0
}

.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt .cl_ttl01 span {
	font-size: 37px
}

.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt p {
	background: #FFF;
	padding: 1em;
	border-radius: 3px;
	font-weight: 900;
	box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.1)
}

@media screen and (max-width: 768px), print {
	.clinical_wrap .mv_wrap .ttl_wrap {
		height: auto
	}
	.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt {
		margin: 5% auto 5% 5%;
		width: 80%
	}
	.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt .logo img {
		display: none
	}
	.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt .ttl_taisyo {
		font-size: 14px
	}
	.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt .cl_ttl01 {
		font-size: 28px
	}
	.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt .cl_ttl01 span {
		font-size: 18px
	}
	.clinical_wrap .mv_wrap .ttl_wrap .ttl_txt p {
		margin-top: 10px;
		padding: .2em .5em
	}
}

.clinical_wrap .cl_ttl02 {
	font-size: 2em;
	font-weight: 900;
	border-bottom: solid 1px #147CD9;
	margin-bottom: 20px;
	text-align: center
}

@media screen and (max-width: 768px), print {
	.clinical_wrap .cl_ttl02 {
		font-size: 1.5em
	}
}

.clinical_wrap .cl_ttl03 {
	font-size: 1.2em;
	font-weight: 900;
	margin: 0 auto 15px
}

.clinical_wrap .cl_ttl04 {
	background: #147CD9;
	color: #FFF;
	font-weight: 900;
	padding: 0 1em;
	margin: 0 auto 5px
}

.clinical_wrap .cl_schedule {
	display: flex;
	flex-flow: wrap;
	text-align: left
}

.clinical_wrap .cl_schedule dt, .clinical_wrap .cl_schedule dd {
	padding: .2em 0
}

.clinical_wrap .cl_schedule dt {
	color: #147CD9;
	font-weight: bold;
	width: 6em
}

.clinical_wrap .cl_schedule dd {
	width: calc(100% - 6em);
	color: #000
}

.clinical_wrap .cont01 {
	background: rgba(251, 176, 59, 0.1);
	padding: 40px 0
}

.clinical_wrap .cont01 p.txt {
	max-width: 800px;
	margin: auto;
	margin-bottom: 0.5em
}

@media screen and (min-width: 768px), print {
	.clinical_wrap .cont01 p.txt {
		font-size: 1.13em;
		line-height: 1.8em
	}
}

.clinical_wrap .cont01 p.txt span {
	color: #ff8960;
	font-weight: 800;
	font-size: 1.2em
}

.clinical_wrap .cont02 {
	padding: 40px 0
}

.clinical_wrap .cont02 .keisiki_box {
	background: #f0f0f0;
	padding: .5em 1em 1em
}

.clinical_wrap .cont02 .keisiki_box h3 {
	color: #147CD9;
	font-weight: 900;
	text-align: center;
	margin-bottom: 10px
}

.clinical_wrap .cont03 {
	background: rgba(240, 240, 240, 0.5);
	padding: 80px 0
}

.clinical_wrap .cont03 .inner {
	display: flex;
	flex-flow: column;
	justify-content: center;
	max-width: 1000px
}

.clinical_wrap .cont03 .check_wrap {
	display: flex;
	justify-content: center;
	background: #FFF;
	padding: 1em
}

.clinical_wrap .cont03 .check_lst {
	display: inline-block
}

@media screen and (min-width: 768px), print {
	.clinical_wrap .cont03 .check_lst {
		margin-left: 40px
	}
}

.clinical_wrap .cont03 .check_lst li {
	padding-left: 6px
}

.clinical_wrap .cont03 .check_lst li span {
	color: #147CD9;
	font-size: 1.2em !important;
	display: inline
}

.clinical_wrap .cont03 .check_lst li::after {
	border-color: #FBB03B;
	border-width: 4px
}

.clinical_wrap .cont04 {
	padding: 80px 0
}

.clinical_wrap .cont05 {
	background: rgba(251, 176, 59, 0.1);
	padding: 80px 0
}

.clinical_wrap .cont05 .inner {
	max-width: 1000px
}

.clinical_wrap .cont05 .cl_schedule_wrap {
	background: #FFF
}

.clinical_wrap .cont05 .cl_schedule_wrap dl {
	margin: .5em 1em
}

.clinical_wrap .cont06 {
	background: rgba(240, 240, 240, 0.5);
	padding: 80px 0
}

.clinical_wrap .cont06 .inner {
	max-width: 1000px
}

.clinical_wrap .cont06 .inner .price {
	font-weight: bold;
	font-size: 1.2em
}

@media screen and (max-width: 768px), print {
	.clinical_wrap .btn_lst .oflex__item {
		width: 100%
	}
}

.lorn_form_wrap {
	display: none
}

.koza_lst .oflex__item {
	background: rgba(25, 189, 178, 0.1);
	border-radius: 20px
}

.koza_lst .oflex__item .koza_item {
	padding: 1em
}

.koza_lst .oflex__item .koza_item .koza_ttl {
	font-weight: bold;
	text-align: center;
	border-bottom: solid 1px #19bdb2;
	padding-bottom: 5px;
	margin-bottom: 5px;
	font-size: 1.1em
}

.koza_lst .oflex__item .koza_item .koza_ttl span {
	display: inline-block;
	background: #FFF;
	color: #19bdb2;
	font-size: .7em;
	padding: 0 1em;
	border-radius: 1.5em;
	margin-right: .2em
}

.koza_lst .oflex__item .koza_item .koza_ttl02 {
	font-weight: bold;
	color: #19bdb2;
	margin-top: 5px
}

.koza_lst .oflex__item .koza_item .l_indent_lst_arw {
	font-size: .8em
}

.gaiyo_box {
	background: rgba(20, 124, 217, 0.15);
	border-radius: 5px;
	height: 100%
}

.gaiyo_box h3 {
	border-radius: 5px 5px 0 0;
	background: #147CD9;
	color: #FFF;
	font-size: 24px;
	padding: 0 1em
}

@media screen and (max-width: 768px), print {
	.gaiyo_box h3 {
		font-size: 20px
	}
}

.gaiyo_box .txt_box {
	padding: 10px
}

.gaiyo_box .txt_box .time {
	font-weight: bold;
	font-size: 1.2em
}

.gaiyo_box .txt_box ol {
	margin-top: 10px
}

.onsite_wrap .mv_wrap {
	background: url(/onsite/img/mv.jpg) no-repeat center center #F8F7F1;
	background-size: cover
}

@media screen and (min-width: 768px), print {
	.onsite_wrap .mv_wrap {
		min-height: 460px
	}
}

.onsite_wrap .mv_wrap .ttl_wrap {
	max-width: 1200px;
	margin: auto;
	height: 460px;
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	align-items: center
}

.onsite_wrap .mv_wrap .ttl_wrap .ttl_txt {
	margin: 0 0 0 auto;
	width: 60%;
	display: flex;
	flex-flow: column;
	align-items: center
}

.onsite_wrap .mv_wrap .ttl_wrap .ttl_txt .logo {
	width: 160px;
	margin-right: 10px
}

@media screen and (max-width: 768px), print {
	.onsite_wrap .mv_wrap .ttl_wrap .ttl_txt .logo {
		width: 80px
	}
}

.onsite_wrap .mv_wrap .ttl_wrap .ttl_txt .os_ttl01 {
	font-weight: 900;
	font-size: 58px;
	color: #19bdb2;
	line-height: 1.4;
	margin: 15px 0;
	text-align: center
}

.onsite_wrap .mv_wrap .ttl_wrap .ttl_txt .os_ttl01 span {
	font-size: 46px;
	color: #19bdb2
}

.onsite_wrap .mv_wrap .ttl_wrap .ttl_txt p {
	background: #FFF;
	border-radius: 1.5em;
	padding: .5em 1em;
	font-weight: 900;
	font-size: 1.2em;
	box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.1)
}

@media screen and (max-width: 768px), print {
	.onsite_wrap .mv_wrap .ttl_wrap {
		height: auto
	}
	.onsite_wrap .mv_wrap .ttl_wrap .ttl_txt {
		margin: 5% 5% 5% auto;
		width: 70%
	}
	.onsite_wrap .mv_wrap .ttl_wrap .ttl_txt .os_ttl01 {
		font-size: 36px;
		line-height: 1.2em;
		margin: 0
	}
	.onsite_wrap .mv_wrap .ttl_wrap .ttl_txt .os_ttl01 span {
		font-size: 22px;
		line-height: 1em
	}
	.onsite_wrap .mv_wrap .ttl_wrap .ttl_txt p {
		margin-top: 10px;
		padding: .2em .5em;
		font-size: 13px;
		text-align: center;
		width: 100%;
		font-weight: normal
	}
}

.onsite_wrap .os_ttl02 {
	font-size: 2em;
	font-weight: 900;
	border-bottom: solid 1px #19bdb2;
	margin-bottom: 20px;
	text-align: center
}

@media screen and (max-width: 768px), print {
	.onsite_wrap .os_ttl02 {
		font-size: 1.5em
	}
}

.onsite_wrap .os_ttl03 {
	font-size: 1.4em;
	font-weight: 900;
	color: #19bdb2;
	margin: 0 auto 5px
}

.onsite_wrap .os_ttl04 {
	background: #19bdb2;
	color: #FFF;
	font-size: 1.1em;
	font-weight: 900;
	padding: 0 1em;
	margin: 0 auto 5px
}

.onsite_wrap .os_schedule {
	display: flex;
	flex-flow: wrap;
	text-align: left
}

.onsite_wrap .os_schedule dt, .onsite_wrap .os_schedule dd {
	padding: .2em 0
}

.onsite_wrap .os_schedule dt {
	color: #19bdb2;
	font-weight: bold;
	width: 6em
}

.onsite_wrap .os_schedule dd {
	width: calc(100% - 6em);
	color: #000
}

.onsite_wrap .cont01 {
	background: rgba(25, 189, 178, 0.1);
	padding: 40px 0
}

.onsite_wrap .cont01 .inner {
	display: flex;
	flex-flow: column;
	align-items: center
}

.onsite_wrap .cont01 p.txt {
	margin-bottom: 0.5em
}

@media screen and (min-width: 768px), print {
	.onsite_wrap .cont01 p.txt {
		font-size: 1.13em;
		line-height: 1.8em
	}
}

.onsite_wrap .cont01 .txt01 {
	font-size: 1.8em;
	font-weight: bold;
	color: #19bdb2;
	margin-bottom: 10px
}

@media screen and (max-width: 768px), print {
	.onsite_wrap .cont01 .txt01 {
		font-size: 1.4em
	}
}

.onsite_wrap .cont01 .m-lst_check {
	background: #FFF;
	padding: 10px 20px;
	margin-bottom: 10px;
	max-width: 800px
}

.onsite_wrap .cont02 {
	padding: 40px 0
}

.onsite_wrap .cont02 .onsite_flow_wrap {
	margin: 20px auto;
	counter-reset: os-count
}

.onsite_wrap .cont02 .onsite_flow_wrap>li {
	position: relative
}

.onsite_wrap .cont02 .onsite_flow_wrap>li::after {
	content: counter(os-count);
	counter-increment: os-count;
	background-color: #19bdb2;
	color: #FFF;
	display: block;
	line-height: 1.3em;
	text-align: center;
	height: 1.5em;
	width: 1.5em;
	font-size: 2em;
	border-radius: 50%;
	position: absolute;
	top: -20px;
	left: 0
}

.onsite_wrap .cont02 .onsite_flow_wrap>li:not(:last-of-type)::before {
	content: "";
	width: 20px;
	height: 20px;
	border-top: solid 5px #19bdb2;
	border-right: solid 5px #19bdb2;
	display: block;
	position: absolute;
	margin: auto;
	transform: rotate(45deg);
	top: 0;
	bottom: 0;
	right: -16px
}

.onsite_wrap .cont02 .onsite_flow_box {
	background: #f0f0f0;
	height: 100%;
	padding: 2em .5em .5em;
	border-radius: 5px
}

.onsite_wrap .cont02 .onsite_flow_box h3 {
	color: #19bdb2;
	font-weight: 900;
	text-align: center
}

.onsite_wrap .cont02 .onsite_flow_box p {
	font-size: .85em;
	margin-top: 5px
}

.onsite_wrap .cont02 .onsite_box01 {
	background: rgba(25, 189, 178, 0.1);
	padding: 1em
}

@media screen and (max-width: 768px), print {
	.onsite_wrap .cont02 .onsite_flow_wrap>li::after {
		margin: auto;
		top: 0;
		bottom: 0;
		left: -2%
	}
	.onsite_wrap .cont02 .onsite_flow_wrap>li:not(:last-of-type)::before {
		transform: rotate(135deg);
		top: auto;
		bottom: -12px;
		right: 0;
		left: 0
	}
	.onsite_wrap .cont02 .onsite_flow_box {
		padding: .5em .5em .5em 18%
	}
	.onsite_wrap .cont02 .onsite_flow_box h3 {
		text-align: left !important
	}
}

.onsite_wrap .cont03 {
	background: rgba(240, 240, 240, 0.5);
	padding: 40px 0 60px
}

.onsite_wrap .cont03 .inner {
	display: flex;
	flex-flow: column;
	justify-content: center;
	max-width: 1000px
}

.onsite_wrap .cont03 .check_wrap {
	display: flex;
	justify-content: center;
	background: #FFF;
	padding: 1em
}

.onsite_wrap .cont03 .check_lst {
	display: inline-block
}

@media screen and (min-width: 768px), print {
	.onsite_wrap .cont03 .check_lst {
		margin-left: 40px
	}
}

.onsite_wrap .cont03 .check_lst li {
	padding-left: 6px
}

.onsite_wrap .cont03 .check_lst li span {
	color: #19bdb2;
	font-size: 1.2em !important;
	display: inline
}

.onsite_wrap .cont03 .check_lst li::after {
	border-color: #FBB03B;
	border-width: 4px
}

.onsite_wrap .cont04 {
	padding: 40px 0 40px;
	background: rgba(251, 176, 59, 0.1)
}

.onsite_wrap .cont05 {
	padding: 40px 0 60px
}

.onsite_wrap .cont05 .inner {
	max-width: 1000px
}

.onsite_wrap .cont05 .prog_box {
	background: rgba(25, 189, 178, 0.1);
	padding: 15px;
	height: 100%
}

.onsite_wrap .cont05 .prog_box .os_ttl04 {
	margin: -15px -15px 10px -15px
}

.onsite_wrap .cont05 .prog_box p {
	margin-bottom: 10px
}

@media screen and (max-width: 768px), print {
	.onsite_wrap .btn_lst .oflex__item {
		width: 100%
	}
}


.onsite_wrap aside.note {
    text-align: center;
}

.onsite_wrap aside.note p {
    font-size: 1.5em;
    margin: 1.3em 0 1.3em 0;
    line-height: 1.8em;
}

.onsite_wrap aside.note p strong {
    background:linear-gradient(transparent 60%, rgb(255, 220, 0) 60%); 
    font-weight: 500;
}

@media screen and (max-width: 768px), print {
    .onsite_wrap aside.note p {
        font-size: 1.2em;
        line-height: 1.8em;
        margin: 1em 0 1em 0;
    }
}

.lorn_form_wrap {
	display: none
}

.matching_wrap {
	background: #faf6ec
}

@media screen and (max-width: 768px), print {
	.matching_wrap .m-ttl_01 {
		font-size: 1.6rem
	}
}

.matching_wrap .mv_wrap {
	background: url("../img/support_header_img.jpg") no-repeat top center #f5f5f5;
	background-size: cover;
	height: 400px;
	display: flex;
	align-items: center
}

.matching_wrap .mv_wrap .catch {
	margin-top: 20px;
	color: #ff8960;
	font-weight: bold;
	font-size: 1.95em
}

@media screen and (max-width: 768px), print {
	.matching_wrap .mv_wrap {
		background-size: cover;
		height: 240px
	}
	.matching_wrap .mv_wrap .inner {
		width: 60%;
		margin: 0 auto 0 3%
	}
	.matching_wrap .mv_wrap .catch {
		font-size: 1em
	}
}

.matching_wrap .cont01 {
	padding: 40px 0
}

.matching_wrap .cont01 .inner {
	display: flex;
	flex-flow: column;
	align-items: center
}

.matching_wrap .cont01 .txt01 {
	font-weight: bold;
	font-size: 2em;
	margin-bottom: 20px
}

.matching_wrap .cont01 .cont01_box {
	width: 100%;
	max-width: 800px;
	background: rgba(255, 255, 255, 0.7);
	padding: 1em;
	border-radius: 10px;
	margin-top: 20px
}

@media screen and (max-width: 768px), print {
	.matching_wrap .cont01 .txt01 {
		font-size: 1.2em
	}
	.matching_wrap .cont01 .cont01_box {
		width: 100%;
		max-width: 800px;
		background: rgba(255, 255, 255, 0.7);
		padding: 1em;
		border-radius: 10px;
		margin-top: 20px
	}
}

.matching_wrap .cont02 {
	background: #FFF;
	padding: 40px 0 60px
}

.matching_wrap .cont02 .inner {
	max-width: 800px
}

.matching_wrap .cont03 {
	padding: 40px 0
}

.matching_wrap .cont03 .voice_box {
	background: #FFF;
	border-radius: 10px;
	padding: 1em 2em;
	display: grid;
	grid-auto-columns: 1fr;
	grid-auto-rows: 1fr;
	grid-template-columns: 0.4fr 1.4fr;
	grid-template-rows: 0.5fr 1.6fr;
	gap: 10px 10px;
	grid-template-areas: "voice_img voice_txt01" "voice_img voice_txt02"
}

.matching_wrap .cont03 .voice_box .voice_img {
	grid-area: voice_img;
	text-align: center;
	display: flex;
	padding: 0 5px 0 0;
	justify-content: center;
	align-items: flex-start
}

.matching_wrap .cont03 .voice_box .voice_img img {
	max-width: 120px
}

.matching_wrap .cont03 .voice_box .voice_txt01 {
	grid-area: voice_txt01;
	display: flex;
	flex-flow: column;
	justify-content: center
}

.matching_wrap .cont03 .voice_box .voice_txt02 {
	grid-area: voice_txt02;
	margin-top: 15px
}

@media screen and (max-width: 768px), print {
	.matching_wrap .cont03 .voice_box {
		padding: 1em;
		gap: 0px 0px;
		grid-template-columns: 0.6fr 1.3fr;
		grid-template-rows: auto 1.6fr;
		grid-template-areas: "voice_img voice_txt01" "voice_txt02 voice_txt02"
	}
	.matching_wrap .cont03 .voice_box .voice_img {
		align-items: center
	}
}

.matching_wrap .cont04 {
	background: #FFF;
	padding: 40px 0
}

.matching_wrap .cont04 .inner {
	max-width: 800px
}

.matching_wrap .cont04 .inner .matching_flow_wrap {
	margin: 20px auto;
	counter-reset: os-count
}

.matching_wrap .cont04 .inner .matching_flow_wrap>li {
	position: relative
}

.matching_wrap .cont04 .inner .matching_flow_wrap>li::after {
	content: counter(os-count);
	counter-increment: os-count;
	background-color: #19bdb2;
	color: #FFF;
	display: block;
	line-height: 1.3em;
	text-align: center;
	height: 1.5em;
	width: 1.5em;
	font-size: 2em;
	border-radius: 50%;
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 15px
}

.matching_wrap .cont04 .inner .matching_flow_wrap>li:not(:last-of-type)::before {
	content: "";
	width: 24px;
	height: 24px;
	border-bottom: solid 7px #19bdb2;
	border-right: solid 7px #19bdb2;
	display: block;
	position: absolute;
	margin: auto;
	transform: rotate(45deg);
	bottom: -18px;
	left: 0;
	right: 0
}

.matching_wrap .cont04 .inner .matching_flow_box {
	background: #f0f0f0;
	height: 100%;
	padding: 1em 1em 1em 90px;
	border-radius: 5px
}

.matching_wrap .cont04 .inner .matching_flow_box h3 {
	color: #19bdb2;
	font-weight: 900;
	font-size: 1.4em
}

.matching_wrap .cont04 .inner .matching_flow_box p {
	margin-top: 5px
}

.matching_wrap .cont05 {
	background: url(/common/img/support_img03.jpg) no-repeat center center/cover;
	padding: 70px 0
}

.matching_wrap .cont05 .inner {
	max-width: 800px
}

.matching_wrap .cont05 .box_01 {
	background: rgba(255, 255, 255, 0.85);
	padding: 20px
}

.matching_wrap .cont06 {
	background: #f0f0f0;
	padding: 40px 0;
	text-align: center
}

.matching_wrap .cont06 .txt01 {
	font-weight: bold;
	font-size: 1.2em
}

.matching_wrap .matching_form {
	background: #FFF;
	padding: 60px 0
}

@media screen and (max-width: 768px), print {
	.recruit_wrap .m-ttl_01 {
		font-size: 1.6rem
	}
}

.recruit_wrap .mv_wrap {
	background: url("/recruit/img/mv.jpg") no-repeat right top #EAF3F8;
	background-size: contain;
	height: 400px
}

.recruit_wrap .mv_wrap .ttl_wrap {
	max-width: 1000px;
	margin: auto;
	display: flex;
	flex-flow: column;
	justify-content: center;
	height: 400px
}

.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt {
	margin: 0 auto 0 0;
	width: 57%
}

.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .logo {
	display: flex
}

.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .logo img {
	width: 280px
}

@media screen and (max-width: 768px), print {
	.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .logo img {
		width: 80px
	}
}

.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .cl_ttl01 {
	font-weight: 900;
	font-size: 37px;
	color: #19bdb2;
	line-height: 1.4;
	margin: 15px 0;
	padding-bottom: 10px;
	border-bottom: solid 2px #FFF
}

.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .cl_ttl01 span {
	font-size: 37px
}

.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .ttl_kaigyo {
	font-size: 52px;
	color: #147CD9;
	font-weight: bold
}

@media screen and (max-width: 768px), print {
	.recruit_wrap .mv_wrap {
		height: 260px;
		background-size: cover
	}
	.recruit_wrap .mv_wrap .ttl_wrap {
		max-width: 100%;
		margin: auto;
		display: flex;
		flex-flow: column;
		justify-content: flex-end;
		height: 260px
	}
	.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt {
		background: rgba(255, 255, 255, 0.9);
		margin: 0 auto 0 0;
		padding: 10px 5%;
		width: 100%
	}
	.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .oflex {
		justify-content: center !important
	}
	.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .logo {
		display: flex;
		justify-content: center
	}
	.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .logo img {
		width: 100%
	}
	.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .cl_ttl01 {
		font-size: 20px;
		margin: 5px 0;
		text-align: center
	}
	.recruit_wrap .mv_wrap .ttl_wrap .ttl_txt .ttl_kaigyo {
		text-align: right;
		font-size: 8.5vw;
		line-height: 1em
	}
}

.recruit_wrap .rec-ttl01 {
	font-size: 1.6em;
	background: #19bdb2;
	color: #FFF;
	text-align: center;
	font-weight: 900;
	padding: .3em .5em;
	margin-bottom: 10px
}

.recruit_wrap .rec-ttl01 span {
	font-size: .7em
}

@media screen and (max-width: 768px), print {
	.recruit_wrap .rec-ttl01 {
		font-size: 1.8rem
	}
}

.recruit_wrap .cont01 {
	background: rgba(25, 189, 178, 0.1);
	padding: 40px 0
}

.recruit_wrap .cont01 .inner {
	display: flex;
	flex-flow: column;
	align-items: center
}

.recruit_wrap .cont01 .txt01 {
	font-weight: bold;
	font-size: 1.4em;
	margin-bottom: 20px
}

.recruit_wrap .cont01 .txt02 {
	font-weight: bold;
	margin-bottom: 20px
}

@media screen and (max-width: 768px), print {
	.recruit_wrap .cont01 .txt01 {
		font-size: 1.2em
	}
}

.recruit_wrap .cont02 {
	padding: 40px 0
}

.recruit_wrap .cont02 .recruit_flow_wrap {
	margin: 20px auto;
	counter-reset: os-count
}

.recruit_wrap .cont02 .recruit_flow_wrap>li {
	position: relative
}

.recruit_wrap .cont02 .recruit_flow_wrap>li::after {
	content: counter(os-count);
	counter-increment: os-count;
	background-color: #19bdb2;
	color: #FFF;
	display: block;
	line-height: 1.2em;
	text-align: center;
	height: 1.3em;
	width: 1.3em;
	font-size: 2em;
	border-radius: 50%;
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 10px
}

.recruit_wrap .cont02 .recruit_flow_wrap>li:not(:last-of-type)::before {
	content: "";
	width: 24px;
	height: 24px;
	border-top: solid 7px #19bdb2;
	border-right: solid 7px #19bdb2;
	display: block;
	position: absolute;
	margin: auto;
	transform: rotate(45deg);
	bottom: 0;
	top: 0;
	right: -15px
}

@media screen and (max-width: 768px), print {
	.recruit_wrap .cont02 .recruit_flow_wrap>li:not(:last-of-type)::before {
		width: 18px;
		height: 18px;
		transform: rotate(135deg);
		bottom: -15px;
		top: auto;
		right: 0;
		left: 0
	}
}

.recruit_wrap .cont02 .recruit_flow_box {
	background: rgba(25, 189, 178, 0.1);
	height: 100%;
	padding: .6em .6em .6em 60px;
	border-radius: 5px;
	display: flex;
	align-items: center
}

.recruit_wrap .cont02 .recruit_flow_box h3 {
	font-weight: 900;
	font-size: 1.2em
}

.recruit_wrap .cont03 {
	background: rgba(25, 189, 178, 0.1);
	padding: 40px 0
}

.recruit_wrap .cont03 .recruit_plan {
	margin-top: 20px
}

.recruit_wrap .cont03 .recruit_plan .recruit_plan_box {
	background: #FFF;
	border-radius: 10px;
	height: 100%;
	padding: 1em;
	box-shadow: 1px 1px 3px #a2a2a2
}

.recruit_wrap .cont03 .recruit_plan .recruit_plan_box h3 {
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;
	border-bottom: solid 1px #19bdb2;
	padding-bottom: 5px;
	margin-bottom: 10px
}

.recruit_wrap .cont03 .recruit_plan .recruit_plan_box h3 span {
	background-color: #147CD9;
	display: inline-block;
	padding: 0 1.5em;
	color: #FFF;
	font-size: .8em;
	font-weight: normal;
	border-radius: 15px
}

.recruit_wrap .matching_form {
	padding: 60px 0
}

#l-wrap {
	width: 100%;
	/* padding-top: 102px */
	padding-top: 64px;
}

@media screen and (min-width: 768px), print {
	#l-wrap {
		padding-top: 115px
	}
}

#l-wrap #l-content_bg {
	background: #FFF;
	max-width: 1130px;
	margin: 0 auto
}

@media screen and (min-width: 768px), print {
	#l-wrap #l-content_bg {
		padding: 20px 0 60px
	}
}

#l-content_wrap {
	width: 100%
}

@media screen and (min-width: 768px), print {
	#l-content_wrap {
		max-width: 1100px;
		margin: auto;
		display: flex;
		justify-content: space-between
	}
}

@media screen and (max-width: 768px), print {
	#l-content_wrap {
		padding: 0 5%
	}
}

#l-content_wrap .l-main_sec {
	margin-bottom: 60px
}

#l-main_contents {
	width: 100%;
	max-width: 760px;
	flex-shrink: 2
}

#l-side_contents {
	background: #f0f0f0
}

@media screen and (max-width: 768px), print {
	#l-side_contents {
		margin-left: calc( ( 100% - 100vw) / 2);
		margin-right: calc( ( 100% - 100vw) / 2);
		padding: 5%
	}
}

@media screen and (min-width: 768px), print {
	#l-side_contents {
		width: 300px;
		padding: 10px;
		margin-left: 40px
	}
}

.ttl_01 {
	font-size: 2.4rem;
	background: #147CD9;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	padding: .4em 1em;
	margin-bottom: 1em
}

.ttl_01.pink {
	background: #faf6ec
}

.ttl_01.yellow {
	background: #FBB03B
}

@media screen and (max-width: 768px), print {
	.ttl_01 {
		font-size: 2rem
	}
}

.ttl_02 {
	font-size: 2rem;
	background: rgba(20, 124, 217, 0.2);
	border-left: #147CD9 solid 6px;
	color: #147CD9;
	font-weight: bold;
	padding: .3em .5em;
	margin-bottom: .8em
}

@media screen and (max-width: 768px), print {
	.ttl_02 {
		font-size: 1.8rem
	}
}

.ttl_02.yellow {
	background: rgba(251, 176, 59, 0.2);
	border-left: #FBB03B solid 6px;
	color: #000
}

.ttl_03 {
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	background: #147CD9;
	color: #FFF;
	margin-bottom: 0.5em
}

.m-ttl_01 {
	position: relative
}

.m-ttl_01 p {
	font-size: 2em;
	font-weight: 600;
	color: #147CD9;
	text-align: center;
	margin: 0 auto 40px;
	border-bottom: solid 1px #147CD9;
	width: fit-content
}

@media screen and (max-width: 768px), print {
	.m-ttl_01 p {
		font-size: 1.6em;
		margin: 0 auto 20px
	}
}

.m-ttl_01 p span {
	font-size: .8em
}

@media screen and (max-width: 768px), print {
	.m-ttl_01 p span {
		display: block;
		margin: auto;
		font-size: .6em;
		line-height: 1em
	}
}

.m-ttl_01::before {
	content: attr(data-txt);
	font-size: 2.6em;
	font-weight: 600;
	font-family: "Raleway", sans-serif;
	color: rgba(20, 124, 217, 0.1);
	position: absolute;
	text-align: center;
	bottom: .1em;
	left: 0;
	right: 0;
	margin: auto
}

.m-ttl_01.c02 p {
	color: #ff8960;
	border-bottom: solid 1px #ff8960
}

.m-ttl_01.c02::before {
	color: rgba(255, 137, 96, 0.1)
}

.m-ttl_01.c03 p {
	color: #19bdb2;
	border-bottom: solid 1px #19bdb2
}

.m-ttl_01.c03::before {
	color: rgba(25, 189, 178, 0.1)
}

@media screen and (max-width: 768px), print {
	.m-ttl_01 {
		font-size: 2rem
	}
}

.m-ttl_02 {
	font-size: 2em;
	background: #147CD9;
	color: #FFF;
	text-align: center;
	font-weight: 900;
	padding: .3em .5em;
	margin-bottom: 10px
}

.m-ttl_02 span {
	font-size: .7em
}

@media screen and (max-width: 768px), print {
	.m-ttl_02 {
		font-size: 1.8rem
	}
}

.m-ttl_02.yellow {
	background: rgba(251, 176, 59, 0.2);
	border-left: #FBB03B solid 6px;
	color: #000
}

.m-ttl03 {
	text-align: center;
	font-weight: bold;
	font-size: 1.4em;
	color: #147CD9;
	margin-bottom: 0.5em
}

.m-ttl_04 {
	font-size: 1.4em;
	border-bottom: solid 2px #147CD9;
	text-align: center;
	font-weight: 900;
	padding: .2em 0;
	margin-bottom: 10px
}

@media screen and (max-width: 768px), print {
	.m-ttl_04 {
		font-size: 1.8rem
	}
}

.m-ttl_04.yellow {
	background: rgba(251, 176, 59, 0.2);
	border-left: #FBB03B solid 6px;
	color: #000
}

.m-ttl_05 {
	font-size: 1.4em;
	background: #147CD9;
	border: solid 2px #147CD9;
	color: #FFF;
	line-height: 2em;
	margin-bottom: 10px;
	display: flex;
	padding-right: 1em
}

.m-ttl_05>div {
	width: calc(100% - 2em)
}

.m-ttl_05 span {
	width: 2em;
	color: #147CD9;
	text-align: center;
	background: #FFF;
	margin-right: 20px
}

@media screen and (max-width: 768px), print {
	.m-ttl_05 {
		font-size: 1.8rem;
		line-height: 1.6
	}
	.m-ttl_05 span {
		margin-right: 10px
	}
}

.m-ttl_05.c02 {
	background: #ff8960;
	border: solid 2px #ff8960
}

.m-ttl_05.c02 span {
	color: #ff8960
}

.m-ttl_06 {
	font-weight: bold;
	font-size: 1.1em;
	color: #147CD9;
	margin-bottom: 0.5em;
	border-bottom: solid 1px #147CD9
}

.movie_box {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden
}

.movie_box iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

.m-btn_wrap {
	text-align: center;
	margin: 1em auto 0
}

.m-btn01, .m-btn02 {
	display: block;
	border: solid 2px #147CD9;
	border-radius: 3px;
	text-align: center;
	color: #FFF !important;
	font-weight: 600;
	font-size: 1.2em;
	line-height: 1.2em;
	padding: .5em 1.5em .5em .8em;
	position: relative;
	margin: auto;
	background: #147CD9;
	max-width: 360px
}

@media screen and (max-width: 768px), print {
	.m-btn01, .m-btn02 {
		font-size: 1em;
		width: 80%
	}
}

.m-btn01::after, .m-btn02::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	transform: rotate(45deg);
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 1em
}

.m-btn01.top::after, .top.m-btn02::after {
	transform: rotate(-45deg)
}

.m-btn01.down::after, .down.m-btn02::after {
	transform: rotate(135deg)
}

.m-btn01:hover, .m-btn02:hover {
	background: #FFF;
	color: #147CD9 !important
}

.m-btn01:hover::after, .m-btn02:hover::after {
	border-color: #147CD9
}

.m-btn01.m-btncol02, .m-btncol02.m-btn02 {
	background: #ff8960;
	border: solid 2px #ff8960
}

.m-btn01.m-btncol02:hover, .m-btncol02.m-btn02:hover {
	background: #FFF;
	color: #ff8960 !important
}

.m-btn01.m-btncol02:hover::after, .m-btncol02.m-btn02:hover::after {
	border-color: #ff8960
}

.m-btn01.m-btncol03, .m-btncol03.m-btn02 {
	background: #19bdb2;
	border: solid 2px #19bdb2
}

.m-btn01.m-btncol03:hover, .m-btncol03.m-btn02:hover {
	background: #FFF;
	color: #19bdb2 !important
}

.m-btn01.m-btncol03:hover::after, .m-btncol03.m-btn02:hover::after {
	border-color: #19bdb2
}

.m-btn01.cline, .cline.m-btn02 {
	background: #39AE36;
	border: solid 2px #39AE36
}

.m-btn01.cline:hover, .cline.m-btn02:hover {
	background: #FFF;
	color: #39AE36 !important
}

.m-btn01.cline:hover::after, .cline.m-btn02:hover::after {
	border-color: #39AE36
}

.m-btn01.cinsta, .cinsta.m-btn02 {
	background: #DB2A73;
	border: solid 2px #DB2A73
}

.m-btn01.cinsta:hover, .cinsta.m-btn02:hover {
	background: #FFF;
	color: #DB2A73 !important
}

.m-btn01.cinsta:hover::after, .cinsta.m-btn02:hover::after {
	border-color: #DB2A73
}

.m-btn02 {
	font-size: 1.4em;
	line-height: 1.6em;
	padding: .5em 1.5em .5em .8em;
	position: relative;
	margin: auto;
	background: #147CD9;
	max-width: 460px
}

@media screen and (max-width: 768px), print {
	.m-btn02 {
		width: 100%
	}
}

.m-btn02::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	transform: rotate(45deg);
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 1em
}

.m-btn02.top::after {
	transform: rotate(-45deg)
}

.m-btn02.down::after {
	transform: rotate(135deg)
}

.m-btn02:hover {
	background: #FFF;
	color: #147CD9 !important
}

.m-btn02:hover::after {
	border-color: #147CD9
}

.m-btn02.m-btncol02 {
	background: #ff8960;
	border: solid 2px #ff8960
}

.m-btn02.m-btncol02:hover {
	background: #FFF;
	color: #ff8960 !important
}

.m-btn02.m-btncol02:hover::after {
	border-color: #ff8960
}

.m-btn02.m-btncol03 {
	background: #19bdb2;
	border: solid 2px #19bdb2
}

.m-btn02.m-btncol03:hover {
	background: #FFF;
	color: #19bdb2 !important
}

.m-btn02.m-btncol03:hover::after {
	border-color: #19bdb2
}

.m-btn03 {
	display: block;
	border: solid 1px #147CD9;
	border-radius: 3px;
	text-align: center;
	color: #147CD9;
	font-weight: 600;
	font-size: 1;
	padding: .2em 1.2em .2em .5em;
	position: relative;
	margin: auto;
	background: #FFF;
	max-width: 280px
}

@media screen and (max-width: 768px), print {
	.m-btn03 {
		width: 80%
	}
}

.m-btn03::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	transform: rotate(45deg);
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 1em;
	border-color: #147CD9
}

.m-btn03.top::after {
	transform: rotate(-45deg)
}

.m-btn03.down::after {
	transform: rotate(135deg)
}

.m-btn03:hover {
	background: #147CD9;
	color: #FFF !important
}

.m-btn03:hover::after {
	border-color: #FFF
}

.m-btn03.m-btncol02 {
	border: solid 1px #ff8960;
	color: #ff8960
}

.m-btn03.m-btncol02::after {
	border-color: #ff8960
}

.m-btn03.m-btncol02:hover {
	color: #FFF !important;
	background: #ff8960
}

.m-btn03.m-btncol02:hover::after {
	border-color: #FFF
}

.m-btn03.m-btncol03 {
	border: solid 1px #19bdb2;
	color: #19bdb2
}

.m-btn03.m-btncol03::after {
	border-color: #19bdb2
}

.m-btn03.m-btncol03:hover {
	color: #FFF !important;
	background: #19bdb2
}

.m-btn03.m-btncol03:hover::after {
	border-color: #FFF
}

.btn_wrap {
	margin-top: 20px
}

.m-lst_check li {
	text-align: left;
	position: relative;
	margin-left: 1.5em;
	margin-bottom: 0.4em
}

.m-lst_check li span {
	font-weight: 900;
	display: inline-block;
	font-size: 1.2em
}

@media screen and (min-width: 768px), print {
	.m-lst_check li {
		font-size: 1.8rem
	}
}

.m-lst_check li::before {
	content: "";
	position: absolute;
	display: block;
	background: #FFF;
	border: solid 1px #000;
	width: 1em;
	height: 1em;
	left: -1.5em;
	top: .4em
}

.m-lst_check li::after {
	content: "";
	width: 0.7em;
	height: 1em;
	border-bottom: solid 4px #ff8960;
	border-right: solid 4px #ff8960;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: -1.3em
}

@media screen and (min-width: 768px), print {
	.m-lst_check li::after {
		border-bottom: solid 4px #ff8960;
		border-right: solid 4px #ff8960
	}
}

.m-lst_topics {
	margin-bottom: 80px
}

.m-lst_topics .topics__cont {
	background: #FFF;
	width: 360px;
	margin: 0 20px;
	border-radius: 10px;
	padding-bottom: 20px
}

.m-lst_topics .topics__cont a .img {
	border-radius: 10px 10px 0 0;
	width: 100%;
	height: 240px;
	display: block;
	background-size: cover
}

.m-lst_topics .topics__cont .Title {
	padding: 1em
}

.m-lst_btmBnr {
	display: flex;
	flex-flow: wrap;
	justify-content: space-around
}

.m-lst_btmBnr li {
	width: 100%;
	margin-bottom: 10px
}

@media screen and (min-width: 768px), print {
	.m-lst_btmBnr li {
		width: 48%
	}
}

.m-lst_btmBnr li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: solid 1px #EEE;
	padding: 8px;
	background: #FFF
}

.m-lst_btmBnr li a:hover {
	background: rgba(20, 124, 217, 0.1)
}

.m-lst_btmBnr li a .img_box {
	width: 100px;
	height: 100px
}

.m-lst_btmBnr li a .img_box img {
	width: 100px;
	height: 100px;
	object-fit: cover
}

.m-lst_btmBnr li a .txt_box {
	width: calc(100% - 120px)
}

@media screen and (max-width: 768px), print {
	.m-lst_btmBnr li a .txt_box {
		width: calc(100% - 110px)
	}
}

.m-lst_btmBnr li a .txt_box>span {
	background-color: #147CD9;
	color: #FFF;
	padding: .5em 1em;
	line-height: 1em;
	margin-bottom: 10px;
	display: inline-block;
	border-radius: 1em
}

@media screen and (max-width: 768px), print {
	.m-lst_btmBnr li a .txt_box>span {
		font-size: .8em;
		padding: .5em;
		display: block
	}
}

.m-lst_btmBnr li a .txt_box p {
	font-weight: 800;
	font-size: 1.4em
}

@media screen and (max-width: 768px), print {
	.m-lst_btmBnr li a .txt_box p {
		font-size: 1.2em;
		line-height: 1.4
	}
}

.m-lst_btmBnr li a .txt_box p span {
	font-size: .7em
}

.olList {
	counter-reset: wd-count
}

.olList li {
	margin-bottom: .5em;
	padding-left: 2em;
	position: relative
}

.olList li::before {
	content: counter(wd-count);
	counter-increment: wd-count;
	background-color: #147CD9;
	color: #FFF;
	display: block;
	float: left;
	line-height: 1.6em;
	margin-left: -30px;
	text-align: center;
	height: 1.6em;
	width: 1.6em;
	border-radius: 50%
}

ul.l_indent_lst li {
	padding-left: 1em;
	text-indent: -1em
}

ul.l_indent_lst_arw li {
	text-indent: -1em;
	padding-left: 1em
}

ul.l_indent_lst_arw li::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	margin-right: 0.5em;
	border-style: solid;
	border-width: 5px 0 5px .5em;
	border-color: transparent transparent transparent #147CD9
}

dl.l_indent_lst dt {
	padding-left: 1em;
	text-indent: -1em;
	font-weight: bold
}

dl.l_indent_lst_arw dt {
	padding-left: 1em;
	text-indent: -1em;
	font-weight: bold
}

dl.l_indent_lst_arw dt::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	margin-right: 0.5em;
	border-style: solid;
	border-width: 5px 0 5px .5em;
	border-color: transparent transparent transparent #147CD9
}

dl.l_indent_lst_arw dd {
	padding-left: 1em
}

dl.l_indent_lst dd {
	padding-left: 1em
}

.price_lst {
	display: flex;
	flex-flow: wrap;
	margin: 20px 0
}

.price_lst dt {
	width: 5em;
	font-weight: bold
}

.price_lst dd {
	width: calc(100% - 5em);
	margin-bottom: 5px
}

.l_info_list {
	display: flex;
	flex-flow: wrap;
	margin: 20px 0
}

.l_info_list dt {
	width: 7em
}

.l_info_list dd {
	width: calc(100% - 7em);
	margin-bottom: 5px
}

.img_txt_wrap01 .img_txt_lst01 {
	display: flex;
	flex-flow: column
}

@media screen and (min-width: 768px), print {
	.img_txt_wrap01 .img_txt_lst01 {
		flex-flow: row-reverse;
		align-items: center
	}
}

.img_txt_wrap01 .img_txt_lst01>dt {
	width: 95%;
	margin-left: 0
}

.img_txt_wrap01 .img_txt_lst01>dt img {
	width: 100%
}

@media screen and (min-width: 768px), print {
	.img_txt_wrap01 .img_txt_lst01>dt {
		width: 50%;
		text-align: right;
		margin-top: -80px
	}
}

.img_txt_wrap01 .img_txt_lst01>dd {
	width: 90%;
	margin: auto;
	padding: 1em 0 2em
}

@media screen and (min-width: 768px), print {
	.img_txt_wrap01 .img_txt_lst01>dd {
		width: 50%
	}
	.img_txt_wrap01 .img_txt_lst01>dd .img_txt_inner {
		padding: 0 40px 0 0;
		max-width: 600px;
		margin: 0 0 0 auto
	}
}

@media screen and (min-width: 768px), print {
	.img_txt_wrap01 .img_txt_lst01:first-of-type dt {
		margin-top: 0
	}
}

.img_txt_wrap01 .img_txt_lst01:nth-of-type(2n)>dt {
	margin-left: 5%
}

@media screen and (min-width: 768px), print {
	.img_txt_wrap01 .img_txt_lst01:nth-of-type(2n) {
		flex-flow: row
	}
	.img_txt_wrap01 .img_txt_lst01:nth-of-type(2n)>dt {
		margin-left: 0
	}
	.img_txt_wrap01 .img_txt_lst01:nth-of-type(2n)>dd .img_txt_inner {
		padding: 0 0 0 40px;
		margin: 0
	}
}

.img_txt_wrap02 .img_txt_lst02 {
	display: flex;
	flex-flow: column
}

@media screen and (min-width: 768px), print {
	.img_txt_wrap02 .img_txt_lst02 {
		flex-flow: row;
		align-items: center
	}
}

.img_txt_wrap02 .img_txt_lst02>dt {
	width: 100%;
	margin-left: 0
}

.img_txt_wrap02 .img_txt_lst02>dt img {
	width: 100%
}

@media screen and (min-width: 768px), print {
	.img_txt_wrap02 .img_txt_lst02>dt {
		width: 50%;
		text-align: right
	}
}

.img_txt_wrap02 .img_txt_lst02>dd {
	margin: auto;
	padding: 1em 0 2em
}

@media screen and (min-width: 768px), print {
	.img_txt_wrap02 .img_txt_lst02>dd {
		width: 50%
	}
	.img_txt_wrap02 .img_txt_lst02>dd .img_txt_inner {
		padding: 0 0 0 40px;
		max-width: 600px;
		margin: 0 0 0 auto
	}
}

.card_lst {
	display: flex;
	flex-flow: column;
	justify-content: center
}

@media screen and (min-width: 768px), print {
	.card_lst {
		flex-flow: row wrap
	}
}

.card_lst .card_item {
	background: #147CD9;
	padding: 1em;
	margin-bottom: 40px;
	box-shadow: 10px 10px 0px 0px rgba(255, 255, 255, 0.3)
}

@media screen and (min-width: 768px), print {
	.card_lst .card_item {
		width: calc((100% - 80px) / 3);
		margin-right: 40px
	}
	.card_lst .card_item:nth-of-type(3n) {
		margin-right: 0
	}
}

.card_lst .card_item p span {
	font-weight: bold;
	font-size: 1.2em
}

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

@media screen and (max-width: 768px), print {
	.blog_lst {
		flex-flow: column
	}
}

@media screen and (min-width: 768px), print {
	.blog_lst li.blog_item {
		width: 32%
	}
}

@media screen and (max-width: 768px), print {
	.blog_lst li.blog_item {
		margin-bottom: 40px
	}
}

.blog_lst li.blog_item .column-img {
	width: 100%;
	height: 200px;
	background-size: cover;
	background-position: center
}

.blog_lst li.blog_item .date {
	font-size: .8em;
	margin: 5px 0
}

.option_inner_lst {
	background: rgba(255, 255, 255, 0.3);
	padding: .5em;
	border-radius: 5px;
	margin-top: 10px
}

.option_inner_lst li {
	padding-left: 1em;
	text-indent: -1em
}

.option_inner_lst li::before {
	content: "・"
}

.tbl-convention {
	border: 0px;
	border-collapse: separate;
	border-spacing: 10px
}

@media screen and (max-width: 768px), print {
	.tbl-convention {
		border-spacing: 0 10px
	}
}

.tbl-convention th.tbl-convention_th, .tbl-convention td.tbl-convention_td {
	padding: .5em;
	vertical-align: middle
}

@media screen and (max-width: 768px), print {
	.tbl-convention th.tbl-convention_th, .tbl-convention td.tbl-convention_td {
		padding: .5em 0
	}
}

.tbl-convention th.tbl-convention_th a, .tbl-convention td.tbl-convention_td a {
	text-decoration: underline;
	color: #0f1288
}

.tbl-convention th.tbl-convention_th {
	background: rgba(25, 189, 178, 0.2);
	width: 20%;
	margin-right: 3%;
	text-align: center
}

@media screen and (max-width: 768px), print {
	.tbl-convention td.tbl-convention_td {
		padding: .5em 0 .5em .5em
	}
}

.tbl-seminar {
	border: 0px;
	border-collapse: separate;
	border-spacing: 10px
}

@media screen and (max-width: 768px), print {
	.tbl-seminar {
		border-spacing: 0 10px
	}
}

.tbl-seminar th.tbl-seminer_th, .tbl-seminar td.tbl-seminer_td {
	padding: .5em;
	vertical-align: middle
}

@media screen and (max-width: 768px), print {
	.tbl-seminar th.tbl-seminer_th, .tbl-seminar td.tbl-seminer_td {
		padding: .5em 0
	}
}

.tbl-seminar th.tbl-seminer_th a, .tbl-seminar td.tbl-seminer_td a {
	text-decoration: underline;
	color: #0f1288
}

.tbl-seminar th.tbl-seminer_th {
	background: rgba(25, 189, 178, 0.2);
	width: 20%;
	margin-right: 3%;
	text-align: center
}

@media screen and (max-width: 768px), print {
	.tbl-seminar td.tbl-seminer_td {
		padding: .5em 0 .5em .5em
	}
}

.color-01 {
	color: #147CD9
}

.color-03 {
	color: #19bdb2
}

@media screen and (max-width: 768px), print {
	.i-block {
		display: inline-block
	}
}

.txtS {
	font-size: .8em
}

@media screen and (max-width: 768px), print {
	.sp-txtS {
		font-size: .8em
	}
}

.txtL {
	font-size: 1.4em
}

.txtB {
	font-weight: 900
}

.txtBL {
	color: #147CD9
}

.txtO {
	color: #ff8960
}

.txt_lh2 {
	line-height: 2
}

.txt_marker {
	background: linear-gradient(transparent 60%, #ff6 60%)
}

.u-txtLink {
	color: rgba(9, 164, 255, 0.86);
	text-decoration: underline
}

input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, input[type="number"]:focus, .form_mainform_select:focus, textarea:focus {
	border: solid 1px #ff8960;
	border-radius: 4px
}

.formArea {
	padding-top: 3rem;
	max-width: 880px;
	margin: 0 auto
}

.formArea .btn--primary {
	background: none;
	border: none
}

.formArea .btn--primary span {
	font-weight: bold
}

.formArea .btn-01 {
	text-align: center;
	margin: 20px 0
}

.formArea .btn--primary:hover {
	cursor: pointer
}

.form_mainform {
	background: #FFF
}

.form_mainform_lst {
	margin: 40px auto;
	border-top: solid 1px rgba(20, 124, 217, 0.5)
}

@media screen and (min-width: 768px), print {
	.form_mainform_lst {
		display: flex;
		justify-content: space-between;
		flex-flow: wrap
	}
}

.form_mainform_title {
	position: relative;
	overflow: hidden;
	padding: 14px 0 2px;
	font-weight: bold
}

@media screen and (max-width: 768px), print {
	.form_mainform_title {
		font-size: 1.2em
	}
}

@media screen and (min-width: 768px), print {
	.form_mainform_title {
		width: 240px;
		padding: 14px 0;
		border-bottom: solid 1px rgba(20, 124, 217, 0.5)
	}
}

.form_mainform_title.required::after {
	content: "必須";
	background: #ff8960;
	color: #FFF;
	border-radius: 3px;
	display: inline-block;
	padding: 0 .5em;
	margin-left: 0.5em;
	font-size: .8em;
	font-weight: normal
}

.form_mainform_content {
	padding: 0px 0 14px;
	border-bottom: solid 1px rgba(20, 124, 217, 0.5)
}

@media screen and (min-width: 768px), print {
	.form_mainform_content {
		width: calc(100% - 240px);
		padding: 14px 0 14px 40px
	}
}

.form_mainform_check_box:not(:first-of-type) {
	margin-top: 4px
}

.form_mainform_note {
	font-size: 1.3rem;
	margin-top: 3px
}

.form_mainform_input {
	appearance: none;
	box-sizing: border-box;
	display: block;
	padding-right: 16px;
	padding-left: 16px;
	width: 100%;
	font-size: 18px;
	line-height: 38px;
	color: #333;
	border: 1px solid #ccc;
	border-radius: 4px;
	outline: none
}

.form_mainform_input[type="text"] {
	height: 38px
}

@media screen and (max-width: 768px), print {
	.form_mainform_input {
		margin-top: 10px
	}
}

.form_mainform_input-name {
	display: inline-block;
	width: 12em;
	max-width: 100%
}

.form_mainform_input-zip {
	display: inline-block;
	width: 8em;
	margin-left: 6px
}

.form_mainform_input-zip02 {
	display: inline-block;
	width: 6em;
	margin-left: 6px
}

.form_mainform_input-birthyear {
	display: inline-block;
	width: 6em;
	margin-left: 6px
}

.form_mainform_input-pikaday {
	display: inline-block;
	width: 12em;
	border-radius: 4px 0 0 4px
}

.form_mainform_radio_lst {
	display: flex;
	flex-flow: wrap
}

@media screen and (max-width: 768px), print {
	.form_mainform_radio_lst li {
		width: 100%;
		padding: 4px 0
	}
}

@media screen and (min-width: 768px), print {
	.form_mainform_radio_lst li {
		margin-right: 20px;
		margin-bottom: 8px
	}
}

.form_mainform_radio_label {
	padding: 0 8px;
	display: flex;
	align-items: center;
	cursor: pointer
}

.form_mainform_radio {
	opacity: 0;
	width: 0;
	margin: 0
}

.form_mainform_radio:focus+.form_mainform_radio_dammy {
	border: solid 2px #CCC;
	background: rgba(255, 137, 96, 0.1)
}

.form_mainform_radio:checked+.form_mainform_radio_dammy {
	border: solid 2px #CCC
}

.form_mainform_radio:checked+.form_mainform_radio_dammy::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #147CD9
}

.form_mainform_radio_dammy {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff !important;
	border: solid 2px #CCC
}

.form_mainform_radio_txt {
	margin-left: 12px;
	display: block
}

.form_mainform_check_lst {
	display: flex;
	flex-flow: wrap
}

@media screen and (max-width: 768px), print {
	.form_mainform_check_lst li {
		width: 100%;
		padding: 4px 0
	}
}

@media screen and (min-width: 768px), print {
	.form_mainform_check_lst li {
		margin-right: 20px
	}
}

.form_mainform_check_label {
	padding: 0 8px;
	display: flex;
	align-items: center;
	cursor: pointer
}

.form_mainform_check {
	opacity: 0;
	width: 0;
	margin: 0
}

.form_mainform_check:focus+.form_mainform_check_dammy {
	border: solid 2px #CCC;
	background: rgba(255, 137, 96, 0.1)
}

.form_mainform_check:checked+.form_mainform_check_dammy {
	border: solid 2px #CCC
}

.form_mainform_check:checked+.form_mainform_check_dammy::before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 6px;
	width: 15px;
	height: 22px;
	transform: rotate(40deg);
	border-bottom: 3px solid #147CD9;
	border-right: 3px solid #147CD9
}

.form_mainform_check_dammy {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	width: 32px;
	height: 32px;
	background: #fff !important;
	border: solid 2px #CCC
}

.form_mainform_check_txt {
	margin-left: 12px;
	display: block;
	width: calc(100% - 40px)
}

.form_mainform_select_box {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin-right: 4px;
	background-color: #fff;
	border-radius: 4px
}

.form_mainform_select_box::before {
	content: "";
	position: absolute;
	z-index: 11;
	top: 0;
	right: 16px;
	bottom: 0;
	display: block;
	margin-top: auto;
	margin-bottom: auto;
	width: 1px;
	height: 24px;
	background-color: #aaa
}

.form_mainform_select_box:after {
	content: "";
	position: absolute;
	z-index: 11;
	top: 0;
	right: 4px;
	bottom: 0;
	display: block;
	margin-top: auto;
	margin-bottom: auto;
	width: 0;
	height: 0;
	border-top: 7px solid #147CD9;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent
}

.form_mainform_select {
	appearance: none;
	z-index: 10;
	box-sizing: border-box;
	display: inline-block;
	padding: 10px 30px 10px 16px;
	font-size: 15px;
	line-height: 19px;
	color: #333;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	outline: none;
	position: relative
}

.form_mainform_select-date {
	width: 5em;
	margin-left: 6px
}

.form_sub_ttl {
	margin: -20px 0;
	color: #147CD9;
	font-weight: bold;
	font-size: 1.2em
}

.btn_wrap_form {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 40px
}

@media screen and (max-width: 768px), print {
	.btn_wrap_form {
		flex-flow: column-reverse
	}
}

.btn_wrap_form .form_mainform_confirm_btn {
	margin: 0 auto !important
}

@media screen and (max-width: 768px), print {
	.btn_wrap_form .form_mainform_confirm_btn {
		margin: 10px 0 20px !important
	}
}

.formError {
	z-index: 990
}

.formError .formErrorContent {
	z-index: 991
}

.formError .formErrorArrow {
	z-index: 996
}

.ui-dialog .formError {
	z-index: 5000
}

.ui-dialog .formError .formErrorContent {
	z-index: 5001
}

.ui-dialog .formError .formErrorArrow {
	z-index: 5006
}

.inputContainer {
	position: relative;
	float: left
}

.formError {
	position: absolute;
	top: 300px;
	left: 300px;
	display: block;
	cursor: pointer;
	text-align: left
}

.formError.inline {
	position: relative;
	top: 0;
	left: 0;
	display: inline-block
}

.ajaxSubmit {
	padding: 20px;
	background: #55ea55;
	border: 1px solid #999;
	display: none
}

.formError .formErrorContent {
	width: 100%;
	background: #ff8960;
	position: relative;
	color: #fff;
	min-width: 100px;
	font-size: 12px;
	padding: 6px;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-o-border-radius: 6px
}

.formError.inline .formErrorContent {
	border: none;
	border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	-o-border-radius: 0
}

.formErrorContent::after {
	content: "";
	display: block;
	position: absolute;
	border-right: 6px solid transparent;
	border-bottom: 10px solid #ff8960;
	border-left: 6px solid transparent;
	top: -10px;
	left: 40px
}

.formError .formErrorArrow {
	display: none
}

.stepBar {
	display: flex;
	max-width: 400px;
	position: relative;
	margin: 2rem auto 20px;
	text-align: center;
	list-style: none;
	padding: 0
}

.stepBar li {
	font-size: 12px;
	list-style: none;
	position: relative;
	width: 33.333%
}

.stepBar li:after {
	background: #D0E1F9;
	content: "";
	width: calc(100% - 24px);
	height: 4px;
	position: absolute;
	left: calc(-50% + 12px);
	top: 10px
}

.stepBar li:first-child:after {
	display: none
}

.stepBar li span {
	background: #D0E1F9;
	color: #ffffff;
	display: inline-block;
	height: 24px;
	margin-bottom: 5px;
	line-height: 24px;
	width: 24px;
	border-radius: 50%
}

.stepBar .visited:after, .stepBar .visited span {
	background: #3695eb
}

@media screen and (min-width: 768px), print {
	.stepBar {
		max-width: 800px
	}
	.stepBar li span {
		width: 40px;
		height: 40px;
		line-height: 40px
	}
	.stepBar li:after {
		width: calc(100% - 40px);
		left: calc(-50% + 20px);
		top: 18px
	}
}

.submit {
	background: #ff8960;
	text-align: center;
	padding: 1rem;
	border-radius: 5px;
	color: #fff;
	margin: 0 auto;
	display: block;
	border: none;
	cursor: pointer;
	transition: 0.3s;
	width: 140px;
	font-size: 1.6rem
}

.form_btnBox {
	display: flex;
	align-items: center
}

.form_btnBox .back {
	background: #666;
	width: 140px;
	text-align: center;
	padding: 1rem;
	border-radius: 5px;
	color: #fff;
	margin: 0 auto;
	display: block;
	border: none;
	cursor: pointer;
	transition: 0.3s;
	margin-right: 20px
}

.pika-single:before, .pika-single:after {
	content: " ";
	display: table
}

.pika-single:after {
	clear: both
}

.pika-single {
	*zoom: 1;
	background: #FFF
}

.pika-single.is-hidden {
	display: none
}

.pika-single.is-bound {
	position: absolute;
	box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5);
	z-index: 50
}

.pika-lendar {
	float: left;
	width: 240px;
	margin: 8px
}

.pika-title {
	position: relative;
	text-align: center
}

.pika-label {
	display: inline-block;
	*display: inline;
	position: relative;
	z-index: 9999;
	overflow: hidden;
	margin: 0;
	padding: 5px 3px;
	font-size: 14px;
	line-height: 20px;
	font-weight: bold;
	background-color: #fff;
	color: #3c322b
}

.pika-title select {
	cursor: pointer;
	position: absolute;
	z-index: 9998;
	margin: 0;
	left: 0;
	top: 5px;
	filter: alpha(opacity=0);
	opacity: 0
}

.pika-prev, .pika-next {
	display: block;
	cursor: pointer;
	position: relative;
	outline: none;
	border: 0;
	padding: 0;
	width: 20px;
	height: 30px;
	text-indent: 20px;
	white-space: nowrap;
	overflow: hidden;
	background-color: transparent;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 75% 75%;
	opacity: .5;
	*position: absolute;
	*top: 0
}

.pika-prev:hover, .pika-next:hover {
	opacity: 1
}

.pika-prev, .is-rtl .pika-next {
	float: left;
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==");
	*left: 0
}

.pika-next, .is-rtl .pika-prev {
	float: right;
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=");
	*right: 0
}

.pika-prev.is-disabled, .pika-next.is-disabled {
	cursor: default;
	opacity: .2
}

.pika-select {
	display: inline-block;
	*display: inline
}

.pika-table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: 0
}

.pika-table th, .pika-table td {
	width: 14.285714285714286%;
	padding: 0
}

.pika-table th {
	color: #999;
	font-size: 12px;
	line-height: 25px;
	font-weight: bold;
	text-align: center
}

.pika-button {
	cursor: pointer;
	display: block;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	outline: none;
	border: 0;
	margin: 1%;
	width: 99%;
	padding: 10px 5px;
	color: #666;
	font-size: 12px;
	line-height: 15px;
	background: #f1f1ed;
	border-radius: 10%
}

tr.pika-row td:nth-of-type(1) .pika-button {
	color: #d9516c
}

tr.pika-row td:nth-of-type(7) .pika-button {
	color: #0076c9
}

.pika-week {
	font-size: 11px;
	color: #999
}

.is-today .pika-button {
	background-color: #FBB03B
}

.is-selected .pika-button, .has-event .pika-button {
	color: #fff;
	font-weight: bold;
	background: #ff8960;
	box-shadow: inset 0 1px 3px #178fe5;
	border-radius: 3px
}

.has-event .pika-button {
	background: #005da9;
	box-shadow: inset 0 1px 3px #0076c9
}

.is-disabled .pika-button, .is-inrange .pika-button {
	background: #D5E9F7
}

.is-startrange .pika-button {
	color: #fff;
	background: #6CB31D;
	box-shadow: none;
	border-radius: 3px
}

.is-endrange .pika-button {
	color: #fff;
	background: #33aaff;
	box-shadow: none;
	border-radius: 3px
}

.is-disabled .pika-button {
	pointer-events: none;
	cursor: default;
	color: #999;
	opacity: .3
}

.is-outside-current-month .pika-button {
	color: #999;
	opacity: .3
}

.is-selection-disabled {
	pointer-events: none;
	cursor: default
}

.pika-button:hover, .pika-row.pick-whole-week:hover .pika-button {
	color: #fff;
	background: #ff8960;
	box-shadow: none;
	border-radius: 3px
}

.pika-table abbr {
	border-bottom: none
}

.pikaday_wrap {
	display: flex;
	align-items: center;
	flex-flow: wrap
}

@media screen and (max-width: 768px), print {
	.pikaday_wrap {
		flex-flow: column;
		align-items: flex-start;
		margin-top: 20px
	}
}

@media screen and (max-width: 768px), print {
	.pikaday_wrap .date {
		margin-bottom: 5px
	}
}

.pikaday_wrap .date, .pikaday_wrap .online-time {
	align-items: center;
	display: flex;
	margin-right: 20px;
	margin-bottom: 10px
}

@media screen and (max-width: 768px), print {
	.pikaday_wrap .date, .pikaday_wrap .online-time {
		flex-flow: wrap
	}
	.pikaday_wrap .date label:nth-of-type(2), .pikaday_wrap .online-time label:nth-of-type(2) {
		margin-top: 10px
	}
	.pikaday_wrap .date .form_mainform_select_box:nth-of-type(2), .pikaday_wrap .online-time .form_mainform_select_box:nth-of-type(2) {
		margin-top: 10px
	}
}

.pikaday_wrap label.right {
	height: 100%;
	background-color: #147CD9;
	vertical-align: top;
	line-height: 38px;
	padding: 0 10px;
	text-align: center;
	border-radius: 0 3px 3px 0;
	cursor: pointer
}

@media screen and (max-width: 768px), print {
	.pikaday_wrap label.right {
		margin-top: 10px
	}
}

.pikaday_wrap label.right i {
	color: #FFF
}

.pikaday_wrap label.left {
	margin-right: 10px;
	font-weight: bold;
	color: #147CD9
}

@media screen and (min-width: 768px), print {
	.pikaday_wrap label.left:nth-of-type(2) {
		margin-left: 20px
	}
}

.ov_btn_wrap {
	position: fixed;
	z-index: 500;
	width: 98%;
	background: rgba(255, 255, 255, 0.9);
	bottom: 5px;
	left: 0;
	right: 0;
	margin: auto;
	border-radius: 5px;
	border: solid 1px #19bdb2;
	border-right: solid 30px #19bdb2;
	box-shadow: 0px 0px 15px -5px #777777;
	border-radius: 10px;
	padding: 2% 5%;
	line-height: 1.4em
}

.ov_btn_wrap .day {
	background: #19bdb2;
	border-radius: 20px;
	text-align: center;
	margin-bottom: 4px
}

.ov_btn_wrap .txt_01 {
	color: #000
}

.ov_btn_wrap .txt_01 span {
	color: #19bdb2;
	font-weight: bold;
	font-size: 1.4em;
	text-align: right
}

.ov_btn_wrap .txt_02 {
	color: #000;
	font-size: 1.2em;
	text-align: right
}

.ov_btn_wrap::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	transform: rotate(45deg);
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 1em;
	right: -18px;
	z-index: 501
}

@media screen and (min-width: 768px), print {
	.ov_btn_wrap {
		width: 320px;
		left: auto;
		right: 20px;
		bottom: 20px;
		padding: 5px
	}
}

.line-box {
	margin: 40px auto;
	display: flex;
	justify-content: center;
	background: rgba(255, 255, 255, 0.2);
	padding: .5em;
	align-items: center
}

@media screen and (max-width: 768px), print {
	.line-box {
		flex-flow: column
	}
}

.line-box .line-ttl {
	text-align: center;
	margin: .5em;
	font-size: 1.2em
}

.line-box a {
	background: #00B900;
	padding: 0 60px;
	text-align: center;
	display: block;
	border-radius: 5px;
	border: 0px;
	margin-left: 40px
}

@media screen and (max-width: 768px), print {
	.line-box a {
		display: block;
		padding: auto;
		margin-left: 0
	}
}

@media screen and (min-width: 768px), print {
	.line-box a img {
		height: 72px
	}
}

.cc-window.cc-floating {
	padding: 1em !important
}

.cc-floating .cc-message {
	font-size: .8em !important;
	margin-bottom: 0 !important
}

.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-touch-callout: none;
	user-select: none;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent
}

.slick-list {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0;
	padding: 0
}

.slick-list:focus {
	outline: none
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand
}

.slick-slider .slick-track, .slick-slider .slick-list {
	transform: translate3d(0, 0, 0)
}

.slick-track {
	position: relative;
	left: 0;
	top: 0;
	display: flex;
	margin-left: auto;
	margin-right: auto
}

.slick-track:before, .slick-track:after {
	content: "";
	display: table
}

.slick-track:after {
	clear: both
}

.slick-loading .slick-track {
	visibility: hidden
}

.slick-slide {
	float: left;
	height: auto !important;
	min-height: 1px;
	display: none
}

[dir="rtl"] .slick-slide {
	float: right
}

.slick-slide img {
	display: block
}

.slick-slide.slick-loading img {
	display: none
}

.slick-slide.dragging img {
	pointer-events: none
}

.slick-initialized .slick-slide {
	display: block
}

.slick-loading .slick-slide {
	visibility: hidden
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent
}

.slick-arrow.slick-hidden {
	display: none
}

.slick-prev, .slick-next {
	position: absolute;
	display: block;
	height: 20px;
	width: 20px;
	line-height: 0px;
	font-size: 0px;
	cursor: pointer;
	background: transparent;
	color: transparent;
	top: 46%;
	transform: translate(0, -50%);
	padding: 0;
	content: "";
	border-style: solid;
	border-color: #147CD9;
	border-width: 4px 4px 0 0;
	outline: none
}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	outline: none;
	background: transparent;
	color: transparent
}

.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
	opacity: 1
}

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
	opacity: .25
}

.slick-prev {
	left: calc((100% - 910px) / 2);
	transform: rotate(-135deg);
	z-index: 50
}

[dir="rtl"] .slick-prev {
	left: auto;
	right: -25px
}

.slick-prev:before {
	content: ""
}

[dir="rtl"] .slick-prev:before {
	content: ""
}

.slick-next {
	transform: rotate(45deg);
	right: calc((100% - 910px) / 2)
}

[dir="rtl"] .slick-next {
	left: -25px;
	right: auto
}

.slick-next:before {
	content: ""
}

[dir="rtl"] .slick-next:before {
	content: ""
}

.p-top_inst_slider .slick-prev, .p-top_inst_slider .slick-next {
	border-color: #19bdb2
}

.p-top_inst_slider .slick-prev {
	left: calc(50% - 420px)
}

.p-top_inst_slider .slick-next {
	right: calc(50% - 420px)
}

.slick-dotted.slick-slider {
	margin-bottom: 30px
}

.slick-dots {
	position: absolute;
	bottom: -35px;
	list-style: none;
	display: block;
	text-align: center;
	padding: 0;
	margin: 0;
	width: 100%
}

.slick-dots li {
	position: relative;
	display: inline-block;
	height: 20px;
	width: 20px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer
}

.slick-dots li button {
	border: 0;
	background: transparent;
	display: block;
	height: 20px;
	width: 20px;
	outline: none;
	line-height: 0px;
	font-size: 0px;
	color: transparent;
	padding: 5px;
	cursor: pointer
}

.slick-dots li button:hover, .slick-dots li button:focus {
	outline: none
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
	opacity: 1
}

.slick-dots li button:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 12px;
	height: 12px;
	content: "";
	display: block;
	background: #147CD9;
	border-radius: 50%;
	display: block;
	opacity: .25;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
	color: #147CD9;
	opacity: .75
}

.p-top_inst_slider .slick-dots li {
	position: relative;
	display: inline-block;
	height: 20px;
	width: 20px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer
}

.p-top_inst_slider .slick-dots li button:hover:before, .p-top_inst_slider .slick-dots li button:focus:before {
	opacity: 1;
	background: #666
}

.p-top_inst_slider .slick-dots li button:before {
	background: #19bdb2
}

.p-top_inst_slider .slick-dots li.slick-active button:before {
	opacity: 1;
	background: #19bdb2
}

/*# sourceMappingURL=style_01.css.map */

.oflex02 {
	display: flex;
	flex-wrap: nowrap;
	margin: 0;
	padding: 0;
}

.oflex02__item {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin: 0;
	margin-right: 5px;
	width: 70%;
}

@media screen and (max-width: 768px) {
	.oflex02 {
		display: flex;
		flex-wrap: nowrap;
		padding: 0;
		flex-direction: column;
	}
	.oflex02__item {
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		margin: 0;
		margin-bottom: 5px;
	}
}

.bnrCont {
	text-align: center;
	margin-top: 50px;
}

.rinsho-cv {
	background: #137cd9;
	position: fixed;
	bottom: 0;
	z-index: 100;
	padding-top: 20px;
	width: 100%;
	text-align: center;
	padding-bottom: 20px;
}

.rinsho-cvBtn a {
	background: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	color: #137cd9;
	border-radius: 5px;
	padding-left: 50px;
	padding-right: 50px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.flow01-img {
	margin-top: -60px;
}

img.spimg {
	display: none;
}

img.pcimg {
	display: block;
}

@media screen and (max-width: 768px) {
	img.pcimg {
		display: none;
	}
	img.spimg {
		display: block;
	}
}

span.company__num {
	font-size: 1.5rem;
}

.oflex__Company {
	display: flex;
	flex-wrap: nowrap;
	margin: 0;
	padding: 0;
}

.p-top_systemCon .inner .p-top_systemCon_info {
	background: #FFF;
	border-radius: 10px;
	height: 100%;
	margin-right: 10px;
}

.inner__Company {
	max-width: 1100px;
}

footer {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 1rem 0;
	padding-bottom: 10rem;
}

@media screen and (max-width: 768px) {
	.oflex__Company {
		display: flex;
		flex-wrap: nowrap;
		margin: 0;
		padding: 0;
		flex-direction: column;
	}
	.p-top_systemCon .inner .p-top_systemCon_info {
		background: #FFF;
		border-radius: 10px;
		height: 100%;
		/* margin-right: 10px; */
		margin-bottom: 10px;
	}
}

.cource-scheduleCont {
	width: 80%;
}

.cource-scheduleContttl {
	background: #3795eb;
	color: #fff;
	text-align: center;
	padding: 10px;
	font-weight: 600;
	font-size: 2rem;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: 20px;
	border-radius: 5px;
}

.cource-scheduleConttxt {
	width: 90%;
	margin: 0 auto;
}

.cource-scheduleContIcon {
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
}

.cource-scheduleContIcon img {
	width: 30%;
}

.cource-scheduleCont-table {
	width: 100%;
	margin: 0 auto;
	margin-bottom: 50px;
	display: flex;
}

.cource-scheduleCont-table td {
	padding: 11px 12px;
	background: #a8a8a8;
	border-bottom: 10px solid;
	border-color: #ffff;
	color: #fff;
	width: 58%;
}

td.day {
	background: #f0f0f0;
	color: #000;
	vertical-align: middle;
	text-align: center;
}

.cource-scheduleCont-table table {
	margin-right: 20px;
}

@media screen and (max-width: 768px) {
	.cource-scheduleCont {
		width: 95%;
	}
	.cource-scheduleContttl {
		font-size: 1.3rem;
	}
	.cource-scheduleConttxt {
		width: 100%;
		margin: 0 auto;
	}
	.cource-scheduleContIcon img {
		width: 60%;
	}
	.cource-scheduleCont-table {
		width: 100%;
		margin: 0 auto;
		margin-bottom: 50px;
		display: flex;
		flex-direction: column;
	}
}

/* 240618 Add */
.top #courseList {
    display: flex;
    flex-direction: column;
    gap:40px 0;
}

.top #courseList section {
    background: #fff;
    box-sizing: border-box;
    margin: 0 0 0 0;
    padding: 5% 3.636%;
    border-radius: 10px;
    filter: drop-shadow(0px 0px 8px rgba(0,0,0,0.16));
}

.top #courseList article {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin: 0 0 50px 0;
}

.top #courseList article figure {
    width: 47.059%;
}

.top #courseList article figure figcaption {
    text-align: center;
    margin: .5em 0 0 0;
}

.top #courseList article aside {
    width: 50.98%;
}

.top #courseList section article aside h3 {
    color: #fff;
    line-height: 1em;
    font-size: 1.375em;
    width: fit-content;
    padding: 1.1em 1.35em;
    background: linear-gradient(90deg, #5B98DD, #76B3FF);
    margin: 0 0 1em -8%;
    font-weight: 500;
    letter-spacing: .1em;
}
.top #courseList section:nth-child(2) article aside h3 {background: linear-gradient(90deg, #01C89A, #00E2AC);}
.top #courseList section:nth-child(3) article aside h3 {background: linear-gradient(90deg, #FF9045, #FFD945);}
.top #courseList section:nth-child(4) article aside h3 {background: linear-gradient(90deg, #016D9A, #00A6AC);}

.top #courseList article aside h4 {
    line-height: 1.6em;
    font-size: 1.875em;
    font-weight: 600;
    letter-spacing: .05em;
    margin: 0 0 1em 0;
}

.top #courseList article aside ul {
    display: flex;
    flex-direction: column;
    gap:.5em 0;
}

.top #courseList article aside ul li {
    display: flex;
    align-items: flex-start;
    font-size: 1.125em;
    font-weight: 600;
}

.top #courseList article aside ul li span {
    width: calc(100% - (20px + .5em));
}

.top #courseList section article aside ul li::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url("../../img/icon_chk1.svg") center center no-repeat;
    background-size: contain;
    margin: .3em .5em 0 0;
    border-radius: 9999px;
}

.top #courseList section:nth-child(2) article aside ul li::before {background: url("../../img/icon_chk2.svg") center center no-repeat;}
.top #courseList section:nth-child(3) article aside ul li::before {background: url("../../img/icon_chk3.svg") center center no-repeat;}
.top #courseList section:nth-child(4) article aside ul li::before {background: url("../../img/icon_chk4.svg") center center no-repeat;}

.top #courseList section article aside p.note {
    margin: 1em 0 0 0;
    font-size: 0.9375em;
    font-weight: 500;
}

.top #courseList .moreBtn {
    text-align: center;
    width: 100%;
}

.top #courseList section .moreBtn a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    color: #fff;
    font-weight: 600;
    border-radius: 9999px;
    font-size: 1.5em;
    padding: 1em 0;
    line-height: 1em;
    background: #117CD5;
}

.top #courseList section:nth-child(2) .moreBtn a{background: #01C89A;}
.top #courseList section:nth-child(3) .moreBtn a{background: #FF9045;}
.top #courseList section:nth-child(4) .moreBtn a{background: #016D9A;}


.top .m-ttl_01.c03 {
    position: relative;
    width: fit-content;
    margin: auto;
}

.top .m-ttl_01.c03 small.note {
    position: absolute;
    left: 100%;
    bottom: 0.8em;
    white-space: nowrap;
    font-size: .6em;
    margin: 0 0 0 1em;
}

.top #personalInfo {
    text-align: center;
    margin: 0 0 3em 0;
}

.top #personalInfo h3 {
    line-height: 1em;
    width: fit-content;
    margin: 0 auto 0em auto;
    color: #305597;
    font-size: 1.875em;
    letter-spacing: .05em;
    background: url("../../img/fuki_bg.svg") center center no-repeat;
    background-size: 100%;
    padding: 1.5em 1em 2.5em 1em;;
    
}

.top #personalInfo p {
    line-height: 2em;
    font-size: 1.2em;
}


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

    /* 240618 Add */
    .top #courseList {
        gap:30px 0;
    }

    .top #courseList section {
        padding: 5% 5%;
    }

    .top #courseList article {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        margin: 0 0 25px 0;
    }

    .top #courseList article figure {
        width: 100%;
        margin: 0 0 20px 0;
    }


    .top #courseList article aside {
        width: 100%;
    }

    .top #courseList section article aside h3 {
        font-size: 3.8vw;
        padding: 1.1em 1em;
        margin: 0 0 1em -8%;
    }

    .top #courseList article aside h4 {
        font-size: 5.2vw;
        letter-spacing: .0em;
        margin: 0 0 .8em 0;
    }

    .top #courseList article aside ul li {
        font-size: 1em;
        font-weight: 600;
    }

    .top #courseList article aside ul li span {
        width: calc(100% - (15px + .5em));
    }

    .top #courseList section article aside ul li::before {
        width: 15px;
        height: 15px;
        margin: .4em .5em 0 0;
        border-radius: 9999px;
    }

    .top #courseList section article aside p.note {
        font-size: 0.875em;
    }

    .top #courseList section .moreBtn a {
        font-size: 4vw;
    }

    .top .m-ttl_01.c03 small.note {
        position: absolute;
        left: 0;
        right: 0;
        bottom: auto;
        top: 100%;
        white-space: nowrap;
        font-size: .6em;
        margin: 0em auto 0 auto;
        display: block;
        width: fit-content;
    }

    .top #personalInfo {
        text-align: center;
        margin: 0 0 1.5em 0;
    }

    .top #personalInfo h3 {
        line-height: 1em;
        width: 100%;
        margin: 0 auto 0em auto;
        font-size: 3.5vw;
        letter-spacing: 0em;
        padding: 1.5em .5em 2.5em .5em;;

    }

    .top #personalInfo p {
        line-height: 1.8em;
        font-size: 3.2vw;
        letter-spacing: .05em;
    }



}

/* 240918 Add */
.p-top_policy {
	background: #fff;
	padding: 60px 0;
    text-align: center;
}

.p-top_policy h2 {
    font-weight: 600;
    font-size: 45px;
    width: fit-content;
    margin: 0 auto .5em auto;
    background:linear-gradient(transparent 70%, #FFF12E 70%);
    line-height: 1em;
    padding: 0 0 .3em 0;
}

.p-top_policy p {
    font-size: 18px;
    line-height: 2em;
    margin: 0 0 1.8em 0;
}

.p-top_policy h3 {
    font-weight: 600;
    font-size: 30px;
    color: #305597;
    line-height: 1.5em;
    margin: 0 0 1em 0;
}

.p-top_policy article {
    display: flex;
    justify-content: center;
    gap:0 60px;
    margin: 0 0 2em 0;
}

.p-top_policy article h4 {
    font-weight: 600;
    font-size: 18px;
    margin: 0 0 1em 0;
}

.p-top_policy article aside dl {
    width: 200px;
    height: 200px;
    flex-direction: column;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url("../../img/policy_graph1.svg") center center no-repeat;
    background-size: contain;
}

.p-top_policy article aside:nth-child(2) dl {
    background: url("../../img/policy_graph2.svg") center center no-repeat;
    background-size: contain;
}

.p-top_policy article dl dt {
    font-weight: 600;
    font-size: 20px;
    line-height: 1em;
}

.p-top_policy article dl dt strong {
    font-size: 36px;
    font-weight: 600;
    color: #FF5F9B;
}

.p-top_policy article dl dd {
    font-size: 13px;
    line-height: 1em;
    margin: .8em 0 0 0;
}

.p-top_policy ul {
    font-size: 13px;
    text-align: left;
    width: fit-content;
    margin: auto;
}




@media screen and (max-width: 768px), print {
	.p-top_policy {
		padding: 40px 0
	}

    .p-top_policy h2 {
        font-size: 5vw;
        margin: 0 auto .5em auto;

    }

    .p-top_policy p {
        font-size: 3vw;
        margin: 0 0 1.6em 0;
    }

    .p-top_policy h3 {
        font-size: 4.3vw;
        line-height: 1.6em;
    }

    .p-top_policy article {
        display: flex;
        justify-content: center;
        gap:0 5%;
        margin: 0 0 1em 0;
    }

    .p-top_policy article h4 {
        font-size: 3.6vw;
        margin: 0 0 .8em 0;
    }

    .p-top_policy article aside dl {
        width: 40vw;
        height: 40vw;
    }


    .p-top_policy article dl dt {
        font-size: 5vw;
    }

    .p-top_policy article dl dt strong {
        font-size: 8vw;
    }

    .p-top_policy article dl dd {
        font-size: 3vw;
        line-height: 1em;
        margin: .8em 0 0 0;
    }

    .p-top_policy ul {
        font-size: 2.8vw;
    }






}

#manabibaWrap {
    margin: 0 0 60px 0;
}

#manabibaWrap #keyImg {
    width: 600px;
    margin: auto;
    
}

#manabibaWrap #keyImg .moreBtn {
    text-align: center;
}

#manabibaWrap #keyImg .moreBtn a {
    display:block;
    text-decoration: none;
    font-size: 1.25em;
    color: #fff;
    background: #3592e9;
    padding: 1em 0em;
    border-radius: 9999px;
    
}

#manabibaWrap #keyImg article {
    margin: 0 0 1em 0;
}

#manabibaWrap #keyImg article header {
    margin: 0 0 1em 0;
}

#manabibaWrap #keyImg article header p {
    width: fit-content;
    font-weight: 600;
    color: #036EB4;
    font-size: 1.125em;
    border-bottom: 2px solid #036EB4;
    line-height: 1em;
    padding: 0 0 .8em 0;
    margin: 0 0 1.6em 0;
}

#manabibaWrap #keyImg article header h2 {
    display: flex;
    line-height: 1em;
    font-size: 1.3125em;
    color: #3592E9;
    align-items: flex-end;
    gap:0 .5em;
    letter-spacing: .05em;
}

#manabibaWrap #keyImg article header h2 .logo1 {
    width: 160px;
}

#manabibaWrap #keyImg article header h2 .logo2 {
    width: 140px;
}

#manabibaWrap #keyImg article dl {
    margin: 0 0 2em 0;
}

#manabibaWrap #keyImg article dl dt {
    font-family: sofia-pro, sans-serif;
    font-weight: 800;
    line-height: 1em;
    font-size: 2.75em;
    margin: 0 0 .5em 0;
    letter-spacing: .13em;
}

#manabibaWrap #keyImg article dl dd {
    font-weight: 600;
    line-height: 1em;
    font-size: 1.75em;
    letter-spacing: .1em;
}

#manabibaWrap #keyImg article aside h3 {
    font-family: sofia-pro, sans-serif;
    font-size: 2em;
    display: flex;
    align-items: center;
    line-height: 1em;
    margin: 1.2em 0 .5em 0;
}

#manabibaWrap #keyImg article aside h3 img {
    height: 30px;
    width: auto;
    margin: 0 0 0 .15em;
}

#manabibaWrap #keyImg article aside p {
    font-size: 1.125em;
    line-height: 2.2em;
    margin: 0 0 1em 0;
}

#manabibaWrap #keyImg h4{
    display: flex;
    align-items: baseline;
    font-size: 1.2em;
    justify-content: center;
    text-align: center;
    margin: 0 0 1em 0;
}

#manabibaWrap #keyImg h4 img {
    width: auto;
    height: 24px;
    margin: 0 .25em .3em .25em;
}

#manabibaWrap .guppy {
	margin: 60px auto 0 auto;
	text-align: center;
	width: 800px;
}

#manabibaWrap .guppy figcaption {
	display: block;
	line-height: 1em;
	text-align: right;
	margin-top: .6em;
	letter-spacing: .1em;
	font-size: .93em;
}

.matching #serviceArea {
    margin: 70px auto 0 auto;
    display: flex;
    flex-direction: column;
    gap:0 0;
    width: 800px;
}

.matching #serviceArea article a.clink {
    display: flex;
    flex-direction: row;
    text-decoration: none;
    position: relative;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    padding: 3.636% 3.636%;
    border-radius: 10px;
    color: #fff;
    background: #44B1E0;
    cursor: default;
    
}




.matching #serviceArea article a.clink figure {
    width: 44.909%;
    border-radius: 10px;
    overflow: hidden;
}



.matching #serviceArea article a.clink figure p {
    position: relative;
    padding-top: 61.741%;
    
}

.matching #serviceArea article a.clink figure p img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    object-position: center center;
    border-radius: 10px;
    transition: all .3s ease;
    
}


.matching #serviceArea article a.clink aside {
    width: 52%;
}



.matching #serviceArea article a.clink aside h3 {
    font-weight: 500;
    font-size: 1.5em;
    line-height: 1em;
    margin: 0 0 .6em 0;
}

.matching #serviceArea article a.clink aside h3 small {
    display: block;
    font-size: 0.66667em;
    font-size: 500;
    margin: 0 0 .4em 0;
}

.matching #serviceArea article a.clink aside p {
    font-size: 0.875em;
    line-height: 1.9em;
    letter-spacing: 0;
    margin: 0 0 .8em 0;
}

.matching #serviceArea article a.clink aside p small {
    font-size: .83333em;
}



.matching #serviceArea article a.clink aside .moreBtn {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 0.9375em;
    font-weight: 500;
    position: relative;
}

.matching #serviceArea article a.clink aside .moreBtn::after {
    content: "";
    display: block;
    width: 26px;
    height: 26px;
    background: url("../../2024/common/images/arrow_w.svg") center center no-repeat;
    background-size: contain;
    margin: 0 0 0 .5em;
}

.matching #serviceArea article a.clink aside .moreBtn a {
    color: #fff;
    cursor: pointer;
}

.matching #serviceArea article a.clink aside .moreBtn small {
    font-size: .8em;
    margin: 0 .3em 0 0;
}

.matching #serviceArea article a.clink aside .logo {
    width: 148px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 6px;
    padding: 1px 3px;
    margin: 0 0 15px 0;
}








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


    #manabibaWrap {
        margin: 0 0 30px 0;
    }

    #manabibaWrap #keyImg {
        width: 90%;
        margin: auto;
    }

    #manabibaWrap #keyImg .moreBtn a {
        font-size: 1.125em;
        padding: .8em 0em;
    }


    #manabibaWrap #keyImg article {
        width: 100%;
    }

    #manabibaWrap #keyImg figure {
        width: 100%;
        margin-right: 0%;
    }

    #manabibaWrap #keyImg figure img {
        border-radius: 0 0 0 0;
    }

    #manabibaWrap #keyImg article header {
        margin: 0 0 1em 0;
    }

    #manabibaWrap #keyImg article header p {
        font-size: 1.05em;
        line-height: 1em;
        padding: 0 0 .9em 0;
        margin: 0 0 1.4em 0;
    }

    #manabibaWrap #keyImg article header h2 .logo1 {
        width: 120px;
    }

    #manabibaWrap #keyImg article header h2 .logo2 {
        width:100px;
    }

    #manabibaWrap #keyImg article dl {
        margin: 0 0 1em 0;
    }

    #manabibaWrap #keyImg article dl dt {
        font-family: sofia-pro, sans-serif;
        font-weight: 800;
        line-height: 1em;
        font-size: 6vw;
        margin: 0 0 .8em 0;
        letter-spacing: .1em;
    }

    #manabibaWrap #keyImg article dl dd {
        font-weight: 600;
        line-height: 1em;
        font-size: 4.8vw;
        letter-spacing: .1em;
    }

    #manabibaWrap #keyImg article aside p {
        font-size: 1em;
        line-height: 2em;
    }

    #manabibaWrap #keyImg article aside h3 {
        font-size: 1.6em;;
    }

    #manabibaWrap #keyImg article aside h3 img {
        height: 24px;
        width: auto;
    }

    #manabibaWrap #keyImg h4{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        font-size: 1em;
        justify-content: center;
        text-align: center;
        margin: 0 0 1em 0;
        line-height: 1.8em;
    }

    #manabibaWrap #keyImg h4 img {
        width: auto;
        height: 10x;
        margin: 0 .15em;
    }

	#manabibaWrap .guppy {
		margin: 30px auto 0 auto;
		text-align: center;
		width: 80%;
	}
	
	#manabibaWrap .guppy figcaption {
		font-size: .8em;
	}


    .matching #serviceArea {
        margin: 40px auto 0 auto;
        width: 90%;
    }

    .matching #serviceArea article a.clink {
        display: flex;
        flex-direction: column;
        gap:20px 0;
        justify-content: flex-start;
        width: 100%;
        box-sizing: border-box;
        padding: 5% 5%;


    }
    .matching #serviceArea article a.clink figure {
        width: 100%;
        border-radius: 10px;
        overflow: hidden;
    }

    .matching #serviceArea article a.clink aside {
        width: 100%;
    }

    .matching #serviceArea article a.clink aside h3 {
        font-size: 1.3em;
        margin: 0 0 .6em 0;
    }




}


.instructorBtn .m-lst_check {
	background: #FFF;
	padding: 10px 20px;
	margin-bottom: 10px;
	width: fit-content;
    margin: auto;
    box-sizing: border-box;
}

.instructorBtn .txt01 {
    font-size: 1.25em;
    font-weight: 600;
    margin: 0 0 1em 0;
    line-height: 2em;
}

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

.instructorBtn .m-lst_check {
	background: #FFF;
	padding: 10px 20px;
	margin-bottom: 10px;
	width: 90%;
    margin: auto;
    box-sizing: border-box;
    font-size: .9em;
}

.instructorBtn .txt01 {
    font-size: 1em;
    font-weight: 600;
    margin: 0 0 1em 0;
    line-height: 2em;
}

}



















