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

	採用サイト　PC・共通レイアウト定義

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

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


*{
	box-sizing: border-box;
}
html,
body{
	margin: 0;
	padding: 0;
}
.slide_attempt .owl-stage{
	padding-left: 0 !important;
}
/*
html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}*/
html{
	overflow-y:scroll;
 font-size: 100%;
 scroll-behavior: smooth;
 scroll-padding-top: 100px;
}
h1,h2,h3,h4,h5,h6,dt{
 font-feature-settings: "palt";
}
h1,h2,h3,h4,h5,h6,
p,ul,ol,dl,dt,dd,li,
table,td,th,
address,
blockquote,form,fieldset,legend,div,hr,pre{
	margin: 0;
	padding: 0;
	font-style: normal;
	text-align: left;
	font-size: 100%;
	line-height: 1.2;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}


body{
	background: #FFF;
 color: #333;
	/*font-family: zen-kaku-gothic-new,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","meiryo","MS P Gothic","ＭＳ Ｐゴシック","Osaka", sans-serif;*/
font-family: "メイリオ","meiryo","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","MS P Gothic","ＭＳ Ｐゴシック","Osaka", sans-serif;
	text-align: center;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-wrap: break-word;
	overflow-wrap: break-word;
	font-size: 1rem;
}
.wf-loading body {
  opacity: 0;
}
.wf-active body,
.wf-inactive body {
  opacity: 1;
  transition: opacity 0.2s ease;
}


h2,
h3,
h4,
h5,
.main_shoparea h2,
.tit_about,
.about_link,
.btn_menu_contact,
.tit_shoparea_s,
.recruit_flow_list h3,
.tit_recruit,
.tit_shoparea,
.system_area h3,
.tit_works,
#modal-close,
.tit_faq_category,
.ico_faq_q,
.ico_faq_a,
.slide_news h3,
.sec_day_item i,
.tit_sub,
.tit_schedule_main,
.tit_page,
.faq_list_area_item h2,
.faq_list i,
.tit_qa,
.tit_qa+h1,
.tit_qa+p, .sec_top_qa h2+p,
.sec_top_qa h2,
.sec_top_qa h3,
.tit_top,
.btn_menu{
	font-family: amifer,zen-maru-gothic,Arial, Helvetica,"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO","sans-serif"
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th,td{
	vertical-align: top;
}

svg,
img{
	border: 0;
	vertical-align: top;
	outline: none;
	max-width: 100%;
	height: auto;
}
svg {
 overflow-x: visible;
 overflow-y: visible;
}
img,
input,
select,
textarea{
	margin-top: 0;
	margin-bottom: 0;
	vertical-align: middle;
	font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
select,
input[type="button"],
input[type="submit"] {
 appearance: none;
}
select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"]{
 padding:  5px;
 border: 1px solid #ccc;
}
button{
	background-color: transparent;
	border: 0;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

::-webkit-input-placeholder{
    color: #ccc;
}
::-moz-placeholder{
    color: #ccc;
}
:-moz-placeholder{
    color: #ccc;
}
:-ms-input-placeholder{
    color: #ccc;
}

abbr{
	border: 0;
}

hr{
	margin: 2em 0;
	display: block;
	border: 0;
	border-bottom: 1px solid #ddd;
	clear: both;
}

img{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;

	-moz-transition: 0.5s;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	vertical-align: top;

	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
	user-drag: none;
}

iframe{
	display: block;
	vertical-align: top;
}

i,
em{
	font-style: normal;
}

a{
	color: #333;
	background: transparent;
	transition: 0.25s;
}

a:hover,
a:focus{
	color: #666;
 opacity: 0.8;
}

a:hover img{
}

ul li{
	list-style: none;
}

::selection{background-color:#00a040; color: #fff; }
::-moz-selection {background-color:#00a040; color: #fff; }
input::selection,
textarea::selection{background-color:#b6d6fd; color: #333; }
input::-moz-selection,
textarea::-moz-selection{background-color:#b6d6fd; color: #333; }

div,
ul,
section,
article{
	width: auto;
}

.tel_dis{ cursor: default; }

.sp_i{ display: none; }
.sp_b{ display: none; }

.pc_i{ display: inline; }
.pc_b{ display: block; }

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

.txt_c{ text-align: center;}
.txt_r{ text-align: right;}
.txt_l{ text-align: left;}



/*============================================================
	youtube
============================================================*/

.video_area{
    position:relative;
    padding-bottom: 56.25%;
    height:0;
    overflow:hidden;
}
.video_area iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

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

/*============================================================
	Page / column
============================================================*/
#page{
	width: 100%;
	margin: 0 auto;
	text-align: left;
 overflow: hidden;
}
.sec_page{
}
.sec_page #main{
 padding-bottom: 80px;
 padding-top: 140px;
 background: url("../images/bg_page_1.png") repeat-x 50% 70px;
 background-size: 100% 340px;
}
.sec_page_oneday #main{
 padding-bottom: 0;
}
.sec_page_1 #main{
 background-image: url("../images/bg_page_2.png");
}
.sec_page_2 #main{
 background-image: url("../images/bg_page_3.png");
}
.inner{
	width: 100%;
	padding:  0 10px;
 max-width: 1200px;
	text-align: left;
	margin: 0 auto;
	position: relative;
}
.tit_page+.recruit_pic{
 margin-top: 100px;
}
.recruit_pic{
 display: flex;
 overflow: hidden;
 margin-bottom: 40px;
}
#main .recruit_pic ul{
 display: flex;
 width: 100%;
 margin: 0;
 justify-content: space-between;
}
#main .recruit_pic_traning ul{
 width: 100%;
}
#main .recruit_pic ul+ul{
 display: none;
}
#main .recruit_pic li{
 width: 32%;
 background: no-repeat;
 background-size: cover;
 aspect-ratio: 4 / 3;
 height: 100%;
 border-radius: 20px;
 overflow: hidden;
 padding:1em;
 display: flex;
justify-content: flex-end;
align-items: end;
}
#main .recruit_pic li span{
	color:#fff;
	font-size:80%;
}
#main .recruit_pic_traning li{
 width: 48%;
}

/* ==========================================
   汎用グリッドシステム
   ========================================== */
	#main .row {
	   display: flex;
	   flex-wrap: wrap;
	   margin-right: -10px;
	   margin-left: -10px;}

	#main .col {
	   position: relative;
	   width: 100%;
	   padding-right: 10px;
	   padding-left: 10px;
	   box-sizing: border-box;}

	#main .col_1 {
	   width: 100%;}

	#main .col_2 {
	   width: 50%;}

	#main .col_3 {
	   width: 33.3333%;}

	#main .col_4 {
	   width: 25%;}
/*============================================================
	Header
============================================================*/
#page_header{
	text-align: center;
 background: url("../images/bg_hrad.svg") no-repeat top center;
 background-size: 125.0% 100%;
 padding: 20px 0 65px 0;
 position: fixed;
 top: -1px;
 left: 0;
 width: 100%;
 z-index: 100;
}
#page_header .inner{
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.ci{
 width: 140px;
}
.btn_menu_contact{

 display: inline-flex;
 text-decoration: none;
 color: #236a8c;
 margin-left: auto;
 margin-right: 30px;
 padding: 5px;
 font-weight: bold;
}
.btn_menu{
 display: inline-flex;
 align-items: center;
 background: #236a8c;
 color: #fff;
 font-weight: bold;
 padding: 10px 20px;
 border-radius: 40px;
 font-size: 18px;
 position: relative;
 z-index: 20;
 transition: 0.25s;
 line-height: 1;
}
.btn_menu i{
 display: inline-block;
 width: 15px;
 height: 12px;
 position: relative;
 margin-right: 6px;
}
.btn_menu i::before,
.btn_menu i::after{ position: absolute;display: block; content: ""; background: #fff; width: 100%; height: 2px;
 transition: 0.25s;
}
.btn_menu i::before{ top: 0;}
.btn_menu i::after{ bottom: 0;}
.menu_text{display: inline-block;}
.menu_text_on{display: none;}
.menu_on{
 overflow: hidden;
}
html,body{
 overscroll-behavior: contain
}
.menu_on .menu_text{display: none;}
.menu_on .menu_text_on{display: inline-block;}
/*
.main_menu::-webkit-scrollbar {
 display: none;
}*/
.main_menu{
 /*-ms-overflow-style: none;
 scrollbar-width: none;*/
 position: fixed;
 overflow: auto;
 top: 0;
 left: 0;
 bottom: 0;
 width: 100%;
 padding: 20px 0 100px 0;
 background: rgba(35,108,143,0.9);
 color: #fff;
 transform: translateX(2%);
 opacity: 0;
 pointer-events: none;
 transition: 0.25s;
 transition-property: display, opacity, transform;
 transition-behavior: allow-discrete;
}
.main_menu a{
 color: #fff;
}
.main_menu .main_menu_read{
 display: flex;
 align-items: center;
 margin-bottom: -3%;
 position: relative;
}
.main_menu .main_menu_read p:first-child{
 width: 15%;
 margin-right: 4%;
}
.main_menu .main_menu_read p:last-child{
 width: 30%;
}
.mypage_menu .main_menu_read p:last-child{
 width: 21%;
}
#page_header .main_menu .inner{
 display: block;
}

.btn_gototop{
 display: block;
 max-width: 220px;
 margin: 0 0 30px auto;
 text-decoration: none;
 font-weight: bold;
 color: #fff;
 background: none;
 padding: 15px;
 position: relative;
 border-radius: 40px;
 font-size: clamp(0.875rem, 0.818rem + 0.242vw, 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);
}

.menu_on .btn_menu{
 background: #fff;
 color: #236c8f;
}
.menu_on .btn_menu i::before,
.menu_on .btn_menu i::after{
 background: #236c8f;
 top: 4px;
 bottom: auto;
}
.menu_on .btn_menu i::before{
 transform: rotate(-45deg);
}
.menu_on .btn_menu i::after{
 transform: rotate(45deg);
}
.menu_on .main_menu:not(.mypage_menu){
 pointer-events: auto;
 opacity: 1;
 transform: translateX(0);
}
.rec_menu_on .mypage_menu{
 pointer-events: auto;
 opacity: 1;
 transform: translateX(0);
}
.rec_menu_on .btn_menu{ display: none;}
.main_menu .grp{
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
}
.btn_mypage_flt{
 display: block;
 position: fixed;
 bottom: 30px;
 right: 10px;
 width: 128px;
 z-index: 95;
}
.btn_mypage_flt:hover,
.btn_mypage_flt:focus{
 transform: scale(1.05)
}

