@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :  original.css
 style info :  個別パーツ用cssの定義
=================================================================== */

/* layout */
/*-----------------------------------------------------------------*/
body.fixed_head {
	padding-top:60px;
}

/* header / mainimage */
/*-----------------------------------------------------------------*/
header#header01 .h_lead .h_nav a::before {
	color:#4EABD8;
}
header#header01 .h_menu {
	padding-top:0;
}
header#header01 .h_menu .inner {
	position: relative;
}
header#header01 .h_menu .h_logo {
	height:auto;
}
header#header01 .h_menu .h_logo a img {
	height:auto;
}
.lang {
    position: absolute;
    top: -20px;
    right: 115px;
    display: flex;
}
.lang a {
    display: inline-block;
    color: #FFF;
/*    height: 22px;
    width: 60px;
    justify-content: center;
    align-items: center;*/
    border-radius: 5px;
    font-size: 12px;
    background-color: #104A83;
    border: 1px solid #104A83;
    box-sizing: border-box;
    transition: 0.8s;
    padding: 0 10px;
}
.lang a:hover{
	text-decoration: none;
	color: #104A83;
	background-color: #FFF;
}
.lang a + a{
	margin-left: 6px;
}
.lang a:first-child {
    background-color: #3275B7;
    border:1px solid #3275B7;
}
.lang a:first-child:hover{
	color: #3275B7;
	background-color: #FFF;
}

.h_mail a {
	background:#4EABD8;
  min-width:170px;
}
header#header01 .h_menu .h_download a {
	font-size: 14px;
	padding: 12px 16px;
}
.h_download a {
	background:#6470C9;
  display: block;
  text-align: center;
  margin-left: 1px;
  min-width:170px;
}
.h_download a:hover {
  text-decoration: none;
  background:#3D4AAD;
}
.h_mail a::before {
	content:none;
}
#globalnav01 {
	border-top:none;
	background:#ffffff;
}
#globalnav01 #globalnav_in ul .megamenu .megamenu_in {
	width:300%;
	left:-100%;
	background:#F5F5F5;
	border:1px solid #DDDDDD;
}
#globalnav01 #globalnav_in ul .megamenu .megamenu_in > li a {
	background:#F5F5F5;
	color:#333333;
	padding:10px 0 10px 15px;
}
#globalnav01 #globalnav_in ul .megamenu .megamenu_in > li a:hover {
	color:#4EABD8;
}

#globalnav01 #globalnav_in ul .megamenu .megamenu_in > li a::before {
	color:#4EABD8;
}

h1.topmain_catch {
	font-weight:normal;
	color:#315A6F;
	text-shadow:none;
	font-size:30px;
	line-height:1.8;
	letter-spacing:0.2em;
	text-align:left;
}
.topmain_catch {
	top:40%;
	left:50%;
	margin-left:-540px;
}
.flexslider .slides > li {
	height:550px;
}
.seminar_area {
	width:280px;
	height:auto;
	position:absolute;
	bottom:30px;
	right:50%;
	margin-right:-540px;
	z-index:10;
	background:rgba(255,255,255,0.8);
	box-shadow:1px 1px 10px 1px rgba(0,0,0,0.15);
	padding-top:15px;
}
.seminar_area h3 {
	font-size:20px;
	border-left:5px solid #4EABD8;
	padding-left:10px;
	margin-bottom:15px;
}
.seminar_contents {
	padding-left:20px;
	padding-right:20px;
	padding-bottom:25px;
}
.seminar_contents dt,
.seminar_contents dd {
	font-size:12px;
	display:inline-table;
	line-height:1.2;
}
.seminar_contents dt {
	border-right:1px solid #4EABD8;
	padding-right:7px;
}
.seminar_contents img {
	max-width:1005;
	height:auto;
	margin-bottom:10px;
}

