@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-lxh */
/* 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;}
.en {font-family: "Lexend Zetta", sans-serif;}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
/* mainVisual */
.mainVisual .content {
	max-width: 153.8rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.mainVisual .photo {
	width: 77rem;
	order: 3;
}
.mainVisual .photo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.mainVisual .leftBox {
	flex: 1;
	padding-top: 11.8rem;
}
.mainVisual .title {
	margin-bottom: 2.8rem;
	color: #0064B6;
	font-size: 4rem;
	line-height: 1.5;
	font-weight: 500;
	letter-spacing: 0.13em;
}
.mainVisual .subTitle {
	font-size: 2rem;
	margin-bottom: 0.5rem;
	font-weight: 600;
}
.mainVisual .txt {
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 0.13em;
}
.mainVisual .txt .col {
	font-weight: 600;
	color: #0064B6;
}
.mainVisual .txt + .txt {
	margin-top: 2.9rem;
}
.mainVisual .txt02 {
	font-size: 1.6rem;
	line-height: 1.8;
}
@media all and (max-width: 896px) {
	.mainVisual .content {
		display: block;
	}
	.mainVisual .leftBox {
		padding-top: 0;
	}
	.mainVisual .photo {
		margin-bottom: 0;
		width: 100%;
		min-height: inherit;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mainVisual .photo::before {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(255, 255, 255, 0.8);
		position: absolute;
		content: "";
	}
	.mainVisual .title {
		font-size: 2.5rem;
		letter-spacing: 0;
	}
	.mainVisual .txt {
		font-size: 1.6rem;
	}
	.mainVisual {
		padding: 12rem 0 6rem;
		position: relative;
	}
	.mainVisual .photo img {
		object-fit: cover;
	}
	.mainVisual .txt02 {
		font-size: 1.3rem;
	}
	.mainVisual .subTitle {
		font-size: 1.6rem;
	}
}


/* content */
.content {
	margin: 0 auto;
	max-width: 102.4rem;
}
@media all and (max-width: 896px) {
	.content {
		margin: 0 2rem;
		max-width: inherit;
	}
}



/* headLine01 */
.headLine01 {
	margin-bottom: 4.7rem;
	font-size: 2rem;
	font-weight: 600;
}
.headLine01 .en {
	font-size: 4.6rem;
	display: block;
	font-weight: 400;
	color: #0064B6;
	letter-spacing: 0.12em;
}
.headLine01 .num {
	margin-right: 3.7rem;
	position: relative;
	letter-spacing: 0;
}
.headLine01 .num::after {
	width: 3rem;
	height: 3.2rem;
	position: absolute;
	top: 1.5rem;
	right: -3.3rem;
	background: url(../img/common/icon01.png) no-repeat left top / 100% 100%;
	content: "";
}
.headLine01 .jp {
	margin-top: 0.4rem;
	display: block;
	letter-spacing: 0.06em;
}
.headLine01 .inner {
	display: inline-block;
	position: relative;
	min-width: 38.2rem;
	padding-right: 5rem;
}
.headLine01 .inner img {
	width: 21rem;
	position: absolute;
	top: -7.2rem;
	right: -3rem;
	z-index: -1;
}
.headLine01 .ttl {
	padding-left: 3.1rem;
	display: inline-block;
	position: relative;
}
.headLine01 .ttl::before {
	width: 3rem;
	height: 3.2rem;
	position: absolute;
	top: 2rem;
	left: -0.2rem;
	background: url(../img/common/icon01.png) no-repeat left top / 100% 100%;
	content: "";
}
@media all and (max-width: 896px) {
	.headLine01 .inner img {
		width: 9rem;
		top: -1rem;
		right: -1.6rem;
	}
	.headLine01 .en {
		font-size: 3rem;
		letter-spacing: 0.05em;
	}
	.headLine01 .num::after {
		width: 2.4rem;
		height: 2.6rem;
		top: 0.8rem;
		right: -2.5rem;
	}
	.headLine01 .num {
		margin-right: 3rem;
	}
	.headLine01 .ttl::before {
		top: 0.8rem;
	}
	.headLine01 .inner {
		padding-right: 0;
		min-width: 27rem;
	}
}

/* headLine02 */
.headLine02 {
	margin-bottom: 3rem;
	color: #0064B6;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 0.1em;
}
.headLine02 .inner {
	padding-left: 3.7rem;
	display: inline-block;
	vertical-align: top;
	position: relative;
}
.headLine02 .inner::before {
	width: 2.7rem;
	height: 2.7rem;
	position: absolute;
	top: 0.5rem;
  	left: 0.2rem;
	background: url(../img/common/icon07.png) no-repeat left top / 100% 100%;
	content: "";
}
.headLine02.black {
	color: #1E1E1E;
}
.headLine02.black .inner::before {
	background-image: url(../img/common/icon10.png);
}
.headLine02 small {
	font-size: 1.4rem;
	margin: 0 1.4rem;
	letter-spacing: 0.07em;
}
@media all and (max-width: 896px) {
	.headLine02 .inner {
		padding-left: 2.7rem;
	}
	.headLine02 {
		font-size: 2rem;
	}
	.headLine02 .inner::before {
		width: 2.3rem;
		height: 2.3rem;
		top: 0.5rem;
		left: 0;
	}
}

/* pagePath */
#pagePath {
	margin-bottom: 13rem;
}
#pagePath ul {
	color: #787878;
	display: flex;
	flex-wrap: wrap;
	font-size: 1rem;
	font-weight: 500;
	gap: 1.5rem 3.6rem;
}
#pagePath ul li {
	position: relative;
}
#pagePath ul li::after {
	width: 1rem;
	height: 0.1rem;
	position: absolute;
	top: 0.8rem;
  	right: -2.6rem;
	background-color: #C8C8C8;
	content: "";
}
#pagePath ul li:last-child:after {
	display: none;
}
#pagePath ul a {
	color: #787878;
	position: relative;
}
#pagePath ul a::before {
	width: 100%;
	height: 0.2rem;
	position: absolute;
	bottom: -0.2rem;
	left: 0;
	background-color: #D1F21F;
	content: "";
}
@media all and (min-width: 897px) {
	#pagePath ul a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#pagePath {
		margin-bottom: 9rem;
	}
}