.mypage_menu{
 _padding-top: 90px;
 background-color: #fff;
 color: #333;
}
.mypage_menu .sec_nav_new{
 background: #f5f5f5;
}
.mypage_menu .sec_nav_new h2{
 color: #333;
}
.tit_entry_mypage{
 text-align: center;
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
 line-height: 1;
 letter-spacing: 0.05em;
 margin-bottom: 2em;
 font-weight: bold;
}
.sec_nav_new .btn_recruit_entry{ background: #006d2c;}
.sec_nav_new .btn_recruit_mypage{ background: #00346c;}
.sec_nav_new .btn_recruit_entry_2{ background: #00a040;}
.sec_nav_new .btn_recruit_mypage_2{ background: #236c8f;}

.btn_mypage_menu_close{
 display: none;
 position: fixed;
 bottom: 30px;
 right: 10px;
 width: 80px; z-index: 100;
}
.rec_menu_on .btn_mypage_menu_close{
 display: block;
}
/*============================================================
	Nav
============================================================*/
.sec_nav_new,
.sec_nav_oth{
 margin-bottom: 20px;
 padding: 25px;
 border-radius: 20px;
 background: #fff;
}
.sec_nav_new h2,
.sec_nav_oth h2{
 line-height: 1;
 margin-bottom: 1em;
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
 color: #333;
}
.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: 48%; margin-bottom: 4%;
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}
@media screen and (max-width: 1080px) {
.sec_nav_oth li{ width: 100%;}
}
.sec_nav_new ul a,
.sec_nav_oth ul a{
 display: block;
 text-decoration: none;
 font-weight: bold;
 color: #333;
 background: #ccc;
 padding: 20px;
 position: relative;
 border-radius: 40px;
}
.nav_1,
.nav_2{
 width: 48%;
}
.nav_2{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.nav_2 .sec_nav_2_item{
 width: 48%;
 margin-bottom: 4%;
}
.nav_2 .sec_nav_2_item h2{
 position: relative;
 border-top: 1px solid #fff;
 border-bottom: 1px solid #fff;
 line-height: 1;
 /*padding: 24px 0 24px 20px;*/
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 margin-bottom: 10px;
}
.nav_2 .sec_nav_2_item h2+h2{
 margin-top: -11px;
}
.nav_2 .sec_nav_2_item a{
 display: block;
 line-height: 1.25;
 padding: 12px 0 12px 20px;
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
 text-decoration: none;
}
.nav_2 .sec_nav_2_item h2 a{
 padding: 24px 0 24px 20px;
}
.sec_nav_new ul a{
 background: #00a040;
 color: #fff;
}
.sec_nav_oth ul a{
 background: #fff;
 color: #00a040;
}
.sec_nav_oth{
 background:#397b9a;
}
.sec_nav_new h2 a,
.sec_nav_new h2{ color: #00a040; text-decoration: none;}
.sec_nav_oth h2{ color: #fff;}
.sec_nav_new ul a::before, .sec_nav_oth ul a::before {
 content: "";
 display: block;
 width: 10px;
 height: 10px;
 position: absolute;
 right: 20px;
 border-top: 4px solid #fff;
 border-right: 4px solid #fff;
 transform: rotate(45deg);    top: calc(50% - 7px);
}
 .sec_nav_oth ul a::before{border-color: #00a040}
/*============================================================
	Main
============================================================*/
#main .main_image{
 min-height: 820px;
 height: 100vh;
 position: relative;
 overflow: hidden;
 display: flex;
 justify-content: flex-start;
 align-items: center;
 margin-bottom: 0;
 z-index: 0;
}
.main_image+#main{
 padding-top: 50px;
}
#main .main_image::before{
 display: block;
 content: "";
 width: 100%;
 height: 80px;
 position: absolute;
 bottom: 0;
 left: 0;
 z-index: 5;
 background: url("../images/bg_hrad_2.svg") no-repeat bottom center;
 background-size: 100% 100%;
}
#main .main_image::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 70, 70, 0.3) 0%, rgba(0, 0, 0, 0) 60%);
  z-index: 2;
  pointer-events: none;}
#main .main_image h2{
 margin-bottom: 30px;
}
#main .main_image p{
 text-shadow: 1px 1px 2px rgba(0, 30, 70, 0.75);
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 line-height: 2;
 /*font-weight: bold;*/
}
#main .main_image .mark{
 display: none;
}
#main .main_image .txt_box{
 position: relative;
 z-index: 3;
 width: 100%;
 padding-left: 6.5%;
 color: #fff;
 max-width:1360px;
 margin:0 auto;
}
#main .main_image li,
#main .main_image ul{
 position: absolute;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
}
#main .main_image ul{z-index: 1;}
#main .main_image ul img{
 height: 100%;
 width: 100%;
 object-fit: cover;
 object-position: center bottom;
}
#main{
	width: 100%;
 position: relative;
 z-index: 4;
 overflow: hidden;
}

/* Main Design */
#main p,
#main li,
#main dd,
#main dt,
#main blockquote,
#main pre,
#main td,
#main th{
	line-height: 2;
	font-size:clamp(0.9375rem, 0.913rem + 0.11vw, 1rem);
}
#main p,
#main ul,
#main dl,
#main ol,
#main blockquote,
#main pre,
#main table{
	margin-bottom: 1em;
}

#main td,
#main th{
	margin-bottom: 0;
}

#main h1,
#main h2,
#main h3,
#main h4,
#main h5,
#main h6{
	font-size: clamp(1.125rem, 1.0114rem + 0.4848vw, 1.375rem);
	line-height: 1.5;
	margin-bottom: 1em;
}

/* default */
#main ul ul,
#main ul p,
#main ul blockquote,
#main ul pre,
#main ul dl,
#main dl dl,
#main dl p,
#main dl ul,
#main dl ol,
#main blockquote p,
#main blockquote ul,
#main blockquote dl,
#main blockquote ol,
#main ol blockquote,
#main ol pre,
#main ol p,
#main td p,
#main td ul,
#main td dl{
}

#main ol li{ margin-left: 1.6em;}

#main *:last-child{
	margin-bottom: 0;
}
#main .change{ text-align: center;}
/*============================================================
	TOP
============================================================*/
#main .inner{
 max-width: 1240px;
}
/* ===== sec_top ===== */
.sec_top{
 margin: auto;
 max-width: 1360px;
 margin-bottom: 120px;
}
.sec_top .grp{
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.sec_top .pic{
 width: 55%;
}
.sec_top .pic img{
 display: block;
 border-radius: 20px;
}
.sec_top .txt_box{
 width: 39.5%;
 position: relative;
}
#main .sec_top_1 .pic,
#main .sec_top_2 .pic{
 position: relative;
}
#main #top_about .pic img{
 border-top-right-radius: 0;
 border-bottom-right-radius: 0;
}
@media screen and (min-width: 1360px) {
 #main #top_about .pic img{
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
 }
}
#main #top_about .pic img,
#main #top_work .pic img{
 width: 100%;
 height: 360px;
 object-fit: cover;
 object-position: center center;
}
#main #top_work .pic img{
 border-top-left-radius: 0;
 border-bottom-left-radius: 0;
}
#main #top_about .txt_box{
 padding-left: 10%;
}
#main #top_work .txt_box{
 padding-right: 10%;
}
#main .sec_top_1 .pic::before,
#main .sec_top_2 .pic::before{
 content: "";
 display: block;
 position: absolute;
 z-index: -1;
 width: 100%;
 background: no-repeat 0 0;
 background-size: contain;
 /*animation: float 2s infinite;*/
 transform: translateY(var(--y-pos));
}
@keyframes float{
 0%{
  transform: translateY(0%)
 }
 50%{
  transform: translateY(1%)
 }
 100%{
  transform: translateY(0%)
 }
}
#main #top_about .pic::before{
 width: 37.5%;
 height: 280px;
 background-image: url("../images/bg_top_1.png");
 top: -8%;
 left: -15%;
}
#main #top_work .pic::before{
 width: 106%;
 height: 515px;
 background-image: url("../images/bg_top_2.png");
 top: -25%;
 right: -10%;
}
#main #top_quest .pic::before{
 width: 81.25%;
 height: 425px;
 background-image: url("../images/bg_top_3.png");
 top: -25%;
 right: 2%;
}
#main #top_oneday .pic::before{
 width: 92%;
 height: 420px;
 background-image: url("../images/bg_top_4.png");
 top: -30%;
 left: 2%;
}

#main .sec_top_1 .pic{ order: 2}
#main .sec_top_1 .txt_box{ order: 1}
#main .sec_top p{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 line-height: 1.875;
}

#main .slide_1{
 width: 85%;
 margin: auto;
}
#main #top_quest h3{
 margin: 1em 0 0.25em 0;
}
#main #top_oneday h3{
 margin: 1em 0 0.25em 0;
 text-align: center;
 color: #00a040;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
}
#main #top_oneday h3 small{
 display: block;
 text-align: center;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
#main .slide_1 a{
 display: block;
 text-decoration: none;
}
#main .tit_top{
 line-height: 1.25;
 font-size: clamp(1.4rem, 1.01rem + 1.5vw, 2.25rem);
 color: #00a040;
 margin-bottom: 0.75em;
 font-weight: 900;
}
#main .tit_top+p{
 margin-bottom: 3em;
}
#main .tit_top img{
 display: block;
 margin: 0 auto 10px 0;
 max-width: 226px;
 width: 100%;
}
/* ===== btn_l_more ===== */
.btn_l_more{
 display: block;
 text-decoration: none;
 border-radius: 10px;
 padding: 20px;
 line-height: 1;
 color: #fff;
 background: #00a040 url("../images/bg_ar_r_w.png") no-repeat;
 background-position: calc(100% - 16px) 50%;
 background-size: 30px auto;
 font-size: 1.12rem;
 font-weight: bold;
 margin: auto;
 width: 100%;
 max-width: 460px;
}

.btn_s_more{
 display: inline-block;
 text-decoration: none;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 text-align: left;
 width: 100%;
 max-width: 200px;
}
.btn_l_more:hover,
.btn_l_more:focus{
 color: #fff;
 opacity: 0.75;
}
/* ===== sec_top_qa ===== */
.sec_top_qa{
 padding:  40px 0 60px 0;
 background: url("../images/bg_top_5.png") no-repeat;
 background-position: 50% var(--y-pos);
 background-size: 100%;
}
.bgMark .sec_top_qa{
 background: none;
}
#main .tit_qa,
#main .sec_top_qa h2{
 text-align: center;
 color: #00a040;
 font-weight: 900;
 font-size: clamp(3rem, 2.3182rem + 2.9091vw, 4.5rem);
 line-height: 1.25;
 margin: 0;
}
#main .tit_qa{ line-height: 1;}
#main .tit_qa+h1,
#main .tit_qa+p,
#main .sec_top_qa h2+p{
 text-align: center;
 color: #00a040;
 font-weight: bold;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 line-height: 1;
 margin: 1em 0 2em 0;
}
#main .sec_top_qa h2+p{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 margin-top: 1.68em;
}
#main .sec_top_qa h3{
 text-align: center;
 color: #00a040;
 font-weight: 900;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 line-height: 1.5;
 margin: 1em 0 1em 0;
}

#main .tit_qa+p+p,
#main .sec_top_qa h3+p{
 text-align: center;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 line-height: 1.5;
 margin: 1em 0 3em 0;
}
#main .tit_qa+p+p{
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}
/* ===== path ===== */
#main .path{
 display: flex;
 align-items: center;
 font-size: 0.8125rem;
 margin-bottom: 4em;
}
#main .path i{
 margin: 0 5px;
}
#main .path a{
 color: #333;
 text-decoration: none;
}
#main .path em{
 font-weight: bold;
}
#main .sec_contact_box{
 background: #e4f5e9;
 padding:  50px 0;
 text-align: center;
}
#main .sec_contact_box .tit_sub{
 margin-bottom: 0.5em
}
#main .sec_contact_box p{
 text-align: center;
}
.sec_contact_tel{
 background: rgba(1,1,1,0.05);
 max-width: 400px;
 border-radius: 20px;
 padding: 20px;
 margin: auto;
 line-height: 1;
}
#main .txt_contact_mail{
 margin-bottom: 2em;
}
.txt_contact_mail a i{ margin-right: 10px;}
.txt_contact_mail a{
 display: inline-block;
 margin-bottom: 4em;
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
 padding: 10px 0;
 font-weight: bold;
 background: #fff;
 color: #00a040;
 border: 4px solid #00a040;
 border-radius: 40px;
 width: 100%;
 max-width: 400px;
 text-align: center;
 text-decoration: none;

}
#main .sec_contact_tel h3{
 text-align: center;
}
#main .sec_contact_tel p{
 line-height: 1;
}
#main .sec_contact_tel a{
 font-weight: 900;
 font-size: 2rem;
}
#main .sec_contact_tel img{
 vertical-align: middle;
 width: 50px;
}
/* ===== faq_list_area_item ===== */
.faq_list_area{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: auto;
 max-width: 1100px;
 padding-bottom: 60px;
}
.faq_list_area_item{
 padding: 40px 20px 20px 20px;
 border-radius: 20px;
 box-shadow: 0 0 10px #e4e4e4;
 width: 48.5%;
 margin-bottom: 4%;
}
#main .faq_list_area_item h2{
 text-align: center;
 color: #00a040;
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
 line-height: 1;
}
#main .faq_list{
 border-top: 1px solid #e4e4e4;
}
#main .faq_list li{
 border-bottom: 1px solid #e4e4e4;
 line-height: 1;
 font-weight: bold;
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}
#main .faq_list a{
 display: block;
 line-height: 1;
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
 padding: 1em 0;
 text-decoration: none;
}
.faq_list i{
 color: #00a040;
 font-weight: 900;
 vertical-align: text-top;
 margin-right: 5px;
}
.btn_more{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 font-weight: bold;
 line-height: 1;
 display: block;
 margin: auto;
 max-width: 280px;
 color: #00a040;
 border: 4px solid #00a040;
 padding: 1em;
 text-align: center;
 text-decoration: none;
 border-radius: 40px;
 position: relative;
}
.btn_more::before{
 display: block;
 width: 10px;
 height: 10px;
 content: "";
 transform: rotate(45deg);
 border-top: 4px solid #00a040;
 border-right: 4px solid #00a040;
 position: absolute;
 right: 15px;
 margin-top: 2px;
}
.btn_more:hover,
.btn_more:focus{
 color: #00a040;
 opacity: 0.75;
}
/* ===== tit_page ===== */
#main .tit_page{
 text-align: center;
 color: #00a040;
 font-size: clamp(2rem, 1.8182rem + 0.7758vw, 2.25rem);
 line-height: 1;
 font-weight: bold;
}
#main .tit_page img{
 display: block;
 margin: 0 auto 10px auto;
 max-width: 226px;
 width: 100%;
}
#main .tit_page small{
 display: block;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 margin-top: 1em;
}
#main .schedule_main{
 margin: 70px auto 40px auto;
 border-radius: 20px;
 overflow: hidden;
 max-width: 920px;
}
#main .schedule_main img{ width: 100%;}
#main .inner_s{
 max-width: 1000px;
}