/* top */
/*-----------------------------------------------------------------*/
.title_en {
	color:#6470C9;
	font-size:11px;
	font-weight:nonrmal;
	letter-spacing:0.2em;
	margin-bottom:18px;
}
.svArea {
	background:#F5F5F5;
	margin-bottom: 60px;
}
.svArea .inner{
	width: 94%;
}
.svArea .title_en{padding-top: 60px; }
.svArea .btn{padding-bottom: 60px; }
.top_service_wrap {
	margin-top:50px;
	display:flex;
	flex-wrap:wrap;
}
.top_service_box {
	width:31.5%;
	height:250px;
	margin-left: 2%;
	margin-bottom:20px;
	background:url(../image/top_service_bg01.jpg) no-repeat center center;
	background-size:cover;
}
.top_service_box:nth-child(3n+1){
	margin-left: 0;
}
.top_service_box:nth-child(2) {
		background:url(../image/top_service_bg02.jpg) no-repeat center center ;
}
.top_service_box:nth-child(3) {
		background:url(../image/top_service_bg03.jpg) no-repeat center center ;
}
.top_service_box:nth-child(4) {
		background:url(../image/top_service_bg04.jpg) no-repeat center center ;
}
.top_service_box:nth-child(5) {
		background:url(../image/top_service_bg05.jpg) no-repeat center center ;
}
.top_service_box:nth-child(6) {
		background:url(../image/top_service_bg06.jpg) no-repeat center center ;
}
.top_service_box:nth-child(7) {
		background:url(../image/top_service_bg07.jpg) no-repeat center center ;
}
.top_service_box:nth-child(8) {
		background:url(../image/top_service_bg08.jpg) no-repeat center center ;
}
.top_service_box:nth-child(9) {
		background:url(../image/top_service_bg09.jpg) no-repeat center center ;
}
.top_service_box:nth-child(10) {
		background:url(../image/top_service_bg10.jpg) no-repeat center center ;
}
.top_service_box:nth-child(11) {
		background:url(../image/top_service_bg11.jpg) no-repeat center center ;
}
.top_service_box:nth-child(12) {
		background:url(../image/top_service_bg12.jpg) no-repeat center center ;
}
.top_service_box_in {
	display:table;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.4);
	transition:all 0.3s;
	position:relative;
	padding-top:95px;
	padding-left:10px;
	padding-right:10px;
	text-align:center;
	color:#ffffff;
}
.top_service_box_in::before {
	content:"";
	width:96%;
	height:236px;
	position:absolute;
	left:calc(2% - 2px);
	top:5px;
	border:2px solid #ffffff;
	transition:all 0.3s;
	opacity:0;
}
.top_service_box_in:hover {
	background:rgba(31,97,129,0.8);
	padding-top:65px;
}

.top_service_box_in02:hover {
	background:rgba(31,97,129,0.8);
	padding-top:65px;
}

.top_service_box_in:hover::before {
	opacity:1;
}
.top_service_box_in h3 {
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
}
.top_service_box_in .service_btn a {
	display:block;
	width:130px;
	padding:5px 20px;
	background:#4EABD8;
	color:#ffffff;
	position:absolute;
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
	bottom:50px;
	opacity:0;
	transition:all 0.3s;
}
.top_service_box_in:hover  .service_btn a {
	opacity:1;
}
.top_service_box_in .service_btn a:hover {
	text-decoration:none;
}





.svArea_02 {
	background:#F5F5F5;
}
.svArea_02 .inner{
	padding: 60px 24px;
	width: 94%;
}
.top_service_wrap_02 {

	display:flex;
	/* justify-content:space-between; */
	flex-wrap:wrap;
}
.top_service_box_02 {
	width:32.14%;
	height:250px;
	margin-right: 1.79%;
	margin-bottom:20px;
	background:url(../image/top_service_bg004.jpg) no-repeat center center ;
	background-size:cover;
}
.top_service_box_02:nth-child(2) {
		background:url(../image/top_service_bg005.jpg) no-repeat center center ;
}
.top_service_box_02:nth-child(3) {
		background:url(../image/top_service_bg03.jpg) no-repeat center center ;
}
.top_service_box_02:nth-child(4) {
		background:url(../image/top_service_bg04.jpg) no-repeat center center ;
}
.top_service_box_02:nth-child(5) {
		background:url(../image/top_service_bg05.jpg) no-repeat center center ;
}
.top_service_box_02:nth-child(6) {
		background:url(../image/top_service_bg06.jpg) no-repeat center center ;
}
.top_service_box_in_02 {
	display:table;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.4);
	transition:all 0.3s;
	position:relative;
	padding-top:95px;
	padding-left:10px;
	padding-right:10px;
	text-align:center;
	color:#ffffff;
}
.top_service_box_in_02::before {
	content:"";
	width:96%;
	height:236px;
	position:absolute;
	left:calc(2% - 2px);
	top:5px;
	border:2px solid #ffffff;
	transition:all 0.3s;
	opacity:0;
}
.top_service_box_in_02:hover {
	background:rgba(31,97,129,0.8);
	padding-top:65px;
}
.top_service_box_in_02:hover::before {
	opacity:1;
}
.top_service_box_in_02 h3 {
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
}
.top_service_box_in_02 .service_btn a {
	display:block;
	width:130px;
	padding:5px 20px;
	background:#4EABD8;
	color:#ffffff;
	position:absolute;
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
	bottom:50px;
	opacity:0;
	transition:all 0.3s;
}
.top_service_box_in_02:hover  .service_btn a {
	opacity:1;
}
.top_service_box_in_02 .service_btn a:hover {
	text-decoration:none;
}





