/*==========================================
Primanet Rule css
===========================================*/
*{
	font-style: normal;
}
html{
 	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 	-webkit-text-size-adjust: none;/*iphoneの横向きの文字拡大制御*/
	color: #000;
  	letter-spacing: 1px;
	font-size: 16px;/*通常 16px=1rem*/
	font-weight: 100;	
	background-color: #EEEEEE;
}
h1, h2, h3, h4, h5, h6, p,a,address,
dl, dt, dd, ol, ul, li, tr, th, td,
div, input, select, textarea,
.fs_10r{
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5rem;

}
.fs_07r{ font-size: 0.7rem; }
.fs_08r{ font-size: 0.8rem; }
.fs_09r{ font-size: 0.9rem; }
.fs_10r{ font-size: 1rem; }/*基準*/
.fs_11r{ font-size: 1.1rem; }
.fs_12r{ font-size: 1.2rem; }
.fs_13r{ font-size: 1.3rem; }
.fs_14r{ font-size: 1.4rem; }
.fs_15r{ font-size: 1.5rem; }
.fs_16r{ font-size: 1.6rem; }
.fs_17r{ font-size: 1.7rem; }
.fs_18r{ font-size: 1.8rem; }
.fs_19r{ font-size: 1.9rem; }
.fs_20r{ font-size: 2rem; }
.fs_21r{ font-size: 2.1rem; }
.fs_22r{ font-size: 2.2rem; }
.fs_23r{ font-size: 2.3rem; }
.fs_24r{ font-size: 2.4rem; }
.fs_25r{ font-size: 2.5rem; }
.fs_26r{ font-size: 2.6rem; }
.fs_27r{ font-size: 2.7rem; }
.fs_28r{ font-size: 2.8rem; }
.fs_29r{ font-size: 2.9rem; }
.fs_30r{ font-size: 3rem; }
.fs_31r{ font-size: 3.1rem; }
.fs_32r{ font-size: 3.2rem; }
.fs_33r{ font-size: 3.3rem; }
.fs_34r{ font-size: 3.4rem; }
.fs_35r{ font-size: 3.5rem; }
.fs_36r{ font-size: 3.6rem; }
.fs_37r{ font-size: 3.7rem; }
.fs_38r{ font-size: 3.8rem; }
.fs_39r{ font-size: 3.9rem; }
.fs_40r{ font-size: 4rem; }
.fs_50r{ font-size: 5rem; }

.lh_10r{ line-height: 1rem; }
.lh_11r{ line-height: 1.1rem; }
.lh_12r{ line-height: 1.2rem; }
.lh_13r{ line-height: 1.3rem; }
.lh_14r{ line-height: 1.4rem; }
.lh_15r{ line-height: 1.5rem; }
.lh_16r{ line-height: 1.6rem; }
.lh_17r{ line-height: 1.7rem; }
.lh_18r{ line-height: 1.8rem; }
.lh_19r{ line-height: 1.9rem; }
.lh_20r{ line-height: 2rem; }
.lh_22r{ line-height: 2.2rem; }
.lh_23r{ line-height: 2.3rem; }
.lh_24r{ line-height: 2.4rem; }
.lh_25r{ line-height: 2.5rem; }
.lh_26r{ line-height: 2.6rem; }
.lh_27r{ line-height: 2.7rem; }
.lh_28r{ line-height: 2.8rem; }
.lh_29r{ line-height: 2.9rem; }
.lh_30r{ line-height: 3rem; }
.lh_31r{ line-height: 3.1rem; }
.lh_32r{ line-height: 3.2rem; }
.lh_33r{ line-height: 3.3rem; }
.lh_34r{ line-height: 3.4rem; }
.lh_35r{ line-height: 3.5rem; }
.lh_36r{ line-height: 3.6rem; }
.lh_37r{ line-height: 3.7rem; }
.lh_38r{ line-height: 3.8rem; }
.lh_39r{ line-height: 3.9rem; }
.lh_40r{ line-height: 4rem; }
.lh_41r{ line-height: 4.1rem; }
.lh_42r{ line-height: 4.2rem; }
.lh_43r{ line-height: 4.3rem; }
.lh_44r{ line-height: 4.4rem; }
.lh_45r{ line-height: 4.5rem; }
.lh_46r{ line-height: 4.6rem; }
.lh_47r{ line-height: 4.7rem; }
.lh_48r{ line-height: 4.8rem; }
.lh_49r{ line-height: 4.9rem; }
.lh_50r{ line-height: 5rem; }
.lh_51r{ line-height: 5.1rem; }
.lh_52r{ line-height: 5.2rem; }
.lh_53r{ line-height: 5.3rem; }
.lh_54r{ line-height: 5.4rem; }
.lh_55r{ line-height: 5.5rem; }
.lh_56r{ line-height: 5.6rem; }
.lh_57r{ line-height: 5.7rem; }
.lh_58r{ line-height: 5.8rem; }
.lh_59r{ line-height: 5.9rem; }
.lh_60r{ line-height: 6rem; }


.fw_900{ font-weight: 900; }

.robot{
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
}
.robot_b{
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
}
.robot_co{
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 400;
}
.robot_co_b{
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
}
/*
.koho_b{
	font-family: "KoHo", sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #ff7bac;
  -webkit-text-stroke: 1px #000;
  text-stroke: 1px #000;
  letter-spacing: -1px;
}
*/
.mg_0{
	margin: 0 auto;
}
.mgt_0{ margin-top: 0; }
.mgt_10{ margin-top: 0.625rem; }/*10px*/
.mgt_20{ margin-top: 1.25rem; }/*20px*/
.mgt_30{ margin-top: 1.875rem; }/*30px*/
.mgt_40{ margin-top: 2.5rem; }/*40px*/
.mgt_50{ margin-top: 3.125rem; }/*50px*/
.mgt_60{ margin-top: 3.75rem; }/*60px*/
.mgt_70{ margin-top: 4.375rem; }/*70px*/
.mgt_80{ margin-top: 5rem; }/*80px*/
.mgt_90{ margin-top: 5.625rem; }/*90px*/
.mgt_100{ margin-top: 6.25rem; }/*100px*/

.mgb_0{ margin-bottom: 0; }
.mgb_10{ margin-bottom: 0.625rem; }/*10px*/
.mgb_20{ margin-bottom: 1.25rem; }/*20px*/
.mgb_30{ margin-bottom: 1.875rem; }/*30px*/
.mgb_40{ margin-bottom: 2.5rem; }/*40px*/
.mgb_50{ margin-bottom: 3.125rem; }/*50px*/
.mgb_60{ margin-bottom: 3.75rem; }/*60px*/
.mgb_70{ margin-bottom: 4.375rem; }/*70px*/
.mgb_80{ margin-bottom: 5rem; }/*80px*/
.mgb_90{ margin-bottom: 5.625rem; }/*90px*/
.mgb_100{ margin-bottom: 6.25rem; }/*100px*/

.pd_0{ padding: 0; }
.pd_10{ padding: 0.625rem; }/*10px*/
.pd_20{ padding: 1.25rem; }/*20px*/
.pd_30{ padding: 1.875rem; }/*30px*/
.pd_40{ padding: 2.5rem; }/*40px*/
.pd_50{ padding: 3.125rem; }/*50px*/
.pd_60{ padding: 3.75rem; }/*60px*/
.pd_70{ padding: 4.375rem; }/*70px*/
.pd_80{ padding: 5rem; }/*80px*/
.pd_90{ padding: 5.625rem; }/*90px*/
.pd_100{ padding: 6.25rem; }/*100px*/

