@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}

@media screen and (min-width: 768px) {
	body {
		min-width: 1250px;
		position: relative;
	}
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family:"ヒラギノ丸ゴ", "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	color:#000;
	letter-spacing: 1px;
}

@media screen and (max-width: 767px) {
	img{
		vertical-align: middle;
		width: 100%;
	}
}

a img {
 transition: opacity 0.3s ease-out;
}

a:hover img {
 opacity: 0.7;
}

@media screen and (min-width: 768px) {
a[href^="tel:"] {
	display: inline-block;
	pointer-events: none;
}
}

.inner {
	margin: 0 auto;
	max-width: 1040px;
}

@media screen and (max-width: 767px) {
	.inner {
		padding: 0 5%;
	}
}
.note {
	font-size: 1.1rem;
	line-height: 1.5;
	padding-left: 1.2rem;
	text-indent: -1.2rem;
}

/* ----------------------------------------------------------------------------------------------------
*  ヘッダー
* --------------------------------------------------------------------------------------------------*/

header {
	box-shadow: 1px 1px 4px #ddd;
}

.header_wrap {
	display: flex;
	justify-content: space-between;
	padding: 17px 0 16px;
}

.header_btn_wrap {
	display: flex;
	justify-content: space-between;
	width: 589px;
}

.header_logo {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 450px;
}

.header_logo h1 {
	margin: 0 20px 0 0;
}

.header_logo p.txt {
	font-size: 1.2rem;
	line-height: 1.4;
}