.top_region_wrap {
	width:100%;
	margin-bottom: 60px;
}
.top_region_box2 {
	display:flex;
	justify-content:space-between;
	margin-bottom:20px;
}
.top_region_box_in {
    width: 32.5%;
    box-shadow: 1px 1px 5px 3px rgba(0,0,0,0.05);
    padding: 30px;
    background: #ffffff;
    text-align: left;
    display: flex;
    justify-content: space-between;
    transition: all 0.3s;
    flex-direction: column;
}
.top_region_box_in:hover {
		box-shadow:3px 1px 10px 5px rgba(0,0,0,0.1);
}
.top_region_img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
}
.top_region_img img {
	width:100%;
	height:auto;
}

.top_region_txt h3 {
	color:#4DABD8;
	font-size:16px;
	margin-bottom:10px;
}
.top_region_txt .btn a {
	padding:5px 10px;
}
.top_trouble_title {
	padding:50px 0;
	width:100%;
}
.top_trouble_wrap {
	width: 94%;
    background: #E8EBEE;
    padding: 60px 0 30px;
    border-radius: 10px;
    margin-bottom: 80px;
}
.top_trouble_list {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.top_trouble_list li {
	width:49.1%;
	list-style-type:none;
	margin-bottom:20px;
}
.top_trouble_list li a {
	display:block;
	height:100%;
	background:#ffffff;
	padding:20px 35px 20px 20px;
	box-shadow:1px 1px 5px 3px rgba(0,0,0,0.05);
	position:relative;
}
.top_trouble_list li a:hover {
	color:#4CABD8;
	text-decoration:none;
	box-shadow:3px 1px 10px 5px rgba(0,0,0,0.1);
}
.top_trouble_list li a::after {
  font-family: FontAwesome;
  content: "\f105";
  padding-right: 8px;
  font-size: 18px;
  text-decoration: none;
  position:absolute;
  font-size: 16px;
  padding-right: 5px;
  right:15px;
  top:50%;
  margin-top:-12px;
  color:#4EABD8;
}

#area_c .inner.reason_w_bg {
	background:rgba(255,255,255,0.8);
	padding-top:40px;
	padding-bottom:45px;
}
#area_c .inner.reason_w_bg .btn_half a {
	padding:15px 10px;
	background:none;
	border:1px solid #4EABD8;
	color:#4EABD8;
}
#area_c .inner.reason_w_bg .btn_half a:hover {
	background:#4EABD8;
	color:#ffffff;
}
.btn a, .btn_half a, .btn_onethird a {
	padding:15px 10px;
	/*background:none;*/
}
.btn a::before, .btn_half a::before {
	content:none;
}

.top_box2 {
	width:100%;
	display:flex;
	justify-content:space-between;
}
.top_box2 > div {
	width:49.1%;
	border:1px solid #DDDDDD;
	padding:5px;
}
.top_performance_box {
	display:block;
	border:1px solid #4EABD8;
	padding:25px 7%;
	text-align:center;
	height:100%;
}
.top_blog_box {
	display:block;
	background:#F5F5F5;
	height:100%;
	padding:25px 20px;
}
.blog_box {
	display:flex;
	width:100%;
	justify-content:space-between;
}

.blog_img {width:45%; }
.blog_img img {
	max-width:100%;
	height:auto;
}
.blog_contents {
	width:52%;
}
.blog_title {
	font-weight:bold;
	margin-bottom:15px;
}
.blog_txt {
	border-bottom:1px solid #DDDDDD;
	padding-bottom:20px;
	margin-bottom:10px;
}
.catagory li {
	list-style-type:none;
	color:#ffffff;
	font-size:12px;
	background:#6470C9;
	padding:5px 18px;
	display:inline-block;
}

.title_en02 {
	color:#6470C9;
	font-size:11px;
	font-weight:nonrmal;
	letter-spacing:0.2em;
	margin-bottom:5px;
	text-align:center;
}
.title_jp02 {
    font-size: 23px;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 25px;
}

/* sub */
/*-----------------------------------------------------------------*/
#pagetitle04 h2 {
	color:#1F6181;
}

#pagetitle04 h1 {
	color:#1F6181;
}

.subtitle03 {
	font-size:24px;
	font-weight:normal;
	color:#333333;
	border-bottom:1px solid #4EABD8;
	padding-bottom:7px;
	margin-bottom:20px;
}
.subtitle04 {
	font-size:20px;
	line-height:1.8;
	color:#333333;
	border-left:5px solid #4EABD8;
	padding-left:7px;
	margin-bottom:20px;
}
.subtitle05 {
	font-size:16px;
	color:#4EABD8;
	font-weight:bold;
	margin-bottom:10px;
}

