/*-----------------------------------------------
     通年フォームのindex.phpに直接書かれていたcss
-----------------------------------------------*/
.headline {
    font-size: 2.5rem !important;
}

@media screen and (min-width: 768px) {
    .headline {
        font-size: 3.5rem !important;
    }
    
}



.key-visual-hd{
    display:none;
    }
    .key-visual{
    display:none;
    }
    @media screen and (max-width: 480px) {
    .key-visual-hd{
      display:block;
    padding: 0.25em 0.5em;
      color: #494949;
      background: transparent;
      border-left: solid 5px #7db4e6;
    }
    .key-visual{display:block;}
    }	
    .address_items{
      display:none;
    }
    .checkbox01-parts{
      cursor:pointer;
    }
    .arrow-icon {
      position: relative;
      display: inline-block;
      padding: 10px;
    }
    .arrow-icon::before {
      content: '';
      width: 10px;
      height: 10px;
      border-top: solid 2px #5070e3;
      border-right: solid 2px #5070e3;
      position: absolute;
      left: 10px;
      top: 8px;
    }
    .arrow-icon.arrow-top::before {
      transform: rotate(-45deg);
      top: 10px;
    }
    .arrow-icon.arrow-bottom::before {
      transform: rotate(135deg);
    }
    .arrow-icon.arrow-left::before {
      transform: rotate(-135deg);
    }
    .arrow-icon.arrow-right::before {
      transform: rotate(45deg);
    }
    /* OKなら、その他のテキストボックス以外を緑にする */
    /**form input:valid:not(:last-child) {
      border : seagreen 2px solid;
    }**/
    .form_error{
      color:red;
    }
    #error_kana, #error_email, #error_tel,#error_zip01, #error_grade{
      display:none;
    }

    /*Reset*/
    *, *:before, *:after {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
      box-sizing: border-box;
    }
    input[type="text"], 
    input[type="password"], 
    input[type="submit"],
    textarea, 
    button,
    select {
      -webkit-appearance: none;
      border-radius: 0;
      -webkit-appearance: none;
      -moz-appearance: none;
      margin: 0;
      padding: 0;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
    }
    /*START*/
    .form_inner{
      width: 100%;
      /* max-width: 700px; */
      /* padding: 0 20px; */
      margin: 0 auto;
    }
    form{
      position: relative;
      padding: 0px 0 0px;
    }
    .form_test{
      width: 100%;
      margin: 20 auto 20px;
      border-collapse: collapse;
    }
    .form_test th,
    .form_test td {
      display: block;
      width: 100%;
    }
    .form_test th{
      vertical-align: bottom;
      text-align: left;
      margin-bottom: 3px;
      padding: 0px 0px;
    }
    .form_test td{
        vertical-align: middle;
    }
    .form_test th h2{
      font-size: 12px;
      font-weight: normal;
    }
    .form_test input[type="text"], 
    .form_test input[type="submit"],
    .form_test input[type="tel"],
    .form_test input[type="search"],
    .form_test input[type="email"],
    .form_test input[type="mail"],
    .form_test input[type="password"],
    .form_test textarea, 
    .form_test button,
    .form_test select{
      outline: 0;
      width: 100%;
      padding: 10px;
      margin: 0;
      border: 1px solid #a9a9a9;
      font-size: 18px;
      line-height: 1.2em;
      background: #F3F5F9;
      border-radius: 5px;
    }
    .form_test select{
      padding: 10px 30px 10px 10px;
    }
    .select{
      position: relative;
    }
    /*.select:after{
      content: "";
      display: block;
      position: absolute;
      top: 10px;
      right: 15px;
      border-right: 2px solid #323232;
      border-bottom: 2px solid #323232;
      height: 10px;
      width: 10px;
      transform: rotate(45deg);
    }*/
    .form_test textarea{
      height: 10em;
    }
    .contact_btn_tel{
      width: 100%;
    }
    .required{
      margin-left: 4px;
      color: #ff0000;
      font-size: 10px;
    }
    #remaining{
      display: block;
      right: 10%;
      bottom: 71px;
      display: flex;
      justify-content: center;
      align-items: center;
      /* position: fixed; */
      width: 80%;
      /*height: 5%;*/
      background: orange;
      border-radius: 90px;
      text-align: center;
      padding: 0px 0px;
      z-index:10;
      max-width: 310px;
      box-shadow: 0 7px 5px 0px #ddd;
      margin: 15px auto;
    }
    #remaining p{
      display: block;
      font-size: 12px;
      font-weight: bold;
      margin-bottom: 6px;
      color: #FFF;
      /*line-height: 1.4em;*/
    }
    .number{
      font-size: 25px;
      line-height: 1.4em;
    }
    .items{
      font-size: 14px;
    }

    .s_01 .accordion_one {
      max-width: 1024px;
      margin: 0 auto;
    }
    .s_01 .accordion_one .accordion_header {
      /*background-color: #e4e4e4;*/
      color: #000;
      font-size: 18px;
      font-weight: bold;
      padding: 10px 0px 3px;
      text-align: left;
      position: relative;
      z-index: +1;
      cursor: pointer;
      transition-duration: 0.2s;
    }
    .s_01 .accordion_one:nth-of-type(2) .accordion_header {
        background-color: #ff9a05;
    }
    .s_01 .accordion_one:nth-of-type(3) .accordion_header {
        background-color: #1c85d8;
    }
    .s_01 .accordion_one .accordion_header:hover {
      opacity: .8;
    }
    .s_01 .accordion_one .accordion_header .i_box {
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      top: 50%;
      right: 5%;
      width: 40px;
      height: 40px;
      border: 1px solid #000;
      margin-top: -20px;
      box-sizing: border-box;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      transform-origin: center center;
      transition-duration: 0.2s;
    }
    .s_01 .accordion_one .accordion_header .i_box .one_i {
      display: block;
      width: 18px;
      height: 18px;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      transform-origin: center center;
      transition-duration: 0.2s;
      position: relative;
    }
    .s_01 .accordion_one .accordion_header.open .i_box {
      -webkit-transform: rotate(-360deg);
      transform: rotate(-360deg);
    }
    .s_01 .accordion_one .accordion_header .i_box .one_i:before, .s_01 .accordion_one .accordion_header .i_box .one_i:after {
      display: flex;
      content: '';
      background-color: #000;
      border-radius: 10px;
      width: 18px;
      height: 4px;
      position: absolute;
      top: 7px;
      left: 0;
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg);
      transform-origin: center center;
    }
    .s_01 .accordion_one .accordion_header .i_box .one_i:before {
      width: 4px;
      height: 18px;
      top: 0;
      left: 7px;
    }
    .s_01 .accordion_one .accordion_header.open .i_box .one_i:before {
      content: none;
    }
    .s_01 .accordion_one .accordion_header.open .i_box .one_i:after {
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
    }
    .s_01 .accordion_one .accordion_inner {
      padding: 5px 0px;
      /*border-left: 1px solid #c2c2c2;*/
      /*border-right: 1px solid #c2c2c2;*/
      /*border-bottom: 1px solid #c2c2c2;*/
      /*border-top:  1px solid #c2c2c2;*/
      box-sizing: border-box;
    }
    .s_01 .accordion_one:nth-of-type(2) .accordion_inner {
      border-left: 2px solid #ff9a05;
      border-right: 2px solid #ff9a05;
      border-bottom: 2px solid #ff9a05;
    }
    .s_01 .accordion_one:nth-of-type(3) .accordion_inner {
      border-left: 2px solid #1c85d8;
      border-right: 2px solid #1c85d8;
      border-bottom: 2px solid #1c85d8;
    }
    .s_01 .accordion_one .accordion_inner .box_one {
      height: 300px;
    }
    .s_01 .accordion_one .accordion_inner p.txt_a_ac {
      margin: 0;
    }
    @media screen and (max-width: 1024px) {
      .s_01 .accordion_one .accordion_header {
        font-size: 18px;
      }
      .s_01 .accordion_one .accordion_header .i_box {
        width: 20px;
        height: 20px;
        margin-top: -10px;
      }
    }
    @media screen and (max-width: 767px) {
      .s_01 .accordion_one .accordion_header {
        font-size: 16px;
        text-align: left;
        padding: 10px 60px 3px 0px;
        font-weight: bold;
      }
    }



