@charset "utf-8";
/*****************************************************************

	SPレイアウト 共通レイアウト定義

*****************************************************************/

/* ====== BASE Module SET ===== */

body{
}

img{
	max-width: 100%;
}

.tel_dis{ cursor: pointer; }

.sp_i{ display: inline; }
.sp_b{ display: block; }

.pc_i{ display: none; }
.pc_b{ display: none; }

.pc_ib{ display: none; }
.sp_ib{ display: inline-block; *display: inline; zoom: 1; }

#sub ul a,
.link{
	display: block;
	position: relative;
	text-decoration: none;
	overflow: hidden;
}

#sub ul a::after,
.link::after{
	content:"";
	display: block;
	width:10px;
	height:10px;
	border-top:1px solid #999;
	border-right:1px solid #999;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right:10px;
	top:50%;
	margin-top:-7px;
}

/*============================================================
	Page / column
============================================================*/
#page{
	overflow: hidden;
}

.ci{
 width: 80px;
}
.inner{
 padding: 0 20px;
}
/* Main Design */
#main p,
#main li,
#main dd,
#main dt,
#main blockquote,
#main pre,
#main td,
#main th{
	font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
}

/*============================================================
	TopContentsStyle
============================================================*/

#page_header {
 padding: 8px 0 22px 0;
 background-size: 200% 150%;
 background-position: top center;
}
/*============================================================
	Nav
============================================================*/
.btn_menu{
 font-size: 14px;
 padding: 8px 16px
}
.main_menu{
 padding: 70px 0;
}
.main_menu .main_menu_read{
 margin-bottom: 20px;
}
.main_menu .main_menu_read p:first-child{
 display: none;
}
.main_menu .main_menu_read p:last-child {
    width: 75%;
    margin: auto;
}
.main_menu .grp{
 flex-wrap: wrap;
}
.sec_nav_new,
.sec_nav_oth{
 margin-bottom: 20px;
 padding: 10px;
 border-radius: 10px;
}
.sec_nav_new h2,
.sec_nav_oth h2{
 line-height: 1;
 margin-bottom: 1em;
 font-size: 1rem;
}
.sec_nav_new ul,
.sec_nav_oth ul{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.sec_nav_new li,
.sec_nav_oth li{ width: 49%; margin-bottom: 4%;
 font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
}
.sec_nav_new ul a,
.sec_nav_oth ul a{
 padding: 10px;
 border-radius: 20px;
 font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
}
.nav_1,
.nav_2{
 width: 100%;
 margin-bottom: 4%;
}
.nav_2{
 order: 1;
 display: block;
}
.nav_1{
 order: 2;
}
.nav_2 .sec_nav_2_item{
 width: 100%;
 margin-bottom: 0;
}
.nav_2 .sec_nav_2_item h2{
/* padding: 15px 0;*/
 font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
}
.nav_2 .sec_nav_2_item h2{
 border-bottom: 0;
 margin: 0;
}
.nav_2 .sec_nav_2_item h2+h2 {
 margin-top: 0;
}
.nav_2 .sec_nav_2_item h2::before{
 content: "";
 display: block;
 width: 10px;
 height: 10px;
 position: absolute;
 right: 5px;
 top: calc(50% - 2px);
 border-top: 2px solid #fff;
 border-left: 2px solid #fff;
 transform: rotate(45deg);
}
.nav_2 .sec_nav_2_item .on::before{
 top: calc(50% - 7px);
 border: 0;
 border-bottom: 2px solid #fff;
 border-right: 2px solid #fff;
}
.nav_2 .sec_nav_2_item .direct::before{
 top: calc(50% - 7px);
 border: 0;
 border-top: 2px solid #fff;
 border-right: 2px solid #fff;
}
.nav_2 .sec_nav_2_item a{
 padding: 10px 0;
}
.nav_2 .sec_nav_2_item h2 a{
 padding: 15px 0;
}
.nav_2 .sec_nav_2_item ul{
 overflow: hidden;
 position: relative;
 max-height: 0;
 transition: 0.25s ;
}
.nav_2 .sec_nav_2_item .on+ul{
 max-height: 1000px;
 margin: 10px 0 25px 0;
}
.nav_2 .sec_nav_2_item h2{
 cursor: pointer;
 position: relative;
}
.nav_2 .sec_nav_2_item h2.on{
 border-bottom: 1px solid #fff;
}
.nav_2 .sec_nav_2_item h2::before{

}
.mypage_menu .main_menu_read{
 display: none;
}
.btn_mypage_flt{
 width: 100px;
}
.tit_entry_mypage{
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}
.btn_mypage_menu_close{
 width: 80px;
}
.sec_nav_new ul a::before, .sec_nav_oth ul a::before {
 width: 5px;
 height: 5px;
 right: 10px;
 border-width: 2px;
 top: calc(50% - 3px);
}
.bgMark{
 background-position: top center;
 background-size: 125% auto;
 background-repeat: repeat-y;
}
.btn_gototop{
 display: block;
 max-width: 200px;
 margin: 0 0 30px auto;
 text-decoration: none;
 font-weight: bold;
 color: #fff;
 background: none;
 padding: 10px;
 position: relative;
 border-radius: 20px;
 font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
 border: 2px solid #fff;
}
.btn_gototop::before {
 content: "";
 display: block;
 width: 5px;
 height: 5px;
 right: 10px;
 border-width: 2px;
 top: calc(50% - 3px);

 position: absolute;
 border-top: 2px solid #fff;
 border-right: 2px solid #fff;
 transform: rotate(45deg);
}

.btn_menu_contact{
	margin-right: 16px;
	font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
}
/*============================================================
	Page / column
============================================================*/
#page{
 padding-top: 40px;
}
#page.sec_page{
 padding-top: 0;
}
.sec_page #main{
 padding-bottom: 40px;
 padding-top: 60px;
  background-position: 50% 0;
}

