@charset "utf-8"; 

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&subset=japanese');

/* ------------------------------
    reset
------------------------------ */

a{
	color:#000;
	text-decoration:none;
}
a:hover {
	text-decoration:none;
} 
html{
	font-size:62.5%;
}

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: 'Noto Sans JP', sans-serif;
	-ms-font-feature-settings: "normal";
	text-align: left;
	color:#000;
}

textarea { font-size: 100%; }
img { vertical-align: bottom; }

/* ------------------------------
    base
------------------------------ */

body{
	position: relative;
	font-size: 1.0rem;
	min-width: 1000px;
}
table,dl,ol,ul li  {
	font-size: 1.6rem;
	line-height: 1.6;
}

/* ------------------------------
    contents
------------------------------ */

.wrap{
	width: 96%;
	max-width: 1000px;
	margin: 0 auto;
}
.ul{ text-decoration: underline; }
.bold{ font-weight: bold; }
.red{ color: #cc0000; }
.fr{ float: right; }
.fl{ float: left; }
.obi{
	font-size: 4.0rem;
	color: #fff;
	text-align: center;
	background: url("../img/bg_obi.png") center bottom no-repeat #000;
	line-height: 1.4;
	font-weight: bold;
	padding: 30px 0;
	margin: 0 0 60px;
}
.obi span{
	display: block;
	font-size: 1.8rem;
	margin: 0 0 0.5em;
}
.headline{
	font-size: 4.5rem;
	font-weight: 700;
	text-align: center;
	color: #fff;
	background: #1dcd00;
	padding: 0.6em 0;
	line-height: 1.0;
}
.header{
	border-bottom: 3px solid #1dcd00;
}
.header .wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 3px 25px 3px 7px;
	box-sizing: border-box;
}
.header ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header ul .contact{
	width: 158px;
	text-align: center;
	padding: 0 0 7px;
	margin-left: 15px;
}
.header ul .contact a{
	display: block;
	background: #95CA07;
	color: #fff;
	font-weight: 700;
	line-height: 1.0;
	border-radius: 5px;
	box-shadow: 0px 7px 0 #7AA600;
	padding: 12px 0;
	transition: 0.3s;
}
.header ul .contact a:hover{
	opacity: 0.7;
}

.fv h2{
	height: 545px;
	background: url("../img/bg_fv.jpg") center 0 no-repeat;
	background-size: auto 100%;
	padding: 50px 0 0;
	box-sizing: border-box;
}
.fv h2{
	text-align: center;
}
.fv div{
	background: #1dcd00;
	text-align: center;
	padding: 30px 0;
}


