@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
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, font, img, ins, kbd, q, s, samp, small, strike, strong, 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, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
@media all and (max-width: 374px) {
	html {
		font-size: calc(1000vw / 375);
	}
}
body, table, input, textarea, select, option {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
}
article, aside, canvas, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
chrome_annotation {
	border: none !important;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
address {
	font-style: normal;
}
a,
a:link {
	color: #1B1B1B;
	text-decoration: none;
	transition: 0.3s;
}
a:visited {
	color: #1B1B1B;
}
a:hover {
	color: #1B1B1B;
}
a:active {
	color: #1B1B1B;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1340px;
	color: #1B1B1B;
	font-size: 1.6rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #F0F6F8;
}
.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#container {
	text-align: left;
	overflow: hidden;
	position: relative;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 2.5rem 3.9rem 2.1rem 5rem;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 666;
	display: flex;
	align-items: flex-start;
}
#gHeader h1 {
	width: 18.9rem;
}
#gHeader h1 a {
	display: block;
}
.menuBox .navUl a {
	color: #fff;
}
#gNavi {
	padding: 0 1.5rem;
	display: flex;
	align-items: flex-start;
}
.menuBox .navUl {
	position: relative;
	display: flex;
	font-size: 1.6rem;
}
.menuBox .navUl li {
	margin: 0.5rem 1.5rem 0 1.6rem;
	width: fit-content;
	padding-bottom: 1.5rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	font-weight: 700;
}
.menuBox .navUl p {
	color: #fff;
	padding-right: 1.5rem;
	position: relative;
	background: url(img/common/arrow_icon.png) no-repeat right center / 0.9rem;
	transition: 0s;
}
.menuBox .txtLink {
	margin: 0.3rem 0.6rem 0;
	color: #fff;
	font-size: 1.2rem;
	gap: 1.5rem;
	justify-content: flex-end;
}
.menuBox .txtLink a {
	padding-left: 1.5rem;
	color: #fff;
	font-size: 1.2rem;
	display: inline-block;
	background: url(img/common/icon08.png) no-repeat left top 0.5rem / 1rem;
}
.menuBox .txtLink .link01 {
	background-image: url(img/common/icon09.png);
	background-size: 1.3rem;
}
.menuBox .txtLink .link03 {
	background-image: url(img/common/icon10.png);
}
.menuBox .btnUl a {
	margin-left: 1.5rem;
	padding: 0.5rem 1.4rem 0.5rem 1.6rem;
	text-align: center;
	display: flex;
	align-items: center;
	height: 3rem;
	width: fit-content;
	font-size: 1.3rem;
	font-weight: 700;
	border-radius: 4rem;
	background: #fff ;
}
.menuBox .btnUl a span {
	margin: 0 auto;
	padding-left: 2.5rem;
	display: block;
	width: fit-content;
	background: url(img/common/icon01.png) no-repeat left center / 1.8rem;
}
.menuBox .btnUl li {
	width: fit-content;
}
.menuBox .btnUl .link02 span {
	padding-left: 2rem;
	background-image: url(img/common/icon02.png);
	background-size: 1.3rem;
}
.menuBox .subNav {
	display: none;
}
#gHeader.fix {
	height: 8.7rem;
	position: fixed;
	align-items: center;
	background: #F0F6F8;
}
#gHeader.fix .logo a {
	display: block;
	background: url(img/common/logo03.png) no-repeat center top / 100%;
}
#gHeader.fix .logo a img {
	opacity: 0;
}
@media all and (min-width: 897px) {
	#gHeader.fix {
		padding: 1.3rem 3.1rem 0.2rem 5rem;
	}
	#gHeader.fix .menuBox .txtLink a,
	#gHeader.fix .menuBox .navUl p,
	#gHeader.fix .menuBox .navUl a  {
		color: #0C419A;
	}
	#gHeader.fix .menuBox .txtLink a {
		background-image: url(img/common/icon08_blue.png);
	}
	#gHeader.fix .menuBox .btnUl a {
		margin-left: 1.7rem;
	}
	#gHeader.fix .menuBox .navUl > li {
		margin-top: -0.9rem;
		padding-bottom: 0.5rem;
	}
	#gHeader.fix #gNavi {
		align-items: center;
	}
	#gHeader.fix .menuBox .txtLink .link03 {
		background-image: url(img/common/icon10_blue.png);
	}
	#gHeader.fix .menuBox .navUl p {
		background-image: url(img/common/arrow_icon02.png);
		background-size: 0.8rem;
	}
	.menuBox a:hover {
		opacity: 0.7;
	}
	.menuBox .navUl li.on p,
	.menuBox .navUl li p:hover {
		color:#F55CAC !important ;
		background-image: url(img/common/arrow_icon02_pink.png) !important;
	}
	.menuBox {
		margin-top: 0.3rem;
		flex: 1;
		display: flex;
		justify-content: flex-end;
	}
	.menuBox .subNav {
		width: 29.3rem;
		position: absolute;
		top: 100%;
		left: 0;
		transform: none;
	}
	.menuBox .subUl {
		padding: 1.3rem 2.5rem;
		background-color: #fff;
		box-shadow: 0 0 1.5rem 0 rgba(22, 150, 231, 0.2);
	}
	.menuBox .subUl li {
		margin: 0;
		padding: 0;
		display: block;
		width: 100%;
	}
	.menuBox .subUl li + li {
		margin-top: 0.5rem;
	}
	.menuBox .subUl a {
		margin: 0;
		padding: 0 3rem 0 0;
		display: block;
		font-size: 1.5rem;
		width: 100%;
		color: #0C419A;
		background: url(img/common/icon04.png) no-repeat right center / 0.6rem;
	}
}
@media (min-width: 897px) and (max-width: 1408px) {
	#gHeader {
		padding: 2.1rem 1vw 2.1rem 1.5vw;
	}
	#gHeader.fix {
		padding: 0.2rem 1vw 1.2vw 1.5vw;
	}
	#gHeader.fix h1 {
		width: 13.1vw;
	}
	#gHeader #gNavi {
		padding: 0 1.2vw;
	}
	#gHeader.fix .menuBox .navUl li {
		margin: 0 0.9vw;
	}
	#gHeader.fix .menuBox .navUl p {
		padding-right: 1.04vw;
		font-size: 1.1vw;
	}
	#gHeader.fix .menuBox .navUl a {
		font-size: 1.1vw;
		background-size: 0.4rem;
	}
	#gHeader.fix .menuBox .btnUl a {
		margin-left: 1vw;
		padding: 0.5rem 1vw;
	}
	#gHeader.fix .menuBox .subNav {
		width: 20.80vw;
	}
	#gHeader.fix .menuBox .subUl li {
		margin: 0;
	}
}
@media all and (max-width: 896px) {
	#gHeader {
		padding: 1.6rem 2.9rem 1.6rem 1.5rem;
		justify-content: space-between;
		align-items: center;
	}
	#gHeader.fix {
		height: auto;
	}
	#gHeader .logo {
		width: 13.6rem;
	}
	.menuBox .logo {
		margin: 1.5rem 0 0 1.5rem;
	}
	.menuBox .logo img {
		opacity: 1;
	}
	.menuBox .txtLink .link03 {
		background-image: url(img/common/icon10_black.png);
	}
	.menu {
		position: relative;
		width: 3.2rem;
		height: 2rem;
		cursor: pointer;
		z-index: 999;
	}
	.menu span {
		display: inline-block;
		transition: all 0.4s;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		width: 32px;
		height: 1px;
		background-color: #fff;
	}
	#gHeader.fix .menu span {
		background-color: #0C419A;
	}
	#gHeader.fix .logo a:hover img {
		opacity: 0 !important;
	}
	.menu.on span {
		width: 3.5rem;
		background-color: #0C419A;
	}
	.menu span:nth-of-type(1) {
		top: 0;
	}
	.menu span:nth-of-type(2) {
		top: 0.8rem;
	}
	.menu span:nth-of-type(3) {
		top: 1.6rem;
	}
	.menu.on span:nth-of-type(1) {
		transform: translateY(0.8rem) rotate(-24deg);
	}
	.menu.on span:nth-of-type(2) {
		opacity: 0;
	}
	.menu.on span:nth-of-type(3) {
		transform: translateY(-0.7rem) rotate(24deg);
	}
	.menuBox {
		display: none;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		background: #E7F6FF;
		z-index: 998;
		height: 100%;
		overflow-y: auto;
		box-sizing: border-box;
	}
	.menuBox .btnUl li {
		width: 100%;
	}
	#gNavi {
		padding: 0.8rem 1.4rem 0;
		display: block;
	}
	.menuBox .navUl {
		display: block;
	}
	.menuBox .navUl > li {
		width: auto;
		padding-bottom: 0;
		border-bottom: 1px solid #0C419A;
		display: block;
	}
	.menuBox .navUl li p,
	.menuBox .navUl a {
		padding: 1.5rem 0 1.6rem;
		display: block;
		color: #0C419A;
		font-size: 1.6rem;
		line-height: 1;
	}
	.menuBox .navUl .subUl {
		margin-bottom: 1rem;
	}
	.menuBox .navUl .subUl li {
		margin: 0 0.5rem;
		display: block;
	}
	.menuBox .navUl .subUl a {
		padding: 0;
		border: none;
		font-size: 1.3rem;
		line-height: 2;
		font-weight: 500;
	}
	.menuBox .hBox {
		margin: 2.4rem 2.8rem;
		display: flex;
		flex-direction: column-reverse;
	}
	.menuBox .txtLink {
		display: block;
		text-align: center;
	}
	.menuBox .txtLink a {
		margin-bottom: 0.5rem;
		font-size: 1.4rem;
		color: #1B1B1B;
		background-image: url(img/common/icon08_black.png);
		background-size: 1rem;
	}
	.menuBox .txtLink .link01 {
		background-image: url(img/common/icon09_black.png);
		background-size: 1.2rem;
	}
	.menuBox .btnUl {
		margin-bottom: 2.4rem;
		display: block;
	}
	.menuBox .btnUl li + li {
		margin-top: 1.2rem;
	}
	.menuBox .btnUl a {
		margin: 0;
		width: 100%;
		height: 5.6rem;
		border-radius: 4rem;
		color: #fff;
		background: linear-gradient(270deg, #1696E7 0%, #1570CB 65.61%);
	}
	.menuBox .btnUl a span {
		background-image: url(img/common/icon09.png);
	}
	.menuBox .btnUl .link02 {
		color: #0C419A;
		background: #fff;
		border: 1px solid currentColor;
	}
	.menuBox .navUl li p {
		background-image: url(img/common/icon11.png);
		background-size: 1rem;
	}
	.menuBox .navUl li p.on {
		background-image: url(img/common/icon11_on.png);
	}

}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 0 0 3.6rem;
}
#gFooter .innerBox01 {
	margin: 0 auto;
	max-width: 109.5rem;
}
#gFooter .innerBox02 {
	margin: 0 auto;
	padding: 7.4rem 7.6rem 6.4rem;
	max-width: 138.8rem;
	background: #fff;
	border-radius: 1rem;
}
#gFooter address {
	margin: 0 1.3rem;
	width: fit-content;
	font-size: 1.2rem;
	font-weight: 400;
	font-family: "Montserrat", sans-serif;
}
#gFooter .subBox02,
#gFooter .subBox01 {
	display: flex;
	justify-content: space-between;
}
#gFooter .subBox01 {
	margin-bottom: 7.6rem;
	gap: 15.5rem;
}
#gFooter .subBox01 .logo {
	margin: 0.8rem 0;
	width: 19.9rem;
}
#gFooter .subBox01 .logo a {
	display: block;
}
#gFooter .subBox01 .fNavi {
	flex: 1;
}
#gFooter .subBox01 .nav01 {
	margin-bottom: 1.8rem;
	padding-bottom: 9.3rem;
	border-bottom: 1px solid rgba(27, 27, 27, 0.3);
	columns: 5;
	column-gap: 1rem;
	font-size: 1.4rem;
	font-weight: 700;
	display: flex;
	gap: 1.8rem;
}
#gFooter .subBox01 .nav01 li {
	width: fit-content;
	min-width: 11.1rem;
}
#gFooter .subBox01 .nav01 .group {
	margin-left: 3.2rem;
}
#gFooter .subBox01 .nav01 .group a + a {
	margin-top: 1.5rem;
}
#gFooter .subBox01 .nav01 p {
	margin-bottom: 2rem;
	padding-bottom: 1.3rem;
	width: 100%;
	border-bottom: 1px solid rgba(27, 27, 27, 0.3);
}
#gFooter .subBox01 .nav01 a {
	display: block;
	width: fit-content;
}
#gFooter .subBox01 .subNav {
	padding-right: 0.6rem;
	font-weight: 500;
}
#gFooter .subBox01 .subNav li + li {
	margin-top: 0.9rem;
}
#gFooter .subBox01 .txtUl li {
	display: inline-block;
	margin-right: 1.8rem;
	font-size: 1.2rem;
}
#gFooter .subBox01 .txtUl a,
#gFooter .subBox01 .txtUl span {
	padding-left: 1.2rem;
	position: relative;
	background: url(img/common/icon08_black.png) no-repeat left center / 1rem;
}
#gFooter .subBox01 .txtUl .link02 a {
	background: url(img/common/icon10_black.png) no-repeat left center / 1rem;
}
#gFooter .subBox01 .nav01 > li {
	page-break-inside: avoid;
}
#gFooter .nav02 {
	width: fit-content;
}
#gFooter .nav02 li {
	margin-right: 1rem;
	display: inline-block;
}
#gFooter .nav02 a {
	font-size: 1.4rem;
	font-weight: 500;
}
#gFooter .fBox02 {
	margin-bottom: 5.6rem;
	display: flex;
	justify-content: center;
	gap: 6.9rem;
}
#gFooter .fBox02 .photo {
	width: 45.2rem;
}
#gFooter .fBox02 .textBox {
	width: 63.6rem;
	font-size: 1.4rem;
	line-height: 1.714;
}
#gFooter .fBox02 .title {
	margin: 0.8rem 0 1.3rem;
	font-size: 2rem;
}
#gFooter .comLink {
	margin-top: 1rem;
	text-align: left;
}
#gFooter .comLink a::after {
	margin-left: 0.9rem;
	content: "";
	display: inline-block;
	vertical-align: -0.2rem;
	width: 1.8rem;
	height: 1.8rem;
	background: url(img/common/icon03.png) no-repeat left top / 100%;
}
#gFooter .fBox01 {
	margin-bottom: 4.6rem;
	padding: 7rem 0 9.3rem;
	background: #0C419A;
	color: #fff;
}
#gFooter .fBox01 .heading {
	margin-bottom: 4rem;
	color: #fff;
	font-size: 2.4rem;
	text-align: center;
}
#gFooter .fBox01 .linkUl {
	margin-bottom: 2.9rem;
	display: flex;
	border-radius: 0 0.8rem 0.8rem 0;
	overflow: hidden;
}
#gFooter .fBox01 .linkUl li {
	width: calc(100% / 3);
	background: #EFFCFF;
}
#gFooter .fBox01 .linkUl .item {
	background: #ffff;
}
#gFooter .fBox01 .linkUl li a {
	padding: 6.2rem 0 4.1rem;
	height: 100%;
	display: block;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
}
#gFooter .fBox01 .linkUl .img {
	margin-bottom: 2.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#gFooter .fBox01 .linkUl img {
	width: 12.5rem;
}
#gFooter .fBox01 .telLink {
	min-height: 8.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #1B1B1B;
	font-size: 1.8rem;
	font-weight: 700;
	background: #fff;
	border-radius: 0.8rem;
	gap: 3.5rem;
	box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.25);
}
#gFooter .fBox01 .telLink a {
	padding-left: 3.8rem;
	display: block;
	width: fit-content;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	background: url(img/common/f_icon04.png) no-repeat left center / 2.1rem;
}
#gFooter .fBox01 .telLink .text {
	font-weight: 500;
}
#gFooter .fBox01 .telLink .text span {
	font-weight: 600;
}
@media all and (min-width: 897px) {
	#gFooter .nav02 a:hover,
	#gFooter .subBox01 .txtUl a:hover,
	#gFooter .subBox01 .nav01 a:hover {
		opacity: 0.7;
	}
	#gFooter .fBox01 .linkUl li a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#gFooter {
		/* padding-bottom: 2rem; */
		padding-bottom: 12rem;
	}
	#gFooter .innerBox02 {
		margin: 0 1.9rem;
		max-width: inherit;
		padding: 0;
		background: none;
	}
	#gFooter .subBox02,
	#gFooter .subBox01 {
		display: block;
	}
	#gFooter .nav02 {
		margin: 0 auto 1.8rem;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 0.3rem 1.3rem;
	}
	#gFooter .nav02 li {
		display: block;
		margin: 0;
	}
	#gFooter .nav02 a {
		padding: 0 1.2rem 0 0;
		font-size: 1.1rem;
		position: relative;
	}
	#gFooter .subBox01 .txtUl li {
		margin-right: 0.8rem;
	}
	#gFooter .nav02 li:first-of-type a::before,
	#gFooter .nav02 a::after {
		content: "";
		position: absolute;
		right: 0;
		top: 0.5rem;
		bottom: 0.3rem;
		width: 1px;
		background: currentColor;
	}
	#gFooter .nav02 li:first-of-type a {
		padding-left: 1.2rem;
	}
	#gFooter .nav02 li:first-of-type a::before {
		right: auto;
		left: 0;
	}
	#gFooter address {
		margin: 0 auto;
	}
	#gFooter .subBox01 {
		margin-bottom: 2rem;
		padding: 3.9rem 3.6rem 3.9rem;
		background: #fff;
		border-radius: 1rem;
	}
	#gFooter .subBox01 .txtUl {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#gFooter .subBox01 .txtUl a {
		background: none;
		padding: 0;
		font-size: 1.4rem;
	}
	#gFooter .subBox01 .nav01 {
		margin-bottom: 2.2rem;
		padding-bottom: 3.5rem;
		display: block;
		columns: 2;
		column-gap: 1.6rem;
	}
	#gFooter .subBox01 .nav01 > li {
		page-break-inside: avoid;
	}
	#gFooter .subBox01 .nav01 .group {
		margin: 4rem 0 0;
	}
	#gFooter .subBox01 .nav01 .subBox a {
		font-weight: 500;
	}
	#gFooter .subBox01 .nav01 p {
		margin-bottom: 1rem;
	}
	#gFooter .subBox01 .nav01 > li + li {
		margin-top: 4rem;
	}
	#gFooter .subBox01 .subNav li + li {
		margin-top: 0.2rem;
	}
	#gFooter .subBox01 .logo {
		margin: 0 auto 4rem;
		width: 16.5rem;
	}
	#gFooter .subBox01 .txtUl .link02 a {
		background: none;
	}
	#gFooter .fBox02 {
		display: block;
	}
	#gFooter .fBox02 .photo {
		margin: 0 auto 1.6rem;
		width: 30.3rem;
	}
	#gFooter .fBox02 .title {
		font-size: 1.6rem;
		text-align: center;
	}
	#gFooter .fBox02 .textBox {
		margin: 0 3.6rem;
		width: auto;
		font-size: 1.4rem;
	}
	#gFooter .fBox02 p {
		line-height: 1.4;
	}
	#gFooter .comLink a {
		font-size: 1.4rem;
	}
	#gFooter .fBox01 {
		padding: 4.8rem 0 9.2rem;
		margin-bottom: 5.1rem;
	}
	#gFooter .innerBox01 {
		margin: 0 1.3rem;
		max-width: inherit;
	}
	#gFooter .fBox01 .telLink {
		padding: 1.8rem 0 2rem;
		display: block;
		text-align: center;
	}
	#gFooter .fBox01 .telLink a {
		margin: 0.3rem auto 0.3rem;
		padding-left: 3rem;
	}
	#gFooter .fBox01 .heading {
		margin-bottom: 2.9rem;
		font-size: 1.8rem;
	}
	#gFooter .fBox01 .linkUl {
		margin-bottom: 2.7rem;
		border-radius: 0.5rem;
	}
	#gFooter .fBox01 .linkUl li a {
		padding:1.8rem 0 1.5rem;
		font-size: 1.4rem;
		line-height: 1.2;
	}
	#gFooter .fBox01 .linkUl .img {
		margin-bottom: 0.5rem;
	}
	#gFooter .fBox01 .linkUl img {
		width: 6rem;
	}
	#gFooter .fBox01 .linkUl li p {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-JYJ */
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.maru {
	font-family: "Zen Maru Gothic", serif;
}
.mont {
	font-family: "Montserrat", sans-serif;
}
.pageTitle {
	margin-bottom: 6.9rem;
	padding-top: 15.4rem;
	height: 32rem;
	text-align: center;
	background: url(img/common/page_title_bg.png) no-repeat center bottom / 100% 100%;
}
.pageTitle h2 {
	color: #FFF;
	font-size: 4.2rem;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
}
.pageTitle h2 .en {
	display: block;
	font-size: 2.1rem;
	letter-spacing: 0.21rem;
}
@media all and (max-width: 896px) {
	.pageTitle {
		margin-bottom: 3.8rem;
		height: 16rem;
		padding-top: 6.8rem;
		background-size: 120% 100%;
	}
	.pageTitle h2 {
		font-size: 2.7rem;
	}
	.pageTitle h2 .en {
		margin-top: -0.2rem;
		font-size: 1.8rem;
	}
}



/* headLine01 */
.headLine01 {
	margin-bottom: 3.6rem;
	color: #0C419A;
	font-size: 3.6rem;
	text-align: center;
	font-weight: 700;
	line-height: 1.45;
	font-family: "Zen Maru Gothic", serif;
}
.headLine01.center {
	text-align: center;
}
.headLine01 .lineTxt01 {
	position: relative;
	z-index: 1;
}
.headLine01 .lineTxt01::after {
	position: absolute;
	left: 0;
	bottom: -0.8rem;
	content: '';
	width: 100%;
	height: 2.3rem;
	background-color: #FFF6A3;
	z-index: -1;
}
.headLine01 .lineTxt02 {
	margin-bottom: 2.7rem;
	padding: 0.1rem 0.2rem 0.9rem;
	display: inline-block;
	vertical-align: top;
	background: url("img/common/line01.jpg") repeat-x left bottom / auto 2.9rem;
	font-size: 3.2rem;
	line-height: 1.5 !important;
	position: relative;
}
.headLine01 .lineTxt02::after {
	width: 2.8rem;
	height: 2.6rem;
	position: absolute;
	bottom: -1.7rem;
	left: 50%;
	background: url("img/common/line02.png") repeat-x left bottom / 100% 100%;
	transform: translateX(-50%);
	content: '';
}
.headLine01.spec {
	font-size: 4rem;
}
.headLine01.spec .lineTxt02 {
	padding: 0 1rem 0.9rem;
	margin-bottom: 0.8rem;
	font-size: 2.4rem;
}
.headLine01 .lineTxt02.left::after {
	transform: translateX(-50%) rotateY(180deg);
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 3rem;
		font-size: 2.4rem;
	}
	.headLine01 .lineTxt02 {
		font-size: 1.4rem;
		margin-bottom: 1rem;
		padding: 0.1rem 0 0.5rem;
		background-size: auto 1rem;
	}
	.headLine01 .lineTxt02::after {
		width: 1rem;
		height: 1rem;
		bottom: -0.7rem;
	}
	.headLine01.spec .lineTxt02 {
		margin-bottom: 1.1rem;
		font-size: 1.4rem;
		padding: 0 0 0.2rem;
	}
	.headLine01.spec {
		font-size: 2rem;
	}
	.headLine01 .lineTxt01::after {
		bottom: -0.2rem;
		height: 1.5rem;
	}
}



/* content */
.content {
	margin: 0 auto;
	max-width: 133.6rem;
}
@media all and (max-width: 896px) {
	.content {
		  margin: 0 2.3rem;
	}
}


/* comListUl */
.comListUl {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
}
.comListUl li {
	padding: 1.4rem 1.4rem 4.7rem;
	background-color: #fff;
	width: calc((100% - 6rem)/3);
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.71;
}
.comListUl .headLine01 {
	margin: 0 -1.5rem 1.8rem;
	font-size: 2.4rem;
	line-height: 1.4;
}
.comListUl .image {
	margin-bottom: 2.4rem;
}
.comListUl .inner {
	margin: 0 2.7rem;
}
@media all and (min-width: 897px) {
	.comListUl .image.spec {
		margin: 0 0.5rem 2rem;
	}
}
@media all and (max-width: 896px) {
	.comListUl {
		display: block;
	}
	.comListUl li {
		width: auto;
		padding: 1rem 1rem 3.6rem;
		margin-bottom: 2rem;
		line-height: 1.4;
	}
	.comListUl .headLine01 {
		margin-bottom: 1.5rem;
		font-size: 1.8rem;
	}
	.comListUl .image {
		margin-bottom: 2rem;
	}
	.comListUl .image img {
		width: 100%;
	}
	.comListUl .inner {
		margin: 0 1.4rem;
	}
}

/* comLink */
.comLink {
	margin-top: 1.3rem;
	text-align: right;
	line-height: 1.5 !important;
	font-family: "Zen Maru Gothic", serif;
}
.comLink a {
	color: #0C419A;
	font-size: 1.6rem;
	font-weight: 700;
	display: inline-block;
	vertical-align: top;
	position: relative;
}
.comLink .blank {
	padding-right: 3.1rem;
}
.comLink .blank::after {
	width: 1.8rem;
	height: 1.8rem;
	position: absolute;
	right: 0.6rem;
  	top: 0.5rem;
	background: url("img/common/icon03.png") no-repeat left top / 100% 100%;
	content: "";
}
.comLink .arrow {
	padding-right: 2.4rem;
	color: #1696E7;
	font-size: 1.4rem;
	font-weight: 500;
}
.comLink .arrow::after {
	width: 0.5rem;
	height: 1rem;
	position: absolute;
	right: 0;
  	top: 0.6rem;
	background: url("img/common/icon04.png") no-repeat left top / 100% 100%;
	content: "";
}
@media all and (min-width: 897px) {
	.comLink a:hover {
		opacity: 0.7;
	}
}


