@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	position: relative;
	overflow: hidden;
	background-color: #eee;
	min-height: 768px;
}
.mainVisual .mphotoBox {
	display: flex;
	height: 100%;
	overflow: hidden;
}
.mainVisual .mphotoBox > ul {
	width: 40%;
	display: flex;
	flex-wrap: wrap;
	height: 100%;
}
.mainVisual .mphotoBox li {
	width: 50%;
	height: 25%;
	overflow: hidden;
}
.mainVisual .mphotoBox .wid {
	width: 100%;
	height: 50%;
}
.mainVisual .mphotoBox .mList {
	width: 20%;
}
.mainVisual .mphotoBox .mList li {
	width: 100%;
	height: 33.5%;
}
.mainVisual .mphotoBox .mList li:nth-child(2) {
	height: 35.1%;
}
.mainVisual .mphotoBox .mList li:nth-child(3) {
	height: 31.4%;
}
.mainVisual .mphotoBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mainVisual .por01 {
	position: absolute;
	z-index: 1;
	left: 27px;
	top: 25px;
}
.mainVisual .por02 {
	position: absolute;
	z-index: 1;
	right: 27px;
	bottom: 25px;
}
.mainVisual .por03 {
	margin-top: -32px;
	position: absolute;
	z-index: 1;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
}
.mainVisual .text {
	font-size: 1.4rem;
	width: 370px;
	margin: 18px auto 0;
	text-align: center;
	font-weight: 700;
}
.mainVisual .text span {
	text-decoration: underline;
}
.mainVisual .img .comBtn a {
	margin: -229px auto 11px;
	width: 370px;
	position: relative;
}
.mainVisual .img .comBtn.special a {
	margin: 0 auto;
}
.fadeInUp01 {
	opacity: 0;
	transition-delay: 0.2s;
	transition: all ease-in-out 0.8s;
}
.fadeInUp01.on {
	opacity: 1;
}
.fadeInUp01.special {
	transition-delay: 0.25s;
}
.fadeInUp01.special01 {
	transition-delay: 1s;
}
@media all and (max-width: 896px) {
	.mainVisual {
		min-height: 520px;
	}
	.mainVisual .mphotoBox > ul {
		width: 39.2%;
	}
	.mainVisual .mphotoBox li {
		height: 25%;
	}
	.mainVisual .mphotoBox .wid {
		height: 50%;
	}
	.mainVisual .mphotoBox .mList {
		width: 21.6%;		
	}
	.mainVisual .mphotoBox .mList li {
		height: 34%;
	}
	.mainVisual .mphotoBox .mList li:nth-child(2) {
		height: 33.4%;
	}
	.mainVisual .mphotoBox .mList li:nth-child(3) {
		height: 32.6%;
	}
	.mainVisual .img .comBtn a {
		margin: -173px auto 8px;
		width: 246px;
	}
	.mainVisual .text {
		margin: 11px auto 0;
		width: 246px;
		font-size: 1.1rem;
	}
	.mainVisual .img01 {
		width: 348px;
	}
}
.sec01 {
	position: relative;
	padding: 100px 0 0;
	background: #f7f7f7 url("../img/index/bg01.png") no-repeat right 40px top 26px / 537px auto;
}
.sec01 .textB  {
	text-align: left;
}
.sec01::after {
	position: absolute;
	width: 100%;
	height: 90px;
	background-color: #fff;
	left: 0;
	bottom: 0;
	content: "";
}
.sec01 .linkList {
	display: flex;
	background-color: #fff;
	box-shadow: 0px 3px 12px rgba(18, 18, 18, 0.12);
	border-radius: 15px;
	width: 100%;
	position: relative;
	z-index: 100;
}
.sec01 .linkList li {
	width: 25%;
	height: 70px;
	box-sizing: border-box;
}
.sec01 .linkList li a {
	width: 100%;
	height: 100%;
	display: block;
	font-size: 1.7rem;
	font-weight: 500;
	border-right: 1px solid #dfdfdf;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	font-family: 'Murecho', sans-serif;
}
.sec01 .linkList li a:hover {
	opacity: 0.7;
}
.sec01 .linkList li a img {
	margin-left: 10px;
}
.sec01 .headLine01 img {
	top: -197px;
}
.sec01 .headLine01 .en {
	margin-top: -8px;
}
.sec01 .bgBox {
	padding: 26px 10px 25px;
	width: 360px;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0px 3px 12px rgba(18, 18, 18, 0.12);
	box-sizing: border-box;
}
.sec01 .bgBox h3 {
	margin-bottom: 43px;
	position: relative;
	font-size: 2rem;
	text-align: center;
	font-weight: 700;
}
.sec01 .bgBox h3::after {
	position: absolute;
	width: 40px;
	height: 4px;
	background: #323232;
	border-radius: 2px;
	left: 50%;
	top: 48px;
	transform: translateX(-50%);
	content: "";
}
.sec01 .list {
	margin-left: 25px;
}
.sec01 .list li {
	margin-bottom: 3px;
	padding-left: 18px;
	font-size: 1.6rem;
	background: url("../img/common/icon05.png") no-repeat left top 8px / 14px auto;
	font-weight: 700;
}
.sec01 .flexBox {
	padding: 130px 0 23px 0;
	display: flex;
	justify-content: space-between;
}
.sec01 .img02 {
	height: 389px;
	background: url("../img/index/img03.png") no-repeat center center / auto 100%;
}
.sec01 .bgBox02 {
	margin: -4px auto 0;
	padding: 40px 60px 40px 54px;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0px 3px 12px rgba(18, 18, 18, 0.12);
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	width: 1080px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.sec01 .bgBox02 .textBox {
	margin-top: 58px;
	flex: 1;
	font-weight: 700;
}
.sec01 .bgBox02 .img {
	position: absolute;
	left: -20px;
	top: 29px;
}
.sec01 .bgBox02 .photoBox {
	margin-left: 15px;
	width: 400px;
}
.sec01 .bgBox02 .textBox h3 {
	margin-bottom: 17px;
	font-size: 3rem;
	line-height: 1.4;
	font-weight: 500;
}
.sec01 .bgBox02 .text {
	margin-bottom: 17px;
	font-size: 1.6rem;
	color: #020202;
	line-height: 1.65;
	font-weight: 500;
}
.sec01 .bgBox02 .list02 li {
	margin-bottom: 4px;
	font-size: 1.4rem;
	font-weight: 500;
}
.sec02 {
	padding: 121px 0 96px;
}
.sec02 .img {
	margin: 51px auto 0;
	position: relative;
	width: 1080px;
	z-index: 10;
}
.sec02 .img02 {
	margin-top: 51px;
	position: relative;
	z-index: 10;
}
.sec02 .hand {
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -8px;
	z-index: 100;
}
.sec02 .tableBox {
	width: 1080px;
	margin: 0 auto;
}
.sec02 .tableBox table {
	width: 100%;
	border-collapse: collapse;
}
.sec02 .tableBox table th,
.sec02 .tableBox table td {
	vertical-align: middle;
	text-align: left;
	box-sizing: border-box;
	border: 1px solid #dfdfdf;
}
.sec02 .tableBox table tr:first-child th {
	padding: 12px 20px 13px;
	font-size: 2.4rem;
	color: #fff;
	font-weight: 700;
	background: linear-gradient( to right,#11669b 0%, #0f0e86 100%);
	font-family: 'Murecho', sans-serif;
	border: 0;
}
.sec02 .tableBox table tr:nth-child(2) th {
	padding: 31px 10px 30px;
	background: #a7aab7;
	color: #fff;
	font-weight: 700;
	font-size: 1.8rem;
	text-align: center;
	border: 0;
	border-right: 1px solid #dfdfdf;
	width: 24.3%;
}
.sec02 .tableBox table tr:nth-child(3) th {
	background: #a7aab7;
	color: #fff;
	font-weight: 700;
	font-size: 1.8rem;
	text-align: center;
	border: 0;
	border-right: 1px solid #dfdfdf;
	width: calc( 51.4% / 4);
}
.sec02 .tableBox table tr .wid {
	padding: 0 10px !important;
	width: 51.4% !important;
	border: 0 !important;
	border-bottom: 1px solid #dfdfdf !important;
}
.sec02 .tableBox table .wid02 {
	padding: 43px 20px 44px;
	font-size: 1.8rem;
	font-weight: 700;
}
.sec02 .tableBox table .wid03 {
	padding: 9px 20px;
	color: #da1516;
	font-weight: 700;
}
.sec02 .tableBox table .wid02 .size04 {
	margin-top: -4px;
	font-size: 1.4rem;
	display: block;
}
.sec02 .tableBox table td {
	padding: 8px 12px;
	font-size: 1.8rem;
	font-weight: 500;
}
.sec02 .tableBox table .bg01 {
	background: #3fa8f5;
	text-align: center;
	color: #fff;
	font-weight: 700;
}
.sec02 .tableBox table .bg01.special {
	border-top: 0;
}
.sec02 .tableBox table .bg02 {
	background: #abb2ea;
	text-align: center;
	color: #fff;
	font-weight: 700;
}
.sec02 .tableBox table sup {
	font-size: 1rem;
	vertical-align: super;
}
@media all and (max-width: 896px) {
	.sec02 .tableBox {
		width: 586px;
		margin-bottom: 17px;
	}
	.sec02 .tableBox table tr:first-child th {
		padding: 8px 20px 8px 12px;
		font-size: 1.5rem;
		border-bottom: 1px solid #dfdfdf;
	}
	.sec02 .tableBox table tr:nth-child(2) th {
		padding: 17px 10px;
		font-size: 1.3rem;
		width: 18.4%;
	}
	.sec02 .tableBox table .wid04 {
		width: 23.59% !important;
	}
	.sec02 .tableBox table tr .wid {
		width: 56.01% !important;
	}
	.sec02 .tableBox table tr:nth-child(3) th {
		font-size: 1.2rem;
	}
	.sec02 .tableBox table .wid02 {
		padding: 25px 10px 23px 12px;
		font-size: 1.2rem;
		border-left-width: 2px;
	}
	.sec02 .tableBox table .wid02 .size04 {
		margin-top: 0;
		font-size: 1rem;
	}
	.sec02 .tableBox table td {
		padding: 4px 5px 4px 10px;
		font-size: 1.2rem;
	}
	.sec02 .tableBox table .wid03 {
		padding: 5px 12px;
		border-left-width: 2px;
	}
	.sec02 .tableBox table .bg01.special02 {
		padding: 0;
	}
}
.fadeInUp{
	display: block;
	-webkit-animation: rotate-center 0.6s ease-in-out both;
	animation: rotate-center 0.6s ease-in-out both;
}
/**
 * ----------------------------------------
 * animation rotate-center
 * ----------------------------------------
 */
@-webkit-keyframes rotate-center {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes rotate-center {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
.sec02 .por {
	position: absolute;
	right: 61px;
	top: -84px;
	z-index: 100;
}
.sec02 .wid {
	width: 100%;
}
.sec02 .textB a {
	margin-top: 27px;
	text-align: center;
}
.sec03 {
	padding: 212px 0 79px;
	background-color: #f7f7f7;
}
.sec03 .img {
	margin: 36px auto 0;
	position: relative;
	width: 1116px;
	z-index: 10;
}
.sec03 .por {
	position: absolute;
	right: -3px;
	top: 44px;
	z-index: 100;
}
.sec04 {
	padding: 210px 0 100px;
}
.sec04 .img {
	margin-top: 35px;
	position: relative;
}
.sec05 {
	padding: 210px 0 161px;
	background-color: #f7f7f7;
}
.sec05 .headLine01 {
	flex: 1;
}
.sec05 .bgBox03 {
	margin-top: 36px;
	padding: 25px 40px 20px;
	width: 520px;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0px 3px 12px rgba(18, 18, 18, 0.12);
	box-sizing: border-box;
}
.sec05 .bgBox03 p {
	margin-top: 21px;
	font-size: 2rem;
	line-height: 1.45;
	font-weight: 700;
	font-family: 'Murecho', sans-serif;
}
.sec05 .bgBox03 .photoBox {
	text-align: center;
}
.sec06 {
	padding: 80px 0;
	background: linear-gradient( to right, #11669b 0%, #0f0e86 100%);
}
.sec06 .content {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.sec06 .textBox p {
	margin-bottom: 22px;
	font-size: 2.2rem;
	line-height: 1.4545;
	font-weight: 700;
	color: #fff;
	text-align: center;
}
.sec06 .textBox .comBtn a {
	width: 280px;
	height: 72px;
	border-radius: 50px;
}
.sec06 .textList {
	display: flex;
}
.sec06 .textList li {
	padding: 42px 5px 10px;
	margin-right: 15px;
	width: 164px;
	height: 164px;
	background-color: #fff;
	border-radius: 50%;
	box-sizing: border-box;
}
.sec06 .textList li:last-child {
	margin-right: 0;
}
.sec06 .textList li h3 {
	margin-bottom: 5px;
	text-align: center;
	color: #0e0f8d;
	font-size: 2.6rem;
	font-family: 'Murecho', sans-serif;
}
.sec06 .textList li p {
	font-size: 1.3rem;
	text-align: center;
	font-weight: 700;
}
.sec06 .textList li p span {
	font-size: 1rem;
	display: block;
}
.sec07 {
	padding: 119px 0 120px;
}
.sec07 .tableBox02 {
	position: relative;
}
.sec07 .tableBox {
	margin-bottom: 50px;
}
.sec07 .tableBox .red {
	font-weight: 700;
}
.sec07 .tableBox02 .hand {
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -35px;
	z-index: 100;
}
.sec07 .tableBox table {
	width: 100%;
	border-collapse: collapse;
}
.sec07 .tableBox tr:first-child {
	background: linear-gradient(to right, #11669b 0%, #0f0e86 100%);
}
.sec07 .tableBox tr:first-child th {
	padding: 17px 10px;
	font-size: 1.8rem;
	color: #fff;
	text-align: center;
	border-left: 1px solid #fff;
	width: 21.7%;
}
.sec07 .tableBox tr th:first-child {
	width: 13.38%;
	border: 0;
}
.sec07 .tableBox th,
.sec07 .tableBox td {
	padding: 13px 10px 10px 20px;
	font-size: 1.6rem;
	vertical-align: top;
	text-align: left;
	box-sizing: border-box;
	font-weight: 700;
}
.sec07 .tableBox td {
	border-left: 1px solid #dfdfdf;
	font-weight: 500;
}
.sec07 .tableBox tr:nth-child(2n) th,
.sec07 .tableBox tr:nth-child(2n) td{
	background-color: #f2f2f2;
}
.sec07 .tableBox td .size02.special {
	margin-bottom: 13px;
}
.sec07 .bgBox {
	padding: 40px 60px;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0px 3px 12px rgba(18, 18, 18, 0.12);
	display: flex;
	justify-content: space-between;
}
.sec07 .bgBox .textBox01 {
	margin-top: 9px;
}
.sec07 .bgBox .textBox01 .text01 {
	font-family: 'Murecho', sans-serif;
	font-size: 2rem;
	font-weight: 700;
}
.sec07 .bgBox .textBox01 .text02 {
	margin-top: 9px;
	font-size: 3.8rem;
	line-height: 1.315;
	font-weight: 500;
	font-family: 'Murecho', sans-serif;
}
.sec07 .bgBox .textBox01 .text02 .bg01 {
	background: url("../img/index/bg02.png") no-repeat left bottom / 310px auto;
}
.sec07 .bgBox .textBox01 .text02 .bg02 {
	background: url("../img/index/bg03.png") no-repeat left bottom / 512px auto;
}
.sec07 .bgBox .textBox02 {
	width: 400px;
	padding: 31px 10px 25px;
	border-radius: 15px;
	background: #f7f7f7;
	box-sizing: border-box;
}
.sec07 .bgBox .textBox02 p {
	margin-bottom: 14px;
	line-height: 1.588;
	font-size: 1.7rem;
	text-align: center;
	font-weight: 700;
}
.sec07 .bgBox .textBox02 p span {
	text-decoration: underline;
}
.sec07 .bgBox .comBtn a {
	width: 320px;
	margin: 0 auto 10px;
}
@media all and (max-width: 896px) {
	.sec02 .img {
		padding-bottom: 15px;
		width: 586px;
	}
	.sec02 .img02 {
		margin-top: 103px;
		overflow-x: auto;
		margin-right: -20px;
	}
	.sec01 .img02 {
		height: 259px;
		background-image: url("../img/index/sp_img03.png");
	}
	.sec02 .por {
		top: -98px;
		right: 17px;
		margin-right: -35px;
		margin-left: -20px;
	}
	.sec07 .tableBox02 {
		margin-right: -20px;
		overflow-x: auto;
	}
	.sec07 .tableBox {
		margin-bottom: 15px;
		width: 915px;
	}
	.sec07 .tableBox tr:first-child th {
		font-size: 1.3rem;
		padding: 13px 10px 12px;
		width: 22.8%;
	}
	.sec07 .tableBox th, .sec07 .tableBox td {
		padding: 12px 10px 9px 15px;
		font-size: 1.2rem;
	}
	.sec07 .tableBox tr th:first-child {
		width: 11.3%;
	}
	.mainVisual .img .comBtn a {
		margin: -173px auto 8px;
		width: 246px;
	}
	.mainVisual .text {
		margin: 11px auto 0;
		width: 246px;
		font-size: 1.1rem;
	}
	.mainVisual .img01 {
		width: 348px;
	}
	.sec01 {
		padding-top: 20px;
		background-size: 255px auto;
		background-position: right -40px top 266px;
	}
	.sec01 .headLine01 {
		margin:  0 -15px 21px 0;
	}
	.sec01 .linkList {
		display: block;
	}
	.sec01 .linkList li {
		width: 100%;
		height: 55px;
	}
	.sec01 .linkList li a {
		padding: 5px 20px 5px 19px;
		justify-content: space-between;
		font-size: 1.5rem;
		font-weight: 500;
		border-right: 0;
		border-bottom: 1px solid #dfdfdf;;
	}
	.sec01 .linkList li a img {
		width: 21px;
		margin-left: 0;
	}
	.sec01 .flexBox {
		padding: 65px 0 0 0;
		display: block;
	}
	.sec01 .headLine01 img {
		top: -67px;
	}
	.sec01 .headLine01 .en02 {
		margin-bottom: 5px;
	}
	.sec01 .bgBox {
		width: auto;
	}
	.sec01 .bgBox h3 {
		margin-bottom: 45px;
	}
	.sec01 .bgBox h3 img {
		margin-left: 4px;
	}
	.sec01 .list {
		margin-left: 15px;
	}
	.sec01 .img02 {
		margin: 15px 0 0;
	}
	.sec01 .img02 img {
		width: 100%;
	}
	.sec01 .bgBox02 {
		margin: -40px 0 0 0;
		padding: 73px 20px 26px;
		width: auto;
		z-index: 10;
		display: block;
		position: relative;
	}
	.sec01::after {
		height: 50px;
	}
	.sec01 .bgBox02 .img {
		left: -11px;
		top: 20px;
	}
	.sec01 .bgBox02 .textBox {
		margin-top: 0;
	}
	.sec01 .bgBox02 .textBox h3 {
		margin-bottom: 16px;
		font-size: 2.4rem;
		line-height: 1.416;
	}
	.sec01 .bgBox02 .photoBox {
		margin-bottom: 16px;
		margin-left: 0;
		width: auto;
		border-radius: 12px;
		overflow: hidden;
	}
	.sec01 .bgBox02 .photoBox img {
		width: 100%;
	}
	.sec01 .bgBox02 .text {
		margin-bottom: 11px;
		font-size: 1.5rem;
		line-height: 1.6;
	}
	.sec01 .bgBox02 .list02 li {
		margin-bottom: 1px;
		font-size: 1.3rem;
		line-height: 1.46;
		text-indent: -1em;
		padding-left: 1em;
	}
	.textB a {
		margin-top: 20px;
	}
	.sec02 {
		padding: 75px 0 48px;
	}
	.sec02 .textB a {
		margin-top: 17px;
	}
	.sec03 {
		padding: 75px 0 30px;
	}
	.sec03 .img {
		width: auto;
		margin: 5px -18px 0;
	}
	.sec03 .img .img01 {
		width: 100%;
	}
	.sec03 .por {
		right: 8px;
		top: 35px;
	}
	.sec04 {
		padding: 72px 0 50px;
	}
	.sec04 .img {
		margin: 21px 5px 0;
	}
	.sec04 .img img {
		width: 100%;
	}
	.sec05 {
		padding: 80px 0 50px;
	}
	.sec05 .content {
		display: block;
	}
	.sec05 .bgBox03 {
		margin-top: 15px;
		padding: 20px;
		width: auto;
	}
	.sec05 .bgBox03 .photoBox {
		width: 77%;
		margin: 0 auto;
	}
	.sec05 .bgBox03 p {
		font-size: 1.7rem;
		line-height: 1.325;
	}
}




/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.registration {
	padding: 118px 0 130px;
	background-color: #F7F7F7;
}
.registration .content {
	margin: 0 auto;
	max-width: 1080px;
	padding: 0;
}
.registration .tel strong {
	margin-bottom: 12px;
	color: #0E0F8D;
	font-size: 2rem;
	display: block;
}
.registration .tel {
	color: #020202;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}
form#mail_form {
	margin: 44px 0 110px;
	padding: 60px 100px 59px 110px;
	width: 100%;
	border: none;
	border-radius: 15px;
	box-shadow: 0 3px 12px rgba( 18, 18, 18, 0.12 );
	box-sizing: border-box;
}
form#mail_form input[type="text"],
form#mail_form input[type="email"],
form#mail_form input[type="tel"],
form#mail_form textarea {
	padding: 10px 3%;
	width: 100%;
	height: 66px;
	appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
	color: #323232;
	font-size:  2rem;
	font-weight: 600;
	line-height: 1.35;
    border-radius: 10px;
	border: 1px solid #CCCCCC;
	background-color: #fff;
	box-sizing: border-box;
}
form#mail_form textarea {
	resize: none;
	padding: 20px 3% 15px;
}
form#mail_form input::-webkit-input-placeholder,
form#mail_form textarea::-webkit-input-placeholder {
	color: #C3C3C3;
	opacity:1;
}
form#mail_form input:-moz-placeholder,
form#mail_form textarea:-moz-placeholder {
	color: #C3C3C3;
	opacity:1;
}
form#mail_form input::-moz-placeholder,
form#mail_form textarea::-moz-placeholder {
	color: #C3C3C3;
	opacity:1;
}
form#mail_form  input:-ms-input-placeholder,
form#mail_form  textarea:-ms-input-placeholder {
	color: #C3C3C3;
	opacity:1;
}
form#mail_form input[type="radio"] {
    position: absolute;
	opacity: 0;
	padding: 0;
	height: 14px;
	width: 14px;
	vertical-align: middle;
}
form#mail_form input[type="radio"] + span {
	background: url("../img/common/radio.png") no-repeat left center;
	background-size: 20px 20px;
	border-radius: 0;
    display: inline-block;
    line-height: 20px;
    padding: 4px 0 4px 25px;
}
form#mail_form input[type="radio"]:checked + span {
	background-image: url("../img/common/radio_selected.png");
}
form#mail_form input[type="checkbox"] {
    opacity: 0;
	padding: 0;
	height: 0;
	width: 0;
	vertical-align: middle;
}
form#mail_form input[type="checkbox"] + span {
	background: url("../img/common/check_box.png") no-repeat left top 3px;
	background-size: 18px 18px;
	border-radius: 0;
    display: inline-block;
    line-height: 18px;
    padding: 4px 0 4px 26px;
}
form#mail_form input[type="checkbox"] + span:hover {
	cursor: pointer;
}
form#mail_form input[type="checkbox"]:checked + span {
	background-image: url("../img/common/check_box_selected.png");
}
form#mail_form dl {
	margin-bottom: 33px;
	width: 100%;
	display: flex;
	border-bottom: none;
}
form#mail_form dl dt,
form#mail_form dl dd {
	float: none;
}
form#mail_form dl::after,
form#mail_form dl dt::after {
	display: none;
}
form#mail_form dl dt {
	padding: 17px 0 0;
	width: 24.4%;
	display: flex;
	align-items: flex-start;
	position: relative;
	font-size: 2rem;
	font-weight: 600;
	text-align: left;
}
form#mail_form dl dt i {
	float: none;
	position: absolute;
	top: 14px;
	right: 0;
}
form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
	padding: 1px 11px;
	border-radius: 5px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 600;
	border: none;
}
form#mail_form dl dt span.required {
	background-color: #0E0F8D;
}
form#mail_form dl dt span.optional {
	background-color: #B2B2B2;
}
form#mail_form dl dd {
	width: calc(100% - 24.4%);
	padding: 0 0 0 2%;
	box-sizing: border-box;
}
form#mail_form dl dd .notice {
	margin-top: 12px;
	display: inline-block;
	color: #767676;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1;
}
form#mail_form dl dd span.error_blank, form#mail_form dl dd span.error_format, form#mail_form dl dd span.error_match,form#mail_form div#agreement span.error_check {
	font-weight: 400;
}
form#mail_form .bgBox {
	margin-bottom: 31px;
	padding: 27px 30px 17px;
	background-color: #F7F7F7;
	border-radius: 10px;
}
form#mail_form .bgBox .small {
	margin-bottom: 10px;
	font-size: 1.2rem;
	font-weight: 700;
}
form#mail_form .bgBox dl {
	margin-bottom: 5px;
}
form#mail_form .bgBox dt {
	width: 21.1%;
	padding: 0;
	font-size: 1.6rem;
}
form#mail_form .bgBox dl dt i {
	top: 0;
}
form#mail_form .bgBox dl dt span.required, form#mail_form .bgBox dl dt span.optional {
	padding: 1px 10px;
	font-size: 1.1rem;
}
form#mail_form .bgBox dd {
	padding-left: 1.7%;
	font-size: 1.6rem;
	font-weight: 600;
}
form#mail_form .bgBox ul {
	display: flex;
}
form#mail_form .bgBox ul li {
	width: 19%;
}
form#mail_form .bgBox ul li label {
	margin-top: 0;
	padding: 0;
	background-color: transparent;
}
form#mail_form .checkBox {
	text-align: center;
	font-size: 1.6rem;
	font-weight: 600;
}
form#mail_form .checkBox label {
	margin-left: -10px;
}
div#agreement {
	border-bottom: none;
}
form#mail_form .txt {
	margin: 5px 0 5px;
	color: #767676;
	font-weight: 500;
	line-height: 1.65;
}
#form_submit {
	display: flex;
	justify-content: center;
}
form#mail_form input[type="button"]:last-of-type {
	margin-right: 0;
}
form#mail_form input[type="button"] {
	margin-right: 10px;
	margin-left: 0;
	width: 380px;
	height: 72px;
	font-size: 2rem;
	background: linear-gradient(to right, #FF564E, #E62A22);
	border: none;
	border-radius: 140px;
	box-sizing: border-box;
	transition: all ease 0.3s;
}
form#mail_form input[type="button"]:hover {
	opacity: 0.7;
	background: linear-gradient(to right, #FF564E, #E62A22);
	border: none;
}
.registration.thanks .txt {
	color: #020202;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}
.registration.thanks .link a {
	margin: 40px auto 0;
	width: 380px;
	height: 72px;
	display: block;
	font-size: 2rem;
	background: linear-gradient(to right, #FF564E, #E62A22);
	border: none;
	border-radius: 140px;
	box-sizing: border-box;
	transition: all ease 0.3s;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.registration.thanks .link a:hover {
	opacity: 0.7;
}
.registration.thanks {
	height: calc(100vh - 204px);
	box-sizing: border-box;
}
@media all and (max-width: 896px) {
	.registration {
		padding: 39px 0 0;
	}
	.registration.thanks {
		margin-bottom: -74px;
		height: calc(100vh - 121px);
	}
	.registration .tel {
		font-size: 1.2rem;
		line-height: 1.65;
	}
	.registration .tel strong {
		font-size: 1.5rem;
		margin-bottom: 7px;
	}
	form#mail_form {
		margin-top: 25px;
		padding: 27px 20px 40px;
		border-radius: 0;
	}
	form#mail_form input[type="text"],
	form#mail_form input[type="email"],
	form#mail_form input[type="tel"],
	form#mail_form textarea {
		padding-left: 4%;
		height: 52px;
		font-size: 1.6rem;
	}
	form#mail_form textarea {
		padding: 15px 5% 15px 4%;
		height: 74px;
	}
	form#mail_form dl {
		margin-bottom: 21px;
		display: block;
	}
	form#mail_form dl dt {
		margin-bottom: 5px;
		padding-top: 0;
		width: 100%;
		font-size: 1.6rem;
	}
	form#mail_form dl dt i {
		margin-left: 8px;
		font-size: 1.1rem;
		position: relative;
		top: 3px;
	}
	form#mail_form dl dd {
		padding: 0;
		width: 100%;
	}
	form#mail_form dl dd .notice {
		margin-top: 9px;
		font-size: 1.1rem;
	}
	form#mail_form dl dt span.required,
	form#mail_form dl dt span.optional {
		margin-right: 0;
		padding: 1px 7px 0 6px !important;
		font-size: 1.1rem;
	}
	form#mail_form dl dd .notice {
		margin-right: -8px;
	}
	form#mail_form input[name="address"] {
		height: 74px;
	}
	form#mail_form .bgBox {
		margin-bottom: 10px;
		background-color: transparent;
		padding: 0;
	}
	form#mail_form .bgBox dl {
		padding: 12px 20px 17px;
		background-color: #F7F7F7;
		box-sizing: border-box;
		border-radius: 8px;
	}
	form#mail_form .bgBox .small {
		margin-bottom: 5px;
	}
	form#mail_form .bgBox dt {
		margin-bottom: 9px;
		display: block;
		width: 100%;
		font-size: 1.4rem;
	}
	form#mail_form .bgBox dd {
		padding-left: 0;
	}
	form#mail_form .bgBox ul li {
		width: 32.5%;
		font-size: 1.4rem;
	}
	form#mail_form input[type="radio"] + span {
		background-size: 16px 16px;
	}
	form#mail_form input[type="button"]:hover {
		background: linear-gradient(to right, #FF564E, #E62A22);
		border: none;
	}
	form#mail_form input[type="checkbox"] + span {
		background-size: 16px 16px;
		font-size: 1.4rem;
	}
	div#agreement {
		border-bottom: none;
	}
	form#mail_form .txt {
		margin: 0 0 22px;
		font-size: 1.3rem;
		line-height: 1.461;
	}
	form#mail_form p#form_submit {
		padding: 0;
	}
	form#mail_form input[type="button"] {
		width: 280px;
		height: 64px;
		font-size: 1.6rem;
	}
	form#mail_form input[type="button"]:hover {
		opacity: 1;
	}
	.registration.thanks .txt {
		padding: 0 20px;
	}
	.registration.thanks .link a {
		margin: 30px auto 0;
		width: 280px;
		height: 64px;
		font-size: 1.6rem;
	}
}