.pdt_0{ padding-top: 0; }
.pdt_10{ padding-top: 0.625rem; }/*10px*/
.pdt_20{ padding-top: 1.25rem; }/*20px*/
.pdt_30{ padding-top: 1.875rem; }/*30px*/
.pdt_40{ padding-top: 2.5rem; }/*40px*/
.pdt_50{ padding-top: 3.125rem; }/*50px*/
.pdt_60{ padding-top: 3.75rem; }/*60px*/
.pdt_70{ padding-top: 4.375rem; }/*70px*/
.pdt_80{ padding-top: 5rem; }/*80px*/
.pdt_90{ padding-top: 5.625rem; }/*90px*/
.pdt_100{ padding-top: 6.25rem; }/*100px*/

.pdb_0{ padding-bottom: 0; }
.pdb_10{ padding-bottom: 0.625rem; }/*10px*/
.pdb_20{ padding-bottom: 1.25rem; }/*20px*/
.pdb_30{ padding-bottom: 1.875rem; }/*30px*/
.pdb_40{ padding-bottom: 2.5rem; }/*40px*/
.pdb_50{ padding-bottom: 3.125rem; }/*50px*/
.pdb_60{ padding-bottom: 3.75rem; }/*60px*/
.pdb_70{ padding-bottom: 4.375rem; }/*70px*/
.pdb_80{ padding-bottom: 5rem; }/*80px*/
.pdb_90{ padding-bottom: 5.625rem; }/*90px*/
.pdb_100{ padding-bottom: 6.25rem; }/*100px*/

.txal_l{ text-align: left; }
.txal_r{ text-align: right; }
.txal_c{ text-align: center; }

.dsp_bl{
	display: block;
}
.dsp_non{
	display: none;
}

