@charset "utf-8";

/* 共通
==================================================================*/

.h1_bg01 .en { margin-top: 25px;}
.h1_bg01 { margin-bottom: 50px;}


/* service サービス内容
==================================================================*/

#service .ser_ti {width: 60%;font-size: 2.4rem;}
#service .ser_ti .en {font-size: 2.6rem; margin-top: 0;}
#service .ser_ti h2 { margin: 0 20px;}
#service .gr_point2 img { margin-bottom: 5px;}
#service .qr_ico {margin-top: -30px;}
#service .f_box {justify-content: center; position: relative; align-items: center;}
#service .ser_ttl { font-size: 1.8rem; line-height: 2; margin: 20px auto;}
#service figure { width: 40%;}
#service .ser_txt { width: 55%; margin: 0 10px 0;}
#service .ill_box img {width: 286px;}
#service .ser_dat {font-size: 1.4rem; width: 80%; margin: 30px auto;}
#service .ser_dat .orange  {font-size: 1.8rem; margin: 0 0 10px 10px;}
#service .ser_ttl { font-size: 1.8rem;}
#service .ser_copy { font-size: 1.4rem;}
#service .ser_copy { margin-bottom: 10px;}
#service .ser_txt ul { margin-left: 10px;}
#service .ser_txt li { margin-bottom: 3px; vertical-align: middle;}
#service .service_info { margin-bottom: 60px;}
#service .sma_txt {font-size: 2.0rem;}
#service .rec_bnr { margin-bottom: 0;}
#service .staff_con .en { margin-top: 30px;}

#service table th { color: #ed761c; border-bottom: solid 3px #97c533; padding: 10px; width: 20%; }
#service table td {font-family:"Zen Maru Gothic", "メイリオ", "Meiryo", sans-serif;font-weight: 500; border-bottom: solid 3px #97c533; padding: 10px 10px 10px 30px; width: 80%;} 
#service table  {font-size: 1.6rem; width: 80%; margin: 40px auto 10px; border-collapse: separate;border-spacing: 0;border: solid 3px #97c533; padding: 0px; border-radius: 10px; } 
#service table h + th,
#service table td {
  border-left: solid 3px #97c533;
}
#service table tr:last-child th,
#service table tr:last-child td {
  border-bottom: none;
}
#service table a { text-decoration: underline;}
#service .qr_ico img {width: 40px;}


#service .flow_con h3  {font-size: 2.0rem; line-height: 2; margin-top: 30px;}
#service .flow_con dl { padding: 20px 30px;}
#service .flow_con dt {font-size: 1.8rem; line-height: 2;}
#service .flow_con dd {font-size: 1.4rem;}
#service .flow_box { width: 70%; margin: 50px auto 10px;}
#service .flow_ico img {width: 28px; margin: 15px auto; display: block;}

#service .price_box { width: 70%; margin: 40px auto 20px;}
#service .price_box dl { padding: 10px 0 0;}
#service .price_box dt {font-size: 2.2rem; line-height: 2; width: 15%; margin-right: 10px;}
#service .price_box dd {font-size: 1.4rem;width: 83%; margin-top: 10px;}

#service .price_con h3 {font-size: 2.2rem; margin-top: 20px; }


#service .jihi_box { font-size: 1.4rem; background-color: #fef9ec; border-radius: 10px;width: 70%; margin: 20px auto; padding: 60px 50px 30px 50px;}
#service .jihi_box dt {width: 15%; ine-height: 2; }
#service .jihi_box dl { margin-bottom: 20px;}
#service .jihi_box dd { width: 80%;}
#service .jihi_box .pri_plan dt{font-size: 2.2rem; padding-bottom: 0em; } 
#service .jihi_box .pri_plan dd .orange{font-size: 1.8rem; } 
#service .jihi_box .pri_plan { margin-bottom: 50px;}
#service .jihi_box .pri_plan .tax {font-size: 1.4rem;}
#service .jihi_box .pri_plan { margin-bottom: 50px;}

#service .hosoku { font-size: 1.4rem; width: 80%; margin: 15px auto 0;} 
#service .price_con { margin-top: 45px;}