/* comBox */
.comBox {
	padding: 9.7rem 0 12.5rem 7.2rem;
	margin-left: auto;
	width: calc(50% + 67rem);
	max-width: calc(100% - 3rem);
	background-color: #fff;
	position: relative;
	border-radius: 5rem 0 0 5rem;
	box-shadow: 1rem 0.7rem 0 0 rgba(0, 0, 0, 0.15);
}
.comBox + .comBox {
	margin-top: 12.4rem;
}
.comBox .enTitle {
	position: absolute;
	top: -3.7rem;
	left: 6.6rem;
}
.comBox .enTitle img {
	width: auto;
	height: 7.6rem;
}
.comBox .comSlideBox {
	margin-left: -1.9rem;
}
@media all and (max-width: 896px) {
	.comBox {
		padding: 4.2rem 3.2rem 4.2rem 3.2rem;
		width: auto;
		max-width: inherit;
		border-radius: 2rem 0 0 2rem;
		box-shadow: 1rem 0.7rem 0 0 rgba(0, 0, 0, 0.15);
		margin-left: 1.6rem;
	}
	.comBox .enTitle {
		top: -2.2rem;
		left: 0;
		width: 100%;
		padding-right: 1.6rem;
		text-align: center;
	}
	.comBox .enTitle img {
		height: 3.4rem;
	}
	.comBox .comSlideBox {
		margin: 0 -3.2rem 6.6rem 0;
	}
	.comBox .comSlideBox .arrowUl {
		margin-right: 3.2rem;
	}
	.comBox + .comBox {
		margin-top: 7.2rem;
	}
}

/* comTalkBox */
.comTalkBox {
	margin-bottom: 15.1rem;
	display: flex;
	max-width: 94.6rem;
	font-weight: 500;
}
.comTalkBox .photo {
	width: 24.6rem;	
}
.comTalkBox .photo img {
	width: 100%;
}
.comTalkBox .rightBox {
	margin-left: 6.6rem;
	flex: 1;
}
.comTalkBox p {
	line-height: 1.6;
}
.comTalkBox .headLine01 {
	margin: 0 -5rem 1.3rem 0;
	text-align: left;
	font-size: 3.2rem;
}
.comTalkBox .headLine01 .lineTxt01::after {
	bottom: -0.1rem;
	height: 1.7rem;
}
@media all and (max-width: 896px) {
	.comTalkBox {
		margin-bottom: 9.5rem;
		display: block;
	}
	.comTalkBox .photo {
		width: 61.8%;
		margin: 0 auto 2.3rem;
		position: relative;
		left: -0.7rem;
	}
	.comTalkBox .rightBox {
		margin-left: 0;
	}
	.comTalkBox .headLine01 {
		font-size: 1.8rem;
		margin: 0 0 2.8rem 0;
	}
	.comTalkBox p {
		text-align: justify;
		line-height: 2.14;
	}
}

/* comSlideBox */
.comSlideBox {
	margin-bottom: 9.3rem;
	position: relative;
	padding-bottom: 2rem;
}
.comSlideBox .arrowUl {
	display: flex;
	position: absolute;
	bottom: 0.1rem;
	right: 5.8rem;
	z-index: 1;
}
.comSlideBox .arrowUl li {
	width: 6.4rem;
	margin: 0 -0.6rem 0 -0.5rem;
	cursor: pointer;
	position: relative;
    background: url(img/common/next_off.png) center center / cover;
}
.comSlideBox .arrowUl li.prev {
    background-image: url(img/common/prev_off.png);
}
.comSlideBox .arrowUl li.swiper-button-disabled {
    pointer-events: none;
}
.comSlideBox .arrowUl li.swiper-button-disabled img {
    opacity: 0;
}
@media all and (min-width: 897px) {
	.comSlideBox .arrowUl li:hover {
		opacity: 0.7;
		z-index: 10;
	}
}
@media all and (max-width: 896px) {
	.comSlideBox .arrowUl {
		margin-top: -0.4rem;
		position: relative;
		bottom: auto;
		right: auto;
		justify-content: center;
	}
	.comSlideBox {
		padding-bottom: 0;
	}
}

/* comList02 */
.comList02 {
	display: flex;
	flex-wrap: wrap;
}
.comList02 li {
	padding: 0 1.5rem 1.5rem;
	width: 52.6rem;
}
.comList02 a {
	display: block;
}
.comSplideList .image,
.comList02 .image {
	overflow: hidden;
	aspect-ratio: 992 / 632;
	box-shadow: 0 0.5rem 0.8rem rgba(0, 0, 0, 0.13);
	position: relative;
}
.comList02 .image img,
.comSplideList .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comList02 .headLine01,
.comSplideList .headLine01 {
	font-size: 3.2rem;
	margin: 0 -1rem 3rem;
	position: relative;
	left: -1.2rem;
	line-height: 1;
}
.comList02 .headLine01.small,
.comSplideList .headLine01.small {
	font-size: 2.7rem;
}
.comList02 .headLine01 .col,
.comSplideList .headLine01 .col {
	padding: 0 1.8rem;
	display: inline-block;
	vertical-align: top;
	font-size: 1.6rem;
	color: #F55CAC;
	position: relative;
}
.comList02 .headLine01 .col::before,
.comList02 .headLine01 .col::after,
.comSplideList .headLine01 .col::before,
.comSplideList .headLine01 .col::after {
	width: 2px;
	height: 2.7rem;
	position: absolute;
	top: -0.3rem;
	left: 0;
	transform: rotate(-37deg);
	background-color: #F55CAC;
	content: "";
}
.comList02 .headLine01 .col::after,
.comSplideList .headLine01 .col::after {
	left: auto;
	right: 0;
	transform: rotate(37deg);
}
.comList02 .headLine01 .jp,
.comSplideList .headLine01 .jp {
	margin-top: -0.1rem;
	display: block;
}
.comList02 .lable,
.comSplideList .lable {
	width: 100%;
	padding: 0 0.7rem 1.1rem;
	position: absolute;
	bottom: 0;
	left: 0;
	line-height: 1;
	color: #F55CAC;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.comList02 .lable span,
.comSplideList .lable span {
	padding: 0.5rem 1.1rem;
	display: inline-block;
	vertical-align: top;
	font-size: 1.4rem;
	border-radius: 5rem;
	border: 1px solid #F55CAC;
	background-color: #fff;
}
@media all and (min-width: 897px) {
	.comList02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comList02 {
		margin: 0 0 0 -0.8rem;
	}
	.comList02 li,
	.comSplideList li {
		padding: 0 0.9rem 1.5rem;
		width: 31.3rem;
	}
	.comList02 .headLine01 .col,
	.comSplideList .headLine01 .col {
		font-size: 1.4rem;
		letter-spacing: -0.05em;
	}
	.comList02 .headLine01,
	.comSplideList .headLine01 {
		margin-bottom: 2.1rem;
		font-size: 1.8rem;
		left: auto;
	}
	.comList02 .headLine01 .jp,
	.comSplideList .headLine01 .jp {
		margin-top: 0.4rem;
	}
	.comList02 .headLine01 .col::before,
	.comList02 .headLine01 .col::after,
	.comSplideList .headLine01 .col::before,
	.comSplideList .headLine01 .col::after {
		height: 2.4rem;
		top: -0.5rem;
	}
	.comList02 .headLine01.small,
	.comSplideList .headLine01.small {
		font-size: 1.6rem;
	}
}

/* comList03 */
.comList03 {
	display: flex;
	flex-wrap: wrap;
}
.comList03 li {
	margin: 0 1.3rem 0 1.2rem;
	width: 21rem;
	font-size: 1.4rem;
	line-height: 1.71;
	font-weight: 500;
}
.comList03 .image {
	width: 11.6rem;
	height: 11.6rem;
	margin: 0 auto 2rem;
	border-radius: 100%;
	overflow: hidden;
}
.comList03 .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* comReason */
.comReason {
	padding-bottom: 8.5rem;
	background: linear-gradient(180deg, #F0F6F8 0%, #D3EEFF 100%);
}
.comReason .content {
	max-width: 120.4rem;
}
.comReason .headLine01 {
	margin-bottom: 4.3rem;
	font-size: 4rem;
}
.comReason .headLine01 .lineTxt02 {
	margin-bottom: 1.8rem;
	padding-bottom: 1.2rem;
	font-size: 2.4rem;
}
.comReason .listUl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 1.8rem;
	font-weight: 500;
	gap: 1.3rem 0;
}
.comReason .listUl li {
	padding: 4.3rem 3.2rem 2.5rem;
	width: calc(50% - 0.8rem);
	border-radius: 2rem;
	background: #FFF;
	display: flex;
}
.comReason .listUl .photo {
	margin-right: 3.7rem;
	width: 13.5rem;
}
.comReason .listUl .textBox {
	flex: 1;
	margin-top: -1rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.comReason .listUl p {
	line-height: 1.6;
}
.comReason .listUl .col {
	color: #F61C62;
	font-weight: 700;
}
.comReason .listUl .big {
	font-size: 2.4rem;
	line-height: 1.48;
}
@media all and (max-width: 896px) {
	.comReason .listUl {
		display: block;
		font-size: 1.3rem;
	}
	.comReason .listUl li {
		width: auto;
		padding: 2.1rem 1.2rem 2.2rem;
		margin: 0 0 1.4rem;
	}
	.comReason .listUl li:last-child {
		margin-bottom: 0;
	}
	.comReason .listUl p {
		line-height: 1.5;
		letter-spacing: -0.05em;
	}
	.comReason .listUl .big {
		font-size: 1.67rem;
	}
	.comReason .headLine01 .lineTxt02 {
		margin-bottom: 1.1rem;
		padding-bottom: 0.3rem;
		font-size: 1.4rem;
	}
	.comReason .headLine01 {
		font-size: 2rem;
		margin-bottom: 3.2rem;
	}
	.comReason .content {
		margin: 0 2.1rem;
	}
	.comReason .listUl .photo {
		margin: -0.2rem 0.4rem 0 0;
		width: 9.1rem;
	}
	.comReason .listUl .textBox {
		margin-top: 0;
	}
	.comReason {
		padding-bottom: 8.9rem;
	}
}

/* comBtn */
.comBtn {
    margin-top: 2.1rem;
}
.comBtn a {
    padding: 1.2rem 2.4rem;
    color: #0C419A;
    font-size: 1.4rem;
    font-weight: 700;
    display: inline-block;
    vertical-align: top;
    border-radius: 5rem;
    border: 1px solid #1696E7;
    line-height: 1;
}
@media all and (min-width: 897px) {
	.comBtn a:hover {
		background: #0C419A;
		color: #fff;
	}
}
@media all and (max-width: 896px) {
	.comBtn a {
		font-size: 1.3rem;
		padding: 1.1rem 1.8rem;
		letter-spacing: -0.05em;
	}
	.comBtn {
		margin-top: 1rem;
	}
}
.comBtn02 a {
	margin: 0 auto;
	width: 40rem;
	height: 8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8rem;
	box-shadow: 0 0 0.8rem rgba(12, 65, 153, 0.50);
	color: #fff;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
}
.comBtn02 a::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transition: 0.3s;
	background: linear-gradient(90deg, #227CF9 0%, #0F50BD 100%);
}
.comBtn02 a::before {
	content: "";
	position: absolute;
	width: 0.6rem;
	height: 0.6rem;
	right: 4rem;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	border-top: 0.2rem solid #fff;
	border-right: 0.2rem solid #fff;
	z-index: 1;
}
.comBtn02 a span {
	padding: 0.5rem 4rem;
	width: 100%;
	height: 100%;
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	display: flex;
	position: relative;
	z-index: 1;
	border-radius: 8rem;
	border: 0.2rem solid transparent;
	transition: 0.3s;
}
@media all and (min-width: 897px) {
	.comBtn02 a:hover {
       background: #fff;
	   color: #227CF9;
    }
	.comBtn02 a:hover::after {
		opacity: 0;
	}
	.comBtn02 a:hover::before{
		border-color: currentColor;
	}
	.comBtn02 a:hover span {
		border: 0.2rem solid currentColor;
	}
}
@media all and (max-width: 896px) {
	.comBtn02 a {
		width: 90.666vw;
	}
	.comBtn02 a::before {
		right: 3.5rem;
	}
}

/*------------------------------------------------------------
	comTroubleBox
------------------------------------------------------------*/
.comTroubleBox {
	margin: 0 2.5rem 0 -2.2rem;
	border-radius: 3rem;
	background: #D5EDFB;
	padding: 0;
}
.comTroubleBox .comSwiper01 {
	padding: 4.1rem 0 4.7rem 4rem;
	position: static !important;
}
.comTroubleBox .headLine01 {
	text-align: left;
	position: absolute;
	top: -3.2rem;
  	left: 4rem;
	margin: 0;
	font-size: 3.2rem;
}
.comTroubleBox .arrowUl {
	bottom: -2.6rem;
}
.comTroubleBox .comList03 {
	flex-wrap: nowrap;
}
.comTroubleBox .comList03 li p {
	min-height: 9.5rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
@media all and (min-width: 897px) {
	.comTroubleBox .comSwiper01 {
		padding: 4.9rem 1rem 5.3rem 2.5rem;
	}
	.comTroubleBox .comList03 li  {
		width: 18.1rem;
	}
	.comTroubleBox .arrowUl.hide li.swiper-button-disabled {
		display: none;
	}
	#education .teacherBox,
	#school .teacherBox,
	#hoiku .teacherBox {
		padding-bottom: 8.9rem;
	}
}
@media (min-width: 1360px) {
	.comTroubleBox {
		width: fit-content;
	}
}
@media all and (max-width: 896px) {
	.comTroubleBox {
		margin: 0 -3.2rem 0 -1.5rem;
		min-width: inherit;
		width: auto;
		border-radius: 2rem 0 0 2rem;
	}
	.comTroubleBox .comList03 li p {
		min-height: 7.1rem;
	}
	.comTroubleBox .comSwiper01 {
		padding: 4.1rem 0 3rem 4rem;
	}
	.comTroubleBox .headLine01 {
		text-align: center;
		top: -1.7rem;
		left: 0;
		margin: 0;
		font-size: 2.2rem;
		width: 100%;
	}
	.comTroubleBox .arrowUl {
		margin-top: 1.5rem;
		bottom: auto;
	}

}


/*------------------------------------------------------------
	school
------------------------------------------------------------*/
#school .featuresBox {
	margin-bottom: 10.9rem;
}
#school .studentBox .comTalkBox {
	max-width: 107rem;
}
#school .studentBox .comSlideBox {
	margin-bottom: 0;
}
#school .studentBox {
	margin-bottom: 13rem;
	padding-bottom: 10.3rem;
}
#school .challengeBox {
	padding-top: 4.5rem;
	padding-bottom: 1px;
	overflow: hidden;
}
#school .challengeBox .content {
	max-width: 128rem;
}
#school .challengeBox .headLine01 {
	margin-bottom: 3.8rem;
	font-size: 3.2rem;
}
#school .challengeBox .headLine01 img {
	width: 7.1rem;
	display: block;
	margin: 0 auto 0.6rem;
}
#school .challengeBox .listUl {
	display: flex;
	font-size: 1.4rem;
	line-height: 1.71;
	font-weight: 500;
}
#school .challengeBox .listUl li {
	width: 41.3rem;
	background: #FFF;
	margin: 0 1rem;
	padding: 2.7rem 3.6rem 2.3rem;
}
#school .challengeBox .listUl li:last-child {
	margin-right: 0 !important;
}
#school .challengeBox .listUl .headLine01 {
	margin-bottom: 1.4rem;
	font-size: 2.4rem;
	text-align: left;
	line-height: 1.4;
}
#school .challengeBox .innerBox {
	padding: 0 1.8rem 4.2rem;
	overflow: visible;
}
#school .challengeBox .listUl .comLink {
	margin-top: 0.4rem;
}
#school .challengeBox .comSlideBox {
	margin: 0 -2.7rem;
	position: relative;
	padding-bottom: 0;
	margin-bottom: 0;
}
#school .challengeBox .comSlideBox .bar {
	width: calc(100% - 5rem);
	height: 1px;
	position: absolute;
	bottom: 3.2rem;
	left: 3.5rem;
	background: #959595;
	content: "";
}
#school .challengeBox .comSlideBox .bar span {
	width: 20%;
	height: 1px;
	background-color: #0C419A;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#school .challengeBox .comSlideBox .bar .swiper-scrollbar-drag {
	background: #0C419A;
	height: 1px !important;
	top: 0;
	z-index: 10;
}
#school .challengeBox .comSlideBox .arrowUl {
	bottom: 0;
	right: -3.4rem;
	z-index: 60;
}
#school .comSwiper .comList02,
#school .comSwiper .comList03 {
	flex-wrap: inherit;
}
#school .comVisual .head .lable {
	display: inline-block;
	vertical-align: top;
	border: 1px solid #fff;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.7rem 1.5rem 1rem 1.1rem;
	border-radius: 5rem;
	margin-left: -1.1rem;
}
#school .comVisual .ttlBox {
	margin: 2px -5.2rem 0 0;
}
#school .comVisual .head .sml {
	font-size: 2.4rem;
	margin: -0.5rem 0 0.9rem 0;
}
#school .comVisual .head {
	font-size: 4rem;
	margin-bottom: 2.2rem;
}
#school .comVisual .imgBox {
	margin: 0 auto;
	max-width: 120.4rem;
	position: relative;
	justify-content: flex-start;
}
#school .comVisual .mainImg {
	width: 63.7rem;
	position: absolute;
	top: -7.9rem;
	right: -1.2rem;
}
#school .comVisual .image {
	margin-left: -2rem;
	width: 48.3rem;
}
#school .comVisual::after {
	height: 45.7rem;
	box-shadow: none;
}
#school .comVisual .textImg {
	margin: 6.8rem auto 0;
	max-width: 123rem;
}
#school .comVisual .textImg img {
	width: 60rem;
}
#school .comVisual::before {
	height: 42rem;
	background: linear-gradient(0deg, #0464FF 31%, #002FD9 100%);
}
#school .comVisual .posImg03 {
	width: 16.1rem;
	right: -3.3rem;
	bottom: 16.2rem;
}
#school .comVisual .posImg01 {
	right: -37.2rem;
	top: 8.8rem;
	width: 98.8rem;
}
#school .comVisual {
	padding-bottom: 6.2rem;
}
@media all and (min-width: 1440px) {
	#school .comVisual::after {
		width: 79.75vw;
		right: calc(50% - 22rem);
	}
}
@media all and (min-width: 897px) {
	#school .comVisual .posImg02 {
		width: 80rem;
		left: -13.6rem;
		bottom: -4.4rem;
	}
	#school .comLogoBox {
		margin-bottom: 10.8rem;
	}
}
@media all and (max-width: 896px) {
	#school .comVisual .posImg02 {
		left: -4.9rem;
		bottom: -5.6rem;
		width: 12.2rem;
	  }
	#school .studentBox {
		margin-bottom: 7.8rem;
		padding-bottom: 4.2rem;
	}
	#school .challengeBox .headLine01 {
		font-size: 2rem;
		margin-bottom: 3.6rem;
	}
	#school .challengeBox {
		padding-top: 6rem;
	}
	#school .challengeBox .headLine01 img {
		width: 5.3rem;
		margin: 0 auto 1.1rem;
	}
	#school .challengeBox .innerBox {
		margin: 0 -4rem 0 0;
		padding-bottom: 5rem;
		padding-right: 0;
		padding-left: 0;
	}
	#school .challengeBox .listUl li {
		margin-left: 0;
		width: 29.5rem;
		margin-right: 1.4rem;
		padding: 2.4rem 2.8rem;
	}
	#school .challengeBox .listUl .headLine01 {
		font-size: 1.6rem;
		margin-bottom: 0.8rem;
	}
	#school .challengeBox .listUl {
		line-height: 1.64;
	}
	#school .challengeBox .comSlideBox .arrowUl {
		bottom: 0.9rem;
		right: 4rem;
		width: auto;
		position: absolute;
	}
	#school .challengeBox .comSlideBox {
		padding-bottom: 0;
		margin: 0;
	}
	#school .challengeBox .content {
		margin: 0 4rem;
	}
	#school .challengeBox .comSlideBox .bar {
		left: 0;
		width: calc(100% - 4rem);
	}
	#school .comVisual .mainImg {
		width: 36.6rem;
		top: -6.8rem;
		right: -12.9rem;
		margin: 0;
	}
	#school .comVisual {
		padding: 8rem 2.5rem 1.9rem;
	}
	#school .comVisual .posImg03 {
		width: 11.8rem;
		right: 10.8rem;
		bottom: 5.5rem;
	}
	#school .comVisual .head .lable {
		font-size: 1.2rem;
		padding: 0.4rem 1.1rem 0.6rem;
		margin: 0 0 1.7rem -0.8rem;
	}
	#school .comVisual .ttlBox {
		margin: 0;
		position: relative;
		z-index: 10;
	}
	#school .comVisual .head .sml {
		font-size: 1.4rem;
		margin: 0 0 0.8rem;
	}
	#school .comVisual .head {
		font-size: 2.7rem;
		margin-bottom: 2.2rem;
	}
	#school .comVisual .image {
		margin: 4.7rem -1rem 0;
		width: auto;
		text-align: center;
	}
	#school .comVisual .image img {
		width: 100%;
		max-width: 34.5rem;
	}
	#school .comVisual::after {
		height: 31.4rem;
		width: 180vw;
	}
	#school .comVisual .posImg01 {
		right: -15.2rem;
		top: 3.8rem;
		width: 35.8rem;
		z-index: 3;
	}
	#school .comVisual .textImg {
		margin: 5.2rem -1rem 0;
		max-width: inherit;
		text-align: center;
	}
	#school .comVisual .textImg img {
		max-width: 34.5rem;
		width: 100%;
	}
	#school .comVisual .imgBox {
		max-width: 86.666vw;
	}
}






/* comPageBox */
.comPageBox {
	margin-top: 7.6rem;
	max-width: 114.1rem;
}
.comPageBox .linkUl {
	display: flex;
	justify-content: space-between;
}
.comPageBox .linkUl li {
	width: calc(50% - 1.3rem);
}
.comPageBox .linkUl a {
	padding: 2rem 4.7rem 1.9rem;
	height: 20.5rem;
	display: flex;
	align-items: center;
	background-color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	position: relative;
	border-radius: 1rem;
}
.comPageBox .linkUl .sml {
	display: block;
	font-size: 1.6rem;
}
.comPageBox .linkUl .photo {
	width: 11.6rem;
}
.comPageBox .linkUl .rightBox {
	flex: 1;
	margin: -0.3rem 0 0 4.8rem;
}
.comPageBox .linkUl .sml {
	margin-bottom: 1.1rem;
	display: block;
	font-size: 1.6rem;
}
.comPageBox .linkUl .icon {
	width: 4rem;
	height: 4rem;
	border: 1px solid #D7D7D7;
	border-radius: 50%;
	content: "";
	position: absolute;
	bottom: 2rem;
	right: 1.3rem;
}
.comPageBox .linkUl .icon::after {
	width: 1rem;
	height: 1rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-color: #0C419A;
	content: "";
	border-radius: 50%;
}
@media all and (min-width: 897px) {
	.comPageBox .linkUl a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comPageBox .linkUl {
		display: block;
	}
	.comPageBox .linkUl li {
		width: auto;
		margin-bottom: 1.9rem;
	}
	.comPageBox .linkUl li:last-child {
		margin-bottom: 0;
	}
	.comPageBox {
		margin: 7rem 2.5rem 0;
	}
	.comPageBox .linkUl a {
		padding: 2rem 0.5rem 1.9rem 2.7rem;
		border-radius: 0.5rem;
		height: 12rem;
		font-size: 1.8rem;
	}
	.comPageBox .linkUl .photo {
		width: 6.8rem;
	}
	.comPageBox .linkUl .sml {
		margin-bottom: -0.1rem;
		font-size: 1.4rem;
	}
	.comPageBox .linkUl .rightBox {
		margin: -0.3rem -1rem 0 2.3rem;
	}
	.comPageBox .linkUl .icon {
		width: 4rem;
		height: 4rem;
		border: 1px solid #D7D7D7;
		border-radius: 50%;
		content: "";
		position: absolute;
		bottom: 0.5rem;
		right: 0;
		transform: scale(0.6);
	}
}

/* comBtnBox */
.comBtnBox {
	margin: 6rem 0 0;
	text-align: center;
}
.comBtnBox p {
	margin-bottom: 2.5rem;
	color: #0C419A;
	text-align: center;
	font-size: 1.9rem;
	font-weight: 500;
	line-height: 1.68;
}
.comBtnBox .btn a {
	margin: 0 auto;
	max-width: 40rem;
	height: 8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0C419A;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	border-radius: 15rem;
	border: 0.2rem solid #0C419A;
	background: #FFED4F;
}
@media all and (min-width: 897px) {
	.comBtnBox .btn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comBtnBox p {
		font-size: 1.5rem;
	}
	.comBtnBox .btn a {
		width: 90%;
		height: 5rem;
		font-size: 1.8rem;
	}
}

/* comNote */
.comNote {
	text-align: right;
	color: #0C419A;
	font-size: 1.4rem;
	font-weight: 700;
}


