/*==========================================
Primanet Rule css
===========================================*/
*{
	font-style: normal;
}
html{
 	font-family: 'Noto Sans JP', sans-serif;;
 	-webkit-text-size-adjust: none;/*iphoneの横向きの文字拡大制御*/
	color: #000;
  letter-spacing: 1px;
	font-size: 16px;/*通常 16px=1rem*/
	font-weight: 100;	
}
/*
.top_page::before{
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	background: url("../images/top/night.jpg") center center no-repeat; 
	background-size: cover;
	-webkit-background-size: cover;
	width: 100%;
	height: 100%;
}
*/
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;
	line-height: 1.8rem;

}
.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; }
.fw_700{ font-weight: 700; }

.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;
}
.zen {
  font-family: "Zen Antique", serif;
  /*font-weight: 700;
  font-style: normal;*/
}

.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;
}
/*
a:hover{
  opacity: 0.7;
}
*/
.fff{
	color: #fff;
}
:root{
	--red: #f0454e;/*アカ DIC 156s*/
}
.red{
	color: #f0454e;/*アカ DIC 156s*/
}
:root{
	--blue: #00AAE7;
}
.blue{
	color: #00AAE7;
}
:root{
	--yellow: #FCEE21;
}
.yellow{
	color: #FCEE21;
}
:root{
	--bg_beige: #FFF7EB;/*ベージュ*/
}
.bg_beige{
	background-color: #FFF7EB;/*ベージュ*/
}
ul li,
.f_item{
	/*background-color: #ccc;*/
	/*border: 1px solid #000;*/
}
h1{
	/*padding-bottom: 10px;*/
}
/*=================================================================================================*/
/* 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__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%; }
}/**/
/*=================================================================================================*/
/* 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
===========================================*/


/*reCAPTCHAのバッジを非表示に*/

.grecaptcha-badge { 
   visibility: hidden; 
}


/*=================================================================================================
menu・nav　ccss
=================================================================================================*/
#menu {
  position: absolute;
  top: 10px;
  z-index: 5;
  width: 90%;
  max-width: 1150px;
  left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-radius: 25px;
    padding: 10px;
}
#menu-btn {
  display: none;
}
#menu-content {
  margin: 0;
  list-style-type: none;
  display: flex;
  align-items: center;
  justify-content: space-around;

}
#menu-content > li {
  position: relative;

  float: left;
}
#menu-content > li > a {
  display: block;
  /*padding: 10px ;*/
  color: #fff;
  font-size: 0.8rem;
  line-height: 1;
  text-decoration: none;
  -webkit-transition: color 0.5s ease-in-out; /* colorの遷移を指定 */
  transition: color 0.5s ease-in-out; /* 同様にcolorにtransitionを設定 */
}
#menu-content > li > a:hover {
  color: var(--yellow);
}
#menu-content > li.top > a img{
	width: 220px;
}
#menu-content > li.company{
	padding: 10px 15px;
  font-size: 0.8rem;
  line-height: 1;
  color: var(--navy);
}
#menu-content > li.company .head{
	color: #fff;
  font-size: 0.8rem;
  line-height: 1;
}
#menu-content > li > a > .menu_icon {
  margin-right: 5px;
}
#menu-content > li > ul.second-content {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  padding-left: 0;
  list-style-type: none;
  margin-left: -25px;
}
#menu-content > li:hover > ul.second-content {
	background-color: var(--red);
  visibility: visible;
  opacity: 1;
}
#menu-content > li > ul.second-content > li {
  text-align: center;
  width: 100px;
  margin-left: 5px;
}
#menu-content > li > ul.second-content > li:first-child{
	  margin-top: 10px;
}
#menu-content > li > ul.second-content > li > a {
  display: block;
  line-height: 30px;
  color: #fff;
  font-size: 0.8rem;
  text-decoration: none;
   -webkit-transition: color 0.5s ease-in-out; /* colorの遷移を指定 */
  transition: color 0.5s ease-in-out; /* 同様にcolorにtransitionを設定 */
}
#menu-content > li > ul.second-content > li > a:hover {
  color: var(--yellow);
}
/***************************** 960px以下 **************************************/
@media screen and (max-width: 960px) {
#header_nav {
  position: fixed;
  top: 0;
  left: -900px;
  bottom: 0;
  width: 85%;
  max-width: 500px;
  background: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  z-index: 3;
  opacity: 0;
}
.open #header_nav {
  left: 0;
  opacity: 1;
}
#header_nav .inner {
  padding: 20px;
}
#header_nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#header_nav .inner ul li {
  position: relative;
  margin: 0;
}
#header_nav .inner ul li a {
  display: block;
  font-size: 14px;
  text-decoration: none;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
#hamburger {
  display: block;
  position: fixed;
  top: 13px;
  right: 13px;
  width: 30px;
  height: 30px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
  z-index: 10000;
}
#hamburger span {
  position: absolute;
  left: 0;
  width: 25px;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
   z-index: 10000;
}
#hamburger::after{
  position: absolute;
  top: -3px;
  left: -5px;
  content: "";	
  width: 35px;
  height: 35px;
  background-color: var(--red);
  z-index: 9999;
  border-radius: 50%;
}
#hamburger span:nth-child(1) {
  top: 4px;
}
#hamburger span:nth-child(2) {
  top: 13px;
}
#hamburger span:nth-child(3) {
  bottom: 6px;
}
.open #hamburger span {
    background-color: #fff;
}
.open #hamburger span:nth-child(1) {
    -webkit-transform: translateY(9px) rotate(-315deg);
    transform: translateY(9px) rotate(-45deg);
}
.open #hamburger span:nth-child(2) {
    opacity: 0;
}
.open #hamburger span:nth-child(3) {
    -webkit-transform: translateY(-9px) rotate(315deg);
    transform: translateY(-9px) rotate(45deg);
}
#mask {
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.5;
    z-index: 2;
    cursor: pointer;
}
#menu{
	left: auto;
transform: none;
-webkit-transform: none;
-ms-transform: none;
}
#menu-content {
  margin: 0;
  list-style-type: none;
  display: block;
}
#menu-content > li {
    width: 100%;
    /*margin-bottom: 15px;*/
    text-align: center;
    margin-bottom: 15px;
}
/*
#menu-content > li:hover {
    background: none;
}
*/
#menu-content > li > a {
    height: 100%;
    padding: 15px 0px;
    font-size: 1rem;
    background-color: var(--red);
    border-radius: 50px;
    color: #fff;
   	position: relative;
   	margin-bottom: 10px;
}
#menu-content > li > a:hover {
  color: #fff;
}
#menu-content > li > a::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5%;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 12px solid #fff;
}
#menu-content > li.top > a::after{
	border: none;
}
#menu-content > li.top > a{
	background: none;
}
#menu-content > li.top > a > img{
	width: 160px;
}
#menu-content > li.company{
	padding: 10px 0;
  background-color: var(--red);
  border-radius: 25px;
  color: #fff;
  text-align: center;
}
#menu-content > li.company .head{
	margin-bottom: 10px;
	font-size: 1rem;
	padding: 5px 0;
}
#menu-content > li:nth-child(3) a{
	margin-top: 10px;
}
#menu-content > li > ul.second-content {
  visibility: visible;
  opacity: 1;
  width: 100%;
  position: relative;
  -webkit-box-shadow: none;
          box-shadow: none;
  margin-left: 0px;
}
#menu-content > li > ul.second-content > li {
  width: 100%;
  text-align: center;
  margin-bottom: 10px;
}
#menu-content > li > ul.second-content > li > a {
	display: inline-block;
	width: 90%;
  background-color: #fff;
  border-radius: 25px;
  color: var(--red);
  lihe-heigth: 1;
  position: relative;
  font-size: 1rem;
  padding: 5px 0;
}
#menu-content > li > ul.second-content > li > a::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5%;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 12px solid var(--red);
}
#menu-content > li > ul.second-content > li > a:hover {
  color: var(--red);
  -webkit-transition: none;
  transition:  none;
}
#menu-content > li:hover > ul.second-content {

	background: none;
	/*
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity 0.2s, visibility 0.2s;
  transition: opacity 0.2s, visibility 0.2s;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);*/
}
}/*960以下end*/
/*=================================================================================================
menu・nav　ccss
=================================================================================================*/