.sec_page_oneday #main{
 padding-bottom: 0;
}
#main .main_image{
 height: 100vh;
 min-height: 100vh;
}
.main_image+#main{
 padding-top: 25px;
}
#main .main_image .txt_box{
 flex-flow: column;
 height: 70%;
 justify-content:space-between;
 display: flex;
}
#main .main_image::before{
 height: 75px;
}
#main .main_image .txt_box{
 padding: 0 10px;
}
#main .main_image p{
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}


/*============================================================
	TOP
============================================================*/
#main .inner{
 max-width: 1240px;
}
/* ===== sec_top ===== */
.sec_top{
 margin-bottom:100px;
}
#top_oneday{
 margin-bottom: 0
}

.sec_top_1{margin-top: 60px;}
.sec_top .grp{
 display: block;
}
.sec_top .pic{
 width: 100%;
 margin-bottom: 20px;
}
#top_oneday .grp,
#top_quest .grp{
 display: flex;
 flex-wrap: wrap;
}
#top_oneday .txt_box,
#top_quest .txt_box{
 order: 1;
}
#top_oneday .pic,
#top_quest .pic{
 order: 2;
}

#main #top_about .pic img,
#main #top_work .pic img{
 width: 100%;
 height: auto;
}
#main #top_about .txt_box{
 padding: 0 20px;
}
#main #top_work .txt_box{
 padding: 0 20px;

}

.sec_top.sec_top_2{margin-top: 180px;}

.sec_top_1 .pic{
 transform: translateX(15%)
}
.sec_top_2 .pic{
 transform: translateX(-15%)
}
.sec_top.aniOn .pic,
.sec_top.aniOn .pic{ transform: translateX(5%) ;}
.sec_top_2.aniOn .pic,
.sec_top_2.aniOn .pic{ transform: translateX(-5%) ;}


#main .slide_1{
 width: 90%;
}
#main #top_quest h3,
#main #top_oneday h3{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 margin-top: 0.5em;
}
#main #top_oneday h3 small{
 font-size: 0.875em;
}
#main #top_quest .pic,
#main #top_oneday .pic{
 transform: translateX(0)
}
.sec_top .pic img{ border-radius: 10px;}
.sec_top .txt_box{
 width: 100%;
}

#main .sec_top p{
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
 line-height: 2;
}
#main .tit_top{
 font-size: 2rem;
}
#main .tit_top img{
 max-width: 200px;
}
#main #top_about .pic::before {
 width: 36%;
 height: 280px;
 top: 70%;
 left: auto;
 right: 0;
}
#main #top_work .pic::before {
 width: 100%;
 height: 515px;
 top: -25%;
 right: -2%;
 transform: scaleX(-1);
}
#main #top_quest .pic::before {
 width: 150%;
 top: -25%;
 right: -30%;
}
#main #top_oneday .pic::before {
 width: 140%;
 height: 420px;
 top: -15%;
 left: -20%;
}
/* ===== btn_l_more ===== */
.btn_l_more{
 border-radius: 5px;
 padding: 1em;
 background-position: calc(100% - 10px) 50%;
 background-size: 20px auto;
 font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
}
.sec_top .btn_l_more{
 max-width: 160px;
 margin: 0 0 0 auto;
}
/* ===== sec_top_qa ===== */
.sec_top_qa{
 padding:  30px 0 50px 0;
 background-size: 100%;
}
#main .tit_qa,
#main .sec_top_qa h2{
 font-size: 48px;
}
#main .tit_qa+h1,
#main .tit_qa+p,
#main .sec_top_qa h2+p{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 margin: 1em 0 3em 0;
}
#main .sec_top_qa h3{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 margin: 1em 0 1em 0;
}
#main .tit_qa+p+p,
#main .sec_top_qa h3+p{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 margin: 1em 0 3em 0;

}
/* ===== faq ===== */
#main .sec_faq_item p{
 font-size: 1rem;
}
.ico_faq_q,
.ico_faq_a{
 font-size: 1/125rem;
}
.faq_grp{
 display: block;
}
.main_faq{
 order: 1;
 width: 100%;
 margin-bottom: 2em;
}
.faq_sub{
 order: 2;
 width: 100%;
}
#main .faq_sub h2{
 font-size: 1rem;
}
#main .tit_faq_category{
 font-size: 1.5rem !important;
}
#main .tit_faq_item{
 padding: 10px 40px 10px 10px;
 font-size: 1rem;
}
.sec_faq_item{
 border-radius: 10px;
 margin-bottom: 15px;
}
.faq_area{
 padding: 10px;
}
.sec_faq_item_toggle .faq_area{
 padding: 0 10px;
}
.sec_faq_item_toggle .on+.faq_area{
 padding: 10px;
}
#main .sec_faq_item_toggle .tit_faq_item::before{
 width: 10px;
 height: 10px;
 border-bottom: 2px solid #00a040;
 border-right: 2px solid #00a040;
 right: 10px;
 margin-top: -7px;
}
#main .sec_faq_item_toggle .tit_faq_item.on::before{
 border: 0;
 border-top: 2px solid #00a040;
 border-left: 2px solid #00a040;
}
/* ===== XXXXX ===== */