/* pagePath */
#pagePath {
	margin: 13.2rem 0 2.7rem;
}
#pagePath ul {
	margin: 0 auto;
	max-width: 131.8rem;
	display: flex;
	flex-wrap: wrap;
	font-size: 1.2rem;
}
#pagePath ul li {
	margin-right: 1.9rem;
	position: relative;
}
#pagePath ul li::after {
	position: absolute;
	top: 0;
	right: -1.5rem;
	content: "＞";
}
#pagePath ul a {
	color: #0C419A;
	display: inline-block;
	vertical-align: top;
	text-decoration: underline;
}
#pagePath ul li:last-child:after {
	display: none;
}
@media all and (min-width: 897px) {
	#pagePath ul a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#pagePath {
		margin: 7.1rem 2.7rem 2.7rem;
	}
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/

#contact {
	background: #F0F6F8;
}
#contact .mailForm {
	margin: 10.8rem auto 0;
	max-width: 82.3rem;
}
#contact .mailForm th,
#contact .mailForm td {
	padding: 1.1rem 0 1.2rem;
	vertical-align: middle;
	color: #333;
	font-size: 1.4rem;
	line-height: 1.9;
	font-weight: 700;
	letter-spacing: 0.1em;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
#contact .mailForm .tips {
	margin-top: 0.7rem;
	font-size: 1.2rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
	font-weight: 500;
}
#contact .mailForm th {
	width: 18.6%;
	padding-bottom: 1.6rem;
}
#contact .mailForm .must {
	margin: 0 0.7rem;
	display: inline-block;
	width: 3.5rem;
	text-align: center;
	color: #FFF;
	text-align: center;
	line-height: 1.8;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 0.8rem;
	background: #F55CAC;
}
#contact .mailForm th.top {
	padding-top: 1.9rem;
	vertical-align: top;
}
#contact .mailForm table {
	width: 100%;
	border-collapse: collapse;
}
#contact .mailForm input[type="radio"] {
	display: none;
}
#contact .mailForm input[type="radio"] ~ span {
	padding-left: 3.2rem;
	display: block;
	width: fit-content;
	cursor: pointer;
	background: url(img/contact/icon01.png) no-repeat left center / 2.3rem
}
#contact .mailForm input[type="radio"]:checked ~ span {
	background-image: url(img/contact/icon02.png);
}
#contact .mailForm .topTab .radioList {
	margin: 0 0 2rem;
}
#contact .mailForm .radioList {
	max-width: 50rem;
	display: flex;
	flex-wrap: wrap;
	gap: 2.8rem 1.5rem;
}
#contact .mailForm .radioList li {
	width: fit-content;
	min-width: 20rem;
}
#contact .mailForm .radioList label {
	display: block;
}
#contact .mailForm input[type="text"],
#contact .mailForm input[type="email"],
#contact .mailForm input[type="tel"],
#contact .mailForm textarea,
#contact .mailForm select {
	padding: 1.3rem 1.4rem;
	width: 39.1rem;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	height: 4.8rem;
	color: #333;
	font-weight: 500;
	border-radius: 0.8rem;
	border: 1px solid #0C419A;
	background: #FFF;
	box-sizing: border-box;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
#contact .mailForm textarea {
	width: 100%;
	display: block;
	resize: vertical;
	min-height: 14rem;
}
#contact .mailForm textarea::-webkit-input-placeholder,
#contact .mailForm input::-webkit-input-placeholder {
	color: #989898;
	opacity:1;
}
#contact .mailForm textarea::-moz-placeholder,
#contact .mailForm input::-moz-placeholder {
	color: #989898;
	opacity:1;
}
#contact .mailForm .tabBox {
	margin-bottom: 3.3rem;
}
#contact .mailForm .policyBox {
	padding: 3.8rem 5.1rem 4.3rem;
	background-color: #fff;
	border-radius: 0.8rem;
}
#contact .mailForm .policyBox .title {
	padding: 0.7rem 01rem 0.4rem;
	background: #D9D9D9;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.1em;
}
#contact .mailForm .policyBox .scrollBox {
	margin-bottom: 2.2rem;
	padding: 1rem 2.2rem;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.6;
	border: 1px solid #D9D9D9;
	height: 15rem;
}
#contact .mailForm .policyBox .scrollBox ::-webkit-scrollbar {
	display: none;
}
#contact .mailForm .policyBox h4 {
	padding: 0 0.4rem;
	font-weight: 500;
}
#contact .mailForm .policyBox p + h4 {
	margin-top: 1.5rem;
}
#contact .mailForm .policyBox .subUl + h4 {
	margin-top: 1.5rem;
}
#contact .mailForm .agreeTxt {
	margin: 0 auto 2.6rem;
	width: 39.1rem;
	border-radius: 1rem;
	background: #0C419A;
}
#contact .mailForm .agreeTxt label {
	padding: 1rem 1rem 1.1rem;
	display: block;
}
#contact .mailForm input[type="checkBox"] {
	display: none;	
}
#contact .mailForm input[type="checkBox"] ~ span {
	margin: 0 auto;
	padding-left: 3.6rem;
	color: #fff;
	width: fit-content;
	display: block;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	cursor: pointer;
	background: url(img/contact/icon03.png) no-repeat left 0.9rem center / 1.8rem;
}
#contact .mailForm input[type="checkBox"]:checked ~ span {
	background-image: url(img/contact/icon04.png);
}
#contact .mailForm .submit {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 2rem;
}
#contact .mailForm .submit.nolink {
	pointer-events: none;
	opacity: 0.5;
}
#contact .mailForm .submit li {
	width: 39.1rem;
}
#contact .mailForm .submit input {
	width: 100%;
	height: 6rem;
	border-radius: 10rem;
	background: #D9D9D9;
	color: #333;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	border: none;
	cursor: pointer;
	transition: 0.3s;
}
#contact .mailForm .note {
	padding-left: 1.4rem;
	margin-bottom: 1.4rem;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.7;
	text-indent: -1.3rem;
}
#contact .mailForm .text {
	margin: 0.8rem 0.9rem 0;
}
#contact .mailForm .wid01 {
	width: 25.5rem !important;
}
#contact .mailForm .button {
	padding: 2.4rem 1.5rem;
	display: flex;
	width: 12.4rem;
	height: 4.8rem;
	text-align: center;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	border-radius: 0.8rem;
	background: #0C419A;
	font-size: 1.5rem;
	font-weight: 900;
	color: #fff;
	letter-spacing: 0;
}
#contact .mailForm .flexBox {
	display: flex;
	align-items: center;
	gap: 1.2rem;
}
#contact .mailForm .tabTitle {
	margin: 1.7rem 0 1.4rem;
	color: #333;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	display: flex;
	align-items: flex-end;
	gap: 1rem;
}
#contact .mailForm .tabTitle .note {
	margin: 0;
	letter-spacing: 0;
	line-height: 1.3;
}
#contact .mailForm .sub02 {
	margin-top: 3.5rem;
}
#contact .mailForm .list {
	display: flex;
	gap: 0.8rem;
}
#contact .mailForm .list input {
	width: 16.7rem;
}
#contact .mailForm select {
	appearance: none;
	background: #fff url(img/contact/icon05.png) no-repeat right 1.9rem center / 1.1rem;
}
#contact .mailForm select::-ms-expand {
	display: none;
}
#contact .mailForm .simplebar-scrollbar {
	background: #D9D9D9;
	border-radius: 0.3rem;
}
#contact .mailForm .simplebar-scrollbar::before {
	border-radius: 0.3rem;
	background: #D9D9D9;
	opacity: 1;
}
#contact .mailForm .simplebar-track.simplebar-vertical {
	width: 0.4rem;
}
#contact .mailForm .simplebar-track {
	right: 0.5rem;
}
/* thanks */
#contact.thanks p {
	margin-bottom: 4rem;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.9;
	font-weight: 500;
}
/* confirm */
#contact.confirm .mailForm input[type="text"], 
#contact.confirm .mailForm input[type="email"], 
#contact.confirm .mailForm input[type="tel"], 
#contact.confirm .mailForm textarea {
	background: none;
	border: none;
	border-radius: 0;
}
/* free */
#contact.free .mailForm .topTab .radioList {
	margin: 0;
}
#contact.free .mailForm {
	margin-top: 7.1rem;
}
#contact .mailForm .datepicker {
	padding-left: 5.1rem !important;
	background: #fff url(img/contact/icon06.png) no-repeat left 1.8rem center / 2.4rem !important;
}
.ui-datepicker a {
	transition: none;
}
.ui-datepicker .ui-state-hover {
	right: 0.2rem;
	top: 0.2rem;
}
.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
	margin: 0 0.3rem;
	line-height: 1.5;
}
.ui-datepicker .ui-datepicker-title {
	display: flex;
	justify-content: center;
	height: 2.7rem;
	align-items: center;
}
.ui-datepicker .ui-datepicker-prev.ui-state-hover {
	left: 0.2rem;
}
@media all and (min-width: 897px) {
	#contact .mailForm .submit input:hover {
		opacity: 0.7;
	}
	#contact .mailForm .button:hover {
		opacity: 0.7;
	}
	#contact .mailForm .policyBox .scrollBox a:hover {
		text-decoration: underline;
	}
	#contact.free .mailForm th {
		width: 24.6%;
	}

}
@media all and (max-width: 896px) {
	#contact .mailForm {
		margin: 0 2rem;
		padding-bottom: 4rem;
		max-width: inherit;
	}
	#contact .mailForm th,
	#contact .mailForm td {
		padding: 1rem 0;
		display: block;
		width: 100%;
	}
	#contact .mailForm th.top {
		padding-top: 1rem;
	}
	#contact .mailForm .topTab .radioList {
		margin-bottom: 0;
		display: block;
	}
	#contact .mailForm .topTab .radioList li + li {
		margin-top: 1rem;
	}
	#contact .mailForm .radioList {
		max-width: inherit;
		display: block;
	}
	#contact .mailForm .radioList li + li {
		margin-top: 1rem;
	}
	#contact .mailForm .radioList li {
		width: fit-content;
		min-width: inherit;
	}
	#contact .mailForm input[type="text"], 
	#contact .mailForm input[type="email"], 
	#contact .mailForm input[type="tel"], 
	#contact .mailForm textarea,
	#contact .mailForm select {
		width: 100%;
	}
	#contact .mailForm .wid01 {
		width: 60% !important;
	}
	#contact .mailForm .button {
		width: 38%;
	}
	#contact .mailForm .agreeTxt {
		width: 100%;
	}
	#contact .mailForm .policyBox {
		padding: 1rem 1.5rem 3rem;
	}
	#contact .mailForm .policyBox .scrollBox {
		padding: 1rem;
	}
	#contact .mailForm .submit {
		display: block;
	}
	#contact .mailForm .submit li {
		margin: 0 auto;
		width: 60vw;
	}
	#contact .mailForm .submit li + li {
		margin-top: 1rem;
	}
	#contact .mailForm .submit input {
		height: 5rem;
	}
}
/* comVisual */
.comVisual {
	padding: 13.3rem 0 0;
	position: relative;
}
.comVisual::before {
	content: "";
	width: 100%;
	height: 47.8rem;
	position: absolute;
	left: 0;
	top: 0;
	pointer-events: none;
	background: url(img/common/bg01.png) no-repeat right bottom / 100rem, linear-gradient(0deg, #0464FF 31%, #002FD9 100%);
}
.comVisual::after {
	content: "";
	position: absolute;
	right: calc(50% - 26.3rem);
	top: 7.3rem;
	width: 120.6rem;
	height: 51.6rem;
	border-radius: 100%;
	background: #0464FF;;
	mix-blend-mode: darken;
	box-shadow: 0 0 10rem #A1E1F3;
	pointer-events: none;
}
.comVisual .posImg01 {
	position: absolute;
	right: 0;
	top: 0;
	width: 46.2rem;
	pointer-events: none;
}
.comVisual .posImg02 {
	position: absolute;
	right: calc(50% + 9rem);
	bottom: 1.5rem;
	width: 60.6rem;
	z-index: 3;
	pointer-events: none;
}
.comVisual .posImg03 {
	position: absolute;
	width: 18.1rem;
	right: 3.1rem;
	bottom: 1rem;
	z-index: 3;
}
.comVisual img {
	width: 100%;
}
.comVisual .imgBox {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 1;
}
.comVisual .mainImg {
	width: 81rem;
	position: relative;
}
.comVisual .ttlBox {
	margin: 5rem -5.2rem 0 10.3rem;
	width: fit-content;
}
.comVisual .head {
	margin-bottom: 2.3rem;
	color: #fff;
	font-size: 4.8rem;
	font-weight: 700;
	line-height: 1.45;
}
.comVisual .head .sml {
	margin-bottom: 1.4rem;
	display: block;
	font-size: 2rem;
}
.comVisual .head .col {
	color: #FFED4F;
}
.comVisual .image {
	margin-left: -1.5rem;
	width: 47rem;
}
@media all and (min-width: 1440px) {
	.comVisual::after {
		width: 83.75vw;
	}
}
@media all and (max-width: 896px) {
	.comVisual {
		padding: 8.6rem 0 0;
	}
	.comVisual::before {
		height: 39.8rem;
		background: linear-gradient(0deg, #0464FF 31%, #002FD9 100%);
	}
	.comVisual::after {
		width: 117vw;
		height: 22.5rem;
		top: 34.6rem;
		right: 50%;
		transform: translate(48.8%,-50%);
		box-shadow: 0 2.5rem 2.5rem #A1E1F3;
	}
	.comVisual .imgBox {
		margin: 0 2.3rem;
		display: block;
		z-index: 4;
	}
	.comVisual .ttlBox {
		margin: 0 auto;
	}
	.comVisual .head {
		font-size: 3.4rem;
	}
	.comVisual .head .sml {
		font-size: 1.5rem;
	}
	.comVisual .image {
		margin: 0 auto 0.5rem;
		width: 32rem;
	}
	.comVisual .mainImg {
		margin: 0 -1.2rem;
		width: auto;
	}
	.comVisual .posImg03 {
		position: absolute;
		width: 14.5rem;
		right: -0.2rem;
		bottom: -2.8rem;
	}
	.comVisual .posImg01 {
		width: 9.3rem;
		top: 4.4rem;
	}
	.comVisual .posImg02 {
		width: 100%;
		left: 0;
		bottom: -3.1rem;
	}
}
/* comLogoBox */
.comLogoBox {
	margin-bottom: 8rem;
	position: relative;
	z-index: 20;
}
.comLogoBox .infiniteslide_wrap {
	max-height: 7.3rem;
}
.comLogoBox .imgUl {
	display: flex;
}
.comLogoBox .logoInner {
	position: relative;
}
.comLogoBox .logoInner + .logoInner {
	margin-top: 1rem;
}
.comLogoBox .imgUl li {
	width: fit-content;
	margin: 0 0.5rem;
	flex-shrink: 0;
}
.comLogoBox .imgUl img {
	width: 100%;
	border-radius: 0.8rem;
}
.comLogoBox .imgUl .inn {
	padding: 1rem 1.7rem;
	height: 7.3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color:  #0C419A;
	font-family: "Zen Maru Gothic", serif;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	border-radius: 0.6rem;
	background: #fff;
	overflow: hidden;
}
@media all and (max-width: 896px) {
	.comLogoBox {
		margin-bottom: 6.1rem;
	}
	.comLogoBox .logoInner + .logoInner {
		margin-top: 3.8rem;
	}
}
/* comLink02 */
.comLink02 a,
.comLink02 p {
	color: #1A87E7;
	font-size: 1.4rem;
	font-weight: 500;
}
.comLink02 a::after ,
.comLink02 p::after {
	margin-left: 0.6rem;
	display: inline-block;
	width: 0.6rem;
	height: 0.6rem;
	vertical-align: 1px;
	border-right: 2px solid #1570CB;
	border-top: 2px solid #1570CB;
	transform: rotate(45deg);
	content: "";
}
@media all and (min-width: 897px) {
	.comLink02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comLink02 a {
		font-size: 1.2rem;
	}
	.comLink02 a::after,
	.comLink02 p::after   {
		width: 0.5rem;
		height: 0.5rem;
	}
}

/*------------------------------------------------------------
	comFaq
------------------------------------------------------------*/
.comFaq .faq {
	margin-bottom: 1.2rem;
	padding: 0 0 0 0;
	background-color: #FFF;
	border-radius: 1rem;
}
.comFaq .faq:last-child {
	margin-bottom: 0;
}
.comFaq .faq dt {
    color: #111;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.667;
    position: relative;
	cursor: pointer;
}
.comFaq .faq dt .ttl {
    display: block;
    padding: 2.2rem 8rem 2.2rem 8.2rem;
    position: relative;
}
.comFaq .faq dt .ttl::before,
.comFaq .faq dt .ttl::after {
    position: absolute;
    right: 3.7rem;
    top: 3.6rem;
    width: 1.3rem;
    height: 1px;
    background-color: #FFF;
    transition: all .3s ease;
    content: "";
    z-index: 2;
}
.comFaq .faq dt .ttl:after {
    transform: rotate(90deg);
}
.comFaq .faq dt.on .ttl:after {
    transform: rotate(180deg);
    opacity: 0;
}
.comFaq .faq dt::before,
.comFaq .faq dd::before {
    position: absolute;
    color: #0C419A;
    text-align: center;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
    content: 'Q';
    left: 3rem;
    top: 2rem;
}
.comFaq .faq dt::after {
	width: 3.6rem;
	aspect-ratio: 1;
	position: absolute;
	right: 2.5rem;
	top: 1.9rem;
	background: linear-gradient(270deg, #1696E7 0%, #1570CB 65.61%);
	content: '';
	border-radius: 100%;
}
.comFaq .faq dd {
	padding: 0 4rem 4.8rem 8.2rem;
	line-height: 1.6;
	display: none;
	position: relative;
}
.comFaq .faq dd::before {
	color: #F55CAC;
	content: 'A';
	top: 0;
}
.comFaq .faq dd a {
	text-decoration: underline;
}
@media all and (min-width: 897px) {
	.comFaq .faq dd a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	.comFaq .faq dt {
		font-size: 1.6rem;
	}
	.comFaq .faq dt .ttl {
		padding: 1.5rem 4.5rem 1.5rem 4rem;
	}
	.comFaq .faq dt::before,
	.comFaq .faq dd::before {
		left: 1.2rem;
  		top: 1.5rem;
		font-size: 2.6rem;
	}
	.comFaq .faq dt::after {
		top: 1.5rem;
		right: 1.2rem;
		width: 3rem;
	}
	.comFaq .faq dt .ttl::before,
	.comFaq .faq dt .ttl::after {
		top: 3rem;
		right: 2rem;
	}
	.comFaq .faq dd {
		padding: 0 2rem 1.5rem 4rem;
	}
	.comFaq .faq dd::before {
  		top: 0;
	}
	
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#index {
	background: #F0F6F8;
}
#index .secBox01 {
	margin-bottom: 9rem;
}
#index .secBox01 .imgTtl {
	margin: -0.6rem auto 2.8rem;
	width: 58.6rem;
}
#index .secBox01 .infoUl {
	margin: 0 auto 0;
	max-width: 129rem;
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
}
#index .secBox01 .infoUl li {
	width: calc((100% - 6rem) / 3);
}
#index .secBox01 .infoUl li a {
	padding: 1.5rem 0 5.3rem 2rem;
	border-radius: 1rem;
	display: block;
	height: 100%;
	position: relative;
	color: #1B1B1B;
	border: 0.2rem solid rgba(26, 135, 231, 0.50);
	background: linear-gradient(102deg, #FFF 53.3%, #A1E1F3 98.18%);
}
#index .secBox01 .infoUl p,
#index .secBox01 .infoUl .pTxt {
	padding: 0 0.9rem;
	font-size: 1.4rem;
	line-height: 1.928;
}
#index .secBox01 .infoUl .comLink02 p,
#index .secBox01 .infoUl .comLink02 span {
	padding: 0;
}
#index .secBox01 .infoUl .comLink02 span {
	font-size: 1.4rem;
	line-height: 1.928;
	color: #1A87E7;
	font-weight: 500;
}
#index .secBox01 .infoUl .comLink02 span::after {
	margin-left: 0.6rem;
	display: inline-block;
	width: 0.6rem;
	height: 0.6rem;
	vertical-align: 1px;
	border-right: 2px solid #1570CB;
	border-top: 2px solid #1570CB;
	transform: rotate(45deg);
	content: "";
}
#index .secBox01 .infoUl .photo {
	width: 16rem;
	position: absolute;
	right: -2px;
	bottom: -2px;
}
#index .secBox01 .infoUl .pho01 {
	right: 1.3rem;
}
#index .secBox01 .infoUl .pho02 {
	width: 20rem;
}
#index .secBox01 .infoUl .title {
	color: #0C419A;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	font-family: "Zen Maru Gothic", serif;
}
#index .secBox01 .infoUl .title .sml {
	margin-bottom: 0.8rem;
	padding: 0.4rem 0.9rem 0.5rem;
	display: block;
	width: fit-content;
	border-radius: 2rem;
	background: #F45CAB;
	color: #fff;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
