@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .mainVisual {
	padding: 146px 0;
	min-height: 688px;
	position: relative;
	background: url("../img/index/main_img.jpg") no-repeat center center/cover;
	box-sizing: border-box;
}
#main .mainVisual .content {
    max-width: 1160px;
	position: relative;
}
#main .mainVisual h2 {
    width: 666px;
}
#main .mainVisual .link {
    width: 265px;
    position: absolute;
    right: -29px;
	bottom: -159px;
}
#main .mainVisual .link a:hover {
   opacity: 0.7;
}
#main .tutorial {
	padding: 80px 0;
    position: relative;
}
#main .tutorial::before {
	content: "";
	display: block;
	width: 9999px;
    height: 190px;
    position: absolute;
    top: 0;
	left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(#a0deff 60%, #fff 100%);
	z-index: -1;
}
#main .tutorial::after {
	content: "";
	display: block;
	width: 9999px;
    height: 248px;
    position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(#fff 0%, #ACE2FF 58%, #a0deff 58%, #a0deff 100%);
	z-index: -1;
}
#main .tutorialUl {
	margin-bottom: 13px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .tutorialUl li {
	margin-bottom: 14px;
	width: calc(50% - 4px);
}
#main .tutorialUl .large {
	width: 100%;
}
#main .tutorialUl li:first-child {
	margin-bottom: 24px;
}
#main .tutorialUl li:last-child {
	margin-bottom: 0;
}
#main .tutorialUl span {
	margin-top: 6px;
	display: block;
	color: #aaa;
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	line-height: 1.428;
	text-align: right;
}
#main .point {
	padding: 71px 20px 93px;
}
#main .point .headLine01 span {
	min-width: 462px;
}
#main .point h3 {
	margin-bottom: 53px;
	padding: 3px 0 8px;
	color: #1170B9;
	font-size: 3.8rem;
	font-weight: 900;
	letter-spacing: -0.02em;
	text-align: center;
	background-color: #FEF007;
}
#main .pointBox {
	margin: 0 178px 73px 0;
	position: relative;
}
#main .pointBox::after {
	width: 215px;
	height: 314px;
	position: absolute;
	right: -179px;
	bottom: -8px;
	content: "";
	display: block;
	background: url("../img/index/point_img01.png") no-repeat top center/100%;
}
#main .pointBox > h4 {
	margin-bottom: 37px;
	padding: 9px 0 13px;
	color: #fff;
	font-size: 3.2rem;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1;
	text-align: center;
	background-color: #1170B9;
}
#main .point .reasonList {
	margin-top: -10px;
	display: flex;
}
#main .point .reasonList li {
    margin: 10px 18px 0 0;
	padding: 27px 10px 25px;
    max-width: 225px;
	position: relative;
    border: 1px solid #1170B9;
	box-sizing: border-box;
}
#main .point .reasonList li::before {
	width: 45px;
	height: 38px;
	content: "";
	display: block;
    position: absolute;
	top: -45px;
	left: 50%;
	transform: translatex(-50%);
	background: url("../img/common/icon05.png") no-repeat top center/100%;
}
#main .point .reasonList h5 {
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #1170B9;
	font-size: 2.5rem;
	font-weight: 900;
	line-height: 1.333;
	letter-spacing: -0.04em;
	text-align: center;
}
#main .point .reasonList .small {
	font-size: 2.3rem;
	line-height: 1.454;
}
#main .point .reasonList p {
	letter-spacing: 0.04em;
}
#main .point .blockBox {
    margin: 0 auto;
    padding: 10px 34px 120px;
    max-width: 717px;
    position: relative;
    box-sizing: border-box;
    background: url("../img/index/point_bg01.png") no-repeat top left/703px;
}
#main .point .blockBox::before {
	content: "";
	display: block;
	position: absolute;
	left: -199px;
	bottom: 0;
	width: 216px;
	height: 306px;
	background: url("../img/index/point_img02.png") no-repeat left bottom/100%;
}
#main .point .blockBox::after {
	content: "";
	display: block;
	position: absolute;
	right: -242px;
	bottom: 66px;
	width: 334px;
	height: 334px;
	background: url("../img/index/point_img03.png") no-repeat right bottom/100%;
}
#main .point .blockBox h4 {
	margin-bottom: 10px;
}
#main .point .fewList {
	margin: 0 61px 0 24px;
}
#main .point .fewList li {
    padding: 0 0 7px 48px;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.04em;
    border-bottom: 2px dotted #fff;
    background: url("../img/common/icon01.png") no-repeat left 5px bottom 8px/36px;
    margin-bottom: 11px;
}
#main .point .textImg {
    margin: 0 -20px 42px;
}
#main .result {
	padding: 80px 0 56px;
    background-color: #4FC3F3;
}
#main .result .content {
    padding: 0 50px;
}
#main .result h2 {
	margin: 0 20px 3px 0;
	padding: 5px 10px 5px 28px;
	color: #FEF007;
    font-size: 4rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	text-align: center;
	background-color: #1170B9;
	border-radius: 40px;
}
#main .result .ttl {
	margin-bottom: 5px;
	color: #fff;
    font-size: 4.8rem;
	font-weight: 900;
	letter-spacing: -0.02em;
	text-align: center;
}
#main .result .longList {
	margin: -20px 0 29px;
	display: flex;
}
#main .result .longList li {
	margin: 20px 20px 0 0;
	padding: 15px 10px 21px 16px;
	width: 260px;
	background-color: #fff;
	box-sizing: border-box;
}
#main .result .longList li:last-child {
	margin-right: 0;
}
#main .result .longList h3 {
	margin-bottom: 12px;
	font-size: 2.2rem;
	color: #1170B9;
	font-weight: 900;
	line-height: 1.455;
	background: url("../img/index/h3_bg01.png") repeat left bottom/15px;
}
#main .result .longList li:last-child h3 {
	font-size: 2rem;
	line-height: 1.6;
}
#main .result .longList p {
	line-height: 1.5;
}
#main .result .longList p {
	line-height: 1.5;
}
#main .result .innerBox {
	margin-right: auto;
	max-width: 786px;
	position: relative;
}
#main .result .innerBox::after {
	width: 357px;
	height: 295px;
	content: "";
	display: block;
	position: absolute;
	right: -364px;
	bottom: -54px;
	background: url("../img/index/result_img01.png") no-repeat top center/357px;
}
#main .result .innerBox .txt {
	margin-bottom: 12px;
	padding: 1px 0 5px;
	color: #1170B9;
	font-size: 3.2rem;
	font-weight: 900;
	text-align: center;
	letter-spacing: 0.02em;
	line-height: 1.5;
	background-color: #FEF007;
}
#main .result .innerList {
	display: flex;
}
#main .result .innerList li {
	margin-right: 12px;
	padding: 9px 10px 25px;
	max-width: 188px;
	background-color: #fff;
	box-sizing: border-box;
}
#main .result .innerList li:last-child {
	margin-right: 0;
}
#main .result .innerList h3 {
	margin: 0 -3px 4px;
	padding: 5px 4px 4px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.1rem;
	color: #fff;
	font-weight: 900;
	line-height: 1.143;
	letter-spacing: 0.04em;
	text-align: center;
	background-color: #1170B9;
}
#main .result .innerList p {
	line-height: 1.5;
}
#main .upBox {
	padding: 83px 0 126px;
	background: url("../img/index/up_bg01.png") repeat left top /250px;
}
#main .upBox h2 {
	margin-bottom: 48px;
	font-size: 3.6rem;
	color: #551B85;
	font-weight: 900;
	text-align: center;
	line-height: 1.333;
}
#main .upBox .upList {
	margin: -17px auto 52px;
	display: flex;
	flex-wrap: wrap;
}
#main .upBox .upList li {
	margin: 17px 18px 0 0;
	width: 286px;
}
#main .upBox .upList li:nth-child(4n) {
	margin-right: 0;
}
#main .actual {
	padding: 1px 0 55px;
	background-color: #FFFEDB;
}
#main .actual .content {
	padding: 0 20px;
}
#main .actual .headLine01 {
	margin: -26px 0 39px;
}
#main .actual h3 {
	margin-bottom: 25px;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.333;
	text-align: center;
}
#main .actual .actualList {
	margin: -2px 0 28px;
	display: flex;
	flex-wrap: wrap;
}
#main .actual .actualList li {
	margin: 2px 20px 0 0;
	padding: 8px 5px 9px 65px;
    width: 360px;
    font-size: 1.8rem;
	letter-spacing: 0.08em;
    background: #fff url(../img/common/icon02.png) no-repeat left 5px center/51px;
    box-sizing: border-box;
}
#main .actual .lastList {
    margin-bottom: 32px;
}
#main .actual .btn {
	margin: 0 auto;
	padding: 6px 10px 12px;
    width: 457px;
	display: block;
	color: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	text-align: center;
	background-color: #F1C4CC;
	border-radius: 35px;
	box-sizing: border-box;
}
#main .process {
	padding: 96px 0 130px;
}
#main .process .headLine01 {
	margin-bottom: 47px;
}
#main .process .ttl {
	margin-bottom: 8px;
	color: #4EA34A;
	font-family: 'Noto Serif JP', serif;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: 0.04em;
	text-align: center;
}
#main .process .mid {
	margin-bottom: 33px;
	letter-spacing: 0.04em;
	line-height: 1.5;
	text-align: center;
}
#main .processList {
	margin: -20px auto 37px;
	max-width: 1180px;
	display: flex;
	flex-wrap: wrap;
}
#main .processList li {
	margin: 20px 20px 0 0;
	padding-bottom: 27px;
	max-width: 280px;
	position: relative;
	border: 4px solid #1AA63C;
	box-sizing: border-box;
}
#main .processList li:nth-child(4n) {
	margin-right: 0;
}
#main .processList li:not(:nth-child(4n))::after {
	width: 20px;
	height: 22px;
	position: absolute;
	right: -24px;
	top: calc(50% + 17px);
	content: "";
	display: block;
	background: url("../img/common/icon06.png") no-repeat left top/100%;
}
#main .processList h3 {
	margin-bottom: 10px;
	padding: 7px 2px 13px;
	display: flex;
	align-items: center;
	color: #fff;
	font-size: 1.8rem;
	letter-spacing: 0.02em;
	line-height: 1.333;
	background-color: #1AA63C;;
}
#main .processList .round {
	margin-right: 9px;
	width: 39px;
	height: 39px;
	flex-shrink: 0;
}
#main .processList p {
	margin: 0 17px;
	letter-spacing: 0.04em;
}
#main .school {
	padding: 1px 0 108px;
	background: url("../img/index/school_bg01.png") repeat left top/250px;
}
#main .school .headLine01 {
	margin: -29px 0 35px;
}
#main .school .headLine01 span {
	min-width: 176px;
}
#main .school .ttl {
    margin: 0 auto 47px;
    padding: 18px 10px 13px;
    max-width: 1140px;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: -0.02em;
    line-height: 1.4;
    text-align: center;
    box-sizing: border-box;
    background-color: #00A63C;
    border-radius: 45px;
}
#main .school .addressUl {
	margin-top: -43px;
	max-width: 1060px;
    display: flex;
	flex-wrap: wrap;
}
#main .school .addressUl li {
	margin: 43px 50px 0 0;
	max-width: 320px;
	position: relative;
}
@media all and (-ms-high-contrast: none) {
	#main .school .addressUl li {
		width: 320px;
	}
}
#main .school .addressUl li:nth-child(3n) {
	margin-right: 0;
}
#main .school .addressUl .photo {
	position: relative;
}
#main .school .addressUl .name {
    padding: 16px 5px;
    width: 81px;
    height: 81px;
	display: block;
    position: absolute;
    right: 9px;
	bottom: 9px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
	letter-spacing: 0.04em;
    text-align: center;
    background-color: #551B85;
    border-radius: 50%;
    box-sizing: border-box;
}
#main .school .addressUl .photo {
    margin-bottom: 14px;
}
#main .school .addressUl .photo a {
   display: block;
}
#main .school .addressUl .innerBox {
	margin-right: 13px;
    display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#main .school .addressUl .innerBox p {
	margin-bottom: 6px;
    line-height: 1.5;
	letter-spacing: 0.04em;
}
#main .school .addressUl .innerBox .image {
	margin-top: 10px;
    max-width: 60px;
}
#main .school .addressUl a:hover {
	opacity: 0.7;
}
#main .school .addressUl .innerBox .tel {
   font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: -0.02em;
	line-height: 1;
}
#main .school .addressUl .innerBox .txt {
   font-size: 1.6rem;
}
.contact {
	padding: 70px 0 120px;
	max-width: 1080px;
}
.contact .textBox {
	margin-bottom: 55px;
	padding: 35px 72px 41px;
	border-radius: 10px;
	border: 1px solid #551b85;
}
.contact .textBox p {
	margin-bottom: 20px;
	font-size: 1.8rem;
	line-height: 1.78;
	letter-spacing: 0.04em;
	text-align: justify;
   	text-justify: inter-ideograph;
}
.contact .textBox .telBox {
	margin: 0 -15px;
	padding: 20px 10px 19px 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: #ededed;
}
.contact .textBox .telBox p {
	margin-bottom: 0;
	font-weight: bold;
	font-size: 1.6rem;
}
.contact .textBox .telBox .ttl {
	letter-spacing: 0.08em;
}
.contact .textBox .telBox .time {
	color: #7e7e7e;
	line-height: 1.1875;
	letter-spacing: 0;
}
.contact .textBox .tel {
	margin: 0 15px 0 10px;
}
.contact .textBox .tel a {
	padding: 13px 5px 11px;
	width: 248px;
	display: block;
	text-align: center;
	border-radius: 25.5px;
	background: #00a63c;
	box-sizing: border-box;
}
.contact .formDl {
	margin: 0 -5px;
}
.contact .formDl dt {
	margin-bottom: 2px;
	font-size: 2rem;
	font-weight: bold;
}
.contact .formDl dt span {
	margin-left: 15px;
	padding: 1px 6px 2px;
	color: #FFF;
	font-weight: normal;
	font-size: 1.5rem;
	background: #ff8900;
}
.contact .formDl dd {
	margin: 0 10px 25px 0;
	font-size: 2rem;
}
.contact .formDl textarea,
.contact .formDl input[type="tel"],
.contact .formDl input[type="email"],
.contact .formDl input[type="text"],
.contact .formDl select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding: 5px 25px;
	width: 100%;
	height: 72px;
	font-size: 2rem;
	border-radius: 6px;
	background: #fff;
	border: 1px solid #ebebeb;
	box-shadow: 0 -2px 0 #ebebeb inset;
	box-sizing: border-box;
}
.contact .formDl textarea {
	margin-top: 10px;
	height: 240px;
	resize: none;
	overflow: inherit;
}
.contact .formDl input.wid {
	width: 320px;
}
.contact .formDl input::-webkit-input-placeholder {
	color: #e8e8e8;
	opacity:1;
}
.contact .formDl input:-moz-placeholder {
	color: #e8e8e8;
	opacity:1;
}
.contact .formDl input::-moz-placeholder {
	color: #e8e8e8;
	opacity:1;
}
.contact input:-ms-input-placeholder {
	color: #e8e8e8;
	opacity:1;
}
.contact .formDl textarea::-webkit-input-placeholder {
	color: #e8e8e8;
	opacity:1;
}
.contact .formDl textarea:-moz-placeholder {
	color: #e8e8e8;
	opacity:1;
}
.contact .formDl textarea::-moz-placeholder {
	color: #e8e8e8;
	opacity:1;
}
.contact textarea:-ms-input-placeholder {
	color: #e8e8e8;
	opacity:1;
}
.contact .formDl select {
	color: #000;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none; 
	background: #FFF url(../img/index/select_bg.png) no-repeat right 20px center;
	background-size: 37px auto;
}
select::-ms-expand { 
	display: none;
}
.contact .formDl .sml {
	margin: 33px 5px 15px;
	font-size: 1.8rem;
}
.contact .policyBox {
	margin: 0 5px 45px;
	padding: 45px 53px;
	height: 280px;
	line-height: 2;
	letter-spacing: 0.04em;
	background: #f0f0f0; 
	overflow-y: auto;
	box-sizing: border-box;
}
.contact .policyBox p {
	margin-bottom: 32px;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
}
.contact .policyBox p + .textList {
	margin-top: -32px;
	font-size: 1.6rem;
}
.contact .policyBox .textList {
	margin-bottom: 32px;
}
.contact .policyBox .textList li {
	margin-left: 43px;
	text-indent: -43px;
}
.contact .policyBox p:last-child,
.contact .policyBox .mb0 {
	margin-bottom: 0;
}
.contact .policyBox .mt0 {
	margin-top: 0 !important;
}
.contact .policyBox .text {
	margin: 65px 0 32px;
}
.contact .agree {
	margin-bottom: 43px;
	text-align: center;
}
.contact .agree label {
	font-size: 1.8rem;
	font-weight: bold;
}
.contact input[type="checkbox"] {
	display: none;
}
.contact input[type="checkbox"] + span {
	padding: 5px 0 5px 40px;
	display: inline-block;
	cursor: pointer;
	background: url(../img/index/check_bg.png) no-repeat left top 8px / 28px;
}
.contact input[type="checkbox"]:checked + span {
	background-image:  url(../img/index/check_bg_on.png);
}
.contact .agree p {
	margin-top: 5px;
	font-size: 1.6rem;
	font-weight: 500;
}
.contact .submit {
	text-align: center;
}
.contact .submit li {
	margin: 0 10px;
	display: inline-block;
}
.contact .submit input {
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	width: 420px;
	height: 100px;
	cursor: pointer;
	background: linear-gradient(#e62310 0%, #8e1205 100%);
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.5);
	border: none;
}
.contact .errorMsg {
	margin-bottom: 30px;
	color: red;
}
.thanksBox {
	padding-top: 130px;
}
.thanksBox .thanks {
	margin-bottom: 20px;
	font-size: 2rem;
	text-align: center;
}
.thanksBox .thanks a:hover {
	opacity: 0.7;
}
@media all and (min-width: 897px) {
	.contact .submit input:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#main .mainVisual {
		padding: 39px 0;
		min-height: 778px;
		background-image: url("../img/index/sp_main_img.jpg");
	}
	#main .mainVisual h2 {
		margin: 0 auto;
		width: auto;
		max-width: 355px;
	}
	#main .mainVisual .content {
		margin: 0 auto;
		padding: 0 18px;
		width: auto;
		display: block;
	}
	#main .mainVisual .link {
		width: 155px;
		right: 21px;
		bottom: -422px;
	}
	#main .mainVisual .linkList {
		width: 100%;
		display: flex;
		justify-content: space-between;
		position: absolute;
		left: 0;
		bottom: -2px;
		background-color: #fff;
		border-top: 2px solid #86E29D;
	}
	#main .mainVisual .linkList li {
		width: calc(50% - 1px);
	}
	#main .mainVisual .linkList li a {
		padding: 15px 10px 13px;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #1BA73E;
	}
	#main .tutorial {
		padding: 28px 0 48px;
	}
	#main .tutorial::before {
		height: 323px;
		background: linear-gradient(#a0deff 46%, #fff 100%);
	}
	#main .tutorialUl {
		margin-bottom: 44px;
		display: block;
	}
	#main .tutorialUl li {
		margin-bottom: 17px;
		width: auto;
	}
	#main .tutorialUl .large {
		width: auto;
	}
	#main .tutorialUl li:first-child {
		margin-bottom: 17px;
	}
	#main .tutorialUl li:last-child {
		/*margin-right: -10px;*/
	}
	#main .tutorialUl li span {
		font-size: 1.2rem;
		line-height: 1.333;
	}
	#main .point {
		padding: 74px 0 83px;
	}
	#main .headLine01 {
		margin-bottom: 22px;
	}
	#main .point .headLine01 span {
		min-width: 323px;
	}
	#main .point h3 {
		margin: 0 10px;
		padding: 30px 21px 30px;
		font-size: 1.8rem;
		letter-spacing: 0.04em;
		text-align: left;
		line-height: 1.555;
	}
	#main .pointBox {
		margin: 0 0 31px;
	}
	#main .pointBox > h4 {
		margin: 0 10px 37px;
		padding: 7px 0;
		font-size: 2rem;
	}
	#main .point .reasonList {
		margin: -12px 10px 0;
		display: block;
	}
	#main .point .reasonList li {
		margin: 12px 5px 0 3px;
		padding: 18px 15px 22px;
		max-width: none;
	}
	#main .point .reasonList li::before {
		z-index: -1;
	}
	#main .point .reasonList li:not(:first-child)::before {
		display: none;
	}
	#main .point .reasonList h5 {
		margin-bottom: 7px;
		padding-bottom: 12px;
		font-size: 2.5rem;
		border-bottom: 1px solid #707070;
	}
	#main .point .reasonList .small {
		font-size: 2.5rem;
		line-height: 1.333;
	}
	#main .point .reasonList p {
		font-size: 1.6rem;
	}
	#main .pointBox::after {
		width: 99px;
		height: 145px;
		right: 18px;
		bottom: auto;
		top: -143px;
	}
	#main .point .blockBox {
		margin: 0 0 29px;
		padding: 10px 21px 197px;
		max-width: none;
		background: url(../img/index/sp_block_bg01.png) no-repeat top left/100% 100%aliceblue;
	}
	#main .point .blockBox::before {
		left: 37px;
		bottom: -29px;
		width: 159px;
		height: 306px;
	}
	#main .point .blockBox::after {
		right: 17px;
		bottom: 50px;
		width: 146px;
		height: 147px;
	}
	#main .point .blockBox h4 {
		margin: -20px 0 22px -30px;
		text-align: center;
	}
	#main .point .fewList {
		margin: 0;
	}
	#main .point .fewList li {
		margin-bottom: 14px;
		padding: 5px 0 12px 48px;
		line-height: 1.2;
		background: url(../img/common/icon01.png) no-repeat left 5px top/36px;
	}
	#main .point .textImg {
		margin: 0 0 42px;
	}
	#main .point .textImg img {
		width: 100%;
	}
	#main .result {
		padding: 58px 0 25px;
	}
	#main .result .content {
		padding: 0;
	}
	#main .result h2 {
		margin: 0 0 29px 0;
		padding: 23px 25px 20px;
		font-size: 2.6rem;
		line-height: 1.23;
		border-radius: 53px;
	}
	#main .result .ttl {
		margin-bottom: 175px;
		font-size: 3.3rem;
		letter-spacing: -0.02em;
	}
	#main .result .innerBox {
		max-width: none;
	}
	#main .result .longList {
		margin: -18px 0 32px;
		display: block;
		position: relative;
		z-index: 10;
	}
	#main .result .longList::before {
		width: 173px;
		height: 143px;
		content: "";
		display: block;
		position: absolute;
		right: 5px;
		top: -139px;
		background: url(../img/index/sp_result_img01.png) no-repeat top center/100%;
		z-index: -1;
	}
	#main .result .longList li {
		margin: 17px 0 0 0;
		padding: 15px 16px 21px;
		width: auto;
	}
	#main .result .longList p {
		font-size: 1.6rem;
	}
	#main .result .longList li:last-child h3 {
		font-size: 2.2rem;
		line-height: 1.455;
	}
	#main .result .innerBox .txt {
		margin-bottom: 18px;
		padding: 14px 15px 18px;
		font-size: 2.4rem;
		line-height: 1.333;
	}
	#main .result .innerList {
		display: block;
	}
	#main .result .innerList li {
		margin: 0 0 8px 0;
		padding: 9px 10px 14px;
		max-width: none;
	}
	#main .result .innerList li:last-child {
		margin-bottom: 0;
	}
	#main .result .innerList h3 {
		margin: 0 -3px 4px;
		padding: 17px 4px;
	}
	#main .result .innerList p {
		font-size: 1.6rem;	
	}
	#main .result .innerBox::after {
		display: none;
	}
	#main .upBox {
		    padding: 70px 0 73px;
	}
	#main .upBox h2 {
		margin-bottom: 52px;
		font-size: 2.9rem;
		line-height: 1.448;
	}
	#main .upBox .upList {
		margin: -10px -5px 46px;
		justify-content: space-between;
	}
	#main .upBox .upList li {
		margin: 10px 0 0 0;
		width: calc(50% - 5px);
	}
	#main .actual {
		padding: 85px 0 116px;
	}
	#main .actual .content {
		padding: 0;
	}
	#main .actual .headLine01 {
		margin: 0 0 49px;
	}
	#main .actual .actualList {
		margin: 20px 0 41px;
		display: block;
	}
	#main .actual .lastList {
		margin-bottom: 50px;
	}
	#main .actual .actualList > li {
		margin: 6px auto 0;
		padding-left: 61px;
		width: 100%;
		letter-spacing: 0.08em;
		background: #fff url(../img/common/icon02.png) no-repeat left center/51px;
	}
	#main .actual .actualList ul li {
		margin-bottom: 6px;
		padding: 8px 5px 10px 60px;
		background: #fff url(../img/common/icon02.png) no-repeat left 0px center/51px;
	}
	#main .actual .btn {
		padding: 10px 10px 8px;
		width: 310px;
		font-size: 1.8rem;
	}
	#main .process {
		padding: 96px 0 150px;
	}
	#main .process .headLine01 {
		margin-bottom: 52px;
	}
	#main .process .headLine01 span {
		min-width: 300px;
	}
	#main .process .ttl {
		margin-bottom: 45px;
		font-size: 2.8rem;
		line-height: 1.428;
	}
	#main .process .mid {
		margin: 0 17px 51px;
		font-size: 1.6rem;
		letter-spacing: 0;
		text-align: left;
	}
	#main .processList {
		margin: -24px auto 64px;
		display: block;
	}
	#main .processList li {
		margin: 24px 0 0 0;
		padding-bottom: 18px;
		max-width: none;
	}
	#main .processList li:not(:nth-child(4n))::after {
		width: 22px;
		height: 20px;
		position: absolute;
		right: 50%;
		top: auto;
		bottom: -24px;
		transform: translateX(50%);
		content: "";
		display: block;
		background: url("../img/common/sp_icon01.png") no-repeat left top/100%;
	}
	#main .processList p {
		font-size: 1.6rem;
	}
	#main .school .headLine01 {
		margin: -59px 0 27px;
		padding-top: 30px;
	}
	#main .school .headLine01 span {
		min-width: 166px;
	}
	#main .school {
		padding: 1px 0 75px;
	}
	#main .school .ttl {
		margin-bottom: 54px;
		padding: 18px 25px 16px;
		font-size: 1.6rem;
		letter-spacing: 0;
		line-height: 1.5;
		border-radius: 10px;
		text-align: left;
	}
	#main .school .ttl span {
		margin-bottom: 25px;
		display: block;
	}
	#main .school .addressUl {
		margin: -50px 20px 0;
	}
	#main .school .addressUl li {
		margin-right: 0;
		max-width: none;
		width: 100%;
	}
	#main .school .addressUl .photo img {
		width: 100%;
	}
	#main .school .addressUl .innerBox p {
		font-size: 1.6rem;
	}
	.contact {
		padding: 107px 0 120px;
	}
	.contact .headLine01 {
		margin-bottom: 33px;
	}
	.contact .textBox {
		margin-bottom: 55px;
		padding: 25px 20px 32px;
		border-radius: 10px;
	}
	.contact .textBox p {
		margin-bottom: 13px;
		letter-spacing: 0.02em;
	}
	.contact .textBox .telBox {
		margin: 30px 0 0;
		padding: 18px 10px 21px;
		display: block;
	}
	.contact .textBox .telBox p {
		max-width: 260px;
		margin: 0 auto;
		font-size: 1.8rem;
		letter-spacing: 0.04em;
	}
	.contact .textBox .telBox .ttl {
		margin-bottom: 15px;
		line-height: 1.5;
		font-size: 1.6rem;
	}
	.contact .textBox .telBox .time {
		line-height: 1.33;
		letter-spacing: 0.08em;
	}
	.contact .textBox .tel {
		margin: 0 auto 15px;
		max-width: 280px;
	}
	.contact .textBox .tel a {
		padding: 16px 5px 13px;
		width: 100%;
		border-radius: 50px;
	}
	.contact .textBox .tel a img {
		max-width: 250px;
	}
	.contact .formDl {
		margin: 0;
	}
	.contact .formDl dt {
		font-size: 1.8rem;
	}
	.contact .formDl dd {
		margin: 0 0 37px;
	}
	.contact .formDl textarea,
	.contact .formDl input[type="tel"],
	.contact .formDl input[type="email"],
	.contact .formDl input[type="text"],
	.contact .formDl select {
		padding: 5px 10px;
		height: 64px;
		font-size: 1.4rem;
		box-shadow: none;
	}
	.contact .formDl textarea {
		height: 320px;
	}
	.contact .formDl input.wid {
		width: 50%;
	}
	.contact .formDl .sml {
		margin: 40px 0 13px;
	}
	.contact .policyBox {
		margin: 0 0 85px;
		padding: 20px;
	}
	.contact .policyBox p {
		margin-bottom: 15px;
	}
	.contact .policyBox p + .textList {
		margin-top: -15px;
	}
	.contact .policyBox .textList {
		margin-bottom: 15px;
	}
	.contact .policyBox .text {
		margin: 65px 0 32px;
	}
	.contact .agree {
		margin: 0 15px 50px;
	}
	.contact input[type="checkbox"] + span {
		padding: 5px 0 7px 40px;
		text-align: left;
		line-height: 1.5;
		background: url(../img/index/check_bg.png) no-repeat left top 10px / 28px;
	}
	.contact .agree p {
		margin: 30px -2px 0;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.contact .submit li {
		margin: 0 0 20px;
		width: 100%;
	}
	.contact .submit li:last-child {
		margin-bottom: 0;
	}
	.contact .submit input {
		font-size: 1.6rem;
		font-weight: bold;
		width: 100%;
		max-width: 320px;
		height: 72px;
	}
}
@media all and (max-width: 389px) {
	#main .tutorialUl li span {
		font-size: 1rem;
	}
	#main .point .headLine01 span {
		min-width: 264px;
	}
	#main .point h3 {
		font-size: 1.5rem;
	}
	#main .pointBox > h4 {
		font-size: 1.6rem;
	}
	#main .pointBox::after {
		width: 80px;
		right: 14px;
		top: -116px;
	}
	#main .point .reasonList h5 {
		font-size: 1.9rem;
	}
	#main .point .reasonList .small {
		font-size: 1.9rem;
	}
	#main .point .fewList li {
		font-size: 1.5rem;
	}
	#main .point .blockBox {
		padding-bottom: 160px;
	}
	#main .point .blockBox::before {
		left: 20px;
		width: 120px;
	}
	#main .point .blockBox::after {
		width: 110px;
		right: 17px;
    	bottom: 68px;
	}
	#main .result h2 {
		font-size: 2rem;
	}
	#main .result .ttl {
		font-size: 2.7rem;
	}
	#main .result .longList h3 {
		font-size: 1.7rem;
		background: url("../img/index/h3_bg01.png") repeat left bottom/12px;
	}
	#main .result .longList li:last-child h3 {
		font-size: 1.7rem;
	}
	#main .point .reasonList p {
		font-size: 1.4rem;
	}
	#main .result .innerBox .txt {
		font-size: 1.8rem;
	}
	#main .upBox h2 {
		font-size: 2.2rem;
	}
	#main .actual .actualList > li {
		width: auto;
	}
	#main .actual .btn {
		width: auto;
	}
	#main .process .headLine01 span {
		min-width: 290px;
	}
	#main .process .ttl {
		font-size: 2.1rem;
	}
	#main .processList h3 {
		font-size: 1.7rem;
	}
	#main .school .addressUl .innerBox .tel {
		font-size: 2rem;
	}
	#main .school .addressUl .innerBox p {
		font-size: 1.2rem;
	}
	.contact .textBox {
		padding: 25px 15px 32px;
	}
	.contact .textBox .telBox .time {
		letter-spacing: 0;
	}
	.contact .agree p {
		font-size: 1.4rem;
	}
}