/* ===== XXXXX ===== */

/* ===== XXXXX ===== */

/* ===== XXXXX ===== */

/*============================================================
	Footer
============================================================*/
.foot_nav{
 display: none;
}
#page_footer{
 padding: 10px 0;
 background: #004ea2;
}
#page_footer ul{
 display: none;
}
#page_footer small{
 font-size: 0.68rem;
}
/*============================================================
	2nd
============================================================*/
/* ===== path ===== */
#main .path{
 align-items: center;
 font-size: 0.75rem;
 margin-bottom: 4em;
 display: flex;
 flex-wrap: nowrap;
 overflow-x: auto;
 white-space: nowrap;
}
#main .path a,
#main .path i,
#main .path em {
  flex-shrink: 0;
  white-space: nowrap;
}
#main .path{
  -ms-overflow-style: none;
  scrollbar-width: none;
}
#main .path::-webkit-scrollbar {
  display: none;
}

#main .sec_contact_box{
 padding:  25px 0;
}
.sec_contact_tel{
 max-width: 400px;
 border-radius: 10px;
 padding: 10px;
}
.txt_contact_mail a{
 margin-bottom: 4em;
 font-size: 1rem;
 padding: 10px;
 border: 2px solid #00a040;
 border-radius: 40px;

}

#main .sec_contact_tel a{
 font-size: clamp(1.125rem, 0.9545rem + 0.7273vw, 1.5rem);
}
#main .sec_contact_tel img{
 width: 40px;
}
/* ===== faq_list_area_item ===== */
.faq_list_area{
 display: block;
}
.faq_list_area_item{
 padding: 20px 10px 10px 10px;
 border-radius: 10px;
 box-shadow: 0 0 5px #e4e4e4;
 width:100%;
 margin-bottom: 5%;
}
#main .faq_list_area_item h2{
 font-size: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}
.btn_more{
 font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
 max-width: 100%;
}

/*============================================================
	schedule_grp
============================================================*/
#main .schedule_grp{
 display: block;
}
#main .sec_day .schedule_grp{
	flex-direction: column;
     gap: 0;
     padding-left: 20px;
}
.schedule_read, .sec_schedule{ width: auto;}
.schedule_read{ margin-bottom: 4% }
#main .sec_schedule {
 padding: 10px;
 border-radius: 10px;
 margin-bottom: 4% !important;
}
.sec_schedule_text{ width: auto; margin-bottom: 8%;}

#main .sec_day_item {
    flex: 0 0 100%;
		width: auto;
    padding-top: 20px;
		padding-bottom: 8%;
    padding-left: 40px;
    border-left: 2px dashed #ccc;
    margin-bottom: 0;
  }

#main .sec_day_item::before {
    content: none;
  }

#main .sec_day_item h3 i::before {
    top: 50%;
    left: -40px;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
  }

#main .sec_day_item:nth-child(3n)::after {
    content: none;
  }

#main .sec_day_item:last-child::after{
	display: none;
}

#main .sec_day .schedule_grp::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 31px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 10px 0 10px;
    border-color: #ccc transparent transparent transparent;
  }


#main .sec_staff .inner{
 max-width: 980px;
 flex-direction: column-reverse;
 padding: 20px 20px;
}
#main .sec_staff .inner>span,
#main .sec_staff .pic{
 display: block !important;
 width: 100%;
}
#main .sec_staff img{
 max-width: 220px;
 width: 100%;
}
#main .sec_staff .txt{
 width: 100%;
 max-width: 400px;
 padding: 15px;
 border-radius: 10px;
}
#main .sec_staff em{
 font-size: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}
#main .sec_staff strong{
 font-size: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}

