@charset "utf-8";
/* ========================
   bootstrap reset
   ======================== */
/* common */
@media (max-width:1200px) {
}
@media (max-width:991px) {
}

@media (max-width:767px) {
}
.fw-bold{
  font-weight: bold;
}
body{
  line-height: 1.5em;
  font-family:'Noto Sans JP',"Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif !important;
  color:#333;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.alpha {
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.alpha:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
a.alpha {
  display: inline-block;
  width: 100%;
}
.Page-top {
    position: fixed;
    right: 0;
    bottom: 5%;
    right: 1%;
}
hr {
    margin-top: 15px;
    margin-bottom: 10px;
    border: 0;
    border-top: 2px solid #b6b6b6;
}
.pt-150{
  padding-top: 150px;
}
@media (max-width:1200px) {
  body{
  font-size: 18px;
}
}
@media (max-width:991px) {
    body{
  font-size: 16px;
}
.sm-img-45{
  width: 45%;
}
}
@media (max-width:767px) {
    body{
  font-size: 14px;
}
hr {
    margin-top: 5px;
    margin-bottom: 0px;
}
.sp-pt-15{
  padding-top: 10px !important;
}
.sp-pt-20{
  padding-top: 20px !important;
}
.sp-pt-30{
  padding-top: 30px !important;
}
.sp-pt-10{
  padding-top: 10px;
}
.sp-width-85{
  width: 85%;
}
.sp-width-9{
  width: 9%;
}
.sp-width-80{
  width: 80%;
}
.sp-width-65{
  width: 65%;
}
.sp-width-35{
  width: 35%;
}
.sp-width-40{
  width: 40%;
}
.sp-width-45{
  width: 45%;
}
.sp-width-50{
  width: 50%;
}
.sp-width-35{
  width: 35%;
}
.sp-width-20{
  width: 20%;
}
.sp-width-55{
  width: 55%;
}
.sp-width-60{
  width: 60%;
}
.sp-width-90{
  width: 90%;
}
.sp-width-70{
  width: 70%;
}
.sp-width-75{
  width: 75%;
}
.sp-text-center{
  text-align: center;
}
.sp-text-left{
  text-align: left !important;
}
}
.text-study{
  font-weight: bold;
  font-size: 24px;
  text-align: center;
}
@media (max-width:1199px) {
  .text-study{
  font-size: 18px;

}}
@media (max-width:767px) {
  .text-study{
  font-size: 16px;

}
  }
/* mv */
.mv{
  background-image: url(../images/fv_haikei.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
/* .mv .mv-container{
  padding: 100px 15px 0px;
}*/

.fv_text{
  width: 80%;
  padding-top: 150px;
}

.fv_text02{
  padding: 15px 0px 100px 0px;
}

.sokuhou{
  padding-bottom: 50px;
}

.yokohama{
  padding-bottom: 50px;
}
.seminar{
  padding-bottom: 2em;
}
.seminar a.alpha{
  width: auto;
}
@media (max-width:767px) {
  .mv{
  background-image: none;
}
.mv .mv-container {
    padding: 0px 0px 50px;
}
.mv .container{
  padding-left: 0px;
    padding-right: 0px;
}
.sokuhou{
  padding: 0px 20px 20px 20px;
}

.yokohama{
  padding: 0px 20px 20px 20px;
}}

/*header*/
header{
  padding: 15px 0px;
}
header img.img-responsive {
    display: inline-block;
}
.h-tel-btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
  border-radius: 50px;
  background-color: #fff;
  padding: 0.5em;
  width: 30rem;
}
.h-tel-text{
  font-size: 1.2rem;
  margin-bottom: 0;
  color: #659e4d;
}
.fa-phone-volume{ color: #659e4d!important;}

.h-tel-text02{
  color: #659e4d;
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 0;
}
.h-form-btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
  border-radius: 50px;
  background-color: #659e4d;
  padding: 0.5em;
  width: 30rem;
}
.h-form-text{
  font-size: 1.2rem;
  margin-bottom: 0;
  color: #fff;
}
.h-form-text02{
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 0;
}
.header a{
  text-decoration: none;
}
.header .alpha {
  display: inline-block;
  width: auto;
}
@media (max-width:991px){
.h-tel-btn{
  width: 20rem;
}
.h-tel-text{
  font-size: 0.9rem;
}
.h-tel-text02{
  font-size: 2rem;
}
.h-form-btn{
  width: 20rem;
}
.h-form-text{
  font-size: 0.9rem;
}
.h-form-text02{
  font-size: 2rem;
}}


/*-------------------------------------------------------------------
info
-------------------------------------------------------------------*/
.infobox{
  padding: 30px;
  width: 100%;
  border: solid 3px #161471;
  border-radius:20px;
  background-color: #fff;
  margin-bottom: 50px;
  margin-top: 50px;
}
.info_ttl {
    padding: 10px;
    width: 47%;
}

@media (max-width:991px) {
  .infobox{
    padding: 15px;
}}
@media (max-width:767px) {
  .info_ttl {
    width: 100%;
}}

/*文字のみお知らせ
-------------------------------------------------------------------*/
.info_text01{
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
  border-bottom: 1px solid #161471;
}
.info_text01 h3{
  margin-top: 0;
}
.info_text01 ul{
  width: 40%;
  margin: 0 auto;
}
.info_tyukibox{
  border: 2px solid #161471;
  background-color: #f3f8ff;
  padding: 0.5rem;
  margin: 1rem auto 0;
  border-radius: 30px;
  width: 90%;
}
.red_font{
  color: #b94047;
  font-weight: bold;
  font-size: 225%;
  text-align: center;
  font-feature-settings: "palt";
  line-height: 1.5;
}
.bold_font{
  font-weight: bold;
  font-size: 155%;
  text-align: center;
}
.info_button{
    background-color: #ff8800;
    border: 3px solid #f5acac;
    font-size: 2rem;
    border-radius: 20px;
    padding: 0.5rem 0.25rem;
    color: #fff;
    display: flex;
    justify-content: center;
    width: 30%;
    margin: 0 auto 1rem;
}

@media (max-width:767px) {
.info_text01{
  padding-top: 20px;
  text-align: center;
  line-height: 25px;
}
.info_text01 h3{
  font-size: 2rem;
}
.info_text01 ul{
  width: 100%;
}
.info_tyukibox{
  width: 100%;
}
.red_font {
    color: #b94047;
    font-weight: bold;
    font-size: 125%;
    text-align: center;
    font-feature-settings: "palt";
}
.info_button{
    width: 80%;
    margin: 0 auto 2rem;
}}


/*空き状況
-------------------------------------------------------------------*/
.info_text02{
  padding-top: 2rem;
  text-align: center;
}
.teiin_ttl{
    background-color: #161471;
    font-size: 2rem;
    color: #fff;
    padding: 0.5rem;
    display: flex;
    justify-content: center;
    margin: 0 auto 2rem;
    width: 40%;
}
.teiin{
  margin-top: 30px;
  padding: 30px;
  background-color: #e8f0f6;
  border-radius: 10px;
}

@media (max-width:767px) {
.teiin{
    padding: 1rem;
    margin-top: 0;
}
.info_text02{
  text-align: left;
}
.teiin_ttl{
    font-size: 1.8rem;
    width: 80%;
}}

/*-------表テキスト--------------------------------------*/
.teiin_schoolname{
  padding-top: 20px;
  font-size: 100%;
  font-weight: bold;
  color: #333;
  text-align: center;
}

.info_table{
    margin: 0 auto;
    width: 90%;
}

.info_th {
    font-size: 75%;
    color: #fff;
    text-align: center;
    padding: 0px 25px;
    background-color: #6694b9;
    border: 1px solid #fff;
     vertical-align: middle;
}
.info_td{
    text-align: center;
    background-color: #fff;
    border: 1px solid #333;
    line-height: 1em;
    padding: 0.5rem 0;
     vertical-align: middle;
}
.info_button a{
    color: #fff !important;
}
.teiin_text{
  font-weight: bold;
  color: #f00;
}

@media (max-width:767px) {
.info_th {
    display: block;
}
.info_td{
    display: block;
}
.teiin .cf{
    padding-top: 10px !important;
    margin-top: -15px !important;
}
.info_th {
    padding: 0px 10px;
}}




.content01 .text_01{
  width: 80%;
  padding-bottom: 20px;
}

.news2025{
  padding-bottom: 2em;
}


/* SRP */
.srp_box{
  border: 3px solid #161471;
  background-color: #fffbe6;
  border-radius: 20px;
  margin-bottom: 50px;
  padding: 1em;
}
.srp_logo{
  width: 20%;
  margin: 0 auto;
}
.srp_ttl{
  color: #161471;
  font-size: 155%;
  line-height: 1.5;
  font-weight: bold;
  padding-top: 1em;
}
.srp_ttl02{
  color: #161471;
  font-weight: bold;
  font-size: 140%;
  padding-top: 1em;
}
.srp_border{
  border: 2px solid #161471;
  margin: 0 auto;
}
.srp_blue_bg{
  background-color: #161471;
  color: #fff;
  font-weight: bold;
  text-align: center;
  border: 1px solid #fff;
}
.srp_wihte_bg{
  background-color: #fff;
  color: #333;
  font-weight: bold;
  text-align: center;
  padding: 0.5em;
  border: 1px solid #161471;
}
.spr_cta{
  background-color: #161471;
  border-radius: 30px;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  padding: 1em 6em;
  margin: 0 auto;
}
.srp_box a{
  color: #fff !important;
}
.spr_cta_box{
  margin-top: 1em;
  margin-bottom: 1em;
}
@media (max-width:767px){
  .srp_logo{
  width: 40%;
  margin: 0 auto;
}
.srp_ttl{
  line-height: 1.25;
}
.spr_cta{
  background-color: #161471;
  border-radius: 30px;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  padding: 1em 4em;
  margin: 0 auto;
}}

/*プレジデントFamily*/
.magazine_box{
  background-color: #fffee9;
  border: 15px solid #efc8c8;
  border-radius: 20px;
  padding: 1em;
  margin-bottom: 50px;
}
.magazine_box{
  display: flex;
  align-items: center;
  justify-content: center;
}
.magazine_text_box{
  width: 50%;
}
.magazine_pic_box{
  width: 35%;
  padding: 0 1em;
}
.magazine_ttl{
  font-size: 2rem;
  font-weight: bold;
  border-bottom: 2px solid #fb8e9b;
  padding-bottom: 0.25em;
}
.magazine_text{
  padding-bottom: 1.5em;
}
.magazine_button{
  background-color: #fb8e9b;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  border-radius: 50px;
  padding: 0.5em 1em;
  margin: 0 auto;
  text-align: center;
  width: 90%;
}
.magazine_button a{
  text-decoration: none;
}
@media (max-width:991px){
.magazine_text_box{
  width: 70%;
}
.magazine_pic_box{
  width: 30%;
}}

@media (max-width:767px){
.magazine_text_box{
  width: 100%;
}}



/*対策コース*/
.course{
    margin-bottom: 50px;
}
.course-box{
    padding: 0 1.5em;
}
.course-img{
    margin-top: 1.5em;
}
.course-ttl01{
 font-size:110%;
 font-weight: bold;
 color: #161471;
 margin-top: 1em;
 border-bottom: 2px solid #161471;
}
.course-ttl02{
 font-size:110%;
 font-weight: bold;
 color: #910000;
 margin-top: 1em;
 border-bottom: 2px solid #910000;
}
.course-ttl03{
 font-size:110%;
 font-weight: bold;
 color: #333;
 margin-top: 1em;
 border-bottom: 2px solid #333;
}
@media (max-width:767px) {
  .mt-10{
    margin-top: -10px !important;
}}

/*スライダー*/
@media (max-width:767px) {
}

/*ドクターアイズCTA*/
.doctor{
  padding-bottom: 50px;
}
.doctor_text{
  margin-top: 20px;
  font-weight: bold;
  padding: 25px;
  background-color: #161471;
  border-radius: 50px;
  text-align: center;
  color:#fff ;
  font-size: 160%;
}
@media (max-width:767px) {
  .doctor{
  padding-bottom: 20px;
}
  .doctor_text{ 
  margin-left: 10px;
  margin-right: 10px;
}}

/*保護者の声*/

.voice{
  background-color: #ededee;
}
.voice .container{
  padding: 100px 15px;
}

.voice_ttl{
  padding:  50px 0px;
}

.voice_text{
  padding: 10px;
  color: #fff;
  font-size: 135%;
  font-weight: bold;
  line-height: 30px;
  text-align: center;
  background-color: #8b0c45;
  margin-bottom: 50px;
}

.change01{
  padding-bottom: 50px;
}
.coment_bg{
  background-color: #ccddeb;
  border-radius:10px;
  margin-top: 20px;
  padding: 20px 10px;
}

.voice .col-sm-10 {
align-items: center;
display: flex;
}

.coment_bg .cf{
  display: flex;
  position: relative;
}

.voice .col-sm-10 p{
  font-size: 85%;
}

.voice hr{
  border: none;
  border-top: 2px dotted;
  color: #011664;
}

.change02{
  padding: 50px 0px;
}

.coment_text02{
  padding-top: 20px;
}

.change03{
  padding: 50px 0px 90px;
}

.chigai_box{
  padding: 80px 0px;
}

.tigai_pic{
  width: 86%;
}

.chigai_box02{
  padding-bottom: 20px;
}

.chigai_box03{
  padding: 20px 0px;
}

.chigai_box04{
  padding-top: 20px;
  padding-bottom: 50px;
}

.chigai_box hr {
    border: none;
    border-top: 2px dotted;
    color: #011664;
}

.chigai_textbox{
  border: solid #011664;
  border-radius: 30px;
}
.chigai_text{
  padding: 20px;
}
.chigai_box .marker_yellow{
  background:linear-gradient(transparent 60%, #ff6 60%);
}

@media (max-width:767px) {
.voice .container{
  padding: 30px 0px;
}
.voice_ttl{
  width: 60%;
  padding:  50px 0px 30px;
}
.voice_text{
  padding: 10px;
  color: #fff;
  font-size: 120%;
  font-weight: bold;
  line-height: 30px;
  text-align: center;
  background-color: #8b0c45;
  margin-bottom: 25px;
  margin-left: 10px;
  margin-right: 10px;
}
.voice_img{
  width: 80%;    
}
.coment_bg .cf{
  display: block;
  position: relative;
}
.voice .col-sm-2 img{
  width: 26%;
}
.coment_bg{
  width: 95%;
  margin-left: 10px;
}
.voice hr{
  border: none;
  border-top: 2px dotted;
  color: #011664;
  width: 90%;
}
.change03{
  padding: 50px 0px 50px;
}
.reason .reason_sp{
    width: 95%; 
}
.chigai{
  padding: 0px 30px;
}
 .tigai_pic{
  width: 50%;
  padding-bottom: 20px;
}
.chigai_box{
  padding: 30px 0px;
}
.chigai_box hr{
  width: 100%;
}
}


/*安心の料金設定*/
.price01 .price{
  padding: 100px 0px;
}

.price01 .price .cf{
  padding-top: 50px;
 }

 .price01 .price .text01_box{
  background-color:#ccddeb ;
  padding: 20px;
  border-radius: 10px;
 }

.price01 .price .voice_price_text{
  padding: 50px 0px;
  font-size: 220%;
  font-weight: bold;
  color: #011664;
  text-align: center;
}

.price01 .price .price_text{
  font-size: 130%;
  font-weight: bold;
  line-height: 33px;
  color: #333;
}

.price01 .price .price_text01{
  font-weight: bold;
  font-size: 130%;
  color: #910000;
}

@media (max-width:767px){
  .price01 .price{
  padding: 60px 15px 0px 15px;
}
  .price01 .price .price_ttl{
   width: 80%;
}
 .price01 .price .voice_price_text{
   padding: 30px 0px 5px 0px;
   font-size: 230%;
   line-height: 36px;
}
.price01 .price .price_text01{
  font-size: 145%;
  line-height: 25px;
}}


/*合格実績*/
.content01{
  background-color: #ccddeb;
}
.content01 .container{
  padding: 100px 15px;
}
.content01 .video-text{
  font-weight: bold;
  text-align: center;
}

.content01 .video01{
  padding-top:63px;
}

@media (max-width:767px) {
.content01 .container{
  padding: 30px 15px;
}
.video-text{
  font-weight: bold;
  text-align: center;
  padding-top: 20px;
}

.content01 .video01{
  padding-top:30px;
}}

/*cta*/
.cta{
  background-image: url(../images/cta_haikei.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.cta .container{
  padding: 30px 15px 30px;
}
.cta a{
  text-decoration: none;
}

.cta-tel-btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
  border-radius: 50px;
  background-color: #fff;
  padding: 1em 0.5em;
}
.cta-tel-text02{
  color: #659e4d;
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 0;
}
.cta-form-btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
  border-radius: 50px;
  background-color: #659e4d;
  padding: 1em 0.5em;　
}

.cta-form-text02{
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 0;
}
@media (max-width:991px){

.cta-tel-text02{
  font-size: 1.8rem;
}
.cta-form-text02{
  font-size: 1.8rem;
}}

@media (max-width:767px){
.cta-tel-btn{
  margin-bottom: 1rem;
}
.cta-tel-text02{
  font-size: 1.8rem;
}
.cta-form-text02{
  font-size: 1.8rem;
}}




/* ゼロワンについて */
.content02{
  background-color: #ffffff;
}
.content02 .container{
  padding: 100px 15px;
}

.content02 .about{
  background-color: #fff;
  margin-top: 50px;
  padding: 50px 15px;
}

.content02 .text_02{
  width: 80%;
}

.content02 .about .ttl01{
  text-align: center;
  font-size: 150%;
  padding-bottom: 30px;
}

.content02 .red_font02{
  font-weight: bold;
 color: #910000;
}
.content02 .bold_font02{
  font-weight: bold;
}


.marker-under{
  background: linear-gradient(transparent 70%, #f1ece8 70%);
}

@media (max-width:767px) {
.content02 .container {
    padding: 70px 15px 0px;
}
.content02 .about{
  background-color: #fff;
  margin-top: 30px;
  padding: 25px 15px;
}

.content02 .about_ttl{
  width: 80%;
}

.content02 .about .ttl01{
  text-align: center;
  font-size: 134%;
  padding-bottom: 15px;
}

.content02 .about .text01{
  padding-bottom: 15px;
}}


/* 早慶ゼロワンが選ばれる理由 */

.content03{
  background-color: #ebf3fa;
}
.content03 .container{
  padding: 0px 15px 150px;
}

.content03 .reason_ttl{
  padding-top: 100px;
}

.content03 .reason .reason01{
  padding-top: 50px;
}


@media (max-width:767px) {
.content03 .container {
    padding: 70px 15px 50px;
}
.content03 .reason_ttl {
    width: 80%;
}
.content03 .reason .reason01 {
    padding-top: 25px;
}}



/* ケンカしない中学受験 */
.content04{
  background-image: url(../images/pt_bg01.jpg);
}
.content04 .container{
  padding: 150px 15px 100px;
}

.content04 .kenka_ttl{
  padding-bottom: 50px;
}

.content04 .text{
  font-weight: normal;
  font-size: 110%;
  line-height: 36px;
}

.content04 .text2 {
    padding-top: 50px;
    font-weight: bold;
    font-size: 139%;
    line-height: 43px;
    text-align: center;
}
.content04 .text3 {
    font-weight: bold;
    font-size: 165%;
    line-height: 48px;
    text-align: center;
}
.content04 .kenka-font {
    color: #8b0c45;
    font-weight: bold;
}

.content04 .red_font {
    color: #8b0c45;
    font-weight: bold;
}
.content04 .marker_yellow {
    background: linear-gradient(transparent 60%, #ffff8c 60%);
}

@media (max-width:767px) {
  .content04 .container{
  padding: 50px 15px;
}
 .content04 .kenka_ttl{
    width: 80%;
    padding-bottom: 25px;
 }
.content04 .text {
    font-weight: normal;
    font-size: 110%;
    line-height: 24px;
}
.content04 .text2 {
    padding-top: 20px;
    font-weight: bold;
    font-size: 139%;
    line-height: 29px;
    text-align: center;
}}

/* 独自の学習法 */
.content05{
  background-image: url(../images/pt_bg01.jpg);
}
.content05 .container{
  padding: 100px 15px;
}

.red-font {
    color: #8b0c45;
}

@media (max-width:767px) {
.content05 .container {
    padding: 50px 15px;
}
.content05 .arrow_sp {
    width: 40%;
    padding: 20px 0px;
}}

/*合格体験記*/
.content06{
    background-color: #ebf3fa;
}
.content06 .container{
padding: 100px 0px;
}

.content06 .bg-blue{
    background-color: #161471;
    color: #ffff00;
    font-weight: bold;
    padding: 15px;
}
.content06 .bg-blue strong{
    font-size: 125%;
}
.content06 .bg-gray{
    background-color: #f0f0f0;
    margin-top: 15px;
    padding: 30px 15px;
}
.content06 .ttl-blue{
    color: #161471;
    font-weight: bold;
    font-size: 125%;
}
.content06 .col-sm-10 p{
    font-size: 84%;
}

.content06 .col-sm-2 img{
    width: 75%;
}


@media (max-width:767px) {
.content06 .container {
    padding: 50px 15px;
}
.content06 .bg-blue {
    padding: 5px 5px;
}
.content06 .col-sm-2 img{
    width: 28%;
}
.content06 .bg-gray{
    background-color: #f7f0ea;
    margin-top: 15px;
    padding: 15px 10px;
}
.content06 .crown_text{
    width: 60%;
}
.content06 .crown_text02{
    width: 92%;
}}


/* 教室案内 */
.content09{
  background-color: #ededee;
}
.content09 .container{
  padding: 100px 15px;
}
.erea-ttl{
  background-color: #011664;
  padding: 15px 10px;
  color: #fff;
  font-size: 150%;
  font-weight: 600;
}
.head-border {
    display: flex;
    align-items: center;
}
 
.head-border:before,
.head-border:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #8190c9;
}
 
.head-border:before {
    margin-right: 1rem;
}
 
.head-border:after {
    margin-left: 1rem;
}
/*ベース*/
.toggle {
  display: none;
}
.Label {
    padding: 1em;
    display: block;
    color: #fff;
    background: #747474;
    font-size: 135%;
    font-weight: 400;
}
.Label::before{   /*タイトル横の矢印*/
  content:"";
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top:calc( 50% - 3px );
  right: 20px;
  transform: rotate(135deg);
}
.Label,
.content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.content {    /*本文*/
  height: 0;
  margin-bottom:10px;
  padding:0 20px;
  overflow: hidden;
}
.toggle:checked + .Label + .content { /*開閉時*/
  height: auto;
  padding: 20px 50px;
  transition: all .3s;
  background-color: #fff;
    border: 1px solid #747474;
}
.toggle:checked + .Label::before {
  transform: rotate(-45deg) !important;
}
.kaisha {
width: 100%;
}

.kaisha th, .kaisha td {
    border: 1px solid #747474;
    padding: 15px 5px;
}
.kaisha th {
    font-weight: bold;
    background-color: #fff;
    width: 20%;
}
table a{
  color: #333;
}
@media screen and (max-width: 767px) {
.toggle:checked + .Label + .content {
    padding: 20px 10px;
}
.kaisha {
    margin-bottom: 15px;
}
.content09 .container {
    padding: 50px 15px;
}
}

/* キャンペーン */
.content10{
  background-image: url(../images/t09_haikei.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.content10 .container{
  padding: 100px 15px;
}
@media screen and (max-width: 767px) {
  .content10 .container {
    padding: 50px 15px;
}
}

/*お問い合わせフォーム
******************************************/
.fm{ font-size:1.4em; font-weight:bold;}

.br-sp {
    display: none;
}

@media (max-width: 600px) {
    .br-sp {
        display: block;
    }
}


#contact_form{
  background-color: #ccddeb!important;
	padding-bottom:50px!important;
}
#contact_form dd{
  color: #333;
}
#contact_form .container{
background-color: #ffffff;
padding:50px 30px;}
	  

#contact_form .contact-title{
	color:#011664!important;
	font-size:2em!important;
	font-weight:bold!important;
	margin: 0 0 32px;
	text-align:center!important;
}

	  
.gray-waku {
    border: 1px solid #808080;
    margin-top: 50px;
    padding: 3% 5%;
    overflow-y: scroll;
    height: 225px;
    width: 85%;
    margin-left: auto;
    margin-right: auto;
}
span.req03 {
    background: #c32828;
    color: #fff;
}
#contact_form span {
    font-size: 10px;
    margin: 0 10px 0 0;
    display: inline;
    line-height: 20px;
    padding: 3px 5px;
    color: #fff;
    /*height: 18px;*/
    letter-spacing: 1px;
}
select {
    width: 30%;
}
.radio02-input{
  display: none;
}
.radio02-input + label{
  padding-left: 20px;
  position:relative;
  margin-right: 20px;
}
.input_item{
  background-color: #fff;
}
.radio02-input + label::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #999;
  border-radius: 50%;
}
.radio02-input:checked + label{
  color: #3977cf;
}
.form .col-sm-6.col-sm-6:first-child {
    border-right: 2px dotted #0164eb;
}
.radio02-input:checked + label::after{
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  width: 11px;
  height: 11px;
  background: #3977cf;
  border-radius: 50%;
}
input[type="zip"]{
  width: 91.5%;
    font-size: 18px;
    height: 50px;
    padding: 3px 0 3px 10px;
    margin: 0 0 15px;
    background-color: #fff;
}