#index .secBox01 .infoUl .title.spec {
	margin: -1.7rem -0.2rem 0.9rem -2.2rem;
	padding: 1px 2.9rem 1.4rem;
	border-radius: 1rem 1rem 0 0;
	color: #fff;
	background-color: #0C419A;
}
#index .secBox01 .infoUl .title.spec .sml {
	padding: 0.5rem 1.5rem 0.8rem;
	margin: -1.7rem 0 0.7rem -0.8rem;
	font-size: 1.8rem;
	color: #0C419A;
	border-radius: 7.6rem;
	font-weight: 700;
	border: 1px solid  #0C419A;
	background: #FFED4F;
}
#index .secBox01 .infoUl .comLink02 {
	margin: 0;
	position: absolute;
	left: 2.3rem;
	bottom: 1.7rem;
}
#index .secBox01 .infoUl .bg a {
	background: #fff;
}
#index .secBox02 {
	margin-bottom: 7.3rem;
	padding-bottom: 0;
	position: relative;
}
#index .secBox02 .flowImg {
	height: 25.4rem;
	position: absolute;
	bottom: 4.4rem;
	left: 0;
}
#index .secBox02 .flowImg img {
	width: auto;
	height: 100%;
}
#index .secBox02 .imgBox {
	max-width: 126.3rem;
	display: flex;
	position: relative;
	z-index: 1;
}
#index .secBox02 .imgBox .photoBox {
	margin: -2rem -2rem 0 0;
	width: 79.1rem;
}
#index .secBox02 .headLine01 {
	margin: 0 0 2.8rem;
	width: fit-content;
	font-size: 5rem;
	text-align: left;
}
#index .secBox02 .headLine01 .lineTxt02 {
	display: block;
	margin-bottom: 2.2rem;
	font-size: 2.8rem;
	text-align: center;
	padding-bottom: 0.2rem;
}
#index .secBox02 .textBox {
	margin: 11.8rem 0 0 auto;
	max-width: 39.3rem;
}
#index .secBox02 .textBox p {
	margin-bottom: 2.4rem;
	color: #1B1B1B;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.714;
}
#index .secBox03  {
	padding-left: 5.3rem;
}
#index .secBox03 .textBox {
	margin: 0 auto 6.9rem;
	padding: 3rem 2.3rem 6rem 0;
	max-width: 85.6rem;
	position: relative;
	border-radius: 3rem;
	background-color: #fff;
}
#index .secBox03 .textBox::after {
	content: "";
	position: absolute;
	right: 1.2rem;
	left: -1.3rem;
	top: -0.9rem;
	bottom: 0.7rem;
	border: 0.2rem solid #0C4199;
	border-radius: 3rem;
}
#index .secBox03 .textBox::before {
	content: "";
	width: 10.6rem;
	height: 3.8rem;
	position: absolute;
	left: 50%;
	transform: translateX(-63%);
	top: calc(100% - 1.3rem);
	z-index: 1;
	background: url(img/index/line.png) no-repeat left top / 100%;
}
#index .secBox03 .textBox p {
	position: relative;
	z-index: 1;
	color: #0C4199;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
}
#index .secBox04 .comList03 {
	margin-bottom: 3.9rem;
	flex-wrap: nowrap;
	flex-flow: row;
	align-items: center;
}
#index .secBox04 .comList03 {
	/* max-height: 21.4rem;
	overflow: hidden; */
}
#index .jsFadeIn {
	overflow: hidden;
}
#index .jsFadeIn .infiniteslide_wrap {
	overflow: visible !important;
}
#index .secBox04 .comList03:not(.active) {
	animation-play-state: paused !important;
}
#index .secBox04 .comList03 li {
	margin: 0 2rem;
	line-height: 1.857;
	flex: 0 0 auto;
}
#index .secBox04 .jsFadeInList .jsLi {
	opacity: 0;
	transform: translateY(200px);
}
#index .secBox04 .jsFadeInList.on .jsLi {
	animation: fadeup 1s forwards;
}
#index .splideList {
	margin-bottom: 3.9rem;
}
#index .splideList li {
	width: 21rem;
	font-size: 1.4rem;
	font-weight: 500;
	margin: 0 2rem;
	line-height: 1.857;
	flex-shrink: 0;
}
#index .splideList .splide__list {
	width: fit-content;
}
#index .splideList li .image {
	width: 11.6rem;
	height: 11.6rem;
	margin: 0 auto 2rem;
	border-radius: 100%;
	overflow: hidden;
}
@media all and (max-width: 896px) {
	#index .splideList {
		margin-bottom: 4.3rem;
	}
	#index .splideList li {
		margin: 0 3.2rem;
		width: 16rem;
	}
	#index .splideList li .image {
		margin-right: 0;
	}
}
@keyframes fadeup {
	0% {
		opacity: 0;
		transform: translateY(200px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
#index .secBox04 .title {
	margin-bottom: 2.6rem;
	color: #F55CAC;
	text-align: center;
	font-size: 3rem;
}
#index .secBox04 .title .maru {
	padding: 0 3.3rem;
	position: relative;
}
#index .secBox04 .title .maru::before,
#index .secBox04 .title .maru::after {
	content: "";
	position: absolute;
	bottom: 0rem;
	left: -0.2rem;
	height: 4rem;
	width: 0.3rem;
	background: #F55CAC;
	transform: rotate(-33deg);
}
#index .secBox04 .title .maru::after {
	left: auto;
	right: -0.2rem;
	transform: rotate(33deg);
}
#index .secBox04 .title .sml {
	display: block;
	color: #1B1B1B;
	text-align: center;
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 500;
}
#index .secBox04 {
	margin-bottom: 17.9rem;
}
#index .support {
	margin: 19.7rem 0 0;
	background: #fff;
	border-radius: 8rem;
	padding-bottom: 8.5rem;
	position: relative;
}
#index .support .heading {
	margin-bottom: 3.8rem;
	padding: 1px 2rem 2rem;
	color: #FFF;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: normal;
	border-radius: 8rem 8rem 0 0;
	background: linear-gradient(270deg, #1696E7 0%, #1570CB 65.61%);
}
#index .support .heading span {
	display: block;
}
#index .support .heading .en {
	margin: -3.9rem 0 0.9rem;
	line-height: 1;
	text-shadow: 0 0.4rem 4rem #27BAE1;
	font-size: 8rem;
}
#index .comReason {
	margin: -8rem 0 17rem;
	padding: 14rem 0 14.2rem;
	background: #D3EEFF;
}
#index .comReason .headLine01 {
	margin: 0 auto 13.6rem;
	width: fit-content;
	position: relative;
}
#index .comReason .headLine01::after {
	width: 8.2rem;
	height: 22.8rem;
	content: "";
	position: absolute;
	left: calc(100% + 0.6rem);
	top: 50%;
	transform: translateY(-27%);
	background: url(img/index/photo07.png) no-repeat left top / 100%;
}
#index .comReason .comBtn {
	margin-top: 1.5rem;
}
#index .comReason li {
	align-items: center;
}
#index .secBox05 {
	padding: 9rem 0 8.5rem;
	background: #fff;
	margin-top: 11.4rem;
}
#index .secBox05 .content {
	max-width: 117.4rem;
}
#index .secBox05 .priceBox {
	width: 40.2rem;
}
#index .secBox05 .priceBox .image {
	padding: 9rem 2rem 7.4rem ;
	border-radius: 1rem;
	text-align: center;
	color: #0C419A;
	font-size: 2.4rem;
	font-weight: 700;
	background: #D9F6FE;
	display: block;
	box-shadow: 0 0.5rem 1rem 0 rgba(12, 65, 153, 0.3);
}
#index .secBox05 .priceBox .img {
	margin: 0 auto 2.4rem;
	width: 14.5rem;
	display: block;
}
#index .secBox05 .newsBox {
	width: 63.9rem;
}
#index .secBox05 .heading {
	margin-bottom: 5.7rem;
	color: #0C4199;
	font-size: 2.4rem;
	font-weight: 700;
}
#index .secBox05 .newsBox .comLink02 {
	margin: 2.3rem 4rem;
	text-align: right;
}
#index .secBox05 .newsBox .comLink02 a {
	color: #1696E7;
}
#index .secBox05 .newsBox .comLink02 a::after {
	margin-left: 1.7rem;
	width: 0.5rem;
	height: 0.5rem;
	border-color: currentColor;
}
#index .secBox05 .heading .en {
	margin-bottom: -1.5rem;
	color: #C5E3F6;
	font-size: 10rem;
	line-height: 0.8;
	display: block;
}
@media all and (min-width: 897px) {
	#index .comVisual .ttlBox {
		margin: 5rem -3.2rem 0 10.3rem;
    	min-width: 56rem;
	}
	#index .comVisual .slideBox .img {
		width: 81rem;
	}
	#index .secBox01 .infoUl li a:hover {
		opacity: 0.7;
	}
	#index .comVisual .image {
		margin-left: -0.8rem;
	}
	#index .comVisual .posImg02 {
		bottom: -1.1rem;
	}
	#index .comVisual .posImg04 {
		position: absolute;
		width: 23.6rem;
		left: 6.7rem;
		bottom: -0.2rem;
		z-index: 3;
	}
	#index .comVisual .slideBox {
		position: relative;
	}
	#index .comVisual .slideUl {
		position: absolute;
		width: 46.1rem;
		height: 29.6rem;
		right: 14.7rem;
		top: 5rem;
	}
	#index .comVisual .slideUl li {
		width: 46.1rem;
		height: 29.6rem;
		object-fit: cover;
		border-radius: 1rem;
		overflow: hidden;
	}
	#index .comVisual img {
		height: 100%;
		object-fit: cover;
	}
	#index .secBox05 .priceBox .image:hover {
		opacity: 0.7;
	}
}
@media (min-width: 897px) and (max-width: 1439px) {
	#index .comVisual .ttlBox {
		margin: 3.4vw -4vw 0 3.1vw;
		flex: 1;
	}
	#index .comVisual .head {
		font-size: 2.8vw;
	}
	.comVisual .image {
		width: 44rem;
	}
}
@media (min-width: 897px) and (max-width: 1280px) {
	#index .comVisual .ttlBox {
		margin: 4.5rem -5rem 0 4rem;
	}
	#index .comVisual .head {
		font-size: 3.6rem;
	}
}
@media all and (max-width: 896px) {
	#index .comVisual .mainImg {
		margin: 0 -2.1rem 0 -1.3rem;
		width: auto
	}
	#index .comVisual .posImg03 {
		right: 1rem;
	}
	#index .secBox01 {
		margin-bottom: 7rem;
	}
	#index .secBox01 .imgTtl {
		margin: 4.3rem auto 3.5rem;
		width: 31.5rem;
	}
	#index .secBox01 .comLogoBox {
		margin-bottom: 5.5rem;
	}
	#index .secBox01 .infoUl {
		margin: 2rem 1.5rem 0;
		display: block;
	}
	#index .secBox01 .infoUl li {
		width: 100%;
	}
	#index .secBox01 .infoUl li a {
		padding: 1.2rem 0 4rem 2rem;
	}
	#index .secBox01 .infoUl li + li {
		margin-top: 2.6rem;
	}
	#index .secBox01 .infoUl .title {
		min-height: 11.6rem;
		font-size: 2rem;
	}
	#index .secBox01 .infoUl .title .sml {
		margin: 0 0 0.6rem -0.3rem;
 		padding: 0.3rem 0.7rem 0.5rem;
		font-size: 1.2rem;
	}
	#index .secBox01 .infoUl .comLink02 {
		left: 2rem;
		bottom: 1.4rem;
	}
	#index .secBox01 .infoUl .photo {
		width: 13.5rem;
	}
	#index .secBox01 .infoUl .pho01 {
		right: 1.1rem;
	}
	#index .secBox01 .infoUl .title.spec {
		margin-bottom: 0.7rem;
		padding: 1px 2.6rem 1.2rem;
		min-height: inherit;
	}
	#index .secBox01 .infoUl .title.spec .sml {
		padding: 0.6rem 1.2rem 0.6rem;
		margin: -1.5rem 0 0.6rem -0.8rem;
		font-size: 1.515rem;
	}
	#index .secBox01 .infoUl p,
	#index .secBox01 .infoUl .pTxt {
		padding: 0 0.4rem;
		font-size: 1.2rem;
		line-height: 1.894;
	}
	#index .secBox01 .infoUl .bg {
		padding-bottom: 5.5rem;
	}
	#index .secBox01 .infoUl .pho02 {
		width: 16.8rem;
	}
	#index .secBox02 {
		margin-bottom: 4.8rem;
		padding-bottom: 3rem;
	}
	#index .secBox02 .flowImg {
		height: auto;
		bottom: 0;
	}
	#index .secBox02 .flowImg img {
		width: 58rem;
		height: auto;
		max-width: inherit;
	}
	#index .secBox02 .textBox p {
		margin-bottom: 2.8rem;
		line-height: 1.8;
	}
	#index .secBox02 .imgBox {
		display: block;
	}
	#index .secBox02 .imgBox .photoBox {
		margin: 1.6rem -2.7rem 0;
		width: auto;
	}
	#index .secBox02 .imgBox .photoBox img {
		width: 100%;
	}
	#index .secBox02 .headLine01 {
		margin: 0 0 3rem;
		font-size: 3.6rem;
	}
	#index .secBox02 .headLine01 .lineTxt02 {
		margin-bottom: 1.6rem;
		font-size: 1.6rem;
		text-align: left;
		width: fit-content;
	}
	#index .secBox02 .textBox {
		margin: 0;
		max-width: inherit;
	}
	#index .secBox03 {
		padding: 0;
	}
	#index .secBox04 .title .maru {
		padding: 0 1.3rem;
		position: relative;
		display: block;
		width: fit-content;
		margin: 0 auto;
	}
	#index .secBox03 .textBox {
		margin: 0 1rem 5.5rem 2rem;
		padding: 1.9rem 2rem 3.3rem 1.2rem;
		max-width: inherit;
	}
	#index .secBox03 .textBox p {
		font-size: 1.8rem;
		line-height: 1.5;
	}
	#index .secBox03 .textBox::after {
		right: 0.5rem;
		left: -0.7rem;
		top: -0.7rem;
		bottom: 0.4rem;
	}
	#index .secBox03 .textBox::before {
		width: 6.1rem;
		height: 4.2rem;
		top: calc(100% - 1.9rem);
		background-image: url(img/index/line_sp.png);
	}
	#index .comReason .headLine01::after {
		display: none;
	}
	#index .secBox04 .comList03 {
		margin-bottom: 4.3rem;
		gap: 1.6rem;
	}
	#index .secBox04 .comList03 .image {
		margin-right: 0;
	}
	#index .secBox04 .comList03 li {
		width: 16rem;
	}
	#index .secBox04 {
		margin-bottom: 11.4rem;
	}
	#index .support {
		margin-top: 15.6rem;
		padding-bottom: 9.7rem;
		border-radius: 5rem;
	}
	#index .support .heading .en {
		font-size: 6.389rem;
	}
	#index .support .heading {
		margin-bottom: 4.6rem;
		font-size: 1.916rem;
		border-radius: 5rem 5rem 0 0;
	}
	#index .comReason {
		padding: 5rem 0;
		margin: 4rem 0;
	}
	#index .comReason .headLine01 {
		margin-bottom: 3.2rem;
	}
	#index .comReason .listUl p {
		letter-spacing: 0;
	}
	#index .secBox05 {
		padding: 5.4rem 0 4.7rem;
	}
	#index .secBox05 .content {
		max-width: inherit;
		display: block;
	}
	#index .secBox05 .heading .en {
		margin-bottom: -1rem;
		font-size: 6rem;
	}
	#index .secBox05 .heading {
		margin-bottom: 2rem;
		font-size: 2rem;
	}
	#index .secBox05 .priceBox {
		margin-bottom: 5rem;
		width: 100%;
	}
	#index .secBox05 .priceBox .image {
		padding: 3.4rem;
		font-size: 1.8rem;
		display: flex;
		align-items: center;
		gap: 2.5rem;
	}
	#index .secBox05 .priceBox .img {
		margin: 0;
		width: 6.5rem;
	}
	#index .secBox05 .newsBox {
		width: 100%;
	}
	#index .secBox05 .newsBox .heading {
		margin-bottom: 2.8rem;
	}
	#index .secBox05 .newsBox .comLink02 {
		margin: 2.5rem -0.5rem 0 0;
	}
	#index .secBox05 .newsBox .comLink02 a {
		font-size: 1.4rem;
	}
	#index .secBox01 .infoUl .comLink02 span {
		font-size: 1.2rem;
	}
	#index .secBox01 .infoUl .comLink02 span::after   {
		width: 0.5rem;
		height: 0.5rem;
	}

}
/* comNewsUl */
.comNewsUl li {
	border-bottom: 1px solid #97BBCF;
}
.comNewsUl li:first-of-type {
	border-top: 1px solid #97BBCF;
}
.comNewsUl li + li {
	margin-top: 0.5rem;
}
.comNewsUl a {
	padding: 1rem 2.6rem;
	display: flex;
	align-items: center;
	line-height: 2;
	min-height: 8.8rem;
	gap: 4rem;
}
.comNewsUl a span {
	display: block;
}
@media all and (min-width: 897px) {
	.comNewsUl a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comNewsUl {
		margin: 0 -0.6rem;
	}
	.comNewsUl a {
		padding: 1rem 0.5rem 1rem 1.5rem;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		font-size: 1.6rem;
		line-height: 1.4;
		gap: 1rem;
	}
}
/* comUseBox */
.comUseBox .content {
	max-width: 121rem;
}
.comUseBox .list .posTag {
	position: absolute;
	right: 1.2rem;
	top: 0.8rem;
	color: #F55CAC;
	font-size: 1.3rem;
	font-weight: 500;
	border-radius: 1.1rem;
	line-height: 1;
	border: 1px solid #F55CAC;
	background: #FFF;
	padding: 0.2rem 0.6rem;
}
.comUseBox .list {
	margin-bottom: 5.6rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 1.1rem;
}
.comUseBox .list li {
	padding: 1.3rem 2.6rem 3.8rem;
	width: calc((100% - 3.3rem) / 4);
	background: #fff;
	border-radius: 1rem;
	position: relative;
	box-shadow: 0 0.3rem 1rem 0.2rem rgba(151, 187, 207, 0.2);
}
.comUseBox .list .img {
	margin-bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.comUseBox .list .img img {
	width: 16.8rem;
}
.comUseBox .headLine01 {
	margin-bottom: 3.9rem;
}
.comUseBox .list h3 {
	margin: 0 0 1.5rem;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.comUseBox .comBtn {
	margin-top: 1.2rem;
}
.comUseBox .list h3 small {
	display: block;
	font-size: 1.4rem;
}
.comUseBox .list p {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.714;
}
.comUseBox .comBtn a {
	margin: 0 auto;
	padding: 1.7rem 1rem;
	color: #1570CB;
	width: 21.5rem;
	text-align: center;
	display: block;
	border: 0.2rem solid #1570CB;
}
.comUseBox .note {
	margin-top: 1.8rem;
	text-align: center;
}
.comUseBox .note a {
	color: #0C419A;
	text-decoration: underline;
}
@media all and (min-width: 897px) {
	.comUseBox .note a:hover {
		text-decoration: none;
	}
	.comUseBox .comBtn a:hover {
		color: #fff;
		background: #1570CB;
	}
}
@media all and (max-width: 896px) {
	.comUseBox .content {
		margin: 0 1.4rem;
	}
	.comUseBox .headLine01 {
		margin-bottom: 3.2rem;
	}
	.comUseBox .list {
		gap: 0.8rem;
	}
	.comUseBox .list li {
		padding: 1.1rem 1.2rem 1.3rem;
		border-radius: 0.57rem;
		width: calc(50% - 0.4rem);
	}
	.comUseBox .list .img {
		margin-bottom: 0.4rem;
		height: 8.5rem;
		min-height: inherit;
	}
	.comUseBox .list .img {
		transform: scale(0.58);
	}
	.comUseBox .comBtn {
		margin-top: 2.5rem;
	}
	.comUseBox .comBtn a {
		width: 100%;
		font-size: 1rem;
		border-width: 1px;
		padding: 0.9rem 0.5rem;
	}
	.comUseBox .list h3 {
		margin: 0 -0.3rem 0.5rem;
		font-size: 1.4rem;
	}
	.comUseBox .list p {
		font-size: 1.2rem;
		line-height: 1.6;
	}
	.comUseBox .note {
		margin-top: 3.6rem;
		font-size: 1.6rem;
	}


}
/* supportBox */
.supportBox {
	margin-top: 5.7rem;
	display: flex;
	justify-content: center;
}
.supportBox .photo {
	width: 50.2rem;
	position: relative;
}
.supportBox .textBox {
	margin: 5.8rem 11rem 0 9.6rem;
	width: 42.5rem;
	line-height: 1.6;
}
.supportBox .textBox h4 {
	margin-bottom: 1.3rem;
	font-size: 2.4rem;
	line-height: 1.47;
}
.supportBox .comBtn {
	margin-top: 5rem;
}
.supportBox .comBtn a {
	padding: 2.5rem 3rem;
	width: 39.3rem;
	font-size: 1.8rem;
	text-align: center;
	color: #1570CB;
	border: 0.2rem solid #1570CB;
}
.supportBox .posImg {
	width: 21.2rem;
	display: block;
	position: absolute;
	left: 11%;
	top: 13.5%;
}
@media all and (min-width: 897px) {
	.supportBox .comBtn a:hover {
		color: #fff;
	}
}
@media all and (max-width: 896px) {
	.supportBox {
		margin-top: 3.7rem;
		display: block;
	}
	.supportBox .posImg {
		width: 13.8rem;
		left: 16%;
	}
	.supportBox .photo {
		width: 100%;
		text-align: center;
	}
	.supportBox .photo img {
		width: 87vw
	}
	.supportBox .textBox {
		margin: 3.6rem 1.6rem 0;
		width: auto;
		font-size: 1.6rem;
	}
	.supportBox .textBox h4 {
		font-size: 2rem;
	}
	.supportBox .comBtn a {
		width: 100%;
	}
	.supportBox .comBtn {
		margin-top: 3.3rem;
	}
}

/*------------------------------------------------------------
	application
------------------------------------------------------------*/
#application {
	background: #F0F6F8;
}
#application .fvBox {
	margin-bottom: 8.7rem;
	padding-top: 17.4rem;
	position: relative;
	color: #fff;
	font-family: "Zen Maru Gothic", serif;
	background: linear-gradient(0deg, #0464FF 31%, #002FD9 100%);
}
#application .fvBox::before {
	content: '';
	width: 18.6rem;
	position: absolute;
	right: 0;
	top: 18.4rem;
	aspect-ratio: 1;
	background: url(img/application/bg01.png) no-repeat right top / 100%;
}
#application .fvBox .innerBox {
	margin: 0 auto;
	width: 122.6rem;
	position: relative;
	display: flex;
	justify-content: space-between;
}
#application .fvBox .innerBox .leftBox {
	width: 60rem;
}
#application .fvBox h2 {
	margin: 0 1.1rem 1.7rem;
	font-weight: 700;
	font-size: 4rem;
	line-height: 1.45;
}
#application .fvBox h2 .sm {
	margin: 0 0.2rem 1.4rem;
	width: fit-content;
	padding: 0.4rem 2.4rem 0.5rem;
	display: block;
	font-size: 1.8rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
	border-radius: 5rem;
	border: 0.1rem solid #fff;
}
#application .fvBox h2 .color {
	color: #FFED4F;
}
#application .fvBox p {
	margin: 0 1.9rem 4.7rem;
	max-width: 47.5rem;
	font-weight: 700;
	font-size: 1.5rem;
}
#application .fvBox .appStore {
	display: flex;
	gap: 2.9rem;
}
#application .fvBox .appStore a {
	display: block;
}
#application .fvBox .appStore a:hover {
	opacity: 0.7;
}
#application .fvBox .appStore img {
	width: auto;
	height: 7.4rem;
}
#application .fvBox .img {
	margin: 1.3rem 9rem 0 0;
	width: 36.1rem;
	position: relative;
}
#application .fvBox .img::before {
	content: '';
	width: 7.1rem;
	position: absolute;
	left: -12.5rem;
	bottom: 9.6rem;
	aspect-ratio: 71/45;
	background: url(img/application/bg02.png) no-repeat left top / 100%;
}
#application .topBox {
	margin-bottom: 24rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#application .topBox .photoBox {
	width: calc(50% + 15.8rem);
}
#application .topBox .photoBox img {
	width: 100%;
	min-height: 49.6rem;
	object-fit: cover;
	border-radius: 0 6rem 0 0;
}
#application .topBox .textBox {
	flex: 1;
	margin: 7rem 0 0 -10.8rem;
	position: relative;
	z-index: 1;
}
#application .topBox .textBox p {
	color: #0C419A;
	font-size: 2.4rem;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	line-height: 2.33;
}
#application .topBox .textBox p span {
	padding: 0.3rem 0.5rem 0.3rem 1.1rem;
	background: #fff;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