.owl-prev, .owl-next {
    width: 30px;
    height: 30px;
}
.owl-prev{ left: -10px;}
.owl-next{ right: -10px;}
#main .tit_schedule_main{
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}
#main .schedule_main{
 margin-top: 35px;
}
#main .tit_sub,
#main .tit_page{
 font-size: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}
#main .tit_page small{
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}
#main .tit_sub img{ width: 60px;}
#main .sec_day_item h3,
#main .sec_schedule h2{
 font-size: 1rem;
}
#main .sec_day_item i{
 padding: 8px;
}
.sec_day_oth{
 padding-top: 30px;
}
/*============================================================
	modal
============================================================*/
.modal-button{
 margin: 0 auto 10px auto;
 padding: 0 10px;
}
.modal-link{
 margin-top: 10px;
}
.modal-link a,
.modal-button button{
 padding: 10px 20px;
 font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
}
#modal-container{
 padding: 5vh 10px 10px 10px;
}
.modal-content{
 padding: 20px;
 border-radius: 10px;
}

/*============================================================
	workspace_town
============================================================*/
#main .slide_worktown_area li{
 padding: 5px;
}
#main .worktown_area .grp{
}
#main .worktown_area .grp h2{}
#main .worktown_area .grp .txt_address{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
#main .worktown_area .grp .txt_address i{
}
.sec_worktown_area_item{
 padding: 10px;
 border-radius: 10px;
 box-shadow: 0 0 5px 1px rgba(0,0,0,0.25);
}
.sec_worktown_area_item .pic{
 margin-bottom: 15px;
}
#main .sec_workspace .grp h2{
 font-size: 1rem;
}
#main .slide_worktown_area_s{
 display: grid;
 grid-template-columns: repeat(3, 1fr);  column-gap: 5px; row-gap: 5px;
}
#main .img_shop_ico,
#main .slide_worktown_area_s i{
 width: 30px;
 height: 30px;
}
#main .slide_worktown_area_s i{
 bottom: -5px;
 right: -5px;
}
#main .list_shop .pic .tag{
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}
#main .sec_worktown_area_item .pic .tag{
 font-size: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}
/*============================================================
	workspace
============================================================*/
.sec_page #main.workspace{
 background-size: 100% 420px;
 padding-bottom: 0;
}
#main .workmenu{
 margin: 50px auto 50px auto;
}
#main .workmenu a{
 padding: 10px 10px 0 10px;
 font-size: 0.78rem;
 line-height: 1.5;
}
#main .workmenu a i{
 font-size: 150%;
}
.sec_workspace{
 padding: 40px 0;
}
#main .tit_works,
#main .sec_workspace h2{

 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}
#main .sec_workspace h2 span{
}
#main .sec_workspace h2 small{
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}
#main .work_system_list{
 /*`gap: 0;
 justify-content: space-between;*/
 margin-bottom: 2em;
 gap: 1%;
}
#main .work_system_list .small{
 min-height: 6em
}
#main .work_system_list .small br{
 display: none;
}
#main .work_system_list p{ font-size:clamp(0.825rem, 0.78rem + 0.22vw, 1rem);
 min-height: 2.5em;
 min-height: 1em;
}
#main .work_system_list li{
 width: 32%;
 /*width: 48%;
 margin-bottom: 4%;*/
}
#main .work_system_list a{
 padding: 10px;
 border-radius: 10px;
}
#main .work_system_mark_list{
}
#main .work_system_mark_list li{
 /*width: 48%;
 margin-bottom: 4%;*/
}
#main .work_system_mark_list a{
 border-radius: 50%;
}
#main .work_system_mark_list a::before{
 width: 30px;
 height: 30px;
}
#main .work_system_list img{
 /*width: 59px;*/
 width: 80px;
}
#main .work_system_mark_list img{
 width: 100%;
}
#main .sec_work_system{
 background: #f6f6f6;
 padding: 50px 0;
}
#main .slide_news h3{
 font-size: 1rem;
}
#main .slide_news h3 small{ font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);}
.system_area{
 padding: 20px;
 border-radius: 20px;
 margin-bottom: 20px;
}
#main .system_area_img img{
 width: 120px;
}
#main .system_area h3{
 font-size: clamp(1.125rem, 0.9545rem + 0.7273vw, 1.5rem);
}
.btn_system_close{
 padding: 12px;
}
.contat_nav{
 padding: 25px 10px;
}
#main .contat_nav h2{
 font-size: 1rem;
}
#main .contat_nav ul{
 display: block;
}
#main .contat_nav ul a{
 display: block;
 padding:  0.5em 0;
}
/*============================================================
	interview
============================================================*/
.interview_grp{
 display: block;
}
.sec_oneday_item,
.sec_interview_item{
 width: 100%;
 margin-bottom: 10%;
}
.btn_play::before{
 font-size: 60px;
}
.sec_oneday_item img,
.sec_interview_item img{
 border-radius: 10px;

}
#main .sec_interview_item h2{
 font-size: 1rem;
 margin: 0.5em 0;
}
#main .sec_interview_item p{
 font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
 margin: 0;
}
#main .sec_oneday_item h2{
 font-size: 1rem;
}
#main .sec_oneday_item h2 small{
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}
/*============================================================
	main_shoparea
============================================================*/
.main_shoparea{
 display: block;
}
#main .workspace_image strong {
 font-size: 30px;
 padding-left: 10px;
}
.main_shoparea .pic{
 width: 100%;
 margin-bottom: 30px;
}
.main_shoparea .txt_box{
 width: 100%;
}
#main .main_shoparea h1{
 line-height: 1.5;
 font-size: 1rem;
}