.flex_{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.flex_2,.flex_3,.flex_4{
	display: flex;
	justify-content: space-between;
}
.flex_2 li,
.flex_2 .f_item{
	width: 47.5%;	
}
.flex_3 li,
.flex_3 .f_item{
	width: 30%;
}
.flex_4 li,
.flex_4 .f_item{
	width: 22%;
}

.br_on{
	display: block;
}
.br_off{
	display: none;
}

.w_10{ width: 10%; }
.w_15{ width: 15%; }
.w_20{ width: 20%; }
.w_25{ width: 25%; }
.w_30{ width: 30%; }
.w_35{ width: 35%; }
.w_40{ width: 40%; }
.w_45{ width: 45%; }
.w_50{ width: 50%; }
.w_55{ width: 55%; }
.w_60{ width: 60%; }
.w_65{ width: 65%; }
.w_70{ width: 70%; }
.w_75{ width: 75%; }
.w_80{ width: 80%; }
.w_85{ width: 85%; }
.w_90{ width: 90%; }

img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
a{
  text-decoration: none;
  color: #000;
}
a:hover{
  /*opacity: 0.7;*/
}


ul li,
.f_item{
	/*background-color: #ccc;*/
	/*border: 1px solid #000;*/
}
h1{
	/*padding-bottom: 10px;*/
}

.wbr{
	word-break: keep-all;
}


/*=================================================================================================*/
/* tablet向けレイアウト：768px以上 */
@media only screen and (min-width: 768px) {
html{
  	letter-spacing: 1px;
	font-size: 16px;

}
h1, h2, h3, h4, h5, h6, p, a, address,
dl, dt, dd, ol, ul, li, tr, th, td,
div, input, select, textarea,.fs_10r{
	font-size: 16px;
	/*line-height: 2rem;*/

}
.fs__10p{ font-size: 10px; }
.fs__11p{ font-size: 11px; }
.fs__12p{ font-size: 12px; }
.fs__13p{ font-size: 13px; }
.fs__14p{ font-size: 14px; }
.fs__15p{ font-size: 13px; }
.fs__16p{ font-size: 16px; }
.fs__17p{ font-size: 17px; }
.fs__18p{ font-size: 18px; }
.fs__19p{ font-size: 19px; }
.fs__20p{ font-size: 20px; }
.fs__21p{ font-size: 21px; }
.fs__22p{ font-size: 22px; }
.fs__23p{ font-size: 23px; }
.fs__24p{ font-size: 24px; }
.fs__25p{ font-size: 25px; }
.fs__26p{ font-size: 26px; }
.fs__27p{ font-size: 27px; }
.fs__28p{ font-size: 28px; }
.fs__29p{ font-size: 29px; }
.fs__30p{ font-size: 30px; }
.fs__31p{ font-size: 31px; }
.fs__32p{ font-size: 32px; }
.fs__33p{ font-size: 33px; }
.fs__34p{ font-size: 34px; }
.fs__35p{ font-size: 35px; }
.fs__36p{ font-size: 36px; }
.fs__37p{ font-size: 37px; }
.fs__38p{ font-size: 38px; }
.fs__39p{ font-size: 39px; }
.fs__40p{ font-size: 40px; }
.fs__41p{ font-size: 41px; }
.fs__42p{ font-size: 42px; }
.fs__43p{ font-size: 43px; }
.fs__44p{ font-size: 44px; }
.fs__45p{ font-size: 45px; }
.fs__46p{ font-size: 46px; }
.fs__47p{ font-size: 47px; }
.fs__48p{ font-size: 48px; }
.fs__49p{ font-size: 49px; }
.fs__50p{ font-size: 50px; }
.fs__51p{ font-size: 51px; }
.fs__52p{ font-size: 52px; }
.fs__53p{ font-size: 53px; }
.fs__54p{ font-size: 54px; }
.fs__55p{ font-size: 55px; }
.fs__56p{ font-size: 56px; }
.fs__57p{ font-size: 57px; }
.fs__58p{ font-size: 58px; }
.fs__59p{ font-size: 59px; }
.fs__60p{ font-size: 60px; }

.lh__24p{ line-height: 24px; }
.lh__30p{ line-height: 30px; }
.lh__32p{ line-height: 32px; }
.lh__34p{ line-height: 34px; }
.lh__36p{ line-height: 36px; }
.lh__36p{ line-height: 38px; }
.lh__40p{ line-height: 40px; }
.lh__50p{ line-height: 50px; }
.lh__60p{ line-height: 60px; }
.lh__70p{ line-height: 70px; }
.lh__80p{ line-height: 80px; }
.lh__90p{ line-height: 90px; }
.lh__100p{ line-height: 100px; }

.fw__b{ font-weight: 700; }

.mgt__0{ margin-top: 0px; }
.mgt__10{ margin-top: 10px; }
.mgt__20{ margin-top: 20px; }
.mgt__30{ margin-top: 30px; }
.mgt__40{ margin-top: 40px; }
.mgt__50{ margin-top: 50px; }
.mgt__60{ margin-top: 60px; }
.mgt__70{ margin-top: 70px; }
.mgt__80{ margin-top: 80px; }
.mgt__90{ margin-top: 90px; }
.mgt__100{ margin-top: 100px; }

.mgb__0{ margin-bottom: 0px; }
.mgb__10{ margin-bottom: 10px; }
.mgb__20{ margin-bottom: 20px; }
.mgb__30{ margin-bottom: 30px; }
.mgb__40{ margin-bottom: 40px; }
.mgb__50{ margin-bottom: 50px; }
.mgb__60{ margin-bottom: 60px; }
.mgb__70{ margin-bottom: 70px; }
.mgb__80{ margin-bottom: 80px; }
.mgb__90{ margin-bottom: 90px; }
.mgb__100{ margin-bottom: 100px; }

.pd__0{ padding: 0px; }
.pd__10{ padding: 10px; }
.pd__20{ padding: 20px; }
.pd__30{ padding: 30px; }
.pd__40{ padding: 40px; }
.pd__50{ padding: 50px; }
.pd__60{ padding: 60px; }
.pd__70{ padding: 70px; }
.pd__80{ padding: 80px; }
.pd__90{ padding: 90px; }
.pd__100{ padding: 100px; }

.pdt__0{ padding-top: 0px; }
.pdt__10{ padding-top: 10px; }
.pdt__20{ padding-top: 20px; }
.pdt__30{ padding-top: 30px; }
.pdt__40{ padding-top: 40px; }
.pdt__50{ padding-top: 50px; }
.pdt__60{ padding-top: 60px; }
.pdt__70{ padding-top: 70px; }
.pdt__80{ padding-top: 80px; }
.pdt__90{ padding-top: 90px; }
.pdt__100{ padding-top: 100px; }

.pdb__0{ padding-bottom: 0px; }
.pdb__10{ padding-bottom: 10px; }
.pdb__20{ padding-bottom: 20px; }
.pdb__30{ padding-bottom: 30px; }
.pdb__40{ padding-bottom: 40px; }
.pdb__50{ padding-bottom: 50px; }
.pdb__60{ padding-bottom: 60px; }
.pdb__70{ padding-bottom: 70px; }
.pdb__80{ padding-bottom: 80px; }
.pdb__90{ padding-bottom: 90px; }
.pdb__100{ padding-bottom: 100px; }

.txal__l{ text-align: left; }
.txal__r{ text-align: right; }
.txal__c{ text-align: center; }

.flex__{
	display: flex;
	justify-content: space-between;
	/*align-items: center;*/
}
.flex__2,.flex__3,.flex__4{
	display: flex;
	justify-content: space-between;
}
.flex__2 li,
.flex__2 .f_item{
	width: 47.5%;
}
.flex__3 li,
.flex__3 .f_item{
	width: 30%;
}
.flex__4 li,
.flex__4 .f_item{
	width: 22.5%;
}

.br__on{
	display: block;
}
.br__off{
	display: none;
}

.w__10{ width: 10%; }
.w__15{ width: 15%; }
.w__20{ width: 20%; }
.w__25{ width: 25%; }
.w__30{ width: 30%; }
.w__35{ width: 35%; }
.w__40{ width: 40%; }
.w__45{ width: 45%; }
.w__475{ width: 47.5%; }
.w__50{ width: 50%; }
.w__55{ width: 55%; }
.w__60{ width: 60%; }
.w__65{ width: 65%; }
.w__70{ width: 70%; }
.w__75{ width: 75%; }
.w__80{ width: 80%; }
.w__85{ width: 85%; }
.w__90{ width: 90%; }
.inner_wrap{
	width: 95%;
	margin: 0 auto;
}
}
/*=================================================================================================*/
/* PC向けレイアウトの指定:テーマにより*/
@media only screen and (min-width: 1200px) {
/*==============================================================*/
.fs___10p{ font-size: 10px; }
.fs___11p{ font-size: 11px; }
.fs___12p{ font-size: 12px; }
.fs___13p{ font-size: 13px; }
.fs___14p{ font-size: 14px; }
.fs___15p{ font-size: 13px; }
.fs___16p{ font-size: 16px; }
.fs___17p{ font-size: 17px; }
.fs___18p{ font-size: 18px; }
.fs___19p{ font-size: 19px; }
.fs___20p{ font-size: 20px; }
.fs___21p{ font-size: 21px; }
.fs___22p{ font-size: 22px; }
.fs___23p{ font-size: 23px; }
.fs___24p{ font-size: 24px; }
.fs___25p{ font-size: 25px; }
.fs___26p{ font-size: 26px; }
.fs___27p{ font-size: 27px; }
.fs___28p{ font-size: 28px; }
.fs___29p{ font-size: 29px; }
.fs___30p{ font-size: 30px; }
.fs___31p{ font-size: 31px; }
.fs___32p{ font-size: 32px; }
.fs___33p{ font-size: 33px; }
.fs___34p{ font-size: 34px; }
.fs___35p{ font-size: 35px; }
.fs___36p{ font-size: 36px; }
.fs___37p{ font-size: 37px; }
.fs___38p{ font-size: 38px; }
.fs___39p{ font-size: 39px; }
.fs___40p{ font-size: 40px; }
.fs___41p{ font-size: 41px; }
.fs___42p{ font-size: 42px; }
.fs___43p{ font-size: 43px; }
.fs___44p{ font-size: 44px; }
.fs___45p{ font-size: 45px; }
.fs___46p{ font-size: 46px; }
.fs___47p{ font-size: 47px; }
.fs___48p{ font-size: 48px; }
.fs___49p{ font-size: 49px; }
.fs___50p{ font-size: 50px; }
.fs___51p{ font-size: 51px; }
.fs___52p{ font-size: 52px; }
.fs___53p{ font-size: 53px; }
.fs___54p{ font-size: 54px; }
.fs___55p{ font-size: 55px; }
.fs___56p{ font-size: 56px; }
.fs___57p{ font-size: 57px; }
.fs___58p{ font-size: 58px; }
.fs___59p{ font-size: 59px; }
.fs___60p{ font-size: 60px; }
.fs___70p{ font-size: 70px; }
.fs___80p{ font-size: 80px; }
.fs___90p{ font-size: 90px; }
.fs___100p{ font-size: 100px; }

.lh___30p{ line-height: 30px; }
.lh___32p{ line-height: 32px; }
.lh___34p{ line-height: 34px; }
.lh___36p{ line-height: 36px; }
.lh___36p{ line-height: 38px; }
.lh___40p{ line-height: 40px; }
.lh___50p{ line-height: 50px; }
.lh___60p{ line-height: 60px; }
.lh___70p{ line-height: 70px; }
.lh___80p{ line-height: 80px; }
.lh___90p{ line-height: 90px; }
.lh___100p{ line-height: 100px; }

.mgt___0{ margin-top: 0px; }
.mgt___10{ margin-top: 10px; }
.mgt___20{ margin-top: 20px; }
.mgt___30{ margin-top: 30px; }
.mgt___40{ margin-top: 40px; }
.mgt___50{ margin-top: 50px; }
.mgt___60{ margin-top: 60px; }
.mgt___70{ margin-top: 70px; }
.mgt___80{ margin-top: 80px; }
.mgt___90{ margin-top: 90px; }
.mgt___100{ margin-top: 100px; }

.mgb___0{ margin-bottom: 0px; }
.mgb___10{ margin-bottom: 10px; }
.mgb___20{ margin-bottom: 20px; }
.mgb___30{ margin-bottom: 30px; }
.mgb___40{ margin-bottom: 40px; }
.mgb___50{ margin-bottom: 50px; }
.mgb___60{ margin-bottom: 60px; }
.mgb___70{ margin-bottom: 70px; }
.mgb___80{ margin-bottom: 80px; }
.mgb___90{ margin-bottom: 90px; }
.mgb___100{ margin-bottom: 100px; }

.pd___0{ padding: 0px; }
.pd___10{ padding: 10px; }
.pd___20{ padding: 20px; }
.pd___30{ padding: 30px; }
.pd___40{ padding: 40px; }
.pd___50{ padding: 50px; }
.pd___60{ padding: 60px; }
.pd___70{ padding: 70px; }
.pd___80{ padding: 80px; }
.pd___90{ padding: 90px; }
.pd___100{ padding: 100px; }

.pdt___0{ padding-top: 0px; }
.pdt___10{ padding-top: 10px; }
.pdt___20{ padding-top: 20px; }
.pdt___30{ padding-top: 30px; }
.pdt___40{ padding-top: 40px; }
.pdt___50{ padding-top: 50px; }
.pdt___60{ padding-top: 60px; }
.pdt___70{ padding-top: 70px; }
.pdt___80{ padding-top: 80px; }
.pdt___90{ padding-top: 90px; }
.pdt___100{ padding-top: 100px; }

.pdb___0{ padding-bottom: 0px; }
.pdb___10{ padding-bottom: 10px; }
.pdb___20{ padding-bottom: 20px; }
.pdb___30{ padding-bottom: 30px; }
.pdb___40{ padding-bottom: 40px; }
.pdb___50{ padding-bottom: 50px; }
.pdb___60{ padding-bottom: 60px; }
.pdb___70{ padding-bottom: 70px; }
.pdb___80{ padding-bottom: 80px; }
.pdb___90{ padding-bottom: 90px; }
.pdb___100{ padding-bottom: 100px; }

.txal___l{ text-align: left; }
.txal___r{ text-align: right; }
.txal___c{ text-align: center; }

.flex___2,.flex___3{
	display: flex;
	justify-content: space-between;
}
.flex___2 li,
.flex___2 .f_item{
	width: 47.5%;
}
.flex___3 li,
.flex___3 .f_item{
	width: 30%;
}

.br___on{
	display: block;
}
.br___off{
	display: none;
}
}
/*==========================================
Primanet Rule css
===========================================*/

/*=================================================================================================
desgin css
==================================================================================================*/
@media only screen and (min-width: 0px) {
/**********************************************************************************************/

p{
	font-feature-settings: "palt";
}
.grecaptcha-badge { visibility: hidden; }/* reCAPTCHA非表示 */

/* color */
:root{
	--main-color: #1b1464;
}

.fff{
	color: #fff;
}
.main-color{
	color: var(--main-color);
}
.indent{
	display: inline-block;
	text-indent: -1em;
	padding-left: 1em;
}

.sns{
	margin: 7% auto;
	display: flex;
	justify-content: center;
}
.sns a{
	margin: 0 10px;
	width: 30px;
}

/***************** 0 header *******************/
header{
	position: fixed;
	background-color: #fff;
	width: 100%;
	z-index: 10001;
	height: 70px;
	opacity: 0;
	top: 0;
	transition: .5s; /* アニメーションタイミング */
}
#fixed_header.is-show{
	opacity: 1;
}
header .logo a{
	width: 190px;
	position: absolute;
	top: 10px;
	left: 20px;
}
header .logo span{
	font-size: 80%;
}
.header_inner_wrap{
	position: relative;
	height: 100%;
}
/***************** 0 hamburger **************/
.hamburger{
  position: absolute;
  z-index: 10000;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.hamburger_btn {
  position: relative;
  width: 30px;
  height: 27px;
  cursor: pointer;
}
:root{
	--humburger_height: 5px;
}
.hamburger_btn span {
  position: absolute;
  left: 0;
  width: 100%;
  height: var(--humburger_height);
  background-color: #000000;
  transform: translateY(-50%);
}
.hamburger_btn, .hamburger_btn span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.hamburger_btn span:nth-of-type(1) {
  top: 0;
}
.hamburger_btn span:nth-of-type(2) {
  top: calc(50% - var(--humburger_height)/2);
}
.hamburger_btn span:nth-of-type(3) {
  bottom: 0;
}
#btn01.active span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg);
   background-color: var(--main-color);
}
#btn01.active span:nth-of-type(2) {
  opacity: 0;
}
#btn01.active span:nth-of-type(3) {
  -webkit-transform: translateY(-9px) rotate(45deg);
  transform: translateY(-13px) rotate(45deg);
   background-color: var(--main-color);
}
/***************** 0 メニュー開閉 **************/
#nav_drawer {
  /*position: absolute;
  top: 10px;
  right: 10px;*/
}
#nav_cover {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #010123;
    opacity: 0.5;
    transition: .3s ease-in-out;
}
#nav_cover.active{
	display: block;
}
#nav_content{
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100001;/*最前面に*/
    width: 85%;/*右側に隙間を作る*/
    max-width: 100%;/*最大幅*//*330px*/
    height: 100%;
    padding: 10% 0;
    background: var(--main-color);/*背景色*/
    transition: .5s ease-in-out;/*滑らかに表示*/
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}
#nav_content.active{
    -webkit-transform: translateX(0);
    transform: translateX(0);
}
#nav_content .logo{
	display: block;
	margin-inline: auto;
	width: 80%;
}
#nav_content .nav_list{
  padding: 20px;
  border-radius: 20px;
  padding-top: 20px;
}
#nav_content .nav_list a{
	display: block;
	padding: 15% 0;
	border-bottom: solid 1px #fff;
}
#nav_content .nav_list img{
	height: 20px;
}
#nav_content ul li{
  text-align: center;
}
#nav_content ul li:last-child{
	margin-bottom: 0;
}
#nav_content ul li a{
	line-height: 1;
	color: #000;
	display: block;
	padding: 30px 0;
	border-bottom: 2px solid #eee;
}
#nav_content ul li a:hover{
	transition: 0.2s;
	font-weight: bold;
	border-bottom: solid 5px #8DFF1F;

}
/*********************　0 mv *********************/