#main .sec_about .inner_s{padding:0 30px;}

#main .inner_m{
 max-width: 1160px;
}
#main .inner .inner_s{
 max-width: 980px;
 padding: 0;
}
#main .inner_xs{
 max-width: 860px;
}
#main .schedule_grp{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 60px 0;
 margin-top: 40px;
}
#main .tit_schedule_main{
 line-height: 1;
 color: #00a040;
 font-size: 2.625rem;
 margin-bottom: 0.5em;
 width: 100%;
}
.schedule_read,
.sec_schedule{
 width: 49%;
}
.sec_day_oth{
 padding: 65px 0;
 background: #e4f5e9;
}
#main .sec_schedule{
 background: #f6f6f6;
 padding: 20px;
 border-bottom: 20px;
 border-radius: 20px;
}
#main .sec_schedule h2{
 line-height: 1;
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}
#main .sec_schedule ol{}
#main .tit_schedule_main small{
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
 vertical-align: bottom;
}
#main .tit_schedule_main small{
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
 vertical-align: bottom;
}
.sec_schedule_text{ width: 30%; margin-bottom: 4%;}
.sec_schedule_text h2{
 margin: 0 0 1em 0;
 color: #00a040;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
#main .schedule_read p,
#main .sec_day_item p,
#main .sec_schedule_text p{ line-height: 2;}
#main .sec_day_item p,
#main .sec_schedule_text p{font-size:clamp(0.875rem, 0.86rem + 0.065vw, 0.938rem);}
.schedule_grp::after{
 display: block;
 content: "";
 width: 32%;
}
.sec_day{
 padding: 55px 0;
 background: #f6f6f6;
}
.sec_voice{
 padding-bottom: 55px;
}
#main .tit_sub{
 text-align: center;
 color: #00a040;
 font-size: 2.625rem;
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
 line-height: 1;
 margin-bottom: 1.5em;
}
#main .tit_sub img{
 display: block;
 max-width: 120px;
 margin: 0 auto 30px auto;
}
#main .tit_interview{
	margin: 60px 0 0 0;
  font-size: xxx-large;
  color: #ccc;
}

#main .sec_day_item h3{
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}

#main .sec_day_item{
	flex: 0 0 33.333%;
  position: relative;
  padding-top: 40px;
  box-sizing: border-box;
  padding-right: 10px;
	padding-left:10px;
	max-width: 400px;
}
#main .sec_day_item::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 0;
  width: 100%;
  height: 1px;
  border-top: 2px dashed #ccc;
  z-index: 1;
}
.sec_day_item h3 {
  position: relative;
}
#main .sec_day_item i{
 font-weight: 900;
 padding: 10px 1em;
 color: #fff;
 background: #00a040;
 line-height: 1;
 display: inline-block;
 margin-right: 0.25em;
}
.sec_day_item h3 i::before {
  content: "";
  position: absolute;
  top: -33px;
  left: 2em;
  transform: translateX(-50%);
  width: 12px;
  height: 12px;
  background-color: #00a040;
  border-radius: 50%;
  z-index: 2;
  border: 3px solid #f6f6f6;
}
.sec_day_item:nth-child(3n)::after {
  content: "";
  position: absolute;
  top: 11px;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #ccc;
  z-index: 3;
}
.sec_day_item:last-child::after {
  content: "";
  position: absolute;
  top: 11px;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #ccc;
  z-index: 3;
}
#main .sec_day_item img{
 display: block;
 width: 100%;
 border-radius: 20px;
 overflow: hidden;
}
#main .sec_staff{
 background: #f6f6f6;
 /*margin-top: 50px;*/
}
#main .sec_staff .inner{
 max-width: 980px;
 display: flex;
 align-items: center;
 justify-content: space-between;
}
#main .sec_staff .pic,
#main .sec_staff .inner>span{
 display: block;
 width: 40%;
 text-align: center;
 align-self: flex-end;
 order: 2;
}
#main .sec_staff .txt{
 width: 50%;
 background: #fff;
 padding: 30px;
 border-radius: 20px;
 order: 1;
}
#main .sec_staff p{
 margin: 0;
 line-height: 1.75;
}
#main .sec_staff em{
 color: #00a040;
 font-size: 2rem;
 font-weight: bold;
}
#main .sec_staff strong{
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
}
#main .slide_news a{
 display: block;
 text-decoration: none;
}
#main .slide_news img{
 display: block;
 border-radius: 20px;
 overflow: hidden;
}
#main .slide_news h3{
 text-align: center;
 line-height: 1.5;
 color: #00a040;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 margin:  0.5em 0;
}
#main .slide_news h3 small{
 display: block;
 margin: auto;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
.owl-prev,
.owl-next{
 display: block;
 width: 50px;
 height: 50px;
 top: 30%;
 background: url("../images/bg_ar_l_g.png") no-repeat 0 0;
 background-size: 100% 100%;
 position: absolute;
}
.slide_1 .owl-prev,
.slide_1 .owl-next{
 top: 30%;
}
.owl-prev{ left: -25px;}
.owl-next{ right: -25px; background-image: url("../images/bg_ar_r_g.png");}
/* ===== faq ===== */
.ico_faq_q,
.ico_faq_a{
 font-weight: 900;
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
 line-height: 1;
 position: relative;
 top: -0.15em;
 margin-right: 10px;
}
.ico_faq_q{color: #00a040;}
.ico_faq_a{color: #236a8c;}
.faq_grp{
 display: flex;
 justify-content: space-between;
}
.main_faq{
 order: 2;
 width: 73%;
}
.faq_sub{
 order: 1;
 width: 24%;
}
#main .sec_faq_item p{
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
 line-height: 2;
}
#main .faq_sub h2{
 color: #00a040;
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
 line-height: 1.25;
 margin: 0 0 1em 0;
}
#main .faq_sub li{
 margin: 0;
 line-height: 1;
}
#main .faq_sub ul{
 border-top: 1px solid #eee;
}
#main .faq_sub a{
 padding:  0.75em 0;
 display: block;
 text-decoration: none;
 border-bottom: 1px solid #eee;
 color: #333;
}
#main .faq_sub a:hover,
#main .faq_sub a:focus{
 color: #00a040;
}
#main .tit_faq_category{
 text-align: center;
 color: #00a040;
 font-size: 2.1rem !important;
 margin: 1em 0 !important;
 font-weight: bold;
}
#main .tit_faq_item{
 padding: 20px 50px 20px 20px;
 line-height: 1.25;
 margin: 0;
 display: flex;
 justify-content: flex-start;
 align-items: center;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 position: relative;
}
#main .sec_faq_item_toggle .tit_faq_item::before{
 content: "";
 display: block;
 width: 15px;
 height: 15px;
 border-bottom: 4px solid #00a040;
 border-right: 4px solid #00a040;
 transform: rotate(45deg);
 position: absolute;
 right: 20px;
 top: 50%;
 margin-top: -10px;
}
#main .sec_faq_item_toggle .tit_faq_item.on::before{
 border: 0;
 border-top: 4px solid #00a040;
 border-left: 4px solid #00a040;
}
.sec_faq_item{
 border-radius: 20px;
 box-shadow: 0 0 10px rgba(0,0,0,0.25);
 margin-bottom: 30px;
}
.faq_area{
 padding: 20px;
 background: #f4f4f4;
}
.sec_faq_item_toggle .faq_area{
 padding: 0 20px;
 overflow: hidden;
 height: 0;
 transition: 0.5s;
 interpolate-size: allow-keywords;
}
.sec_faq_item_toggle .tit_faq_item{
 cursor: pointer;
}
.sec_faq_item_toggle .on+.faq_area{
 padding: 20px;
 height: auto;
}
/*============================================================
	workspace_town
============================================================*/
#main .slide_worktown_area li{
 padding: 10px;
}
#main .worktown_area .owl-prev,
#main .worktown_area .owl-next{
 top: 50%;
}
#main .worktown_area .grp{
 display: flex;
 justify-content: space-between;
}
#main .worktown_area .grp h2{ width: 70%;}
#main .worktown_area .grp .txt_address{
 width: 50%;
 text-align: right;
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}
#main .worktown_area .grp .txt_address i{
 color: #236a8c;
 vertical-align: middle;
 font-size: 150%;
}
.sec_worktown_area_item{
 padding: 40px;
 background: #fff;
 border-radius: 20px;
 box-shadow: 0 0 10px 1px rgba(0,0,0,0.25);
}
.slide_worktown_area{
 margin-bottom: 20px;
}
.sec_worktown_area_item .pic{
 display: block;
 width: 100%;
 margin-bottom: 30px;
 position: relative;
}
#main .sec_worktown_area_item .pic .tag{
 position: absolute;
 bottom: 0.75em;
 left: 0.75em;
 color: #fff;
 line-height: 1.125;
 font-size: 2.65rem;
 font-weight: bold;
}
#main .worktown_description p{
  display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.sec_worktown_area_item .pic img{ width: 100%;}
#main .sec_workspace .grp h2{
 color: #333;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
}
#main .slide_worktown_area_s{
 display: grid;
 grid-template-columns: repeat(6, 1fr);  column-gap: 10px; row-gap: 10px;
 margin-bottom: 30px;
}
#main .slide_worktown_area_s a{
 display: block;
 position: relative;
}
#main .worktown_area h3{
 color: #00a040;
}
#main .slide_worktown_area_s .s_img{
 border: 2px solid transparent;
}
#main .slide_worktown_area_s a:hover .s_img,
#main .slide_worktown_area_s a:focus .s_img{
 border: 2px solid #00a040;
}
#main .img_shop_ico,
#main .slide_worktown_area_s i{
 width: 40px;
 height: 40px;
 border-radius: 50%;
 overflow: hidden;
 border: 1px solid #fff;
 display: inline-block;
 vertical-align: middle;
}
#main .slide_worktown_area_s i{
 position: absolute;
 display: block;
 bottom: -5px;
 right: -5px;
}
#main .slide_worktown_area_s img{
 width: 100%;
 height: 100%;
 object-fit: cover;
}
#main .sec_worktown_area_item .txt_r{
 margin-top: 1em;
}
.list_shop .pic{
 overflow: hidden;
 position: relative;
 display: block;
 transition: 0.15s transform;
}
.list_shop a:hover .pic img,
.list_shop a:focus .pic img{
 transform: scale(1.05);
}
/*============================================================
	workspace
============================================================*/
.sec_page #main.workspace{
 background-image: url("../../images/bg_workpage_head.jpg");
 background-size: 100% 420px;
 padding-bottom: 0;
}

.workspace_page #main{
 padding-top: 0;
}
#main .workspace_image{
 margin-bottom: 20px;
 position: relative;
}
#main .workspace_image img{
 display: block;
 position: relative;
 width: 100%;
 height: 100%;
 aspect-ratio: 13 / 6;
 filter: blur(0.5px);
}
#main .workspace_image p{
 position: absolute;
 left: 0;
 bottom: 5em;
 width: 100%;
 color: #fff;
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0;
 line-height: 1;
}
#main .workspace_image strong{
 display: block;
 width: 100%;
 max-width: 980px;
 font-size: 60px;
 font-weight: 900;
}
/*.sec_page #main.workspace .inner{ max-width: 940px;}*/
.main_shoparea,
#main .bgMark .inner,
.sec_page #main.workspace .bgMark .inner{ max-width: 940px;}

#main .inner_m,
.sec_page #main.workspace .inner_m{max-width: 1160px !important;}
#main .workmenu{
 font-weight: bold;
 display: table;
 border-collapse: collapse;
 border: 1px solid #eee;
 width: 100%;
 max-width: 750px;
 margin: 95px auto 100px auto;
}
#main .workmenu li{
 line-height: 1;
 border: 1px solid #eee;
 display: table-cell;
 width: 33.33%;
}
#main .workmenu a{
 display: block;
 padding: 18px 10px 0 10px;
 text-align: center;
 color: #00a040;
 text-decoration: none;
 background: #fff;
}
#main .workmenu a i{
 display: block;
 text-align: center;
 margin-top: 0;
 font-size: 200%;
}
.bgMark{
 background: repeat-y 50% var(--y-pos);
 background-size: 100% auto;
}
.bgMarkWorkspace{
 background-image: url("../../images/bg_workpage_page.jpg")
}
.bgMarkRecruit{
 background-image: url("../../images/bg_recruitpage_page.png");
 background-repeat: no-repeat;
}