#application .comBox {
	padding: 10.7rem 0 4.8rem 8.3rem;
	width: calc(50% + 67.3rem);
}
#application .comBox .enTitle {
	left: 8.3rem;
	top: -4.1rem;
}
#application .comBox .inWrap {
	width: 121.4rem;
	max-width: calc(100% - 2rem);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#application .comBox .textBox {
	width: 45%;
	max-width: 48.5rem;
}
#application .comBox .headLine01 {
	margin-bottom: 6.7rem;
	text-align: left;
	font-size: 3.2rem;
	line-height: 1.43;
}
#application .comBox .headLine01 .lineTxt02 {
	margin-bottom: 2.8rem;
	padding: 0 1.1rem 1.4rem;
	font-size: 2.8rem;
}
#application .comBox p {
	margin: 0 1.5rem 0 0.4rem;
	line-height: 1.6;
}
#application .comBox .photoBox {
	margin: -22.7rem 0 0;
	width: 54.74%;
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}
#application .comBox .photoBox .photo {
	margin: 0 auto;
	width: 58.7rem;
	max-width: 100%;
	position: relative;
	text-align: center;
}
#application .comBox .photoBox .photo img {
	margin-left: 2.8rem;
	width: 52.47%;
}
#application .comBox .photoBox .photo .img01,
#application .comBox .photoBox .photo .img02 {
	width: 41.9%;
	position: absolute;
}
#application .comBox .photoBox .photo .img01 img,
#application .comBox .photoBox .photo .img02 img {
	margin: 0;
	width: 100%;
}
#application .comBox .photoBox .photo .img01 {
	right: -0.2rem;
	top: -12.5%;
}
#application .comBox .photoBox .photo .img02 {
	left: -0.1rem;
	bottom: 4%;
}
#application .comBox .photoBox .movie {
	width: 30.8rem;
}
#application .comBox .photoBox .movie .sub {
	position: relative;
	background: url(img/application/bg03.png) no-repeat center center / contain;
	mask: url(img/application/bg03.png) no-repeat center center / contain;
	aspect-ratio: 308/628;
}
#application .comBox .photoBox .movie .sub::before {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #fff;
	opacity: 0.5;
	transition: all 0.3s;
	content: '';
	z-index: 1;
}
#application .comBox .photoBox .movie .sub video {
	position: absolute;
	width: calc(100% - 2.8rem);
	height: calc(100% - 2.2rem);
	left: 1.4rem;
	top: 1.2rem;
	object-fit: cover;
	border-radius: 3.3rem;
	transition: all 0.3s;
}
#application .comBox .photoBox .movie .sub.on::before {
	opacity: 0;
}
#application .comBox .photoBox .movie p {
	margin-top: 1.2rem;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	color: #0C419A;
}
#application .what {
	margin-bottom: 30.8rem;
}
#application .what .photoBox {
	padding-right: 2.4rem;
}
#application .contact {
	margin-bottom: 14rem;
	padding-bottom: 5.3rem;
}
#application .contact .photoBox {
	margin-top: -27.4rem;
}
#application .contact .headLine01 {
	margin-bottom: 2.1rem;
}
#application .function {
	margin-bottom: 9.6rem;
	padding: 9rem 0 15.3rem;
	background: #D3EEFF;
}
#application .function .content {
	width: 107.6rem;
}
#application .function .heading {
	margin-bottom: 9.1rem;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 500;
}
#application .function .heading .blue {
	margin-bottom: 1.3rem;
	display: block;
	color: #0C419A;
	font-size: 3.2rem;
	font-weight: 700;
}
#application .function .heading .blue .sm {
	margin-bottom: 1.4rem;
	display: block;
	font-size: 2.4rem;
}
#application .function .imgList {
	gap: 1.6rem 5.4rem;
}
#application .function .imgList li {
	width: 22.8rem;
	text-align: center;
}
#application .function .imgList li .photo {
	position: relative;
}
#application .function .imgList li .photo.redLine::before {
	margin: 1.9rem 0 0 -0.1rem;
	width: 0.4rem;
	height: 146.4%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(41.9deg);
	background: #F00;
	content: '';
}
#application .function .imgList li .photo img {
	width: 100%;
}
#application .function .imgList li p {
	margin-top: 1.3rem;
	font-size: 1.8rem;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	color: #0C419A;
}
#application .download {
	margin: 0 auto;
	padding: 4.7rem 7.2rem 5.7rem;
	width: 112rem;
	border-radius: 3rem;
	background: #FFF;
}
#application .download .heading {
	margin-bottom: 4.8rem;
	text-align: center;
	font-size: 3.2rem;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	color: #0C419A;
	line-height: 1.44;
}
#application .download .subBox {
	display: flex;
}
#application .download .subBox .photo01 {
	width: 21.2rem;
	margin-right: 3.9rem;
}
#application .download .subBox .photo01 img {
	width: 100%;
	border-radius: 1rem;
}
#application .download .subBox .textBox {
	margin: 1.8rem 1.5rem 0 0;
	width: 51.4rem;
}
#application .download .subBox .textBox p {
	margin-bottom: 4.2rem;
	line-height: 1.62;
}
#application .download .subBox .textBox .storeList {
	margin-left: -0.4rem;
	display: flex;
	gap: 2.9rem;
}
#application .download .subBox .textBox .storeList li a {
	display: block;
}
#application .download .subBox .textBox .storeList li img {
	width: auto;
	height: 7.4rem;
}
#application .download .subBox .photo02 {
	margin-top: 4.9rem;
	width: 17.8rem;
}
#application .download .subBox .photo02 img {
	width: 100%;
}
#application .download .subBox .textBox .storeList li a:hover {
	opacity: 0.7;
}
#application .comPageBox {
	margin-top: 9.5rem;
}
@media all and (max-width: 896px) {
	#application .fvBox {
		margin-bottom: 4.9rem;
		padding: 0;
	}
	#application .fvBox::before {
		width: 6.8rem;
		top: 5.8rem;
		background-image: url(img/application/bg01_sp.png);
	}
	#application .fvBox::after {
		width: 8.6rem;
		height: 5.4rem;
		position: absolute;
		left: 0;
		top: 25.7rem;
		background: url(img/application/bg02_sp.png) no-repeat left top / 100%;
		content: '';
	}
	#application .fvBox .innerBox {
		margin: 0 auto;
		padding: 8rem 1.5rem 2.8rem;
		width: auto;
		display: block;
		position: relative;
		z-index: 1;
	}
	#application .fvBox .innerBox .leftBox {
		width: auto;
	}
	#application .fvBox h2 {
		margin: 0 0 1.2rem;
		font-size: 2.7rem;
		letter-spacing: -0.05em;
		line-height: 1.42;
	}
	#application .fvBox h2 .sm {
		margin: 0 0.2rem 1.2rem;
		padding: 0.2rem 1.9rem 0.3rem;
		font-size: 1.2rem;
		letter-spacing: 0;
	}
	#application .fvBox p {
		margin: 0 0.9rem 5.8rem;
		max-width: initial;
		font-size: 1.4rem;
		line-height: 1.45;
	}
	#application .fvBox .appStore {
		margin: 0 1.2rem;
		display: block;
	}
	#application .fvBox .appStore li {
		margin-bottom: 0.7rem;
	}
	#application .fvBox .appStore li:last-child {
		margin-bottom: 0;
	}
	#application .fvBox .appStore img {
		height: 4.3rem;
	}
	#application .fvBox .img {
		margin: 0;
		width: 14.4rem;
		position: absolute;
		right: 2.8rem;
		bottom: 0;
	}
	#application .fvBox .img::before {
		display: none;
	}
	#application .topBox {
		margin-bottom: 7rem;
		display: block;
	}
	#application .topBox .photoBox {
		margin: 0 4.8rem 0 0;
		width: auto;
	}
	#application .topBox .photoBox img {
		min-height: initial;
		border-radius: 0 3.2rem 0 0;
	}
	#application .topBox .textBox {
		margin: -8.3rem 1.9rem 0 2.9rem;
	}
	#application .topBox .textBox p {
		font-size: 1.7rem;
		line-height: 2.25;
	}
	#application .topBox .textBox p span {
		padding: 0.2rem 0.7rem;
	}
	#application .comBox {
		padding: 5.3rem 3.2rem 4.8rem;
		width: auto;
	}
	#application .comBox .enTitle {
		width: auto;
		left: 3.1rem;
		top: -1.6rem;
	}
	#application .comBox .enTitle img {
		height: 3.3rem;
	}
	#application .comBox .inWrap {
		width: auto;
		max-width: initial;
		display: block;
	}
	#application .comBox .textBox {
		margin-bottom: 6.7rem;
		width: auto;
		max-width: initial;
	}
	#application .comBox .headLine01 {
		margin-bottom: 1.7rem;
		font-size: 1.8rem;
	}
	#application .comBox .headLine01 .lineTxt02 {
		margin: 0 0 0.9rem -0.3rem;
		padding: 0 0.2rem 0.3rem;
		font-size: 1.4rem;
	}
	#application .comBox .headLine01 .lineTxt02::after {
		margin-left: 0.9rem;
		transform: translateX(-50%) rotateY(180deg);
	}
	#application .comBox p {
		margin: 0;
		line-height: 1.7;
	}
	#application .comBox .photoBox {
		margin: 0;
		width: auto;
		gap: 2.3rem;
	}
	#application .comBox .photoBox .photo {
		width: auto;
	}
	#application .comBox .photoBox .photo img {
		margin-left: 1rem;
		width: 53.56%;
	}
	#application .comBox .photoBox .photo .img01,
	#application .comBox .photoBox .photo .img02 {
		width: 43%;
	}
	#application .comBox .photoBox .photo .img01 img,
	#application .comBox .photoBox .photo .img02 img {
		margin: 0;
		width: 100%;
	}
	#application .comBox .photoBox .photo .img01 {
		right: -0.3rem;
		top: -4.1rem;
	}
	#application .comBox .photoBox .photo .img02 {
		left: -0.6rem;
		bottom: 1.2rem;
	}
	#application .comBox .photoBox .movie {
		width: auto;
		flex: 1;
	}
	#application .comBox .photoBox .movie .redLine::before {
		display: none;
	}
	#application .comBox .photoBox .movie p {
		margin-top: 0.5rem;
		font-size: 1.4rem;
	}
	#application .comBox .photoBox .movie .sub video {
		border-radius: 4.26666vw;
		width: calc(100% - 8.6%);
		height: calc(100% - 4.249%);
		left: 4.3%;
		top: 1.77%;
	}
	#application .what {
		margin-bottom: 8.3rem;
	}
	#application .what .photoBox {
		padding-right: 0;
	}
	#application .contact {
		margin-bottom: 9.3rem;
		padding-bottom: 6.5rem;
	}
	#application .contact .textBox {
		margin-bottom: 5.8rem;
	}
	#application .contact .photoBox {
		margin: 0 -0.7rem 0 0.2rem;
	}
	#application .contact .headLine01 {
		margin-bottom: 2.1rem;
	}
	#application .function {
		margin-bottom: 2.7rem;
		padding: 4.5rem 0 5rem;
	}
	#application .function .content {
		width: auto;
	}
	#application .function .heading {
		margin-bottom: 3.2rem;
		font-size: 1.4rem;
		line-height: 1.7;
	}
	#application .function .heading .blue {
		margin-bottom: 1.6rem;
		font-size: 2rem;
		line-height: 1.45;
	}
	#application .function .heading .blue .sm {
		margin-bottom: 0.6rem;
		font-size: 1.4rem;
	}
	#application .function .imgList {
		margin: 0 auto;
		width: 87%;
		gap: 1.9rem 0;
		justify-content: space-between;
	}
	#application .function .imgList li {
		width: 45%;
	}
	#application .function .imgList li .photo.redLine::before {
		display: none;
	}
	#application .function .imgList li p {
		margin-top: 0.6rem;
		font-size: 1.4rem;
	}
	#application .download {
		margin: 0 2.2rem;
		padding: 3.8rem 2.4rem 5.2rem;
		width: auto;
	}
	#application .download .heading {
		margin: 0 -1.5rem 2.7rem;
		font-size: 2rem;
		font-family: inherit;
	}
	#application .download .subBox {
		display: block;
	}
	#application .download .subBox .photo01 {
		width: 8.6rem;
		margin: 0 auto 2.5rem;
	}
	#application .download .subBox .photo01 img {
		width: 100%;
		border-radius: 1rem;
	}
	#application .download .subBox .textBox {
		margin: 0 0 2.8rem;
		width: auto;
	}
	#application .download .subBox .textBox p {
		margin-bottom: 2.2rem;
		line-height: 1.72;
	}
	#application .download .subBox .textBox .storeList {
		margin: 0 -0.2rem 0 -1.8rem;
		gap: 1.3rem;
		text-align: center;
	}
	#application .download .subBox .textBox .storeList li {
		flex: 1;
		text-align: right;
	}
	#application .download .subBox .textBox .storeList li:nth-child(2) {
		text-align: left;
	}
	#application .download .subBox .textBox .storeList li a {
		display: inline-block;
	}
	#application .download .subBox .textBox .storeList li img {
		width: auto;
		height: auto;
		max-height: 4.3rem;
	}
	#application .download .subBox .photo02 {
		margin: 0 auto;
		width: 14.4rem;
	}
	#application .comPageBox {
		margin-top: 6.2rem;
	}
}
/*------------------------------------------------------------
	comAhrList
------------------------------------------------------------*/
.comAhrList {
	margin-bottom: 8.4rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem 5rem;
}
.comAhrList li {
	min-width: 29rem;
}
.comAhrList li a {
	padding: 0 0 1.9rem 10rem;
	min-height: 7.8rem;
	display: flex;
	align-items: center;
	position: relative;
	color: #0C419A;
	font-family: "Zen Maru Gothic", serif;
	font-size: 2.2rem;
	font-weight: 700;
	border-bottom: 0.2rem solid #C4C9D6;
	background: url(img/common/icon12.png) no-repeat left top / 6.2rem;
}
.comAhrList li a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 6.2rem;
	height: 6.2rem;
	transition: 0.3s;
	background: url(img/common/icon12_arrow.png) no-repeat left top / 100%;
}
@media all and (min-width: 897px) {
	.comAhrList li a:hover {
		border-color: #0C419A;
	}
	.comAhrList li a:hover::before {
		transform: rotate(90deg);
	}
}
@media all and (max-width: 896px) {
	.comAhrList {
		margin: 0 auto 3.2rem;
		width: 24.3rem;
		display: block;
	}
	.comAhrList li {
		min-width: initial;
	}
	.comAhrList li a {
		padding: 2.1rem 0 2.2rem 7rem;
		min-height: initial;
		justify-content: flex-start;
		font-size: 1.6rem;
		background-position: left top 1.2rem;
		background-size: 4.6rem;
	}
	.comAhrList li a::before {
		width: 4.6rem;
		height: 4.6rem;
		top: 1.2rem;
	}
}
/*------------------------------------------------------------
	concerns
------------------------------------------------------------*/
#concerns .pageTitle {
	margin-bottom: 9rem;
	width: 100%;
	height: 34.5rem;
	position: relative;
	background: url(img/concerns/page_title_bg.png) no-repeat center center / 100% 100%;
	mask: url(img/concerns/page_title_bg.png) no-repeat center center / 100% 100%;
}
#concerns .pageTitle .img {
	margin-left: -1.9rem;
	width: 72.8rem;
	position: absolute;
	left: 50%;
	bottom: 0.2rem;
	transform: translateX(-50%);
	user-select: none;
	pointer-events: none;
}
#concerns .content01 {
	width: 137.6rem;
	max-width: calc(100% - 6.4rem);
}
#concerns .itemBox {
	margin-bottom: 5.5rem;
	padding: 7.6rem 3rem 8.9rem;
	background: #D3EEFF;
}
#concerns .innerWrap {
	margin: 0 auto;
	width: 120.5rem;
	max-width: 100%;
}
#concerns .ttlBox {
	margin: 0 1.8rem 6.8rem;
	display: flex;
	gap: 1.1rem;
}
#concerns .ttlBox .heading {
	margin-top: -0.3rem;
	width: 29%;
	color: #0C419A;
	font-size: 3.2rem;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	line-height: 1.1;
}
#concerns .ttlBox p {
	max-width: 69rem;
	font-weight: 500;
	line-height: 1.62;
}
#concerns .imgList > li {
	margin-bottom: 3.5rem;
	padding: 2.9rem 2.5rem 2.6rem;
	background: #fff;
	border-radius: 1rem;
}
#concerns .imgList > li:last-child {
	margin-bottom: 0;
}
#concerns .subWrap {
	margin: 0 auto;
	width: 94.1rem;
	max-width: 100%;
}
#concerns .before {
	margin-bottom: 7.1rem;
	display: flex;
}
#concerns .phoBox {
	margin-right: 3.4rem;
	width: 23%;
	min-width: 15.7rem;
	text-align: center;
}
#concerns .phoBox img {
	width: 15.7rem;
}
#concerns .textBox {
	margin: 1rem 3rem 0 0;
	position: relative;
	flex: 1;
}
#concerns .mark {
	margin-bottom: 0.7rem;
	padding: 0.4rem 1rem;
	width: 20.5rem;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-size: 2rem;
	color: #fff;
	border-radius: 5rem;
	background: linear-gradient(270deg, #1696E7 0%, #1570CB 65.61%);
}
#concerns .ttl {
	margin-bottom: 0.8rem;
	color: #0C419A;
	font-size: 2.4rem;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	line-height: 1.4;
}
#concerns .ttl01 {
	font-size: 2.6rem;
}
#concerns .text {
	font-weight: 500;
	line-height: 1.6;
}
#concerns .after {
	padding-bottom: 1.7rem;
	display: flex;
	border-radius: 1rem;
	background: #EDF8FF;
}
#concerns .after .phoBox {
	margin: 3.2rem 1rem 0 0;
	width: 26%;
}
#concerns .after .phoBox img {
	width: 10rem;
}
#concerns .after .phoBox .txt {
	margin-top: 0.6rem;
	display: block;
	color: #0C419A;
	font-size: 2rem;
	font-weight: 700;
}
#concerns .after .mark {
	position: absolute;
	left: 0;
	top: -2.9rem;
	background: linear-gradient(90deg, #F61C62 0%, #F55CAC 100%);
}
#concerns .after .mark::before {
	margin-left: 0.2rem;
	width: 0;
	height: 0;
	position: absolute;
	left: 50%;
	top: -3.5rem;
	transform: translateX(-50%);
	border-top: 2.5rem solid #0C419A;
	border-left: 2rem solid transparent;
	border-right: 2rem solid transparent;
	box-sizing: border-box;
	content: '';
}
#concerns .after .textBox {
	padding-top: 2.3rem;
	margin-right: 8.4rem;
}
#concerns .after .text {
	font-size: 1.6rem;
	line-height: 1.7;
}
#concerns .after .text.sml {
	font-size: 1.5rem;
}
#concerns .after .text01 {
	font-size: 1.6rem;
	line-height: 1.6;
}
#concerns .item02 {
	background: #F8DDE9;
}
#concerns .item02 .after {
	background: #FEEEF5;
}
#concerns .item03 {
	margin-bottom: 11.8rem;
	background: #FFF6A3;
}
#concerns .item03 .after {
	background: #FFFACE;
}
#concerns .item03 .comNote {
	margin: 1rem 0 -1rem;
	font-size: 1.2rem;
}
#concerns .btmText {
	text-align: center;
	color: #0C419A;
	font-family: "Zen Maru Gothic", serif;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
}
#concerns .comPageBox {
	margin-top: 16.5rem;
}
@media all and (max-width: 896px) {
	#concerns .pageTitle {
		margin-bottom: 2rem;
		padding-top: 6.9rem;
		height: 28.6rem;
		background: url(img/concerns/page_title_bg_sp.png) no-repeat center center / 100% 100%;
		mask: url(img/concerns/page_title_bg_sp.png) no-repeat center center / 100% 100%;
	}
	#concerns .pageTitle .img {
		margin-left: -0.4rem;
		width: 28.1rem;
		bottom: -0.1rem;
	}
	#concerns .content01 {
		margin: 0;
		width: auto;
		max-width: initial;
	}
	#concerns .itemBox {
		margin-bottom: 4rem;
		padding: 4.8rem 1.4rem 4rem;
	}
	#concerns .innerWrap {
		width: auto;
		max-width: initial;
	}
	#concerns .ttlBox {
		margin: 0 2.8rem 2.0rem;
		display: block;
	}
	#concerns .ttlBox .heading {
		margin: 0 0 2.8rem;
		width: auto;
		text-align: center;
		font-size: 2rem;
	}
	#concerns .ttlBox p {
		max-width: initial;
		font-size: 1.4rem;
		line-height: 1.72;
	}
	#concerns .imgList > li {
		margin-bottom: 1.8rem;
		padding: 2.5rem 1.8rem 3rem;
	}
	#concerns .imgList > li:last-child {
		margin-bottom: 0;
	}
	#concerns .subWrap {
		width: auto;
	}
	#concerns .before {
		margin: 0 1.9rem 8.3rem;
		display: block;
	}
	#concerns .phoBox {
		margin: 0 0 1.8rem;
		width: auto;
		min-width: initial;
	}
	#concerns .textBox {
		margin: 0;
		position: static;
	}
	#concerns .mark {
		margin: 0 auto 0.8rem;
		padding: 0.2rem 1rem 0.3rem;
		width: 17.9rem;
		font-size: 1.84rem;
	}
	#concerns .ttl {
		margin-bottom: 1.5rem;
		font-size: 2rem;
		text-align: center;
		line-height: 1.45;
	}
	#concerns .ttl01 {
		font-size: 2rem;
	}
	#concerns .text {
		text-align: justify;
		font-size: 1.4rem;
		line-height: 1.71;
	}
	#concerns .after {
		padding-bottom: 1.7rem;
		padding: 4.2rem 2rem 2.4rem;
		display: block;
		position: relative;
	}
	#concerns .after .phoBox {
		margin: 0 0 2.3rem;
		width: auto;
	}
	#concerns .after .phoBox .txt {
		margin-top: 0.4rem;
		font-size: 1.6rem;
	}
	#concerns .after .mark {
		margin: 0;
		left: 50%;
		transform: translateX(-50%);
		top: -1.3rem;
	}
	#concerns .after .mark::before {
		margin-left: 0;
		top: -4.1rem;
		border-top:1.9rem solid #0C419A;
		border-left: 1.5rem solid transparent;
		border-right: 1.5rem solid transparent;
	}
	#concerns .after .textBox {
		padding: 0;
		margin: 0;
	}
	#concerns .after .ttl {
		margin-bottom: 0.6rem;
		font-size: 1.8rem;
		font-family: inherit;
	}
	#concerns .after .text {
		margin: 0 1rem;
		font-size: 1.4rem;
		line-height: 1.71;
	}
	#concerns .after .text01 {
		font-size: 1.4rem;
		line-height: 1.71;
	}
	#concerns .item03 {
		margin-bottom: 6rem;
	}
	#concerns .btmText {
		margin: 0 2rem;
		font-size: 2rem;
	}
	#concerns .comPageBox {
		margin-top: 6rem;
	}
}
/* fixedBanner */
.fixedBanner {
	width: 32rem;
	position: fixed;
	right: 2.7rem;
	bottom: 0;
	z-index: 555;
}
.fixedBanner a {
	display: block;
}
@media all and (min-width: 897px) {
	.fixedBanner a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.fixedBanner {
		width: 22.8rem;
		right: 0.7rem;
	}
}
.comLightTxt {
	background: linear-gradient(to bottom,transparent 60%,#FFF6A3 40%);
}
.popBox {
	margin: 0 auto;
	width: 72rem;
}
.popBox .popInn {
	margin: 0 auto 2.4rem;
	height: 60rem;
	max-height: calc(100vh - 10rem);
	padding: 3.9rem 5.5rem;
	width: 72rem;
	border-radius: 1rem;
	background: #FFF;
	position: relative;
	box-shadow: 0 0.3rem 1rem 0.2rem rgba(151, 187, 207, 0.20);
}
.popBox .popInn .posTxt {
	padding: 0.1rem 1rem;
	position: absolute;
	right: 5.6rem;
	top: 3.4rem;
	width: fit-content;
	color: #0C419A;
	text-align: center;
	font-size: 1.4rem;
	border-radius: 1.8rem;
	border: 1px solid #0C419A;
	background: #FFED4F;
}
.popBox .closeBtn {
	margin: 0 auto;
	width: 20rem;
	height: 5.6rem;
	border-radius: 10rem;
	background: #fff;
	display: flex;
	align-items: center;
	cursor: pointer;
}
.popBox .closeBtn span {
	margin: 0 auto;
	padding: 0.2rem 3.2rem 0.2rem 1.5rem;
	width: fit-content;
	display: block;
	color: #0C419A;
	font-size: 1.4rem;
	font-weight: 700;
	background: url(img/common/close_icon.png) no-repeat right center / 2.5rem;
}
.popBox .imgBox01 {
	margin-bottom: 4.7rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.popBox .imgBox01.spec {
	margin-bottom: 7.2rem;
}
.popBox .imgBox01 .headLine01 {
	margin:4.2rem 0 0;
	gap:2.3rem;
	flex: 1;
	display: flex;
	line-height: 1.2;
	align-items: center;
	font-size: 3.3rem;
}
.popBox .imgBox01 .headLine01 .img {
	width: fit-content;
	height: 8.3rem;
}
.popBox .imgBox01 .headLine01 .img img {
	width: auto;
	height: 100%;
}
.popBox .imgBox01 .headLine01 .txt {
	flex: 1;
	display: block;
	text-align: left;
}
.popBox .imgBox01 .photo {
	width: fit-content;
	border-radius: 1.8rem;
	border: 0.8rem solid #5FC3E4;
	background: #FFF;
}
.popBox .imgBox01 .photo img {
	width: 25.8rem;
}
.popBox .headLine01 .lineTxt02 {
	margin: -0.4rem 0 0.8rem;
	padding-bottom: 0.6rem;
	font-size: 1.4896rem;
	color: #1B1B1B;
	background-size: auto 1.2rem;
	display: block;
	width: fit-content;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.popBox .headLine01 .lineTxt02::after {
	width: 1.8rem;
	height: 1.6rem;
	bottom: -1.1rem;
}
.popBox .imgBox02 {
	display: flex;
	justify-content: space-between;
}
.popBox .imgBox02 .txtBox {
	flex: 1;
}
.popBox .imgBox02 .txtBox p {
	margin-bottom: 3.2rem;
	font-size: 1.4rem;
	line-height: 1.571;
}
.popBox .imgBox02 .txtBox p:last-of-type {
	margin-bottom: 0;
}
.popBox .imgBox02 h4 {
	margin-bottom: 1rem;
	color: #0C419A;
	font-size: 1.8rem;
	font-style: normal;
	font-weight: 700;
	line-height: 1.222;
}
.popBox .imgBox02 .photo {
	margin: -1.5rem -3.4rem 0 4rem;
	width: 36.1rem;
}
.mfp-bg {
	opacity: 0.6;
	background: linear-gradient(270deg, #1696E7 0%, #1570CB 65.61%);
}
.popBox .simplebar-track {
	right: 1.2rem;
	background: #E7E7E7;
}
.popBox .simplebar-scrollbar {
	background: #737373;
	border-radius: 0.5rem;
}
.popBox .simplebar-track.simplebar-vertical {
	width: 0.5rem;
	top: 0.8rem;
	bottom: 0.8rem;
	border-radius: 0.5rem;
}
.popBox .simplebar-scrollbar::before {
	background: none;
}
.popBox  .popInn ::-webkit-scrollbar {
    display: none;
}
.mfp-container {
	overflow: auto;
}
@media all and (max-width: 896px) {
	.popBox .popInn {
		padding: 3.5rem 1.5rem;
		width: 100%;
		height: auto;
		max-height: calc(100svh - 15rem);
	}
	.mfp-container {
        padding: 5rem 0.6rem;
	}
	.popBox .imgBox01 .headLine01 {
		margin: 0 0 1rem;
	}
	.popBox {
		width: 100%;
	}
	.popBox .imgBox01 {
		margin-bottom: 3rem;
		display: block;
	}
	.popBox .imgBox01 .headLine01 .img {
		height: 7.3rem;
	}
	.popBox .imgBox01 .headLine01 {
		font-size: 2.5rem;
		gap: 1.8rem;
	}
	.popBox .imgBox01 .photo {
		margin: 0 auto;
	}
	.popBox .imgBox02 h4 {
		font-size: 1.7rem;
	}
	.popBox .imgBox02 {
		display: block;
	}
	.popBox .imgBox02 .photo {
		margin: 1rem auto 0;
		width: 100%;
	}
	.popBox .imgBox01.spec {
		margin-bottom: 4.2rem;
	}
}
/* readMore */
.readMore {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 2.8rem;
}
.readMore a {
	margin: 0 auto;
	padding: 0.2rem 3.2rem 0.2rem 1.5rem;
	width: fit-content;
	display: block;
	color: #0C419A;
	font-size: 1.4rem;
	font-weight: 700;
	background: url(img/common/open_icon.png) no-repeat right center / 2.5rem;
}
.readMore.close a {
	background-image: url(img/common/close_icon.png);
}
@media all and (min-width: 897px) {
	.popBox .closeBtn:hover,
	.readMore a:hover {
		opacity: 0.7;
	}

}
@media all and (max-width: 896px) {

}
@media all and (max-width: 896px) {

}
@media all and (max-width: 896px) {

}



/*------------------------------------------------------------
    support
------------------------------------------------------------*/
#support .supportBox {
    margin: 0 0 10rem;
}
#support .supportBox .textBox .ttl {
    margin-bottom: 1.1rem;
    color: #0C419A;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 1.45;
}
#support .comUseBox .comBtn a {
    padding: 1.6rem 1rem;
    width: 23rem;
    color: #fff;
	box-sizing: border-box;
	border: 1px solid transparent;
    background: url(img/common/icon13.png) no-repeat right 2rem center / 0.5rem, linear-gradient(90deg, #227CF9 0%, #0F50BD 100%);
    box-shadow: 0rem 0rem 0.8rem rgba(12, 65, 153, 0.50);
}
#support .faqBox .heading {
    margin: 0 1.8rem 2.2rem;
    font-size: 2rem;
    font-weight: 700;
    font-family: "Zen Maru Gothic", serif;
    color: #0C419A;
}

#support .comUseBox .list p {
	margin-bottom: 2.2rem;
	height: auto !important;
}
#support .comUseBox .list dl {
	font-size: 1.4rem;
	line-height: 1.55;
	font-weight: 500;
}
#support .comUseBox .list dt {
	font-weight: 700;
}
@media all and (min-width: 897px) {
	#support .comFaq .faq dd {
		line-height: 2.133;
	}
    #support .pageTitle {
        margin-bottom: 6.5rem;
    }
    #support .supportBox .photo {
        width: 50.2rem;
    }
    #support .supportBox .textBox {
        width: 51rem;
        margin: 9.3rem 5.3rem 0 6rem;
    }
    #support .supportBox .textBox p {
        line-height: 2.06;
    }
    #support .comUseBox .content {
        max-width: 124.2rem;
    }
    #support .comUseBox .headLine01 {
        margin-bottom: 3.6rem;
    }
    #support .headLine01.spec .lineTxt02 {
        margin-bottom: 1.3rem;
        padding: 0 2.6rem 1rem;
        background-size: auto 2.2rem;
    }
    #support .comUseBox .list {
        margin-bottom: 18.3rem;
        gap: 2.2rem;
    }
    #support .comUseBox .list li {
    	padding-bottom: 3.1rem;
        width: calc((100% - 6.6rem) / 4);
        border-radius: 0;
    }
    #support .comUseBox .list .img {
        margin-bottom: 3.5rem;
    }
    #support .comUseBox .list .img img {
        width: 16.4rem;
    }
    #support .comUseBox .list h3 {
        margin-bottom: 1.6rem;
    }
    #support .comUseBox .list p {
        line-height: 1.57;
    }
	#support .comUseBox .comBtn {
		margin-top: 5.7rem;
	}
    #support .faqBox .content {
        max-width: 98rem;
    }
    #support .comPageBox {
        margin-top: 16.9rem;
    }
	#support .comUseBox .comBtn a:hover {
		color: #0F50BD;
		border: 1px solid currentColor;
		background: url(img/support/arrow_icon02.png) no-repeat right 2rem center / 0.5rem,#fff;
    }
	#support .comFaq .faq dt .ttl {
        padding-right: 6rem;
    }
	#support .comFaq .faq dd a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
    #support .supportBox {
        margin-bottom: 5rem;
    }
    #support .supportBox .textBox .ttl {
        font-size: 2.2rem;
    }
    #support .comUseBox .comBtn {
        margin-top: 1rem;
    }
    #support .comUseBox .comBtn a {
        padding: 1.2rem;
        max-width: 100%;
		border: none;
        background: url(img/common/icon13.png) no-repeat right 1.5rem center / 0.5rem, linear-gradient(90deg, #227CF9 0%, #0F50BD 100%);
    }
    #support .faqBox .heading {
        font-size: 1.8rem;
    }
}