#main .main_shoparea h2{
 margin-top: 1em;
 font-size: clamp(1.125rem, 0.9545rem + 0.7273vw, 1.5rem);
}
#main .list_town{
 margin: 0;
 display: flex;
 justify-content:flex-start;
 flex-wrap: nowrap;
 overflow-x: scroll;
}
#main .list_town li{
 /*margin-bottom: 5%;
 width: 49%;*/
 min-width: 40%;
 margin-right: 10px;
}
#main .list_town figcaption{
 text-align: center;
 font-weight: bold;
}
#main .list_voice{
 margin: 0;
}
#main .list_voice li{
 margin: 0;
 padding: 30px;
 border-radius: 20px;
 border: 2px solid #9ec6af
}
#main .list_voice .pic img{
 border-radius: 50%;
 width: 100px;
 height: 100px;
 object-fit: contain;
}
.slide_voice .owl-prev,.slide_voice .owl-next{
 top: calc(50% - 35px);
}
.work_map{
 width: 100%;
 max-width: 840px;
 height: 570px;
 margin: auto;
}
.work_map iframe{width: 100%;
 height: 100%;

}
/*============================================================
	work_list
============================================================*/
#main .work_read{
 text-align: center;
 line-height: 2;
 margin: 0;
 padding-bottom: 50px;
}
.sec_page #main.workspace{
 background-size: 100% 280px;
}
#main .main_shoparea .txt_address{
 line-height: 1;
}
#main .main_shoparea .txt_address i{
 color: #236a8c;
 font-size: 200%;
 vertical-align: middle;
}
#main .tit_shoparea{
 font-size: clamp(1.125rem, 0.9545rem + 0.7273vw, 1.5rem);
 margin: 0 0 0 0;
 padding-top: 2em;
}
#main .tit_shoparea+p{
 line-height: 1.5;
}
.list_shop{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.list_shop li{
 width: 49%;
 margin-bottom: 5%;
}

#main .shop_name{
}
#main .shop_name img{
 width: 30px;
 height: 30px;
 border-radius: 50%;
}
.recruit_pic{
 margin-bottom: 20px;
}
.tit_page+.recruit_pic{
 margin-top: 50px;
}

#main .recruit_pic ul{
 width: auto;
 animation: infinity-scroll-left 20s infinite linear 0s both;
}
#main .recruit_pic ul+ul{
 display: flex;
}
#main .recruit_pic li{
 width:calc(100vw / 2 - 10px);
 background-size: 100% auto;
 background-position: center center;
 margin: 0 5px;
}
@keyframes infinity-scroll-left {
 from {
  transform: translateX(0);
 }
 to {
  transform: translateX(-100%);
 }
}
/*============================================================
	recruit_list
============================================================*/
#main #outline,#main #about{
 margin-top: 35px;
}
#main #outline+#about{ margin-top: 0;}
#main .tit_recruit{
 font-size: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}

#main .txt_recruit{
 line-height: 2;
 margin:0;
 text-align: left;
}

#main .tbl_traning{
 width: 100%;
 display: block;
}
#main .tbl_traning tr,
#main .tbl_traning tbody{
 display: block;
}
#main .tbl_traning th,
#main .tbl_traning td{
 vertical-align: top;
 padding: 0.5em 0;
 border-bottom: 0;
 width: 100%;
 display: block;
}

#main .tbl_traning th{  white-space:normal; padding-right: 0;}
#main .tbl_traning td{ border-bottom: 1px solid #eee; padding-bottom: 1em; }

.graph_grp {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 15px;
    padding-left: 20px;
    padding-right: 20px;
    gap: 20px;
  }

  .graph_grp_item {
    flex: 0 0 240px;
    box-sizing: border-box;
		margin-bottom: 5%;
  }
#main .sec_recruit .tit_shoparea{
 margin-bottom: 1em;
 line-height: 1.25;
}
#main .graph_grp_item dt{
 font-size: 1rem;
}
#main .graph_grp_item dd{
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
 white-space: normal;
}
#main .recruit_flow_list li::before{
 border: 10px solid transparent;
 border-top-color: #236a8c;
 bottom: -20px;
 left:  calc(50% - 10px);
}
#main .recruit_flow_list li:last-child::before{
 content: normal;
}
#main .recruit_flow_list li{
 margin: 0 0 20px 0;
 padding: 15px 10px;
 border-radius: 20px;
}