.contact_form {
	margin-bottom:30px;
}
.contact_form .intro{
	text-align: center;
	font-size: 1.8rem;
	margin: 2em 0 1.5em;
}
.contact_form .pp p {
    font-size:14px;
}
.contact_form .wrap {
	width:795px;
	margin: 0 auto;
}
.contact_form .set_img {
	margin-bottom:12px;
}
.contact_form .set_img img {
	width:100%;
}
.contact_form table {
	width:100%;
}
.contact_form th ,
.contact_form td {
	display:table-cell;
	width:100%;
	padding:0 0 10px 0;
}
.contact_form th {
	margin-bottom:5px;
	width:326px;
	vertical-align:top;
}
.contact_form td {
	width:466px;
	margin:0;
	font-size:16px;
}
.contact_form td strong {
	font-size:24px;
	font-weight:bold;
	padding:10px 0.3em;
}
.contact_form td p.input {
	font-weight:bold;
	line-height:1.4;
}
.contact_form td p.input span {
	display:inline;
	width:auto;
	float:none;
}
.contact_form td p.input strong {
	width:5em;
	display:inline-block;
	font-size:18px;
}
.contact_form td p.input span select {
	display:inline;
	width:auto;
}
.contact_form td p.input span + span {
	float:none;
	display:block;
	margin-top:15px;
}
.contact_form td ul {
	margin:11px auto 10px;
	padding:0;
}
.contact_form td ul li {
	position: relative;
	line-height:1.6;
	display:inline-block;
}
.contact_form td ul li input {
	vertical-align:middle;
	margin-right:0.5em;
}
.contact_form th,
.contact_form .ttl,
.contact_form .contents{
	position: relative;
	font-size: 18px;
	font-weight:bold;
	text-align:left;
	line-height:1.4;
	position:relative;
	/*padding:10px 0;*/
	/* padding-left:0.8em; */
	margin:0;
	/*background: #e4e4e4;*/
}
.contact_form th:before,
.contact_form .ttl:before,
.contact_form .contents:before{
	content:"";
	display:block;
	width:5px;
	height:20px;
	/*background:#0051a2;*/
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	position:absolute;
	left:0;
	top:13px;
}
.contact_form table input ,
.contact_form table textarea ,
.contact_form table select {
	border:3px solid #e6e6e6;
	padding:0.3em 48px 0.3em 3%;
	box-sizing: border-box;
}
.contact_form table select ,
.contact_form table input.txt01 ,
.contact_form table input.txt02 ,
.contact_form table textarea {
	width:100%;
	font-size:16px;
	border-radius: 5px;
}
.contact_form table textarea{
	height:100px;
	vertical-align:top;
	padding:10px;
}
.contact_form table input.txt03 ,
.contact_form table input.txt04 {
	font-size:1.6rem;
	padding:0.3em;
}
.contact_form table input ,
.contact_form table textarea ,
.contact_form table select {
	border:3px solid #e6e6e6;
	padding:0.3em 48px 0.3em 3%;
	box-sizing: border-box;
}
.contact_form table textarea{
	height:70px;
	vertical-align:top;
	padding:10px;
}
.contact_form table input.txt03 ,
.contact_form table input.txt04 {
	font-size: 1.6rem;
	padding:0.3em;
}
.contact_form table input ,
.contact_form table textarea ,
.contact_form table select {
	border-radius:5px;
	border:1px solid #a9a9a9;
	-webkit-appearance: none;
}
.contact_form table select {
	-moz-appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
	background:url(../img/arrow.png) no-repeat right center #fff;
	background-size:auto 101%;
	line-height: 2.0;
	width:45%;
	padding: 4px 0px 6px 11px;
}
.contact_form table select::-ms-expand {
    display: none;
}
.contact_form .contents {
    padding-bottom: 10px;
}
.contact_form table .trial_lesson select {
	width:75px;
}
.contact_form td ul li input{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.contact_form .red {
	font-size: 1.3rem;
	color: #fff;
	background: #ff3737;
	padding:0 0.4em 0;
	line-height:1em;
	margin-left:0 0.5em 0 0;
	font-weight:normal;
	border-radius:5px;
	vertical-align: initial
}
.contact_form .grey {
	font-size: 1.3rem;
	color: #fff;
	background: #808080;
	padding:0 0.4em 0;
	line-height:1em;
	margin-left:0 0.5em 0 0;
	font-weight:normal;
	border-radius:5px;
	vertical-align: initial
}
.contact_form .blue {
	font-size: 16px;
	color: #fff;
	background: #1dcd00;
	padding:0 0.4em 2px;
	line-height:1em;
	/*margin-left:0.5em;*/
	font-weight:normal;
	border-radius:5px;
	vertical-align: initial
}
.contact_form .info{
	font-size: 1.5rem;
	font-weight: 400;
	margin: 0.5em 0 0 0;
}
.contact_form tr:first-child td .info{
	margin-left: 1em;
}
.contact_form .btn input {
	-webkit-appearance: none;
	width: 80%;
	max-width: 310px;
	padding: 0;
	line-height: 51px;
	display: block;
	margin:15px auto;
	font-size: 18px;
	font-weight: 300;
	cursor:pointer;
	transition: 0.3s;
	color: #fff;
    background-color: #96ca0b;
    box-shadow: 0 7px 5px 0px #ddd;
	border-radius: 33px;
	border: 0;
}
.contact_form .btn input:hover {
	opacity: 0.7;
}
.contact_form .pp {
	margin:0px auto;
	border:2px solid #e6e6e6;
	padding:0% 2%;
	height:74px;
	overflow:auto;
	max-width: 800px;
}
.contact_form .pp .mds {
	text-align:center;
	margin-bottom:1em;
	font-size:1.6rem;
	font-weight:bold;
	margin:0;
}
.contact_form .pp p {
    font-size:1.4rem;
	text-align:left;
	line-height:1.4;
}
.contact_form .pp .pp_name {
	text-align:right;
	margin-bottom:1em;
}


/* チェックボックス　*/
.checkbox01-input{
  opacity:0;
}
.checkbox01-parts{
  padding-left: 20px;
  position:relative;
  margin-right: 20px;
  z-index:1;
}
.checkbox01-parts::before{
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 0;
  width: 11px;
  height: 11px;
  border:2px solid #e6e6e6;
}

.checkbox01-input:checked + .checkbox01-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 5px;
  width: 4px;
  height: 10px;
  transform: rotate(40deg);
  border-bottom: 3px solid #1dcd00;
  border-right: 3px solid #1dcd00;
}
.contact_form .back {
    display: block;
	width: 300px;
	font-size: 1.6rem;
    background-color: #ccc;
    box-shadow: 0 4px 0 #666;
    border: 0;
    border-radius: 4px;
    margin: 40px auto 20px;
    padding: 10px 0;
    cursor: pointer;
	transition: 0.3s;
}
.contact_form .back:hover{
	opacity: 0.7;
}