#contact_02{
  margin-left: 10px;
}

#contact_form .input_item dl {
    width: 100%;
}

#contact_form .input_item dl dt {
    line-height: 30px;
    height: 50px;
    padding: 15px 0 0px 30px;
    letter-spacing: 1px;
    float: left;
    width: 30%;
}
select {
    width: 95%;
    height: 50px;
}
#contact_form .input_item dl dt span {
    font-size: 14px;
    margin: 0 10px 0 0;
    display: inline;
    line-height: 20px;
    padding: 3px 10px;
    color: #fff;
    height: 18px;
    letter-spacing: 1px;
}

#contact_form .input_item dl dt span.req {
    background: #c32828;
    color: #fff;
}
#contact_form .input_item dl dt span.req02 {
    background: #969696;
    color: #fff;
}
dt {
    font-weight: 500;
}
#contact_form .input_item dl dt span.any {
    background: #333;
}
#contact_form label {
    display: inline-block;
    margin-bottom: 5px;
    font-weight: 500;
}
#contact_form .input_item dl dd {
    background: #fff;
    padding:10px 0 0px 30px;
    float: left;
    width: 70%;
}

#contact_form .input_item dl dd li {
    display: inline-block;
    margin: 0 15px 0 0;
    line-height: 30px;
    height: 30px;
    padding: 3px 0;
}