.faq {
	padding: 118px 0 107px;
	background-color: #F7F7F7;
}
.faq .content {
	margin: 0 auto;
	max-width: 1080px;
	padding: 0;
}
.faq .headLine03 {
	margin-bottom: 50px;
}
.faqBox {
	margin-bottom: 13px;
	background-color: #fff;
	border-radius: 15px;
	transition: all ease 0.3s;
}
@media all and (min-width: 897px) {
	.faqBox.on {
		box-shadow: rgba(18, 18, 18, 0.12) 0 3px 12px;
	}
}
.question {
	padding: 36px 92px 31px;
	position: relative;
	font-size: 2rem;
	font-weight: 600;
	box-sizing: border-box;
}
.question:hover {
	cursor: pointer;
}
.question::before,
.answer .inner::before {
	position: absolute;
	top: 25px;
	left: 40px;
	color: #0E0F8D;
	font-size: 3.5rem;
	font-weight: 700;
	font-family: 'Roboto', sans-serif;
}
.question::before {
	content: "Q.";
}
.question::after {
	content: "";
	position: absolute;
	top: 34px;
	right: 30px;
	width: 30px;
	height: 30px;
	background: url("../img/index/faq_icon01.png") no-repeat center / 100%;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.faqBox.on .question::after {
	background-image: url("../img/index/faq_icon02.png");
	transform: rotate(45deg);
}
.answer {
	display: none;
}
.answer .inner {
	padding: 13px 40px 43px 92px;
	position: relative;
	display: flex;
}
.answer p {
	margin-bottom: 28px;
	font-weight: 500;
}
.answer p:last-of-type {
	margin-bottom: 0;
}
.answer .inner::before {
	content: "A.";
	top: 2px;
}
.answer .textBox {
	font-size: 1.8rem;
	line-height: 1.555;
	font-weight: 300;
}
.answer .photoBox {
	margin-left: 35px;
	flex-shrink: 0;
}
@media all and (max-width: 896px) {
	.faq {
		padding: 39px 0 37px;
	}
	.faq .headLine03 {
		margin-bottom: 30px;
	}
	.faqBox {
		margin-bottom: 3px;
		border-radius: 0;
	}
	.question {
		padding: 13px 80px 11px 51px;
		font-size: 1.5rem;
		line-height: 1.4;
	}
	.question::before,
	.answer .inner::before {
		font-size: 2.3rem;
		top: 50%;
		left: 20px;
		transform: translateY(-50%);
	}
	.question::after {
		width: 21px;
		height: 21px;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
	}
	.faqBox.on .question::after {
		transform: translateY(-50%) rotate(45deg);
	}
	.answer .inner {
		padding: 5px 30px 43px 51px;
		display: block;
	}
	.answer .inner::before {
		top: 0;
		transform: translateY(0);
	}
	.answer .textBox {
		font-size: 1.4rem;
		line-height: 1.571;
	}
	.answer p {
		margin-bottom: 22px;
	}
	.answer .photoBox {
		margin: 15px -10px 0 -30px;
	}
	.answer .photoBox img {
		width: 100%;
	}
}


.about {
	padding: 118px 0 126px;
}
.about .content {
	margin: 0 auto;
	max-width: 1080px;
	padding: 0;
}
.about .headLine03 {
	margin-bottom: 53px;
}
.about .textBox {
	flex: 1;
}
.about .textBox p {
	margin-bottom: 39px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.722;
}
.about .textList {
	display: flex;
	flex-wrap: wrap;
}
.about .textList dt:nth-of-type(2n-1),
.about .textList dd:nth-of-type(2n-1) {
	background-color: #F2F2F2;
}
.about .textList dt,
.about .textList dd {
	padding: 14px 10px 10px 20px;
	font-size: 1.6rem;
	box-sizing: border-box;
}
.about .textList dt {
	width: 22.3%;
	font-weight: 600;
}
.about .textList dd {
	width: calc(100% - 22.3%);
	font-weight: 500;
}
.about .textList dd li {
	margin-left: 2.6em;
	text-indent: -2.6em;
}
.about .imgBox {
	display: flex;
}
.about .photoBox {
	margin: 2px 0 0 40px;
	flex-shrink: 0;
}
.about .photoBox .photo {
	margin-bottom: 22px;
}
.about .map {
	height: calc(100% - 170px - 22px);
}
@media all and (max-width: 896px) {
	.about {
		padding: 39px 0 41px;
	}
	.about .content {
		padding: 0 20px;
	}
	.about .headLine03 {
		margin-bottom: 18px;
	}
	.about .imgBox {
		display: block;
	}
	.about .textBox {
		margin-bottom: 20px;
	}
	.about .textBox p {
		margin: 0 auto 18px;
		font-size: 1.4rem;
		line-height: 1.714;
		text-align: center;
	}
	.about .textList dt,
	.about .textList dd {
		padding: 10px 10px 10px 15px;
		font-size: 1.3rem;

	}
	.about .textList dt {
		width: 30%;
	}
	.about .textList dd {
		padding-left: 5px;
		width: calc(100% - 30%);
	}
	.about .photoBox {
		margin: 0;
	}
	.about .photoBox .photo {
		margin-bottom: 14px;
	}
	.about .photoBox .photo img {
		width: 100%;
	}
	.about .map {
		height: 221px;
	}
}
@media all and (max-width: 896px) {
	.sec06 {
		padding: 25px 0;
	}
	.sec06 .content {
		display: block;
	}
	.sec06 .textBox {
		margin-bottom: 25px;
	}
	.sec06 .textBox p {
		margin-bottom: 15px;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.sec06 .textBox .comBtn a {
		margin: 0 auto;
		height: 64px;
		font-size: 1.6rem;
	}
	.sec06 .textList {
		display: block;
		border-radius: 10px;
		overflow: hidden;
	}
	.sec06 .textList li {
		margin-right: 0;
		padding: 11px 18px 10px 18px;
		height: auto;
		display: flex;
		width: 100%;
		border-radius: 0;
		border-bottom: 1px solid #DFDFDF;
	}
	.sec06 .textList li:last-of-type {
		border-bottom: none;
	}
	.sec06 .textList li h3 {
		margin: 1px 16px 0 0;
		margin-bottom: 0;
		font-size: 1.8rem;
		width: 78px;
		text-align: left;
		font-weight: 500;
	}
	.sec06 .textList li p {
		font-size: 1.2rem;
		text-align: left;
		line-height: 1.333;
	}
	.sec07 {
		padding: 39px 0;
	}
	.sec07 .headLine03 {
		margin-bottom: 30px;
	}
	.sec07 .bgBox {
		margin-top: 29px;
		padding: 23px 10px 20px;
		display: block;
	}
	.sec07 .bgBox .textBox01 {
		margin: 0 0 16px;
		text-align: center;
	}
	.sec07 .bgBox .textBox01 .text01 {
		font-size: 1.3rem;
	}
	.sec07 .bgBox .textBox01 .text02 .bg01 {
		background-size: 155px auto;
	}
	.sec07 .bgBox .textBox01 .text02 .bg02 {
		background-size: 256px auto;
	}
	.sec07 .bgBox .textBox01 .text02 {
		margin-top: 2px;
		font-size: 1.9rem;
	}
	.sec07 .bgBox .textBox02 {
		margin: 0 10px;
		padding: 20px 25px 2px;
		width: calc(100% - 20px);
	}
	.sec07 .bgBox .comBtn a {
		margin: 0 auto 8px;
		width: 100%;
	}
	.sec07 .bgBox .comBtn.special a {
		margin-bottom: 10px;
		height: 46px;
	}
	.sec07 .bgBox .textBox02 p {
		font-size: 1.1rem;
	}
	.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
		height: 8px;
		background: #B4B4B4;
		border-radius: 10px;
		box-sizing: border-box;
		opacity: 1;
	}
	.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
		height: 8px;
		background: #B4B4B4;
		border-radius: 10px;
		box-sizing: border-box;
		opacity: 1;
	}
}
@media all and (max-width: 374px) {
	.sec01 .bgBox h3 {
		font-size: 1.8rem;
	}
	.sec03 .img .por {
		max-width: 225px;
	}
	.sec07 .bgBox .textBox01 .text02 {
		font-size: 1.6rem;
	}
	.sec07 .bgBox .comBtn a {
		font-size: 1.1rem;
	}
	form#mail_form .bgBox ul li {
		width: 45%;
	}
}
.por02 {
	position: relative;
}
@media all and (min-width: 417px) and (max-width: 643px) {
	.sec03 .por {
		right: 17px;
		top: 37px;
	}
}
@media all and (min-width: 644px) and (max-width: 896px) {
	.sec03 .por {
		right: 26px;
		top: 50px;
	}
}