#main .recruit_flow_list h3{
 font-size: 1rem;
}
#main .recruit_flow_list h3 small{
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}
#main .tit_shoparea_s{
 text-align: center;
 line-height: 1;
 font-size: clamp(1.125rem, 0.9545rem + 0.7273vw, 1.5rem);
 margin: 2em 0;
 color: #236a8c;
}
.sec_recruit{
 padding:  35px 0;
}
#main .sec_recruit tanle,
#main .sec_recruit tr,
#main .sec_recruit tbody,
#main .sec_recruit th,
#main .sec_recruit td{
 width: 100%;
 display: block;
 border: 0;
}
#main .sec_recruit th{
 border-bottom: 1px solid #eee;
}
.sec_recruit_treatment_item{
 padding: 20px;
 border-radius: 10px;
}
#main .btn_mypage{
 font-size: 1rem;
 padding: 16px 10px;
 border-radius:10px;
}
/*============================================================
	about
============================================================*/
#main .about_link{
 margin: 45px 0 25px 0;
 flex-wrap: wrap;
}
#main .link_space{
 margin-bottom: 130px;
}
#main .about_link li{
 width: 50%;
 font-size: clamp(0.875rem, 0.826rem + 0.22vw, 1rem);
}
#main .about_link_sp li{
 width: 33%;
}

#main .about_link a{
 padding:  10px 5px 25px 5px;
}
#main .about_link a::before{
 width: 6px;
 height: 6px;
 border-top: 3px solid #00a040;
 border-right: 3px solid #00a040;
 bottom: 10px;
 margin-left: -3px;
}
#main .sec_about{
 padding: 45px 0;
}
#main .sec_about_goal p{
 font-size: 1rem;
 line-height: 1.5;
}
#main .sec_about_goal strong{
 color: #009e41;
}
#main .tit_about{
 font-size: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}
#main .tit_about::before{
 top: calc(50% - 2px);
 height: 4px;
}
#main .tit_about{color: #236a8c;}
#main .tit_about::before{ background: #236a8c;}
#main .sec_about_goal .tit_about{color: #009e41;}
#main .sec_about_goal .tit_about::before{ background: #009e41;}
#main .sec_about_history .tit_about{color: #fff;}
#main .sec_about_history .tit_about::before{ background: #fff;}

.grp_about{
 display: block;
}
.grp_about .pic{ display: block;width: 100%; text-align: center; margin-bottom: 2em;}
.grp_about .pic img{
 max-width: 120px;
}
.grp_about .txt{ width: 100%;max-width:480px;margin:auto;}
#main .grp_about .txt p{ margin-bottom: 1.5em; line-height: 1.5;}

#main .philosophy_1,
#main .philosophy_2,
#main .philosophy_3{
 font-size: 1rem;
}
#main .txt_year_b{
 font-size: 1rem;
}
.slide_history{
 margin-top: 25px;
}
.slide_history li{
 padding: 0 5%;
}
#main .slide_history h3{
 margin: 0 0 1em 0;
 font-size: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}
.sec_about_history .txt_box{
 padding: 10px;
}
.sec_about_kogin{
 background: #f6f6f6;
}
.sec_about_kogin_item{
 padding: 20px;
 border-radius: 20px;
}
.sec_about_kogin_item_2{
 width:100%;
 margin-top: 5%;
}
.sec_about_kogin_item_4{
 width: 100%;
 margin-top: 5%;
}
.data_img img{
 max-width: 80px;
}
.data_img_l img{
 max-width: 100%;
}
.sec_about_kogin_item_3{
 width: 100%;
 margin-top: 5%;
 justify-content: center;
}
.sec_about_kogin_item > .sec_about_kogin_item_3{
	margin-bottom: 3em;
}

.slide_history .owl-prev,
.slide_history .owl-next{
 top: 50%;
}
.sec_about_kogin_item_3 h3{
 width: 100%;
}
#main .sec_about_kogin_item p{
 text-align: center;
}
#main .sec_about_kogin_item h3{

 text-align: center;
}
.data_graph{ width: 50%;
 margin-right: 5%;}
#main .sec_about_kogin_item .sec_about_kogin_item_3 p{
 text-align: left;
 line-height: 1.3;
 width: 100%;
 align-items: center;
 justify-content: center;
}
.grp_about_kogin_item{
 display: block;
 margin-bottom: 25px;
}
.grp_about_kogin_item p{
 text-align: center;
}
.kougin_graph_item{
 width: 100%;
 margin-top: 2em;
}
#main .tit_data{
 font-size: clamp(1.125rem, 0.9545rem + 0.7273vw, 1.5rem);
}
#main .sec_about_kogin_item h3{
 font-size: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}