/*------------------------------------------------------------
	fadeInUp
------------------------------------------------------------*/
.fadeIn {
	opacity: 0;
    transition: all ease 0.7s;
	transition-delay: 0.5s;
}
.fadeIn.on {
	opacity: 1;
}
.fadeScale {
	opacity: 0;
    transition: all ease .3s;
	transform: scale(0);
	transition-delay: 0.5s;
}
.fadeScale.on {
	opacity: 1;
	transform: scale(1);
}
.fadeInUp {
	opacity: 0;
    transform: translateY(40px);
    transition: all ease .5s;
}
.fadeInUp.on {
	opacity: 1;
    transform: none;
}
.delay1 {
	transition-delay: 0.5s;
}
.delay2 {
	transition-delay: 1s;
}
.delay3 {
	transition-delay: 1.5s;
}
.delay4 {
	transition-delay: 2s;
}

/*------------------------------------------------------------
	flow
------------------------------------------------------------*/
#flow .headLine01 {
	margin: 0 auto 3.5rem;
	width: fit-content;
	font-size: 3.2rem;
}
#flow .headLine01 .num {
	margin-left: 0.2rem;
	font-size: 7.4rem;
	line-height: 1;
	vertical-align: bottom;
}
#flow .headLine01 small {
	font-size: 2.4rem;
}
#flow .headLine01 .fs1 {
	margin-bottom: -1.2rem;
	display: block;
	font-size: 3rem;
}
#flow .stepBox {
	margin-bottom: 10rem;
}
#flow .stepBox .headLine01 {
	padding: 0 0.2rem 0.6rem 1rem;
	border-bottom: 0.4rem solid #FFF;
}
#flow .flowBox {
	margin: 0 5.1rem;
	padding: 4.5rem 0 6rem;
	background: #D3EEFF;
}
#flow .flowList {
	margin: 0 auto;
	display: flex;
	max-width: 101.6rem;
	gap: 2.2rem;
	counter-reset: num;
	flex-wrap: wrap;
}
#flow .flowList > li {
	padding: 0.8rem 0.8rem 2.6rem;
	width: calc((100% - 6.6rem) / 4);
	counter-increment: num;
	background-color: #FFF;
	border-radius: 1.8rem;
	position: relative;
}
#flow .flowList .img {
	margin-bottom: 1.5rem;
	border-radius: 1.7rem;
	overflow: hidden;
}
#flow .flowList .img img {
	width: 100%;
}
#flow .flowList .title {
	margin-bottom: 1.6rem;
	min-height: 5.2rem;
	display: flex;
	color: #0C419A;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.3;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
#flow .flowList .title::before {
	width: 6.5rem;
	content: counter(num);
	color: #0C419A;
	text-align: center;
	font-size: 5rem;
	font-weight: 700;
	line-height: 1;
	opacity: 0.5;
	transform: translateY(-0.8rem);
}
#flow .flowList .title small {
	font-size: 1.1rem;
}
#flow .flowList p {
	margin: 0 1rem 1.2rem 2rem;
	line-height: 1.6;
}
#flow .flowList .tag {
	margin-bottom: 0.7rem;
	padding: 0.1rem 0.2rem 0.1rem;
	display: block;
	width: 8rem;
	color: #0C419A;
	font-size: 1.2rem;
	line-height: 1.3;
	text-align: center;
	border-radius: 10rem;
	border: 1px solid #0C419A;
}
#flow .flowList .comBtn02 {
	margin: 0 1.6rem;
}
#flow .flowList .comBtn02 a {
	width: 100%;
	height: 4.6rem;
	font-size: 1.4rem;
}
#flow .flowList .comBtn02 a span {
	padding: 0.5rem 2rem;
}
#flow .flowList .comBtn02 a::before {
	right: 1.8rem;
	width: 0.3rem;
	height: 0.3rem;
}
#flow .flowList .iconBtn {
	width: 4.6rem;
	aspect-ratio: 1/1;	
	position: absolute;
	left: 50%;
	top: 100%;
	content: '';
	background-color: #FFF;
	border: 0.1rem solid #0C419A;
	box-shadow: 0rem 0rem 0.8rem rgba(12, 65, 153, 0.50);
	transform: translate(-50%,-50%);
	border-radius: 100%;
	z-index: 3;
	font-size: 0;
	cursor: pointer;
}
#flow .flowList .iconBtn:before,
#flow .flowList .iconBtn:after {
    position: absolute;
    right: 1.4rem;
    top: 50%;
    width: 1.7rem;
    height: 0.2rem;
    background-color: #0C419A;
    transition: all .3s ease;
    content: "";
    z-index: 2;
	border-radius: 0.2rem;
}
#flow .flowList .iconBtn:after {
    transform: rotate(90deg);
}
#flow .flowList .iconBtn.on:after {
    transform: rotate(180deg);
    opacity: 0;
}
#flow .flowList .subBox {
	padding: 3rem 1.5rem 3rem 2rem;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	content: '';
	background-color: #FFF;
	border: 0.1rem solid #0C419A;
	border-radius: 2rem;
	z-index: 2;
	overflow-y: auto;
	display: none;
}
#flow .flowList .subBox .title::before {
	width: 4.4rem;
	text-align: left;
}
#flow .flowList .txtList {
	margin: -0.2rem 0 1.8rem 0;
	font-size: 1.4rem;
	line-height: 1.57;
}
#flow .flowList .txtList:last-child {
	margin-bottom: 0;
}
#flow .flowList .txtList li {
	position: relative;
}
#flow .flowList .txtList li::before {
	position: absolute;
	left: -1.2rem;
	top: 1rem;
	content: '';
	width: 0.3rem;
	height: 0.3rem;
	content: '';
	background-color: #1B1B1B;
}
#flow .flowList .txtList .col {
	color: #0C419A;
}
#flow .flowList .subBox .comBtn02  {
	max-width: 19.7rem;
	width: 100%;
	margin: 0;
}
#flow .stepBox01 .flowList .title {
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.4;
}
#flow .stepBox01 .flowList .title small {
	display: block;
	margin-top: 0.5rem;
}
#flow .stepBox01 .flowList .img {
	margin: 0 auto 1.5rem;
	width: 15.8rem;
}
#flow .flowBox .note {
	margin: 0 auto;
	max-width: 111.6rem;
	padding-left: 1.4rem;
	text-indent: -1.4rem;
}
#flow .faqBox {
	padding: 10.4rem 0 16.8rem;
	margin-top: 11.3rem;
	background: #D3EEFF;
}
#flow .faqBox .content {
	max-width: 98rem;
}
#flow .faqBox .headLine01 {
	margin-bottom: 10.7rem;
}
#flow .faqBox .head {
	margin: 0 1.8rem 1.6rem;
	color: #0C419A;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	font-family: "Zen Maru Gothic", serif;
}
#flow .faqBox section:not(:last-child) {
	margin-bottom: 9.1rem;
}
#flow .comFaq .faq dd {
	padding-top: 0.4rem;
}

#flow .stepBox .comBtnBox {
	margin-bottom: 5rem;
}
@media all and (min-width: 897px) {
	#flow .stepBox .comBtnBox {
		margin: -2.2rem 0 9rem;
	}
	#flow .stepBox .comBtnBox p {
		margin-bottom: 3.5rem;
	}
}
@media all and (min-width: 897px)  {
	#flow .pageTitle {
		margin-bottom: 10.8rem;
	}
	#flow .stepBox01 .flowBox {
		padding: 5.5rem 0 3.9rem;
	}
	#flow .stepBox01 .flowList {
		margin-bottom: 2.5rem;
		max-width: 118rem;
	}
	#flow .stepBox01 .flowList > li {
		padding: 2.5rem 0.8rem 0.8rem;
	}
	#flow .stepBox01 .flowList p:last-child {
		margin-bottom: 0;
	}
	#flow .flowList .subBox a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#flow .flowList .subBox .comBtn02  {
		max-width: inherit;
	}
	#flow .headLine01 {
		margin-bottom: 3rem;
   		font-size: 2.2rem;
	}
	#flow .headLine01 .num {
		font-size: 5rem;
	}
	#flow .stepBox {
		margin-bottom: 5rem;
	}
	#flow .flowBox {
		margin: 0 1rem;
		padding: 2rem 1.3rem 6rem;
	}
	#flow .flowList {
		gap: 3rem;
	}
	#flow .flowList > li {
		width: 100%;
	}
	#flow .flowList .comBtn02 {
		margin: 0 auto 1rem;
	}
	#flow .stepBox01 .flowList > li {
		padding-top: 2rem;
	}
	#flow .flowBox .note {
		margin: 2rem 1rem 0;
	}
	#flow .faqBox {
		margin-top: 8rem;
		padding: 6rem 0 8rem;
	}
	#flow .faqBox .headLine01 {
		margin-bottom: 5rem;
	}
}


/*------------------------------------------------------------
	hoiku
------------------------------------------------------------*/
#hoiku {
	margin-bottom: 15.6rem
}
#hoiku .featuresBox {
	margin-bottom: 10.9rem;
}
#hoiku .challengeBox {
	padding-top: 4.5rem;
	padding-bottom: 1px;
	overflow: hidden;
}
#hoiku .challengeBox .content {
	max-width: 128rem;
}
#hoiku .challengeBox .headLine01 {
	margin-bottom: 3.8rem;
	font-size: 3.2rem;
}
#hoiku .challengeBox .headLine01 img {
	width: 7.1rem;
	display: block;
	margin: 0 auto 0.6rem;
}
#hoiku .challengeBox .listUl {
	display: flex;
	font-size: 1.4rem;
	line-height: 1.71;
	font-weight: 500;
}
#hoiku .challengeBox .listUl li {
	width: 41.3rem;
	background: #FFF;
	margin: 0 1rem;
	padding: 2.7rem 3.6rem 2.3rem;
}
#hoiku .challengeBox .listUl li:last-child {
	margin-right: 0 !important;
}
#hoiku .challengeBox .listUl .headLine01 {
	margin-bottom: 1.4rem;
	font-size: 2.4rem;
	text-align: left;
	line-height: 1.4;
}
#hoiku .challengeBox .innerBox {
	padding: 0 1.8rem 4.2rem;
	overflow: visible;
}
#hoiku .challengeBox .listUl .comLink {
	margin-top: 0.4rem;
}
#hoiku .challengeBox .comSlideBox {
	margin: 0 -2.7rem;
	position: relative;
	padding-bottom: 0;
	margin-bottom: 0;
}
#hoiku .challengeBox .comSlideBox .bar {
	width: calc(100% - 5rem);
	height: 1px;
	position: absolute;
	bottom: 3.2rem;
	left: 3.5rem;
	background: #959595;
	content: "";
}
#hoiku .challengeBox .comSlideBox .bar span {
	width: 20%;
	height: 1px;
	background-color: #0C419A;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#hoiku .challengeBox .comSlideBox .bar .swiper-scrollbar-drag {
	background: #0C419A;
	height: 1px !important;
	top: 0;
	z-index: 10;
}
#hoiku .challengeBox .comSlideBox .arrowUl {
	bottom: 0;
	right: -3.4rem;
	z-index: 60;
}
#hoiku .comSwiper .comList02,
#hoiku .comSwiper .comList03 {
	flex-wrap: inherit;
}
#hoiku .comVisual .head .lable {
	display: inline-block;
	vertical-align: top;
	border: 1px solid #fff;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.7rem 1.5rem 1rem 1.1rem;
	border-radius: 5rem;
	margin-left: -1.1rem;
}
#hoiku .comVisual .ttlBox {
	margin: 2px -5.2rem 0 0;
}
#hoiku .comVisual .head .sml {
	font-size: 2.4rem;
	margin: -0.5rem 0 0.9rem 0;
}
#hoiku .comVisual .head {
	font-size: 4rem;
	margin-bottom: 2.2rem;
}
#hoiku .comVisual .imgBox {
	margin: 0 auto;
	max-width: 120.4rem;
	position: relative;
	justify-content: flex-start;
}
#hoiku .comVisual .mainImg {
	width: 63.7rem;
	position: absolute;
	top: -7.9rem;
	right: -1.2rem;
}
#hoiku .comVisual .image {
	margin-left: -2rem;
	width: 48.3rem;
}
#hoiku .comVisual::after {
	height: 45.7rem;
	box-shadow: none;
}
#hoiku .comVisual .textImg {
	margin: 6.8rem auto 0;
	max-width: 123rem;
}
#hoiku .comVisual .textImg img {
	width: 60rem;
}
#hoiku .comVisual::before {
	height: 42rem;
	background: linear-gradient(0deg, #0464FF 31%, #002FD9 100%);
}
#hoiku .comVisual .posImg03 {
	width: 16.1rem;
	right: -3.3rem;
	bottom: 16.2rem;
}
#hoiku .comVisual .posImg01 {
	right: -37.2rem;
	top: 8.8rem;
	width: 98.8rem;
}
#hoiku .comVisual {
	padding-bottom: 6.2rem;
}
#hoiku .parentsBox .comTalkBox {
	max-width: 108rem;
}
#hoiku .parentsBox {
	margin-bottom: 13.9rem;
}


@media all and (min-width: 1440px) {
	#hoiku .comVisual::after {
		width: 79.75vw;
		right: calc(50% - 22rem);
	}
}

@media all and (min-width: 897px) {
    #hoiku .comVisual .posImg02 {
        width: 80rem;
        left: -13.6rem;
        bottom: -4.4rem;
    }
}
@media all and (max-width: 896px) {
	#hoiku {
		margin-bottom: 8rem
	}
	#hoiku .comVisual .posImg02 {
		left: -4.9rem;
		bottom: -5.6rem;
		width: 12.2rem;
	  }
	#hoiku .challengeBox .headLine01 {
		font-size: 2rem;
		margin-bottom: 3.6rem;
	}
	#hoiku .challengeBox {
		padding-top: 6rem;
	}
	#hoiku .challengeBox .headLine01 img {
		width: 5.3rem;
		margin: 0 auto 1.1rem;
	}
	#hoiku .challengeBox .innerBox {
		margin: 0 -4rem 0 0;
		padding-bottom: 5rem;
		padding-right: 0;
		padding-left: 0;
	}
	#hoiku .challengeBox .listUl li {
		margin-left: 0;
		width: 29.5rem;
		margin-right: 1.4rem;
		padding: 2.4rem 2.8rem;
	}
	#hoiku .challengeBox .listUl .headLine01 {
		font-size: 1.6rem;
		margin-bottom: 0.8rem;
	}
	#hoiku .challengeBox .listUl {
		line-height: 1.64;
	}
	#hoiku .challengeBox .comSlideBox .arrowUl {
		bottom: 0.9rem;
		right: 4rem;
		width: auto;
		position: absolute;
	}
	#hoiku .challengeBox .comSlideBox {
		padding-bottom: 0;
		margin: 0;
	}
	#hoiku .challengeBox .content {
		margin: 0 4rem;
	}
	#hoiku .challengeBox .comSlideBox .bar {
		left: 0;
		width: calc(100% - 4rem);
	}
	#hoiku .comVisual .mainImg {
		width: 36.6rem;
		top: -6.4rem;
		right: -12.7rem;
		margin: 0;
	}
	#hoiku .comVisual {
		padding: 8rem 2.5rem 1.9rem;
	}
	#hoiku .comVisual .posImg03 {
		width: 11.8rem;
		right: 10.8rem;
		bottom: 5.5rem;
	}
	#hoiku .comVisual .head .lable {
		font-size: 1.2rem;
		padding: 0.4rem 1.1rem 0.6rem;
		margin: 0 0 1.7rem -0.8rem;
	}
	#hoiku .comVisual .ttlBox {
		margin: 0;
		position: relative;
		z-index: 10;
	}
	#hoiku .comVisual .head .sml {
		font-size: 1.4rem;
		margin: 0 0 0.8rem;
	}
	#hoiku .comVisual .head {
		font-size: 2.7rem;
		margin-bottom: 2.2rem;
	}
	#hoiku .comVisual .image {
		margin: 4.7rem -1rem 0;
		width: auto;
		text-align: center;
	}
	#hoiku .comVisual .image img {
		width: 100%;
		max-width: 34.5rem;
	}
	#hoiku .comVisual::after {
		height: 31.4rem;
		width: 180vw;
	}
	#hoiku .comVisual .posImg01 {
		right: -15.2rem;
		top: 3.8rem;
		width: 35.8rem;
		z-index: 3;
	}
	#hoiku .comVisual .textImg {
		margin: 5.2rem -1rem 0;
		max-width: inherit;
		text-align: center;
	}
	#hoiku .comVisual .textImg img {
		max-width: 34.5rem;
		width: 100%;
	}
	#hoiku .comVisual .imgBox {
		max-width: 86.666vw;
	}
}
/*------------------------------------------------------------
	price
------------------------------------------------------------*/
#price .topBox {
	margin-bottom: 6.5rem;
}
#price .topBox .headLine01 {
	margin-bottom: 1.2rem;
	font-size: 4rem;
}
#price .topBox .headLine01 .lineTxt02 {
	padding: 0.1rem 0 1rem;
	margin: 3.2rem 0 0;
	font-size: 2.4rem;
}
#price .topBox .img {
	margin: 0 auto;
	width: 62.7rem;
	text-align: center;
}
#price .topBox .img img {
	width: 100%;
}
#price .pricaTab {
	margin: 0 3.2rem 17.4rem;
	padding: 4.7rem 4rem 10.5rem;
	background: #D3EEFF;
}
#price .pricaTab .headLine01 {
	margin-bottom: 5.1rem;
	font-size: 3.2rem;
}
#price .pricaTab .midTxt {
	margin-bottom: 1.3rem;
	color: #0C419A;
	text-align: center;
	font-size: 1.9rem;
	font-weight: 500;
	line-height: 1.68;
}
#price .pricaTab .comBtn {
	margin: 0 auto 5.3rem;
	text-align: center;
}
#price .pricaTab .comBtn a {
	padding: 1.2rem 1.5rem;
}
#price .pricaTab .content {
	max-width: 108.6rem;
}
#price .pricaTab .tabInner {
	border-radius: 1rem 1rem 0 0;
	overflow: hidden;
}
#price .pricaTab .head {
	padding: 1rem 20rem;
	position: relative;
	text-align: center;
	color: #FFF;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	background: linear-gradient(0deg, #1696E7 0%, #1570CB 100%);
}
#price .pricaTab .head .subTtl {
	position: absolute;
	right: 4.4rem;
	top: 50%;
	transform: translateY(-50%);
}
#price .pricaTab .scrollBox {
	padding: 3.4rem 2.7rem 0.9rem;	
	background-color: #FFF;
	border-radius: 0 0 2rem 2rem;
	position: relative;
}
#price .pricaTab .scrollBox .inner {
	padding-right: 1.4rem;
	height: 73.3rem;
}
#price .pricaTab .scrollBox .comNote {
	margin: 0.5rem 1.7rem 0;
}
#price .pricaTab  .scrollBox .inner ::-webkit-scrollbar {
    display: none;
}
#price .pricaTab .sub {
	margin-bottom: 2.3rem;
	border-radius: 0.77rem;
	border: 0.1rem solid #0C419A;
}
#price .pricaTab .sub:last-child {
	margin-bottom: 0;
}
#price .pricaTab .title {
	padding: 0.5rem 0 0 0.8rem;
	color: #1696E6;
	font-size: 2.9306rem;
	font-weight: 700;
	border-right: 0.1rem solid #0C419A;
	flex-shrink: 0;
	font-family: "Zen Maru Gothic", serif;
}
#price .pricaTab .title small {
	margin-top: -0.3rem;
	display: block;
	font-size: 2.1594rem;
}
#price .priceList li {
	position: relative;
}
#price .priceList li::after {
	position: absolute;
	left: calc(100% + 0.9rem);
	top: 50%;
	content: '＋';
	color: #1696E6;
	text-align: center;
	font-size: 2.6992rem;
	font-weight: 700;
	transform: translateY(-0.6rem);
}
#price .priceList li:nth-child(3):after {
	display: none;
}
#price .priceList li:first-child .ttl {
	color: #FFF;
	background: #1696E6;
}
#price .priceList .ttl {
	padding-bottom: 0.2rem;
	margin: 0 0 0.9rem 1.7rem;
	display: block;
	width: 9.5rem;
	color: #1696E6;
	text-align: center;
	font-size: 1.3882rem;
	line-height: 1.2;
	font-weight: 700;
	border-radius: 2rem;
	background: #FFF;
	border: 0.2rem solid #1696E6;
	font-family: "Zen Maru Gothic", serif;
}
#price .priceList .price {
	color: #000;
	text-align: center;
	font-size: 1.829rem;
	font-weight: 500;
	line-height: 1.17;
}
#price .priceList .price .num {
	display: inline-block;
	margin-bottom: 0.2rem;
	font-size: 2.7385rem;
}
#price .priceList .price .init {
	font-size: 1.8257rem;
}
#price .priceList .price.big {
	font-size: 2.8615rem;
}
#price .priceList .price.big .num {
	font-size: 3.6349rem;
}
#price .priceList .txt {
	width: 13.6rem;
	color: #1696E6;
	text-align: center;
	font-style: normal;
	font-weight: 700;
	line-height: 1.31;
}
#price .priceList .txt small {
	margin-top: 0.3rem;
	display: block;
	font-size: 1.3882rem;
}
#price .priceList .text.flex {
	gap: 1rem;
	flex-wrap: nowrap;
}
#price .priceList li:nth-child(2) .text.flex .price {
	margin: -1rem -1rem 0;
	width: 12.6rem;
}
#price .priceList li:nth-child(3) .ttl {
	margin-left: 0;
}
#price .priceList li:nth-child(3) .txt {
	margin-top: 1rem;
	width: 9.5rem;
	font-family: "Zen Maru Gothic", serif;
}
#price .noteList {
	margin: 3.7rem 5.6rem 9.7rem;
	color: #000;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.53;
}
#price .method {
	margin-bottom: 9.5rem;
	padding: 5.9rem 8rem 6.3rem;
	overflow: hidden;
	position: relative;
	background-color: #FFF;
	border-radius: 2rem;
}
#price .method .head {
	position: absolute;
	left: 0;
	top: 0;
	padding: 1.6rem 1rem 1.4rem;
	width: 33.6rem;
	font-size: 2rem;
	border-radius: 2rem 0px;
	background: var(--sakura-blue, #0C419A);	
}
#price .method .imgBox .img img {
	width: 100%;
}
#price .method .imgBox h4 {
	color: #0C4199;
	font-size: 2rem;
	font-weight: 700;
	font-family: "Zen Maru Gothic", serif;
	line-height: 1.45;
}
#price .method .imgBox h4 small {
	margin-top: -0.2rem;
	display: block;
	font-size: 0.9rem;
}
#price .method .imgBox .note {
	max-width: 88%;
	margin: 1.1rem 0 0 1.3rem;
	text-indent: -1.3rem;
	font-size: 1.2rem;
	line-height: 1.45;
}
#price .method .imgBox.top {
	margin: 0 0 4.6rem;
	padding: 0 2.2rem 5.3rem;
	border-bottom: 0.1rem dotted #0C419A;
}
#price .comBtn02 a {
	width: 34rem;
}
#price .simplebar-track {
	right: -0.8rem;
	background: #E5E5E5;
}
#price .simplebar-scrollbar {
	background: #0C419A;
}
#price .simplebar-scrollbar::before {
	border-radius: 0;
	background: #0C419A;
	opacity: 1;
}
#price .simplebar-track.simplebar-vertical {
	width: 0.4rem;
}
@media all and (min-width: 897px) {
	#price .topBox .headLine01 .lineTxt02::after {
		height: 2.1rem;
		bottom: -1.4rem;
	}
	#price .pricaTab .sub {
		display: flex;
	}
	#price .pricaTab .title {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		width: 15.7rem;
		min-height: 12.5rem;
	}
	#price .pricaTab .rBox {
		flex: 1;
	}
	#price .priceList {
		padding: 2.1rem 2rem;
		display: flex;
		text-align: center;
	}
	#price .priceList li:first-child {
		margin-right: 6.5rem;
		width: 20rem;
	}
	#price .priceList li:nth-child(2) {
		margin-right: 6.2rem;
		width: 27.4rem;
	}
	#price .priceList li:nth-child(3) {
		flex: 1;
	}
	#price .priceList li:first-child .ttl {
		margin: 0 auto 1.1rem;
	}
	#price .priceList li:nth-child(3) .price {
		margin-left: -0.5rem;
		text-align: center;
		width: 10rem;
	}
	#price .method .imgBox {
		margin: 0 0 2.8rem 2.8rem;
		display: flex;
		justify-content: space-between;
		gap: 3rem;
	}
	#price .method .imgBox:last-child {
		margin-bottom: 0;
	}
	#price .method .imgBox .textBox {
		flex: 1;
	}
	#price .method .imgBox .img {
		margin: 2.4rem -2rem 0 0;
		width: 60.7rem;
	}
	#price .method .imgBox.top .img {
		margin: 0;
		width: 44.6rem;
	}
	#price .method .imgBox.top .textBox {
		margin-top: 4.5rem;
	}
	#price .pricaTab .midTxt a:hover {
		color: #FFF;
		background-color: #1696E7;

	}
}
@media all and (max-width: 896px) {
	#price .topBox {
		margin-bottom: 5.3rem;
	}
	#price .pricaTab .comBtn a  {
		font-size: 1.4rem;
	}
	#price .topBox .headLine01 {
		margin-bottom: 2.1rem;
		font-size: 1.8rem;
	}
	#price .topBox .headLine01 .lineTxt02 {
		padding: 0 0 0.3rem;
		margin-top: 1.8rem;
		font-size: 1.4rem;
	}
	#price .topBox .headLine01 .lineTxt02::after {
		left: 60%;
	}
	#price .topBox .img {
		margin: 0 -0.5rem;
		width: auto;
	}
	#price .pricaTab {
		margin: 0;
		padding: 4.9rem 1.3rem 6.8rem 1.4rem;
	}
	#price .pricaTab .headLine01 {
		margin-bottom: 2.9rem;
		font-size: 2rem;
	}
	#price .pricaTab .midTxt {
		margin: 0 1.5rem 1.9rem;
		font-size: 1.4rem;
		line-height: 1.45;
	}
	#price .pricaTab .comBtn {
		margin: 0 0 3.4rem;
	}
	#price .pricaTab .content {
		margin: 0;
	}
	#price .pricaTab .scrollBox {
		padding: 1.9rem 1.7rem;
	}
	#price .pricaTab .scrollBox .inner {
		padding-right: 1.1rem;
		height: 68rem;
	}
	#price .pricaTab .head {
		padding: 1rem;
	}
	#price .pricaTab .head .subTtl {
		font-size: 1.6rem;
        right: 1.5rem;
	}
	#price .pricaTab .sub {
		margin-bottom: 2rem;
		padding-bottom: 2rem;
	}
	#price .pricaTab .title {
		border-right: none;
		border-bottom: 0.1rem solid #0C419A;
	}
	#price .pricaTab .title {
		padding: 0.5rem 0.5rem 0.5rem 2.5rem;
		text-align: center;
	}
	#price .pricaTab .title small {
		display: inline-block;
	}
	#price .priceList li {
		padding: 1rem 1.8rem 1.2rem 1rem;
		display: flex;
		gap: 2rem;
		align-items: flex-start;
	}
	#price .priceList li::after {
		left: calc(50% - 1.1rem);
    	top: calc(100% - 1.6rem);
		transform: translateY(0);
		line-height: 1;
		font-size: 2.1178rem;
	}
	#price .priceList .ttl {
		margin: 0;
		padding: 0.8rem 0 0.9rem;
		letter-spacing: 0.1rem;
		width: 2.1rem;
		writing-mode: tb-rl;
		writing-mode: vertical-rl; 

	}
	#price .priceList .text {
		flex: 1;
	}
	#price .priceList .price {
		margin-top: 0.4rem;
		display: block;
		flex: 1;
		text-align: right;
		font-size: 1.6rem;
		white-space: nowrap;
		width: auto !important;
	}
	#price .priceList .price .num {
		margin-bottom: 0;
	}
	#price .priceList .price.big {
		margin: 0.9rem 0.6rem 0 0;
		font-size: 3.453rem;
		text-align: center;
	}
	#price .priceList .price.big .num {
		font-size: 4.3863rem;
	}
	#price .priceList .txt {
		margin-top: 0.7rem;
		text-align: left;
		font-size: 1.6rem;
		width: 12.5rem;
	}
	#price .priceList li:nth-child(2) .text.flex .price {
		margin: 0;
		text-align: right;
	}
	#price .priceList li:nth-child(2)::after {
		display: none;
	}
	#price .priceList li:nth-child(3) .ttl {
		display: none;
	}
	#price .priceList li:nth-child(3) {
		margin-top: -5rem;
		padding: 0 2.5rem 0.8rem 5rem;
	}
	#price .noteList {
		margin: 3.2rem 2rem 7.3rem;
		font-size: 1.4rem;
		line-height: 1.64;
	}
	#price .method {
		margin-bottom: 4.2rem;
		padding: 8.1rem 2.1rem 4.9rem;
	}
	#price .method .head {
		padding: 1.6rem 1rem 1.7rem;
		width: 100%;
		border-radius: 0;
		font-size: 1.8rem;
	}
	#price .method .imgBox:not(:last-child) {
		margin-bottom: 5.3rem;
	}
	#price .method .imgBox .textBox {
		margin: 0 -1rem 1.4rem 2rem;
	}
	#price .method .imgBox.top {
		margin-bottom: 3rem;
		padding: 0 0 4.2rem;
		border-style: dashed;
	}
	#price .method .imgBox h4 {
		font-size: 1.6rem;
	}
	#price .method .imgBox.top h4 {
		line-height: 1.75;
	}
	#price .method .imgBox h4 small {
		display: inline;
		font-size: 1.2rem;
	}
	#price .method .imgBox.top .textBox {
		padding: 0;
		margin: 0 -1rem 3.1rem 0.8rem;
	}
	#price .method .imgBox .img {
		margin: 0 auto;
		max-width: 30.6rem;
	}
	#price .method .imgBox .note {
		margin-top: 0.8rem;
	}
}