/* comTxtUl */
.comTxtUl {
	font-weight: 600;
}
.comTxtUl li {
	padding-left: 2.6rem;
	position: relative;
	margin-bottom: 0.5rem;
	letter-spacing: 0.05em;
}
.comTxtUl li:last-child {
	margin-bottom: 0;
}
.comTxtUl li::before {
	width: 1.6rem;
	height: 1.6rem;
	position: absolute;
	top: 0.5rem;
	left: 0;
	background-color: #D1F21F;
	border-radius: 50%;
	content: "";
}
@media all and (max-width: 896px) {
	.comTxtUl li::before {
		width: 1.4rem;
		height: 1.4rem;
		top: 0.4rem;
	}
	.comTxtUl li {
		padding-left: 2.2rem;
	}
}

/* comFree */
.comFree {
	padding: 9.7rem 0 10rem;
	color: #fff;
	position: relative;
	overflow: hidden;
}
.comFree .content {
	position: relative;
	z-index: 10;
}
.comFree::before {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(2, 46, 74, 0.8);
	content: "";
	z-index: 1;
}
.comFree .bg {
	position: absolute;
	left: 0;
	right: 0;
	top: -20rem;
	bottom: 0;
	background: url("../img/common/bg02.jpg") no-repeat center top / cover;
	z-index: -1;
}
.comFree .centerTxt {
	text-align: center;
}
.comFree .headLine02 {
	margin-bottom: 1.4rem;
	color: #fff;
	text-align: center;
	font-size: 3.2rem;
	font-weight: 400;
}
.comFree .headLine02 .en {
	color: #fff;
}
.comFree .headLine02 span {
	display: block;
}
.comFree .headLine02 .inner {
	display: inline-block;
}
.comFree .headLine02 .inner::before {
	top: 1rem;
}
.comFree .headLine02 .jp {
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-top: 0.5rem;
}
.comFree .headLine02 .big {
	margin-top: 2.2rem;
	font-size: 5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
@media all and (max-width: 896px) {
	.comFree .headLine02 .big {
		margin-top: 2.2rem;
		font-size: 3.3rem;
		letter-spacing: 0;
	}
	.comFree .headLine02 {
		font-size: 2.5rem;
	}
	.comFree .headLine02 .inner::before {
		top: 0.8rem;
	}
}


/* pageTop */
.pageTop {
	position: absolute;
	top: -7.4rem;
	right: 5rem;
}
.pageTop a {
	padding-top: 2rem;
	width: 16rem;
	height: 5.4rem;
	display: flex;
	align-items: center;
	justify-content:center;
	font-size: 1.2rem;
	font-weight: 600;
	color: #0064B6;
	border-radius: 8rem;
	border: 0.1rem solid #0064B6;
	background-color: #fff;
	overflow: hidden;
	text-align: center;
  	letter-spacing: 0;
	position: relative;
}
.pageTop a::before {
	width: 2rem;
	height: 1.1rem;
	position: absolute;
	top: 1rem;
	left: 50%;
	transform: translateX(-50%);
	background: url("../img/common/icon05.png") no-repeat left top / 100% 100%;
	content: "";
	z-index: 10;
}
.pageTop .txt {
	position: relative;
	z-index: 10;
}
.pageTop a::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #0064B6;
	transform: scaleY(0);
	transform-origin: top;
	transition: all 0.5s ease;
	transition-property: transform;
}
@media all and (min-width: 897px) {
	.pageTop a:hover::after {
		transform: scaleY(1);
		transform-origin: bottom;
	}
	.pageTop a:hover {
		color: #fff;
	}
	.pageTop a:hover:before {
		background-image: url("../img/common/icon05_over.png");
	}
}
@media all and (max-width: 896px) {
	.pageTop {
		right: auto;
		top: -6.5rem;
		left: 50%;
		transform: translateX(-50%);
	}
	.pageTop a {
		width: 14rem;
		height: 5rem;
		font-size: 1.1rem;
	}
}