/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/**********                    *********************************************************************/
/**********   **************   ********************************************************************/
/**********   **************   *********************************************************************/
/**********   **************   *********************************************************************/
/**********   **************   *********************************************************************/
/**********   **************   *********************************************************************/
/**********   **************   *********************************************************************/
/**********   **************   *********************************************************************/
/**********   **************   *********************************************************************/
/**********   **************   *********************************************************************/
/**********                    **********************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/*=================================================================================================
desgin css
==================================================================================================*/
@media only screen and (min-width: 0px) {
/**********************************************************************************************/
body{
	/*background-color: #F0454E;/*赤*/
	background-color: #fff;
}
/***************** header 0 *******************/
header{
	position: fixed;

	width: 100%;
	z-index: 10001;
	height: 50px;
}
header .logo a{
	width: 200px;
	position: absolute;
	top: 10px;
	left: 10px;
}
header .tel{
	position: absolute;
	width: 30px;
	height: 30px;
	right: 70px;
	top: 9px;
}
.header_inner_wrap{
	position: relative;
}
/********************* top main_visual 0 *********************/
.top .main_visual{
	background-color: #F0454E;/*赤*/	
}
.top .main_visual .niyu_ton_layer{
	background: url(../images/top/ton@2x.webp) 2% 100% no-repeat,
							url(../images/top/niyu@2x.webp) 98% 100% no-repeat;
	background-size: 70px auto,70px auto;
}
.top .main_visual .dot_layer {
  position: relative; /* .dot_layer を基準にする */
  /*width: 600px;*/
  width: 100%;
  height: auto;
  overflow: hidden;
}
.top .main_visual .dot_layer::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(50% - 530px);  /* 上下にずらす */
  left: calc(50% + 200px); /* 左右にずらす */
  width: 600px;
  height: 600px;
  background: url(../images/top/dot_circle@2x.png) no-repeat center;
  background-size: 600px auto;
  transform-origin: center; /* 回転の中心を設定 */
  animation: dot-rotate-bg 20s linear infinite;
}
@keyframes dot-rotate-bg {
  from {
    transform: translate(-50%, -50%) rotate(0deg); /* 中央を基準にする */
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.top .main_visual .taihei_layer {
  position: relative; /* .taihei_layer を基準にする */
  /*width: 500px;*/
  width: 100%;
  height: auto;
  overflow: hidden;
}
.top .main_visual .taihei_layer::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(20% - 0px);  /* 上下にずらす */
  left: calc(50% - 100px); /* 左右にずらす */
  width: 500px;
  height: 500px;
  background: url(../images/top/taihei_circle@2x.png) no-repeat center;
  background-size: 500px auto;
  transform-origin: center; /* 回転の中心を設定 */
  animation: rotate-bg 20s linear infinite;
}
@keyframes rotate-bg {
  from {
    transform: translate(-50%, -50%) rotate(0deg); /* 中央を基準にする */
  }
  to {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
.top .main_visual .inner_wrap{
	width: 90%;
  max-width: 500px;	
	margin: 0 auto;
	padding-top: 110%;
	padding-bottom: 150px;	
}
/********************* top lottie_frame_1 0 *********************/
.top .main_visual .lottie_frame_1{
	position: relative; /* lottie用 絶対配置の基準 */
  width: 100vw; /* lottie用 必要に応じて調整 */
  max-width: 1300px;
  margin: 0 auto;
  overflow: hidden; /* lottie用 これが重要 */
}
/***************** top 0 *******************/
.top .main_visual .lottie_wrap{
	position: absolute;	
}
.top .main_visual .catchcopy{
	text-align: center;
  width: 100%;
  max-width: 630px;
  margin: 0 auto;
 	margin-bottom: 50px;
}
.top .main_visual .photo_1{
	position: absolute;
	z-index: 1000;
	left: -30px;
  top: 50px;
  width: 80%;
  height: auto;
  max-width: 500px;
}
.top .main_visual .photo_2{
	position: absolute;
	z-index: 1000;
	right: -10px;
  top: 60px;
  width: 17%;
  height: auto;
  max-width: 150px;
}
.top .main_visual .photo_3{
	position: absolute;
	z-index: 1000;
	right: 15px;
  top: 0;
  margin-top: 65%;
  width: 25%;
  height: auto;
  max-width: 130px;
}
.top .main_visual .donuts_1{/*黄色*/
	position: absolute;
	right: 30%;
   transform: translateX(50%);
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);	
  margin-left: 20%;
  top: -20px;
  width: 150px;
  width: 40%;
  max-width: 200px;
  height: auto;
}
.top .main_visual .line_circle_1{/*黄色-左上*/
	position: absolute;
	z-index: 1001;
	left: -80px;
  top: -80px;
  width: 250px;
  height: 250px;
}
.top .main_visual .firework_1{/*花火ブルー*/
	position: absolute;
	right: -15px;
  top: 0;
  margin-top: 30%;
  margin-right: 13%;
  width: 18%;
  height: auto;
  max-width: 200px;
  transform: rotate(10deg);
}
.top .main_visual .half{
	position: absolute;
	right: -25px;
  top: -15px;
  margin-top: 40%;
  width: 40%;
  height: auto;
  max-width: 200px;
}
.top .main_visual .firework_2{/*花火グリーン*/
	position: absolute;
	left: 100px;
  top: 0;
  margin-top: 95%;
  margin-right: 13%;
  width: 18%;
  height: auto;
  max-width: 100px;
  transform: rotate(-10deg);
}
.top .main_visual .line_circle_2{/*3色*/
	position: absolute;
	z-index: 1;
	left: -40px;
  top: 0;
  margin-top: 80%;
  margin-right: 13%;
  width: 40%;
  height: auto;
  max-width: 200px;
}
.top .main_visual .dots_cross{
	position: absolute;
	right: -70px;
  top: 0;
  margin-top: 130%;
  width: 170px;
  height: 170px;
}
.top .main_visual .donuts_2{/*ブルー*/
	position: absolute;
	right: 15%;
  bottom: -20px;
  width: 170px;
  height: 170px;
}
.top .main_visual .twins{
	position: absolute;
	left: 15%;
  bottom: 20px;
  width: 170px;
  height: 170px;
}
/********************* top lottie_frame_2 0 *********************/
/*****************トップページ MV以下のlottieを非表示 ****************/
.lottie_frame_2 .half,
.lottie_frame_2 .dots_circle_2,
.lottie_frame_2 .line_circle_1,
.lottie_frame_2 .line_circle_3,
.lottie_frame_2 .twins,
.lottie_frame_2 .firework_3,
.lottie_frame_2 .donuts_2,
.lottie_frame_2 .donuts_3,
.lottie_frame_2 .dots_cross,
.lottie_frame_2 .line_circle_2{
	display: none;
}
/*******************************************************/
/*******************************************************/
/**********************　共通 0 *************************/
/******************　topのMVより下と ***********************/
/********************　下層ページ ************************/
/*******************************************************/
/*******************************************************/
.btn_white a{
	display: block;
	background-color: #fff;
	border: 1px solid var(--red);
	border-radius: 5px;
	transition: all 0.5s ease-in-out;
	text-align: center;
  position: relative;
}
.btn_white a::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* 修正: translateYのみ適用 */
  right: 5%;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 12px solid var(--red);
  transition: border-left-color 0.5s ease-in-out; /* アニメーション */
}
.btn_white a:hover{
	background-color: var(--red);	
	color: #fff;
}
.btn_white a:hover::after {
  border-left-color: var(--yellow); /* ホバー時の色 */
}
.bg_beige{
	background-color: #FFF7EB;
}
.inner_wrap{
	width: 90%;
	margin: 0 auto;
	max-width: 500px;
	padding: 5% 0;
}
.grad_frame{
    background: linear-gradient(to right, #F09DC1, #00AAE7);
    background-origin: border-box;
    background-clip: padding-box;
    padding: 2px;
    border-radius: 20px;
    border: 2px solid transparent; /* 透明な枠線を作成 */
}
.grad_frame .bg_white{
    background-color: #fff; /* 背景色を指定 */
    border-radius: 15px;   
}
.frame_line_top{/*赤のライン下向き括弧*/
	border: 1px solid var(--red);
	border-bottom: none;
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	width: 100%;
	height: 10px;
	margin-bottom: 20px;
}
.frame_line_bottom{/*赤のライン上向き括弧*/
	border: 1px solid var(--red);
	border-top: none;
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
	width: 100%;
	height: 10px;
	margin-top: 30px;
}
.section_last{
	padding-bottom: 5%;/*各ページの一番下のsectionにパディング追加*/
}
/***************** top business 0  *******************/
/***************** top company 0  *******************/
/***************** 共通csss使用  *******************/

.top h2{
	font-size: 1.5rem;
	padding-top: 10px;
}
.top .h2_en{
	font-size: 0.9rem;
	font-weight: bold;
}
.top .business .photo img{
	border-radius: 10px;
}
/***************** top blog (smile_blog holy_talk) 0 WP読み込み用　*******************/
.top .post-thumbnail {
    position: relative;
    width: 100%;  /* 横幅を親要素に合わせる */
    height: 200px;  /* 必要に応じて高さを指定 */
    overflow: hidden; /* 画像が枠からはみ出さないようにする */
}
.top .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像をトリミングして枠にフィット */
    object-position: center; /* 中央に配置 */
}
/***************** top blog (holy_talk) 0  *******************/
.top .blog_photo{
	  width: 100%; /* 固定幅 */
    height: 200px; /* 固定高さ */
    overflow: hidden; /* はみ出した部分を非表示 */
}
.top .blog_photo img{
		width: 100%;
    height: 100%;
    object-fit: cover; /* 画像をトリミングして枠にフィット */
    object-position: center; /* 中央配置 */
}
.top .blog h3{
	padding: 10px 0;
}
.top .blog_date{
	line-height: 1;	
}
.top .blog_category{
	line-height: 1;
	display: inline-block;
	border: 1px solid #000;
	padding: 3px;
}
.top .blog_btn a{
	width: 90%;
	max-width: 400px;
	margin: 0 auto;
	margin-top: 20px;
	display: block;
	background-color: #fff;
	border: 1px solid var(--red);
	border-radius: 5px;
	transition: all 0.5s ease-in-out;
	text-align: center;
  position: relative;
  padding: 7px 0;
  box-shadow: 0 0 0 4px #fff; /* 白いボーダーを外側に追加 */
}
.top .blog_btn a::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* 修正: translateYのみ適用 */
  right: 5%;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--red);
}
.top .blog_btn a:hover{
	background-color: var(--red);	
	color: #fff;
}
.top .blog_btn a:hover::after {
  border-left-color: var(--yellow); /* ホバー時の色 */
}
.top .blog__link{
	text-align: right;
	margin-bottom: 0;
}
.top .blog__link a{
	font-size: 0.9rem;	
	position: relative;
	padding-right: 20px;
}
.top .blog__link a::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* 修正: translateYのみ適用 */
  right: 5%;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--blue);	
}
/***************** top niyu_ton 0  *******************/
.top .niyu_ton{
	position: relative;
}
.top .niyu_ton .chara_frame{
	background: url(../images/top/chara_bg@2x.webp) 50% 200% no-repeat;
	background-size: 120% auto;
	background-color: #fff;
	border-radius: 15px;
	padding: 20px;
	text-align: center;
}