.mv{
	background: url(../images/common/mv_sp@2x.webp) 50% 0 / cover no-repeat;
	height: 98svh;
	position: relative;
	margin-bottom: 10%;
}
.mv .name{
	width: auto;
	height: 50%;
	position: absolute;
	top: 10vh;
	left: 5%;
	padding-top: 5%;
}
.mv .pr_budge{
	position: absolute;
	bottom: 2.5%;
	right: 5%;
	color: greenyellow;
	background-color: var(--main-color);
	border: solid 2px;
	border-radius: 50%;
	width: 8em;
	height: 8em;
}
.mv a.pr_budge:hover{
	background-color: greenyellow;
	color: var(--main-color);
	transition: 0.3s;
}
.mv .pr_budge span{
	width: 100%;
	font-weight: 700;
	position: absolute;
	text-align: center;
	transform: translate(-50%, -50%);
	top: 48%;
	left: 50%;
	font-size: 1.2em;
	line-height: 1.2;
}


/*********************　ページ共通 0 *********************/
.bg_logo{
	background: 
	url(../images/common/bg_logo.svg) no-repeat,
	url(../images/common/bg_titile.svg) no-repeat;
	background-position: 110% 20px,-10% 150px;
	background-size: 170px auto, 140px auto;
	padding-bottom: 10px;
}
.inner_wrap{
	width: min(90%, 500px);
	margin: 0 auto;
}
h2{
	display: flex;
	align-items: center;
	margin: 10% auto;
}
h2::before,
h2::after{
	content: '';
	height: 2px;
	width: 100%;
	background-color: var(--main-color);
}
h2 img{
	height: 24px;
	margin: 0 1em;
}
section{
	margin-bottom: 4rem;
	margin-top: -10%;
	padding-top: 10%;
}


/***************** 0 lower共通  *******************/
.rower_visual.service{
	background: url(../images/common/service/service_mv@2x.webp) 50% 50% no-repeat;
	background-size: cover;
  	box-shadow: 0px 0px 10px #555;
}
.rower_visual.recruit{
	background: url(../images/common/recruit/recruit_mv@2x.webp) 50% 50% no-repeat;
	background-size: cover;
  	box-shadow: 0px 0px 10px #555;
}
.rower_visual.tools{
	background: url(../images/common/tools/tools_mv@2x.webp) 50% 50% no-repeat;
	background-size: cover;
  	box-shadow: 0px 0px 10px #555;
}
.rower_visual.company{
	background: url(../images/common/company/company_mv@2x.webp) 50% 50% no-repeat;
	background-size: cover;
  	box-shadow: 0px 0px 10px #555;
}
.rower_visual h1{
	color: #fff;
	padding: 70px 0 30px;
	display: inline-block;
	line-height: 1;
}
.rower_visual h1 span{
	background-color: #000;
	padding: 5px 10px;
	display: inline-block;
	line-height: 1;
}
.rower_inner{
	max-width: 500px;
	margin: 0 auto;
}

/***************** 0 schedule *******************/

.grade_tabs_menu{
	display: flex;
	justify-content: space-evenly;
	text-align: center;
}
.grade_tabs_menu_item{
	width: 47%;
	color: #fff;
	background-color: #999;
	border-radius: 5px 5px 0 0;
	font-size: 120%;
	padding: 2.5% 0;
	cursor: pointer;
	animation: .5s;
}
.grade_tabs_menu_item.is-active,
.grade_tabs_menu_item:hover{
	background-color: var(--main-color);
}
.grade_tabs_contents{
	background-color: #fff;
	box-shadow: 0 0 5px rgba(0, 0, 0, .2);
	padding: 3% 0;
}
.grade_tabs_body{
    display: none;
    margin: 0;
}
.grade_tabs_body.is-active{
  display: block;
}