/* contact お問い合わせ
==================================================================*/

#contact .h1_box img { width: 400px; }
#contact .com_logo img { width: 280px; }
#contact .h1_box { width: 50%; }
#contact .com_logo { width: 40%; }
#contact .c-info span {font-size: 1.6rem; color: #000;}
#contact .c-info  { margin-bottom: 30px;}
#contact h3 {font-size: 1.8rem; margin: 40px 0 50px; }
#contact .com_h1 { width: 80%; margin: 20px auto 30px;}
#contact h2 { margin: 30px auto 20px; font-size: 1.8rem; line-height: 2;}
#contact .main-inner { border-radius: 20px; width: 80%; margin: 30px auto; padding: 0 70px 10px; font-size: 1.8rem;}
#contact .main-inner .conf { width: 70%; margin: 0 auto}
#contact .soushin { margin: 30px 0 15px;}

#contact .conf .co_le { width: 40%; margin-right: 10px; text-align: left; margin-bottom: 20px;}
#contact .conf .co_ri { width: 50%; text-align: left; margin-bottom: 20px;}
#contact .co_le { width: 30%; margin-right: 10px; text-align: left; margin-bottom: 20px; color: #97c533;}
#contact .co_ri { width: 68%; text-align: left; margin-bottom: 20px;}
#contact input[type="text"], textarea, input[type="email"] {
    border: 3px solid #97c533;
    padding: 0.5em;
    border-radius: 10px;
    width: 100%; 
}
#contact input[type="number"] {
    border: 3px solid #97c533;
    padding: 0.5em;
    border-radius: 10px;
    width: 250px; 
}

input:-internal-autofill-selected { background-color: #e2fd90!important;}

#contact button, input, optgroup, select, textarea {
    font-size: 90%; 
    line-height: 1.15;
    margin: 0;
}
#contact button, input {
    overflow: visible;
}

#contact input, textarea {
    box-sizing: border-box;
}

#contact textarea { height: 180px;}

#contact .kakunin_btn input[type="submit"] {
background-color: #fff;
    width: 284px;
    height: 56px;
    border-radius: 10px;
    font-size: 1.8rem;
    /*line-height: 52px;*/
    margin: 0 auto;
    cursor: pointer;
    font-weight: bold;
    border:3px solid #97c533; box-shadow: 0px 0px 16px -6px rgba(0,0,0,0), 0 7px 0px 0px #e2fd90; color: #ed761c;
	    background: url(../img/more.png) right center no-repeat;
    background-size: 60px 11px; font-family:"Zen Maru Gothic", "メイリオ", "Meiryo", sans-serif;font-weight: 500;
}
#contact .kakunin_btn:hover { opacity: 0.5;    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;} 

#contact .back_btn input[type="submit"] {
background-color: #fff;
    width: 284px;
    height: 56px;
    border-radius: 10px;
    font-size: 1.8rem;
    /*line-height: 52px;*/
    margin: 0 auto;
    cursor: pointer;
    font-weight: bold;
    border:3px solid #97c533; box-shadow: 0px 0px 16px -6px rgba(0,0,0,0), 0 7px 0px 0px #e2fd90; color: #ed761c;
	    background: url(../img/more_l.png) left center no-repeat;
    background-size: 60px 11px; font-family: "秀英丸ゴシック B";
}
#contact .back_btn:hover { opacity: 0.5;    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;} 

#contact input[type="radio"] { margin: 5px 7px 12px 0; vertical-align: middle;}
#contact .thanks { font-size: 18px;}

#contact .thanks_btn a {
background-color: #fff;
    width: 222px;
    height: 68px;
    border-radius: 30px;
    color: #5c461f;
    font-size: 1.8rem;
    line-height: 68px;
    margin: 20px auto;
    cursor: pointer;
    font-weight: bold;
    border: none;padding: 20px 40px;
}
#contact .cs_txt{font-size: 1.2rem; }
#contact .cs_txt2{font-size: 1.2rem; margin-top: 5px; }


.h1_box_sp { display: none; }

.class_line { display: none; } 