/* comBtn */
.comBtn {
	margin-top: 4.8rem;
}
.comBtn a {
	padding-bottom: 0.2rem;
	margin: 0 auto;
	width: 32rem;
	height: 7rem;
	color: #0064B6;
	font-weight: 600;
	background-color: #D1F21F;
	border-radius: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}
.comBtn a::after {
	margin-top: -1rem;
	width: 2rem;
	height: 2rem;
	position: absolute;
	top: 50%;
	right: 2rem;
	background: url("../img/common/icon02.png") no-repeat left top / 100% 100%;
	content: "";
	transition: 0.3s;
}
.comBtn a::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #0064B6;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.5s ease;
	transition-property: transform;
}
.comBtn .txt {
	position: relative;
	z-index: 10;
}
.comBtn.left a {
	margin: 0;
}
@media all and (min-width: 897px) {
	.comBtn a:hover::before {
		transform: scaleX(1);
		transform-origin: left;
	}
	.comBtn a:hover {
		color: #D1F21F;
	}
}
@media all and (max-width: 896px) {
	.comBtn a {
		width: 100%;
		max-width: 35rem;
	}
}



/* mapLink */
.mapLink {
	margin-top: 1.1rem;
}
.mapLink a {
	font-weight: 700;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	position: relative;
}
.mapLink .line {
	display: inline-block;
	border-bottom: 1px solid #fff;
}
.mapLink img {
	margin-right: 0.9rem;
	width: 1rem;
	display: inline-block;
	vertical-align: middle;
}
@media all and (min-width: 897px) {
	.mapLink a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
}