@media screen and (max-width: 767px) {
	header {
		position:relative;
		z-index:1;
	}
	.header_wrap {
		display: block;
		padding: 10px 10%;
	}
	.header_logo {
		width: 100%;
	}

	.header_logo h1 img {
		width: 123px;
	}

	.header_logo p.txt{
		font-size: 0.9rem;
		letter-spacing: -0.2px;
	}
	.header_btn_wrap{
		display: none;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  mv
* --------------------------------------------------------------------------------------------------*/

.mv {
	background: url("../images/bg_mv01.png") repeat;
}

.mv_bg {
	background: url("../images/bg_mv02.png") no-repeat left center;
}
.mv .inner {
	padding: 20px 0 0 0;
	position: relative;
	min-height: 590px;
}

.mv h2 {
	margin: 0 0 30px;
}

.mv .img02{
	position: absolute;
	right: -78px;
	bottom: 0;
}

.mv .note {
	margin: 0 0 0 140px;
}

@media screen and (max-width: 767px) {
	.mv {
		background: url("../images/bg_mv_sp.png") repeat;
		background-size: 100%;
	}
	.mv .inner {
		padding: 0 5%;
		min-height: auto;
	}

	.mv_bg {
		background: none;
	}

	.mv h2 {
		margin: 0 5% 10px 5%;
		padding: 10px 0 0 0;
	}
	.mv h3 {
		margin: 0 5% 10px;
	}

	.mv .img02 {
		position: static;
		margin-top: -25px;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  contact
* --------------------------------------------------------------------------------------------------*/

.contact {
	background: url("../images/bg_contact1150.jpg") repeat-x top;
	/* height: 764px; */
	height: 1000px;
	/*height: 1150px;*/
	/*height: 800px;*/
	padding: 55px 0 0 0;
	position: relative;

}

.contact .info-box {
	width: 80%;
	margin: 30px auto;
	padding: 30px ;
	border: 3px solid #ff8628;
	background: #fff;
	border-radius: 22px;
	}

.contact .info-box h1 {
	font-size: 2.4em;
	font-weight:bold;
	line-height: 2;
	color: #ff8628;
	}

.contact .info-box p {
	font-size: 1.5em;
	line-height: 1.6;
}

.contact.ver2 {
	padding-top: 60px;
	height:490px;
}

.contact.ver3 {
	padding-top: 45px;
	height: 500px;
}

.contact.ver4 {
	padding-top: 45px;
	height: 420px;
}

.contact_wrap {
	background: url("../images/bg_contact02.png") no-repeat center top;
	height: 320px;
	padding: 50px 0 0 209px;
	position: relative;
	z-index: 0;
}
.contact_wrap p {
	font-size: 20px;
	    text-align: center;
	    margin: 15px 0 -10px;
	    font-weight: bold;
}
.contact_wrap p a{
		color: red;
}

.contact_flag {
	position: absolute;
	top: 0;
	z-index:3;
}
.contact_flag.left {
	left: 0;
}
.contact_flag.right {
	right: 0;
}
.contact.ver2 .contact_flag.right {
	z-index:0;
}

.contact .txt, .contact .btn{
	position: relative;
	z-index: 2;
}
.contact .txt {
	margin: 0 0 0 155px
}
.contact .btn {
	display: flex;
	justify-content: space-between;
	margin: 30px 0 0;
	width: 712px;
}

.contact_girl {
	position: absolute;
	left: -30px;
	bottom: 11px;
	z-index: 2;
}

@media screen and (max-width: 767px) {
	.contact {
		background: url("../images/bg_contact01.png") no-repeat top;
		background-size: cover;
		height: auto;
		padding: 30px 0 60px;
	}

	.contact.ver2 {
		padding: 30px 0 80px;
		height: auto;
	}

	.contact.ver3 {
		padding: 30px 0 80px;
		height: auto;
	}

	.contact.ver4 {
		height: auto;
	}

	.contact_wrap {
		background: #fff;
		border-radius: 20px;
		height: auto;
		max-width: 320px;
		margin: 0 auto;
		padding: 20px 5%;
		width: 100%;
	}

	.contact_flag {
		display: none;
	}

	.contact .txt {
		margin: 0 ;
	}

	.contact .btn {
		display: block;
		margin: 20px 0 0 0;
		width: 100%;
	}

	.contact .btn li {
		margin: 0 0 5px;
	}
	.contact_girl {
		display: none;
	}
	.contact .info-box {
		width: 100%;
		margin: 30px auto;
		padding: 30px ;
		border: 3px solid #ff8628;
		background: #fff;
		border-radius: 16px;
		}
}
.saticefaction {
	display:flex;
	justify-content: space-between;
	margin: 40px auto 0;
	width: 920px;
}

.saticefaction .left {
	width: 261px;
}
.saticefaction .right {
	width: 613px;
}

.saticefaction .right img {
	margin: 0 0 20px
}

@media screen and (max-width: 767px) {
	.saticefaction {
		display:block;
		margin: 30px auto 0;
		width: 100%;
	}
	.saticefaction .left{
		margin: 0 auto;
		width: 50%;
	}

	.saticefaction .right {
		width: 100%;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  about
* --------------------------------------------------------------------------------------------------*/

.about {
	background: url(../images/bg_about.png) repeat-x center top;
	margin-top: -23px;
	position: relative;
	z-index:1;
}

.about .inner {
	position: relative;
}

.about h2 {
	position: absolute;
	top: -62px;
	left: calc(50% - 286px);
}

.about_wrap {
	display: flex;
	justify-content: space-between;
	padding: 130px 0 55px;
}

.about_wrap .img {
	margin: 0 0 0 25px;
	width: 563px;
}

.about_wrap .txt {
	margin: 40px 0;
	width: 382px;
}

.about_wrap .txt p {
	font-size: 1.55rem;
	letter-spacing: 0.5px;
	line-height: 2;
}

@media screen and (max-width: 767px) {
	.about {
		margin-top: -1px;
	}
	.about h2 {
		top: -32px;
		left: calc(50% - 160px);
		max-width: 320px;
	}

	.about_wrap {
		display: block;
		padding: 80px 0 30px;
	}

	.about_wrap .img {
		width: 100%;
		margin: 0;
	}
	.about_wrap .txt {
		margin: 20px 0 0 0;
		width: 100%;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  trouble
* --------------------------------------------------------------------------------------------------*/

.trouble {
	background: url("../images/bg_trouble.png") repeat-x top;
	height: 657px;
	padding: 95px 0 0 0;
}

.trouble .inner {
	position:relative;
}

.trouble h2 {
	margin: 0 0 40px;
	text-align:center;
}

.trouble ul li {
	background: url(../images/ico_check.png) no-repeat left 5px;
	color: #404040;
	font-size: 2.3rem;
	line-height: 1.5;
	margin: 0 0 20px;
	padding: 0 0 0 35px;
}

.trouble .img {
	position: absolute;
	right: -100px;
	top: 70px;
	z-index:0;
}

.trouble .txt {
	bottom: -194px;
	position: absolute;
	left:64px;
	z-index:1;
}

@media screen and (max-width: 767px) {
	.trouble {
		background-size: cover;
		height: auto;
		padding: 55px 0 0 0;
	}

	.trouble ul li {
		background: url(../images/ico_check.png) no-repeat left top;
		font-size: 1.6rem;
		min-height: 33px;
	}
	.trouble .img {
		display: block;
		margin: 0 auto;
		position:static;
		width: 50%;
		max-width: 320px;
	}

	.trouble .txt {
		bottom: -30px;
		left: 0;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  cause
* --------------------------------------------------------------------------------------------------*/

.cause {
	background: url("../images/bg_cause.png") repeat-x;
	height: 855px;
	padding: 125px 0 0;
}

.cause .inner {
	position: relative;
}

.cause h2 {
	margin: 0 0 40px;
	text-align: center;
}

.cause .img {
	width: 100%;
}

.cause .txt {
	position: absolute;
	left: 0;
	bottom:-56px;
}

@media screen and (max-width: 767px) {
	.cause {
		height: auto;
		padding: 55px 0 45px;
	}

	.cause h2 {
		margin: 0 0 30px;
	}

	.cause .txt {
		bottom: -25px;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  solution
* --------------------------------------------------------------------------------------------------*/

.solution {
	margin: 130px 0 160px;
}

.solution .inner {
	text-align: center;
}

@media screen and (max-width: 767px) {
	.solution {
		margin: 40px 0;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  point
* --------------------------------------------------------------------------------------------------*/

.point {
	background: url("../images/bg_point.png") no-repeat right;
	background-size: cover;
	padding: 0 0 230px 0;
	position:relative;
}

.point .inner{
	position:relative;
}

.point .flag {
	position: absolute;
	top: 70px;
	width: 32%;
}
.point .flag.left {
	left: 0;
}
.point .flag.right {
	right: 0;
}

.point h2 {
	position: absolute;
	left: calc(50% - 428px);
	top: -100px;
	text-align:center;
}

.point h3 {
	padding: 180px 0 30px;
	text-align:center;
}

.point ul {
	display: flex;
	justify-content: space-between;
	padding: 0 30px;
}

.point ul li img {
	height: 317px;
	width: auto;
}

.point ul li p {
	color: #404040;
	font-size: 1.9rem;
	line-height: 1.6;
	margin: 20px 0 0 0;
	text-align:center;
}

@media screen and (max-width: 767px) {
	.point {
		padding-bottom: 60px;
	}
	.point h2 {
		position:static;
		top:0;
		left: 0;
		padding: 15px 0 0 0;
	}

	.point .flag {
		top: 90px;
	}

	.point h3 {
		padding: 30px 0 0;
	}
	.point ul {
		display: block;
		padding: 0;
		margin: 30px 0 0 0;
	}
	.point ul li {
		text-align: center;
	}
	.point ul li img{
		height: auto;
		max-width: 200px;
	}
	.point ul li p {
		font-size: 1.6rem;
		margin: 5px 0 20px;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  exam
* --------------------------------------------------------------------------------------------------*/

.exam {
	height: 445px;
	margin: -170px auto 0;
	position: relative;
	z-index:1;
}

.exam::before {
	background: url("../images/bg_exam.png") no-repeat center bottom;
	background-size: 100% auto;
	content:'';
	display: block;
	height: 240px;
	position:absolute;
	top: -70px;
	width: 100%;
}

.exam .inner{
	position:relative;
}

.exam h2 {
	position:absolute;
	left: 150px;
}

.exam .img {
	position:absolute;
	left: -150px;
	top: -20px;
	z-index:2;
}

.exam_tbl {
	border-collapse: separate;
	border-spacing: 5px;
	margin: 180px 0 0 0;
	float: right;
	width: 612px;
}

.exam_tbl th, .exam_tbl td {
	background: #fffae4;
	font-size: 1.6rem;
	line-height: 1.8;
	padding: 8px 8px;
}

.exam_tbl th {
	color: #ff925d;
	font-size: 2rem;
	text-align:center;
	width: 110px;
}

.exam_tbl th.text {
	color: #000000;
	font-size: 1.6rem;
	background-color: #FFF;
	text-align:left;
}



@media screen and (max-width: 767px) {
	.exam {
		height: auto;
		margin: 0;
	}
	.exam::before {
		display: none;
	}
	.exam h2 {
		left: -10px;
		top: -44px;
	}
	.exam .img {
		left: -5%;
		top: -74px;
		width: 34%;
	}
	.exam_tbl {
		margin: 20% 0 0 0;
		width: 100%;
	}
}

/* ----------------------------------------------------------------------------------------------------
* quantified
* --------------------------------------------------------------------------------------------------*/
.quantified {
	background: url("../images/bg_quantified.png") no-repeat center top;
	background-size: cover;
	position:relative;
}

.exam_after {
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	z-index: 0;
}

.quantified .inner {
	background: url("../images/bg_quantified_inner.png") repeat-y center top;
	padding: 330px 60px 100px 110px;/*320*/
	position: relative;
}

.quantified h2 {
	position: absolute;
	left: calc(50% - 428px);
	top: 50px;
	z-index: 0;
}

.quantified .flex {
	display: flex;
	justify-content: space-between;
	margin: 0 0 30px;
}

.quantified .flex .txt {
	width: 415px;
}

.quantified .flex .txt p {
	font-size: 1.6rem;
	line-height: 1.8;
}

.quantified .flex .txt p {
	font-size: 1.6rem;
	line-height: 1.8;
}

.quantified .flex:nth-of-type(2) {
	align-items: center;
}

.quantified .sentence {
	display: flex;
	justify-content: space-between;
	margin: 0 0 30px;
	font-size: 1.6rem;
	line-height: 1.8;
}

@media screen and (max-width: 767px) {

	.quantified  {
		padding-bottom: 0;
	}
	.quantified .inner {
		padding: 60px 5% 100px;
	}

	.quantified h2 {
		position: static;
	}
	.quantified .flex {
		display: block;
	}
	.quantified .flex .txt {
		margin: 0 0 10px;
		width: 100%;
	}

	.quantified .flex .txt p {
		font-size: 1.4rem;
		letter-spacing: 0;
	}
}
/* ----------------------------------------------------------------------------------------------------
*  support
* --------------------------------------------------------------------------------------------------*/

.support {
	background: url("../images/bg_support.png") repeat-x center bottom;
	background-size: 1399px 100%;
	position:relative;
	z-index:1;


}

.support::after {
	content:'';
	display:block;
	background: url("../images/bg_support_after.png") no-repeat center top;
	height: 140px;
	width: 100%;
	position:absolute;
	bottom: -140px;
}

.support .inner {
	position: relative;
	z-index:2;
}

.support_before {
	position:absolute;
	bottom: 0;
	width: 100%;
}

.support h2{
	padding: 80px 0 0;
	text-align:center;
	position:absolute;
	z-index: 2;
	width: 100%;
	top: -66px;
	height: 135px;
}

.support h2 img {
	margin-top: -120px;
}

.support .img01 {
	position: relative;
	top: 160px;
}

.support .img01::before {
	background: url("../images/ico_support01.png") no-repeat;
	background-size: cover;
	content:'';
	display: block;
	height: 245px;
	position:absolute;
	top: -32px;
	left: -60px;
	width: 331px;
}

.support .img01::after {
	background: url("../images/ico_support02.png") no-repeat;
	background-size: cover;
	content:'';
	display: block;
	height: 341px;
	position:absolute;
	bottom: -42px;
	right: -50px;
	width: 232px;
}

.support .img02 {
	padding: 200px 0 0 0;
}

@media screen and (max-width: 767px) {
	.support .inner {
		padding: 0;
	}

	.support {
		background: url("../images/bg_support_sp.png") repeat-y center top;
		background-size: 100% auto;
	}

	.support h2 {
		background: none;
		padding: 0;
		position:static;
		height: auto;
	}

	.support h2 img{
	}
	.support .img01 {
		top: 0px;
		z-index:2;
	}
	.support .img01::before, .support .img01::after {
		display: none;
	}

	.support::after {
		display: none;
	}
	.support .img02 {
		padding: 0;
		margin-top: -40px;
		position: relative;
		z-index:2;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  merit
* --------------------------------------------------------------------------------------------------*/
.merit {
	/* padding: 200px 0 50px; */
	padding: 80px 0 50px;
}

.merit .inner {
	position: relative;
}

.merit ul {
	margin: 60px 0 0 0;
}

.merit ul li {
	background: url(../images/ico_check02.png) no-repeat left 4px;
	color: #404040;
	font-size: 2.3rem;
	line-height: 1.5;
	margin: 0 0 20px;
	padding: 0 0 0 35px;
}

.merit .img {
	position: absolute;
	right: 80px;
	bottom: -137px;
	z-index:4;
}
@media screen and (max-width: 767px) {
	.merit {
		padding:40px 0 0;
	}
	.merit ul {
		margin: 30px 0 0;
	}

	.merit ul li {
		background: url(../images/ico_check02.png) no-repeat left 3px;
		min-height: 25px;
		font-size: 1.6rem;
		padding:  5px 0 0 35px;
	}
	.merit .img {
		display: block;
		max-width: 320px;
		margin: 0 auto;
		position: static;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  examdetail
* --------------------------------------------------------------------------------------------------*/

.examdetail {
	background: #fffcee;
	padding: 0 0 50px;
}

.examdetail_wrap {
	background: url("../images/bg_examdetail.png") repeat-x center top;
	margin: -23px 0 0 0;
	position: relative;
	z-index: 1;
}

.examdetail h2.ttl {
	position:relative;
	height:124px;
}

.examdetail h2.ttl img {
	position:absolute;
	top: -64px;
	left:calc(50% - 344px);
}

.examdetail .box {
	background: #fff;
	border-radius: 30px;
	box-shadow: 3px 4px 9px #e9e1cf;
	padding: 50px 55px;
}

.exam_tbl.detail {
	border-collapse: separate;
	border-spacing: 8px;
	margin: 0;
	float: none;
	width: 100%;
}

.exam_tbl.detail th, .exam_tbl.detail td {
	background: #fffcee;
	font-size: 1.6rem;
	line-height: 1.8;
	padding: 5px 15px;
}

.exam_tbl.detail th {
	color: #ff925d;
	font-size: 2rem;
	text-align:left;
	width: 130px;
}

.exam_tbl.detail tr:nth-child(2n) th, .exam_tbl.detail tr:nth-child(2n) td {
	background: #fff7d5;
}

.exam_tbl.detail dl {
	display: flex;
	flex-wrap:wrap;
	justify-content: flex-start;
	align-content: top;
}

.exam_tbl.detail dt{
	font-weight: bold;
	line-height: 2;
	width:10%;
	min-height: 6rem;
}

.exam_tbl.detail dd {
	line-height: 2;
	width: 88%;
}

.exam_tbl.price {
	border-collapse: separate;
	border-spacing: 8px;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  table-layout: fixed;
	float: none;
}

.price {
	display: flex;
	flex-wrap: wrap;
}
.price_box {
	width: 48%;
}

.price_box:last-child {
	margin-left: 2%;
}

.price_box table {
	/* border-collapse: separate;
	border-spacing: 8px; */
  margin: 0 auto;
  padding: 0;
  width: 100%;
  table-layout: fixed;
	float: none;
}
.price_box th,
.price_box td {
  width:100%;
  display:block;
}

.price_box tr:first-child th {
	text-align: center;background: #ff925d; color: #fff;
	font-size: 2.4em;
	padding: 25px 0;
}

.price_box tr:first-child th.gy {
	background: #ccc;
}

.price_box tr:first-child td {
	text-align: center;
	padding: 0 20px 20px;
}

.price_box tr:first-child td p.sub_ttl {
	/* font-size: 1.2em; */
	font-weight: bold;
	padding: 30px 0 15px;
	text-align:center;
	color: #ff925d;
}
.price_box tr:first-child td p {
	text-align:center;
}
.price_box p.surveyfee {
	font-size: 1em;
	font-weight: bold;
	line-height: 1.2;
}
.price_box p.surveyfee span {
	font-size: 2em;
}

.price_box p.days {
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.2;
}

.price_box p.interviewfee {
	font-weight: bold;
	/* margin-bottom: 10px; */
	text-align: center;
	line-height: 1.4;
}

.price_box p.interviewfee small {
	font-weight: normal;
}

.price_box table th {
	background: #fff7d5;
	font-size: 1.8em;
	padding: 15px 0;
	font-weight: bold;
	color: #ff925d;
	text-align: center;
}

.price_box table th.gy {
	background: #ccc;
	color:#999999;
}
.price_box table td {
	background: #fffcee;
	font-size: 1.5em;
	padding:20px;
	line-height: 1.4;
}
.price_box table td.gy {
	background: #f3f3f3;
	color:#ababab;
}

@media screen and (max-width: 767px) {
	.price_box {
		width: 100%;
	}

	.price_box table:first-child {
		margin-bottom: 36px
	}

	.price_box:last-child {
		margin-left: 0;
	}

}

.examdetail h2.ttl02 {
	margin: 70px 0 0 0;
	text-align: center;
}

.examdetail h3 {
	margin-top: 10px;
	height: 152px;
	position:relative;
	text-align: center;
}

.examdetail h3 img {
	position:absolute;
	bottom: -20px;
	left: calc(50% - 234px);
}

.step .box {
	align-items:center;
	display: flex;
	justify-content: space-between;
	margin: 0 0 20px;
	padding: 40px 55px;
}

.step .box .txt {
	width: 750px;
}

.step .box .txt h4 {
	color: #ff925d;
	font-size: 2.3rem;
	margin: 0 0 12px;
}

.step .box .txt p {
	font-size: 1.6rem;
	line-height: 1.7;
}

@media screen and (max-width: 767px) {

	.examdetail {
		padding: 0 0 20px;
	}
	.examdetail h2.ttl {
		height: 64px;
	}
	.examdetail h2.ttl img {
		top: -32px;
		left: calc(50% - 160px);
		max-width: 320px;
	}
	.examdetail .box {
		padding: 20px;
	}

	.exam_tbl.detail th, .exam_tbl.detail td{
		display: block;
		font-size: 1.5rem;
		line-height: 1.5;
	}

	.exam_tbl.detail tr:nth-child(2n) th, .exam_tbl.detail tr:nth-child(2n) td {
		background: #fffcee;
	}

	.exam_tbl.detail th, .exam_tbl.detail tr:nth-child(2n) th {
		background: #fff7d5;
		margin: 0 0 5px;
		width: 100%;
	}

	.exam_tbl.detail dt, .exam_tbl.detail dd {
		display: block;
		font-size: 1.5rem;
		line-height: 1.5;
		width: 100%;
	}

	.exam_tbl.detail dt {
		min-height: auto;
	}
	.exam_tbl.detail dd {
		margin-bottom: 10px;
	}
	.examdetail h3 {
		height: auto;
	}
	.examdetail h3 img {
		position: static;
	}

	.examdetail h2.ttl02 {
		margin-top: 30px;
	}
	.step .box {
		display: block;

	}

	.step .box .icon {
		margin: 0 auto 10px;
		width: 70px;
	}
	.step .box .txt {
		width: 100%;
	}

	.step .box .txt h4 {
		font-size: 2;
		text-align:center;
	}

	.step .box .txt p {
		font-size: 1.5rem;
		line-height: 1.5;
		word-break: break-all;
	}

}

/* ----------------------------------------------------------------------------------------------------
*  voice
* --------------------------------------------------------------------------------------------------*/

.voice {
	background: url("../images/bg_voice.png") no-repeat center top;
	background-size: cover;
	margin-bottom:-7px;
	padding: 0 0 120px;
	position: relative;
	top: -7px;
	z-index: 1;
}

.voice h2 {
	position:relative;
	height: 60px;
}

.voice h2 img{
	position: absolute;
	left: calc(50% - 428px);
	top: -100px;
}

.voice .img {
	margin-left: -120px;
}

@media screen and (max-width: 767px) {
	.voice {
		background: url("../images/bg_voice_sp.png") repeat-y center top;
		background-size: 100% auto;
		padding: 0 0 30px;
	}
	.voice .inner {
		padding: 0;
	}

	.voice h2 {
		text-align: center;
	}

	.voice h2 img {
		position: static;
		max-width: 320px;
		margin-top: -53px;
	}

	.voice .img {
		margin: 0;
	}

}

/* ----------------------------------------------------------------------------------------------------
*  QA
* --------------------------------------------------------------------------------------------------*/

.qa {
	background: #fffcee;
	padding: 0 0 80px;
}

.qa h2 {
	position:relative;
	height: 100px;
}

.qa h2 img {
	position:absolute;
	left: calc(50% - 533px);
	top: -70px;
	z-index:1;
}

.qa .box {
	background: #fff;
	border-radius: 30px;
	box-shadow: 4px 3px 9px #e9e1cf;
	padding: 50px 55px;
}

.qa dt {
	background: url("../images/ico_q.png") no-repeat left top;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.8;
	min-height: 39px;
	padding: 5px 0 8px 70px;
}

.qa dd {
	background: url("../images/ico_a.png") no-repeat left top;
	font-size: 1.5rem;
	line-height: 1.8;
	min-height: 39px;
	padding: 5px 0 8px 70px;
	margin: 0 0 30px;
}

@media screen and (max-width : 767px) {
	.qa {
		padding: 0 0 30px;
	}

	.qa h2 {
		height: auto;
		margin: 0 0 20px;
		text-align:center;
	}
	.qa h2 img {
		margin-top: -20px;
		max-width: 320px;
		position:relative;
		top: 0;
		left: 0;
		z-index: 1;
	}
	.qa .box {
		padding: 20px;
	}

	.qa dt {
		font-size: 1.6rem;
		line-height: 1.5;
		padding: 0 0 8px 50px
	}

	.qa dd {
		font-size: 1.5rem;
		line-height: 1.5;
		margin: 0 0 20px;
		padding: 0 0 8px 50px
	}
}

/* ----------------------------------------------------------------------------------------------------
*  map
* --------------------------------------------------------------------------------------------------*/

.map {
	padding: 30px 0;
}

.map .inner {
	display: flex;
	justify-content: space-between;
}

.map .txt {
	width: 600px;
}

.map table th{
	font-size: 1.6rem;
	font-weight: bold;
	padding: 17px 0 10px;
	vertical-align: top;
	width: 110px;
}

.map table td{
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing:0;
	padding: 12px 0;
	vertical-align: top;
}

@media screen and (max-width : 767px) {
	.map .inner {
		display: block;
	}

	.map iframe {
		width: 100%;
	}

	.map .txt {
		width: 100%;
	}

	.map table th, .map table td {
		display: block;
	}
}

/* ----------------------------------------------------------------------------------------------------
*  contact_fix
* --------------------------------------------------------------------------------------------------*/

.contact_fix {
	bottom: 0;
	background: #fff;
	position: fixed;
	width: 100%;
	z-index:100;
}

.contact_fix .btn{
	display: flex;
	justify-content: center;
	align-items: Center;
	height: 60px;
}

.contact_fix .btn li{
	margin: 0 5px;
	width: 160px;
}


/* ----------------------------------------------------------------------------------------------------
*  フッタ
* --------------------------------------------------------------------------------------------------*/

.pagetop {
	position: relative;
}

.pagetop a {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index:10;
}

@media screen and (max-width : 768px) {
	.pagetop {
		display: none;
	}
}

footer {
	background: #42414e;
	padding: 28px 0;
}

footer p {
	color: #fff;
	font-size: 1.8rem;
	text-align:center;
}

@media screen and (max-width : 768px) {
	footer {
		padding-bottom: 90px;/*for fix*/
	}

	footer p {
		font-size: 1.1rem;
	}
}


@media screen and (min-width : 769px) {
	.sp {
		display:none!important;
	}
}

@media screen and (max-width : 768px) {
	.pc {
		display:none!important;
	}
}



/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */



/*20190227追加*/
.popupModal1 > input { /* ラジオボックス非表示 */
    display: none;
}
.popupModal1 > input:nth-child(1) + label {
    cursor: pointer;
}
.modalPopup2 { /* 初期設定 ポップアップ非表示 */
    display: none;
}

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 {/* ラジオ１ チェックでポップアップ表示 */
    display: block;
    z-index: 9999;
    position: fixed;
    width: 90%;
    height: 80%;
    border-radius: 20px;
    left: 50%;
    top: 50%;
    margin-top: 30px;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    background: #fff;
    padding: 10px 20px;
    overflow: hidden;
}
@media screen and (min-width: 768px) {/* PCのときはページの真ん中の600x600領域 */
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2{
         width: 600px;
		 height:200px;
         padding: 30px;

    }
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
     left: 50% !important;
     top: 50% !important;
     margin-left: 270px !important;
     margin-top: -90px !important;
	 overflow: hidden;
}
}

@media screen and (max-width: 767px) {/* PCのときはページの真ん中の600x600領域 */
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2{
         width: 100%;
		 height:30%;
         padding: 30px;

    }
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
     left: 50% !important;
     top: 50% !important;
     margin-left: 270px !important;
     margin-top: -90px !important;
	 overflow: hidden;
}
}



.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div {/* */
    overflow:hidden;
    -webkit-overflow-scrolling:touch;
    display: inline-block;
    width: 100%;
    height: 100%;
}

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > spam {/* */
    overflow:hidden;
    -webkit-overflow-scrolling:touch;
    display: inline-block;
    width: 100%;
    height: 100%;
}
.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div > iframe {
    width: 100%;
      height:100%;
      border:none;
      display:block;
}

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label + .modalPopup2 > div > img {/* ポップアップの中の要素 */
max-width: 100%;
}
.popupModal1 > input:nth-child(1) + label ~ label {
    display: none;/* ラジオ１ 以外のラベルを初期は非表示 */

}

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label {
    width: 100%;
    height: 100%;
	background: rgba(0, 0, 0, 0.70);
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999;
    text-indent: -999999px;
    overflow: hidden;
}

.popupModal1 > input:nth-child(1):checked + label + input:nth-child(3) + label + input:nth-child(5) + label {
    background: rgba(255, 255, 255, 0.5);
    display: inline-block;
    position: fixed;
    left: 10px;
    bottom: 20px;
    z-index: 10000;
    width: 30pt;
    height: 30pt;
    font-size: 30px;
    border-radius: 50%;
    line-height: 30pt;
    text-align: center;
    box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.2);
}

.popupModal1 > input:nth-child(1) + label + input:nth-child(3):checked + label + input:nth-child(5) + label + .modalPopup2,
.popupModal1 > input:nth-child(1) + label + input:nth-child(3) + label + input:nth-child(5):checked + label + .modalPopup2 { /* ラジオ２と３ どっちかチェックでポップアップ非表示 */
    display: none;
}


.modalPopup2 {
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.popupModal1 .modalTitle {
	font-size: 20px;
	border-bottom: 1px solid #ccc;
	font-weight: bold;
	margin-bottom: 0.5em;
}

.popupModal1 .modalMain {
     color:#222;
     text-align: left;
     font-size: 18px;
     line-height: 200%;
}


.check ul {
	margin: 20px 0 50px 0;
}

.check ul li {
	background: url(../images/ico_check02.png) no-repeat left 4px;
	color: #404040;
	font-size: 1.8em;
	line-height: 1.5;
	margin: 0 0 20px;
	padding: 0 0 0 35px;
}

.check h4 {
	color: #ff925d;
	font-size: 2.3rem;
	margin: 0 0 12px;
}

.quantified .flex2 {
	display: flex;
	justify-content: space-between;
	margin: 0 0 30px;
}

.quantified .flex2 {
	width: 170px;
}

.quantified .txt2 {
	width: 650px;
}
.quantified .flex2 .txt2 {
	font-size: 1.6rem;
	line-height: 1.8;
}

.quantified .txt3 {
	font-size: 2em;
	line-height: 1.8;
}


/* 通常時の背景色 */
/*.fonback {
    background-color: #b1eeff;;
    }*/

/* マウスオーバー時の背景色 */
.fonback:hover {
	background-color: #FFCC99;
	background-position: center center;
    }


/* --------------------------------------------------------------------------------------------------
*  スケジュール用
* --------------------------------------------------------------------------------------------------*/

#schedule {
	/* text-align: center;
	margin: 60px 0 80px; */
	margin: 60px auto;
  max-width: 1000px;
}

#schedule h1{
	text-align: center;
	font-weight: bold;
	margin:  40px 0 40px;
	font-size: 30px;
	color: #EA5504;
}

#schedule h2{
	color: #EA5504;
	/* color: #FFF; */
	font-size: 2rem;
	font-weight: bold;
}

#schedule .arrow{
	position: relative;
}

#schedule .arrow::after{
	content: '';
	width: 10px;
	height: 10px;
	border: 5px solid;
	border-color:  transparent transparent #EA5504 #EA5504;
	transform: rotate(-45deg);
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -10px;
}

#schedule h3{
	color: #333;
	/* color: #FFF; */
	font-size: 2.2rem;
	margin: 30px 0 25px;
	font-weight: bold;
}
#schedule p {
}

/* パソコンで表示される */
.pc { display: inline !important; }
.sp { display: none !important; }


/* --------------------------------------------------------------------------------------------------
*  アコーディオン
* --------------------------------------------------------------------------------------------------*/
#acMenu dt{
	display:block;
	width:90%;
	height:50px;
	cursor:pointer;
	background:#fff7d5;
	border-radius: 10px;
	padding: 15px 0 15px 20px;
	margin: 20px auto;
}
#acMenu dd{
	width:88%;
	/* height:50px;
	line-height:50px; */
	margin: 20px auto;
	font-size: 1.6rem;
	/* border:#666 1px solid; 	background:#f2f2f2;text-align:center;*/
	display:none;
}

#acMenu table{
  box-sizing: border-box;
  border-collapse:collapse;
  margin: 0 auto 50px;
  text-align: center;
  width: 100%;
}
#acMenu table th,
#acMenu table td{
  border: 1px solid #ffc9b0;
  padding: .8em 1em;
}
#acMenu table th{
  background: #ffefe7;
	font-weight: 800;
	color: #ff925d;
	font-size: 1.6rem;
}



@media (max-width: 650px) {
  #acMenu table th,
  #acMenu table td{
    display: block;
    }
		#acMenu table th {
			  border: none;
		}
	#acMenu table td {
		border: 1px solid #ffefe7;
	}
}

  @media screen and (max-width: 480px) {
		#schedule h2{
			color: #EA5504;
			font-size: 1.8rem;
			font-weight: bold;
		}
		#acMenu table th,
		#acMenu table td{
			text-align: center;
		}
		/* スマートフォンで表示される */
		.pc { display: none !important; }
		.sp { display: inline !important; }
	}