#contact_form .input_item dl dd p.mail_caution {
    font-size: 12px;
    line-height: 19px;
    color: #333;
    margin: 5px 0 0 0;
}

#contact_form .input_item dl dd input[type="text"],
#contact_form .input_item dl dd input[type="number"],
#contact_form .input_item dl dd input[type="email"],
#contact_form .input_item dl dd input[type="tel"]{
    width:95%;
    font-size: 18px;
    height:50px;
    padding: 3px 0 3px 10px;
    margin:0;
    background-color: #fff;
}

#contact_form .input_item .transmission input[type="submit"]{
    border: 3px double #FFFFFF;
    background: #333;
    font-size: 150%;
    text-shadow: none;
    color: #ffffff;
    width:60%;
    padding: 30px 0;
    margin: 25px 0;
    display: block;
    opacity: 1.0;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    margin: 0 auto;
}

#contact_form .input_item .transmission input[type="submit"]:hover{
    opacity:0.5;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}

#contact_form .input_item dl dd input[type="text"].inp_error,
#contact_form .input_item dl dd input[type="number"].inp_error,
#contact_form .input_item dl dd input[type="tel"].inp_error,
#contact_form .input_item dl dd textarea.inp_error {
    border: 1px solid #F88A8A;
    background: #F4D4D4;
}