#schedule .grade_tabs_body ul li{
	border-bottom: solid 1px #ccc;
	padding: 5% 0;
}
#schedule .grade_tabs_body ul li:last-child{
	border-bottom: none;
}
#schedule .grade_tabs_body ul li dt,
#schedule .grade_tabs_body ul li .date{
	color: var(--main-color);
	font-weight: 700;
	margin-bottom: 0.5em;
}
#schedule .grade_tabs_body ul li dd{
	font-weight: 500;
}
#schedule .grade_tabs_body ul li dd a{
	color: var(--main-color);
}
#schedule .grade_tabs_body ul li dd .small{
	display: block;
	font-weight: 400;
	font-size: 0.9em;
}

#schedule li img{
	display: block;
	margin:  0.5rem auto;
	width: 90%;
}

#schedule .grade_tabs_body.rakugokai li{
	padding: 7% 0;
}
#schedule .grade_tabs_body.rakugokai img{
	margin-bottom: 5%;
	margin-inline: auto;
	display: block;
	width: 90%;
}
#schedule .grade_tabs_body.rakugokai .date{
	font-size: 110%;
	width: fit-content;
}
#schedule .grade_tabs_body.rakugokai .title{
	font-weight: 700;
	font-size: 140%;
	margin: 6% auto;
}
#schedule .grade_tabs_body.rakugokai dd{
	margin-bottom: 7%;
}
#schedule .grade_tabs_body.rakugokai .address{
	display: block;
	font-size: 0.9em;
	line-height: 1.25;
	font-weight: 400;
	caret-color: #222;
}

#schedule .reserve_btn{
	display: block;
	margin-inline: auto;
	background-color: var(--main-color);
	border: solid 3px var(--main-color);
	color: #fff;
	text-align: center;
	border-radius: 5px;
	font-weight: 500;
	padding: 5% 0;
	margin-bottom: 1em;
}
#schedule .reserve_btn:hover{
	background-color: #fff;
	color: var(--main-color);
}
#schedule dd.cast .dot{
	display: none;
}
#schedule .annotation{
	font-size: 0.9em;
	margin: 2em auto;
}

/***************** 0 profile *******************/

.bg_goryokaku{
	background: url(../images/common/goryokaku.svg) 105% 10% / 190px auto no-repeat; 
}
#profile img{
	display: block;
	margin-inline: auto;
	width: min(80%, 500px);
}
#profile dl{
	margin: 8% auto;
}
#profile dl:first-child{
	display: flex;
	flex-wrap: wrap;
}
#profile dt,
#profile dd{
	line-height: 2;
}
#profile dt{
	font-weight: 500;
	color: var(--main-color);
}
#profile dl:first-child dt{
	width: 30%;
}
#profile dl:first-child dd{
	width: 70%;
}

/***************** 0 demaerakugo *******************/

#demaerakugo{
	display: flex;
	/*flex-direction: column;
	height: 100vh;*/
	overflow-x: auto;
	gap: 5px;
}
#demaerakugo img{
	/*height: 50vh;*/
	object-fit: contain;
	width: 90%;
}

/* popup */

.demaerakugo{
	display: flex;
	flex-direction: column;
	height: 90vh;
}
.demaerakugo img{
	height: 45vh;
	object-fit: contain;
}

#sample-popup-switch {
	/* チェックボックスを非表示 */
	display: none;
}
.sample-popup-background {
	/* 画面全体を暗くする透過背景 */
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.5);
	top: 0;
	left: 0;
	z-index: 1000;
}
.sample-popup-content {
	/* ポップアップ本体 */
	display: inline-block;
	position: fixed;
	width: 75%;
	z-index: 1100;
	background: #fff;
	padding: 2%;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	overflow-y: scroll;
}
.sample-popup-close {
	/* ポップアップ内の閉じるボタン */
	position: relative;
	display: inline-block;
	background: #09f;
	color: #fff;
	padding: 0 1em;
	border-radius: 3px;
	cursor: pointer;
	left: 50%;
	transform: translateX(-50%);
}
#sample-popup-switch:checked ~ .sample-popup-background, #sample-popup-switch:checked ~ .sample-popup-box {
	/* ポップアップ･透過背景を閉じる */
	display: none;
}

/********************ここまで共通************************/
/***************** 0 footer  *******************/
footer{
	background-color: var(--main-color);
	padding-top: 20px;
}
footer .nav ul{
	text-align: center;
}
footer .nav ul li{
	display: inline-block;
}
footer .nav a{
	display: block;
	text-align: center;
	line-height: 1;
	color: #fff;
	padding: 2% 0;
}
footer .nav ul li a:hover{
	color: #8DFF1F;
	transition:0.5s;
}
footer .nav img{
	height: 18px;
}
footer .logo{
	width: 250px;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: 20px;
	text-align: center;
}
footer address{
	text-align: center;
	color: #fff;
	margin-bottom: 20px;
}
footer .copy{
	 color: #fff;
}
footer .copy span{
	font-size: 1.4rem;
	vertical-align: bottom;
}

/************************************************************************************/
/***********************************************************************************/
/***************** contact 0 ********************************************************/
/************************************************************************************/
/************************************************************************************/
:root{
	--contact-color: #4c5157;
}
.btn{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	margin: 2rem auto;
	text-align: center;
	color: var(--navy);
	background-color: rgba(255, 255, 255, 0.8);
	border: 1.5px solid;
	border-image: var(--grad-line);
	overflow: hidden;
	transition: .3s;
}
.btn_p{
	line-height: 4.5;
}
.btn__arrow{
	content: "";
  display: inline-block;
  border-top: solid 1.5px;
  border-right: solid 1.5px;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
  position: absolute;
  left: 91%;
  top: 45%;
}

	.btn::before {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  right: -75px;
  z-index: -1;
  border-right: 75px solid transparent;
  border-bottom: 75px solid rgba(72, 79, 100, 0.8);
  transform: translateX(-100%);
  transition: transform ease .3s;
	}
	a.btn:hover {
	  color: #fff;
	  background: rgba(72, 79, 100, 0.1);
	}
	a.btn:hover::before {
	  transform: translateX(0);
	}

.required {
    background-color: var(--green);
    color: #fff;
    font-size: 14px;
    padding: 2px 10px;
    margin-left: 5px;
    border-radius: 3px;
}

.rower_visual.contact{
	background: url(../images/common/contact/contact_mv@2x.webp) 50% 50% no-repeat;
	background-size: cover;
	box-shadow: 0px 0px 10px #555;
}


/******************* 0 contact form 7 **********************/

#contact .contact_p{
	text-align: center;
	margin: 10% 0;
}
#contact dt{
	margin: 15px auto 0;
}
	#contact dt p{
		color: var(--blue);
		font-weight: 500;
	}
#contact dd{
	margin-bottom: 1rem;
}
	#contact dd.no-border{
		border: none;
	}
	#contact .address dd{
		margin: 0 auto;
		padding-bottom: 0;
		border: none;
	}
	#contact .address dd:nth-child(6){
			border-bottom: 2px solid #eee;
			padding-bottom: 1rem;
	}
.required{
	background-color: var(--main-color);
	color: #fff;
	font-size: 13px;
	padding: 3px 10px;
	margin-left: 5px;
	border-radius: 3px;
}