.top .niyu_ton .chara_photo img{
	width: 70%;
}
.top .niyu_ton .original{
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1;
}
.top .niyu_ton h2{
	font-size: 2rem;
	line-height: 1;
	padding: 0;
	margin-bottom: 10px;
}
.top .niyu_ton .chara_btn a{
	display: block;
	text-align: center;
  width: 80%;
  margin: 0 auto;
 	background-color: #0053E7;
 	position: relative;
	padding: 5px 0;
	border: 1px solid rgba(255, 255, 255, 0.5);
	transition: all 0.5s ease-in-out;
}
.top .niyu_ton .chara_btn a::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* 修正: translateYのみ適用 */
  right: 5%;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;	
 	transition: all 0.5s ease-in-out;
}
.top .niyu_ton .chara_btn a:hover{
	background-color: #fff;	
	color: #0053E7;
	border: 1px solid #0053E7;
}
.top .niyu_ton .chara_btn a:hover::after {
  border-left-color: #0053E7; /* ホバー時の色 */
}
/***************** lower_visual 0  *******************/
.lower_visual{
	background-color: var(--red);
	padding-top: 70px;
	text-align: center;
}
.lower_visual h1{
	color: #fff;
	font-size: 2rem;

}
.lower_visual .title_en{
	color: #CCCCCC;
	font-size: 0.9rem;
	font-weight: 700;
}
/***************** lower 共通 0  *******************/
.lower_top{
	padding: 10px 0;
}
.lower_bottom{
	padding: 30px 0;	
}
.lower h2{
	color: var(--red);
	font-size: 1.5rem;
	line-height: 2rem;
	text-align: center;
}
.lower h3{
	color: var(--red);
	font-size: 1.2rem;
	line-height: 2rem;
	text-align: center;
}
.page h1{/*page.php*/
	font-size: 1.5rem;
}
/***************** business 0  *******************/
/*
.business .bg_white{
	padding: 10px;
}
.business .bg_pattern .inner_wrap{
	padding: 0;
}
.business .bg_pattern{
	background: linear-gradient(to right, var(--bg_beige) 0%, var(--bg_beige) 50%, #fff 50%, #fff 100%);
	background-size: 100% 80%; 
	background-repeat: no-repeat;
	padding-top: 30px;
}
.business .bg_pattern:nth-child(odd){
	background: linear-gradient(to left, var(--bg_beige) 0%, var(--bg_beige) 50%, #fff 50%, #fff 100%);
	background-size: 100% 80%; 
	background-repeat: no-repeat;
	padding-top: 30px;
}
/***************** business 0  *******************/
.business .service .link_btn a{
	text-align: center;
	line-height: 1;
	padding: 10px 0;
	display: block;
	color: var(--red);
	border: 1px solid var(--red);
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
	margin-top: 20px;
	margin-bottom: 20px;
}
.business .service ul li{
	margin-bottom: 20px;
}
.business .service ul li img{
  width: 100%;
  height: 200px; 
  object-fit: cover;
  object-position: center	
}
.business .features .bg_white{
	padding: 20px;
}
.business .features .bg_pattern .inner_wrap{
	padding: 0;
}
.business .features .bg_pattern{
	background: linear-gradient(to right, var(--bg_beige) 0%, var(--bg_beige) 50%, #fff 50%, #fff 100%);
	background-size: 100% 80%; 
	background-repeat: no-repeat;
	padding-top: 30px;
}
.business .features .bg_pattern:nth-child(even){
	background: linear-gradient(to left, var(--bg_beige) 0%, var(--bg_beige) 50%, #fff 50%, #fff 100%);
	background-size: 100% 80%; 
	background-repeat: no-repeat;
	padding-top: 30px;
}
.business .features h3{
	margin-bottom: 20px;
}
.business .features p{
	margin-bottom: 10px;
}
.business .features img{
	border-radius: 10px;
}
.business .features ._1 .photo_square ul{
	display: flex;
	justify-content: space-between;
}
.business .features ._1 .photo_square ul li{
	width: 48.5%;
	margin-bottom: 0;
}
.business .features ._1 .photo_square ul li img{
  width: 100%;
  height: 150px; 
  object-fit: cover;
  object-position: center		
}
.business .features ._2 .facility ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.business .features ._2 .facility ul li{
	width: 32%;
	margin-bottom: 5px;
}
.business .features ._2 .facility ul li img{
	widht: 100%;
}
.business .features ._4 .link_btn a{
	text-align: center;
	line-height: 1;
	padding: 15px 0;
	display: block;
	background-color: var(--red);
	color: #fff;
	margin: 20px 0;	
	position: relative;
	border-radius: 5px;
}
.business .features ._4 .link_btn a::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5%;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #fff;	
 	transition: all 0.5s ease-in-out;
}
/***************** greeting 0  *******************/
.greeting section{
	padding: 20px 0;
}
.greeting h2{
	margin: 20px 0;

}
.greeting .name{
	text-align: right;
	margin-top: 20px;
}
/***************** philosophy 0  *******************/
.philosophy .head{
	width: 100%;
	margin: 0 auto;
	max-width: 600px;
	margin-bottom: 50px;
}
.philosophy .philosophy_list{
	padding: 30px 0;
}

.philosophy .philosophy_list h3{
	font-size: 1.5rem;
	margin-bottom: 30px;
}
.philosophy .philosophy_list .txt .slogan{
	font-size: 1.2rem;
	line-height: 2rem;
	margin-bottom: 20px;
}
.philosophy .philosophy_list dl {
	display: flex;
	margin-bottom: 5px;
}
.philosophy .philosophy_list dl dt{
	width: 70px;
	font-weight: 700;
	font-size: 1.2rem;
}
.philosophy .philosophy_list dl dd{
	width: 83%;
}
.philosophy .philosophy_list .no_5 ul li{
	text-indent: -1.5rem;
	padding-left: 1.5rem;
	margin-bottom: 5px;
}
/***************** company 0  *******************/
.company h2{
	margin-bottom: 20px;
}
.company table{
	width: 100%;
	border: 1px solid #E6E6E6;
	max-width: 800px;
	margin: 0 auto;
}
.company table tr{
	border-bottom: 1px solid #E6E6E6;
}
.company table .td_1,
.company table .td_2{
	padding: 8px;
	vertical-align: middle;
}
.company table .td_1{
	width: 30%;
	background-color: var(--bg_beige);
}
.company table .td_2{
	width: 70%;
	line-height: 1.5rem;
}
.company table .td_2 .slash{
	display: none;
}
.company .organization figure{
	widht: 100% ;
	padding: 20px 0;
	max-width: 700px;
	margin: 0 auto;
}
.company .history dl{
	margin-bottom: 10px;
}
.company .history dl dt{
	color: var(--red);
}
/***************** character 0  *******************/
.character .lower_top img{
	display: none;
}
.character .lower_top{
	background: url(../images/character/top_niyu.svg) 70% 25px no-repeat,
	            url(../images/character/top_ton.svg) 30% 25px  no-repeat;
	background-size: 80px auto ,80px auto;
	background-color: var(--bg_beige);
	padding-bottom: 100px;
}
.character .profile .inner_wrap{
	padding-top: 0;
}
.character .profile h2{
	margin-bottom: 20px;
}
.character .profile .lead{
	margin-bottom: 50px;
}
.character .niyu{
	background-color: #F19EC2;
	padding: 20px;
	border-radius: 20px;
}
.character .ton{
	background-color: #00AAE7;
	padding: 20px;
	border-radius: 20px;
}
.character .niyu .white,
.character .ton .white{
	background-color: #fff;
	border-radius: 10px;
	position: relative;
	width: 100%;
	height: 200px;
	margin-bottom: 40px;
}
.character .niyu{
	margin-bottom: 20px;
}
.character .white img{
	position: absolute;
	width: 170px;
	 top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.character h3{
	color: #fff;
	font-size: 2rem;
	margin-bottom: 20px;
}
.character .item dl{
	margin-bottom: 10px;
}
.character .item .label{
	display: inline-block;
	background-color: #ED1E79;
	color: #fff;
	width: 100px;
	text-align: center;
	border-radius: 20px;
}
.character .ton .item .label{
	background-color: #0071BC;
}
.character .item .answer{
	color: #fff;
	padding-left: 10px;
}
.character .sns ul{
	display: flex;
}
.character .sns ul li{
		margin-right:10px;
}
.character .sns ul li a{
	display: block;
	width: 40px;
	height: 40px;
	padding: 10px;
	background-color: #fff;
	border-radius: 10px;
}
.character .sns {
	margin: 20px 0;
}
.character .gallery ul{
	display: flex;
	justify-content: space-between;
}
.character .gallery ul li{
	width: 30%;s
}
.character .activity h2{
	margin: 30px 0;
}
.character .activity dl{
	margin: 10px 0;
}
.character .activity dt{
	color: var(--red);
	font-weight: 700;
}
.character .activity dd span{
	color: var(--blue);
}
.character .activity .photo_wrap img{
  width: 100%;
  height: 200px; 
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
}
/***************** smile_blog 0  *******************/
.smile_blog .blog__current{
	text-align: center;
	background-color: var(--bg_beige);
	padding: 10px 0;
	font-size: 1.2rem;
	color: var(--red);
	font-weight: 700;
}
.smile_blog .blog__post{
	margin-bottom: 30px;
	border-bottom: 1px solid var(--blue);
}
.smile_blog .blog__photo{
	  width: 100%; /* 固定幅 */
    height: 200px; /* 固定高さ */
    overflow: hidden; /* はみ出した部分を非表示 */
}
.smile_blog .blog__photo img{
		width: 100%;
    height: 100%;
    object-fit: cover; /* 画像をトリミングして枠にフィット */
    object-position: center; /* 中央配置 */
}
.smile_blog .blog__title{
	font-size: 1.3rem;
	line-height: 2rem;
	text-align: left;
}
.smile_blog .blog__date{
	font-size: 0.9rem;
	font-weight: 700;
}
.smile_blog .blog__category a{
	display: inline-block;
	font-size: 0.8rem;
	line-height: 1;
	border: 1px solid #000;
	padding: 3px 5px;
	color: #000;
	font-weight: 700;
}
.smile_blog .blog__link{
	text-align: right;
	margin-bottom: 20px;
}
.smile_blog .blog__link a{
	font-size: 0.9rem;	
	position: relative;
	padding-right: 20px;
}
.smile_blog .blog__link a::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* 修正: translateYのみ適用 */
  right: 5%;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--blue);	
}
/***************** singleページ *******************/
.smile_blog.single .blog__category a{
	margin: 10px 0;
}
.smile_blog.single .post__pagination .flex_{
	justify-content: space-between;
}
.smile_blog.single .post__pagination a{
	display: block;
	padding: 0 20px;
	color: var(--blue);
}
.post__pagination__left__text::before{
	display: inline-block;
	content: "";
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 8px solid var(--blue);	
  margin-right: 5px;
}
.post__pagination__right__text::after{
	display: inline-block;
	content: "";
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--blue);	
  margin-left: 5px;
}
.smile_blog .post__pagination .blog__btn{
	text-align: center;
	border: 1px solid var(--blue);
	width: 200px;
	margin: 0 auto;
	margin-top: 30px;
	padding: 5px 0;
}
/***************** smile_blog aside 0  *******************/
.smile_blog aside{
	padding-top: 30px;
}
.smile_blog .category_title{
	font-size: 1.3rem;
	line-height: 1;
	font-weight: 700;
	border: 1px solid var(--red);
	padding: 10px 0;
	border-radius: 5px;
	margin-bottom: 20px;
}
.smile_blog .aside_box{
	background-color: var(--bg_beige);
	padding: 30px;
}
.smile_blog .aside_box .year_btn{
	text-align: center;
	position: relative;
	background-color: #F2EADF;
	padding: 7px 0;
	border-radius: 5px;
	cursor: pointer;
	margin-bottom: 10px;
}
.smile_blog .aside_box .year_btn::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* 修正: translateYのみ適用 */
  right: 10%;
  width: 0;
  height: 0;
  border-top: 7px solid #000;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
}
.smile_blog .aside_box .side_menu{
	text-align: left;
	margin-bottom: 20px;
}
.smile_blog .aside_box .side_menu li.sidemenu-year-all{
	display: inline-block;
	margin: 10px 10px 0 10px;
}
.smile_blog .aside_box .side_menu li a{
	display: block;
	color: #000;
	text-decoration: underline;
	line-height: 1;
}
.smile_blog .cat_list_li{
	margin-bottom: 10px;
}
.smile_blog .cat_list_li a{
	color: #000;
}
/***************** pagination 0  *******************/
.pagination{
	text-align: center;
}
.pagination .current{
	background-color: var(--red);
	color: #fff;
	line-height: 1;
	display: inline-block;
	padding: 5px;
	margin: 0 5px;
	border-radius: 5px;
	border: 1px solid var(--red);
}
.pagination .page-numbers.dots{
	background: none;
	color: var(--red);	
	border: none;
	margin: 0;
}
.pagination .next.page-numbers,
.pagination .prev.page-numbers,
.pagination a{
	display: inline-block;
	line-height: 1;
	background: none;
	color: var(--red);
	border: 1px solid var(--red);
	padding: 5px;
	margin: 0 5px;
	border-radius: 5px;
}