#contact .pri_btn {
    padding: 10px;
    border-radius: 30px;
    background-color: #f8b1be;
    width: 200px;
    height: 20px;
    line-height: 20px;
    margin: 0 auto 30px;
    color: #5c461f;
}

#contact .red { font-size: 1.2rem;}
#contact .priv { margin: 40px 0 0px;}
#contact .priv a { color: #ed761c; font-size: 1.4rem; margin-top: 20px; text-decoration: none;}
#contact .priv a:hover { color:#97c533; }

#contact .priv a {
  position: relative;
  display: inline-block;
  transition: .3s;
}
#contact .priv a::after {
  position: absolute;
  bottom: -3px;
  left: 50%;
  content: '';
  width: 0;
  height: 2px;
  background-color: #ed761c;
  transition: .3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#contact .priv a:hover::after {
  width: 80%;
}

/* privacy プライバシーポリシー
==================================================================*/

#privacy .h1_box img { width: 400px; }
#privacy .com_logo img { width: 280px; }
#privacy .h1_box { width: 50%; }
#privacy .com_logo { width: 40%; }
#privacy .com_h1 { width: 80%; margin: 20px auto 30px;}
#privacy h2 { margin: 30px auto 20px; font-size: 1.8rem; line-height: 2;}
#privacy .pri_box { width: 80%; margin: 60px auto;}
#privacy h3 { font-size: 1.6rem; margin: 25px 0 10px; color: #ed761c;font-family: "秀英丸ゴシック B";}
#privacy h4 { font-size: 1.5rem; margin: 10px 0 5px; color: #97c533;font-family: "秀英丸ゴシック B";}
#privacy .pri_txt { font-size: 1.4rem; line-height: 1.7; margin: 10px 0 10px 0; text-align: justify;}
#privacy #main ul { margin: 0 0 10px 30px;}
#privacy .pri_box { width: 80%; margin: 50px auto 50px auto;}
#privacy .email img { width: 200px;}
#privacy #main li { list-style: circle; line-height: 1.7;}


#privacy table.cancel { margin-bottom: 60px;}
#privacy table.cancel tr {text-align: left; font-size: 16px; padding: 3px;}
#privacy table.cancel td { color:#c33; font-weight: 600; padding-left: 7px; }
#privacy h2.cancel_h2 {font-size: 22px;}

#privacy .priv { margin: 40px 0 0px;}
#privacy .priv a { color: #ed761c; font-size: 1.4rem; margin-top: 20px; text-decoration: none;}
#privacy .priv a:hover { color:#97c533; }

#privacy .priv a {
  position: relative;
  display: inline-block;
  transition: .3s;
}
#privacy .priv a::after {
  position: absolute;
  bottom: -3px;
  left: 50%;
  content: '';
  width: 0;
  height: 2px;
  background-color: #ed761c;
  transition: .3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
#privacy .priv a:hover::after {
  width: 80%;
}
#contact .fin { font-size: 1.6rem;}



/*----------------------------------------------------
タブレット
-----------------------------------------------------*/

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

html {font-size: 75%;}
.inner { width: 100%; margin: 0 auto;}

.slide img {width: 100%;}
.st_info {width: 90%;}	


#service table{ width: 95%;table-layout: fixed;box-sizing: border-box;}	
#service .flow_box { width: 90%;}
#service .price_box { width: 90%;}
#service .jihi_box { width: 90%;}	
	
#service .price_box dt { width:90%;}	
#service .price_box dd { width: 90%;}
	#service .flow_con dt { line-height: 1.5; margin-bottom:10px;}
	#service .ser_dat {width:90%;}
	
	
	#service .jihi_box { padding: 50px 30px 30px 30px;}
	
	
#concept .kouji_img {width: 45%;}
#concept .kouji_txt {width: 50%;}
#concept .class_line_c img {width: 100%;}      
#concept .class_img img {width: 230px;border-radius: 20px;}
#concept .p2 {width: 20%;margin-top: 30px;}    
#concept .p {width: 20%;margin-top: 30px;}    
#concept .life_p img {width: 160px;}
#concept .nonaka_txt {width: 55%;margin-top: 10px;}
#concept .nonaka_p img {width: 220px;}
#concept .ti_line img {width: 90%;}