/* subnav */
/*-----------------------------------------------------------------*/
#subnav_title.sb_col2 a {
	font-size:16px;
	padding: 25px 5px;
	background:#1F6181;
}
#subnav_title.sb_col2 a:hover {
	background:#1F6181;
	opacity:0.7;
}
#subnav.sb_col2 ul li a {
	border-bottom:1px solid #DDDDDD;
	padding:13px 23px 13px 18px;
	position:relative;
}
#subnav.sb_col2 ul li a::after {
	font-family: FontAwesome;
	content: "\f105";

	text-decoration: none;
	position: absolute;
	font-size: 14px;
	font-weight:bold;
	right: 12px;
	top: 50%;
	margin-top:-10px;
	color: #4EABD8;
}

/* table */
/*-----------------------------------------------------------------*/
table.tab_original01 thead th {
    background-color:#1F6181;
    color: #ffffff;
	text-align:center;
}
table.tab_original01 tbody th {
    background-color:#4EABD8;
    color: #ffffff;
	text-align:center;
}
table.tab_original01 tbody tr:nth-child(even) td {
    background-color:#F5F5F5;
}
table.tab_original02 td {
    padding-left: 40px;
}
table.tab_original02 th, table.tab_original02 td {
    border: none;
    vertical-align: top;
	position:relative;
}
table.tab_original02 th::after {
    content:"";
    width: 1px;
    height: 14px;
    position: absolute;
    top: 14px;
    right: 0;
	background-color:#DDDDDD;
}
table.tab_original02 tbody tr:not(:last-child) th, table.tab_original02 tbody tr:not(:last-child) td {
    border-color: #DDDDDD;
	border-width: 0 0 1px 0;
    border-style: solid;
}
table.tab_original02 th {
	color:#333333;
}


/*-----------------------------------------------------------------*/

/*領域から探す*/
/*-----------------------------------------------------------------*/
.commonBox.col3_m{
	justify-content: center;
}
.commonBox .col {
    position: relative;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
    transition: 0.8s;
}
.commonBox .txtArea {
	padding: 20px 15px;
	width:100%;
}
.commonBox .col.bl-hover{
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
}
.commonBox .col.bl-hover .btn a{
	color: #FFF;
	background-color: #329bd2;
}

/*-----------------------------------------------------------------*/

/*サービスから探す*/
/*-----------------------------------------------------------------*/
.commonBox.col_one .col {
    display: flex;
}
.commonBox.col_one figure {
	position: relative;
	max-width: 230px;
	width: 100%;
	height: auto;
	overflow: hidden;
}
.commonBox.col_one figure img{
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: none;
    width: auto !important;
    height: auto;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
.commonBox.col_one .btn{
	text-align: right;
}




/*-----------------------------------------------------------------*/

/* 採用 数字で見る number */

/*-----------------------------------------------------------------*/
.number_section{
	display: flex;
	justify-content: space-between;
	margin-bottom: 15px;
}
.number_section.last{margin-bottom: 80px;}
.number_block{
	box-flex: 1;
	width: 100%;
}
.number_widegrade{height: 570px;}
.number_onegrade{height: 375px;}
.number_block_grade{height: 180px;}
.number_block_grade+.number_block_grade{margin-top: 15px;}
.number_widegrade,.number_onegrade,.number_block_grade{
	border: 1px solid #eeeeee;
	padding: 16px 24px;
}
.number_block+.number_block{margin-left: 15px;}
.number_twoblock.number_twograde .number_value{
	margin-right: 15px;
	position: relative;
	float: right;
	width: 40%;
}
.number_twoblock.number_twograde .number_block_grade .flt{width: 55%;}
.number_name{
	font-size: 2.8rem;
	margin-bottom: 8px;
	font-weight: 300;
	color: #CC0000;
	line-height: 1.4;
}
.number_value{
	line-height: 1;
	font-family: 'Roboto', sans-serif;
	letter-spacing: -.4em;
}
.number_fs90{font-size: 9rem;}
.number_fs100{font-size: 10rem;}
.number_fs110{font-size: 11rem;}
.number_fs120{font-size: 12rem;}
.number_fs130{font-size: 13rem;}
.number_fs140{font-size: 18rem;}
.number_fs150{font-size: 15rem;}
.number_fs160{font-size: 8rem;}
.number_value span.in{
	padding-left: 8px;
	font-size: 55%;
}
.bg_men{background: url(../image/number_bg_men.jpg) no-repeat 0 0 / auto 100%;}
.bg_women{background: url(../image/number_bg_women.jpg) no-repeat 0 0 / auto 100%;}
.bg_employee{background: url(../image/number_bg_employee.jpg) no-repeat center bottom;}
.bg_age{background: url(../image/number_bg_age.jpg) no-repeat calc(100% - 16px) calc(100% - 8px);}
.bg_holiday{background: url(../image/number_bg_holiday.jpg) no-repeat calc(100% - 16px) calc(100% - 8px);}
.bg_land{background: url(../image/number_bg_land.jpg) no-repeat 0 0;}
.bg_toyou{background: url(../image/number_bg_toyou.jpg) no-repeat calc(100% - 16px) calc(100% - 8px);}
.bg_salaried{background: url(../image/number_bg_salaried.jpg) no-repeat calc(100% - 16px) calc(100% - 8px);}
.bg_management{background: url(../image/number_bg_management.jpg) no-repeat center calc(100% - 8px);}
.bg_childcare{background: url(../image/number_bg_childcare.jpg) no-repeat center calc(100% - 8px);}



/* footer */
/*-----------------------------------------------------------------*/
footer#footer03 {
	font-size:14px;
	border-top:1px solid #EEEEEE;
}
footer#footer03 .footer_in .f_pro {
	width:32%;
}
footer#footer03 .footer_in .f_pro .f_logo a {
	width:90%;
	max-width:300px;
}
#foot_nav {
	width:67%;
	float:right;
	display:flex;
}
.foot_nav_in {
	flex: 1 1 auto;
}
.foot_nav_in ul li {
	list-style-type:none;
}
.foot_nav_in > ul > li > a {
	font-weight:bold;
}
.foot_nav_in > ul > li {
	margin-bottom:20px;
}
.foot_nav_in > ul > li > ul > li a{
	position:relative;
	display:block;
	padding-left:13px;
}
.foot_nav_in > ul > li > ul {
	margin-top:15px;
}
.foot_nav_in > ul > li > ul > li {
	margin-top:8px;
}
.foot_nav_in > ul > li > ul > li a::before {
  font-family: FontAwesome;
  content: "\f105";
  padding-right: 8px;
  font-size: 18px;
  text-decoration: none;
  position:absolute;
  font-size: 14px;
  padding-right: 5px;
  left:0;
  top:0;
  color:#4EABD8;
}
#f_bottom_wrap03 {
	background:#F5F5F5;
	padding:30px 0;
}
#f_bottom_wrap03 .copyright {
	color:#333333;
	font-size:11px;
}
#f_bottom_wrap03 .f_bottom_nav a {
	color:#333333;
}
#f_bottom_wrap03 .f_bottom .f_bottom_nav a {
	font-size:11px;
	border-color:#333333;
}