#main .sec_about_kogin_item h3 small{ display: block;
line-height: 2;
font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}
#main .sec_about_kogin_item_4 h3{
 min-height: 3.2em;
}
#main .sec_about_kogin_item .kougin_graph_item h3{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
#main .kougin_graph_item h3 strong{
 font-size: clamp(1.0625rem, 0.9773rem + 0.3636vw, 1.25rem);
}
#main .kougin_graph_item h3 big{
 font-size: 150%;
}
#main .txt_shop_count_1{
 font-size: 2rem;
}
#main .txt_shop_count_2{
 font-size: clamp(1.125rem, 0.9545rem + 0.7273vw, 1.5rem);
}
#main .txt_shop_count_3{
 font-size: clamp(1.125rem, 0.9545rem + 0.7273vw, 1.5rem);
}
.data_ikykyu img{
 width: 24px;
}
.slide_attempt li{
 padding: 20px 20px;
}
.slide_attempt ul .slide_attempt_item{
 padding: 20px 15px;
 border-radius: 20px;
}
#main .slide_attempt h3{
 top: -20px;
 left: -18px;
 padding: 10px 0 20px 20px;
 z-index: 1;
 font-size: 1rem;
}
.sec_about_attempt .inner{
 padding: 0;
}
.sec_about_attempt .tit_about{
 margin: 0 10px;
}
#main .slide_attempt h4{
 font-size: 1rem;
}
#main .slide_attempt h4 i{
 font-size: 42px;
}
#main .sec_about_attempt{ padding-bottom: 0}
.slide_attempt .owl-prev{ left: 5px;}
.slide_attempt .owl-next{ right: 5px}
/*============================================================
	traning
============================================================*/
.graph_traning{
 overflow: auto;
}
.graph_traning img{
 width: 178%;
 max-width: 178%;
}
#main .tbl_traning th{
 font-size: 1rem;
 width: 100%;
 padding: 10px;
}
#main .tbl_traning td{
 width: 100%;
 padding: 10px;
}
.sec_fukuri,.sec_traning{
 padding: 35px 0 0 0;
}
/*============================================================
	fukuri
============================================================*/

.sec_health{
 margin-top: 25px;
 border: 2px solid #00a040;
 padding: 20px;
 border-radius: 10px;
}
#main .sec_health h3{
 margin: 0;
 font-size: 1rem;
}
#main .sec_health p+h3{
 margin: 2em 0 0 0;
}
#main .sec_health p{
 margin: 0
}
#main .shataku_list img,
#main .club_list img{ width: 100%;}
#main .shataku_list,
#main .club_list{
 grid-template-columns: repeat(2, 1fr);  column-gap: 2%; row-gap: 2%;
 margin: 15px 0 0 0;
}
#main .club_list{
 display: block;
}
#main .club_list li{
 margin-bottom: 3em;
}
#main .shataku_list{
 flex-wrap: nowrap;
 overflow: auto;
 display: flex;
 padding-bottom: 10px;

}
#main .shataku_list li{
 min-width: 150px;
}
/*============================================================
	wb
============================================================*/
.sec_wb{
 padding: 35px 0 0 0;
}
#main .work_system_list_jump li{
 width: 49%;
}
#main .work_system_list_jump{
 margin-top: 25px;
}
#main .tbl_ov:before {
    font-family: "FontAwesome","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","meiryo","MS P Gothic","ＭＳ Ｐゴシック","Osaka",sans-serif;
    content: "\f07e  左右にスワイプしてご覧ください";
    display: block;
    font-size: 80%;
    color: #666;
    margin-bottom: 1em
}
/*============================================================
	sec_top_recruit
============================================================*/

#main .sec_top_recruit{
 padding: 50px 0;
}
#main .sec_top_recruit h2{
 font-size: 2rem;
}
#main .sec_top_recruit ul{
 margin: 0;
}
#main .sec_top_recruit li{
 width: 100%;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}