/***************** contact 0  *******************/
/*
.contact_form .inner_wrap{
  width: 90%;
  margin: 0 auto;
  padding: 0;
}
.contact_form .tel{
	text-align: center;
}
.contact_form .tel a{
	color: #2e3192;
	line-height: 0;
}
.contact_form .tel a img{
	width: 35px;
	vertical-align: -2px;
	margin-right: 10px;
}
.contact_form .tel_txt{
	margin-top: -10px;
	margin-bottom: 15px;
}
.contact_form .top_txt{
  margin-bottom: 10px;
}
.contact_form dl dt{
	color: var(--navy);
}
.contact_form dl dd{
  margin-bottom: 20px;
}
.contact_form .acceptance{
  margin-bottom: 20px;
  text-align: center;
}
.contact_form .acceptance .wpcf7-list-item{
  margin-left: 0;
}
*/

.wpcf7 .top_comment{
	background-color: #fff;
	margin-bottom: 20px;
}
.wpcf7 .top_comment br{
	display: none
}
.wpcf7 .contact_form {
	background-color: var(--bg_beige);
	padding: 10px;
}
.wpcf7 .contact_form dl{
	margin-bottom: 10px;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea{
  	-moz-appearance: none;
   	-webkit-appearance: none;
  	appearance: none;
    background-color: #fff;
    width: 95%;
		border: 1px solid #E6E6E6;;
    border-radius: 5px;
    padding: 5px 5px 5px 10px;
    letter-spacing: 1px;
    color: #000;
    height: 30px;
}
.wpcf7 textarea{
	height: 200px;
}
.wpcf7-textarea{
	/*color: #333;*/
	/*font-weight: 100;*/
/*font-family: YakuHanJP, "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}
.wpcf7 select{
  padding: 10px;
  width: 97%
}
.wpcf7 .required{
  font-size: 0.7rem;
  background-color: var(--red);
  color: #fff;
  padding: 2px 5px;
  vertical-align: top;
  margin-left: 5px;
}
.wpcf7-list-item.first,
.wpcf7-list-item.last,
.wpcf7 input[type="radio"]{
	margin: 0;
}
.wpcf7 .submit_btn p{
	text-align: center;
	margin: 50px 0 30px 0;
}
.wpcf7 input[type="button"]{
	margin: 0 auto;
}
.wpcf7-form-control.wpcf7-previous,
.wpcf7 input[type="submit"]{
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #FFCC00;
  color: #000;
  font-size: 1rem;
  font-weight: 700;
  padding: 10px 50px;
  letter-spacing: 0px;
  border-radius: 5px;
  box-shadow: none;
  border: none;
}
.wpcf7 .wpcf7-checkbox{
	display: flex;
}
.wpcf7 .wpcf7-list-item.first{
	margin-right: 20px;
}
.wpcf7 .wpcf7-spinner{
	display: none;
}
.wpcf7 input[type="submit"]:hover{
  opacity: 0.7;
  cursor: pointer;
}
.wpcf7-form-control .wpcf7-list-item{
  display: block;
  margin: 0;
}
.wpcf7 .btn{
  text-align: center;
}
.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 .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
.contact_form .wpcf7-response-output{
  line-height: 25px;
  color: red;
  border: none;
}
.wpcf7 .privacy a{
	color: #000;
	text-decoration: underline;
}
/* Chrome, Safari */
::-webkit-input-placeholder{
    color: #ccc;
}
/* Firefox */
::-moz-placeholder{
    color: #ccc;
}
/* Firefox 18以前 */
:-moz-placeholder{
    color: #ccc;
} 
/* IE */
:-ms-input-placeholder{
    color: #ccc;
}
/******************* contact form 7 0 **********************/
.wpcf7 .contact_confirm_form{
	background-color: var(--bg_beige);
	padding: 10px;
}
.wpcf7 .contact_confirm_form dl{
	margin-bottom: 10px;
}
.wpcf7 .contact_confirm_form dd{
	background-color: #fff;
	padding: 5px 10px;
}
/***************** 0 contact confirm *******************/
.wpcf7-form-control.wpcf7-previous{/*localだと表示されないため*/
	display: block !important;
	text-align: center;
	cursor: pointer;
}
.wpcf7-form-control.wpcf7-previous:hover{
	opacity: 0.7;
}

/*
.contact_form.confirm h2{
	padding-top: 0;
	margin-bottom: 30px;
}
.contact_form.confirm dd{
	background-color: #fff;
	border: 1px solid var(--navy);
	padding: 5px 10px ;
	line-height: 1;
}
.contact_form.confirm dd.message{
	text-align: left;

}

.contact-confirm dd{
	background-color: #fff;
}
*/
/***************** 0 thanks *******************/
.thanks_page .inner_wrap{
	padding-bottom: 100px;
}
.thanks_page .title{
	margin-bottom: 50px;
}
.thanks_page .txt_1{
	color: var(--red);
	font-weight: 700;
	margin-bottom: 30px;
}
.thanks_page .niyu_ton{
	width: 250px;
	margin: 0 auto;
}
.thanks_page .txt_2 br{
	display: none;
}
.thanks_page .btn a{
	text-align: center;
	display: block;
  background-color: #FFCC00;
  color: #000;
  font-size: 1rem;
  padding: 10px 20px;
  letter-spacing: 0px;
  border-radius: 5px;
  box-shadow: none;
  border: none;
  width: 200px;
	margin: 0 auto;
	margin-top: 100px;
	font-weight: 700;
}

/***************** footer 0  *******************/
footer{
	background-color: #F0454E;/*赤*/	
	padding-top: 20px;
}
footer .contact_link a{
	width: 90%;
	margin: 0 auto;
	margin-top: 20px;
	display: block;
	background-color: #FFCC00;
	border-radius: 5px;
	transition: all 0.2s ease-in-out;
	text-align: center;
  position: relative;
  padding: 7px 0;	
  color: #000;
  font-size: 0.8rem;
  font-weight: 700;
}
footer .contact_link a:hover{
	background-color: #FFF56B;	
	box-shadow: 0px 0px 5px #FFF56B;
}
footer .contact_link a::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* 修正: translateYのみ適用 */
  right: 5%;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #000;
}
footer .sns_link ul {
	width: 90%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background-color: red;
	padding: 10px;
	margin-top: 20px;
	margin-bottom: 20px;
}
footer .sns_link ul li{
	width: 48%;
	margin-bottom: 10px;
}
footer .sns_link ul li:nth-child(5),
footer .sns_link ul li:nth-child(6){
	margin-bottom: 0;
}
footer .sns_link ul li a{
	display: block;
	background-color: #fff;
	color: #000;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1;
 	border: 2px solid #ccc;
 	display: table;
 	width: 100%;
 	height: 40px;
 	transition: all 0.5s ease-in-out;
}
footer .sns_link ul li a:hover{
	background-color: #fff;
 	border: 2px solid #fff;	
	box-shadow: 0px 0px 5px #fff;	
}
footer .sns_link ul li a span.cell_1{
	display: table-cell;
	vertical-align: middle;
	width: 30%;
	text-align: center;
}
footer .sns_link ul li a span.cell_2{
	display: table-cell;
	vertical-align: middle;
	width: 70%;
}
footer .sns_link ul li a span.small{
	font-size: 0.5rem;
}
footer .sns_link ul li a img{
	width: 20px;
	height: 20px;
	margin-right: 5px;
}
footer .nav{
	margin-bottom: 30px;
}
footer .nav ul {
	text-align: center;
}
footer .nav ul li{
	padding: 10px 0;
	display: inline-block;
}
footer .nav ul li a{
	text-align: center;
	display: block;
	line-height: 1;
	color: #fff;
	padding: 0 7px;
	font-size: 0.8rem;
}
footer .nav ul li a:hover{
	color: #ff7bac;
}
footer .copy{
	color: #CCCCCC;
}
}/*last*/
/************************************************************************************************************************/
@media only screen and (min-width: 550px) {
.top .main_visual .niyu_ton_layer{
	background: url(../images/top/ton@2x.webp) 5% 100% no-repeat,
							url(../images/top/niyu@2x.webp) 95% 100% no-repeat;
	background-size: 70px auto,70px auto;
}
.top .main_visual .dot_layer {
  position: relative; /* .dot_layer を基準にする */
  width: 100%;
  height: auto;
  overflow: hidden;
}
.top .main_visual .dot_layer::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(50% - 530px);  /* 上下にずらす */
  left: calc(50% + 200px); /* 左右にずらす */
  width: 850px;
  height: 850px;
  background: url(../images/top/dot_circle@2x.png) no-repeat center;
  background-size: 850px auto;
  transform-origin: center; /* 回転の中心を設定 */
  animation: dot-rotate-bg 20s linear infinite;
}
.top .main_visual .taihei_layer {
  position: relative; /* .taihei_layer を基準にする */
  width: 100%;
  height: auto;
  overflow: hidden;
}
.top .main_visual .taihei_layer::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(25% - 0px);   /* 上下にずらす */
  left: calc(50% - 100px); /* 左右にずらす */
  width: 700px;
  height: 700px;
  background: url(../images/top/taihei_circle@2x.png) no-repeat center;
  background-size: 700px auto;
  transform-origin: center; /* 回転の中心を設定 */
  animation: rotate-bg 20s linear infinite;
}
.top .main_visual .inner_wrap{
	width: 90%;
  max-width: 500px;	
	margin: 0 auto;
	padding-top: 650px;
	padding-bottom: 150px;	
}
.top .main_visual .firework_1{/*花火ブルー*/
	position: absolute;
  z-index: 1;
	right: 7%;
  top: 170px;
  margin-top: auto;
  margin-right: auto;
  width: 18%;
  height: auto;
  max-width: 200px;
}
.top .main_visual .half{
	position: absolute;
  z-index: 1;
	right: 8%;
  top: 230px;
  margin-top: auto;
  width: 50%;
  height: auto;
  max-width: 250px;
}
.top .main_visual .photo_3{
	position: absolute;
	z-index: 0;
	right: 15spx;
  top: 400px;
  margin-top: auto;
  width: 25%;
  height: auto;
  max-width: 150px;	
}
.top .main_visual .firework_2{/*花火グリーン*/
	position: absolute;
	z-index: 1;
	left: 0px;
  top: 550px;
  margin-top: auto;
  margin-left: 30%;
  width: 18%;
  height: auto;
  max-width: 100px;
}
.top .main_visual .line_circle_2{/*3色*/
	position: absolute;
	z-index: 1;
	left: -60px;
  top: 450px;
  margin-top: auto;
  margin-right: auto;
  width: 40%;
  height: auto;
  max-width: 500px;
}
.top .main_visual .dots_cross{
	position: absolute;
	right: -70px;
  top: 750px;
  margin-top: auto;
  width: 250px;
  height: 250px;
}
.top .main_visual .donuts_2{/*ブルー*/
	position: absolute;
	right: 25%;
  bottom: -20px;
  width: 170px;
  height: 170px;
}
.top .main_visual .twins{
	position: absolute;
	left: 25%;
  bottom: 20px;
  width: 170px;
  height: 170px;
}
}/*last*/
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/**********                    ******                    ******                    *****************/
/***************************   ******   ***********************   **************   *****************/
/*************************   ********   ***********************   **************   *****************/
/************************   *********   ***********************   **************   *****************/
/***********************   **********   ***********************   **************   *****************/
/**********************   ***********                    ******                    *****************/
/*********************   ************   **************   ******   **************   *****************/
/********************   *************   **************   ******   **************   *****************/
/*******************   **************   **************   ******   **************   *****************/
/******************   ***************   **************   ******   **************   *****************/
/*****************   ****************                    ******                    *****************/
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
@media only screen and (min-width: 768px) {
/****************************************************************************************************/

/***************** header 768 *******************/
header .logo a{
	width: 220px;
	position: absolute;
	top: 15px;
	left: 10px;
}
/*
#nav_content{
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100001;
    width: 100%;
    max-width: 500px;
    height: 100%;
    background: #fff;
    transition: .5s ease-in-out;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}
*/
/***************** top main_visual 768 *******************/
.top .main_visual .dot_layer {
  position: relative; /* .dot_layer を基準にする */
  width: 100%;
  height: auto;
  overflow: hidden;
}
.top .main_visual .dot_layer::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(50% - 450px);  /* 上下にずらす */
  left: calc(50% + 200px); /* 左右にずらす */
  width: 850px;
  height: 850px;
  background: url(../images/top/dot_circle@2x.png) no-repeat center;
  background-size: 850px auto;
  transform-origin: center; /* 回転の中心を設定 */
  animation: dot-rotate-bg 20s linear infinite;
}
.top .main_visual .taihei_layer {
  position: relative; /* .taihei_layer を基準にする */
  width: 100%;
  height: auto;
  overflow: hidden;
}
.top .main_visual .taihei_layer::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(35% - 100px);  /* 上下にずらす */
  left: calc(30% - 100px); /* 左右にずらす */
  width: 700px;
  height: 700px;
  background: url(../images/top/taihei_circle@2x.png) no-repeat center;
  background-size: 700px auto;
  transform-origin: center; /* 回転の中心を設定 */
  animation: rotate-bg 20s linear infinite;
}
.top .main_visual .inner_wrap{
	position: relative;
	width: 90%;
  max-width: 100%;	
	margin: 0 auto;
	padding-top: 75%;
	padding-bottom: 150px;	
}
.top .main_visual .lead{
	text-align: center;
}
.top .main_visual .lead._1{
	line-height: 2;
}
.top .main_visual .lead._2{
	line-height: 2.5;
}
.top .main_visual .catchcopy{
	position: absolute;
	text-align: center;
  width: 45%;
  max-width: 630px;
  margin: 0 auto;
 	margin-bottom: auto;
 	top: 200px;
 	right: 0;
 	margin-right: 5%;
}
.top .main_visual .photo_1{
	position: absolute;
	z-index: 1;
	left: -30px;
  top: 5%;
  width: 50%;
  height: auto;
  max-width: 650px;	
}
.top .main_visual .photo_2{
	position: absolute;
	z-index: 1;
	right: auto;
  top: 60px;
  left: 55%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  width: 12%;
  height: auto;
  max-width: 150px;	
}
.top .main_visual .photo_3{
	position: absolute;
	z-index: 1;
	right: 15px;
  top: 350px;
  margin-top: auto;
  width: 20%;
  height: auto;
  max-width: 130px;	
}
.top .main_visual .firework_1{/*花火ブルー*/
	position: absolute;
  z-index: 1;
	right: 5%;
  top: 60px;
  margin-top: auto;
  margin-right: auto;
  width: 18%;
  height: auto;
  max-width: 200px;
}
.top .main_visual .half{
	position: absolute;
  z-index: 1;
	right: 20%;
  top: 0;
  margin-top: 40%;
  width: 50%;
  height: auto;
  max-width: 250px;
}
.top .main_visual .line_circle_2{/*3色*/
	position: absolute;
	z-index: 1;
	left: 0;
  top: 0;
  margin-top: 47%;
  margin-right: auto;
  margin-left: 17%;
  width: 30%;
  height: auto;
  max-width: 500px;
}
.top .main_visual .firework_2{/*花火グリーン*/
	position: absolute;
	z-index: 1;
	left: 0px;
  top: 0;
  margin-top: 60%;
  margin-left: auto;
  width: 20%;
  height: auto;
  max-width: 150px;
}
.top .main_visual .dots_cross{
	position: absolute;
	right: -70px;
  top: 0;
  margin-top: 65%;
  width: 250px;
  height: 250px;
}
/*******************************************************/
/*******************************************************/
/*********************　共通 768 ************************/
/******************　topのMVより下 ***********************/
/********************　下層ページ ************************/
/*******************************************************/
/*******************************************************/
.inner_wrap{
	width: 90%;
	margin: 0 auto;
	max-width: 1000px;
	padding: 5% 0;
}
.grad_frame .bg_white{
    background-color: #fff; 
    border-radius: 15px;  
    padding: 3%; 
}
/***************** top business 768  *******************/
/***************** top company 768  *******************/
/***************** 共通csss使用  *******************/
.top h2{
	font-size: 1.5rem;
	padding-top: 0;
}
.top .business .photo,.top .business .txt{
	width: 48%;
}
.top .company .title{
	text-align: center;
}
.top .company ul li{
	justify-content: space-between;
	width: 30%;
}
.top .company ul li a{
	padding: 20px 0;
}
/***************** top blog (smile_blog holy_talk) 768  *******************/
.top .blog .title{
	text-align: center;
}
.top .blog .title p{
	padding: 3% 0;
	width: 90%;
	margin: 0 auto;
	max-width: 100%;
}
.top .blog h3{
	padding: 0 0 10px;
}
.top .blog .blog_photo,
.top .blog .blog_article{
	align-items: stretch;
	width: 48%;
  flex: 1; /* 両者の高さを揃える */
}
.top .post-thumbnail,
.top .blog_photo{
	  width: 100%; 
    height: 250px; 
    margin-right: 10px;
}
/***************** top niyu_ton 768  *******************/
.top .niyu_ton .chara_frame{
	background: none;
	background-color: #fff;
	display: flex;
	padding: 0;
	align-items: stretch;
}
.top .niyu_ton .chara_photo{
	width: 40%;
	align-items: center;
}
.top .niyu_ton .chara_photo img{
	width: 80%;
	height: auto;
	margin: 10px;
	margin-right: auto;
}
.top .niyu_ton .chara_name{
	width: 60%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(../images/top/chara_bg_pc@2x.webp) 50% 50% no-repeat;
	background-size: 98% auto;
}
.top .niyu_ton .chara_name .inner{
	width: 90%;
}
.top .niyu_ton .original{
	font-size: 16px;
	margin-bottom: 10px;
}
.top .niyu_ton h2{
	font-size: 40px;
	margin-bottom: 20px;
}
.top .niyu_ton .chara_btn a{
	padding: 3% 0;
}
/***************** lower_visual 768  *******************/
.lower_visual{
	background-color: var(--red);
	padding-top: 70px;
	text-align: center;
}
.lower_visual h1{
	font-size: 2rem;
}
.lower_visual .title_en{
	font-size: 0.9rem;
	font-weight: 700;
}
.company_nav ul{
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
.company_nav ul li{
	width: 30%;
}
.company_nav ul li a{
	padding: 10% 0;
}
/***************** lower 共通 768  *******************/
.lower_top{
	padding: 30px 0;
}
/***************** business 768  *******************/
/*
.business .bg_white{
	padding: 10px;
}
.business .lead{
	padding-top: 0;
}
.business .bg_pattern,
.business .bg_pattern:nth-child(odd){
	padding-top: 50px;
}
*/
.business .service .lead{
	padding-top: 0;
}
.business .service .lead h2 span{
	display: none;
}
.business .service .lead .photo ul{
	display: flex;
	justify-content: space-between;
}
.business .service .lead .photo ul li{
	width: 47.5%;
}
.business .features h3{
	font-size: 25px;
}
.business .features h3 br{
	display: none;
}
.business .features .bg_pattern,
.business .features .bg_pattern:nth-child(even){
	padding-top: 50px;
}
.business .features .bg_white{
	padding: 30px;
}
.business .features ._1 .flex__{
	flex-direction: row-reverse;
}

.business .features ._1 .flex__ .photo{
	width: 47%;
}
.business .features ._1 .photo_square{
	width: 47%;
}
.business .features ._1 .flex__ .photo img{
  width: 100%;
  height: 250px; 
  object-fit: cover;
  object-position: center	
}
.business .features ._1 .flex__._1 .photo img{
  height: 290px; 
  margin-bottom: 10px;
}
.business .features ._1 .flex__._2 .photo img{
  height: 200px; 
  margin-bottom: 10px;
}
.business .features ._1 .flex__ p{
	width: 50%;
}

.business .features ._2 .flex__ .facility{
	width: 47%;
}
.business .features ._2 .flex__ p{
	width: 50%;
}
.business .features ._3 .flex__ {
	flex-direction: row-reverse;
}
.business .features ._3 .flex__ .photo{
	width: 47%;	
}
.business .features ._3 .flex__ p{
	width: 50%;
}
.business .features ._3 .flex__._1 .photo img{
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: center	;
  margin-bottom: 10px;
}
.business .features ._4 .flex__{
	align-items: center;
}
.business .features ._4 .flex__ .photo{
	width: 50%;	
}
.business .features ._4 .flex__ .txt{
	width: 50%;
}


/***************** greeting 768  *******************/
.greeting .flex__{
	flex-direction: row-reverse;
}
.greeting .flex__ .photo,
.greeting .flex__ .txt{
	width: 48%;
}
.greeting .flex__ .txt p{
	margin-bottom: 10%;
}
.greeting section p,
.greeting .name{
	width: 90%;
	margin: 0 auto;
	margin-top: 40px;
	margin-bottom: 40px;
}
.greeting .company_nav .flex__{
	flex-direction: row;
}
/***************** philosophy 768  *******************/
.philosophy .lead .head{
	text-align: center;
}
.philosophy .lead .head p{
	line-height: 3;
	margin-top: 30px;
}
.philosophy .lead ul{
	align-items: center;
}
.philosophy .lead ul .photo{
	width: 40%;
}
.philosophy .lead ul .txt{
	width: 55%;
}
.philosophy .photo_inner {
    width: 100%;
    height: 300px; /* 任意の高さ */
    overflow: hidden;
}
.philosophy .photo_inner img {
    width: auto;
    height: 100%;
}
.philosophy .philosophy_list .flex__{
	align-items: center;
}
.philosophy .philosophy_list h3{
	width: 25%;
}
.philosophy .philosophy_list .txt{
	width: 70%;
}

/********************* company 768 *********************/
.company table{
	width: 100%;
}
.company table tr{
	border-bottom: 1px solid #E6E6E6;
}
.company table .td_1,
.company table .td_2{
	padding: 15px;
}
.company table .td_1{
	width: 35%;
	text-align: center;
}
.company table .td_2{
	width: 65%;
	line-height: 2rem;
	padding-left: 30px;
}
.company table .td_2 .slash{
	display: inline-block;
}
.company .history dl{
	display: flex;
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	margin-bottom: 15px;
}
.company .history dl dt{
	width: 10%;
}
.company .history dl dd{
	width: 85%;	
}
/***************** character 768  *******************/
.character .lower_top{
	background: none;
	background-color: var(--bg_beige);
	padding: 0;
	position: relative;
}
.character .lower_top img{
	position: absolute;
	display: block;
	width: 150px;
}
.character .lower_top .top_niyu{
	top: -30px;
	right: 7%;
}
.character .lower_top .top_ton{
	left: 7%;
}
.character .profile .lead{
	text-align: center;
}
.character .profile .lead br{
	display: block;
}
.character .profile .inner_wrap{
	padding-top: 0;
}
.character .flex__{
	justify-content: space-between;
}
.character .niyu,
.character .ton{
	width: 42%;
}
.character .niyu{
	margin-bottom: 0;
}
.character .activity .inner_wrap{
	position: relative;
}
.character .activity .photo_wrap{
	position: absolute;
	right: 0;
}
.character .activity .photo_wrap img{
	height: 180px;
	width: 300px;
}
.character .activity .photo_wrap._5{
	margin-top: -30px;
}
/***************** smile_blog aside 768  *******************/
.smile_blog .blog__current{
	text-align: center;
	background-color: var(--bg_beige);
	padding: 20px 0;
	font-size: 25px;
	color: var(--red);
	font-weight: 700;
}
.smile_blog .blog{
	position: relative;
	padding-bottom: 100px;
}
.smile_blog .blog.flex{
	display: flex;
 	justify-content: space-between;
 	width: 95%;
 	margin: 0 auto;
 	max-width: 1140px;
}
.smile_blog .blog_inner{
	width: 90%;
	margin: 0 auto;
}
.smile_blog .div_article{
	width: 65%;
}
.smile_blog .div_article .inner_wrap{
	padding-top: 0;
	width: 100%;
}
.smile_blog .blog__post{
	display: flex;
	justify-content: space-between;
}
.smile_blog .div_article .blog__post .blog__photo{
	width: 42%;
}
.smile_blog .blog__photo{
	margin-bottom: 20px;
}
.smile_blog .div_article .blog__post .blog__txt{
	width: 55%;
}
.smile_blog .div_aside{
	width: 30%;
}
.smile_blog aside{
	padding-top: 0;
}
.smile_blog .aside_box{
	background-color: var(--bg_beige);
	padding: 10px;
}
/***************** smile_blog asingle 768  *******************/
.smile_blog.single h2{
	font-size: 25px;
	line-height: 40px;
}
/***************** pagination 768  *******************/
.pagination{
	position: absolute;
	bottom: 0;
	width: 100%;
	text-align: center;
	height: 100px;
}
.pagination .current{
	background-color: var(--red);
	color: #fff;
	line-height: 1;
	display: inline-block;
	padding: 10px;
	margin: 0 5px;
	border-radius: 5px;
	border: 1px solid var(--red);
}
.pagination .page-numbers.dots{
	background: none;
	color: var(--red);	
	border: none;
	margin: 0;
}
.pagination .next.page-numbers,
.pagination .prev.page-numbers,
.pagination a{
	display: inline-block;
	line-height: 1;
	background: none;
	color: var(--red);
	border: 1px solid var(--red);
	padding: 10px;
	margin: 0 5px;
	border-radius: 5px;
}
/***************** contact 768 *******************/
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea{
    height: auto;
}
.wpcf7 .top_comment{
	text-align: center;
	margin: 20px 0 50px;
}
.wpcf7 .top_comment br{
	display: block;
}
.wpcf7 .contact_form,
.wpcf7 .contact_confirm_form {
	padding: 5%;
}
/***************** thanks 768  *******************/
.thanks_page .inner_wrap{
	padding-bottom: 100px;
}
.thanks_page .title{
	margin-bottom: 50px;
}
.thanks_page .txt_1,
.thanks_page .txt_2{
	text-align: center;
	margin: 50px 0;
	font-size: 20px;
	line-height: 2;
}
.thanks_page .txt_1{
	font-size: 30px;
}
.thanks_page .txt_2 br{
	display: block;
}
.thanks_page .btn a{
	text-align: center;
	display: block;
  background-color: #FFCC00;
  color: #000;
  font-size: 1rem;
  padding: 10px 20px;
  letter-spacing: 0px;
  border-radius: 5px;
  box-shadow: none;
  border: none;
  width: 200px;
	margin: 0 auto;
	margin-top: 100px;
	font-weight: 700;
}
/***************** footer 768 *******************/
footer .contact_link a{
	width: 90%;
	margin: 0 auto;
	margin-top: 3%;
	margin-bottom: 3%;
	max-width: 900px;
	display: block;
	background-color: #FFCC00;
	border-radius: 5px;
	transition: all 0.5s ease-in-out;
	text-align: center;
  position: relative;
  padding: 2% 0;	
  color: #000;
  font-size: 16px;
  font-weight: 700;
}
footer .contact_link a::after{
	content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%); /* 修正: translateYのみ適用 */
  right: 5%;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid #000;
}
footer .sns_link ul {
	width: 90%;
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background-color: red;
	padding: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
}
footer .sns_link ul li{
	width: 32%;
	margin-bottom: 10px;
}
footer .sns_link ul li a{
	display: block;
	background-color: #fff;
	color: #000;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
 	padding: 5% 0;
 	display: table;
 	width: 100%;
}
footer .sns_link ul li a span.small{
	font-size: 10px;
}
footer .sns_link ul li a img{
	width: 35px;
	height: 35px;
	margin-right: 5px;
}
footer .sns_link ul li.x a img{
	width: 30px;
	height: 30px;
	margin: 2.5px;
	margin-right: 5px;
}
footer .sns_link ul li:nth-child(4),
footer .sns_link ul li:nth-child(5),
footer .sns_link ul li:nth-child(6){
	margin-bottom: 0;
}
footer .sns_link ul li a span.cell_1{
	display: table-cell;
	vertical-align: middle;
	width: 30%;
	text-align: center;
}
footer .sns_link ul li a span.cell_2{
	display: table-cell;
	vertical-align: middle;
	width: 70%;
}
}/*last*/
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/**********                    ******                    ******                    *****************/
/**********   **************   ******   ***********************   **************   *****************/
/**********   **************   ******   ***********************   **************   *****************/
/**********   **************   ******   ***********************   **************   *****************/
/**********   **************   ******   ***********************   **************   *****************/
/**********                    ******                    ******   **************   *****************/
/***************************   ******   **************   ******   **************   *****************/
/***************************   ******   **************   ******   **************   *****************/
/***************************   ******   **************   ******   **************   *****************/
/***************************   ******   **************   ******   **************   *****************/
/**********                    ******                    ******                    ******************/
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
@media only screen and (min-width: 960px) {
/***************************************************************************************************/

/***************** hamburger 960 **************/
.hamburger{
	display: none;
}
/***************** header 960 *******************/
header .logo{
	display: none;
}
#menu.background{
	background-color: var(--red);	
	transition: all 0.5s ease-in-out;
}
/*
#nav_drawer {
 position: static;
 top: 0px;
 right: auto;
 left: auto;
}
#nav_cover{
	display: none;
}
#nav_content {
	position: static;
	max-width: 100%;
	transition: none;
  -webkit-transform: translateX(0);
  transform: translateX(0);	
  background: none;
  padding: 0;
  margin-top: 7px;
}
#nav_content .nav_list{
  background: none;
  padding: 0;
  border-radius: none;
  padding-top: 0;
}
#nav_content .nav_list{	
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 95%;
	max-width: 1100px;
	margin: 0 auto;
	border-radius: 50px;
	padding: 0 10px;
}
#nav_content .nav_list.background{
	background-color: var(--red);	
	transition: all 0.5s ease-in-out;
}
#nav_content ul li{
	margin-bottom: 0;
}
#nav_content ul li a{
	color: #fff;
	border-bottom: none;
	line-height: 1;
	font-size: 12px;
	padding: 10px;
	transition: all 0.3s ease-in-out;
	background: none;
}
#nav_content ul li a::after{
	content: none;
}
#nav_content ul li a:hover{
	color: var(--yellow);

}
/***************** header 960 *******************/
/*
#nav_content{
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100001;
    width: 100%;
    height: 100%;
    background: #fff;
    transition: .5s ease-in-out;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}
#nav_content ul .time_txt,
#nav_content ul .close_btn{
	display: none;
}
*/
/*****************.top  main_visual 960 **************/
.top .main_visual .inner_wrap{
	position: relative;
	width: 90%;
  max-width: 100%;	
	margin: 0 auto;
	padding-top: 75%;
	padding-bottom: 150px;	
	background: url(../images/top/ton@2x.webp) 5% 100% no-repeat,
							url(../images/top/niyu@2x.webp) 95% 100% no-repeat;
	background-size: 110px auto,110px auto;
}
.top .main_visual .niyu_ton_layer{
	background: none;
}
.top .main_visual .dot_layer {
  position: relative; /* .dot_layer を基準にする */
  width: 1000px;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.top .main_visual .dot_layer::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(50% - 450px);  /* 上下にずらす */
  left: calc(50% + 300px); /* 左右にずらす */
  width: 1000px;
  height: 1000px;
  background: url(../images/top/dot_circle@2x.png) no-repeat center;
  background-size: 1000px auto;
  transform-origin: center; /* 回転の中心を設定 */
  animation: dot-rotate-bg 20s linear infinite;
}
.top .main_visual .taihei_layer {
  position: relative; /* .taihei_layer を基準にする */
  width: 100%;
  height: auto;
  overflow: hidden;
}
.top .main_visual .taihei_layer::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: calc(50% - 210px);  /* 上下にずらす */
  left: calc(50% - 350px); /* 左右にずらす */
  width: 950px;
  height: 950px;
  background: url(../images/top/taihei_circle@2x.png) no-repeat center;
  background-size: 950px auto;
  transform-origin: center; /* 回転の中心を設定 */
  animation: rotate-bg 20s linear infinite;
}
.top .main_visual .line_circle_1{/*黄色-左上*/
	position: absolute;
	left: 0px;
  top: -80px;
  width: 250px;
  height: 250px;
}
.top .main_visual .catchcopy{
	position: absolute;
	text-align: center;
  width: 45%;
  max-width: 630px;
  margin: 0 auto;
 	margin-bottom: auto;
 	top: 270px;
 	right: 0;
 	margin-right: 5%;
}
.top .main_visual .photo_1{
	position: absolute;
	z-index: 1000;
	left: -30px;
  top: 120px;
  width: 50%;
  height: auto;
  max-width: 650px;
}
.top .main_visual .photo_2{
	position: absolute;
	z-index: 1000;
	right: auto;
  top: 80px;
  left: 55%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  width: 150px;
  height: auto;
  max-width: 150px;	
}
.top .main_visual .photo_3{
	position: absolute;
	z-index: 1000;
	right: 15px;
  top: 450px;
  margin-top: auto;
  width: 15%;
  height: auto;
  max-width: 170px;	
}
.top .main_visual .donuts_1{/*黄色*/
	position: absolute;
	right: 30%;
   transform: translateX(50%);
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);	
  margin-left: 20%;
  top: -20px;
  width: 150px;
  width: 40%;
  max-width: 300px;
  height: auto;
}
.top .main_visual .firework_1{/*花火ブルー*/
	position: absolute;
  z-index: 1;
	right: 10px;
  top: 40px;
  margin-top: auto;
  margin-right: auto;
  width: 230px;
  height: auto;
  max-width: 230px;
}
.top .main_visual .half{
	position: absolute;
  z-index: 1;
	right: 15%;
  top: 0;
  margin-top: 40%;
  width: 35%;
  height: auto;
  max-width: 400px;
}
.top .main_visual .line_circle_2{/*3色*/
	position: absolute;
	z-index: 1;
	left: 0;
  top: 0;
  margin-top: 50%;
  margin-right: auto;
  margin-left: 25%;
  width: 30%;
  height: auto;
  max-width: 500px;
}
.top .main_visual .firework_2{/*花火グリーン*/
	position: absolute;
	z-index: 1;
	left: 0px;
  top: 0;
  margin-top: 60%;
  margin-left: auto;
  width: 20%;
  height: auto;
  max-width: 200px;
}
.top .main_visual .dots_cross{
	position: absolute;
  top: 0;
 	right: calc(-50px + ((100vw - 1200px) * 0.5));
  margin-top: 70%;
  width: 350px;
  height: 350px;
}
.top .main_visual .donuts_2{/*ブルー*/
	position: absolute;
	right: 1%;
  bottom: 150px;
  width: 250px;
  height: auto;
}
.top .main_visual .twins{
	position: absolute;
	left: -50px;
  bottom: 150px;
  width: 450px;
  height: auto;
}
/*******************************************************/
/*******************************************************/
/*********************　共通 960 ************************/
/******************　topのMVより下 ***********************/
/********************　下層ページ ************************/
/*******************************************************/
/*******************************************************/
.inner_wrap{
	width: 90%;
	margin: 0 auto;
	max-width: 1000px;
	padding: 50px; 
}
.grad_frame .bg_white{
    background-color: #fff; 
    border-radius: 15px;  
    padding: 40px; 
}
.frame_line_top{
	border: 1px solid var(--red);
	border-bottom: none;
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	width: 100%;
	height: 10px;
	margin-bottom: 50px;
}
.frame_line_bottom{
	border: 1px solid var(--red);
	border-top: none;
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
	width: 100%;
	height: 10px;
	margin-top: 50px;
}
/***************** top　960  *******************/
.top h2{
	font-size: 35px;
	padding-top: 0;
	margin-bottom: 20px;
}
.top .h2_en{
	font-size: 0.9rem;
	font-weight: bold;
	margin-bottom: 20px;
}
/***************** business 960  *******************/
.top .business{
	padding-top: 50px;
}
.top .business .txt p .br_off_2{
	display: block;
}
.top .business .txt{
	position: relative;
}
.top .business .btn_white{
	position: absolute;
	bottom: 0;
	width: 100%;
}
/***************** company 960  *******************/
.top .company ul li a{
	padding: 25px 0;
}
/***************** blog(smile_blog holy_talk 960  *******************/
.top .blog .title p br{
	display: block;
}
.top .blog h3{
	padding: 0 0 10px;
	font-size: 22px;
	line-height: 1.5;
}
.top .blog .grad_frame{
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
/***************** niyu_ton 960  *******************/
.top .niyu_ton .original{
	font-size: 16px;
	margin-bottom: 10px;
}
.top .niyu_ton h2{
	font-size: 60px;
	margin-bottom: 20px;
}
/***************** lower_visual 960  *******************/
.lower_visual{
	background-color: var(--red);
	padding-top: 70px;
	text-align: center;
}
.lower_visual h1{
	font-size: 40px;
	margin-bottom: 15px;
}
.lower_visual .title_en{
	font-size: 16px;
	font-weight: 700;
}

/***************** lower 共通 960  *******************/
.lower_top{
	padding: 50px 0;
}
.lower h2{
	color: var(--red);
	font-size: 35px;
	line-height: 2rem;
	padding: 30px;
}
.lower h3{
	color: var(--red);
	font-size: 1.2rem;
	line-height: 2rem;
}
/***************** business 960  *******************/
.business .service .lead h2{
	line-height: 1.5;
}
.business .service .lead p {
	text-align: center;
}
.business .service .lead p br{
	display: block;
}
.business .service .link_btn a{
	margin-top: 50px;
	margin-bottom: 20px;
	max-width: 650px;
	padding: 20px 0;
}
.business .features h3{
	font-size: 30px;
	margin-bottom: 50px;
}
.business .features .bg_white{
	padding: 50px;
}
.business .features ._1 .flex__._1 .photo img{
  height: 230px; 
  margin-bottom: 10px;
}
.business .features ._1 .flex__._2{
	align-items: center;
}
.business .features ._1 .flex__._2 .photo img{
  height: 200px; 
  margin-bottom: 10px;
}
.business .features ._2 .flex__ .facility{
	width: 45%;
}
.business .features ._3 .flex__._1 .photo img{
  width: 100%;
  height: 300px; 
  object-fit: cover;
  object-position: center	;
  margin-bottom: 10px;
}
.business .features ._3 .flex__._2 .photo img{
  width: 100%;
  height: 200px; 
  object-fit: cover;
  object-position: center	;
  margin-bottom: 10px;
}
/***************** greeting 960  *******************/
.greeting .flex__ .txt{
	width: 48%;
}
.greeting .flex__ .photo{
	width: 40%;
}
.greeting .flex__ .txt p br{
	display: block;
}
/***************** philosophy 960  *******************/
.philosophy .lead .head{
	text-align: center;
	margin-bottom: 100px;
}
.philosophy .lead .head p{
	line-height: 3;
	margin-top: 30px;
}
.philosophy .lead ul{
	margin-bottom: 50px;
}
.philosophy .lead ul .photo{
	width: 45%;
}
.philosophy .lead ul .txt{
	width: 50%;
}
.philosophy .photo_inner {
    width: 100%;
    height: 300px; /* 任意の高さ */
    overflow: hidden;
}
.philosophy .photo_inner img {
    width: auto;
    height: 100%;
}
/***************** character 960  *******************/
.character .lower_top{
	width: 90%;
	margin: 0 auto;
	max-width: 1000px;
}
.character .niyu .white,
.character .ton .white{
	background-color: #fff;
	border-radius: 10px;
	position: relative;
	width: 100%;
	height: 300px;
	margin-bottom: 40px;
}
.character .white img{
	position: absolute;
	width: 230px;
	 top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.character .profile h2{
	line-height: 1.5;
}
.character .lower_top .top_ton{
	top: 100px;
	left: 7%;
}
.character .niyu{
	padding: 50px;
	width: 37.5%;
}
.character .ton{
	padding: 50px;
	width: 37.5%;
}
.character .activity .inner_wrap{
	width: 90%;
	position: relative;
}
.character .activity .photo_wrap{
	position: absolute;
	right: 100px;
}
.character .activity .photo_wrap img{
	height: 180px;
	width: 300px;
}
.character h3{
	color: #fff;
	font-size: 2rem;
	margin-bottom: 20px;
}
.character .activity dl{
	display: flex;
	margin-bottom: 20px;
}
.character .activity dt{
	line-height: 3;
}
.character .activity dd{
	display: block;
	line-height: 3;
	position: relative;
	margin-left: 100px;
}
.character .activity dd span{
	position: absolute;
	color: #fff;
	border-bottom: 1px solid var(--blue);
	display: inline-block;
	width: 80px;
	margin: 0 10px;
	top :-25px;
	margin-left: -90px;
}
.character .activity .photo_wrap img{
	height: 220px;
	width: 300px;
}
.character .activity .photo_wrap._5{
	margin-top: -50px;
}
/***************** smile_blog aside 960  *******************/
.smile_blog .div_article .inner_wrap{
	padding-top: 0;
	width: 100%;
	padding: 0;
}
.smile_blog .div_aside .inner_wrap{
	width: 90%;
	margin: 0 auto;
	padding: 20px 0;
}
.smile_blog.lower h2{
	padding: 0px;
}
/***************** contact 960 *******************/
.wpcf7 .contact_form dl,
.wpcf7 .contact_confirm_form dl{
	display: flex;
}
.wpcf7 .contact_confirm_form dl{
	margin-bottom: 20px;
}
.wpcf7 .contact_form dt,
.wpcf7 .contact_confirm_form dt{
	width: 30%;
}
.wpcf7 .contact_form dd,
.wpcf7 .contact_confirm_form dd{
	width: 70%;
}
.wpcf7 .contact_confirm_form dd{
	background-color: #fff;
	padding: 7px 10px;
}
/***************** footer 960  *******************/
footer .sns_link ul li a{
	display: block;
	background-color: #fff;
	color: #000;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
 	border: 5px solid #ccc;
 	display: table;
 	width: 100%;
 	height: 40px;
 	transition: all 0.5s ease-in-out;
}
footer .sns_link ul li a:hover{
	background-color: #fff;
 	border: 5px solid #fff;	
	box-shadow: 0px 0px 5px #fff;	
}
footer .sns_link ul li a span.small{
	font-size: 12px;
}
footer .sns_link ul li a img{
	width: 45px;
	height: 45px;
	margin-right: 5px;
}
footer .sns_link ul li.x a img{
	width: 37px;
	height: 37px;
	margin: 4px;
	margin-right: 5px;
}
}/*last*/
@media only screen and (min-width: 1200px) {/*1200*/
/************************************************************************************************************************/
/************************************************************************************************************************/
/************************************************************************************************************************/
/***********************************************************************************************************************/
/******************* レスポンシブ　960 ****************************/

/***************** header 1200 *******************/
#menu{
	padding: 10px 0;
	border-radius: 50px;
}
#menu-content > li.top > a img{
	width: 250px;
}
#menu-content > li > a,
#menu-content > li > ul.second-content > li > a ,
#menu-content > li.company .head {
  font-size: 14px;
}
#menu-content > li > ul.second-content > li {
  text-align: center;
  width: 100px;
  margin-left: 5px;
}
#menu-content > li > ul.second-content > li:first-child{
	  margin-top: 20px;
}
#menu-content > li > ul.second-content > li > a {
  display: block;
  line-height: 40px;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
}
/*****************.top main_visual 1200 **************/
.top .main_visual .inner_wrap{
	position: relative;
	width: 90%;
  max-width: 100%;	
	margin: 0 auto;
	padding-top: 70%;
	padding-bottom: 150px;	
	background: url(../images/top/ton@2x.webp) 15% 100% no-repeat,
							url(../images/top/niyu@2x.webp) 85% 100% no-repeat;
	background-size: 110px auto,110px auto;
}
.top .main_visual .line_circle_1{/*黄色-左上*/
	position: absolute;
	left: 100px;
  top: -80px;
  width: 300px;
  height: 300px;
}
.top .main_visual .half{
	position: absolute;
  z-index: 1;
	right: 15%;
  top: 450px;
  margin-top: auto;
  width: 35%;
  height: auto;
  max-width: 400px;
}
.top .main_visual .line_circle_2{/*3色*/
	position: absolute;
	z-index: 1;
	left: 0;
  top: 580px;
  margin-top: auto;
  margin-right: auto;
  margin-left: 25%;
  width: 30%;
  height: auto;
  max-width: 500px;
}
.top .main_visual .dots_cross{
	position: absolute;
	right: -90px;
  top: 800px;
  margin-top: auto;
  width: 350px;
  height: 350px;
}
/********************* top lottie_frame_2 0 *********************/
.lottie_frame_2{
	position: relative; /* lottie用 絶対配置の基準 */
  /*width: 100vw; /* lottie用 必要に応じて調整 */
  width: 100%;
  margin: 0 auto;
  overflow: hidden; /* lottie用 これが重要 */
}
.lottie_frame_2 .dots_circle_2{/*ドットサークル*/
	display: block;
	position: absolute;
  z-index: 0;
	right: calc(-250px + ((100vw - 1200px) * 0.5));
  top: 0x;
  width: 400px;
  height: auto;
}
.lottie_frame_2 .half{
	display: block;
	position: absolute;
  z-index: 0;
  top: -100px;
	left: -50px;
	left: calc(-150px + ((100vw - 1200px) * 0.5));
  width: 300px;
  height: auto;
}
.lottie_frame_2 .twins{
	display: block;	
	position: absolute;
	right: calc(-200px + ((100vw - 1200px) * 0.5));
  bottom: -50px;
  width: 400px;
  height: auto;
}
.lottie_frame_2 .line_circle_3{/*４重丸*/
	display: block;
	position: absolute;
  z-index: 0;
  top: 0;
 	left: calc(-200px + ((100vw - 1200px) * 0.5));
  width: 400px;
  height: auto;	
}
.lottie_frame_2 .line_circle_1{/*黄色ライン*/
	display: block;
	position: absolute;
 	right: calc(-250px + ((100vw - 1200px) * 0.5));
 	top: 200px;
  width: 400px;
  height: 400px;
}
.lottie_frame_2 .donuts_2{/*ブルー*/
	display: block;
	position: absolute;
	left: calc(-150px + ((100vw - 1200px) * 0.5));
  bottom: -20px;
  width: 400px;
  height: auto;
}
.lottie_frame_2 .dots_cross{
	display: block;
	position: absolute;
  top: 150px;
 	left: calc(-150px + ((100vw - 1200px) * 0.5));
  width: 350px;
  height: auto;
}
.lottie_frame_2 .donuts_3{/*グリーン*/
	display: block;
	position: absolute;
  top: -20px;
  right: calc(-100px + ((100vw - 1200px) * 0.5));
  width: 300px;
  height: auto;
}
.lottie_frame_2 .firework_3{/*花火イエロー*/
	display: block;
	position: absolute;
  z-index: 0;
  bottom: 100px;
  right: calc(-100px + ((100vw - 1200px) * 0.5));
  width: 250px;
  height: auto;
  transform: rotate(10deg);
}
.lottie_frame_2 .line_circle_2{/*3色*/
 	display: block;
	position: absolute;
	z-index: 0;
 	left: calc(-200px + ((100vw - 1200px) * 0.5));
  top: -100px;
  width: 400px;
  height: auto;
}
/***************** business 1200  *******************/
.business .features ._1 .title_wrap{
	position: relative;
}
.business .features ._1 .title_wrap h3{
	position: absolute;
	top: 0;
	left: 0;
	text-align: left;
	line-height: 1.5;
}
.business .features ._1 .title_wrap h3 br{
	display: block;
}
.business .features ._1 .flex__._1 p{
	margin-top: 130px;
}
.business .features ._1 .flex__ p{
	margin-bottom: 30px;
}
.business .features ._1 .flex__ .photo{
	position: relative;
}
.business .features ._1 .flex__ .photo img{
	position: absolute;
	top: 0;
}
.business .features ._1 .flex__._1 .photo img{
  height: 250px; 
}
.business .features ._1 .flex__._2 .photo img{
  margin-top: -180px;
  height: 250px; 
}
.business .features ._1 .photo_square ul li{
	width: 47.5%;
	margin-bottom: 0;
}
.business .features ._2 .title_wrap{
	position: relative;
}
.business .features ._2 .title_wrap h3{
	position: absolute;
	top: -10px;
	left: 50%;
	text-align: left;
	line-height: 1.5;
}
.business .features ._2 .flex__ p{
	margin-top: 60px;
}
.business .features ._3 .title_wrap{
	position: relative;
}
.business .features ._3 .title_wrap h3{
	position: absolute;
	top: -10px;
	left: 0%;
	text-align: left;
	line-height: 1.5;
}
.business .features ._3 .flex__ p{
	margin-top: 60px;
}
.business .features ._3 .flex__._2 p{
	margin-top: 20px;
}
.business .features ._3 .flex__ .photo{
	position: relative;
}
.business .features ._3 .flex__ .photo img{
	position: absolute;
	top: 0;
}
.business .features ._3 .flex__._1 .photo img{
  height: 250px; 
}
.business .features ._3 .flex__._2 .photo img{
  margin-top: -30px;
  height: 250px; 
}
.business .features ._4 .title_wrap{
	position: relative;
}
.business .features ._4 .title_wrap h3{
	position: absolute;
	top: -10px;
	left: 50%;
	text-align: left;
	line-height: 1.5;
}
.business .features ._4 .title_wrap h3 br{
	display: block;
}
.business .features ._4 .flex__ p{
	margin-top: 100px;
}