/* チェックボックス　*/
.checkbox01-parts{
  padding-left: 26px;
}
.checkbox01-parts::before{
  width: 22px;
  height: 22px;
	border:3px solid #e6e6e6;
}
.checkbox01-input:checked + .checkbox01-parts::after{
  top: 4px;
  left: 10px;
  width: 6px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #1dcd00;
  border-right: 3px solid #1dcd00;
}
.contact_form .backBtn{
	width: 300px;
	font-size: 1.4rem;
	margin: 0 auto;
}
.contact_form .backBtn a{
    display: block;
    text-decoration: none;
    text-align: center;
    position: relative;
    background-color: #1dcd00;
    border-radius: 4px;
    color: #fff;
    -webkit-transition: none;
    transition: none;
    box-shadow: 0 7px 0 #1dcd00;
	padding: 1.5em 0;
	transition: 0.3s;
}
.contact_form .backBtn a:hover{
	opacity: 0.7;
}
.contact_form .ac{
	text-align: center;
	margin: 0 0 30px;
}

.footer {
	background: #1dcd00;
	/*padding: 13px 0;
	margin: 30px 0 0;*/
}
.footer .wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer .copy {
	color: #FFF;
	font-size: 1.6rem;
}
.footer .btn{
	font-size: 1.6rem;
	font-weight: bold;
}
.footer .btn a{
	display: block;
	background: #fff;
	color: #1dcd00;
	line-height: 1.0;
	padding: 10px 20px;
	border-radius: 5px;
}

@media screen and (min-width : 768px){

	.sp{
		display:none!important;
	}
	.btn a,
	a img{
	    -webkit-backface-visibility: hidden;
	    backface-visibility: hidden;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
		text-decoration: none;
	}
	.btn a:hover,
	a img:hover{
		opacity: 0.7;
	}
}