/* fixBox */
.fixBox {
	width: 32rem;
	position: fixed;
	bottom: 3.5rem;
  	right: 6.3rem;
	z-index: 99;
	display: none;
}
.fixBox a {
	display: block;
	position: relative;
	background-color: #fff;
	text-align: center;
}
.fixBox a::after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: 0.6rem solid #D1F21F;
	content: "";
	box-sizing: border-box;
}
.fixBox .image img {
	width: 100%;
}
.fixBox .title {
	margin-bottom: 0.8rem;
	color: #0064B6;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
}
.fixBox .title span {
	margin: -1.1rem 0 0 0.8rem;
	font-size: 2.4rem;
	display: inline-block;
	vertical-align: middle;
}
.fixBox .link {
	text-align: right;
	font-size: 1.2rem;
	font-weight: 500;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	letter-spacing: 0.15em;
}
.fixBox .link img {
	margin: 0.1rem 0 0 0.5rem;
	width: 1.6rem;
	display: inline-block;
	vertical-align: middle;
	transition: 0.3s;
}
.fixBox .lable {
	margin-bottom: 1.3rem;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
}
.fixBox .lable span {
	padding: 0.5rem 1.1rem 0.4rem;
	display: inline-block;
	vertical-align: top;
	color: #0064B6;
	background-color: #E9FF72;
	border-radius: 5rem;
	letter-spacing: 0.05em;
}
.fixBox .close {
	width: 2.6rem;
	position: absolute;
	top: -1.2rem;
	right: -1.3rem;
	z-index: 5;
	cursor: pointer;
	transition: 0.3s;
}
.fixBox .textBox {
	padding: 1rem 1.4rem 1.5rem;
	position: relative;
	z-index: 10;
}
@media all and (min-width: 897px) {
	.fixBox a:hover .link img {
		transform: rotate(-270deg);
	}
	.fixBox .close:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.fixBox {
		width: 18rem;
		bottom: 2rem;
  		right: 2rem;
	}
	.fixBox a::after {
		border-width: 0.2rem;
	}
	.fixBox .title span {
		margin: 0;
		font-size: 2rem;
		display: block;
	}
	.fixBox .lable {
		font-size: 0.8rem;
	}
	.fixBox .lable span {
		padding: 0.4rem 1.1rem 0.4rem;
		letter-spacing: 0;
	}
	.fixBox .link {
		font-size: 1rem;
	}
	.fixBox .link img {
		width: 1.3rem;
	}
	.fixBox .close {
		width: 2.2rem;
		top: -1rem;
		right: -1rem;
	}
}


.fadeInUp {
	opacity: 0;
	transform: translateY(5rem);
	transition: all 1s;
}
.fadeInUp.active {
	opacity: 1;
	transform: translateY(0);
}