.wpcf7 input[type="submit"]{
	cursor: pointer;
	text-align: center;
  width: 100%;
  background-color: var(--main-color);
  color: #fff;
  font-weight: 500;
  padding: 1.5em 0;
  margin: 0 auto;
  font-size: 18px;
  transition: 0.25s;
}
.wpcf7 input{
	border-style: none;
	font-size: 1.25em;
}
.wpcf7 br{
	display: none;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 .wpcf7-select,
.wpcf7 textarea{
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
		border: solid 0.5px #aaa;
		height: 42px;
		margin: 5px auto 15px;
		width: 95%;
	border-radius: 3px;
	font-size: 1rem;
	padding: 5px;
}
.wpcf7 dd.txt_title textarea{
	height: 5em;
}

.wpcf7 .address_flex{
	display: flex;
	align-items: center;
	max-width: 300px;
}
.wpcf7 .address_flex > p{
	display: flex;
	align-items: center;
}
.wpcf7 .address_flex > p span{
	height: 64px;
}
.wpcf7 .yubin-number{ /* 〒 */
	line-height: 3;
}
.wpcf7 span.post1{　/* 1710022 */
	display: inline-block;
	width: 80%;
}
.wpcf7 .yubin input[type="text"]{
	margin-bottom: 5px;
}
/*.wpcf7 .post1 input[type="text"]{
	margin: 0 auto;
}*/
.wpcf7 span.yubin-btn{ /* 住所検索 */
	display: inline-block;
	width: 40%;
}
.wpcf7 #js-zip{ /* 住所検索ボタン */
	display: block;
	background-color: #808080;
	color: #fff;
	text-align: center;
	line-height: 3.25;
	border-radius: 3px;
	margin-left: 5px;
}
	.wpcf7 a#js-zip:hover{
		background-color: var(--blue);
		cursor: pointer;
	}
.wpcf7 .place-city > p{
	display: flex;
	justify-content: space-between;
}
.wpcf7 span.todofuken{ /* 都道府県 */
	display: inline-block;
	width: 45%;
}
.wpcf7 .wpcf7-select{
	padding-left: 10px;
}
	#contact .address dd.todofuken span{
		position: relative;
	}
	#contact .address dd.todofuken span:after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 2px #333;
  border-right: solid 2px #333;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -6px;
  transform: rotate(45deg);
}
.wpcf7 span.city{ /* 市区町村 */
	display: inline-block;
	width: 53%;
}
.wpcf7 textarea{
	height: 150px;
	font-family: auto;
	line-height: 1.25;
}
.wpcf7 .screen-reader-response{
	display: none;
}
.wpcf7-response-output,
.screen-reader-response p{
	text-align: center;
	color: #003399;
}
.wpcf7-form-control .wpcf7-list-item{
  display: block;
  margin-left: 0;
}
.wpcf7 .btn{
  text-align: center;
  max-width: 400px;
  background-color: var(--main-color);
  border: 2px solid var(--main-color);
  color: #fff;
  margin-bottom: 5rem;
  border-radius: 5px;
}
	.wpcf7 .btn:hover,
	.wpcf7 .btn:hover input[type="submit"]{
		background-color: #fff;
		color: var(--main-color);
	}
.wpcf7 .check{
	margin: 2rem auto;
}
.wpcf7 .check p{
	text-align: center;
}
.wpcf .check span.annotation{
	font-size: 0.9em;
}
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors,
.wpcf7 .wpcf7-response-output.wpcf7-acceptance-missing{
  color: red;
  border: none;
  text-align: center; 
  line-height: 30px;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{
	border: none;
}
.wpcf7 form .wpcf7-response-output{
	margin-top: 0;
}
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok{
  border: none;
  text-align: center;
  line-height: 30px;
  margin-bottom: 100px;
}
.wpcf7 .wpcf7-form.sent ul{
  display: none;
}
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent
.form .wpcf7-response-output{
  line-height: 25px;
  color: red;
  border: none;
}
.wpcf7 span.wpcf7-not-valid-tip{
	display: block;
  font-size: 12px;
  line-height: 1;
  color: red;
}

/*.invalid .yubin-number,
.invalid .hyphen{
	vertical-align: 2.25rem;
}*/
.wpcf7 .course_caution{/*.wpcf7 .course dd .course_caution*/
  padding: 0;
  font-size: 0.8rem;
  line-height: 1rem;
}
.wpcf7-form-control-wrap.juida_pay_check .wpcf7-form-control,
.wpcf7-form-control-wrap.special_pay_check .wpcf7-form-control{
  display: flex;
}
.wpcf7-form-control-wrap.juida_pay_check .wpcf7-list-item.first,
.wpcf7-form-control-wrap.special_pay_check .wpcf7-list-item.first{
  margin-right: 20px;
}
/* Chrome, Safari */
::-webkit-input-placeholder{
    color: #ccc;
}
/* Firefox */
::-moz-placeholder{
    color: #ccc;
}
/* Firefox 18以前 */
:-moz-placeholder{
    color: #ccc;
} 
/* IE */
:-ms-input-placeholder{
    color: #ccc;
}

div.wpcf7 .wpcf7-spinner {
    display: none !important;
}

/***************** 0 contact confirm *******************/
#page_contact.confirm{
	margin: 3rem auto;
}
#page_contact.confirm dd{
	margin-bottom: 1rem;
}
#page_contact.confirm .wpcf7 #back.btn{
	background-color: initial;
	color: #3e3a39;
	margin-bottom: 1rem;
}
#page_contact.confirm .wpcf7 #back.btn p{
	line-height: 4;
}

/***************** 0 thanks *******************/

#thanks .bg_1{
	background: url(../images/common/bg.webp) top 0 left 50% / auto 1500px repeat;
}


@media only screen and (min-width: 768px) {
/************************************************************************************************************************/
/************************************************************************************************************************/
/************************************************************************************************************************/
/***********************************************************************************************************************/
/******************* レスポンシブ　768 ****************************/

/***************** 768 header *******************/

header{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
header h1.logo{
	width: 200px;
}
header .logo a{
	width: 190px;
	position: absolute;
	top: 7px;
	left: 20px;
}

.header_inner_wrap{
	width: fit-content;
}
.hamburger{
	display: none;
}
#nav_cover{
	display: none;
}
#nav_content {
	position: static;
	max-width: 100%;
	transition: none;
    -webkit-transform: translateX(0);
    transform: translateX(0);	
    background: none;
    padding: 0;
}
#nav_content .logo{
	display: none;
}
#nav_content .inner_wrap{
	width: 100%;
}
#nav_content .nav_list{
	background: none;
	border-radius: unset;
	display: flex;
	padding: 0;
}
#nav_content .nav_list ul{	
	width: 100%;
	align-items: center;
	margin-top: 10px;
}
#nav_content ul li{
	padding: 0 20px;
}
#nav_content .nav_list a{
	padding: 20px 5%;
	border-bottom: none;
}
#nav_content ul li a.active{ 
	border-bottom: 4px solid #8DFF1F;
}
#nav_content .sns{
	display: none;
}

/*********************　768 common  *********************/
.inner_wrap{
	width: min(90%, 1300px);
	margin: 0 auto;
}
.bg_logo{
	background: 
	url(../images/common/bg_logo.svg) no-repeat,
	url(../images/common/bg_titile.svg) no-repeat;
	background-position: 105% 0,-3% 150px;
	background-size: 300px auto, 140px auto;

	/*ここまで０と同じ*/
	padding-bottom: 1px;
}
section{
	margin-bottom: 5%;
}


/***************** 768 mv *******************/
.mv{
	background: url(../images/common/mv_pc.webp) 68% -47% / auto 110% no-repeat;
	margin-bottom: 0;
	height: 90vh;
}
.mv .name{
	height: 70%;
	top: 14vh;
	left: 15%;
}

/***************** lower共通  768 *******************/
.rower_inner{
	max-width: 95%;
	margin: 0 auto;
}

/***************** 768 schedule *******************/