#contact_form .input_item dl dd textarea {
    width: 95%;
    padding: 10px 3px 10px 10px;
    background-color: #fff;
}

#energy_contact #send_status{
    padding: 5px 0 25px;
    text-align: center;
}

#contact_form span.error_m {
    font-size: 15px;
    font-weight: normal;
    color: #FF4040;
    display: block;
    margin: 0;
}
button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
::-webkit-input-placeholder {
    color:#333;
    font-size:84%;
}
#contact_form span.reserve-time-box {
    color: #333;
}
#date input[type="text"], #date select{
  width: 25% !important;
}

@media screen and (max-width: 767px) {
#contact_form #date input[type="text"], #date select{
  width: 70% !important;
  margin-bottom: 10px !important;
}
#contact_form span {
    padding: 3px 5px;
}
#contact_02{
  margin-left: 0px;
}

.gray-waku {
    border: 1px solid #808080;
    margin-top: 10px;
    padding: 3% 5%;
    overflow-y: scroll;
    height: 225px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
  #contact_form .input_item dl dd {
    background: #fff;
    padding: 0px 0 0px 5px;
}
#contact_form .form .col-sm-6.col-sm-6:first-child {
    border-right: none;
}
  #contact_form .input_item .transmission input[type="submit"] {
    width: 100%;
}
#contact_form .input_item dl dt {
    width: 100%;
}
#contact_form .input_item dl dd {
    width: 100%;
    padding-top: 5px;
    padding-bottom: 10px;
}
#contact_form select {
    width: 95%;
    height: 35px;
}
#contact_form input[type="zip"] {
    height: 35px;
}
#contact_form .input_item dl dt {
    line-height: 30px;
    height: auto;
}
#contact_form .input_item dl dd {
    margin-left:0px;
}
#contact_form .input_item dl dd input[type="text"], #contact_form .input_item dl dd input[type="number"], #contact_form .input_item dl dd input[type="email"], #contact_form .input_item dl dd input[type="tel"] {
    width: 95%;
    height: 35px;
}
.formError {
    position: absolute;
    top: 300px;
    left: 200px !important;
}
#contact_form .input_item dl dd textarea {
    width: 97%;
}
#contact_form .input_item dl dd input[type="text"], #contact_form .input_item dl dd input[type="number"], #contact_form .input_item dl dd input[type="email"], #contact_form .input_item dl dd input[type="tel"] {
    font-size: 14px;
}
#contact_form .input_item dl dt {
    padding: 0px 0 0px 0px;
}
button {
    padding: 0 15px;
}
#contact_form .container{
  padding: 50px 30px
}
#contact_form .pt-50 {
    padding-top: 30px !important;
}
}