/* headLine03 */
.headLine03 {
	margin-bottom: 9.8rem;
	height: 11.5rem;
	color: #fff;
	background: url("../img/common/bg01.jpg") repeat left top / 192rem auto;
	text-align: center;
	padding: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.headLine03 .notes {
	position: absolute;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	display: block;
	left: 50%;
	bottom: 1rem;
	transform: translateX(-50%);
}
.headLine03.hide .inner {
	opacity: 0;
}
@media all and (min-width: 897px) {
	.headLine03 .notes {
		width: 101.4rem;
		text-align: right;
	}
}
@media all and (max-width: 896px) {
	.headLine03 {
		margin-bottom: 4.8rem;
		height: 9rem;
	}
	.headLine03 .notes {
		width: 100%;
		text-align: center;
		bottom: 0.5rem;
		font-size: 0.8rem;
	}
}

/* mainVisual02 */
.mainVisual02 {
	padding-top: 25.4rem;
	height: 55rem;
	background: url("../img/common/bg03.png") no-repeat right top / 100% 100%;
	position: relative;
	overflow: hidden;
}
.mainVisual02::after {
	width: 89rem;
	height: 75.6rem;
	position: absolute;
	bottom: -4.9rem;
	right: -18.6rem;
	background: url("../img/common/main_logo.png") no-repeat left top / 100% 100%;
	content: "";
	z-index: 10;
}
.mainVisual02 .content {
	max-width: 153.4rem;
	width: 90%;
	position: relative;
	z-index: 20;
}
@media all and (min-width: 897px) {
	.mainVisual02 .headLine01 .en {
		font-size: 4.6rem;
	}
	.mainVisual02 .headLine01 {
		font-size: 2rem;
	}
	.mainVisual02 .headLine01 .inner img {
		top: -7.2rem;
		right: -8.3rem;
	}
}
@media all and (max-width: 896px) {
	.mainVisual02 .headLine01 .inner img {
		width: 10rem;
		top: -3rem;
	}
	.mainVisual02 {
		padding-top: 12rem;
		height: 39rem;
	}
	.mainVisual02::after {
		width: 15rem;
		height: 15rem;
		bottom: 0;
		right: 0;
		background-size: auto 100%;
	}
}


/* formBox */
.formBox {
	padding: 3rem 3rem 10rem;
	background: url("../img/common/bg04.jpg") repeat left top / 75rem auto;
	font-weight: 600;
}
.formBox .bgBox {
	padding: 0.3rem 3rem 9.7rem;
	background-color: #fff;
}
.formBox .checkUl {
	margin-bottom: -0.2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 4.9rem;
}
.formBox input[type="checkbox"] {
	display: none; 
}
.formBox input[type="checkbox"] ~ span {
	padding: 0.4rem 0 0.4rem 3.1rem;
	line-height: 2rem;
	border-radius: 0;
	border: none;
	display: inline-block;
	background: url("../img/common/check_bg01.png") no-repeat left top 0.4rem;
	background-size: 2rem 2rem;
	cursor: pointer;
}
.formBox input[type="checkbox"]:checked ~ span {
	background-image: url("../img/common/check_bg02.png");
}
/* agreeTxt */
.formBox .agreeTxt {
	margin-top: 7.1rem;
	text-align: center;
}
.formBox .agreeTxt input[type="checkbox"] ~ span {
	padding: 0.4rem 0 0.4rem 3rem;
	letter-spacing: 0.1em;
	background-image: url("../img/common/check_bg03.png");
}
.formBox .agreeTxt input[type="checkbox"]:checked ~ span {
	background-image: url("../img/common/check_bg04.png");
}
.formBox input[type="text"],
.formBox input[type="email"],
.formBox input[type="number"],
.formBox textarea,
.formBox select {
	padding: 0 1.5rem;
	width: 100%;
	height: 6rem;
	border: 0.1rem solid #C8C8C8;
	background-color: #fff;
	border-radius: 0;
	box-sizing: border-box;
	font-weight: 600;
	appearance: none;
	-webkit-appearance: none; 
}
.formBox textarea {
	padding: 1.5rem;
	height: 10rem;
	resize: vertical;
}
.formBox select::-ms-expand { display: none; }
.formBox .must {
	margin-left: 0.3rem;
	color: #FF0000;
	font-size: 1rem;
	display: inline-block;
	vertical-align: top;
}
/* formBox .submit */
.formBox .submit {
	margin-top: 3rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;
}
.formBox .submit li {
	padding-bottom: 0.2rem;
	width: 40rem;
	height: 8rem;
	color: #1E1E1E;
	font-weight: 600;
	background-color: #D1F21F;
	border-radius: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	cursor: pointer;
}
.formBox .submit li::after {
	margin-top: -1rem;
	width: 2rem;
	height: 2rem;
	position: absolute;
	top: 50%;
	right: 3rem;
	background: url("../img/common/icon02.png") no-repeat left top / 100% 100%;
	content: "";
	transition: 0.3s;
}
.formBox .submit li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #0064B6;
	transform: scaleX(0);
	transform-origin: right;
	transition: all 0.5s ease;
	transition-property: transform;
}
.formBox .submit input {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	opacity: 0;
	cursor: pointer;
}
.formBox .submit .txt {
	position: relative;
	z-index: 5;
}
.formBox .submit .return {
	background-color: #C8C8C8;
}
.formBox .submit .return::after {
	right: auto;
	left: 3rem;
	background-image: url("../img/common/icon11.png")
}
.formBox .hopeUl {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
}
.formBox .hopeUl li {
	width: 31.2rem;
	position: relative;
}
.formBox .hopeUl input[type="text"],
.formBox .hopeUl select,
.formBox .hopeUl .btn {
	color: #0064B6;
	width: 100%;
	height: 4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 0.1rem solid #0064B6;
	border-radius: 4rem;
	background: #EAF5FD;
	font-size: 1.6rem;
	letter-spacing: 0.03em;
}
.formBox .hopeUl .btn span {
	padding-left: 2rem;
	background: url("../img/common/icon12.png") no-repeat left center / 1.1rem;
}
.formBox .hopeUl input[type="text"],
.formBox .hopeUl select {
	padding-left: 13.3rem;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	border: none;
	appearance: none;
	-webkit-appearance: none; 
	opacity: 0;
}
@media all and (min-width: 897px) {
	.formBox .submit li:hover::before {
		transform: scaleX(1);
		transform-origin: left;
	}
	.formBox .submit li:hover {
		color: #D1F21F;
	}
}
@media all and (max-width: 896px) {
	.formBox .submit {
		display: block;
	}
	.formBox .submit li {
		margin: 0 auto 2rem;
		width: 100%;
		height: 7rem;
		max-width: 35rem;
	}
	.formBox .submit li:last-child {
		margin-bottom: 0;
	}
	.formBox {
		padding: 1.5rem 1.5rem 5rem;
	}
	.formBox .bgBox {
		padding: 3rem 1.5rem 5rem;
	}
	.formBox .checkUl {
		margin-bottom: 0;
		gap: 1rem 3rem;
	}
	.formBox input[type="text"],
	.formBox input[type="email"],
	.formBox input[type="number"],
	.formBox textarea {
		height: 5rem;
		padding: 1rem;
	}
	.formBox textarea {
		padding: 1rem;
		height: 15rem;
	}
	.formBox .agreeTxt {
		margin-top: 3rem;
	}
	.formBox .hopeUl {
		display: block;
	}
	.formBox .hopeUl li {
		width: auto;
		margin-bottom: 2rem;
	}
	.formBox .hopeUl li:last-child {
		margin-bottom: 0;
	}
	.formBox .hopeUl input[type="text"],
	.formBox .hopeUl select,
	.formBox .hopeUl .btn {
		font-size: 1.4rem;
	}
	.formBox .hopeUl input[type="text"],
	.formBox .hopeUl select {
		padding-left: 40%;
	}
	.formBox .hopeUl .btn span {
		padding-left: 1.5rem;
	}
}