/*-----------------------------------------------
     通年フォームのstyle.cssに書かれていたcss
-----------------------------------------------*/
@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;
}
p,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: #005EAE;
	padding: 0.6em 0;
	line-height: 1.0;
}
.header{
	border-bottom: 3px solid #005EAE;
}
.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: #005EAE;
	text-align: center;
	padding: 30px 0;
}
.cp{
	background: #DCF0FF;
	padding: 80px 0;
}
.cp h3{
	text-align: center;
	margin: 0 0 40px;
}
.cp ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.cp ul li{
	position: relative;
	width: 480px;
	background: #fff;
	text-align: center;
	padding: 0 0 40px;
	margin-top: 30px;
}
.cp ul li.w100{
	width: 100%;
	padding: 0 40px 45px;
}
.cp ul li.w100 .col2{
	display: flex;
	justify-content: space-between;
	padding: 40px 0 0;
}
.cp ul li.w100 .col2 p{
	text-align: center;
}
.cp ul li:first-child{
	margin-top: 0;
}
/*
.cp ul li:nth-child(-n+2){
	margin-top: 0;
}
*/
.cp ul li::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 30px;
	background: #DCF0FF;
	z-index: 0;
}
.cp ul li img{
	position: relative;
	flex-shrink: 0;
	z-index: 1;
}
.cp ul li .target{
	background: #F5F5F5;
	text-align: center;
	font-weight: 700;
	padding: 5px 0;
	margin: 10px auto 0;
}
.cp .btn{
	width: 400px;
	margin: 15px auto 0;
}
.cp .btn a{
	display: block;
	background: #FF7921;
	color: #fff;
	font-weight: 700;
	line-height: 1.0;
	border-radius: 5px;
	box-shadow: 0px 7px 0 #EA661C;
	padding: 12px 0;
	transition: 0.3s;
}
.cp .btn a:hover{
	opacity: 0.7;
}
.cp p{
	width: 390px;
	margin: 10px auto 0;
}
.cp ul li:nth-child(2) p{
	text-align: center;
}
.media{
	padding: 80px 0;
}
.media h3{
	text-align: center;
	color: #005EAE;
	font-weight: 700;
	font-size: 4.5rem;
}
.media ul{
	display: flex;
	justify-content: space-between;
	margin: 40px 0 0;
}
.media ul li p{
	width: 260px;
	text-align: center;
	color: #fff;
	font-weight: 700;
	background: #005EAE;
	border-radius: 20px;
	font-size: 1.8rem;
	padding: 5px 0;
	margin: 15px auto 0;
}
.voice{
	padding: 0 0 80px;
}
.voice .caution{
	font-size: 1.4rem;
	text-align: right;
	margin: 15px auto 70px;
	padding-right: 40px;
	box-sizing: border-box;
}
.voice .inner{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
}
.voice .inner+.inner{
	margin-top: 85px;
}
.voice .inner .img{
	position: relative;
	width: 50%;
}
.voice .inner .img p{
	position: absolute;
	top: -35px;
	left: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 145px;
	height: 145px;
	background: #FF7921;
	border-radius: 100%;
}
.voice .inner .img p span{
	font-size: 3.4rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.0;
}
.voice .inner .img img{
	width: 100%;
	height: auto;
}
.voice .inner .txt{
	position: relative;
	width: 55%;
	background: #DCF0FF;
	padding: 40px 0 40px 55px;
	box-sizing: border-box;
	z-index: 1;
	margin: 45px 0 0 -5%;
}
.voice .inner .txt p{
	width: 500px;
	font-size: 1.6rem;
	background: url("../img/icon_voice.png") 0 5px no-repeat;
	background-size: 30px auto;
	padding: 0 0 0 45px;
}
.voice .inner .txt p+p{
	margin-top: 20px;
}
.voice .inner .txt p span{
	font-size: 1.4rem;
}
.voice .inner.jh{
	flex-flow: row-reverse;
}
.voice .inner.jh .img p{
	position: absolute;
	top: -35px;
	right: 35px;
	left: auto;
	background: #95CA07;
}
.voice .inner.h .img p{
	background: #005EAE;
}
.voice .inner.jh .txt{
	margin: 45px -5% 0 0;
	padding: 40px 55px 40px 0;
}
.voice .inner.jh .txt p{
	margin-left: auto;
}
.voice .info{
	margin: 45px 0;
}
.catch{
	position: relative;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 700;
	z-index: 1;
}
.catch span{
	position: relative;
	font-size: 3.4rem;
	color: #005EAE;
}
.catch span::before{
	content: '';
	position: absolute;
	bottom: 4px;
	left: 0;
	width: 100%;
	height: 8px;
	background: #FFDB00;
	z-index: -1;
}
.opt{
	width: 1000px;
	margin: 0 auto;
}
.opt .optWrap{
	background: #fff;
	border: 5px solid #DBDBDB;
	border-radius: 5px;
	padding: 25px 45px;
	margin: 0 0 30px;
}
.opt .optWrap p{
	font-weight: 700;
	font-size: 1.8rem;
	text-align: center;
	margin: 0 0 15px;
}
.opt .optWrap ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.opt .optWrap ul li{
	font-size: 1.8rem;
}
.opt .optWrap a{
	display: block;
	width: 270px;
	text-align: center;
	background: #95CA07;
	color: #fff;
	font-weight: 700;
	line-height: 1.0;
	border-radius: 5px;
	box-shadow: 0px 7px 0 #7AA600;
	padding: 17px 0;
	transition: 0.3s;
	-webkit-background-clip: padding-box; 
	-moz-background-clip: padding; 
	background-clip: padding-box;
}
.opt .optWrap .document,
.opt .optWrap .taiken{
	padding: 0 0 7px;
}
.opt .optWrap .document a{
	background: #FF7921;
	box-shadow: 0 7px 0 #EF5500;
}
.opt .optWrap a:hover{
	opacity: 0.7;
}
.opt .btn,
.opt .btn2,
.opt .btn3,
.opt .btn4{
	display: block;
	width: 400px;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	font-weight: 700;
	line-height: 1.0;
	background: #005EAE;
	border-radius: 5px;
	box-shadow: 0 7px 0 #00497F;
	margin: 0 auto 7px;
	padding: 18px 0;
	cursor: pointer;
	transition: 0.3s;
}
.opt .btn3{
	margin: 0 auto 30px;
}
.opt .btn:hover,
.opt .btn2:hover,
.opt .btn3:hover,
.opt .btn4:hover{
	opacity: 0.7;
}
.opt .btn+.searchList,
.opt .btn2+.searchList,
.opt .btn4+.searchList{
	margin-top: 27px;
}
.opt .searchList {
	/*display: none;*/
	display: flex;
	justify-content: space-between;
	width: auto;
	flex-wrap: wrap;
	background: #fff;
	padding: 35px 45px;
	border: 5px solid #f5f5f5;
}
.opt .searchList ul {
	width:30%;
}
.opt .searchList ul li {
	border-bottom:2px solid #DBDBDB;
	font-size:1.6rem;
	line-height:50px;
	color: #005EAE;
	text-align:left;
	font-weight:bold;
}
.opt .searchList ul li span {
	padding:0 0.5em 0 2.8em;
}
.opt .searchList ul li a {
	text-decoration:none;
	color:#000;
	font-weight:normal;
}
.opt .list .btn_list {
	margin:15px auto 0;
}
.opt .list .btn_list a{
	font-size:1.6rem;
	width:180px;
	line-height:4.0rem;
	border-radius:20px;
}
.opt .list .btn_list + h4 {
	margin:2.0em auto 0;
}
.opt .list .set_list {
	border:5px solid #f5f5f5;
	padding:25px;
}
.opt .list .set_list h4 ,
.opt .list .set_list p {
	font-size:2.4rem;
}
.opt .list .set_list h4{
	font-weight:bold;
	line-height: 1.6;
}
.opt .list .btn_list {
	margin:15px auto 0;
}
.opt .list .btn_list a{
	font-size:1.6rem;
	width:180px;
	line-height:4.0rem;
	border-radius:20px;
}
.opt .list .btn_list + h4 {
	margin:2.0em auto 0;
}
.opt .list h3 {
	color: #0051a2;
	font-weight: 700;
	font-size:2.4rem;
	margin:1.5em 0 1em;
}
.opt .list .yokohamashi_01,
.opt .list .yokohamashi_02,
.opt .list .yokohamashi_03,
.opt .list .yokohamashi_04{
	margin-top: 27px;
}
.opt .list .yokohamashi_01 h3,
.opt .list .yokohamashi_02 h3,
.opt .list .yokohamashi_03 h3,
.opt .list .yokohamashi_04 h3{
	width: 100%;
	margin: 0 0 1em;
}
.opt .list .btn_list {
	margin:15px auto 0;
}
.opt .list .btn_list a{
	display: block;
	text-align: center;
	color: #fff;
	background: #303030;
	font-size:1.6rem;
	width:180px;
	line-height:4.0rem;
	border-radius:20px;
	-moz-border-radius:20px;
	-webkit-border-radius:20px;
}
.opt .list .btn_list + h4 {
	margin:2.0em auto 0;
}
.reason ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 1000px;
	margin: 0 auto;
	padding: 88px 0 80px;
}
.reason ul li{
	position: relative;
	width: 315px;
	text-align: center;
	background: #F5F5F5;
	padding: 45px 30px 30px;
	box-sizing: border-box;
	border-radius: 5px;
	margin: 70px 0 0;
}
.reason ul li:nth-child(-n+3){
	margin-top: 0;
}
.reason ul li img{
	position: absolute;
	top: -38px;
	left: 50%;
	transform: translateX(-50%);
}
.reason ul li h4{
	text-align: center;
	font-weight: bold;
	font-size: 2.1rem;
	line-height: 1.3;
	border-bottom: 3px solid #005EAE;
	padding: 10px 0;
	margin: 0 0 15px;
}
.reason ul li h4 span{
	font-size: 1.2rem;
	vertical-align:super;
}
.reason ul li p span{
	font-size: 1.4rem;	
}