<!-- ===== セクション用CSS ===== -->

#contact_form .lead{
font-size: 1em;
line-height: 1.9; 
margin: 0 0 24px;
color:#333;
font-weight:bold;
}
#contact_form small{ color: #888; text-decoration:underline;}

/* 電話／LINE のカード */
#contact_form .contact-grid{
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
  margin: 30px 0 28px;
}
#contact_form .contact-card{
  background-color: #f0f0f0; border: 1px solid #e5ecf5;
  border-radius: 16px; padding: 18px 18px 20px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.04);
}
#contact_form .h3{
  position: relative;
  font-size:1.2em;
  font-weight: 700;
	margin: 0 0 20px;
	color:#659e4d;
}


#contact_form .tel{ font-size:1.4em; font-weight:bold;}

#contact_form .tel a{ color:#659e4d; font-weight: 700; text-decoration: none; }
#contact_form .time{font-size: 0.95em; }
#contact_form .line-btn{ margin-top:20px;}
#contact_form .line-btn img{ width: 220px; max-width: 100%; height:auto; display:block; }


/* レスポンシブ */
@media (max-width: 1024px){
  #contact_form .mfp-form__group{ grid-template-columns: 160px 1fr; }
}
@media (max-width: 768px){
  #contact_form{ padding: 36px 0 48px; }
  #contact_form .contact-grid{ grid-template-columns: 1fr; }
  #contact_form .mfp-form__group{ grid-template-columns: 1fr; }
  #contact_form .mfp-form__label{ margin-bottom: 4px; }
}
@media (max-width: 480px){
  #contact_form .btn.btn--primary{ width: 100%; }
}