.sec_workspace{
 padding: 80px 0;
}
#main .tit_works,
#main .sec_workspace h2{
 color: #00a040;
 margin-bottom: 1em;
 line-height: 1;
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
}
#main .sec_workspace h2 span{
 display: inline-block;
 position: relative;
 padding-bottom: 1em;
}
#main .sec_workspace h2 span::before{
 display: block;
 position: absolute;
 content: "";
 width: 50vw;
 right: 0;
 border-bottom: 3px solid #9ec6af;
 bottom: 0;
}
#main .sec_workspace h2 small{
 display: block;
 margin-bottom: 1em;
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}
#main .work_system_list{
 margin:0 auto 30px auto;
 width: 100%;
 max-width: 650px;
 display: flex;
 justify-content: center;
 gap: 3%;
 flex-wrap: wrap;
}
#main .work_system_list_jump{
 max-width: 100%;
 gap: 1%;
 margin-top: 45px;
 justify-content:center;
}
#main .work_system_list li{
 width: 30%;
 margin-bottom: 1%;
}
#main .work_system_list_jump a:hover,
#main .work_system_list_jump a:focus{
 opacity: 1;
}
#main .work_system_list_jump li{
 width: 24%;
 position: relative;
 z-index: 1;
}
#main .work_system_list_jump li:has(.on){
 z-index: 2;
}
#main .work_system_list a{
 display: block;
 border: 4px solid #eee;
 padding: 15px 10px 0 10px;
 text-align: center;
 text-decoration: none;
 color: #00a040;
 font-weight: bold;
 border-radius: 20px;
 aspect-ratio: 1 / 1;
 position: relative;
 background: #fff;
}
#main .work_system_list_single a{
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 align-items: center;
}
#main .work_system_list_single div{ text-align: center;}
#main .work_system_list_jump a{
 position: relative;
 aspect-ratio: auto;
 padding-bottom: 15px;
 cursor: pointer;
}
#main .work_system_list_jump .detail{
 position: absolute;
 max-height: 0;
 overflow: hidden;
 padding: 0 10px;
 transition: 0.25s;
 opacity: 0;
 interpolate-size: allow-keywords;
}
#main .work_system_list_jump .on .detail{
 border: 4px solid #eee;
 border-top: 0;
 padding: 10px;
 opacity: 1;
 left: -4px;
 right: -4px;
 z-index: 10;
 background: #fff;
 border-bottom-left-radius: 20px;
 border-bottom-right-radius: 20px;
 max-height: none;
}
#main .work_system_mark_list{
 gap: 0;
 justify-content: space-between;
}
#main .work_system_mark_list li{
 width: 30%;
 margin-bottom: 4%;
}
#main .work_system_mark_list a{
 border-radius: 50%;
 background: #fff;
 border: 0;
}
#main .work_system_mark_list a:hover::before,
#main .work_system_mark_list a:focus::before{
 transform: rotate(45deg);
}
#main .work_system_list a:hover img,
#main .work_system_list a:focus img{
 opacity: 0.8;
}
#main .work_system_mark_list a::before{
 display: block;
 position: absolute;
 transition: 0.25s;
 content: "";
 width: 40px;
 height: 40px;
 bottom: 0;
 right: 0;
 background: url("../../images/btn_work_mark.png") no-repeat 0 0;
 background-size: contain;
 z-index: 1;
}
#main .work_system_list p{
 margin: 15px 0 0 0;
 text-align: center;
 line-height: 1;
 width: 100%;
}
#main .work_system_list .small{
 color: #333;
 line-height: 1.25;
 font-size: clamp(0.85rem, 0.8rem + 0.1212vw, 0.9375rem);
 padding-bottom: 30px;
 min-height: 5em;
 margin: 1em 0 0 0;
 background: url("../../images/bg_ar_b.png") bottom center no-repeat;
 background-size: 20px auto;
}
#main .work_system_list .on .small{
 background-image: url("../../images/bg_ar_t.png");
}
#main .work_system_list .detail p{
 color: #333;
 line-height: 1.5;
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
 font-weight: normal;
 text-align: left;
 margin: 0;
}
#main .work_system_list img{
 width: 102px;
 aspect-ratio: 1 / 1;
 object-fit: contain;
}
#main .work_system_mark_list img{
 width: 100%;
}
#main .sec_work_system{
 background: #f6f6f6;
 padding: 100px 0;
}
#main .work_system_list_jump img{
 width: 70px;
}
.video_ov,
.ov{
 position: fixed;
 background: rgba(255,255,255,0.85);
 top: 0;
 left: 0;
 bottom: 0;
 width: 100%;
 z-index: 1000;
 display: none;
}
.video_ov{
 background: rgba(0,0,0,0.85);
}
.popOn{
 overflow: hidden;
}
.popOn .ov{
 display: block;
}
.popOn #main{
 z-index: 100;
}
.system_area_in{
    overflow: auto;
    height: 50vh;
}
.modal_system_outer{
/* position: absolute;
 top: 0;*/
 left: 0;
 position: fixed;
 top: 10%;

/* bottom: 0;*/
 width: 100%;
 z-index: 1000;
 padding: 5vh 10px;
 display: none;
}
.modal_system{
 width: 100%;
 max-width: 560px;
 margin: auto;
}
.system_area{
 background: #d8efe1;
 border: #00a040 5px solid;
 padding: 40px;
 border-radius: 20px;
 margin-bottom: 20px;
}
#main .system_area_img{
 text-align: center;
}
#main .system_area_img img{
 width: 180px;
 aspect-ratio: 1 / 1;
 object-fit: contain;
}
#main .system_area h3{
 text-align: center;
 margin: 1em 0;
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
 line-height: 1;
 color: #00a040;
}
.btn_system_close{
 line-height: 1;
 padding: 20px;
 border-radius: 40px;
 color: #fff;
 background: #00a040;
 max-width: 280px;
 width: 100%;
 display: inline-block;
 font-weight: bold;
}
.contat_nav{
 margin-top: 50px;
 padding: 50px 0 70px 0;
 max-width: none !important;
 background: #fbfbfb;
}
.sec_day_oth+.contat_nav{ margin-top: 0 }
#main .contat_nav h2,
#main .contat_nav ul{
 max-width: 1020px;
 padding:  0 10px;
 margin: auto;
}
#main .contat_nav h2{
 color: #00a040;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 line-height: 1;
 margin-bottom: 2em;
}

#main .contat_nav a{
 text-decoration: none;
}
#main .contat_nav a:hover,
#main .contat_nav a:focus{
 color: #00a040
}
#main .contat_nav ul{
 gap: 2em;
 display: flex;
 font-weight: bold;
 flex-wrap: wrap;
}
/*============================================================
	interview
============================================================*/
.interview_grp{
 display: flex;
 justify-content: center;
 flex-wrap: wrap;
 margin-top: 65px;
}
.sec_oneday_item,
.sec_interview_item{
 width: 49%;
 margin-bottom: 5%;
 padding:10px;
}
.sec_oneday_item a,
.sec_interview_item a{
 text-decoration: none;
 display: block;
}
.btn_play{
 display: block;
 position: relative;
}

.btn_play::before{
 display: flex;
 content: "";
 justify-content: center;
 align-items: center;
 position: absolute;
 top: 0;
 left: 0;
 bottom: 0;
 width: 100%;
 z-index: 1;
 background: url("../images/ico_play.png") no-repeat center center ;
 background-size: 80px auto;
}
.sec_oneday_item img,
.sec_interview_item img{
 display: block;
 border-radius: 20px;
 overflow: hidden;
 width: 100%;
}
#main .sec_interview_item h2{
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
 margin: 0.5em 0;
}
#main .sec_interview_item p{
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
 margin: 0;
}
#main .sec_oneday_item h2{
 text-align: center;
 line-height: 1.5;
 color: #00a040;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 margin: 0.5em 0;
}
#main .sec_oneday_item h2 small {
 display: block;
 margin: auto;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
#main .sec_oneday_item p{
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
 margin: 0;
}

/*============================================================
	Footer
============================================================*/
.foot_nav{
 padding: 30px 0 25px 0;
	position: relative;
	text-align: center;
 background: #004ea2;
 letter-spacing: -0.05em;
 color: #fff;
 font-feature-settings: "palt";
}
.foot_nav h2{
 text-align: center;
 margin-bottom: 30px;
}
.foot_nav h2 img{
 width: 145px;
}
.sns_btns{
 display: flex;
 justify-content: center;
 margin: 25px 0 60px 0;
}
.sns_btns li{
 width: 43px;
 margin: 0 10px;
}
.foot_nav .grp{
 display: flex;
 justify-content: space-between;
 font-family:zen-maru-gothic,Arial, Helvetica,"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO","sans-serif"
}
.foot_nav dl{
 width: 25%;
}
.foot_nav dt{
 margin-bottom: 1.5em;
 font-weight: bold;
 line-height: 1;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
.foot_nav a{
 color: #fff;
 text-decoration: none;
}
.foot_nav dl li{ margin-bottom: 1em; line-height: 1;
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}
.foot_nav dl .fa{ color: #99b8da; margin-right: 10px;}
#page_footer{
	position: relative;
	text-align: center;
 background: #002b59;
 color: #fff;
 padding: 20px 0 100px 0;
}
#page_footer li{
 display: inline-block;
 line-height: 1;
 margin-right: 1em;
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
}
#page_footer li:first-child a{
 display: block;
 padding: 0 1em 0 0;
 border-right: 1px solid #fff;
}
#page_footer ul{
 margin-bottom: 20px;
}
#page_footer li a{
 color: #fff;
 text-decoration: none;
}
/*============================================================
	modal
============================================================*/
.modal-button{
 text-align: right;
 width: 100%;
 margin: 0 auto 20px auto;
 max-width: 760px;
}
.modal-link{
 text-align: center;
 margin-top: 20px;
}
.modal-link a,
.modal-button button{
 text-decoration: none;
 display: inline-block;
 border: 2px solid #fff;
 border-radius: 30px;
 padding: 12px 20px;
 color: #fff;
 line-height: 1;
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
 font-weight: bold;
}
.modal-button button{
 width: 125px;
 text-align: left;
 background: url("../images/ico_close.png") no-repeat calc(100% - 20px) 50%;
 background-size: 15px 15px;
}
.modal-link a{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 max-width: 290px;
 border-width: 4px;
 width: 100%;
 padding: 18px 10px;
 position: relative;
}
.modal-link a::before{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	position: absolute;
	right: 20px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	transform: rotate(45deg);
	top: calc(50% - 7px);
}
#modal-container{
 position: absolute;
 top: 0;
 left: 0;
 bottom: 0;
 width: 100%;
 padding: 5vh 0 0 0;
 display: none;
 z-index: 1000;
 overscroll-behavior: none;
}
.modal-content{
 padding: 40px;
 background: #fff;
 width: 100%;
 margin: auto;
 border-radius: 20px;
 max-width:760px;
}
.modal-content iframe{
 width: 100%;
 height: 100%;
}
/*============================================================
	main_shoparea
============================================================*/
.main_shoparea{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: auto;
}
.main_shoparea .pic{
 display: block;
 text-align: center;
 width: 48%;
}
.main_shoparea .txt_box{
 width: 50%;
}
.main_shoparea .pic img{
 width: 100%;
}
#main .main_shoparea h1{
 line-height: 1;
 margin-bottom: 1em;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
}
#main .main_shoparea .txt_address{
 line-height: 1;
}
#main .main_shoparea .txt_address i{
 color: #236a8c;
 font-size: 200%;
 vertical-align: middle;
}

#main .main_shoparea h2{
 line-height: 1;
 margin-bottom: 1em;
 padding-bottom: 1em;
 border-bottom: 1px solid #00a040;
 color: #00a040;
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
}
#main .list_town{
 margin: 0;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
#main .list_town img{
 width: 100%;
}
#main .list_town li{
 margin-bottom:0;
 width: 24%;
}
#main .list_town figure{
  margin:0;
	padding-bottom: 1em;
}
#main .list_town figcaption{
 text-align: center;
 margin: 0.5em 0 0 0;
 font-weight: bold;
 line-height: 1.5;
 font-size:0.88rem;
}
#main .list_voice{
 margin: 0;
}
#main .list_voice li{
 margin: 0;
 padding: 30px;
 border-radius: 30px;
 border: 5px solid #9ec6af
}
#main .list_voice  img,
#main .list_voice .pic img{
 border-radius: 50%;
 width: 100px;
 height: 100px;
 object-fit: contain;
}
#main .list_voice p{
 margin: 1em 0 0 0;
 line-height: 2;
}
.slide_voice .owl-prev,.slide_voice .owl-next{
 top: calc(50% - 35px);
}

.slide_voice .owl-stage {
    display: flex;
}