.guide .wrap{
	padding: 80px 0;
}
.guideInner{
	display: none;
	border: 5px solid #FF7921;
	padding: 80px 50px 50px;
	transition: 0.3s;
}
.guideInner.show{
	display: block;
}
.guideInner.jh .content{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 50px;
}
.guideInner.jh .content .block+.block{
	margin-top: 0;
}
.guideInner.jh .content .block .ttl{
	width: 240px;
	color: #95CA07;
	background: #fff;
	border: 3px solid #95CA07;
	text-align: center;
	padding: 7px 0;
	margin-left: -120px;
}
.guideInner.jh .content .block {
	width: 48.5%;
	background: #fff;
	border: 3px solid #95CA07;
	box-sizing: border-box;
}
.guideInner.jh .content .block p{
	margin-top: 0;
	text-align: justify;
}
.guideInner .block{
	position: relative;
	text-align: center;
	border: 3px solid #DBDBDB;
	background: url("../img/bg_guide.png") 0 0 repeat;
	background-size: 12px auto;
	padding: 40px 0 25px;
}
.guideInner .block+.block{
	margin-top: 50px;
}
.guideInner .block .ttl{
	position: absolute;
	top: calc( (-10px) + (-1.4rem) );
	left: 50%;
	width: 350px;
	background: #FF7921;
	color: #fff;
	font-size: 2.6rem;
	line-height: 1.0;
	text-align: center;
	font-weight: 700;
	padding: 10px 0;
	border-radius: 30px;
	margin: 0 0 0 -175px;
}
.guideInner.jh{
	border: 5px solid #95CA07;
}
.guideInner.jh .block .ttl{
	background: #95CA07;
}
.guideInner.h{
	border: 5px solid #005EAE;
}
.guideInner.h .block .ttl{
	background: #005EAE;
}
.guideInner .block p{
	margin-top: 15px;
	padding: 0 30px;
}
.guideTab{
	display: flex;
	justify-content: space-between;
}
.guideTab li{
	font-size: 3.0rem;
	text-align: center;
	font-weight: 700;
	color: #fff;
	background: #FF7921;
	padding: 17px 40px 14px;
	line-height: 1.0;
	cursor: pointer;
}
.guideTab .jh{
	background: #95CA07;
}
.guideTab .h{
	background: #005EAE;
}
.price .wrap{
	padding: 50px 0 80px;
}
.price .guideInner{
	padding-top: 40px;
}
.price .guideInner .mds{
	font-size: 2.0rem;
	font-weight: 700;
	border-left: 4px solid #FF7921;
	line-height: 1.0;
	padding: 0 0 0 0.5em;
	margin: 0 0 10px;
}
.price .guideInner .notes{
	margin: 15px 0 0;
}
.price .guideInner .block .ttl{
	width: 440px;
	margin-left: -220px;
}
.price .guideInner .block{
	background: #fff;
	border: 3px solid #95CA07;
}
.price .guideInner.h .block{
	border: 3px solid #005EAE;
}
.price .guideInner table{
	width: calc(100% - 80px);
	border-spacing: 0;
	border-left: 3px solid #DBDBDB;
	border-top: 3px solid #DBDBDB;
	margin: 0 40px;
	box-sizing: border-box;
}
.price .guideInner thead th{
	background: #f0f0f0;
	font-weight: 700;
	font-size: 2.0rem;
}
.price .guideInner thead th span{
	display: block;
	font-size: 1.4rem;
}
.price .guideInner thead th:first-child{
	width: 200px;
}
.price .guideInner .ss thead th,
.price .guideInner .ss thead th:first-child{
	width: 25%;
}
.price .guideInner table th,
.price .guideInner table td{
	border-right: 3px solid #DBDBDB;
	border-bottom: 3px solid #DBDBDB;
	text-align: center;
	line-height: 1.4;
	padding: 12px;
}
.price .guideInner table th{
	font-size: 1.8rem;
}
.price .guideInner table.ss td{
	font-weight: normal;
	font-size: 1.8rem;
}
.price .guideInner table td,
.price .guideInner table.ss td:nth-last-child(-n+2){
	font-size: 4rem;
	font-weight: 700;
}
.price .guideInner tbody td.red{
	color: #ff0000;
}
.price .guideInner .ss tbody tr:first-child td{
	color: inherit;
}