/*******************************************************************/
@media only screen and (max-width: 1120px) {

/* top mainimage */
/*-----------------------------------------------------------------*/
.topmain_catch {
	top:40%;
	left:30px;
	margin-left:0;
}
h1.topmain_catch {
	font-size:3vw;
	max-width:80%;
}
.flexslider .slides img {
	display:block;
}
.flexslider .slides > li img {
	display:block;
}
.flexslider .slides > li {
	height:auto;
}
.seminar_area {
	bottom:20px;
	right:0;
	margin-right:30px;
}

/* top */
/*-----------------------------------------------------------------*/
.top_region_box_in {
	padding:20px 2%;
}
#area_c .inner.reason_w_bg {
	width:95%;
	margin-left:auto;
	margin-right:auto;
}
#area_c {
	background-position:60% center;
}

/* footer */
/*-----------------------------------------------------------------*/
footer#footer03 .footer_in .f_pro {
	float:none;
	display:table;
	margin-left:auto;
	margin-right:auto;
	width:auto;
	margin-bottom:30px;
}
#foot_nav {
	width:100%;
	float:none;
}

}/*@media only screen and (max-width: 1120px)_end -----------------*/


/*******************************************************************/
@media only screen and (max-width: 1024px) {
/* top */
/*-----------------------------------------------------------------*/
.top_service_wrap {
	max-width:740px;
	margin-top: 30px;
	margin-left:auto;
	margin-right:auto;
	padding-bottom:50px;
}
.top_service_box {width:49%; }
.top_service_box:nth-child(odd) {margin-left: 0; }
.top_service_box:nth-child(even) {margin-left: 2%; }

.top_service_box_in::before {opacity:1; }
.top_service_box_in {
	background:rgba(31,97,129,0.8);
	padding-top:65px;
}
.top_service_box_in .service_btn a {opacity:1; }


.top_service_box02 {width:49%; }
.top_service_box_in02::before {opacity:1; }
.top_service_box_in02 {
	background:rgba(31,97,129,0.8);
	padding-top:65px;
}
.top_service_box_in02 .service_btn a {opacity:1; }


}/*@media only screen and (max-width: 1024px)_end -----------------*/