.slide_voice .owl-item {
    display: flex;
    height: auto;
}

.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: 100px;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
#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{
 color: #00a040;
 font-size: 1.8rem;
 text-align: center;
 line-height: 1;
 margin: 70px 0 1em 0;
}
#main .tit_shoparea+p{
 text-align: center;
 margin: 3em 0;
 line-height: 1;
}
#main .list_shop{
 width: 100%;
 max-width: 980px;
 margin:auto;
}
.list_shop{
 display: flex;
 justify-content: flex-start;
 flex-wrap: wrap;
}
.list_shop li{
 width: 33.33%;
 margin-bottom: 5%;
 padding:1%;
}
.list_shop a{
 display: block;
 text-decoration: none;
}
#main .shop_name{
 line-height: 1;
 display: flex;
 justify-content: flex-start;
 align-items: center;
 margin: 0.5em 0 0.75em;
 font-weight: bold;
}
#main .shop_name img{
 width: 30px;
 height: 30px;
 border-radius: 50%;
 margin-right: 5px;
 display: inline-block;
 vertical-align: middle;
}
#main .list_shop .txt_address{
 line-height: 1;
}
#main .list_shop .txt_address i{
 color: #236a8c;
 vertical-align: middle;
 font-size: 150%;
}
#main .list_shop .pic{
 position: relative;
}
#main .list_shop .pic .tag{
 position: absolute;
 bottom: 10px;
 left: 10px;
 color: #fff;
 line-height: 1.125;
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
 font-weight: bold;
}
/*============================================================
	about
============================================================*/
#main .about_link{
 display: flex;
 justify-content: center;
 margin: 90px 0 45px 0;
 border-right: 1px solid #eee;
}
#main .link_space{
 margin-bottom: 130px;
}
#main .about_link li{
 width: 25%;
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
 font-weight: bold;
 line-height: 1;
}
#main .about_link a{
 display: block;
 color: #00a040;
 position: relative;
 text-align: center;
 padding:  18px 10px 35px 10px;
 text-decoration: none;
 border: 1px solid #eee;
 border-right: 0;
 background: #fff;
}
#main .about_link a::before{
 display: block;
 width: 10px;
 height: 10px;
 content: "";
 transform: rotate(135deg);
 border-top: 4px solid #00a040;
 border-right: 4px solid #00a040;
 position: absolute;
 left: 50%;
 bottom: 10px;
 margin-left: -5px;
}
#main .sec_about{
 position: relative;
 padding: 85px  0;
}
#main .sec_about_goal{
 background: #f6f6f6 url("../../images/bg_about_map.png") no-repeat right top;
 background-size: contain;
 padding-bottom: 250px;
}
#main .sec_about_goal p{
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 line-height: 1;
 margin-bottom: 1em;
 font-weight: bold;
}
#main .sec_about_goal strong{
 color: #009e41;
}
#main .tit_about{
 position: relative;
 color: #333;
 font-size: 2.5rem;
 line-height: 1;
 width: 100%;
}
#main .tit_about::before{
 content: "";
 display: block;
 position: absolute;
 top: calc(50% - 7px);
 right: 101%;
 width: 50vw;
 height: 15px;
 background: #333;
}
#main .tit_about{color: #236a8c;}
#main .tit_about::before{ background: #236a8c;}

#main .sec_about_attempt .tit_about,
#main .sec_about_goal .tit_about{color: #009e41;}
#main .sec_about_attempt .tit_about::before,
#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: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.grp_about .pic{ width: 28%; text-align: center;}
.grp_about .pic img{
 max-width: 220px;
}
.grp_about .txt{ width: 64%;}
#main .grp_about .txt p{ margin-bottom: 1.5em; line-height: 1.5;}

#main .philosophy_1,
#main .philosophy_2,
#main .philosophy_3{
 line-height: 1;
 padding: 10px;
 color: #fff;
 max-width: 6em;
 text-align: center;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 margin-bottom: 0.5em;
}
#main .philosophy_1{ background: #e4004f;}
#main .philosophy_2{ background: #009e41;}
#main .philosophy_3{ background: #004da0;}
.slide_history{
 position: relative;
 margin-top: 50px;
}
#main .txt_year_b{
 color: #009e41;
 line-height: 1;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 font-weight: bold;
 text-align: left !important;
}
#main .slide_history h3{
 margin: 0 0 1em 0;
 line-height: 1;
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
}
#main .slide_history h3+p{
 min-height: 5em;
 text-align: left;
}
.slide_history .owl-prev{
 left: 2%;
}
.slide_history .owl-next{
 right: 2%;
}
.slide_history::before{
 position: absolute;
 top: 33px;
 left: -15vw;
 width: 115vw;
 content: "";
 height: 1px;
 background: #fff;
}
.slide_history li{
 padding: 0 2.5%;
}
.sec_about_history .txt_year{
 display: block;
 line-height: 1;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
.sec_about_history .txt_year::after{
 content: "●";
 display: block;
 margin: 10px 0 50px 0;
}
.sec_about_history{
 background: #52bf7f;
 color: #fff;
}
#main .sec_about_history .tit_about{
 color: #fff;
}
.sec_about_history .txt_box::before{
 content: "";
 display: block;
 width: 1px;
 height: 50px;
 position: absolute;
 border-left:  dashed #fff 1px;
 top: -50px;
 left: 7px;
}
.sec_about_history .txt_box{
 background: #fff;
 color: #333;
 padding: 20px;
 position: relative;
}
.tooltip {
  position: relative;
  cursor: help;
  font-weight: bold;
  text-decoration: underline dashed #00873c;
  display: inline-block;
}
.tooltip .tooltip-text {
  position: absolute;
  bottom: 140%;
  left: 50%;
  transform: translateX(-50%);
  padding: 10px 14px;
  border-radius: 6px;
  background-color: #333;
  color: #fff;
  font-size: 0.85rem;
  font-weight: normal;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
  white-space: normal;
  width: 280px;
}
.tooltip .tooltip-text::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}
@media (hover: hover) {
  .tooltip:hover .tooltip-text {
    opacity: 1;
    visibility: visible;
  }
}
.tooltip.active .tooltip-text {
  opacity: 1;
  visibility: visible;
}


.sec_about_kogin{
 background: #f6f6f6;
}
.sec_about_kogin_item{
 background: #fff;
 padding: 30px 10px;
 border-radius: 20px;
}
.sec_about_kogin_item_2{
 width: 48%;
 margin-top: 4%;
}
.sec_about_kogin_item_4{
 width: 32%;
 margin-top: 2%;
}
.data_img img{
 max-width: 80px;
}
.data_img_l img{
 max-width: 100%;
}
.sec_about_kogin_item_3{
 display: flex;
 flex-wrap: wrap;
 align-items: flex-start;
 width: 32%;
}

.sec_about_kogin_item_3.graph-item{
	 flex-direction: column;
	 align-items: center;
}

.slide_history .owl-prev,
.slide_history .owl-next{
 top: 50%;
}
.sec_about_kogin_item_3 h3{
 width: 100%;
}
.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;
}
#main .sec_about_kogin_item .sec_about_kogin_item_3.graph-item p{
 display: flex;
 font-size:0.725rem;
}
#main .sec_about_kogin_item .sec_about_kogin_item_3 p span{
	margin-left:0.5em;
}

.table_scroll_container {
  position: relative;
  margin-top: 30px;
}

#main .sec_recruit .table_scroll_container {
  position: relative;
  margin-top: 30px;
}

/*scroll table----------------------*/
#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 table.recruit_table {
  display: table !important;
  width: 100% !important;
  min-width: 600px !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  padding: 0 !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: 12px 10px !important;
  border: 1px solid #7cb97d !important;
  text-align: center !important;
  font-size: 14px !important;
  color: #333 !important;
  width: auto !important;
  white-space: nowrap !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;
}

#main .sec_recruit .scroll_hint {
  display: none;
}
@keyframes scroll_wave {
  0%, 100% { transform: translateX(-4px); }
  50% { transform: translateX(4px); }
}

#main .sec_about_kogin_item .sec_about_kogin_item_3 h3+p{
 text-align: center;
 width: 100%

}
.grp_about_kogin_item{
 display: flex;
 justify-content: space-between;
 margin-bottom: 50px;
 flex-wrap: wrap;
}
.grp_about_kogin_item p{
 text-align: center;
}
.kougin_graph_item{
 width: 50%;
}
#main .tit_data{
 line-height: 1;
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
 color: #236a8c;
 margin-bottom: 1em;
}
#main .sec_about_kogin_item h3{
 text-align: center;
 line-height: 1;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 color: #236a8c;
 margin-bottom: 1em;
}
#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{
 text-align: center;
 min-height: 3.2em;
 margin: 0;
 line-height: 1.25;
 letter-spacing: -0.05em;
}
#main .sec_about_kogin_item .kougin_graph_item h3{
 text-align: center;
 line-height: 1.05;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 color: #236a8c;
 margin-bottom: 1em;
}
#main .kougin_graph_item h3 strong{
 display: block;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 margin-top: 10px;
}
#main .kougin_graph_item h3 big{
 font-size: 200%;
}
#main .sec_about_kogin_item_2 p{
 text-align: center;
}
#main .txt_shop_count_area{
 line-height: 1;
}
#main .txt_shop_count_1{
 font-size: 3.75rem;
 color: #236a8c;
 font-weight: 900;
}
#main .txt_shop_count_2{
 font-size: clamp(2rem, 1.8182rem + 0.7758vw, 2.25rem);
 color: #236a8c;
 font-weight: 900;
}
.data_ikykyu{ font-weight: bold;}
#main .txt_shop_count_3{
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 font-weight: 900;
 color: #236a8c;
}
.childcare_grp{
 display: flex;
 justify-content: space-between;
}
.childcare_sex{
 width: 50%;
}
#main .childcare_sex h4{
 text-align: center;
 margin: 0;
}
.childcare_sex_graph{
 width: 80%;
 height: 125px;
 margin: 0 auto 0 auto
}
.data_ikykyu img{
 width: 35px;
 vertical-align: middle;
 margin-right: 0.5em;
}
@media screen and (max-width: 900px) and  (min-width: 769px){
 #main .sec_about_kogin_item_4 h3{
  min-height: 4em;
 }
 .data_ikykyu img{
  margin: 0 auto 10px auto;
  display: block;
 }
}
#main .txt_shop_count_area{
 margin: 0
}
#main .txt_shop_count_area+.txt_shop_count_area{
 margin: 1em 0 0 0
}
.slide_attempt li{
 padding: 20px 2%;
}
.slide_attempt ul .slide_attempt_item{
 padding: 50px 30px;
 border-radius: 20px;
 box-shadow: 0 0 10px 1px rgba(0,0,0,0.1);
 position: relative;
}
#main .slide_attempt h3{
 position: absolute;
 width: 280px;
 top: -20px;
 left: -18px;
 background: url("../../images/bg_torikumi.png") no-repeat 0 0;
 background-size: 100% 100%;
 padding: 15px 0 30px 20px;
 line-height: 1;
 color: #fff;
 z-index: 1;
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}
#main .slide_attempt h4{
 display: flex;
 align-items: center;
 color: #009e41;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 line-height: 1.25;
}
#main .slide_attempt h4 i{
 font-size: 72px;
 font-weight: 900;
 margin-right: 10px;
}
#main .sec_about_attempt{ padding-bottom: 0}
.slide_attempt .owl-prev,.slide_attempt .owl-next{
 top: 50%;
}
/*============================================================
	recruit_list
============================================================*/
#main #outline,#main #about{
 background: #fafafa;
 margin-top: 70px;
}
#main #outline p,
#main #outline th,
#main #outline td{font-size:1rem;}
#main #outline+#about{ margin-top: 0;}
#main #outline .tit_shoparea,
#main #about .tit_shoparea{
 padding-top: 0;
}
#main .tit_recruit{
 font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
 line-height: 1.25;
 margin: 1em 0;
 text-align: center;
}