/*============================================================
	recruit_table
============================================================*/
  #main .sec_recruit table.recruit_table {
    display: table !important;
    width: 100% !important;
    min-width: 0 !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    padding: 0 !important;
    table-layout: fixed !important;
  }
  #main .sec_recruit table.recruit_table thead {
    display: table-header-group !important;
  }
  #main .sec_recruit table.recruit_table tbody {
    display: table-row-group !important;
  }
  #main .sec_recruit table.recruit_table tr {
    display: table-row !important;
  }

  #main .sec_recruit table.recruit_table th,
  #main .sec_recruit table.recruit_table td {
    display: table-cell !important;
    padding: 10px 2px !important;
    border: 1px solid #7cb97d !important;
    text-align: center !important;
    vertical-align: middle !important;
    font-size: 13px !important;
    color: #333 !important;
    width: auto !important;
    white-space: normal !important;
    word-break: break-all !important;
  }

  #main .sec_recruit table.recruit_table th[scope="row"] {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  #main .sec_recruit table.recruit_table thead th {
    background-color: #4caf50 !important;
    color: #fff !important;
    font-weight: bold !important;
  }
  #main .sec_recruit table.recruit_table tbody th {
    background-color: #f9fff3 !important;
    font-weight: bold !important;
  }
  #main .sec_recruit table.recruit_table .row_sum th,
  #main .sec_recruit table.recruit_table .row_sum td {
    background-color: #dcffd6 !important;
    font-weight: bold !important;
  }
	/*============================================================
		recruit_table_scroll
	============================================================*/
	#main .sec_recruit .scroll_hint {
	    display: none !important;
	  }

  #main .sec_recruit .scroll_wrap {
    width: 100% !important;
    overflow-x: hidden !important;
    display: block !important;
    padding-bottom: 0 !important;
  }
	#main .sec_recruit .table_scroll_container {
			position: relative;
			margin-top: 30px;
		}

		#main .sec_recruit .scroll_wrap {
			width: 100% !important;
			overflow-x: auto !important;
			display: block !important;
			-webkit-overflow-scrolling: touch;
			padding-bottom: 10px;
		}
		#main .sec_recruit .scroll_wrap table.recruit_table {
			display: table !important;
			width: 100% !important;
			min-width: 600px !important;
			border-collapse: collapse !important;
			margin: 0 !important;
			padding: 0 !important;
			table-layout: fixed !important;
		}

		#main .sec_recruit .scroll_wrap table.recruit_table thead {
			display: table-header-group !important;
		}
		#main .sec_recruit .scroll_wrap table.recruit_table tbody {
			display: table-row-group !important;
		}

		#main .sec_recruit .scroll_wrap table.recruit_table tr {
			display: table-row !important;
		}

		#main .sec_recruit .scroll_wrap table.recruit_table th,
		#main .sec_recruit .scroll_wrap table.recruit_table td {
			display: table-cell !important;
			padding: 12px 10px !important;
			border: 1px solid #4caf50 !important;
			text-align: center !important;
			vertical-align: middle !important;
			font-size: 14px !important;
			color: #333 !important;
			width: auto !important;
			white-space: nowrap !important;
		}

		#main .sec_recruit .scroll_wrap table.recruit_table thead th {
			background-color: #4caf50 !important;
			color: #fff !important;
			font-weight: bold !important;
		}
		#main .sec_recruit .scroll_wrap table.recruit_table tbody th {
			background-color: #f9fff3 !important;
			font-weight: bold !important;
		}
		#main .sec_recruit .scroll_wrap table.recruit_table .row_sum th,
		#main .sec_recruit .scroll_wrap table.recruit_table .row_sum td {
			background-color: #dcffd6 !important;
			font-weight: bold !important;
		}

		#main .sec_recruit .table_scroll_container .scroll_hint {
			display: flex !important;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: rgba(0, 0, 0, 0.15);
			align-items: center;
			justify-content: center;
			pointer-events: none;
			transition: opacity 0.4s ease;
			z-index: 10;
		}
		#main .sec_recruit .table_scroll_container .scroll_hint.is-hidden {
			opacity: 0 !important;
		}
		#main .sec_recruit .table_scroll_container .scroll_hint_inner {
			background: rgba(0, 0, 0, 0.7);
			color: #fff;
			padding: 12px 20px;
			border-radius: 8px;
			text-align: center;
			font-size: 14px;
		}
		#main .sec_recruit .table_scroll_container .scroll_hint_inner i {
			display: block;
			font-size: 20px;
			margin-bottom: 5px;
			animation: scroll_wave 1.5s infinite ease-in-out;
		}

/*card list*/
#main .card-container_row {
    flex-direction: row;
    gap: 20px;
  }
#main .card-container_column {
    flex-direction: column;
    gap: 20px;
  }
#main .card-container_column .card {
    padding: 24px 20px;
  }

	#main .card-container_row {
	    overflow-x: auto;
	    white-space: nowrap;
	    -webkit-overflow-scrolling: touch;
	    padding: 20px;
	    margin: 0 -20px;
	    gap: 16px;
	  }
	#main .card-container_row .card {
	    flex: 0 0 85%;
	    max-width: 320px;
	    white-space: normal;
	    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	  }
	#main .card:hover {
	    transform: none;
	    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	  }

/*workspace_link*/
#main .page_workspace_link{
text-align:center;margin-bottom:0;padding-bottom:70px;font-size:88%}
#main .page_workspace_link a{
display:inline-block;text-align:center;text-decoration:none;padding:10px 1em;border:2px solid #eee;color:#999}

/*outline*/
#main #outline p,
#main #outline th,
#main #outline td{font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);}

/*============================================================
	under 480px
============================================================*/
@media screen and (max-width: 480px) {
	.graph_grp {
    padding-right: 20px;
  }
  .graph_grp_item:last-child {
    margin-right: 0;
  }
	.sec_nav_oth li{
		width: 80%;
	}
	/* 汎用グリッドシステム */
 #main .col_1, #main .col_2, #main .col_3, #main .col_4 {
     width: 100%;
   }
  #main .col_1.col_harf, #main .col_2.col_harf,#main .col_3.col_harf,#main .col_4.col_harf {
     width: 50%;
   }
}