/*------------------------------------------------------------
	security
------------------------------------------------------------*/
#security .info {
	margin: -1.8rem auto 12rem;
	max-width: 105rem;
}
#security .headLine01 {
	margin-bottom: 5.5rem;
	font-size: 3.2rem;
}
#security .imgBox:last-child {
	margin-bottom: 0;
}
#security .imgBox .headLine01 {
	margin-bottom: 1.8rem;
	font-size: 2.8rem;
	text-align: left;
}
#security .imgBox .title {
	margin-bottom: 1.6rem;
	font-size: 2rem;
	font-weight: 700;
}
#security .imgBox p {
	margin-bottom: 4rem;
	font-size: 1.4rem;
	line-height: 1.57;
}
#security .textLink {
	margin: -2.4rem 1.5rem 0;
	text-align: right;
}
#security .textLink a {
	padding: 0.5rem 2.4rem 0.4rem 0;
	display: inline-block;
	font-size: 1.4rem;
	color: #0C419A;
	text-decoration: underline;
}
#security .textLink .pdf {
	background: url(img/common/icon07.png) no-repeat right center / 1.8rem;
}
#security .measures {
	padding: 12.5rem 0;
	background: #D3EEFF;
}
#security .measures .content {
	max-width: 92.7rem;
}
#security .measures .headLine01 {
	margin-bottom: 7rem;
}
#security .measures .subBox {
	margin-bottom: 3.5rem;
	padding: 4.4rem 8.1rem 6.3rem;
	border-radius: 1.5rem;
	background: #FFF;
}
#security .measures .heading {
	margin-bottom: 3.2rem;
	color: #0C419A;
	font-size: 2rem;
	font-family: "Zen Maru Gothic", serif;	
}
#security .measures dt {
	margin-bottom: 0.8rem;
	font-weight: 700;
}
#security .measures dd {
	margin: 0 0.2rem 2.4rem;
	font-size: 1.4rem;
	line-height: 1.57;
}
#security .measures dd:last-child {
	margin-bottom: 0;
}
#security .midTxt {
	margin-top: 6.2rem;
	font-size: 1.4rem;
	text-align: center;
}
@media all and (min-width: 897px)  {
	#security .imgBox {
		margin-bottom: 4rem;
		display: flex;
		gap: 6rem;
	}
	#security .imgBox .img {
		margin-top: 1.7rem;
		width: 21.6rem;
		text-align: center;
	}
	#security .imgBox .img01 {
		margin-top: 6.4rem;
	}
	#security .imgBox .textBox {
		max-width: 67.6rem;
		flex: 1;
		order: 2;
	}
	#security .textLink a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	#security .info {
		margin: 0 2.3rem 5rem;
	}
	#security .headLine01 {
		margin-bottom: 3rem;
		font-size: 2.2rem;
	}
	#security .imgBox {
		margin-bottom: 3rem;
	}
	#security .imgBox .headLine01 {
		margin-bottom: 1.8rem;
		font-size: 2rem;
	}
	#security .imgBox .img {
		margin: 2rem auto 0;
		width: 17.6rem;
	}
	#security .imgBox .img01 {
		width: 23rem;
	}
	#security .textLink {
		margin: -2.4rem 0 0;
	}
	#security .measures {
		padding: 6rem 0;
	}
	#security .measures .headLine01 {
		margin-bottom: 3rem;
	}
	#security .measures .subBox {
		padding: 2rem 2rem;
	}
	#security .measures .heading {
		margin-bottom: 2rem;
		font-size: 1.8rem;
	}
	#security .measures dd {
		margin-bottom: 1rem;
	}
	#security .midTxt {
		margin-top: 4rem;
	}
}
/* kinou */
#kinou {
	overflow: hidden;
}
#kinou .titleBox {
	margin-bottom: 17rem;
	padding: 17rem 0 0;
	position: relative;
	background: url(img/kinou/bg01.png) no-repeat left 2.5rem bottom 9.3rem / 12rem,
	url(img/kinou/bg04.png) no-repeat right bottom 17.6rem / 11.6rem;
} 
#kinou .titleBox::before {
	height: 30rem;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	background: linear-gradient(0deg, #0464FF 31%, #002FD9 100%);
	z-index: -1;
}
#kinou .titleBox::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 1.7rem;
	transform: translateX(-50%);
	width: calc(100% + 27.4rem);
	height: 51.5rem;
	border-radius: 100%;
	background: #0464FF;
	mix-blend-mode: darken;
	z-index: -1;
}
#kinou .titleBox .inner {
	max-width: 118rem;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}
#kinou .titleBox .title {
	position: relative;
	width: 50rem;
}
#kinou .titleBox .title::after {
	display: none;
}
#kinou .titleBox .title h2 {
	font-size: 4rem;
	color: #FFF;
	position: relative;
	z-index: 1;
	line-height: 1.45;
	text-align: left;
}
#kinou .titleBox .title .color {
	font-size: 4.7rem;
	color: #FFED4F;
}
#kinou .titleBox .title small {
	margin-bottom: 1.3rem;
	padding: 0.4rem 0;
	width: 6.2rem;
	display: block;
	font-size: 1.8rem;
	color: #FFF;
	text-align: center;
	border-radius: 2rem;
	border: 0.1rem solid #FFF;
}
#kinou .titleBox .title .txt {
	margin-top: -0.2rem;
	display: block;
}
#kinou .titleBox .image01 {
	width: 14.9rem;
	position: absolute;
	bottom: -0.6rem;
    left: 37.5rem;
	z-index: 2;
}
#kinou .titleBox .image01 .icon {
	left: -7.5rem;
    bottom: 2.9rem;
}
#kinou .titleBox .icon {
	position: absolute;
	width: 11.8rem;
	display: block;
}
#kinou .titleBox .image02 {
	width: 14.8rem;
    position: absolute;
    right: 1.2rem;
    bottom: 6.3rem;
}
#kinou .titleBox .image02::before {
	width: 10.6rem;
	aspect-ratio: 212/104;
	position: absolute;
	right: -7rem;
	bottom: 2.1rem;
	content: '';
	background: url(img/kinou/bg03.png) no-repeat center center / 100%;
}
#kinou .titleBox .image02 .icon {
	top: -7.1rem;
    right: -7.7rem;
}
#kinou .titleBox .image03 {
	margin: -2.8rem 0 0 -21.8rem;
	width: 64.5rem;
	position: relative;
}
#kinou .titleBox .image03::before {
	width: 11rem;
	aspect-ratio: 22/13;
	position: absolute;
	left: 4.9rem;
    bottom: 3.2rem;
	content: '';
	background: url(img/kinou/bg02.png) no-repeat center center / 100%;
}
#kinou .titleBox .image03 .icon {
	top: 8.2rem;
    left: 17.5rem;
}
#kinou .secBox01 {
	margin-bottom: 15.1rem;
}
#kinou .secBox01 .headLine01 {
	margin-bottom: 5.8rem;
}
#kinou .secBox01 .comListUl {
	margin-bottom: 9.4rem;
}
#kinou .secBox01 .comListUl li {
	padding-bottom: 2.2rem;
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: 0 0 3rem 0 #D4EFF6;
}
#kinou .secBox01 .comListUl .image {
	border-radius: 1rem;
	overflow: hidden;
}
#kinou .secBox01 .title {
	margin-bottom: 1.3rem;
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.45;
}
#kinou .secBox01 p {
	line-height: 1.571;
}
#kinou .secBox01 .comLink {
	margin: 2.3rem 1rem 0;
}
#kinou .comBox .innerBox {
	margin: 0 auto;
	max-width: 120.5rem;
	position: relative;
}
#kinou .comBox .enTitle img {
	height: 14.7rem;
}
#kinou .comBox .enTitle {
	position: absolute;
	top: -7.4rem;
	left: -5.8rem;
}
#kinou .comBox {
	padding: 0 0 10.4rem;
	margin-bottom: 18.6rem;
	width: auto;
	max-width: inherit;
	border-radius: 10rem;
	box-shadow: none;
	position: relative;
}
#kinou .comBox .imgBox {
	margin-bottom: 6.3rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#kinou .comBox .imgBox .photoBox {
	margin: -6rem -0.3rem 0 0;
	width: 65.6rem;
}
#kinou .comBox .headLine01 {
	margin: 7.5rem 1.2rem 0;
	text-align: left;
	color: #1B1B1B;
	font-size: 3.2rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
#kinou .comBox .headLine01 .lineTxt02{
	margin-bottom: 4.3rem;
	padding: 0.1rem 2.1rem 1.1rem;
	font-size: 3rem;
	font-family: "Zen Maru Gothic", serif;
	color: #0C4199;
}
#kinou .comBox .infoBox {
	margin-bottom: 5.6rem;
	padding: 6.1rem 1.2rem 8rem;
	display: flex;
	justify-content: space-between;
	background: #E7F6FF;
	border-radius: 2rem;
	gap: 4rem
}
#kinou .popInnerBox .comSlideBox .swiper {
	padding-right: 1.5rem;
}
#kinou .comBox .infoBox .photoBox {
	width: 34.6rem;
}
#kinou .comBox .infoBox.box01 .photoBox  {
	margin: -5rem 0 -3.6rem;
}
#kinou .comBox .infoBox .textBox {
	flex: 1;
}
#kinou .comBox .infoBox .heading {
	margin-bottom: 2.8rem;
	font-size: 3.2rem;
}
#kinou .comBox .infoBox .heading span {
	margin: -0.5rem 0 0.3rem;
	padding: 0.8rem 2rem;
	display: block;
	width: fit-content;
	border-radius: 10rem;
	background: #FFF6A3;
	color: #0C419A;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 900;
}
#kinou .comBox .infoBox .textBox p {
	line-height: 1.6;
}
#kinou .comBox .infoBox .textBox p:not(:last-child) {
	margin-bottom: 2.2rem;
}
#kinou .comBox .popInnerBox .heading {
	margin-bottom: 1.2rem;
	color: #0C419A;
	font-family: "Zen Maru Gothic", serif;
	font-size: 3.2rem;
	font-weight: 700;
	text-align: center;
}
#kinou .comBox .comSlideBox {
	margin: 0 auto;
	max-width: 90.2rem;
	padding-bottom: 0.9rem;
}
#kinou .comBox .imgList {
	margin: 0 0 0 0.2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
#kinou .comBox .imgList li {
	padding: 1.3rem 2.6rem 3.5rem;
	margin: 0;
	width: calc((100% - 2rem)/3);
	border-radius: 1rem;
	background: #FFF;
	position: relative;
	box-shadow: 0rem 0.3rem 1rem 0.2rem rgba(151, 187, 207, 0.20);
}
#kinou .comBox .imgList .posTxt {
	width: fit-content;
	position: absolute;
	top: 1.1rem;
	left: 1.2rem;
	padding: 0 1rem;
	border-radius: 1.8rem;
	border: 1px solid #0C419A;
	background: #FFED4F;
	color: #0C419A;
	text-align: center;
	font-size: 1.4rem;
}
#kinou .comBox .imgList .image {
	margin: 0 auto;
	height: 15.6rem;
	text-align: center;
}
#kinou .comBox .imgList .image img {
	width: auto;
	height: 100%;
}
#kinou .comBox .imgList .title {
	margin-bottom: 1.6rem;
	text-align: center;
	font-size: 2rem;
}
#kinou .comBox .imgList p {
	font-size: 1.4rem;
	line-height: 1.714;
}
#kinou .comSlideBox .arrowUl {
	bottom: auto;
	top: -5.9rem;
	right: 0;
}
#kinou .comSlideBox .imgList .tips {
	margin-top: 0.8rem;
	font-size: 1.2rem;
	line-height: 1.5;
}
#kinou .comSlideBox .bar {
	width: calc(100% - 1.3rem);
	height: 0.2rem;
	position: absolute;
	bottom: 0;
	left: 1.5rem;
	background: #959595;
	content: "";
}
#kinou .comSlideBox .bar span {
	width: 20%;
	height: 0.2rem;
	background-color: #0C419A;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#kinou .comSlideBox .bar .swiper-scrollbar-drag {
	background: #0C419A;
	height: 0.2rem !important;
	top: 0;
	z-index: 10;
}
#kinou .secBox04 {
	margin-bottom: 11.8rem;
	padding-bottom: 6.1rem;
}
#kinou .secBox04 .flexBox {
	margin: 7.3rem 1rem 7.1rem;
	align-items: center;
	gap: 8.4rem;
}
#kinou .secBox04 .flexBox .photoBox {
	width: 58.4rem;
}
#kinou .secBox04 .flexBox .textBox {
	flex: 1;
	font-size: 1.6rem;
	line-height: 1.6;
}
#kinou .secBox04 .flexBox .headLine01 {
	margin: 0 0 2.8rem;
	font-size: 3.2rem;
}
#kinou .secBox04 .flexBox p:not(:last-child) {
	margin-bottom: 1.5rem;
}
#kinou .secBox04 .textUl {
	margin: 0 2rem;
}
#kinou .secBox04 .textUl .headLine01 {
	margin: 0 0 1.6rem;
	font-size: 2.3rem;
	color: #0C419A;
}
#kinou .secBox04 .textUl li {
	padding: 3.1rem 4.3rem 5.3rem;
	width: calc((100% - 5.7rem) / 2);
	line-height: 1.6;
	border-radius: 10px;
	border: 1px solid #0C419A;
}
#kinou .secBox05 {
	margin: 0 auto;
	width: 114.2rem;
}
#kinou .comFaq .faq {
	border-radius: 2rem;
}
#kinou .comFaq .faq dt .ttl {
	padding: 2.2rem 8.4rem 2.2rem 8.2rem;
	text-align: center;
	color: #fff;
	border-radius: 2rem;
	font-size: 2.2rem;
	letter-spacing: 0.3em;
	background: linear-gradient(270deg, #1696E7 0%, #1570CB 65.61%);
	box-shadow: 0 0.4rem 1rem 0 rgba(0, 0, 0, 0.25);
}
#kinou .comFaq .faq dt::after {
	background: #fff;
	right: 5.3rem;
	top: 50%;
	transform: translateY(-50%);
}
#kinou .comFaq .faq dt .ttl::before,
#kinou .comFaq .faq dt .ttl::after {
	background-color: #0C419A;
	right: 6.4rem;
	top: 50%;
}
#kinou .comFaq .faq dt::before {
	display: none;
}
#kinou .comFaq .faq dd {
	padding: 31px 3.2rem 4.3rem 3.2rem;
}
#kinou .comFaq .faq dd::before {
	display: none;
}
#kinou .secBox05 .title {
	margin: 0 0;
	color: #0C419A;
	font-size: 2.2rem;
	font-weight: 700;
}
#kinou .secBox05 .list {
	margin-bottom: 5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#kinou .secBox05 .list > li {
	padding: 1.5rem 1.4rem;
	width: calc(50% - 1.2rem);
	border-radius: 0.5rem;
	background: #FFF;
	box-shadow: 0.4rem 0.4rem 1rem 0rem rgba(151, 187, 207, 0.50);
}
#kinou .secBox05 .list .innBox {
	display: flex;
	justify-content: space-between;
	font-size: 1.6rem;
	line-height: 1.75;
	gap: 2rem;
}
#kinou .secBox05 .list .innBox + .innBox {
	margin-top: 1rem;
}
#kinou .secBox05 .list .img {
	width: 19.9rem;
	position: relative;
	border-radius: 0.5rem;
	background: #1696E7;
	display: flex;
	align-items: center;
	justify-content: center;
}
#kinou .secBox05 .list .img span {
	margin: 1rem;
	width: 100%;
	text-align: center;
	color: #fff;
	word-break: break-all;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.45;
}
#kinou .secBox05 .list .subUl {
	flex: 1;
	padding-bottom: 1rem;
	counter-reset: num;
}
#kinou .secBox05 .list .subUl li {
	position: relative;
	padding-left: 1.6rem;
	text-indent: 0;
	counter-increment: num;
}
#kinou .secBox05 .list .subUl li::before {
	min-width: 1.7rem;
	text-align: right;
	position: absolute;
	left: -0.5rem;
	top: 0;
	content: counter(num) ".";
}
#kinou .secBox05 .list02 {
	margin: 0 1.5rem;
}
#kinou .secBox05 .list02 .img {
	background: #0C419A;
}
#kinou .fixedBanner {
	right: 0;
	bottom: 2rem;
	width: 28.9rem;
}
#kinou .comBox .infoBox.box02 .photoBox {
	width: 37rem;
	border-radius: 1.8rem;
	border: 0.8rem solid #FFF;
	background: #FFF;
	box-shadow: 0rem 0rem 1.5rem 0rem rgba(22, 150, 231, 0.20);
}