@media screen and (max-width : 767px){

	html{ overflow:auto; }
	body{ min-width: inherit;}
	table, dl, ol, ul li{ font-size: 3.5vw; text-align: justify;}
	img{ width:100%; height: auto; }
	.obi{
		font-size: 5.4vw;
		line-height: 1.6;
	}
	.headline{ font-size: 6vw;}
	.headline2{ font-size: 5vw; line-height: 1.5;}
	main{
		display: block;
		padding: 65px 0 0 0;
	}
	.pc{
		display:none;
	}
	.sp{
		display: block!important;
	}
	.wrap{ width: 90%; }
	
	.header{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background: #fff;
		z-index: 9999;
	}
	.header .wrap{
		width: auto;
		min-height: 30px;
		padding: 0px 5%;
	}
	.header h1{
		width: 180px;
		line-height: 0;
	}
	.header h1 a{
		display: block;
		line-height: 0;
	}
	.header h1 img{
		width: 100%;
		height: auto;
	}
	.header ul .tel a{
		display: block;
		width: 40px;
		height: 43px;
		background: url("../img/icon_header_tel.png") 0 0 no-repeat;
		background-size: 100% auto;
		overflow: hidden;
		white-space: nowrap;
		text-indent: 104%;
	}
	.header ul .contact{
		width: auto;
		padding: 0;
		margin-left: 10px;
	}
	.header ul .contact a{
		display: block;
		width: 40px;
		height: 43px;
		background: url("../img/icon_header_contact.png") 0 0 no-repeat;
		background-size: 100% auto;
		overflow: hidden;
		border-radius: 0;
		white-space: nowrap;
		text-indent: 104%;
		padding: 0;
		box-shadow: none;
	}
	.fv h2{
		height: auto;
		background: none;
		padding: 0;
	}
	.fv div{
		padding: 3%;
	}
	.cp{
		padding: 10% 0;
	}
	.cp h3{
		margin: 0 0 5%;
	}
	.cp ul li{
		width: 100%;
		padding: 0 5% 5%;
		margin-top: 5%;
	}
	.cp p{
		width: auto;
		margin: 3% 0;
	}
	.cp ul li .target{
		width: 100%;
		margin: 0 auto;
	}
	.cp .btn{
		width: auto;
		margin: 5% 0 0;
		padding-bottom: 7px;
	}
	.cp ul li:nth-child(-n+2){
		margin-top: 5%;
	}
	.cp ul li:first-child{
		margin-top: 0;
	}
	.cp ul li.w100{
		padding: 0 5% 5%;
	}
	.cp ul li.w100 .col2{
		display: block;
		padding: 5% 0 0;
	}
	.cp ul li.w100 .col2 div{
		margin-bottom: 5%;
	}
	.media{
		padding: 10% 0;
	}
	.media h3{
		font-size: 6vw;
	}
	.media ul{
		display: block;
		margin: 5% 0 0;
	}
	.media ul li p{
		width: 80%;
		font-size: 4vw;
		margin: 3% auto 0;
	}
	.media ul li+li{
		margin-top: 8%;
	}
	.voice .caution{
		margin: 2% auto 5%;
		padding: 0;
	}
	
	.voice .inner{
		display: block;
	}
	.voice .inner .txt p{
		width: auto;
		font-size: 3.6vw;
		background-size: 2em auto;
		background-position: 0 2px;
		padding: 0 0 0 2.5em;
	}
	.voice .inner .txt p+p{
		margin-top: 1em;
	}
	.voice .inner .txt p span{
		font-size: 3.2vw;
	}
	.voice .inner .img{
		width: 100%;
	}
	.voice .inner .txt,
	.voice .inner.jh .txt{
		width: 100%;
		margin: 0;
		padding: 5%;
	}
	.voice .inner .img p{
		top: -4vw;
		left: 3%;
		width: 20vw;
		height: 20vw;
	}
	.voice .inner.jh .img p{
		top: -4vw;
		right: 3%;
	}
	.voice .inner .img p span{
		font-size: 4.6vw;
	}
	.voice .inner+.inner{
		margin-top: 10%;
	}
	.voice .info{
		margin: 5% 0;
	}
	.catch{
		font-size: 4.6vw;
	}
	.catch span{
		font-size: 5.6vw;
	}

	.opt{
		width: auto;
		margin: 0 5%;
	}
	.opt .optWrap{
		margin: 0 0 5%;
		padding: 3% 4%;
	}
	.opt .optWrap p{
		font-size: 3.2vw;
		text-align: left;
		margin: 0 0 1em;
	}
	.opt .optWrap ul{
		display: block;
	}
	.opt .optWrap ul li{
		font-size: 4vw;
		padding: 0 0 5px;
	}
	.opt .optWrap ul li+li{
		margin-top: 3%;
	}
	.opt .optWrap .document,
	.opt .optWrap .taiken{
		padding: 0 0 5px;
	}
	.opt .optWrap a{
		width: auto;
		box-shadow: 0px 5px 0 #7AA600;
		padding: 4% 0;
	}
	.opt .optWrap .document a,
	.opt .optWrap .taiken a{
		padding: 5% 0;
	}
	.opt .optWrap ul li:first-child a{
		background: #E0E0E0;
		box-shadow: 0 5px 0 #BCBCBC;
		padding: 4% 20%;
	}
	.opt .optWrap .document a{
		box-shadow: 0 5px 0 #EF5500;
	}
	.opt .searchList ul li span{
		padding-left: 1em;
	}
	.opt .btn,
	.opt .btn2,
	.opt .btn3,
	.opt .btn4{
		width: auto;
		font-size: 4vw;
		margin: 0;
		box-shadow: 0 5px 0 #00497F;
		padding: 4% 0;
	}
	.opt .btn3{
		margin: 0 0 1em;
	}
	.opt .searchList{
		margin: 0;
		padding: 3% 4%;
	}
	.opt .searchList ul li{
		font-size: 3.2vw;
		line-height: 2.4;
	}
	.opt .list{
		margin: 5% 0 0;
	}
	.opt .list h3{
		font-size: 4vw;
		margin: 1em 0;
	}
	.opt .list .yokohamashi_01,
	.opt .list .yokohamashi_02,
	.opt .list .yokohamashi_03,
	.opt .list .yokohamashi_04{
		margin-top: 5%;
	}
	.opt .btn+.searchList,
	.opt .btn2+.searchList,
	.opt .btn4+.searchList{
		margin-top: 5%;
	}
	.opt .list .set_list{
		padding: 3% 4%;
	}
	.opt .list .set_list h4,
	.opt .list .set_list p{
		font-size: 3.6vw;
	}
	.opt .list .btn_list{
		margin: 3% 0 0;
	}
	.opt .list .btn_list a{
		width: 100%;
		font-size: 3.6vw;
		line-height: 2;
	}
	
	.contact_form::before{
		content:"";
		display:block;
		height: 32px;
		margin: -64px 0 0;
		visibility: hidden;
		z-index: -1;
	}
	.contact_form .intro{
		font-size: 4vw;
		margin: 5% 0;
	}
	.contact_form .wrap{
		width: 90%;
		margin: 0 auto;
	}
	.contact_form .btn input{
		width: 80%;
	}
	.contact_form td ul li{
		display: inline;
	}
	.contact_form th,
	.contact_form td{
		display: block;
		width: 100%;
	}
	.contact_form td{
		font-size:16px;
	}
	.contact_form td strong{
		font-size:3.5vw;
	}
	.contact_form th,
	.contact_form .ttl,
	.contact_form .contents{
		font-size: 16px;
		box-sizing: border-box;
		padding: 0px 0px 3px 0px;
	}
	.contact_form th:before,
	.contact_form .ttl:before,
	.contact_form .contents:before{
		top: 50%;
		transform: translateY(-50%);
	}
	.contact_form table input.txt03{
		width: 34%;
	}
	.contact_form table input.txt04{
		width: 25%
	}
	.contact_form .info{
		font-size: 16px;
	}
	.contact_form .red{
		font-size: 12px;
	}
	.contact_form .grey{
		font-size: 12px;
	}
	.contact_form td{
		margin: 0 0 0%;
	}
	.contact_form td ul{
		margin: 0% 0 0;
	}
	.contact_form td ul li{
		font-size: 4vw;
		line-height: 1.5;
	}
	.contact_form td ul li+li{
		margin-top: 0.5em;
	}
	.checkbox01-parts::before{
		top: 1px;
		width: 20px;
		height: 20px;
		box-sizing: border-box;
	}
	.checkbox01-input:checked + .checkbox01-parts::after{
		width: 2vw;
		height: 4vw;
		top: 0.5vw;
		left: 2.0vw;
	}
	.checkbox01-parts{
		/*display: flex;*/
		line-height: 1.5;
		padding: 0 0 0 8vw;
		margin-right: 0;
		border-radius: 10px;
	}
	.contact_form td p.input strong{
		font-size: 4vw;
	}
	.contact_form td p.input span + span{
		margin-top: 0.5em;
	}
	.contact_form tr:last-child .contents{
		margin-bottom: 0.5em;
	}
	.contact_form .pp{
		margin: 2px 18px 2% 18px;
	}
	.contact_form .pp .mds{
		font-size: 4vw;
		margin: 0 0 0.5em;
	}
	.contact_form .pp p{
		font-size: 3.4vw;
	}
	.contact_form .btn input{
		font-size: 18px;
		line-height: 51px;
		/*padding: 1em 0*/
	}
	.contact_form.thanks,
	.contact_form.conf{
		padding-top: 65px;
	}
	/*.footer{
		margin: 8% 0 0;
		padding: 5% 0;
	}*/
	.footer .copy{
		font-size: 3.4vw;
	}
	.footer .btn{
		font-size: 3.2vw;
	}
	.footer .btn a{
		line-height: 1.4;
		padding: 1em 1em;
	}
	
	.bnr_sindan{
		margin: 10vw 0;
	}
}


.clear{
	clear:both;
}
/* ------------------------------
    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 */ 


.btn-square-shadow {
	display: inline-block;
	padding: 0.5em 1em;
	text-decoration: none;
	background: #668ad8;/*ボタン色*/
	color: #FFF;
	border-bottom: solid 4px #1dcd00;
	border-radius: 3px;
	width:180px;
  }
  .btn-square-shadow:active {
	/*ボタンを押したとき*/
	-webkit-transform: translateY(4px);
	transform: translateY(4px);/*下に動く*/
	box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);/*影を小さく*/
	border-bottom: none;
  }