#main .txt_recruit{
 line-height: 2;
 margin:0;
 text-align: center;
}
#main table{
 width: 100%;
}
#main th,
#main td{
 vertical-align: top;
 padding: 0.5em 0;
 border-bottom: 1px solid #eee;
}
#main th{
 color: #236a8c
}
#main th{ width: 20%; white-space: nowrap; padding-right: 1em;}
#main td{ width: 80%;}
.graph_grp{
 display: flex;
 justify-content: space-between;
 flex-direction: row;
}
.graph_grp_item{
 width: 24%;
}
.graph_grp_item dl{
 margin: 1em 0 0 0;
}
#main .graph_grp_item dt{
 line-height: 1.2;
 text-align: center;
 color: #236a8c;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 margin-bottom: 0.5em;
	font-weight: bold;
}
#main .graph_grp_item dd{
 line-height: 1.5;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
 max-width: 12em;
 margin:auto;
}
#main .graph_grp_item dd hr{
	margin:0.5em 0;
}
#main .graph_grp_item dd .sum{
	line-height: 1.2;
	text-align: center;
	color: #236a8c;
	font-size: clamp(1rem, 0.9091rem + 0.3879vw, 1.2rem);
	margin-bottom: 0.5em;
	 font-weight: bold;
	 display: block;
   text-align: center;
}
#main .recruit_flow_list{
 list-style: none;
}
#main .recruit_flow_list li::before{
 border: 20px solid transparent;
 border-top-color: #236a8c;
 position: absolute;
 bottom: -40px;
 left:  calc(50% - 20px);
 content: "";
 display: block;
}
#main .recruit_flow_list li:last-child::before{
 content: normal;
}
#main .recruit_flow_list li{
 margin: 0 0 25px 0;
 background: #236a8c;
 color: #fff;
 padding: 30px 10px;
 border-radius: 30px;
 text-align: center;position: relative;
}
#main .recruit_flow_list .entry_goal{
 background: #00a040;
}
#main .recruit_flow_list h3,
#main .recruit_flow_list p{
 text-align: center;
}
#main .recruit_flow_list h3{ font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 line-height: 1.25;
 margin-bottom: 0.75;
}
#main .recruit_flow_list h3 small{
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
#main .tit_shoparea_s{
 text-align: center;
 line-height: 1;
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 margin: 2em 0;
 color: #236a8c;
}
.sec_recruit{
 padding:  70px 0;
}
.sec_recruit_treatment{
 background: #f6f6f6;
}
.sec_recruit_treatment_item{
 background: #fff;
 padding: 40px;
 border-radius: 20px;
}
#main .sec_recruit .tit_shoparea{
 margin-top: 0;
}
#main .btn_mypage{
 font-size: clamp(1.25rem, 1.1364rem + 0.4848vw, 1.5rem);
 text-decoration: none;
 color: #fff;
 background: #00a040;
 line-height: 1;
 padding: 20px 10px;
 text-align: center;
 width: 100%;
 border-radius: 20px;
 max-width: 360px;
 display: inline-block;
 font-weight: bold;
}
#main p+.tbl_traning{
 margin-top: 40px;
}
#main .tbl_traning{
 border: 4px solid #4aaf9c;
 border-radius: 20px;
 overflow: hidden;
 border: 4px solid #4aaf9c;
 border-collapse: separate;
}
#main .tbl_traning td,
#main .tbl_traning th{
 background: #4aaf9c;
 color: #fff;
 padding: 20px 15px;
 vertical-align: middle;
 border: 0;
}
#main .tbl_traning th{
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
 line-height: 1.75;
 width: 35%;
 text-align: center;
}
#main .tbl_traning td{
 background: #fff;
 color: #333;
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
 width: 65%;
}
.sec_graph_traning{
 background: #f6f6f6;
 margin-top: 20px;
 padding: 25px;
 display: flex;
 justify-content: flex-start;
 flex-wrap: wrap;
}
.sec_graph_traning h3{
 width: 100%;
 margin-bottom: 10px;
 padding-bottom: 10px;
 position: relative;
}
.sec_graph_traning h3::before{
 display: block;
 position: absolute;
 left: 0;
 width: 280px;
 content: "";
 height: 2px;
 background: #333;
 bottom: 0;
}
#main .sec_graph_traning p{
 width: 215px;
 font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
}
/*============================================================
	graph_traning
============================================================*/
.sec_traning{
 padding: 75px 0;
 max-width: 760px;
}
.graph_traning{
 margin-top: 45px;
}
.graph_traning img{
 width: 100%;
}
.sec_wb{
 padding: 75px 0 0 0;
}

#main .sec_wb th,
#main .sec_wb td{
 width: auto;
 white-space: normal;

}

#main .sec_wb .tbl_ov:before{content: none;}
#main .sec_wb .tbl_ov .tbl_news{
   width: 100%;
}

/* ==== スマホ ==== */
@media screen and (max-width: 767px){
  #main .sec_wb .tbl_ov:before{
      content: "\f07e 左右にスワイプしてご覧ください";
  }
}

@media screen and (max-width: 770px){
  #main .sec_wb .tbl_ov .tbl_news{
    max-width: 770px;
  }
}

#main .sec_wb h3.h3_head{border-left: 5px solid #f6c9c9;}
#main .sec_wb .wlb-wrap{
    position: relative;
 z-index: 0;
 padding: 0;
 margin: auto;
 overflow: auto;
  }
  #main .sec_wb .td-head{
    border:1px solid #ccc;
    padding:5px;
   align-items: center;
    text-align:center;
vertical-align:middle;
min-height:3em;
  }
  #main .sec_wb .td-head span{
    display:inline-block;
    /*
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;*/
  }
/*safari*/
_::-webkit-full-page-media, _:future, :root .td-head span {
  display:inline-block;
  -ms-writing-mode: lr-tb;
  -webkit-writing-mode: horizontal-tb;
  -o-writing-mode: horizontal-tb;
  writing-mode: horizontal-tb;
}

  #main .sec_wb .td-wh{
    background:#fff;
    width:10px;
    position: relative;
  }
  #main .sec_wb .td-gray{
    background:#dadada;
    width:10px;
    position: relative;
  }
  #main .sec_wb .td-space{
    width:200px;
    position: relative;
  }
  #main .sec_wb .td-space2{
    width:50px;
    position: relative;
  }
  #main .sec_wb .td-space3{
    width:255px;
    position: relative;
  }
  #main .sec_wb .z-1{
    position:absolute;
    z-index:1;
  }
  #main .sec_wb .z-2{
    position:absolute;
    z-index:2;
  }
  #main .sec_wb .wlb-box1{
    padding:10px;
    border:#ccc 1px solid;
    background:#f7f7f7;
    margin:10px 0;
    line-height:1.5;
  }
  #main .sec_wb .wlb-box_td{
    padding:0;
  }
  #main .sec_wb .wlb-box{
    padding:10px;
    border:#ccc 1px solid;
    background:#f7f7f7;
    line-height:1.5;
  }
  #main .sec_wb .wlb-box2{
    padding:10px;
    margin:10px 0;
    line-height:1.2;
    font-size:95%;
  }
  #main .sec_wb .wlb-event{
    padding:2px 5px;
    border:#ccc 1px solid;
    background:#fff;
    font-size:12px;
    top:-40px;
    left:-20px;
    width:50px;
    text-align:center;
  }
  #main .sec_wb .wlb-event-line{
    border-left:1px dotted #ccc;
    height:10px;
    top:-10px;
    left:3px;
  }
  #main .sec_wb .wlb-event-line2{
    border-top: 3px dotted #797979;
    top:-30px;
    left:30px;
    width:140px;
  }

  #main .sec_wb .ico_ikuji{
    display:inline-block;
    padding:2px;
    background:#ec440f;
    color:#fff;
    font-weight:bold;
    margin:0 3px;
    font-size: smaller;
  }
  #main .sec_wb .ico_kaigo{
    display:inline-block;
    padding:2px 5px;
    background:#004e9c;
    color:#fff;
    font-weight:bold;
    margin:0 3px;
    font-size: smaller;
  }
  #main .sec_wb .ico_other{
    display:inline-block;
    padding:2px 5px;
    background:green;
    color:#fff;
    font-weight:bold;
    margin:0 3px;
    font-size: smaller;
  }


@media screen and (max-width: 960px) and  (min-width: 768px){
  #main .sec_wb .tbl_ov table{
    width:150%;
  }
}
@media screen and (max-width: 767px) and  (min-width: 414px){
  #main .sec_wb .tbl_ov table{
    width:200%;
  }
}
@media screen and (max-width: 413px) {
  #main .sec_wb .tbl_ov table{
    width:250%;
  }
}
/*============================================================
	fukuri
============================================================*/
.sec_fukuri{
 padding: 75px 0 0 0;
}
.sec_health{
 margin-top: 35px;
 border: 4px solid #00a040;
 padding: 40px 80px;
 border-radius: 20px;
}
#main .sec_health h3{
 margin: 0;
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}
#main .sec_health p+h3{
 margin: 2em 0 0 0;
}
#main .sec_health p{
 margin: 0
}

#main .shataku_list,
#main .club_list{
 display: grid;
 grid-template-columns: repeat(3, 1fr);  column-gap: 2%; row-gap: 2%;
 margin: 30px 0 0 0;
}
#main .shataku_list p{
 margin: 1em 0 0 0;
 line-height: 1.5;
 text-align: center;
}
#main .club_list h3{
 margin: 1em 0;
 text-align: center;
 line-height: 1;
}
/*============================================================
	sec_top_recruit
============================================================*/

#main .sec_top_recruit{
 padding: 50px 0;
 background: #00a040;
 color: #fff;
}
#main .sec_top_recruit h2{
 color: #fff;
 font-weight: bold;
 font-size: clamp(2rem, 1.8182rem + 0.7758vw, 2.25rem);
 margin-bottom: 1em;
 text-align: center;
}
#main .sec_top_recruit ul{
 margin: auto;
 text-align: center;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 2%;
 max-width: 640px;
}
#main .sec_top_recruit li{
 width: 49%;
 font-size: clamp(0.875rem, 0.8466rem + 0.1212vw, 0.9375rem);
 margin-bottom: 2%;
}
#main .sec_top_recruit a{
 display: block;
 text-decoration: none;
 font-weight: bold;
 color: #00a040;
 background: #fff;
 border: 2px solid #fff;
 padding: 10px;
 position: relative;
 border-radius: 40px;
 text-align: center;
}
#main .sec_top_recruit a::before {
 content: "";
 display: block;
 width: 10px;
 height: 10px;
 position: absolute;
 right: 20px;
 border-top: 4px solid #00a040;
 border-right: 4px solid #00a040;
 transform: rotate(45deg);
 top: calc(50% - 7px);
}
#main .sec_top_recruit li:first-child{
 width: 100%;
 margin-bottom: 2em;
}
#main .sec_top_recruit li:first-child a{
 font-size: clamp(1rem, 0.9432rem + 0.2424vw, 1.125rem);
}
/*============================================================
	anime
============================================================*/
.sec_top .pic::before{
 transition: 0.5s opacity;
 opacity: 0;
 transition-delay: 0.75s;
}
.sec_top .pic,
.sec_top .pic{
 display: block;
 transition: 1s opacity, 1s transform;
 opacity: 0;
}
.sec_top .pic,
.sec_top .pic{ transform: translateX(10%);}
.sec_top_2 .pic,
.sec_top_2 .pic{ transform: translateX(-10%);}

.sec_top .txt_box{
 transition: 0.5s opacity;
 opacity: 0;
 transition-delay: 0.5s;
 z-index: 1;
}
.sec_top.aniOn .pic::before{
 opacity: 1;
 filter: blur(0%);
}
.sec_top.aniOn .pic,
.sec_top.aniOn .pic{
 opacity: 1;
 transform: translateX(0%);
}
.sec_top.aniOn .txt_box{
 opacity: 1;
}
.sec_top_qa h2,
.sec_top_qa h3,
.sec_top_qa p{
 opacity: 0;
 transition: 0.5s opacity;
}
.sec_top_qa h2{ transition-delay: 0s;}
.sec_top_qa h2+p{ transition-delay: 0.5s;}
.sec_top_qa h3{ transition-delay: 1s;}
.sec_top_qa h3+p{ transition-delay: 1.5s;}
.sec_top_qa.aniOn h2,
.sec_top_qa.aniOn h3,
.sec_top_qa.aniOn p{
 opacity: 1;
}


/* ==== ADD CSS ==== */
#main .ib {
	display: inline-block !important;
}

.sp440 {
	display: none;
}

.tb_i,
.sp_i,
.tb_i.sp_i {
	display: none;
	content-visibility: hidden;
}

.tb_b,
.sp_b,
.tb_b.sp_b {
	display: none;
	content-visibility: hidden;
}

.pc_i,
.pc_i.tb_i,
.pc_i.sp_i {
	display: inline;
	content-visibility: visible;
}

.pc_b,
.pc_b.tb_b,
.pc_b.sp_b {
	display: block;
	content-visibility: visible;
}

.tb_ib,
.sp_ib,
.tb_ib.sp_ib {
	display: none;
	content-visibility: hidden;
}

.pc_ib,
.pc_ib.tb_ib,
.pc_ib.sp_ib {
	display: inline-block;
	*display: inline;
	content-visibility: visible;
	zoom: 1;
}

#main .tb,
#main .tb.sp,
#main .sp {
	display: none;
	content-visibility: hidden;
}