#contact .main-inner {
    border-radius: 20px;
    width: 90%;
    margin: 30px auto;
    padding: 50px 20px;
    font-size: 18px;
}
#contact .co_ri { width: 65%;}
	
	
#privacy .pri_box { width: 90%;}	
	
	#contact .main-inner { padding: 0 40px; margin-bottom: 0;}
	
	address { margin: 10px 0 10px;}
		
}

    

/*----------------------------------------------------
スマホ
-----------------------------------------------------*/
@media screen and (max-width: 599px) {

.st_info {width: 80%; }	
header .st_info {position: fixed; left: 0;
  right: 0;
  margin: auto; z-index: 100; }		
	
#service .ser_ti {width: 80%;}
#service .ser_txt {width: 100%; margin: 0;}
#service figure {
    width: 100%; margin: 10px auto;
}
#service .ser_dat { margin: 30px auto 20px; width: 90%;}
#service .ill_box img {margin: 10px auto; display: block;}
	
#service table th { width: 100%; display: block;box-sizing: border-box; }
#service table td { width: 100%; display: block;box-sizing: border-box; }	
#service table{ width: 95%;table-layout: fixed;box-sizing: border-box;}	
#service .service_info {margin-bottom: 30px;}	
#service table tr:last-child th, #service table tr:last-child td {border-bottom: solid 3px #97c533;}	
#service table h + th,
#service table td {border-left: none;}	
#service table tr:last-child th {border-bottom: solid 3px #97c533;}	
#service table tr:last-child td {border-bottom: none;}		
#service .service_info .green_box { padding-bottom: 20px;}
#service .reha_ti { text-align: center;}
#service .ser_dat .orange { margin-left: 0;}
#service .ser_txt ul { margin-left: 0;}
/*#service .ser_txt li.kaigyo { margin-bottom: 25px;}*/
#service table td { padding-left: 20px;}
	
#service .jihi_box {
    font-size: 1.4rem;
    background-color: #fef9ec;
    border-radius: 10px;
    width: 80%;
    padding: 30px 20px 20px 20px;
}	
#service .jihi_box dt {width: 100%;margin-bottom: 15px; }	
#service .jihi_box dd {width: 100%;}	
	
.h1_bg01 h1 {font-size: 2.4rem;margin-top: -10px;}
.h1_bg01 .en {margin-top: 0;}	
.h1_bg01 {
    background: url(../img/h1_bg01.png) top center no-repeat;
    height: 99px;
    background-size: 430px 93px;}	
	
    
/* contact------------------------*/


#contact .co_le { width: 100%; margin-bottom: 10px;}
#contact .co_ri { width: 100%;}

#contact .main-inner {
    border-radius: 20px;
    width: 90%;
    margin: 30px auto;
    padding: 0px 20px;
    font-size: 18px;
}
	
#privacy table.cancel th { width: 100%; display: block;}
#privacy table.cancel td { width: 100%; display: block; padding-left: 0; padding-bottom: 13px;}
#privacy table.cancel { margin-bottom: 30px;}	
	
#contact .conf {
    width: 90%;
    margin: 0 auto;
}	
	

	
	
}

/*----------------------------------------------------
スマホ
-----------------------------------------------------*/
@media screen and (max-width: 350px) {
	
.main_info h2 {font-size: 1.5rem;}	
#gnav a {font-size: 1.3rem;}	
.st_info {width: 80%;font-size: 1.2rem;}
.main_ill img {width: 100%;}	
footer .f_logo img {width: 90%;}	
.rec_bnr h3 {font-size: 2.6em;}	
#service .ser_ttl {font-size: 1.6rem;}	
address {font-size: 1.0rem;}
.rec_bnr P {font-size: 1.2em;}	
	#service .flow_con h3 {
		font-size: 1.6rem;}
	
	#service .jihi_box .pri_plan dd .orange {
    font-size: 1.6rem;
}
	
	#contact h2 {
    margin: 30px auto 20px;
    font-size: 1.6rem;

}
	
}