/*******************************************************************/
@media only screen and (max-width: 979px) {

/* layout */
/*-----------------------------------------------------------------*/
body.fixed_head {
	padding-top:0;
}

/* header */
/*-----------------------------------------------------------------*/
	header#header01 .h_menu .h_logo {
		width:38%;
	}
	header#header01 .h_menu .h_contact {
		width:auto;
	}

	.number_fs90{font-size: 6rem;}
	.number_fs100{font-size: 7rem;}
	.number_fs110{font-size: 8rem;}
	.number_fs120{font-size: 9rem;}
	.number_fs130{font-size: 10rem;}
	.number_fs140{font-size: 11rem;}
	.number_fs150{font-size: 12rem;}
	.number_fs160{font-size: 13rem;}
	.number_widegrade{height: auto;}
	.number_onegrade{height: auto;}
	.number_block_grade{height: auto;}
	.number_widegrade,.number_onegrade,.number_block_grade{padding: 16px;}

}/*@media only screen and (max-width: 979px)_end ------------------*/



/*******************************************************************/
@media only screen and (max-width: 690px) {

/* header */
/*-----------------------------------------------------------------*/
header#header01 .h_menu .h_logo {
	width:80%;
	padding-top:10px;
}
header#header01 .h_menu .h_logo img {
	max-width:220px;
	height:auto;
}
header#header01 .h_menu {
	padding:0;
}
.lang {
    top: calc(50% - 10px);
    right: 60px;
}
.lang a {
	padding: 5px 10px;
}
.sp_hcontact li.sphc_nav_mail a::before {
	content:none;
}
.sp_hcontact li.sphc_nav_download {
	background:#6470C9;
}
.sp_hcontact li.sphc_nav_download a {
	color:#ffffff;
}
#globalnav01 {
	padding-top:88px;
	background:#ffffff;
}
#top_mainimage {
	padding-top:88px;
}
#gnav_btn01 {margin-top:8px; }
.seminar_area {
	position:relative;
	display:table;
	margin-left:auto;
	bottom:auto;
	margin-right:auto;
	margin-top:-20px;
}

/* top */
/*-----------------------------------------------------------------*/
.svArea .title_en{padding-top: 20px; }
.svArea .btn{padding-bottom: 20px; }
.top_service_wrap {
	max-width:100%;
	padding-bottom: 0;
	flex-direction:column;
}
.top_service_box:nth-child(odd) {margin-left: auto; }
.top_service_box:nth-child(even) {margin-left: auto; }

.top_service_box {
	width:100%;
	max-width:360px;
	margin-left:auto;
	margin-right:auto;
}

.top_service_box_02 {
	width:100%;
	max-width:360px;
	margin-left:auto;
	margin-right:auto;
}

.top_region_wrap {
    padding-top: 30px;
    padding-bottom: 0;
    margin-bottom: 30px;
}
.top_region_box2 {
	margin-bottom:0;
	flex-direction:column;
}
.top_region_box_in {
	position: relative;
	width:100%;
	box-shadow:1px 1px 5px 3px rgba(0,0,0,0.05);
	padding:20px 3%;
	display:flex;
	justify-content:space-between;
	margin-bottom:20px;
}
.top_region_txt h3 {
    margin-bottom: 25px;
    padding-left: 100px;
}
.top_region_img {
    width: 80px;
    height: 80px;
    display: block;
    margin: 0;
    position: absolute;
    top: 10px;
    left: 10px;
}
.top_region_img img {
    width: 100%;
    height: auto;
    margin: 0;
}
.top_region_txt {
	width:100%;
}
.top_trouble_title {
	padding:20px 0;
}
.top_trouble_wrap {
	padding:30px 0 40px;
}
.top_trouble_list {
	flex-direction:column;
}
.top_trouble_list li {
	width:100%;
}
.top_box2 {
	flex-direction:column;
}
.top_box2 > div {
	width:100%;
}
.top_box2 > div:first-child {
	margin-bottom:20px;
}
.top_performance_box {
	padding:25px 3%;
}
.blog_title {
	margin-bottom:10px;
}
.blog_txt {
	font-size:12px;
}


	.number_section{
		display: block;
		margin-bottom: 15px;
	}
	.number_section.last{margin-bottom: 40px;}
	.number_block_grade+.number_block_grade{margin-top: 15px;}
	.number_widegrade,.number_onegrade,.number_block_grade{padding: 16px;}
	.number_block+.number_block{margin-left: 0;margin-top: 15px;}
	.number_twoblock.number_twograde .number_value{
		margin-right: 0;
		position: relative;
		float: none;
		width: 100%;
		margin-top: 10px;
	}
	.number_twoblock.number_twograde .number_block_grade .flt{width: 100%;}
	.number_value{letter-spacing: 0;}
	.number_fs90{font-size: 8rem;}
	.number_fs100{font-size: 8rem;}
	.number_fs110{font-size: 8rem;}
	.number_fs120{font-size: 8rem;}
	.number_fs130{font-size: 8rem;}
	.number_fs140{font-size: 8rem;}
	.number_fs150{font-size: 8rem;}
	.number_fs160{font-size: 8rem;}
	.number_value span.in{
		padding-left: 5px;
		font-size: 60%;
	}
	.bg_men,.bg_women,.bg_employee,.bg_age,
	.bg_holiday,.bg_land,.bg_toyou,.bg_salaried,
	.bg_management,.bg_childcare{background-size: 150px auto; background-position: center;}
	.number_name{font-size: 2rem;}
	.number_value .txt_r{
		text-align: center;
		margin-right: 0;
	}