#schedule .yose li{
	display: flex;
}
#schedule .yose li dt,
#schedule .yose li dd{
	font-size: 1.1rem;
}
#schedule .yose li dt{
	/*width: 50%;*/
	width: 25%;
	text-align: center;
}
#schedule .yose li dd{
	width: 25%;
}
#schedule .yose li dd:has(+ img){
	width: fit-content;
}
#schedule .yose li dd.place{
	width: 30%;
}
#schedule .yose li img{
	width: 30%;
	display: block;
	margin-left: auto;
}
#schedule dd.cast .dot{
	display: inline-block;
}

#schedule .grade_tabs_body.rakugokai .title br{
	display: none;
}

/***************** 768 profile *******************/

#profile .flex{
	display: flex;
	margin-inline: auto;
	max-width: 1300px;
}
#profile img{
	width: 44%;
}
.bg_goryokaku{
	background-position-x: 100%;
}

/***************** 768 demaerakugo *******************/

#demaerakugo{
	flex-direction: row;
	height: auto;
	width: 100%;
}
#demaerakugo img{
	height: auto;
	width: 50%;
}

/********************ここまで共通************************/

/******************* contact 768 ************************/
.btn{
	margin-left: 0;
	width: 300px;
}
	.btn_p{
		font-size: 0.6rem;
		line-height: 4.5;
	}
#contact .btn{
	margin-inline: auto;
	width: auto;
}
/************************************************************************************/
/***********************************************************************************/
/***************** contact  768 ********************************************************/
/************************************************************************************/
/************************************************************************************/


.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 .wpcf7-select,
.wpcf7 textarea{
	font-size: 1rem;
}

#contact .inner_wrap{
	max-width: 1100px;
}
#contact dl{
	flex-wrap: wrap;
	align-items: normal;
}
#contact dt{
	width: 31%;
	margin-inline: 0;
	margin-bottom: 1rem;
	margin-top: 1rem;
}
#contact dt p{
	text-align: left;
}
#contact dd{
	width: 60%;
	margin-top: 0.5rem;
	padding-bottom: 0;
	margin-bottom: 0;
}
#contact .address{
	display: flex;
	flex-wrap: wrap;
	align-items: normal;
}
#contact .address dt{
	border: none;
}
#contact .address dd{
	margin-right: 0;
}
.wpcf7 .yubin-number{ /* 〒 */
	font-size: 0.9rem;
	margin-right: 6px;
	line-height: 2.75;
}
.wpcf7 span.post1{ /* 1710022 */
	width: 200px;
}
.wpcf7 #js-zip{　/* 住所検索 */
	width: 110px;
}

#contact .address .place-city{
	margin: 0 0 0 auto;
	display: flex;
	width: 65%;
}
#contact .address .place-city dd{
	width: 48%;
	margin: 0;
}
#contact .address .place-city dd:nth-child(2){
	margin-left: 10px;
}
#contact .address dd.todofuken,
#contact .address dd.city{
	display: inline-block;
}
.wpcf7 .wpcf7-select{
	width: 100%;
}
#contact .address dd.city{
	width: 240px;
	margin-left: 0.5rem;
}
#contact .address .place-detail > span{
	display: inline-block;
	margin-left: 0.5rem;
}
/* #contact .address .place-detail span */

.wpcf7 .place-detail{
	display: flex;
	align-items: center;
}
.wpcf7 p.p_city-detail{
	width: 60px;
}
.wpcf7 .place-detail  input[type="text"]{
	width: 54vw;
}
/*入力漏れだったら*/
.wpcf7 .invalid .place-detail{
	align-items: flex-start;
}
.wpcf7 .invalid p.p_city-detail{ 
	margin-top: 18px;
}
#contact .address dd:nth-child(5){
	width: 100%;
	border-bottom: 2px solid #eee;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}

	#contact .address dd:nth-child(5) .place-detail{
	margin:  0 0 0 auto;
	width: 69%;
}
#contact .address dd:nth-child(5) .place-detail
.wpcf7 .check{
	margin: 1rem auto 2rem;
}
#contact p.checkbox{
	font-weight: 400;
} 

/* デフォルトのスタイルを消す */
.check-privacy input {
  display: none;
}

/* ラベル文字の左側の余白：チェックボックの枠が入るスペース＋ラベル文字との余白 */
.check-privacy input + span {
  padding-left: 28px;
  display: inline-block;
  position: relative;
}
/* チェックボックスの枠とチェックマークの共通書式 */
.check-privacy input + span::after,
.check-privacy input + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
}
/* チェックボックスの枠 */
.check-privacy input + span::before {
  border: 1px solid #aaaaaa;
  background-color: #ffffff;
  height: 20px;
  width: 20px;
  border-radius: 5px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
/* チェックマークにチェックが付いていない時 */
.check-privacy input + span::after {
  border: none;
  background-color: var(--blue);
  border-radius: 50%;
  height: 12px;
  width: 12px;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}
/* チェックマークにチェックが付いた時 */
.check-privacy input:checked + span::after {
  display: block;
}

.wpcf7 input[type="submit"]{
	width: 600px;
	display: block;
	padding: 2rem 0;
}

#privacy p, #privacy li, #privacy a{
	font-size: 0.6rem;
}
#privacy h2{
	font-size: 1rem;
}
#privacy h3{
	font-size: 0.8rem;
}

/***************** contact confirm 768 *******************/
#page_contact.confirm .flex__{
	flex-wrap: wrap;
	margin-inline: auto;
	justify-content: center;
	padding-left: 5rem;
	max-width: 800px;
}
#page_contact.confirm dt{
	width: 31%;
  margin-inline: 0;
  margin-bottom: 1rem;
  margin-top: 1rem;
}
#page_contact.confirm dd{
  width: 60%;
  margin-top: 1rem;
  padding-bottom: 0;
  margin-bottom: 0;
}
#page_contact.confirm .btn{
	margin-inline: auto;
}
	#page_contact.confirm .btn input[type="submit"]{
		width: 700px;
	}

/******************* thanks 768 **********************/
#thanks .bg_1{
	background-position-y: 0;
}

}
/***************** top *******************/
@media only screen and (min-width: 960px) {
/************************************************************************************************************************/
/************************************************************************************************************************/
/************************************************************************************************************************/
/***********************************************************************************************************************/
/******************* レスポンシブ　960 ****************************/
/*
.top .inner_wrap{
	width: 90%;
}
footer .inner_wrap{
	width: 90%;
}

/***************** 960 header **************/
header{
	height: 70px;
}
header .logo a{
	width: 200px;
	top: 10px;
	left: 30px;
}
header .logo span {
	display: block;
	margin-top: -3px;
}


/***************** 960 schedule **************/
#schedule .grade_tabs_body.rakugokai li{
	display: flex;
	justify-content: space-evenly;
}
#schedule .grade_tabs_body.rakugokai .li_div{
	width: 45%;
}

/**********************　ボタン色　共通　**************************/


/***************** lower共通　960  *******************/
/***************** lower共通　0  *******************/
.rower_visual{
	background: url(../images/common//service/service_mv@2x.webp) 50% 50% no-repeat;
	background-size: cover;
  	box-shadow: 0px 0px 10px #555;
  	margin-left: 50px;
  	padding-left: 50px;
}
.rower_visual h1{
	color: #fff;
	padding: 120px 0 50px;
}
.rower_visual h1 span{
	background-color: #000;
	padding: 5px 10px;
}
/***************** footer 960 *******************/
footer{
	padding-top: 20px;
}
footer .nav ul{
	display: flex;
	justify-content: center;
}
footer .nav ul li{
	padding: 10px 30px;

}
footer .nav ul li a{
	text-align: center;
	display: block;
	line-height: 1;

}

footer .logo{
	width: 250px;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: 20px;
}
footer .nav a{
	padding: 2%;
}
footer .copy{
	 color: #fff;
}
/***************** contact confirm 960 *******************/
#page_contact.confirm .flex__{
	padding-left: 10rem;
}




}