.price .guideInner .txt{
	margin: 0 0 50px;
}
.price .guideInner.j .txt{
	margin: 0 0 15px;
}
.price .guideInner .txt span{
	color: #005EAE;
	font-weight: 700;
}
.price .guideInner.jh .mds{
	border-left: 4px solid #95CA07;
}
.price .guideInner .grade{
	font-size: 2.6rem;
	font-weight: 700;
	color: #95CA07;
	margin: 0 0 10px;
}
.price .guideInner.h .grade{
	color: #005EAE;
}
.price .guideInner p+.grade{
	margin-top: 0;
}
.price .guideInner .grade{
	margin-top: 35px;
}
.school{
	background: #F5F5F5;
	padding: 0 0 80px;
}
.school .catch{
	font-size: 2.5rem;
	margin: 45px 0 30px;
}
.school .opt .searchList{
	border-color:#fff;
}
.school .opt .optWrap{
	border-color: #005EAE;
	background: #fff;
	margin: 50px 0 0 0;
}
.school .opt .list .set_list,
.guardian .opt .list .set_list{
	border-color: #fff;
}
.teacher ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 845px;
	margin: 0 auto;
}
.teacher {
	padding: 0 0 75px;
}
.teacher .catch{
	font-size: 2.5rem;
	margin: 50px 0 30px;
}
.teacher ul li{
	width: 380px;
	text-align: center;
	margin: 40px 0 0;
}
.teacher ul li:nth-child(-n+2){
	margin-top: 0;
}
.teacher ul li p{
	text-align: justify;
	font-size: 1.6rem;
	line-height: 1.7;
	margin: 20px 0 0;
}
.guardian{
	background: #F5F5F5;
	padding: 0 0 80px;
}
.guardian .wrap{
	padding: 40px 0 0;
}
.guardian .ttl{
	text-align: center;
	font-weight: 700;
	color: #fff;
	font-size: 2.4rem;
	line-height: 1.5;
	padding: 15px 0;
	cursor: pointer;
}
.guardian .j{
	background: url("../img/icon_accordion_or_close.png") 95% center #FF7921 no-repeat;
	background-size: 33px auto;
}
.guardian .j.active{
	background: url("../img/icon_accordion_or_open.png") 95% center #FF7921 no-repeat;
	background-size: 33px auto;
}
.guardian .jh{
	background: url("../img/icon_accordion_gr_close.png") 95% center #95CA07 no-repeat;
	background-size: 33px auto;
}
.guardian .jh.active{
	background: url("../img/icon_accordion_gr_open.png") 95% center #95CA07 no-repeat;
	background-size: 33px auto;
}
.guardian .h{
	background: url("../img/icon_accordion_bl_close.png") 95% center #005EAE no-repeat;
	background-size: 33px auto;
}
.guardian .h.active{
	background: url("../img/icon_accordion_bl_open.png") 95% center #005EAE no-repeat;
	background-size: 33px auto;
}
.guardian .comment{
	display: none;
	padding: 20px 0 30px;
}
.guardian .h+.comment{
	padding-bottom: 0;
}
.guardian .comment + .ttl{
	margin-top: 20px;
}
.guardian .comment div{
	background: #fff;
	padding: 20px 25px;
}
.guardian .comment div+div{
	margin-top: 20px;
}
.guardian .comment .name{
	text-align: right;
	margin: 10px 0 0;
}
.guardian .opt{
	margin-top: 50px;
}
.faq .ttl{
	font-size: 2.0rem;
	line-height: 1.8;
	font-weight: 700;
	background: url("../img/icon_faq.png") 0 center no-repeat;
	background-size: 36px auto;
	padding: 0 0 0 50px;
	margin: 0 0 10px;
}
.faq p{
	padding: 0 0 0 50px;
}
.faq ul{
	padding: 45px 0 75px;
}
.faq ul li{
	border-bottom: 2px solid #DBDBDB;
	padding: 0 0 25px;
}
.faq ul li+li{
	margin-top: 30px;
}
.step{
	padding: 0 0 80px;
}
.step .stepInner{
	display: flex;
	justify-content: space-between;
	padding: 23px 0 0;
	margin: 50px 0;
}
.step .stepInner li{
	position: relative;
	width: 228px;
	text-align: center;
	border-radius: 5px;
	background: #F5F5F5;
	padding: 45px 26px 28px;
	box-sizing: border-box;
}
.step .stepInner li img{
	position: absolute;
	top: -23px;
	left: 50%;
	transform: translateX(-50%);
}
.step .stepInner li .ttl{
	text-align: center;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.3;
	margin: 10px 0;
}
.step .stepInner li:nth-child(2) .ttl{
	margin: 25px 0 26px;
}
.company .wrap{
	display: flex;
	justify-content: space-between;
	padding: 50px 0;
}
.company dl dt{
	float: left;
	clear: left;
	width: 100px;
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: 700;
	color: #005EAE;
}
.company dl dd{
	line-height: 1.6;
	padding: 0 0 25px 100px;
}
.company dl dd:last-child{
	padding-bottom: 0;
}
.company .map{
	position: relative;
	width: 405px;
	height: 280px;
}
.company .map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.letter{
	background: url("../img/bg_letter.jpg") center center no-repeat;
	background-size: cover;
	padding: 70px 0 190px;
}
.letter .ttl{
	text-align: center;
	font-weight: 700;
	font-size: 3.0rem;
	color: #005EAE;
	margin: 0 0 25px;
}
.letter p{
	text-align: center;
	line-height: 2.0;
}
.contact_form {
	margin-top: 40px;
	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: 0px 0px 0px 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.5em;
	font-weight:normal;
	border-radius:5px;
	vertical-align: initial
}
.contact_form .blue {
	font-size: 16px;
	color: #fff;
	background: #005EAE;
	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 #0051a2;
  border-right: 3px solid #0051a2;
}
.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 #0051a2;
  border-right: 3px solid #0051a2;
}
.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: #0051a2;
    border-radius: 4px;
    color: #fff;
    -webkit-transition: none;
    transition: none;
    box-shadow: 0 7px 0 #003569;
	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: #005EAE;
	/*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: #005EAE;
	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;}
	p, 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;
	}
	.voice{
		padding: 0 0 5%;
	}
	.reason ul{
		width: auto;
		padding: 12vw 5% 5%;
	}
	.reason ul li{
		width: 100%;
		padding: 10vw 5% 5%;
		margin-top: 12vw;
	}
	.reason ul li:nth-child(-n+3){
		margin-top: 12vw;
	}
	.reason ul li:first-child{
		margin-top: 0;
	}
	.reason ul li img{
		top: -8vw;
		width: 16vw;
	}
	.reason ul li h4{
		position: relative;
		font-size: 5vw;
		padding: 0 0 0.5em;
		margin: 0 0 30px;
	}
	.reason ul li h4::after{
		content: '';
		position: absolute;
		bottom: -33px;
		left: 50%;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 20px 15px 0 15px;
		border-color: #005EAE transparent transparent transparent;
		margin-left: -15px;
	}
	.reason ul li h4.active::after{
		border-width: 0 15px 20px 15px;
		border-color: transparent transparent #005EAE transparent;
	}
	.reason ul li h4 span{
		font-size: 3.0vw;
	}
	.reason ul li p{
		padding-top: 1em;
	}
	.reason ul li p span{
		font-size: 3.2vw;
	}
	.guide .wrap{
		padding: 5% 0;
	}
	.guideTab li{
		width: 32%;
		font-size: 3.2vw;
		padding: 1em 0;
	}
	.guideInner{
		padding: 8% 5% 5%;
	}
	.guideInner .block{
		padding: 10% 5% 5%;
	}
	.guideInner .block .ttl{
		top: calc( (-8px) + (-2vw) );
		width: 80%;
		font-size: 4vw;
		transform: translateX(-50%);
		margin: 0;
		padding: 8px 0;
	}
	.guideInner .block p{
		font-size: 3.2vw;
		margin: 1em 0 0;
		padding: 0;
	}
	.guideInner .block+.block{
		margin-top: 10%;
	}
	.price .wrap{
		padding: 5% 0 10%;
	}
	.price .guideInner{
		padding-top: 5%;
	}
	.price .guideInner .mds{
		font-size: 4vw;
	}
	.price .guideInner .grade{
		font-size: 4.2vw;
		margin: 0 0 0.5em;
	}
	.price .guideInner picture+.grade{
		margin-top: 1em;
	}
	.guideInner.jh .content{
		display: block;
		margin: 0 0 15%;
	}
	.guideInner.jh .content .block{
		width: 100%;
	}
	.guideInner.jh .content .block .ttl{
		width: 80%;
		margin-left: 0;
	}
	.guideInner.jh .content .block+.block{
		margin-top: 10%;
	}
	.price .guideInner table{
		width: 100%;
		margin: 0;
	}
	.price .guideInner table th{
		font-size: 3.6vw;
	}
	.price .guideInner thead th span{
		font-size: 3vw;
		transform:scale(0.8);
	}
	.price .guideInner table.ss td{
		font-size: 3.6vw;
	}
	.price .guideInner table.ss td:nth-last-child(-n+2){
		font-size: 3.6vw;
	}
	.price .guideInner table td,
	.price .guideInner table.ss td:last-child{
		font-size: 4.8vw
	}
	.price .guideInner thead th:first-child{
		width: 40%;
	}
	.price .guideInner table{
		border-width: 2px 2px 2px 2px;
		margin-bottom: 5%;
	}
	.price .guideInner table:last-child{
		margin-bottom: 0;
	}
	.price .guideInner table th,
	.price .guideInner table td{
		border-width: 2px 2px 2px 2px;
		padding: 8px 5px;
	}
	.price .guideInner .block .ttl{
		width: 80%;
		margin: 0;
	}
	.price .guideInner .notes{
		font-size: 3.4vw;
		margin: 1em 0 0;
	}
	.price .guideInner .txt{
		margin-bottom: 10%;
	}
	.school .catch{
		font-size: 4vw;
		margin: 5% 0 5%;
	}
	.school .opt .optWrap{
		margin-top: 10%;
	}
	.school{
		padding: 0 0 10%;
	}
	.teacher{
		padding: 0 0 10%;
	}
	.teacher .catch{
		font-size: 4vw;
		margin: 5%;
	}
	.teacher ul{
		display: block;
		width: auto;
		margin: 0 5%;
	}
	.teacher ul li{
		width: auto;
		margin: 8% 0 0;
	}
	.teacher ul li:nth-child(-n+2){
		margin-top: 8%;
	}
	.teacher ul li:first-child{
		margin-top: 0;
	}
	.teacher ul li img{
		display: block;
		width: 30%;
		margin: 0 auto;
	}
	.teacher ul li p{
		font-size: 3.6vw;
		margin: 1em 0 0;
	}
	.guardian .ttl{
		font-size: 4vw;
		padding: 0.8em 0;
	}
	.guardian .j,
	.guardian .jh,
	.guardian .h,
	.guardian .j.active,
	.guardian .jh.active,
	.guardian .h.active{
		background-size: 20px auto;
	}
	.guardian .comment + .ttl{
		margin-top: 3%;
	}
	.guardian .wrap{
		padding: 5% 0 0;
	}
	.guardian .opt{
		margin-top: 10%;
	}
	.guardian .comment div{
		padding: 5%;
	}
	.guardian .comment{
		padding: 3% 0 5%;
	}
	.guardian .comment div+div{
		margin-top: 3%;
	}
	.guardian{
		padding: 0 0 5%;
	}
	.faq ul{
		padding: 5% 0;
	}
	.faq ul li{
		padding: 0 0 5%;
	}
	.faq ul li+li{
		margin-top: 5%;
	}
	.faq .ttl{
		font-size: 4.2vw;
		background-size: 1.5em auto;
		background-position: 0 0.05em;
		line-height: 1.6;
		margin: 0 0 0.5em;
		padding: 0 0 0 2em;
	}
	.faq p{
		padding: 0;
	}
	.step{
		padding: 0 0 8%;
	}
	.step .stepInner{
		display: block;
		margin: 10% 0;
		padding: 0;
	}
	.step .stepInner li{
		width: auto;
		padding: 8vw 5% 5%;
	}
	.step .stepInner li img{
		top: -5vw;
		width: auto;
		height: 10vw;
	}
	.step .stepInner li .ttl{
		font-size: 4.2vw;
		margin: 0 0 0.5em;
	}
	.step .stepInner li .ttl br{
		display: none;
	}
	.step .stepInner li:nth-child(2) .ttl{
		margin: 0 0 0.5em;
	}
	.step .stepInner li+li{
		margin-top: 10%;
	}
	.company .wrap{
		display: block;
		padding: 5% 0 10%;
	}
	.company dl dt{
		width: 20vw;
		font-size: 3.6vw;
	}
	.company dl dd{
		font-size: 3.6vw;
		padding: 0 0 1em 20vw;
	}
	.company .map{
		width: 100%;
		height: 0;
		padding-top: 80%;
		margin: 5% 0 0;
	}
	.letter{
		padding: 10% 5%;
	}
	.letter .ttl{
		font-size: 5vw;
		line-height: 1.5;
		margin: 0 0 0.5em;
	}
	.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 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: 1vw;
		height: 3.vw;
		top: 0.5vw;
		left: 1.5vw;
	}
	.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 #627295;
	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;
  }