/* sub */
/*-----------------------------------------------------------------*/
.subtitle03 {
	font-size:20px;
	margin-bottom:15px;
}
.subtitle04 {
	font-size:18px;
	margin-bottom:13px;
}
.subtitle05 {
	font-size:15px;
	margin-bottom:8px;
}
.pagename_wrap {
	padding-top:90px;
}

/* table */
/*-----------------------------------------------------------------*/
table.tab_original02 th, table.tab_original02 td {
    border: none;
    vertical-align: top;
	display:block;
	width:100%;
}

table.tab_original02 th::after {content:none; }
table.tab_original02 th {
	padding:15px 0 5px;
	color:#329bd2;
	font-weight:bold;
	font-size:15px;
}
table.tab_original02 td {padding:0 0 18px 0; }
table.tab_original02 tbody tr:not(:last-child) th {
	border-bottom:none;
}

/*-----------------------------------------------------------------*/

/*領域から探す*/
/*-----------------------------------------------------------------*/
.commonBox figure {
	/*height: 150px;*/
	overflow: hidden;
}
.commonBox figure img{
	width: 100% !important;
}


/*-----------------------------------------------------------------*/

/*サービスから探す*/
/*-----------------------------------------------------------------*/
.commonBox.col_one .col {
    flex-direction: column;
}
.commonBox.col_one figure {
    display: none;
}
.commonBox.col_one .btn{
	text-align: center;
}


/* footer */
/*-----------------------------------------------------------------*/
footer#footer03 .footer_in .f_pro {margin-bottom:0; }
.foot_nav_in {padding-right:0; }
.foot_nav_in > ul > li {
	margin-bottom:0;
	width:100%;
}
.foot_nav_in > ul > li a {
	display:block;
	padding:10px 3%;
	border-top:1px solid #eeeeee;
	text-align:center;
}
.foot_nav_in > ul > li > ul {display:none; }
#foot_nav {flex-direction:column; }
.foot_nav_in {width:100%; }


}/*screen and (max-width: 690px)_end ------------------------------*/


/*******************************************************************/
@media only screen and (max-width: 450px) {
  .lang{
    position: relative;
    top: auto;
    right: auto;
  }
  #globalnav01 #globalnav_in ul li.sp_on .lang a:first-child:hover{
  	color: #3275B7;
  	background-color: #FFF;
  }
  #globalnav01 #globalnav_in ul li.sp_on .lang a:first-child{
  	border: 1px solid #3275B7;  
  }
  #globalnav01 #globalnav_in ul li.sp_on .lang a{
  	color: #FFF;
    padding: 4px 10px !important;
    border: 1px solid #104A83;
  }
  #globalnav01 #globalnav_in ul li.sp_on .lang a:hover{
  	color: #104A83;
  }
  #globalnav01 #globalnav_in ul li.sp_on .lang a::after{
    display: none;
  }
}

#number_area01,
#number_area02{
	background: url(../image/common/bg_border.jpg) repeat center;
	padding: 32px 0;
}



/*-----------------------------------------------------------------

sub area U

-----------------------------------------------------------------*/
.sub_u_area_l {position: relative;}
.sub_u_area_l .sub_u_img img {margin: 0 0 0 auto;}
.sub_u_area_l .sub_u_txt {left: 0;}
.sub_u_area_r { position: relative;}
.sub_u_area_r .sub_u_img img {margin: 0 auto 0 0;}
.sub_u_area_r .sub_u_txt {right: 0;}
.sub_u_txt {
  background-color: #f9f9f9;
  border: 1px solid #ffffff;
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1);
  margin: auto;
  padding: 32px 40px;
  height: 400px;
  width: 480px;
  position: absolute;
  top: 0;
  bottom: 0;
}
.sub_u_txt_in {
  display: table;
  height: 100%;
}
.sub_u_txt_inin {
  display: table-cell;
  vertical-align: middle;
}
@media only screen and (max-width: 979px) {
  .sub_u_img img {
    height: 340px;
  }
  .sub_u_txt {
    padding: 16px 24px;
    height: 320px;
    width: 400px;
  }
}
@media only screen and (max-width: 690px) {
  .sub_u_area_l .sub_u_img img,
  .sub_u_area_r .sub_u_img img {
    margin: -32px auto auto;
    height: auto;
    width: 100%;
  }
  .sub_u_txt {
    margin: auto;
    padding: 16px 16px 32px;
    height: auto;
    width: 90%;
    position: static;
  }
}