/* comTable */
.comTable {
	width: 100%;
	border-collapse: collapse;
	word-break: break-all;
}
.comTable th,
.comTable td {
	padding: 2.5rem 0;
	vertical-align: middle;
	text-align: left;
	box-sizing: border-box;
	font-weight: 600;
}
.comTable th {
	width: 25.4%;
	font-weight: 500;
}
@media all and (max-width: 896px) {
	.comTable th,
	.comTable td {
		width: 100%;
		float: left;
		padding: 0;
	}
	.comTable td {
		padding-bottom: 2rem;
	}
	.comTable th {
		padding-bottom: 1rem;
	}
	.comTable tr:last-child td:last-child {
		padding-bottom: 0;
	}
}


/* comTel */
.comTel {
	line-height: 1;
	font-size: 2.4rem;
	font-weight: 500;
}
.comTel a {
	margin-left: 1.3rem;
	font-size: 4rem;
	font-weight: 600;
}
.comTel .line {
	display: inline-block;
	vertical-align: top;
	border-bottom: 0.1rem solid #0064B6;
}
@media all and (max-width: 896px) {
	.comTel {
		font-size: 2rem;
		letter-spacing: 0;
	}
	.comTel a {
		margin-left: 0.2rem;
		font-size: 3rem;
	}
}


/* comListDl */
.comListDl {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	letter-spacing: 0;
}
.comListDl dt {
	width: 10.4rem;
	font-size: 1.4rem;
	font-weight: 600;
	position: relative;
}
.comListDl dt span {
	padding-right: 1rem;
	display: inline-block;
	vertical-align: top;
	background-color: #fff;
	position: relative;
	z-index: 10;
}
.comListDl dt .bg {
	padding-right: 0;
	display: block;
}
.comListDl dt::after {
	width: 100%;
	height: 0.1rem;
	position: absolute;
	top: 50%;
	left: 0;
	background-color: #C8C8C8;
	content: "";
}
.comListDl dd {
	width: calc(100% - 10.4rem);
	margin: -0.2rem 0 1rem 0;
	padding-left: 1rem;
}