@media all and (min-width: 897px) {
	#kinou .titleBox .imgArea {
		position: relative;
		flex: 1;
	}
	#kinou .secBox03 .headLine01 .lineTxt02 {
		margin-bottom: 2.4rem;
	}
	#kinou .comBox .infoBox.box02 .heading {
		margin-bottom: 1.8rem;
	}
	#kinou .secBox02 .imgList li {
		min-height: 44.5rem;
	}
	#kinou .secBox02 .imgList .readMore {
		bottom: 5rem;
	}
	#kinou .secBox03 .imgList li {
		padding-bottom: 3rem;
		min-height: 38.8rem;
	}
	#kinou .secBox04 .comSlideBox {
		max-width: 120.5rem;
	}
	#kinou .secBox04 .comSlideBox .imgList li {
		width: calc((100% - 3rem)/4);
		min-height: 38.8rem;
	}
	#kinou #pagePath {
		margin: 11rem 0 2.7rem;
	}
	#kinou .comPageBox {
		margin-top: 8.5rem;
	}
	#kinou .comAhrList {
		column-gap: 8.1rem;
	}
	#kinou .comAhrList li {
		min-width: 30.3rem ;
	}
	#kinou .comAhrList li a {
		padding-left: 11.8rem;
		background-position: left 1.1rem top;
	}
	#kinou .comAhrList li a::before {
		left: 1.1rem;
	}
	#kinou .comBox .infoBox.box02 {
		padding: 4.5rem 6rem 4.5rem 6.5rem;
		gap: 6rem;
		align-items: center;
	}
	#kinou .comBox .infoBox.box02 .textBox {
		margin-bottom: 2.6rem;
	}
}
@media all and (max-width: 896px) {
	#kinou .secBox01 .comListUl li {
		padding-bottom: 3.6rem;
	}
	#kinou .fixedBanner {
		width: 22.8rem;
	}
	#kinou .titleBox {
		margin-bottom: 14rem;
		padding: 6.7rem 2.3rem 9.4rem;
		background: url(img/kinou/bg05.png) no-repeat left 1.2rem bottom 0.5rem / 8.3rem,
		url(img/kinou/bg06.png) no-repeat right bottom / 6.1rem;
	}
	#kinou .titleBox .inner {
		max-width: 37.5rem;
		display: block;
	}
	#kinou .titleBox::before {
		height: 27rem;
	}
	#kinou .titleBox::after {
		width: calc(100% + 63vw);
		height: 28.2rem;
	}
	#kinou .titleBox .title {
		width: auto;
		font-size: 2rem;
	}	
	#kinou .titleBox .title .color {
		font-size: 2.4rem;
		line-height: 1.4;
	}
	#kinou .titleBox .title small {
		margin-bottom: 1.4rem;
		padding: 0.2rem 0;
		width: 4rem;
		font-size: 1.2rem;
		line-height: 1.5;
	}
	#kinou .titleBox .image01 {
		left: calc(50% + 4.8rem);
        bottom: -1.5rem;
        width: 6rem;
	}
	#kinou .titleBox .icon {
		width: 6.8rem;
	}
	#kinou .titleBox .image01 .icon {
		left: -3.3rem;
        bottom: auto;
        top: -3.8rem;
        width: 6.3rem;
	}
	#kinou .titleBox .image02::before {
		display: none;
	}
	#kinou .titleBox .image02 {
		width: 6.1rem;
		bottom: -6.2rem;
		right: -0.7rem;
		z-index: 2;
	}
	#kinou .titleBox .image02 .icon {
		top: -3.8rem;
        right: -1.3rem;
        width: 6.2rem;
	}
	#kinou .titleBox .image03 {
		margin: 0;
		position: absolute;
		right: 50%;
        bottom: -19.1rem;
        width: 25.2rem;
        transform: translateX(50%);
	}
	#kinou .titleBox .image03::before {
		bottom: 3.8rem;
		left: auto;
		right: -4.2rem;
		background-image: url(img/kinou/bg03.png);
		background-size: 5.6rem;
		z-index: -1;
	}
	#kinou .titleBox .image03 .icon {
		left: 5.7rem;
        top: -0.1rem;
	}
	#kinou .titleBox .title .txt {
		margin-top: 0.7rem;
	}
	#kinou .titleBox .title h2 {
		font-size: 2rem;
		line-height: 1.3;
	}
	#kinou .secBox01 {
		margin-bottom: 10.1rem;
	}
	#kinou .secBox01 .comListUl {
		margin-bottom: 4.6rem;
	}
	#kinou .secBox01 .title {
		font-size: 1.8rem;
	}
	#kinou .comBox .imgBox {
		margin: 0 0 4rem;
		display: block;
	}
	#kinou .comBox {
		padding-bottom: 5rem;
		margin: 0 0 5rem;
		border-radius: 5rem;
	}
	#kinou .comFaq .faq dt::after {
		top: 2.8rem;
	}
	#kinou .comBox .enTitle {
		top: -4.4rem;
		left: 0;
	}
	#kinou .comBox .enTitle img {
		height: 7.7rem;
	}
	#kinou .comBox .headLine01 {
		margin: 0;
		font-size: 2.4rem;
	}
	#kinou .comBox .headLine01 .lineTxt02 {
		margin-bottom: 1rem;
		padding: 0.1rem 1.1rem 0.1rem;
		font-size: 2.3rem;
	}
	#kinou .comBox .imgBox .photoBox {
		margin: 1rem auto 0;
		width: 30rem;
	}
	#kinou .comBox .infoBox {
		margin-bottom: 3rem;
		padding: 3rem 2rem;
		display: block;
	}
	#kinou .comBox .infoBox.box01 .photoBox {
		margin: -5rem auto -1.6rem;
		width: 25rem;
	}
	#kinou .comBox .popInnerBox .heading {
		font-size: 2.4rem;
	}
	#kinou .comBox .infoBox .heading span {
		margin: -0.5rem auto 0.3rem;
		padding: 0.3rem 1rem;
		font-size: 1.4rem;
	}
	#kinou .comBox .infoBox .heading {
		margin-bottom: 0.5rem;
		font-size: 2.4rem;
		text-align: center;
	}
	#kinou .comBox .imgList {
		margin: 0;
	}
	#kinou .comBox .imgList li {
		padding-bottom: 3rem;
		width: 100%;
	}
	#kinou .comBox .imgList li:has(.readMore) {
		padding-bottom: 8rem;
	}
	#kinou .comBox .innerBox {
		margin: 0 1.5rem;
		padding-top: 2rem;
		max-width: inherit;
	}
	#kinou .comSlideBox .arrowUl {
		position: absolute;
		top: -5.4rem;
	}
	#kinou .comBox .infoBox.box02 .photoBox {
		margin: 0 auto 2rem;
		width: 30.5rem;
		border-width: 0.4rem;
	}
	#kinou .secBox04 .flexBox .photoBox {
		width: 100%;
	}
	#kinou .secBox04 .flexBox {
		margin: 4rem 0;
		display: block;
	}
	#kinou .secBox04 .flexBox .headLine01 {
		margin: 1.6rem 0 1.6rem;
		font-size: 2.4rem;
	}
	#kinou .secBox04 .flexBox .textBox {
		font-size: 1.4rem;
	}
	#kinou .secBox04 .textUl {
		margin: 0;
		display: block;
	}
	#kinou .secBox04 .textUl li {
		padding: 2rem 1.5rem;
		width: 100%;
	}
	#kinou .secBox04 .textUl li + li {
		margin-top: 2rem;
	}
	#kinou .secBox05 {
		margin: 0 1.5rem;
		width: auto;
	}
	#kinou .comFaq .faq dt .ttl {
		padding: 1.3rem 3.4rem 1.4rem 3.2rem;
		font-size: 1.6rem;
	}
	#kinou .comFaq .faq dt::after {
		width: 2.6rem;
		height: 2.6rem;
		right: 1.3rem;
	}
	#kinou .comFaq .faq dt .ttl::before,
	#kinou .comFaq .faq dt .ttl::after {
		right: 1.9rem;
		top: 52%;
	}
	#kinou .comFaq .faq dd {
		padding: 3rem 1.8rem;
	}
	#kinou .secBox05 .list {
		display: block;
	}
	#kinou .secBox05 .list > li {
		width: 100%;
	}
	#kinou .secBox05 .list > li + li {
		margin-top: 2rem;
	}
	#kinou .secBox05 .list .innBox {
		display: block;
	}
	#kinou .secBox05 .list .img {
		margin-bottom: 1rem;
		width: 100%;
	}
	#kinou #pagePath {
		margin-bottom: 2rem;
	}	
}

/* education */
#education .comVisual {
	margin-bottom: -1.3rem;
}
#education .comVisual .posImg01 {
	top: 0.8rem;
	width: 19.3rem;
}
#education .comVisual::before {
	height: 40rem;
	background: url(img/education/main_img03.png) no-repeat right top 11rem / 61.6rem,linear-gradient(270deg, #008EFA 35.37%, #0700C8 57.63%);
}
#education .comVisual::after {
	top: 3.7rem;
	background: linear-gradient(30deg, #0700C8 0%, #0700C8 calc(100% - 40rem),rgba(0,141,249,0) calc(100% - 30rem),rgba(255,255,255,0) 100%);
}
#education .comVisual .mainImg {
	margin-top: 9.1rem;
	width: 57.5rem;
}
#education .comVisual .ttlBox {
	margin:4.8rem -9.2rem 0 -1.9rem;
	width: 70.6rem;
}
#education .comVisual .head { 
	margin-bottom: 2.9rem;
	font-size: 4rem;
}
#education .comVisual {
	padding-top: 8rem;
}
#education .comVisual .head .sml {
	margin: -0.4rem 0 0.8rem;
	font-size: 2.4rem;
}
#education .comVisual .comBtn02 a {
	margin: 3.5rem 3rem 0; 
	width: 36.5rem;
	color: #0C419A;
	box-shadow: 0 0 3rem rgba(21, 112, 203, 0.30);
}
#education .comVisual .comBtn02 a::after {
	background: #FBF437;
}
#education .comVisual .comBtn02 a::before {
	border-color: currentColor;
}
/* #education .comVisual .comBtn02 a::before {
	border-color: currentColor;
} */
#education .comVisual .posImg02 {
	width: 78.3rem;
	left: 0;
	bottom: 18rem;
	top: auto;
}
#education .comVisual .tips {
	margin: 1.8rem 6.2rem 0;
	max-width: 32.5rem;
	color:  #0C419A;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.666;
}
#education .comVisual .posImg03 {
	position: absolute;
	width: 18.1rem;
	right: -5.9rem;
	bottom: 13.8rem;
	z-index: 3;
}
#education .comLogoBox li {
	min-width: 16rem;
}
#education .comLogoBox .inn {
	font-size: 2rem;
}
#education .kinou {
	margin: 10rem auto 10.8rem;
	padding: 6.8rem 0 9.4rem;
	max-width: 112rem;
	background: #fff;
	border-radius: 4rem;
	box-shadow: 0.1rem 0.1rem 2.2rem 0rem rgba(12, 65, 154, 0.20) inset;
}
#education .kinou .content .list {
	margin: 0 auto;
	width: 90.4rem;
}
#education .kinou .content .list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
#education .kinou .content .list li {
	padding: 0 2.8rem 3.2rem;
	width: calc((100% - 2rem) / 3);
	border-radius: 1rem;
	background: #FFF;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.571;
	box-shadow: 0rem 0.3rem 1rem 0.2rem rgba(151, 187, 207, 0.20);
}
#education .kinou .content .list .img {
	height: 16.9rem;
	text-align: center;
}
#education .kinou .content .list img {
	width: auto;
	height: 100%;
}
#education .kinou .headLine01 {
	margin-bottom: 4.8rem;
}
#education .kinou li h3 {
	margin: 0.3rem 0 1.6rem;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
}
#education .kinou .comBtn02 {
	margin: 4.2rem 0 1.7rem;
}
#education .kinou .tips {
	text-align: center;
}
#education .kinou .tips a {
	text-decoration: underline;
	color: #0C419A;
}

#education .teacherBox {
	margin-top: 10.8rem;
}
#education .comBox .headLine01 .lineTxt02 {
	font-size: 2.979rem;
}
#education {
	margin-bottom: 15.6rem
}
#education .featuresBox {
	margin-bottom: 10.9rem;
}
#education .challengeBox {
	padding-top: 4.5rem;
	padding-bottom: 1px;
	overflow: hidden;
}
#education .challengeBox .content {
	max-width: 119.8rem;
}
#education .challengeBox .headLine01 {
	margin-bottom: 3.8rem;
	font-size: 3.2rem;
}
#education .challengeBox .headLine01 img {
	width: 7.1rem;
	display: block;
	margin: 0 auto 0.6rem;
}
#education .challengeBox .listUl {
	display: flex;
	font-size: 1.4rem;
	line-height: 1.71;
	font-weight: 500;
}
#education .challengeBox .listUl li {
	width: 43.9rem;
	background: #FFF;
	margin-right: 3rem;
	padding: 2.7rem 5.1rem 2.3rem;
}
#education .challengeBox .listUl li:last-child {
	margin-right: 0 !important;
}
#education .challengeBox .listUl .headLine01 {
	margin-bottom: 1.4rem;
	font-size: 2.4rem;
	text-align: left;
	line-height: 1.4;
}
#education .challengeBox .innerBox {
	padding-bottom: 7.2rem;
	overflow: visible;
}
#education .challengeBox .listUl .comLink {
	margin-top: 0.4rem;
}
#education .challengeBox .comSlideBox {
	margin: 0 -2.7rem;
	position: relative;
	padding-bottom: 0;
	margin-bottom: 0;
}
#education .challengeBox .comSlideBox .bar {
	width: calc(100% - 5rem);
	height: 1px;
	position: absolute;
	bottom: 3.2rem;
	left: 3.5rem;
	background: #959595;
	content: "";
}
#education .challengeBox .comSlideBox .bar span {
	width: 20%;
	height: 1px;
	background-color: #0C419A;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#education .challengeBox .comSlideBox .bar .swiper-scrollbar-drag {
	background: #0C419A;
	height: 1px !important;
	top: 0;
	z-index: 10;
}
#education .challengeBox .comSlideBox .arrowUl {
	bottom: 0;
	right: -3.4rem;
	z-index: 60;
}
#education .comSwiper .comList02,
#education .comSwiper .comList03 {
	flex-wrap: inherit;
}
#education .comVisual .head .lable {
	display: inline-block;
	vertical-align: top;
	border: 1px solid #fff;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.7rem 1.5rem 1rem 1.1rem;
	border-radius: 5rem;
	margin-left: -1.1rem;
}
#education .parentsBox .comTalkBox {
	max-width: 108rem;
}
#education .comListUl .inner p {
	line-height: 1.571;
}
#education .comListUl .inner p + p {
	margin-top: 1.5rem;
}
#education .faqBox .content {
	max-width: 98rem;
}
#education .faqBox .headLine01 {
	margin-bottom: 10.7rem;
}
#education .faqBox .head {
	margin: 0 1.8rem 1.6rem;
	color: #0C419A;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	font-family: "Zen Maru Gothic", serif;
}
#education .faqBox section:not(:last-child) {
	margin-bottom: 9.1rem;
}
#education .comFaq .faq dd {
	padding-top: 0.4rem;
}
#education .secBox01 .note {
	margin: 2.6rem 0 0;
	color: #0C419A;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.666;
	text-align: center;
}
#education .comBtnBox p {
	margin-bottom: 3.5rem;
}
#education .secBox01 .content {
	padding: 6.2rem 0 8.1rem;
	max-width: 133.8rem;
	border-radius: 2rem;
	background: #FFF;
}
#education .secBox02 {
	margin: 8rem 0 11rem;
}
#education .secBox02 .heading  {
	margin: 0 auto 3.7rem;
	width: 23.1rem;
}
#education .secBox02 .content {
	padding: 4.7rem 8.4rem;
	max-width: 133.8rem;
	background: #D3EEFF;
}
#education .secBox02 .list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
}
#education .secBox02 .list li {
	padding: 2.9rem 1.4rem 1.9rem;
	width: calc((100% - 4.8rem) / 5);
	border-radius: 2rem;
	background: #FFF;
	color:#1B1B1B;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.714;
}
#education .secBox02 .img {
	margin: 0 auto 1.4rem;
	width: 15.5rem;
}
#education .secBox02 .title {
	margin-bottom: 1.5rem;
	padding-left: 1.3rem;
	color: #0C419A;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	position: relative;
}
#education .secBox02 .title span {
	font-size: 5rem;
	position: absolute;
	left: 2rem;
	top: -0.6rem;
	line-height: 0.8;
	color: rgba(12, 65, 154, 0.5);
}
@media all and (min-width: 897px) {
	#education .kinou .tips a:hover {
		text-decoration: none;
	}
	#education .headLine01 .comLightTxt {
		background: none;
	}
	#education .comPageBox {
		margin-top: 18.6rem;
	}
	#education .comLogoBox {
		margin-bottom: 12.8rem;
	}
}
@media all and (min-width: 1441px) {
	#education .comVisual::before {
		background: url(img/education/main_img03.png) no-repeat right top / 50vw, linear-gradient(270deg, #008EFA 35.37%, #0700C8 57.63%);
	}
}
  @media all and (max-width: 896px) {
	#hoiku .comReason,
	#school .comReason,
	#education .comReason {
		/* display: none; */
	}
	#education .secBox01 .content {
		margin: 0 1.6rem;
		padding: 5rem 0.4rem;
	}
	#education .comVisual {
		padding-bottom: 2rem;
		margin-bottom: 5.4rem;
	}
	#education .comVisual .ttlBox {
		width: auto;
		margin: 0;
		position: relative;
		z-index: 2;
	}
	#education .comVisual .head {
		margin-bottom: 1.5rem;
		font-size: 2.7rem;
		line-height: 1.407;
	}
	#education .comVisual .comBtn02 a {
		margin: 3.8rem auto 0;
		width: 83.1vw;
		font-size: 1.6rem;
		height: 6.7rem;
	}
	#education .comVisual .head .sml {
		margin: 0 0 1rem;
		font-size: 1.4rem;
	}
	#education .comVisual .image {
		width: 33.25rem;
	}
	#education .comVisual::before {
		width: 100%;
		height: 100%;
		background: url(img/education/bg.png) no-repeat center bottom / cover;
	}
	#education .comVisual .tips {
		margin: 1rem 0 0;
		max-width: inherit;
		color: #fff;
	}
	#education .comVisual::after {
		display: none;
	}
	#education .comVisual .mainImg {
		position: absolute;
		width: 34.5rem;
		right: -2.3rem;
		top: -7.1rem;
		margin: 0;
	}
	#education .comLogoBox .imgUl li {
		width: 26.5rem;
	}
	#education .comVisual .head .lable {
		font-size: 1.2rem;
		padding: 0.4rem 1.1rem 0.6rem;
		margin: 0 0 1.7rem -0.8rem;
	}
	#education .comListUl .inner p {
		line-height: 1.5;
	}
	#education .comListUl .inner p + p {
		margin-top: 2rem;
	}
	#education .comVisual .posImg03 {
		width: 13.2rem;
		right: 0.4rem;
		bottom: 4.5rem;
	}
	#education {
		margin-bottom: 8rem
	}
	#education .comVisual .posImg02 {
		left: -2.3rem;
		bottom: 4.4rem;
		width: 9.9rem;
	}
	#education .challengeBox .headLine01 {
		font-size: 2rem;
		margin-bottom: 3.6rem;
	}
	#education .challengeBox {
		padding-top: 6rem;
	}
	#education .challengeBox .headLine01 img {
		width: 5.3rem;
		margin: 0 auto 1.1rem;
	}
	#education .challengeBox .innerBox {
		margin: 0 -4rem 0 0;
		padding-bottom: 5rem;
	}
	#education .challengeBox .listUl li {
		width: 29.5rem;
		margin-right: 1.4rem;
		padding: 2.4rem 2.8rem;
	}
	#education .challengeBox .listUl .headLine01 {
		font-size: 1.6rem;
		margin-bottom: 0.8rem;
	}
	#education .challengeBox .listUl {
		line-height: 1.64;
	}
	#education .challengeBox .comSlideBox .arrowUl {
		bottom: 0.9rem;
		right: 4rem;
		width: auto;
		position: absolute;
	}
	#education .challengeBox .comSlideBox {
		padding-bottom: 0;
		margin: 0;
	}
	#education .challengeBox .content {
		margin: 0 4rem;
	}
	#education .challengeBox .comSlideBox .bar {
		left: 0;
		width: calc(100% - 4rem);
		bottom: 0;
	}
	#education .featuresBox {
		margin-bottom: 0;
	}
	#education .kinou {
		max-width: inherit;
		margin:5.6rem 2.3rem 4.8rem;
		padding:3.5rem 1.2rem 4.8rem;
		max-width: 112rem;
		background:#fff;
		border-radius:2rem;
	}
	#education .kinou .comBtn02 a::before {
		right: 2.8rem;
		width: 0.4rem;
		height: 0.4rem;
		border-width: 0.1rem;
	}
	#education .kinou .content .list {
		width: auto;
		display: block;
	}
	#education .kinou .content .list li {
		padding: 0 2.3rem 3rem;
		width: 100%;
		line-height: 1.5;
	}
	#education .kinou .content .list li + li {
		margin-top: 1.2rem;
	}
	#education .kinou .headLine01 {
		margin-bottom: 3rem;
	}
	#education .kinou .content .list .img {
		height: 14.9rem;
	}
	#education .kinou li h3 {
		margin: 0.3rem 0 1.3rem;
		font-size: 1.6rem;
	}
	#education .kinou .comBtn02 a {
		width: 69.6vw;
		height: 5.2rem;
		font-size: 1.3rem;
	}
	#education .kinou .comBtn02 {
		margin: 3.2rem 0 1.8rem;
	}
	#education .kinou .tips {
		font-size: 1.08rem;
		text-align: left;
		max-width: 58vw;
		margin:0 auto;
		line-height: 1.4;
	}
	#education .teacherBox {
		margin-top: 5.8rem;
	}
	#education .comBox .headLine01 .lineTxt02 {
		font-size: 1.4rem;
	}
	#education .faqBox {
		margin-top: 8rem;
		padding: 6rem 0 8rem;
	}
	#education .faqBox .headLine01 {
		margin-bottom: 5rem;
	}
	#education .secBox02 .heading {
		width: 16.5rem;
	}
	#education .secBox02 .content {
		padding: 2rem 1.5rem;
	}
	#education .secBox02 .list {
		display: block;
	}
	#education .secBox02 .list li {
		width: 100%;
	}
	#education .secBox02 .list li + li {
		margin-top: 1.2rem;
	}
	#education .secBox02 {
		margin: 5rem 0;
	}
	#education .faqBox {
		margin: 0;
		padding: 0;
	}
  }
/* fixedPopBox */
.fixedPopBox {
	position: absolute;
	right: 3.8rem;
	top: 0;
	z-index: 100;
}
.fixedPopBox li + li {
	margin-top: 1rem;
}
.fixedPopBox a {
	padding-right: 1.7rem;
	width: 27.7rem;
	height: 7.3rem;
	color: #0C419A;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3.6rem;
	background: #FFE0EA url(img/common/arrow_icon03.png) no-repeat center right 1.5rem / 1.7rem;
}
.fixedPopBox a.blue {
	background-color: #CBDEF6;
}
@media all and (min-width: 897px) {
	.fixedPopBox a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.fixedPopBox {
		right: 1.2rem;
		top: -2.1rem;
	}
	.fixedPopBox a {
		width: 28.8rem;
		height: 3.3rem;
		font-size: 1.2rem;
		background-position: right 0.9rem center;
		background-size: 1.3rem;
	}
}
/* fixedPopInner */
.fixedPopInner {
	margin: 0 auto;
	padding: 4.4rem 9.2rem;
	width: 111rem;
	min-height: 69.5rem;
	background: #fff;
	border-radius: 2rem;
	border: 1px solid #EC7AAC;
	position: relative;
}
.fixedPopInner .close {
	position: absolute;
	right: 4.3rem;
	top: 3.3rem;
	color: #EC7AAC;
	font-family: "Zen Kaku Gothic New";
	font-size: 2rem;
	font-weight: 700;
	cursor: pointer;
}
.fixedPopInner .heading {
	margin-bottom: 4.2rem;
	color: #EC7AAC;
	font-family: "Zen Maru Gothic", serif;
	font-size: 2.4rem;
	font-style: normal;
	font-weight: 700;
	line-height: 1.4;
}
.fixedPopInner .heading span {
	margin-left: 2.3rem;
	font-size: 1.2rem;
}
.fixedPopInner .title {
	margin: 0 -0.7rem 0.7rem;
	padding: 0.1rem 2.1rem;
	width: fit-content;
	color: #FFF;
	font-size: 1.4rem;
	font-weight: 500;
	border-radius: 2rem;
	background: #EC7AAC;
	line-height: 1.5;
}
.fixedPopInner .popUl {
	columns: 3;
	gap: 5rem;
}
.fixedPopInner li {
	color: #000;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.714;
	page-break-inside: avoid;
}
.fixedPopInner .popUl > li:first-of-type {
	margin-top: 0;
}
.fixedPopInner .popUl > li {
	margin-top: 1.5rem;
}
.fixedPopInner .botTxt {
	color: #EC7AAC;
	font-family: "Zen Maru Gothic", serif;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4;
	position: absolute;
	right: 5.2rem;
	bottom: 3.8rem;
}
.fixedPopInner.blue {
	border-color: #0C419A;
}
.fixedPopInner.blue .botTxt ,
.fixedPopInner.blue .heading,
.fixedPopInner.blue .close {
	color: #0C419A;
}
.fixedPopInner.blue .title  {
	background-color: #0C419A;
}
@media all and (min-width: 897px) {
	.fixedPopInner .close:hover {
		opacity: 0.7;
	}
	.fixedPopInner.blue .popUl {
		columns: 1;
	}
	.fixedPopInner .wid {
		width: 49rem;
		max-width: 63%;
	}
	.fixedPopInner .wid .list {
		columns: 2;
	}
}
@media (min-width: 897px) and (max-width: 1300px) {
	.fixedPopInner {
		width: 94vw;
		padding-left: 4rem;
		padding-right: 4rem;
	}
}
@media (min-width: 897px) and (max-width: 1340px) {
	.mfp-wrap {
		width: 100vw;
	}
}
@media all and (max-width: 896px) {
	.fixedPopInner {
		margin: 0 1.6rem;
		padding: 1.3rem 2.4rem 2.5rem;
		width: auto;
		min-height: inherit;
	}
	.fixedPopInner .heading {
		margin-bottom: 1.2rem;
		font-size: 1.5rem;
	}
	.fixedPopInner .heading span {
		margin: 0.5rem 2.5rem 0;
		display: block;
		text-align: right;
		font-size: 1.2rem;
	}
	.fixedPopInner .popUl {
		columns: auto;
	}
	.fixedPopInner .scroll {
		padding: 0 1.5rem;
		height: 51.3rem;
		display: block;
	}
	.fixedPopInner .botTxt {
		font-size: 1.2rem;
		right: 3.6rem;
  		bottom: 0.5rem;
	}
	.fixedPopInner .close {
		right: 2rem;
		top: 0.9rem;
	}
	.fixedPopInner .simplebar-scrollbar::before {
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background: #EC7AAC;
		border-radius: 0;
	}
	.fixedPopInner .simplebar-scrollbar.simplebar-visible::before {
		opacity: 1;
	}
	.fixedPopInner.blue .simplebar-scrollbar::before {
		background: #0C419A;
	}
	.fixedPopInner .simplebar-track.simplebar-vertical {
		width: 0.4rem;
		background: #E5E5E5;
		border-radius: 0;
	}
	.fixedPopInner .title {
		margin-top: 1.5rem;
	}
	.fixedPopInner .popUl li:first-of-type title {
		margin-top: 0;
	}
}


.comSplideList {
	width: fit-content;
}
.comSplideList li {
	padding: 0 1.5rem 1.5rem;
	width: 52.6rem;
	flex-shrink: 0;
}
@media all and (max-width: 896px) {
	.comSplideList li {
		width: 33rem;
	}
}

#index .secBox01 .infoUl a span {
	display: block;
}