/*-----------------------------------------------------------------

sub area R

-----------------------------------------------------------------*/
.sub_r_area {
  position: relative;
  padding-bottom: 32px;
}
.sub_r_area::after {
  position: absolute;
  width: 90%;
  top: 0;
  bottom: 0;
  left: 5%;
  right: 5%;
  z-index: -1;
  content: '';
  border-radius: 100% / 50%;
}
/* sub area R ***/
.sub_r_area {
  background-color: #ffffff;
}
.sub_r_area::after {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.05);
}

.sub_r_area_2 {
  background-color: #ffffff;
}
.sub_r_area_2::after, .sub_r_area_2::before {
  box-shadow: 0 0 5px 10px rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width: 690px) {
  .sub_r_area_2::after, .sub_r_area_2::before {
    box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
  }
}

@media only screen and (max-width: 690px) {
  .sub_r_area::after {
    width: 100%;
    left: 0;
    right: 0;
  }
}
.sub_r_area_2 {
  position: relative;
  padding-bottom: 32px;
}
.sub_r_area_2::after, .sub_r_area_2::before {
  position: absolute;
  bottom: 5px;
  z-index: -1;
  content: '';
  width: 50%;
  height: 0;
}
.sub_r_area_2::after {
  left: 30px;
  -webkit-transform: rotate(-2deg);
  transform: rotate(-2deg);
}
.sub_r_area_2::before {
  right: 30px;
  -webkit-transform: rotate(2deg);
  transform: rotate(2deg);
}

@media only screen and (max-width: 690px) {
  .sub_r_area_2::after, .sub_r_area_2::before {
    height: 0;
  }
  .sub_r_area_2::after {
    left: 10px;
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
  }
  .sub_r_area_2::before {
    right: 10px;
    -webkit-transform: rotate(4deg);
    transform: rotate(4deg);
  }
}


.materials_table tr td figure img{
  width: 70%!important;
  max-width: 200%!important;
  height: auto;
}

.materials_table tr th:first-child{
  width: 60%;
}

.materials_table tr th:nth-child(2){
  width: 40%;
}



/*-----------------------------------------------------------------

ENGLISH

-----------------------------------------------------------------*/
.en .topmain_catch{
	top: 30%;
}


/*reason.html*/
.en .sub_u_area_r {
    position: relative;
    width: 100%;
}
.en .sub_u_txt {
	background-color: #f9f9f9;
	border: 1px solid #ffffff;
	box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1);
	margin: auto;
	padding: 32px 40px;
	height: 400px;
	width: 480px;
	position: absolute;
	top: 0;
	bottom: 0;
}
.en .sub_u_area_r .sub_u_txt {
	position: relative;
	right: 0;
	height: auto;
	background-color: #f9f9f9;
	border: 1px solid #ffffff;
	box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1);
}
.en .sub_u_area_r .sub_u_txt {
	position: relative;
	height: auto;
	background-color: #f9f9f9;
	border: 1px solid #ffffff;
	box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1);
	z-index: 1;
	margin-right: 0;
}
.en .sub_u_area_r .sub_u_img {
    position: absolute;
    top: calc(50% - 220px);
    left: 0;
}

@media only screen and (max-width: 690px) {
.en .sub_u_txt {position: static; }
.en .sub_u_area_r .sub_u_txt {
    margin-right: auto;
    width: 90%;
    margin-left: auto;
    right: auto;
}
.en .sub_u_area_r .sub_u_img {
    position: static;
    top: auto;
    left: auto;
    margin: 0 auto;
}
.en .sub_u_area_r .sub_u_img img {margin: 0 auto; }
}

.tab-001 {
    display: flex;
    flex-wrap: wrap;
    max-width: 500px;
}

.tab-001 > label {
    flex: 1 1;
    order: -1;
    min-width: 70px;
    padding: .7em 1em .5em;
    border-bottom: 1px solid #f0f0f0;
    border-radius: 0;
    background-color: #e9f0f6;
    color: #535353;
    font-size: .9em;
    text-align: center;
    cursor: pointer;
}

.tab-001 > label:hover {
    opacity: .8;
}

.tab-001 input {
    display: none;
}

.tab-001 > div {
    display: none;
    width: 100%;
    padding: 1.5em 1em;
    background-color: #fff;
}

.tab-001 label:has(:checked) {
    background-color: #fff;
    border-color: #329bd2 #f0f0f0 #fff;
    border-style: solid;
    border-width: 4px 1px 1px;
    border-radius: 5px;
    color: #333333;
}

.tab-001 label:has(:checked) + div {
    display: block;
}