@media only screen and (min-width: 1024px) {/*1024*/
/************************************************************************************************************************/
/************************************************************************************************************************/
/************************************************************************************************************************/
/***********************************************************************************************************************/
/***************** 1024 mv *******************/

.mv .pr_budge{
	width: 10em;
	height: 10em;
}
.mv .pr_budge span{
	font-size: 1.5em;
}
}

@media only screen and (min-width: 1200px) {/*1200*/
/************************************************************************************************************************/
/************************************************************************************************************************/
/************************************************************************************************************************/
/***********************************************************************************************************************/
/***************** 1200 common *******************/

section{
	margin-bottom: 3%;
}
	
/***************** 1200 mv *******************/
.mv{
	height: max(90vh, 800px);
	background: url(../images/common/mv_pc.webp) 68% 15vh / auto 114vh no-repeat;
}
.mv .name{
	left: 20%;
}

/***************** lower共通　1200  *******************/
.rower_inner{
	max-width: 1140px;
	margin: 0 auto;
}
/***************** service 1200  *******************/
.service .list._1,
.service .list._2{
	margin: 90px auto;
}
.service .list .txt{
	position: absolute;
	border-top: 3px solid #8DFF1F;
	background-color: #fff;
	width: 500px;
	padding: 40px 30px 50px;
  	box-shadow: 0px 0px 10px #999;
}
.service .inner._2{
	max-width: 1000px;
	margin: 0 auto;
}
.service .list h2{
	font-size: 25px;
}
.service .list h2 span{
	display: inline-block;
	padding-bottom: 20px;
	border-bottom: 2px solid #9E9F9F;
	margin-bottom: 20px;
}
.service .list._1 .photo_2 img,
.service .list._1 .photo_3 img,
.service .list._2 .photo_2 img,
.service .list._2 .photo_3 img{
	width: 450px;
}
/********************ここまで共通************************/

/******************** list_1 1200 ************************/
.service .list._1 .inner._1{
	position: relative;
	height: 700px;
}
.service .list._1 .inner._2{
	position: relative;
	height: 350px;
}
.service .list._1 .txt{
	width: 450px;
	margin-top: 200px;
}
.service .list._1 .bg_square{
	position: absolute;
	content: "";
	z-index: -1;
	border: 10px solid #DBDCDC;
	width: 45vw;
	height: 700px;
	top: 100px;
	left: 45%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    margin-left: 50px;
}

/******************** list_2 1200 ************************/
.service .list._2 .inner._1{
	position: relative;
	height: 700px;
}
.service .list._2 .inner._2{
	position: relative;
	height: 350px;
}
.service .list._2 .txt{
	width: 400px;
	margin-top: 200px;
}
.service .list._2 .bg_square{
	position: absolute;
	content: "";
	z-index: -1;
	border: 10px solid #DBDCDC;
	width: 45vw;
	height: 700px;
	top: 100px;
	left: 45%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    margin-left: 50px;
}
/***************** recruit 1200  *******************/
.recruit p{
	line-height: 2rem;
}
	.recruit p.lh___50p{
		line-height: 50px;
	}
.recruit .bg_logo{
	padding-top: 50px;
}
.recruit section{
	padding-bottom: 70px;
}
.recruit .inner_wrap{
	width: 1080px;
	margin: 0 auto;
}
.recruit .message .bg_white{
	background-color: #fff;
  	box-shadow: 0px 0px 10px #999;
	padding: 70px;
}
.recruit .message .txt_2{
	padding-top: 30px;
}
.recruit .job .about .bg_square{
	position: absolute;
	content: "";
	z-index: -1;
	border: 10px solid #DBDCDC;
	width: 40vw;
	height: 110%;
	top: -30px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.recruit .job .about ul li{
	padding-left: 3%;
}
.recruit .job .about .txt{
	display: flex;
	align-items: center;
}
.recruit .job .about .txt h3{
	width: 30%;
	padding: 0;
}
.recruit .job .about .txt p{
	width: 70%;
	padding-right: 40px;
	line-height: 1.5;
}



.recruit .voice .staff._1{
	margin-bottom: 50px;
}
.recruit .voice .staff ul{
	display: flex;
}
.recruit .voice .staff ul .bg_white{
	width: 90%;
	padding: 50px 30px;
}
.recruit .voice .staff_img._1{
	background: url(../images/common/recruit/recruit_voice_1@2x.webp) 50% 50% no-repeat;
	background-size: cover;
	box-shadow: 0 0 10px #999;
	width: 1080px;
	height: 400px;
	margin-top: 40px;
}
.recruit .voice .staff_img._2{
	background: url(../images/common/recruit/recruit_voice_2@2x.webp) 50% 50% no-repeat;
	background-size: cover;
	box-shadow: 0 0 10px #999;
	width: 1080px;
	height: 370px;
	margin-top: 35px;
}
.recruit .attractive ul li.bg_white{
	width: 40%;
}
.recruit .attractive ul li.bg_white{
	background-color: #fff;
  	box-shadow: 0px 0px 10px #999;
	padding: 40px;
}
.recruit .attractive ul li .item{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 30px;
}
/***************** tools 1200  *******************/
.tools .inner_wrap{
	width: 1080px;
	margin: 0 auto;
}
.tools table .headline th.type,
.tools table .headline th.name{
	padding-right: calc(8em);
}
/***************** company 1200  *******************/
.company .inner_wrap{
	width: 1080px;
	margin: 0 auto;
}

.company .factory{
	position: relative;
	height: 200px;
	width: 1200px;
	margin: 40px auto 0;
	margin-bottom: 400px;
}
.company .factory figure{
	position: absolute;
	right: 0;
	width: 90%;
}
.company .factory .bg_white{
	position: absolute;
	z-index: 2;
	top: 150%;
	left: 0;
	background-color: #fff;
  	box-shadow: 0px 0px 10px #999;
	padding: 40px 20px;
	border-top: 3px solid #8DFF1F;	
}
.company .profile .bg_white{
	background-color: #fff;
  	box-shadow: 0px 0px 10px #999;
	padding: 100px;
}
.company .profile table{
	width: 700px;
}
.company .profile th,
.company .profile td{
	font-size: 16px;
	padding: 20px 5px;
}
/***************** bottom_recruit 1200  *******************/
.bottom_recruit .inner_wrap{
	width: 1040px;
}
.bottom_recruit{
	padding: 8% 0;	
}
.bottom_recruit .txt_1 {
	font-size: 40px;
	line-height: 60px;
}
/***************** footer 1200 **************/
footer .inner_wrap{
	width: 1000px;
}
footer .top .logo{
	width: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
}
footer .nav ul li{
	padding: 0;
}
footer .top{
	margin: 20px 0;
}
footer .top .logo img{
	width: 400px;

}
footer address{
	width: 80%;
	text-align: left;
}
footer .copy{
	margin-top: 50px;
}

/******************* contact form 7 1200 **********************/

.contact_form_submit{
	width: 600px
}

/******************* thanks 1200 **********************/
#thanks .bg_1{
	background-position-y: 0;
	background-size: auto 1800px;
}

}
/*=================================================================================================*/
/* PC向けレイアウトの指定:テーマにより*/
@media only screen and (min-width: 1260px) {
/*==============================================================*/


}
/*==============================================================*/
@media only screen and (min-width: 1400px) {
/***************** top 1200 **************/
/***************** lower共通　  *******************/
.bg_logo{
	background: 
	url(../images/common/bg_logo.svg) no-repeat,
	url(../images/common/bg_titile.svg) no-repeat;
	background-position: 105% 0,-1% 150px;
	background-size: 300px auto, 140px auto;

	/*ここまで０と同じ*/
	padding-bottom: 1px;
}
}
/*==============================================================*/
@media only screen and (min-width: 1500px) {
/***************** top 1200 **************/

}
/*==============================================================*/
@media only screen and (min-width: 1600px) {
/***************** top 1200 **************/
/***************** lower共通　  *******************/

}

