/* comMessage */
.comMessage {
	margin-top: 10rem;
}
.comMessage .flexBox {
	display: flex;
}
.comMessage .comListDl {
	flex: 1;
	margin: -0.6rem 0 0 3.1rem;
}
.comMessage .comTel {
	width: 48rem;
	position: relative;
}
.comMessage .headLine02 {
	margin-bottom: 3.4rem;
}
.comMessage .comTel::after {
	width: 0.2rem;
	height: 6rem;
	border-right: 0.2rem dotted #0064B6;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -0.2rem;
	content: "";
	margin-top: -0.9rem;
}
@media all and (max-width: 896px) {
	.comMessage .flexBox {
		display: block;
	}
	.comMessage .comTel {
		width: auto;
		margin-bottom: 2rem;
		padding-bottom: 1.5rem;
	}
	.comMessage .comListDl {
		margin: 0;
	}
	.comMessage .comTel::after {
		width: 100%;
		height: 0.2rem;
		border-right: none;
		top: auto;
		transform: translateY(0);
		right: 0;
		margin-top: 0;
		bottom: 0;
		border-bottom: 0.2rem dotted #0064B6;
	}
}


/* headLine04 */
.headLine04 {
	color: #0064B6;
	padding-bottom: 2.2rem;
	font-size: 2rem;
	margin-bottom: 3rem;
	border-bottom: 0.2rem dotted #0064B6;
}

/* confirmBox */
.confirmBox .comTable td {
	font-weight: 400;
}
.confirmBox .bgBox {
	padding-top: 2.9rem;
	padding-bottom: 3rem;
}
@media all and (min-width: 897px) {
	.confirmBox .comTable td,
	.confirmBox .comTable th {
		padding: 0 0 2.4rem;
		vertical-align: top;
	}
	.confirmBox .comTable tr:last-child th,
	.confirmBox .comTable tr:last-child td {
		padding-bottom: 0;
	}
	.confirmBox .submit {
		gap: 5rem;
	}
	.confirmBox .submit li {
		width: 32rem;
	}
}

/* thanksBox */
.thanksBox {
	font-weight: 400;
}
.thanksBox p {
	line-height: 1.5;
}
@media all and (min-width: 897px) {
	.thanksBox .bgBox {
		padding-top: 3.1rem;
		padding-bottom: 3rem;
	}
}


/* comList */
.comList .image {
	margin-bottom: 1.6rem;
}
.comList img {
	width: 100%;
}
.comList .lable {
	margin-bottom: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	line-height: 1;
	font-size: 1.2rem;
}
.comList .lable span {
	padding: 0.7rem 1rem 0.8rem;
	color: #0064B6;
	display: inline-block;
	vertical-align: top;
	background-color: #D1F21F;
}
.comList .name {
	margin-bottom: 0.6rem;
	padding-left: 3.5rem;
	font-size: 2.4rem;
	font-weight: 600;
	position: relative;
	letter-spacing: 0.05em;
}
.comList .name::before {
	width: 2.7rem;
	height: 2.7rem;
	position: absolute;
	top: 0.9rem;
	left: -0.1rem;
	background: url(../img/common/icon10.png) no-repeat left top / 100% 100%;
	content: "";
}
.comList .name small {
	margin: -0.3rem 0 0 1rem;
	font-size: 1.4rem;
	display: inline-block;
	vertical-align: middle;
}
.comList .lable span {
	min-width: 10.8rem;
}
.comList * + .lable {
	margin-top: 1.5rem;
}
.comList .name + .lable {
	margin-top: 0;
}
@media all and (min-width: 897px) {
	.comList {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		overflow: hidden;
		gap: 19.8rem 0;
	}
	.comList li {
		width: calc(50% - 2.5rem);
		position: relative;
	}
	.comList li:nth-child(2n + 1)::before {
		width: 99.9rem;
		height: 0.1rem;
		position: absolute;
		top: -10rem;
		left: 0;
		background-color: #A8C5DD;
		content: "";
	}
	.comList li:first-child::before {
		display: none;
	}
}
@media all and (max-width: 896px) {
	.comList li {
		margin-bottom: 7rem;
	}
	.comList li:last-child {
		margin-bottom: 0;
	}
}