/***************** greeting 1200 **************/
.greeting .flex__ .txt p{
	line-height: 2.2;
}
/***************** character 1200  *******************/
.character .activity dd {
	position: relative;
}
.character .activity dd span{
	position: absolute;
	color: #fff;
	border-bottom: 1px solid var(--blue);
	display: inline-block;
	width: 100px;
	margin: 0 10px;
	top :-25px;
	margin-left: -130px;
}
.character .activity dd{
	margin-left: 150px;
}
.character .activity .photo_wrap{
	margin-bottom: 10px;
}
.character .activity .photo_wrap img{
	height: 220px;
	width: 300px;
}
/*
.character .profile h2{
	line-height: 1.5;
}
.character .lower_top .top_ton{
	top: 100px;
	left: 7%;
}
.character .activity .inner_wrap{
	width: 90%;
	position: relative;
}
.character .activity .photo_wrap{
	position: absolute;
	right: 100px;
}
.character .activity .photo_wrap img{
	height: 180px;
	width: 300px;
}
.character .activity dl{
	display: flex;
	margin-bottom: 20px;
}
.character .activity dt{
	line-height: 3;
}
.character .activity dd{
	display: block;
	line-height: 3;
}
.character .activity .photo_wrap img{
	height: 220px;
	width: 300px;
}
/***************** footer 1200 **************/
footer .inner_wrap{
	width: 100%;
	max-width: 1280px;
	padding: 0;
	background: url(../images/common/footer_blue.svg) 5% 30% no-repeat,
						url(../images/common/footer_pink.svg) 98% 70% no-repeat;
	background-size: 60px auto, 70px auto;
	background-color: #F0454E;/*赤*/	
}
}/*last*/
/***************** footer 1200 **************/
@media only screen and (min-width: 1300px) {/*1300*/
/************************************************************************************************************************/
.top .main_visual .photo_1{
	position: absolute;
	z-index: 1000;
	left: 0px;
  top: 120px;
  width: 50%;
  height: auto;
  max-width: 620px;
}
.top .main_visual .firework_2{/*花火グリーン*/
	position: absolute;
	z-index: 1;
	left: 50px;
  top: 680px;
  margin-top: auto;
  margin-left: auto;
  width: 20%;
  height: auto;
  max-width: 200px;
}
.top .main_visual .dots_cross{
	position: absolute;
	right: 0;
  top: 800px;
  margin-top: auto;
  width: 400px;
  height: 400px;
}
}/*last*/
/*=================================================================================================*/
/* PC向けレイアウトの指定:テーマにより*/
@media only screen and (min-width: 1500px) {
/*==============================================================*/


}

