#main .pc,
#main .pc.tb,
#main .pc.sp {
	display: block;
	content-visibility: visible;
}

.txt_c {
	text-align: center;
}

.txt_r {
	text-align: right !important;
}

.txt_l {
	text-align: left !important;
}

#main .center {
	text-align: center !important;
}

#main .center p {
	text-align: center;
}
#main .sec_about_history .center .txt_box p {
	text-align: left!important;
}

#main .center_b {
	margin-left: auto;
	margin-right: auto;
}

.img_l {
	float: left;
	text-align: center;
	margin: 0 20px 20px 0;
}

.img_r {
	float: right;
	text-align: center;
	margin: 0 0 20px 20px;
}

#main .br_tb,
#main .br_sp,
#main .br_sp2,
#main .br_tb.br_sp,
#main .br_tb.br_sp2,
#main .br_sp.br_sp2 {
	display: none;
	content-visibility: hidden;
}

#main .br_pc,
#main .br_pc.br_tb,
#main .br_pc.br_sp,
#main .br_pc.br_sp2 {
	display: inline;
	content-visibility: visible;
}

#main .ib,
#page_header .ib {
	display:inline-block;
}

#main .p0 {
	padding: 0 !important;
}

#main .p3px {
	padding: 3px !important;
}

#main .p5px {
	padding: 5px !important;
}

#main .p10px {
	padding: 10px !important;
}

#main .p20px {
	padding: 20px !important;
}

#main .p1em {
	padding: 1em !important;
}

#main.pl1 {
	padding-left: 1em;
}

#main .mt0 {
	margin-top: 0 !important;
}

#main .mt1 {
	margin-top: 1em !important;
}

#main .mt2 {
	margin-top: 2em !important;
}

#main .mt3 {
	margin-top: 3em !important;
}

#main .mt4 {
	margin-top: 4em !important;
}

#main .mt5 {
	margin-top: 5em !important;
}

#main .ml0 {
	margin-left: 0 !important;
}

#main .ml1 {
	margin-left: 1em !important;
}

#main .ml2 {
	margin-left: 2em !important;
}

#main .ml3 {
	margin-left: 3em !important;
}

#main .ml4 {
	margin-left: 4em !important;
}

#main .ml5 {
	margin-left: 5em !important;
}

#main .mb0 {
	margin-bottom: 0 !important;
}

#main .mb1 {
	margin-bottom: 1em !important;
}

#main .mb2 {
	margin-bottom: 2em !important;
}

#main .mb3 {
	margin-bottom: 3em !important;
}

#main .mb4 {
	margin-bottom: 4em !important;
}

#main .mb5 {
	margin-bottom: 5em !important;
}

#main .mr0 {
	margin-right: 0 !important;
}

#main .mr1 {
	margin-right: 1em !important;
}

#main .mr2 {
	margin-right: 2em !important;
}

#main .mr3 {
	margin-right: 3em !important;
}

#main .mr4 {
	margin-right: 4em !important;
}

#main .mr5 {
	margin-right: 5em !important;
}

#main .yohaku {
	border: none;
	margin-bottom: 5em;
}

#main .yohaku2 {
	border: none;
	margin-bottom: 2em;
}

/*text*/
#main .ti1 {
	text-indent: 1em;
}

#main .txt_normal {
	font-weight: 400;
}

#main .bold {
	font-weight: 700 !important;
}

#main .txt_lg {
	font-size: 1.5em !important;
}

#main .txt_sml {
	font-size: 0.85em !important;
}

#main .page_inner .txt_sml li {
	font-size: 0.85rem !important;
}

#main .txt-gray {
	color: gray !important;
}

#main .txt-red {
	color: #e0482a !important;
}

#main .txt-green {
	color: #008a5d !important;
}

#main .txt-blue {
	color: #3651a2 !important;
}

#main .txt-blgr {
	color: #009C92 !important;
}

#main .txt-wh {
	color: #fff !important;
	text-shadow: 0 0 5px rgba(113, 113, 113, 0.5);
}

#main .c_spleft {
	text-align: center;
}

/*asterisk_note*/
#main .asterisk::before {
	content: '※';
	position: absolute;
	top: 0;
	left: -1.2em;
}

#main .asterisk {
	position: relative;
	margin-left: 1.2em;
}

#main .note00::before {
	content: '(注)';
	position: absolute;
	top: 0;
	left: -2em;
}

#main .note00 {
	position: relative;
	margin-left: 2em;
}

#main .note01::before,
#main .note02::before,
#main .note03::before,
#main .note04::before,
#main .note05::before {
	position: absolute;
	top: 0;
	left: -2.5em;
}

#main .note01,
#main .note02,
#main .note03,
#main .note04,
#main .note05 {
	position: relative;
	margin-left: 2.5em;
	line-height: 1.4;
}

#main .note01::before {
	content: '(注1)';
}

#main .note02::before {
	content: '(注2)';
}

#main .note03::before {
	content: '(注3)';
}

#main .note04::before {
	content: '(注4)';
}

#main .note05::before {
	content: '(注5)';
}

/*list*/
#main ol.list_parentheses {
	padding: 0;
	margin: 0;
	text-indent: -2em;
}

#main ol.list_parentheses>li {
	list-style-type: none;
	list-style-position: outside;
	counter-increment: parentheses;
	margin-left: 2em;
}

#main ol.list_parentheses>li:before {
	display: marker;
	content: "(" counter(parentheses) ") ";
}

#main ol.txt_normal>li:before {
	font-weight: 400 !important;
}

#main ol.li_bold>li:before {
	font-weight: 700 !important;
}

#main ol.circle {
	position: relative;
	margin: 0;
	padding: 0;
}

#main ol.circle>li {
	list-style: none;
	list-style-position: outside;
	margin: 0;
	padding-left: 1.25em;
	text-indent: 0;
}

#main ol.circle>li span {
	position: absolute;
	left: 0;
	margin: 0;
}

#main .li-none li {
	list-style: none !important;
}

#main .list li {
	list-style: disc;
	margin-left: 1.6em;
	line-height: 1.6;
	margin-bottom: .75em;
}

#main .list_asterisk>li {
	list-style: none;
	list-style-position: outside;
	position: relative;
	margin-left: 1.2em;
}

#main .list_asterisk>li::before {
	content: '※';
	position: absolute;
	top: 0;
	left: -1.2em;
}


#main .liststyle ul {
	display: block;
	list-style-type: disc;
	margin-block-start: 1em;
	margin-block-end: 1em;
	margin-inline-start: 0;
	margin-inline-end: 0;
	padding-inline-start: 1em;
}

#main .liststyle ul li {
	list-style: inherit;
	margin-bottom: 1em;
	line-height: 1.5;
}

#main .liststyle ul>li>ul {
	display: block;
	list-style-type: circle;
	margin-block-start: 1em;
	margin-block-end: 1em;
	margin-inline-start: 0;
	margin-inline-end: 0;
	padding-inline-start: 40px;
}

#main .liststyle ul>li>ul>li {
	list-style: inherit;
	margin-bottom: 1em;
	line-height: 1.5;
}

/*flex*/
#main .flex {
	display: flex;
}

.flex-box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flex-item {
	width: 19%;
	border: 1px solid #ccc;
	margin-bottom: 1%;
	padding: 15px;
	text-align: center;
}

.flex-item-blank {
	width: 19%;
	margin-bottom: 1%;
}

.flex-item img {
	border: 1px solid #999;
}

.flex-item span {
	display: block;
	font-size: 88%;
	background: #fafafa;
	padding: 5px;
	margin-top: 1em;
	text-align: center;
}

#main .flex-container_sb4,
#main .flex-container_sb3,
#main .flex-container_sb2-nb,
#main .flex-container_sb2,
#main .flex-sb {
	display: flex;
	justify-content: space-between;
}

#main .flex_center3,
#main .flex-c {
	display: flex;
	justify-content: center;
}

#main .flex-sa {
	display: flex;
	justify-content: space-around;
}

#main .flex-fs {
	display: flex;
	justify-content: flex-start;
}

#main .flex-row,
#main .fd-r {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-moz-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
}

#main .flex-row_r,
#main .fd-rr {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row-reverse;
	-moz-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

#main .flex-col,
#main .fd-c {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	-moz-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
}

#main .flex-col_r,
#main .fd-cr {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column-reverse;
	-moz-flex-direction: column-reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

#main .flex-wrap,
#main .fw-w {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#main .flex-wrap_r,
#main .fw-wr {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap-reverse;
	-moz-flex-wrap: wrap-reverse;
	-ms-flex-wrap: wrap-reverse;
	flex-wrap: wrap-reverse;
}

#main .fw-no {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
	-moz-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

#main .jc-fs {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	-moz-justify-content: flex-start;
	-ms-justify-content: flex-start;
	justify-content: flex-start;
}

#main .jc-fe {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	-moz-justify-content: flex-end;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
}

#main .jc-c {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
}

#main .jc-sb {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}

#main .jc-sa {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-around;
	-moz-justify-content: space-around;
	-ms-justify-content: space-around;
	justify-content: space-around;
}

#main .ai-s {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: stretch;
	-moz-align-items: stretch;
	-ms-align-items: stretch;
	align-items: stretch;
}

#main .ai-fs {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	-moz-align-items: flex-start;
	-ms-align-items: flex-start;
	align-items: flex-start;
}

#main .ai-fe {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-end;
	-moz-align-items: flex-end;
	-ms-align-items: flex-end;
	align-items: flex-end;
}

#main .ai-c {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	-moz-align-items: center;
	-ms-align-items: center;
	align-items: center;
}

#main .ai-b {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: baseline;
	-moz-align-items: baseline;
	-ms-align-items: baseline;
	align-items: baseline;
}

#main .flex_center3 {
	display: flex;
	justify-content: center;
}

#main .flex-item_50 {
	flex-basis: 50%;
	padding: 10px;
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
	#main .flex-item_50 {
		flex-basis: 48%;
		padding: 10px;
	}
}

#main .flex-item_30 {
	flex-basis: 30%;
	padding: 10px;
}

#main .flex-item_70 {
	flex-basis: 70%;
	padding: 10px;
}

#main .flex-item_40 {
	flex-basis: 40%;
	padding: 10px;
}

#main .flex-item_60 {
	flex-basis: 60%;
	padding: 10px;
}

/*table*/
#main .tbl_w100 {
	width: 100%;
}

#main .tbl_w90 {
	width: 90%;
}

#main .tbl_w85 {
	width: 85%;
}

#main .tbl_w80 {
	width: 80%;
}

#main .tbl_w75 {
	width: 75%;
}

#main .tbl_w70 {
	width: 70%;
}

#main .tbl_w65 {
	width: 65%;
}

#main .tbl_w60 {
	width: 60%;
}

#main .tbl_w55 {
	width: 55%;
}

#main .tbl_w50 {
	width: 50%;
}

#main .tbl_w45 {
	width: 45%;
}

#main .tbl_w40 {
	width: 40%;
}

#main .tbl_w35 {
	width: 35%;
}

#main .tbl_w30 {
	width: 30%;
}

#main .tbl_w25 {
	width: 25%;
}

#main .tbl_w20 {
	width: 20%;
}

#main .tbl_w15 {
	width: 15%;
}

#main .tbl_w10 {
	width: 10%;
}

#main .tbl_va_t {
	vertical-align: top !important;
}

#main .tbl_va_m {
	vertical-align: middle !important;
}

#main .tbl_va_b {
	vertical-align: bottom !important;
}

#main .nobdr_b {
	border-bottom: none !important;
}

#main .nobdr_t {
	border-top: none !important;
}

#main .nobdr_l {
	border-left: none !important;
}

#main .nobdr_r {
	border-right: none !important;
}

#main .tbl_nobdr th,
#main .tbl_nobdr td {
	border-top: none !important;
	border-bottom: none !important;
	border-left: none !important;
	border-right: none !important;
}

#main .dotbdr_b {
	border-bottom: dotted 1px #ccc !important;
}

#main .dotbdr_t {
	border-top: dotted 1px #ccc !important;
}

#main .dotbdr_l {
	border-left: dotted 1px #ccc !important;
}

#main .dotbdr_r {
	border-right: dotted 1px #ccc !important;
}

#main .slash {
	background-image: linear-gradient(to top left, transparent, transparent 49%, #999 50%, #999 50%, transparent 51%, transparent) !important;
}

#main .slash2 {
	background-image: linear-gradient(to top right, transparent, transparent 49%, #999 50%, #999 50%, transparent 51%, transparent) !important;
}

/*border*/
#main .bdr1 {
	border: 1px solid #ccc;
}

#main .bdrt1 {
	border-top: 1px solid #ccc;
}

#main .bdrb1 {
	border-bottom: 1px solid #ccc;
}