.uline{ text-decoration:underline;}



/*会社概要*/

#Company{
  background: #ccddeb;
  padding-bottom: 100px;
}
.company_border{
  border: solid 2px #d7d7d7;
  width: 100%;
}
.company_bg_blue{
  background-color: #161471;
  border: solid 2px #d7d7d7;
  color: #fff;
  padding: 0.5em 1em;
}
.company_bg_white{
  background-color: #fff;
  border: solid 2px #d7d7d7;
  padding: 0.5em 1em;
}

@media (max-width:767px){
  #Company table th, #Company table td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
}

/*footer*/
footer{
  background: #ccddeb;
  padding-bottom: 50px;
}
.fix-navi {
    padding: 15px 0 0px 0;
    position: fixed;
    z-index: 9999;
    bottom: 0;
    width: 100%;
    background-color: rgba(0,0,0,0.75);
}
.fix-navi .col-xs-6{
  padding-left: 5px;
    padding-right: 5px;
}

.fix-tel-btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
  border-radius: 50px;
  background-color: #fff;
  padding: 1em 0.5em;
  margin-bottom: 10px;
}
.fix-tel-text02{
  color: #659e4d;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0;
}
.fix-form-btn{
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
  border-radius: 50px;
  background-color: #659e4d;
  padding: 1em 0.5em;
  margin-bottom: 10px;　
}

.fix-form-text02{
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  footer{
  background: #ccddeb;
  padding-bottom: 150px;
}
  }


  .sns221129{
    padding: 15px 0 0px 0;
    position: fixed;
    z-index: 9999;
    bottom: 50%;
    right: 0;
    width:5%;
  }

  @media screen and (max-width: 767px) {
  .sns221129{
    width:15%;
  }
  [type=radio], [type=checkbox] {
    vertical-align: top;
}
  }
  
  
  
	