/* comTable02 */
.comTable02 {
	width: 100%;
	border-collapse: collapse;
}
.comTable02 th,
.comTable02 td {
	padding: 2.8rem 0;
	vertical-align: middle;
	text-align: center;
	box-sizing: border-box;
	position: relative;
	background-color: #F0F0F0;
	font-weight: 400;
	border-right: 0.1rem solid #fff;
	border-bottom: 0.1rem solid #fff;
}
.comTable02 th {
	width: 15.1%;
	color: #fff;
	font-weight: 600;
	background-color:#5298D1;
	border-right-width: 0.5rem;
}
.comTable02 tbody tr:nth-child(2n) td {
	background-color: #E9EFF4;
}
.comTable02 thead th {
	background-color: #0064B6;
}
.comTable02 thead td {
	color: #fff;
	background-color: #89AD45;
}
.comTable02 thead th,
.comTable02 thead td {
	padding: 1.8rem 0;
	font-weight: 600;
	border-bottom-width: 0.5rem;
}
.comTable02 img {
	position: absolute;
	bottom: calc(100% - 1.2rem);
	height: 5.9rem;
	left: 50%;
	transform: translateX(-50%);
	margin-left: 3rem;
}
@media all and (min-width: 897px) {
	.comTable02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comTable02 img {
		height: 4.2rem;
		margin-left: 1.5rem;
	}
}



/* comTextBox */
.comTextBox {
	padding: 4rem 0 9.6rem;
	color: #fff;
	background: url("../img/common/bg01.jpg") repeat left top / 192rem auto;
	text-align: center;
	font-size: 1.8rem;
}
.comTextBox .headLine02 {
	margin-bottom: 3.3rem;
	padding-bottom: 3.9rem;
	color: #fff;
	border-bottom: 0.1rem solid #fff;
	text-align: center;
}
.comTextBox p {
	line-height: 2;
}
.comTextBox .col {
	font-weight: 600;
	color: #D1F21F;
}
@media all and (max-width: 896px) {
	.comTextBox {
		padding: 4rem 0 5rem;
		font-size: 1.4rem;
		text-align: left;
	}
}


/* errorMsg */
.errorMsg {
	margin-bottom: 2rem;
	color: #f00;
}

/* ui-datepicker */
.ui-datepicker {
	width: 31.2rem;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	background: url(../img/common/date_arrow01.png) no-repeat center center / cover;
}
.ui-datepicker .ui-datepicker-next {
	background-image: url(../img/common/date_arrow02.png);
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
	display: none;
}
.ui-datepicker td span,
.ui-datepicker td a {
	padding: 0.7rem;
	aspect-ratio: 1 / 1;
}


/* headLine05 */
.headLine05 {
	text-align: center;
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 1;
}
.headLine05 .jp {
	font-weight: 600;
	display: block;
	font-size: 1.2rem;
	margin: 1.7rem 3.7rem 0 0;
  	letter-spacing: 0.05em;
}
.headLine05.left {
	text-align: left;
}
.headLine05.left .jp {
	color: #000;
	margin: 1.7rem 0 0 -3.7rem;
}
@media all and (max-width: 896px) {
	.headLine05 {
		font-size: 2.8rem;
	}
	.headLine05.left .jp {
		margin: 1.7rem 0 0 -2.7rem;
	}
}


/* comList02 */
.comList02 li {
	margin-bottom: 2rem;
}
.comList02 li:last-child {
	margin-bottom: 0;
}
.comList02 .box {
	display: block;
	background-color: #fff;
	padding: 2.7rem 4rem 2.6rem 3rem;
	letter-spacing: 0.1em;
	border-radius: 1.2rem;
	position: relative;
}
.comList02 .time {
	margin-bottom: 1.5rem;
	font-weight: 600;
	font-size: 1.4rem;
	letter-spacing: 0.03em;
}
.comList02 a {
	display: block;
}
.comList02 a:after {
	width: 1.1rem;
	height: 1.1rem;
	position: absolute;
	top: 50%;
	right: 2.7rem;
	transform: translateY(-50%);
	background: url("../img/common/icon15.png") no-repeat left top / 100% 100%;
	content: "";
}
@media all and (min-width: 897px) {
	.comList02 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comList02 .box {
		padding: 1.5rem 4rem 1.5rem 2rem;
		letter-spacing: 0.1em;
	}
	.comList02 a::after {
		right: 1.5rem;
	}
	.comList02 .time {
		margin-bottom: 0.4rem;
		font-size: 1.2rem;
	}
}


/* pageBtm */
.pageBtm {
	position: relative;
}