#main .bdrr1 {
	border-right: 1px solid #ccc;
}

#main .bdrl1 {
	border-left: 1px solid #ccc;
}

/*contact-area*/
#main .sec_contact_area {
	max-width: 800px;
	margin: 4em auto 0;
	border: 2px solid #00a040;
	padding: 20px;
	background: #fff;
 border-radius: 20px;
}

#main .sec_contact_area h2 {
	text-align: center;
	font-size: 125%;
 color: #00a040;
}
#main .sec_contact_area p {
 line-height: 1.5;
}
#main .sec_contact_area .tel a {
	color: #004e9c;
	font-size: 175%;
	font-weight: 700;
	text-decoration: none
}

#main .sec_contact_area .tel {
	margin: 0
}

@media print,
screen and (max-width: 960px) {

	#main .br_pc,
	#main .br_sp,
	#main .br_sp2,
	#main .br_pc.br_sp,
	#main .br_pc.br_sp2,
	#main .br_sp.br_sp2 {
		display: none;
		content-visibility: hidden;
	}

	#main .br_tb,
	#main .br_pc.br_tb,
	#main .br_tb.br_sp,
	#main .br_tb.br_sp2 {
		display: inline;
		content-visibility: visible;
	}

	#main .tb,
	#main .tb.sp,
	#main .tb.pc {
		display: block;
		content-visibility: visible;
	}

	#main .pc,
	#main .sp,
	#main .pc.sp {
		display: none;
		content-visibility: hidden;
	}

	.tb_i,
	.pc_i.tb_i,
	.tb_i.sp_i {
		display: inline;
		content-visibility: visible;
	}

	.tb_b,
	.pc_b.tb_b,
	.tb_b.sp_b {
		display: block;
		content-visibility: visible;
	}

	.pc_i,
	.sp_i,
	.pc_i.sp_i {
		display: none;
		content-visibility: hidden;
	}

	.pc_b,
	.sp_i,
	.pc_b.sp_b {
		display: none;
		content-visibility: hidden;
	}

	.pc_ib,
	.sp_ib,
	.pc_ib.sp_ib {
		display: none;
		content-visibility: hidden;
	}

	.tb_ib,
	.pc_ib.tb_ib,
	.tb_ib.sp_ib {
		display: inline-block;
		*display: inline;
		content-visibility: visible;
		zoom: 1;
	}

	.flex-item {
		width: 49.5%;
		padding: 10px;
	}

	.flex-item-blank {
		width: 49.5%;
	}
}

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

	#main .flex-container_sb2,
	#main .flex-container_sb4,
	#main .flex-item_sb2,
	#main .flex-item_sb30,
	#main .flex-item_sb70,
	#main .flex-sb,
	#main .flex-c,
	#main .flex-sa,
	#main .flex-item_60,
	#main .flex-item_50,
	#main .flex-item_40,
	#main .flex-item_30,
	#main .flex-item_70 {
		display: block;
		padding: 3px;
	}

	.flex_center3 {
		display: flex;
		justify-content: center;
	}

	#main .flex-item_sb4 {
		padding: 1em;
		margin-bottom: 10px;
	}

	#main .flex-container_sb3 {
		display: block !important;
		justify-content: center !important;
	}

	#main .flex-item_sb3 {
		flex-basis: 100% !important;
		margin-bottom: 1em;
	}

	#main .flex-container_sb2-nb {
		display: flex;
		justify-content: space-between;
	}

	#main .flex-item_sb2-nb {
		flex-basis: 50%;
		padding: 1em;
	}
}

@media screen and (max-width: 767px) {
	#main .c_spleft {
		text-align: left;
	}

	.sp_i,
	.pc_i.sp_i,
	.tb_i.sp_i {
		display: inline;
		content-visibility: visible;
	}

	.sp_b,
	.pc_b.sp_b,
	.tb_b.sp_b {
		display: block;
		content-visibility: visible;
	}

	.pc_i,
	.tb_i,
	.pc_i.tb_i {
		display: none;
		content-visibility: hidden;
	}

	.pc_b,
	.tb_b,
	.pc_b.tb_b {
		display: none;
		content-visibility: hidden;
	}

	.pc_ib,
	.tb_ib,
	.pc_ib.tb_ib {
		display: none;
		content-visibility: hidden;
	}

	.sp_ib,
	.pc_ib.sp_ib,
	.tb_ib.sp_ib {
		display: inline-block;
		content-visibility: visible;
		zoom: 1;
	}
}

@media screen and (max-width: 767px) and (min-width: 321px) {

	#main .br_pc,
	#main .br_tb,
	#main .br_sp2,
	#main .br_pc.br_tb,
	#main .br_pc.br_sp2,
	#main .br_tb.br_sp2 {
		display: none;
		content-visibility: hidden;
	}

	#main .br_sp,
	#main .br_pc.br_sp,
	#main .br_tb.br_sp,
	#main .br_sp.br_sp2 {
		display: inline;
		content-visibility: visible;
	}

	#main .sp_sml {
		font-size: smaller;
	}

	#main .sp,
	#main .pc.sp,
	#main .tb.sp {
		display: block;
		content-visibility: visible;
	}

	#main .pc,
	#main .tb,
	#main .pc.tb {
		display: none;
		content-visibility: hidden;
	}
}

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

	#main .br_pc,
	#main .br_tb,
	#main .br_sp,
	#main .br_pc.br_tb,
	#main .br_pc.br_sp,
	#main .br_tb.br_sp {
		display: none;
		content-visibility: hidden;
	}

	#main .br_sp2,
	#main .br_pc.br_sp2,
	#main .br_tb.br_sp2,
	#main .br_sp.br_sp2 {
		display: inline;
		content-visibility: visible;
	}

	#main .sp,
	#main .pc.sp,
	#main .tb.sp {
		display: block;
		content-visibility: visible;
	}

	#main .pc,
	#main .tb,
	#main .pc.tb {
		display: none;
		content-visibility: hidden;
	}
}


.bg_wh {
    background: #fff!important
}

.bg_gray {
    background: #efefef!important
}

.bg_blgray {
    background: #59819f!important
}

.f14 {
    font-size: 108%!important
}

.f16 {
    font-size: 123.1%!important
}

.f18 {
    font-size: 138.5%!important
}

.f20 {
    font-size: 153.9%!important
}

.f22 {
    font-size: 167%!important
}

.f24 {
    font-size: 182%!important
}

.lh150 {
    line-height: 150%!important
}

#main .txt_read {
    margin-bottom: 2em;
    font-weight: 700
}

.bold {
    font-weight: 700!important
}

.txt_lg {
    font-size: 1.5em!important
}

.txt_sml {
    font-size: .85em!important
}

.txt_gray {
    color: gray!important
}

#main .txt_red {
    color: red
}

.txt-red {
    color: #E5004F!important
}

.txt-ore {
    color: #F16630!important
}

.txt-green {
    color: #00A040!important
}

.txt-blue {
    color: #014E9C!important
}

.txt-blgr {
    color: #009C92!important
}

.txt-wh {
    color: #fff!important;
    text-shadow: 0 0 5px rgba(113,113,113,0.50)
}

.txt_max p,.txt_max ul {
    max-width: 750px;
    margin: auto
}

.link_tel {
    color: #014E9C!important;
    text-decoration: none
}

.tlink_green {
    color: #00A040!important;
    margin: 0 .5em
}

#main .k-bdr {
    border-bottom: 3px solid;
    border-image: linear-gradient(90deg,#e5004f 10%,#00a040 30%,#004ea2 60%);
    border-image-slice: 1
}

#main .bdr1 {
    border: 1px solid #ccc
}

#main .bdrt1 {
    border-top: 1px solid #ccc
}

#main .bdrb1 {
    border-bottom: 1px solid #ccc
}

#main .bdrr1 {
    border-right: 1px solid #ccc
}

#main .bdrl1 {
    border-left: 1px solid #ccc
}

#main .asterisk::before {
    content: '※';
    position: absolute;
    top: 0;
    left: -1.2em
}

#main .asterisk {
    position: relative;
    margin-left: 1.2em
}


/* GradeSTEP */
:root {
  --color-grade1: #84a9cd;
  /* 1等級 */
  --color-grade2: #84c0d4;
  /* 2等級 */
  --color-grade3: #8ebfad;
  /* 3等級 */
  --color-grade4: #b3ccbd;
  /* 4等級 */
  --text-black: #333; }

  #main .container_grade {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 1200px;
    margin: 50px auto 0 auto;
    align-items: stretch; }
  #main .column {
    padding: 20px 10px;
    position: relative;
    color: var(--text-black);
    display: flex;
    flex-direction: column; }
  #main .grade-4 {
    background-color: var(--color-grade4); }
  #main .grade-3 {
    background-color: var(--color-grade3); }
  #main .grade-2 {
    background-color: var(--color-grade2); }
  #main .grade-1 {
    background-color: var(--color-grade1); }
  #main .grade-label {
    position: absolute;
    top: -2em;
    left: 0;
    width: 100%;
    text-align: center;
    font-weight: bold;
    font-size: clamp(1rem, 0.9091rem + 0.3879vw, 1.2rem);
    margin-bottom: 15px;
    color: inherit;
    filter: brightness(0.7);
    /* 少し濃い色に */ }
  #main .job-title {
    text-align: center;
    font-size: 1.25rem;
    font-weight: 900;
    margin-bottom: 20px;
    min-height: 3em;
    display: flex;
    align-items: center;
    justify-content: center;
		flex-direction: column;
    line-height: 1.4; }
	#main .job-title small{font-size:70%;}
  #main .training-list li{
   font-size:0.875rem;
  }
  #main .layer-badge {
    background-color: white;
    border-radius: 50px;
    padding: 8px 15px;
    text-align: center;
    margin-bottom: 30px;
    font-weight: bold;
    font-size: clamp(0.9375rem, 0.9091rem + 0.1212vw, 1rem);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); }
  #main .section-title {
    font-size: 1.1rem;
    font-weight: bold;
    border-bottom: 2px solid #333;
    padding-bottom: 5px;
    margin-bottom: 10px; }
  #main .training-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    font-size: 0.85rem;
    line-height: 1.8; }

/*section_bg*/
#main .bg100vw {position: relative;z-index:2;padding:4em 0;}
#main .bg100vw::before {position: absolute;top: 0px;left: calc(-50vw + 50%);right: calc(-50vw + 50%); bottom: 0px;z-index: -1;content: "";}
#main .bg100vw.bg100w_gray::before {background-color: #f2f2f2;}
#main .bg100vw.bg100w_green::before {background-color: #ecf7eb;}

/*cardlist*/
#main .card-container_column,
#main .card-container_row {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}

#main .card {
  flex: 1;
  background: #fff;
  border-radius: 8px;
  padding: 30px 24px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  border-top: 5px solid #4caf50;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  margin-left:0;
}

#main .card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

#main .card figure{
	margin-block-start:0;
	margin-block-end:0;
	margin-inline-start:0;
	margin-inline-end:0;
}

#main .card-header {
  text-align: center;
  margin-bottom: 20px;
}

#main .card-icon {
  font-size: 40px;
  color: #4caf50;
  margin-bottom: 10px;
  text-align:center;
}

#main .card-number {
  display: block;
  font-size: 16px;
  color: #4caf50;
  font-weight: bold;
  margin-bottom: 4px;
}

#main .card-title {
  font-size: 20px;
  color: #333;
  line-height: 1.4;
  font-weight: bold;
  margin: 0;
  text-align:center;
}

#main .card-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

#main .card-list li {
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 12px;
  margin-left:0;
}

#main .card-list li::before {
  content: "•";
  color: #4caf50;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 18px;
}

#main .card-list li:last-child {
  margin-bottom: 0;
}

/*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;font-weight: bold;}
#main .page_workspace_link .btn_workspace_prev,
#main .page_workspace_link .btn_workspace_next
{padding:10px 2em}

  @media screen and (min-width: 768px) {

      #main .container_grade {
        flex-direction: row;
        /* 横並び */
        align-items: flex-end;
        /* 下揃えで階段状を表現 */
        height: 40em;
        /* 全体の高さ固定 */ }
      #main .column {
        flex: 1; }
      #main .grade-4 {
        height: 70%; }
      #main .grade-3 {
        height: 80%; }
      #main .grade-2 {
        height: 90%; }
      #main .grade-1 {
        height: 100%; } }

@media screen and (max-width: 767px) {
      #main .column{
       margin-bottom: 3rem;
       justify-content: space-between;
      }
      #main .container_grade {
        flex-direction: column;
        /* 1カラム */ }
      #main .grade-1 {
        order: 1; }
      #main .grade-2 {
        order: 2; }
      #main .grade-3 {
        order: 3; }
      #main .grade-4 {
        order: 4; }
 }
