@charset "utf-8";
/* CSS Document */

body{
	min-width: 1280px;
	font-size: 1.6rem; /*PSDのフォントを確認する*/
	line-height: 2;
	color: #3c302a;
}



/*========================================
ここからheaderの設定
==========================================*/

.h_top{
	background: url("../images/common/pattern01.png") repeat-x bottom center;
	padding: 10px 0;
}
.h_top h1{
	font-size: 0.9rem;
	margin-bottom: 3px;
}
.ht_top_wrap{
	padding-bottom: 5px;
}
.h_ads{
	width: 40%;
	align-items: flex-end;
}
.h_ads_txt{
	margin: 0 25px 0 auto;
	font-size: 1.3rem;
}
.h_ads_link p{
	position: relative;
	font-size: 1.2rem;
	font-weight: bold;
	background: #ffe79f;
	border-radius: 10px;
	text-align: center;
	width: 100%;
	margin-bottom: 7px;
	padding: 0 10px;
}
.h_ads_link p::before{
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	border-top: 5px solid #ffe79f;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
}
.h_ads_link a{
	position: relative;
	font-size: 2.0rem;
	font-weight: bold;
	padding-left: 28px;
	line-height: 1;
}
.h_ads_link a::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 20px;
	height: 18px;
	background: url("../images/common/h_tel.png") no-repeat center;
}

#official .h_ads_link p,
#recruit .h_ads_link p{
	background: #ffa030;
	color: #fff;
}
#official .h_ads_link p::before,
#recruit .h_ads_link p::before{
	border-top: 5px solid #ffa030;
}



/*2ページ目サイトのナビゲーション*/

.h_nav_wrap li{
	flex: 1;
	text-align: center;
	padding: 1px;
}
.h_nav_wrap li a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background: url("../images/common/nav_bg01.png");
	padding: 35px 0 5px;
	font-weight: bold;
	transition: 0.5s;
}
.h_nav_wrap li a:hover{
	transition: 0.5s;
	opacity: 0.5;
}
.h_nav_wrap li:nth-of-type(2) a{
	background-image: url("../images/common/nav_bg02.png");
}
.h_nav_wrap li:nth-of-type(3) a{
	background-image: url("../images/common/nav_bg03.png");
}
.h_nav_wrap li:nth-of-type(4) a{
	background-image: url("../images/common/nav_bg04.png");
}
.h_nav_wrap li a::before{
	content: '';
	position: absolute;
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
	width: 19px;
	height: 25px;
	background: url("../images/common/official_nav_icon01.png") no-repeat center / 100%;
}
.h_nav_wrap li:nth-of-type(2) a::before{
	width: 30px;
	height: 26px;
	background: url("../images/common/official_nav_icon02.png") no-repeat center;
}
.h_nav_wrap li:nth-of-type(3) a::before{
	width: 29px;
	height: 25px;
	background: url("../images/common/official_nav_icon03.png") no-repeat center;
}
.h_nav_wrap li:nth-of-type(4) a::before{
	width: 20px;
	height: 25px;
	background: url("../images/common/official_nav_icon04.png") no-repeat center;
}

/*recruitのナビゲーション*/

#recruit .h_nav_wrap li:nth-of-type(2) a::before{
	width: 30px;
    height: 24px;
    background: url(../images/common/recruit_nav_icon02.png) no-repeat center;
}
#recruit .h_nav_wrap li:nth-of-type(3) a::before{
	width: 24px;
    height: 25px;
    background: url(../images/common/recruit_nav_icon03.png) no-repeat center;
}
#recruit .h_nav_wrap li:nth-of-type(4) a::before{
	width: 19px;
    height: 24px;
    background: url(../images/common/recruit_nav_icon04.png) no-repeat center;
}



/*========================================
ここからfooterの設定
==========================================*/

footer{
	background: #fff;
}
#copyright{
	font-size: 1.0rem;
	text-align: center;
	padding: 5px 0;
}

/*---------------------
二層目のTOPページfooter
----------------------*/

.f_nav{
	background: #ff8787;
}
.f_nav_wrap{
	padding: 0 100px;
	color: #fff;
}
.f_nav_wrap li{
	padding: 10px 0;
}
.f_inner{
	background: #fff;
	text-align: center;
	padding: 50px 0;
}
.f_logo{
	margin-bottom: 25px;
}
.f_inner_txt{
	font-weight: bold;
	margin-bottom: 15px;
}
.f_ads{
	max-width: 420px;
	width: 100%;
	margin: 0 auto;
}
.f_ads p{
	position: relative;
	line-height: 1.3;
	background: #ffa030;
	color: #fff;
	padding: 5px 20px;
	border-radius: 10px 0 0 10px;
}
.f_ads p::before{
	content: '';
	position: absolute;
	top: 50%;
	right: -7px;
	transform: translateY(-50%);
	border-left: 7px solid #ffa030;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
}
.f_ads a{
	font-size: 2.4rem;
	font-weight: bold;
	background: url("../images/common/	f_tel.png") no-repeat left 27px center,#ffebd4;
	border-radius: 0 10px 10px 0;
	padding: 0 40px 0 60px;
}

#recruit .f_nav{
	background: #43bfff;
}


/*========================================
ここからメインビジュアルの設定
==========================================*/

/*総合サイトのTOP*/

.main_visual li{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	z-index: 0;
	height: 970px;
}
.main_visual li::before{
	content: '';
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	 -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    -ms-transition: all 1s ease;
    transition: all 1s ease;
}
.main_visual li:first-child::before{
	left: 0;
	background: url("../images/top/top_main_visual01.png") no-repeat center / cover;
	z-index: -1;
}
.main_visual li:last-child::before{
	right: 0;
	background: url("../images/top/top_main_visual02.png") no-repeat center / cover;
	z-index: -1;
}
.main_visual li:hover::before{
	 -webkit-filter: blur(10px);
	  -moz-filter: blur(10px);
	  -o-filter: blur(10px);
	  -ms-filter: blur(10px);
	  filter: blur(10px);
}
@media all and (-ms-high-contrast: none) {
  /* ここに書く */
	.main_visual li::before {
	  transition: 0.5s;
	}
	.main_visual li:hover::before {
	  opacity: 0.5;
	}
}
.top_visu_box{
	max-width: 510px;
	width: 100%;
	text-align: center;
	margin: 33% 0;
	padding: 90px 50px 170px;
	border-radius: 30px;
}
.main_visual li:first-child .top_visu_box{
	background: url("../images/top/top_visu_box_illust01.png") no-repeat center bottom,rgba(255, 255, 255,.851)
}
.main_visual li:last-child .top_visu_box{
	background: url("../images/top/top_visu_box_illust02.png") no-repeat center bottom,rgba(255, 255, 255,.851)
}
.top_visu_box h2{
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 30px;
}


/*2ページ目サイトのTOP*/

.second_main_visual{
	background: url("../official/images/top/second_main_visual_img.png") no-repeat center / cover;
	height: 770px;
}
.second_main_visual_wrap{
	height: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

/*recruitのメインビジュアル*/


#recruit .second_main_visual{
	background-image: url("../recruit/images/top/main_vis.png");
}
#recruit .second_main_visual_wrap{
	justify-content: flex-start;
}




/*========================================
ここからTOPメイン領域の設定
==========================================*/

/*---------------------
二層目のTOPページmain
----------------------*/

/*オフィシャルサイトでベースのcssを作成*/

.top_about{
	background: #f6f6f1;
}
.top_about_space{
	align-items: center;
}
.top_about_txt{
	max-width: 500px;
	width: 100%;
}
.top_about_txt p:not(:last-child){
	margin-bottom: 30px;
}
.top_second .cmn_ttl_big::before{
	left: initial;
	right: 45px;
	width: 126px;
	height: 119px;
	background: url("../official/images/top/cmn_ttl_big_illus02.png") no-repeat center;
}
.top_second_space li{
	max-width: 340px;
	width: 100%;
}
.top_second_space li a{
	display: block;
}
.top_second_space li a:hover .top_second_img img{
	transform: scale(1.07);
}
.top_second_img{
	width: 100%;
	height: 240px;
	overflow: hidden;
	border-radius: 17px 17px 0 0;
}
.top_second_img img{
	transition: 0.5s;
}
.top_second_box figcaption{
	position: relative;
	font-size: 3.0rem;
	font-weight: bold;
	text-align: center;
	background: url("../images/common/top_second_box_fuchi01.png") repeat-x top center,#fff9b8;
	border-radius: 0 0 17px 17px;
	padding: 32px 0; 
}
.top_second_space li:nth-of-type(2) .top_second_box figcaption{
	background-image: url("../images/common/top_second_box_fuchi02.png");
	background-color: #ffdfdf;
}
.top_second_space li:nth-of-type(3) .top_second_box figcaption{
	background-image: url("../images/common/top_second_box_fuchi03.png");
	background-color: #c4ebff;
}
.top_second_box figcaption::before{
	content: '';
	position: absolute;
	top: 50%;
	right: 27px;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	background: url("../images/common/top_second_box_yazi01.png") no-repeat center;
	transition: 0.5s;
}
.top_second_space li:nth-of-type(2) .top_second_box figcaption::before{
	background-image: url("../images/common/top_second_box_yazi02.png");
}
.top_second_space li:nth-of-type(3) .top_second_box figcaption::before{
	background-image: url("../images/common/top_second_box_yazi03.png");
}
.top_second_space li a:hover .top_second_box figcaption::before{
	right: 10px;
}
.top_desc{
	background: url("../images/common/pattern02.png");
}
.top_desc_txt{
	position: relative;
}
.top_desc_txt dt{
	position: absolute;
	top: 46px;
    left: -118px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 668px;
	height: 271px;
	font-size: 4.0rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	line-height: 1.4;
	background: url("../official/images/top/top_desc_txt_ttl_bg.png") no-repeat center;
}
.fz45{
	font-size: 4.5rem;
}
.fz35{
	font-size: 3.5rem;
}
.top_desc_txt dd{
	margin-top: 350px;
}
.top_news{
	background: #f6f5f1;
}
.top_news_area{
	position: relative;
}
.top_news_wrap h3{
	max-width: 865px;
	width: 100%;
	position: relative;
	background: url("../images/common/top_news_icon.png") no-repeat center left 20px,
		url("../images/common/cmn_ttl_big_bg.png") no-repeat center / cover;
	font-size: 4.0rem;
	font-weight: bold;
	border: 2px dashed #3c302a;
	border-radius: 15px;
	margin-bottom: 30px;
	line-height: 1;
	padding: 13px 0 13px 100px;
}
.top_news_in{
	background: #fff;
	border-radius: 20px;
	padding: 30px 40px;
}
.top_news_in li:not(:last-child){
	margin-bottom: 10px;
}
.top_news_in a{
	align-items: baseline;
}
.top_news_in time{
	display: block;
	font-size: 1.5rem;
	background: #ffa030;
	color: #fff;
	border-radius: 15px;
	line-height: 1;
	padding: 5px 20px;
	margin-right: 20px;
}
.top_news_in p{
	display: block;
	max-width: 850px;
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	background: url("../images/common/line_pattern01.png") repeat-x bottom;
}
.gra_btn{
	position: absolute;
	top: 15px;
	right: 0;
	width: 180px;
	height: 50px;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	border-radius: 25px;
	background-image: -moz-linear-gradient( 175deg, rgb(35,113,255) 0%, rgb(56,164,255) 54%, rgb(133,211,255) 91%);
	background-image: -webkit-linear-gradient( 175deg, rgb(35,113,255) 0%, rgb(56,164,255) 54%, rgb(133,211,255) 91%);
	background-image: -ms-linear-gradient( 175deg, rgb(35,113,255) 0%, rgb(56,164,255) 54%, rgb(133,211,255) 91%);
}
.gra_btn::before{
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%) rotate(-45deg);
	width: 5px;
	height: 5px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transition: 0.5s;
}
.gra_btn:hover::before{
	right: 10px;
}
.top_desc_space figure{
	position: relative;
}
.top_desc_space figure::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 327px;
	height: 234px;
	background: url("../official/images/top/top_desc_space_item.png") no-repeat center;
}




/*========================================
ここから下層メインビジュアルの設定
==========================================*/

.second_sub_visual{
	background: url("../official/images/common/sb_vis.png") no-repeat center / cover;
	height: 300px;
}
.second_sub_visual_wrap{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.second_sub_visual h2{
	display: inline-block;
	font-weight: bold;
	color: #fff;
	font-size: 4.5rem;
	text-align: center;
	background: url("../images/common/ttl_line.png") repeat-x top,
	url("../images/common/ttl_line.png") repeat-x bottom;
	margin: 0 auto;
	padding: 0 70px;
}

/*ここからrecruitの下層メインビジュアル*/

#recruit .second_sub_visual{
	background: url("../recruit/images/common/sb_vis.png") no-repeat center / cover;
}



/*==========================
404ページ
============================*/

.error_page{
	background: #f6f6f1;
}
.no_page_wrap{
	text-align: center;
	
}
.no_page_wrap a{
	color: red;
}



/*========================================
ここから下層メイン領域の設定
==========================================*/


/*私たちについて*/

.about_introduction{
	background: #f7f6f1;
}
.about_introduction_txt{
	margin-bottom: 40px;
	text-align: center;
}
.about_introduction_txt p:not(:last-child){
	margin-bottom: 32px;
}
.about_introduction_img{
	margin-bottom: 45px;
	text-align: center;
}
.about_box_space li{
	max-width: 330px;
	width: 100%;
}
.about_box_space li .cmn_ttl_sub{
	margin-bottom: 20px;
}
.about_box_img{
	margin-bottom: 20px;
}
.about_box_in figcaption{
	font-size: 1.5rem;
	letter-spacing: -0.1em;
}
.official_about .cmn_box_ttl{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
}
.about_initiatives{
	background: url("../official/images/about/about_initiatives_bg.png") no-repeat center / cover;
}
.about_initiatives_wrap{
	padding-bottom: 20px
}
.about_initiatives_list li{
	position: relative;
	max-width: 330px;
	width: 100%;
	background: #fff;
	border-radius: 35px;
	border: 2px solid #ff8787;
	counter-increment: number;
	text-align: center;
	line-height: 1.8;
	padding: 50px 0 30px;
	margin-bottom: 80px;
}
.about_initiatives_list li:nth-child(even){
	border: 2px solid #ffbaba;
}
.about_initiatives_list li::before{
	content: counter(number, decimal-leading-zero);
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	height: 80px;
	background: #ff8787;
	font-size: 4.0rem;
	color: #fff;
	font-weight: bold;
	border-radius: 50px;
}
.about_initiatives_list li:nth-child(even)::before{
	background: #ffbaba;
}
.about_flow{
	background: #f3f2ed;
}
.about_flow_line{
	padding-bottom: 20px;
	background: url("../official/images/about/about_flow_line_img.png") no-repeat right bottom 65px;
}
.about_flow_sub_ttl{
	margin-bottom: 35px;
	text-align: center;
}
.about_flow_box{
	position: relative;
	max-width: 235px;
	width: 100%;
	background: #fff;
	border-radius: 25px;
	border: 2px solid #ff8787;
	text-align: center;
	padding: 20px;
	margin-bottom: 45px;
}
.about_flow_box:not(:nth-of-type(4n)){
	margin-right: 45px;
}
.about_flow_box:not(:last-child)::before{
	content: '';
	position: absolute;
	top: 50%;
	right: -10px;
	transform: translateY(-50%);
	border-left: 10px solid #ff8787;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}
.about_flow_time{
	font-size: 1.8rem;
	font-weight: bold;
	border-bottom: 2px solid #ffa030;
	margin-bottom: 15px;
}
.about_flow_txt{
	letter-spacing: -0.1em;
	padding-bottom: 10px
}
.about_service_ttl{
	position: relative;
	font-size: 3.0rem;
	font-weight: bold;
	color: #ff8787;
	background: #ffdfdf;
	text-align: center;
	line-height: 1.5;
	border-radius: 20px;
	padding: 30px 0;
	margin-bottom: 50px;
}
.about_service_ttl::before{
	content: '';
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 20px solid #ffdfdf;
}
.about_service_txt{
	font-size: 1.5rem;
	text-align: center;
	background: url("../official/images/about/about_service_txt_bg.png") no-repeat center;
	padding: 300px 0 260px;
	letter-spacing: -0.1em;
}
.about_service_txt p:not(:last-child){
	margin-bottom: 28px;
}

/*施設紹介*/

.facility_intro_box li:not(:last-child){
	margin-bottom: 50px;
}
.facility_intro_space{
	align-items: flex-start;
}
.facility_intro_img{
	display: flex;
	align-items: center;
	justify-content: center;
	order: 2;
	width: 540px;
	height: 300px;
}
.facility_intro_img img{
	max-width: 100%;
	max-height: 100%;
}
.facility_intro_txt{
	max-width: 495px;
	width: 100%;
	border-top: 1px solid #3c302a;
	border-bottom: 1px solid #3c302a;
	background: #fff;
}
.facility_intro_line dt,
.facility_intro_line dd{
	padding: 9px 0 9px 15px;
}
.facility_intro_line dt{
	background: #ffa030;
	width: 150px;
	font-weight: bold;
}
.facility_intro_line:not(:last-child) dt{
	border-bottom: 1px solid #fff;
}
.facility_intro_line dd{
	width: calc(100% - 150px);
}
.facility_intro_line:not(:last-child) dd{
	border-bottom: 1px solid #3c302a;
}

/*ご利用案内*/

.use_flow{
    background: #f5f3ee;
}
.use_space{
    margin-bottom: 40px;
}
.use_space li{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    counter-increment: number;
    background: #d4ffcd;
    border: 2px solid #7ce06c;
    border-radius: 50%;
    width: 230px;
    height: 230px;
}
.use_space li:nth-of-type(2){
    background: #fff9b8;
    border-color: #ffc62e;
}
.use_space li:nth-of-type(3){
    background: #ffdfdf;
    border-color: #ff8787;
}
.use_space li:nth-of-type(4){
    background: #c4ebff;
    border-color: #43bfff;
}
.use_space li img{
    margin-bottom: 15px;
}
.use_space li .use_flow_ttl{
    font-size: 2.3rem;
    font-weight: bold;
    line-height: 1.3;
}
.use_space li::before{
    position: absolute;
    top: 10px;
    left: 0;
    content: "STEP"counter(number);
    background: #26b60e;
    color: #fff;
    border-radius: 15px;
    font-size: 1.8rem;
    padding: 0 15px;
    line-height: 1.5;
}
.use_space li:nth-of-type(2)::before{
    background: #ffc733;
}
.use_space li:nth-of-type(3)::before{
    background: #ff8787;
}
.use_space li:nth-of-type(4)::before{
    background: #43bfff;
}
.use_space li:not(:last-child)::after{
    content: '';
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    border-left: 10px solid #74dd63;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}
.use_space li:nth-of-type(2)::after{
    border-left: 10px solid #ffc733;
}
.use_space li:nth-of-type(3)::after{
    border-left: 10px solid #ff8787;
}
.use_flow_txt{
    text-align: center;
}
.use_flow_txt p:not(:last-child){
    margin-bottom: 32px;
}
.use_price{
    background: #f4f4ef;
}
.table_list01{
    width: 100%;
    border: 1px solid #3c302a;
    text-align: center;
    background: #fff;
    margin-bottom: 50px;
}
.table_list01 th,
.table_list01 td{
    vertical-align: middle;
}
.table_list01 tr:not(:last-child){
    border-bottom: 1px solid #3c302a;
}
.table_list01 th{
    background: #23ac0f;
    font-size: 1.8rem;
    color: #fff;
    font-weight: bold;
    padding: 10px 0;
}
.tb_w01{
    width: 215px;
    border-right: 1px solid #fff;
}
.tb_subttl_w th{
    width: 215px;
}
.tb_bdr01{
    border-bottom: 1px solid #fff;
}
.tb_bdr02{
    border-left: 1px solid #fff;
}
.table_list01 td{
    padding: 10px 0;
}
.table_list01 td:not(:last-child){
    border-right: 1px solid #3c302a;
}
.last_box{
    margin-bottom: 100px;
}


/*-------------------
カラーの設定
---------------------*/

.color_ttl01{
    color: #009e8c;
    border-color: #009e8c;
}
.color_bg01 th{
    background: #009e8c;
}
.color_ttl02{
    color: #007fb1;
    border-color: #007fb1;
}
.color_bg02 th{
    background: #007fb1;
}
.color_ttl03{
    color: #3161ab;
    border-color: #3161ab;
}
.color_bg03 th{
    background: #3161ab;
}
.color_ttl04{
    color: #5c629e;
    border-color: #5c629e;
}
.color_bg04 th{
    background: #5c629e;
}
.color_ttl05{
    color: #734199;
    border-color: #734199;
}
.color_bg05 th{
    background: #734199;
}
.color_ttl06{
    color: #a52175;
    border-color: #a52175;
}
.color_bg06 th{
    background: #a52175;
}
.color_ttl07{
    color: #c7243a;
    border-color: #c7243a;
}
.color_bg07 th{
    background: #c7243a;
}
.color_bg07 th{
    background: #c7243a;
}
.color_bg08 th{
    background: #ee8221;
}
.color_bg09 th{
    background: #f0ba32;
}
.fz14{
    font-size: 1.4rem;
}


/*-------------------
ここまでカラーの設定
---------------------*/


.table_base02 tr:first-child th:not(:last-child),
.table_base03 tr:first-child th:not(:last-child){
    border-right: 1px solid #fff;
}
.table_base02 tr:first-child th:nth-of-type(1){
    width: 430px;
}
.table_base02 tr:first-child th:not(:first-child){
    width: 210px;
}
.tb_pdg td{
    padding: 30px 0;
}
.table_base03 th:first-child,
.table_base03 th:last-child{
    width: 210px;
}
.facility_introduction{
	background: #f6f5f0;
}



/*=====================
ここからrecruit全体ページ
=======================*/


/*ここからrecruit*/

#recruit .cmn_ttl_big{
	background: url(../images/common/cmn_ttl_big_bg02.png) no-repeat center / cover;
}
#recruit .cmn_ttl_big::before{
	width: 81px;
	height: 119px;
	background: url(../recruit/images/top/cmn_ttl_big_illus01.png) no-repeat center;
}
#recruit .top_about_txt{
	max-width: 430px;
}
#recruit .top_second .cmn_ttl_big::before{
	width: 116px;
	height: 119px;
	background: url(../recruit/images/top/cmn_ttl_big_illus02.png) no-repeat center;
}
#recruit .top_desc_space figure::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 135px;
	height: 298px;
	background: url("../recruit/images/top/top_desc_space_item.png") no-repeat center;
}
#recruit .top_desc_txt dt{
	background: url(../recruit/images/top/top_desc_txt_ttl_bg.png) no-repeat center;
}
#recruit .top_desc{
	background: url(../images/common/pattern03.png);
}
#recruit .top_news_wrap h3{
	background: url(../images/common/top_news_icon.png) no-repeat center left 20px,
	 url(../images/common/cmn_ttl_big_bg02.png) no-repeat center / cover;
}
#recruit .gra_btn{
	background-image: -moz-linear-gradient( 175deg, rgb(255,53,63) 0%, rgb(255,90,98) 53%, rgb(255,114,121) 91%);
  background-image: -webkit-linear-gradient( 175deg, rgb(255,53,63) 0%, rgb(255,90,98) 53%, rgb(255,114,121) 91%);
  background-image: -ms-linear-gradient( 175deg, rgb(255,53,63) 0%, rgb(255,90,98) 53%, rgb(255,114,121) 91%);
}
.jobs_area{
	background: url("../recruit/images/top/jobs_area_item01.png") no-repeat left top 100px,url("../recruit/images/top/jobs_area_item02.png") no-repeat right bottom,#f5f3ef;
}
.jobs_box_space{
	align-items: center;
}
.jobs_box_space figure{
	position: relative;
}
.jobs_box figure::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: -120px;
	width: 217px;
	height: 129px;
	background: url("../recruit/images/jobs/jobs_box_space_item01.png") no-repeat center;
}
.jobs_box_txt{
	width: 50%;
}
.jobs_box:not(:last-child){
	margin-bottom: 50px;
}
.jobs_box:nth-child(even) .jobs_box_txt{
	order: 2;
	display: flex;
	justify-content: flex-end;
}
.jobs_box:nth-of-type(2) .jobs_box_txt{
	letter-spacing: -0.1em;
}
.jobs_box:nth-of-type(2) figure::before{
	left: auto;
	right: -55px;
	width: 157px;
	height: 133px;
	background-image: url("../recruit/images/jobs/jobs_box_space_item02.png");
}
.jobs_box:nth-of-type(3) figure::before{
	left: -70px;
	width: 124px;
	height: 163px;
	background-image: url("../recruit/images/jobs/jobs_box_space_item03.png");
}
.jobs_box:nth-of-type(4) figure::before{
	left: auto;
	right: -50px;
	width: 143px;
	height: 140px;
	background-image: url("../recruit/images/jobs/jobs_box_space_item04.png");
}
.jobs_box:nth-of-type(5) figure::before{
	left: auto;
	left: -70px;
	width: 185px;
	height: 159px;
	background-image: url("../recruit/images/jobs/jobs_box_space_item05.png");
}
.characteristic_about{
	background: #f3f3ef;
}
.characteristic_about_wrap{
	padding-bottom: 60px;
}
.characteristic_about_wrap .cmn_box_item{
	max-width: 330px;
	margin-bottom: 40px
}
.characteristic_about_wrap .cmn_box_item:nth-of-type(4){
	margin-left: 180px;
}
.characteristic_about_wrap .cmn_box_item:nth-of-type(5){
	margin-right: 180px;
}



.staff_line li:not(:nth-of-type(3n)){
	margin-right: 45px;
}
.staff_line li{
	max-width: 330px;
	width: 100%;
	margin-bottom: 50px;
}
.staff_line .cmn_ttl_sub{
	text-align: center;
	padding: initial;
	margin-bottom: 20px;
}
.staff_img{
	width: 330px;
	height: 330px;
	margin-bottom: 20px;
}
@media all and (-ms-high-contrast: none) {
	.staff_img{
		position: relative;
	}
	.staff_img img{
		position: absolute;
		top: 0;
		right: 0;
		max-width: 100%;
		max-height: 100%;
	}
}
.staff_img img{
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
}
.staff_txt{
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	border-bottom: 2px solid #ffa030;
	line-height: 1.5;
	padding-bottom: 5px;
}
.btn_show{
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: -moz-linear-gradient( 175deg, rgb(255,53,63) 0%, rgb(255,90,98) 53%, rgb(255,114,121) 91%);
    background-image: -webkit-linear-gradient( 175deg, rgb(255,53,63) 0%, rgb(255,90,98) 53%, rgb(255,114,121) 91%);
    background-image: -ms-linear-gradient( 175deg, rgb(255,53,63) 0%, rgb(255,90,98) 53%, rgb(255,114,121) 91%);
	width: 250px;
	height: 50px;
	border-radius: 30px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	cursor: pointer;
	margin: 50px auto 0;
}
.recruit_area{
	background: #f5f3ed;
}
.recruit_list li:first-child{
	border-top: 1px solid #3c302a;
}
.recruit_list li:last-child{
	border-bottom: 1px solid #3c302a;
}
.recruit_box_line{
	line-height: 1.5;
	background: #fff;
}
.recruit_box_line dt{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 150px;
	font-weight: bold;
	background: #ffa030;
}
.recruit_list li:not(:last-child) .recruit_box_line dt{
	border-bottom: 1px solid #fff;
}
.recruit_box_line dd{
	width: calc(100% - 150px);
}
.recruit_list li:not(:last-child) .recruit_box_line dd{
	border-bottom: 1px solid #3c302a;
}
.recruit_box_line dt,
.recruit_box_line dd{
	padding: 17px 20px;
}
.recruit_area_sec:not(:last-child){
	margin-bottom: 50px;
}













/*========================================
ここからnewsの設定
==========================================*/


.news_list li:not(:last-child){
	margin-bottom: 30px;
}
.news_list li a{
	padding: 10px;
	background: #fff;
	border-radius: 15px;
	align-items: baseline;
}
.news_list li time{
    display: block;
    font-size: 1.5rem;
    background: #ffa030;
    color: #fff;
    border-radius: 15px;
    line-height: 1;
    padding: 5px 20px;
    margin-right: 20px;
}
.news_txt{
	width: calc(100% - 150px);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	background: url(../images/common/line_pattern01.png) repeat-x bottom;
}
.news_area_inner{
	border-radius: 15px;
	box-shadow: 0px 6px 24px -11px #000000;
	padding: 30px;
	background: #fff;
}
.news_area_inner h3{
	font-size: 2.3rem;
	border-bottom: 2px solid #3c302a;
	margin-bottom: 20px;
	font-weight: bold;
	line-height: 1.4;
	padding-bottom: 10px;
}
.news_inner_time{
	display: inline-block;
    font-size: 1.4rem;
    background: #ffa030;
    color: #fff;
    border-radius: 15px;
    line-height: 1;
    padding: 5px 15px;
    margin-bottom: 15px;
}
.news_area_txt{
	margin-bottom: 60px;
}
.paginated-link a{
	display: block;
    color: #000;
    padding: 7px 15px;
    text-align: center;
    background: #ececec;
    border-radius: 5px;
}
.prev-link{
	width: 40%;
	float: left;
}
.next-link{
	width: 40%;
	float: right;
}

/*========================================
ここからprivacyの設定
==========================================*/

.privacy_wrap h3{
	font-size: 2.3rem;
	font-weight: bold;
	margin-bottom: 15px;
}
.privacy_wrap section{
	margin-bottom: 30px;
}

/*========================================
ここからsiteの設定
==========================================*/

.site_list a{
	position: relative;
	display: block;
	color: #3c302a;
	border-bottom: 2px solid #ff8787;
	margin-bottom: 20px;
	padding: 7px 0 7px 30px;
	box-shadow: 0px 2px 12px -11px #000000;
	background: #fff;
	border-radius: 10px;
}
.site_list a::before{
	content: '';
	position: absolute;
	top: 18px;
	left: 10px;
	width: 5px;
	height: 5px;
	border-right: 2px solid #ff8787;
	border-bottom: 2px solid #ff8787;
	transform: rotate(-45deg);
	transition: 0.5s;
}
.site_list a:hover::before{
	left: 20px;
}


/*ここからrecruit*/



#recruit .site_list a{
	border-bottom: 2px solid #43bfff;
}
#recruit .site_list a::before{
	border-right: 2px solid #43bfff;
    border-bottom: 2px solid #43bfff;
}

@media screen and (max-width:767px){

	body{
		min-width: 350px;
		font-size: 1.5rem;
		line-height: 1.8;
		-webkit-text-size-adjust:100%;
	}

	/*========================================
	ここからheaderの設定(SP)
	==========================================*/
	
	.h_nav_wrap{
		width: 100%;
	}
	.h_nav_wrap li a{
		line-height: 1.2;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 40px 5px 5px;
	}
	
	/*========================================
	ここからfooterの設定(SP)
	==========================================*/
	
	
	footer{
		border-top: 2px solid #ffa030;
	}
	.f_ads{
		width: calc( 100% - 25px);
		margin: 0 auto;
		max-width: 290px;
	}
	.f_ads p{
		width: 100%;
		padding: 7px 0;
		border-radius: 10px 10px 0 0;
		font-size: 1.6rem;
	}
	.f_ads a{
		width: 100%;
		padding: 10px 0 10px 0;
		border-radius: 0 0 10px 10px;
		font-size: 2.0rem;
	}
	.f_ads p::before{
		right: initial;
		top: initial;
		left: 50%;
		bottom: -7px;
		transform: translateX(-50%) rotate(90deg);
	}

	
	/*========================================
	ここからメインビジュアルの設定(SP)
	==========================================*/
	
	/*総合TOPのCSS*/
	
	.main_visual{
		margin-top: 60px;
	}
	.main_visual li{
		width: 100%;
		height: 50%;
	}
	.top_visu_box{
		width: 85%;
		padding: 30px 10px 30%;
	}
	.main_visual li:first-child .top_visu_box,
	.main_visual li:last-child .top_visu_box{
		background-size: 170px;
	}
	
	/*2層目のメインビジュアル*/
	
	.second_main_visual{
		height: 450px;
		background-position: left -70px center;
	}
	.second_main_visual h2{
		margin-top: 50px;
	}
	#recruit .second_main_visual{
		background-position: right -190px top;
	}
	
	
	
	/*========================================
	ここから下層メインビジュアルの設定(SP)
	==========================================*/
	
	
	/*----------------------
	ここからオフィシャルサイト
	------------------------*/
	
	.second_sub_visual{
		height: 250px;
	}
	.second_sub_visual h2{
		font-size: 2.8rem;
		padding: 10px 25px;
		margin-top: 55px;
	}
	
	
	
	
	/*========================================
	ここから全体メイン領域の設定(SP)
	==========================================*/
	
	
	/*----------------------
	ここからオフィシャルサイト
	------------------------*/
	
	
	.top_about_space{
		justify-content: center;
	}
	.top_about_space .top_about_txt{
		order: 2;
	}
	.top_about_space figure{
		margin-bottom: 30px;
	}
	.top_second_space{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.top_second_space li{
		width: 90%;
	}
	.top_second_space li:not(:last-child){
		margin-bottom: 40px;
	}
	.top_second_box figcaption{
		font-size: 2.3rem;
		padding: 20px 0 15px;
	}
	.top_second_img{
		height: 180px;
	}
	.top_second_img img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.top_desc_space figure{
		width: 280px;
		padding-top: 100px;
		margin: 0 auto;
	}
	.top_desc_txt dt{
		left: 50%;
		transform: translateX(-50%);
		top: -400px;
		width: 100%;
		height: auto;
		font-size: 2.0rem;
		background-image: -moz-linear-gradient( 175deg, rgb(255,53,63) 0%, rgb(255,90,98) 53%, rgb(255,114,121) 91%);
		background-image: -webkit-linear-gradient( 175deg, rgb(255,53,63) 0%, rgb(255,90,98) 53%, rgb(255,114,121) 91%);
		background-image: -ms-linear-gradient( 175deg, rgb(255,53,63) 0%, rgb(255,90,98) 53%, rgb(255,114,121) 91%);
		padding: 2px;
		border-radius: 30px;
	}
	.top_desc_txt dt h3{
		width: 100%;
		height: 100%;
		border: 1px solid #ffcd04;
		border-radius: 30px;
		padding: 8px 5px;
	}
	.top_desc_txt dd{
		margin-top: 30px;
	}
	.fz45{
		font-size: 3.0rem;
	}
	.fz35{
		font-size: 2.0rem;
	}
	.top_news_wrap h3{
		font-size: 2.5rem;
		    background: url(../images/common/top_news_icon.png) no-repeat center left 20px / 43px, url(../images/common/cmn_ttl_big_bg.png) no-repeat center / cover;
	}
	.top_news_in{
		padding: 20px;
		margin-bottom: 40px;
	}
	.top_news_in time{
		padding: 5px 10px;
		margin-bottom: 5px;
		font-size: 1.4rem;
	}
	.top_news_in p{
		font-size: 1.6rem;
	}
	.top_desc_space figure::before{
		content: none!important;
	}
	.gra_btn{
		position: static;
		margin: 0 auto;
		font-size: 1.5rem;
		height: 45px;
	}
	.top_desc_txt{
		width: 100%;
	}
	.about_introduction_img{
		max-width: 500px;
		width: 90%;
		margin: 0 auto 30px;
	}
	.about_introduction_txt{
		text-align: left;
	}
	.about_box_space{
		justify-content: center;
	}
	.about_box_space li{
		max-width: 450px;
	}
	.about_box_space li:not(:last-child){
		margin-bottom: 50px;
	}
	.about_box_img{
		text-align: center;
		width: 90%;
		margin: 0 auto 30px;
	}
	.about_box_space li .cmn_ttl_sub{
		margin-bottom: 30px;
	}
	.official_about .cmn_box_ttl{
		height: initial
	}
	.about_initiatives_wrap .cmn_ttl_bt{
		margin-bottom: 80px;
	}
	.about_initiatives_list{
		justify-content: center;
	}
	.about_initiatives_list li{
		margin-bottom: 60px;
		padding: 40px 0 20px;
	}
	.about_initiatives_list li::before{
		top: -30px;
		font-size: 2.5rem;
		width: 60px;
		height: 60px;
	}
	.about_flow_line{
		background: url(../official/images/about/about_flow_line_img.png) no-repeat right 25px bottom 65px / 120px;
	}
	.about_flow_box{
		width: 47%;
		padding: 10px;
	}
	.about_flow_box:not(:nth-of-type(4n)){
		margin-right: initial;
	}
	.about_flow_box:not(:nth-child(even)){
		margin-right: 15px;
	}
	.about_flow_txt{
		padding-bottom: initial;
	}
	.about_service_ttl{
		font-size: 1.9rem;
		padding: 20px 10px;
	}
	.about_service_txt{
		padding: initial;
		background-image: none;
		text-align: left;
	}
	.about_service_txt p:not(:last-child){
		margin-bottom: 20px;
	}
	.facility_intro_img{
		order: 1;
		width: 90%;
		height: 45vw;
		margin: 0 auto 30px;
	}
	.facility_intro_txt{
		order: 2;
		border-bottom: none;
		margin: 0 auto;
	}
	.facility_intro_line:not(:last-child) dt{
		border: none;
	}
	.facility_intro_line:not(:last-child) dd{
		border: none;
	}
	.facility_intro_line dt{
		text-align: center;
	}
	.facility_intro_line dt,
	.facility_intro_line dd{
		width: 100%;
		padding: 10px;
		border-bottom: 1px solid #3c302a!important;
	}
	.use_space{
		justify-content: center;
	}
	.use_space li:not(:last-child){
		margin-bottom: 30px;
	}
	.use_space li:not(:last-child)::after{
		top: initial;
		right: initial;
		left: 48%;
		bottom: -15px;
		transform: rotate(90deg);
	}
	.use_flow_txt{
		text-align: left;
	}
	.table_list01 th,
	.table_list01 td{
		padding: 10px;
	}
	.js-scrollable{
		overflow-x: scroll;
		white-space: nowrap;
	}
	.jobs_area{
		background: #f5f3ef;
	}
	.jobs_box .jobs_box_txt{
		width: 100%;
		order: 2;
	}
	.jobs_box figure::before{
		left: 0;
		bottom: -30px;
		width: 150px;
		background-size: 100%;
	}
	.jobs_box_space figure{
		margin-bottom: 50px;
	}
	.jobs_box:nth-of-type(2) figure::before{
		width: 120px;
		right: 0;
	}
	.jobs_box:nth-of-type(3) figure::before{
		width: 100px;
		left: 0;
	}
	.jobs_box:nth-of-type(4) figure::before{
		right: 0;
		width: 110px;
	}
	.jobs_box:nth-of-type(5) figure::before{
		left: 0;
		width: 120px;
	}
	.jobs_box_space{
		justify-content: center;
	}
	.jobs_box_txt{
		justify-content: flex-start!important;
	}
	.characteristic_about_wrap .cmn_box_item:nth-of-type(4){
		margin-left: initial;
	}
	.characteristic_about_wrap .cmn_box_item:nth-of-type(5){
		margin: 0 auto;
	}
	.characteristic_about_wrap .cmn_box_space{
		justify-content: space-between;
	}
	.characteristic_about_wrap .cmn_box_item{
		width: 48%;
		margin-bottom: 20px;
	}
	.characteristic_about_wrap .cmn_box_ttl{
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.staff_img{
		width: 250px;
		height: 250px;
		margin: 0 auto 30px;
	}
	.staff_line li:not(:nth-of-type(3n)){
		margin-right: initial;
	}
	.staff_line{
		justify-content: center;
	}
	
	.recruit_box_line dt,
	.recruit_box_line dd{
		width: 100%;
		padding: 15px;
	}
	.btn_show{
		font-size: 1.6rem;
		height: 45px;
		width: 200px;
	}
	.table_list01 th{
		font-size: 1.6rem!important;
	}
	.table_list01 td{
		font-size: 1.5rem!important;
	}
	.error_page{
		padding: 120px 0 60px;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	/*========================================
	ここからnewsの設定
	==========================================*/
	
	.news_list li:not(:last-child){
		margin-bottom: 25px;
	}
	.news_list li a{
		justify-content: flex-start;
		flex-direction: column;
		padding: 10px;
		font-size: 1.2rem;
	}
	.news_list li time{
		display: block;
		margin: initial;
		font-size: 1.4rem;
		padding: 5px 7px;
		margin-bottom: 10px;
	}
	.news_area_inner{
		border-radius: 5px;
		box-shadow: 0px 6px 24px -11px #000000;
		padding: 5%;
	}
	.news_area_inner h3{
		font-size: 2.0rem;
		margin-bottom: 15px;
		padding-bottom: 5px;
	}
	.news_inner_time{
		font-size: 1.4rem;
		margin-bottom: 10px;
		padding: 5px 7px;
	}
	.news_area_txt{
		margin-bottom: 30px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.news_txt{
		width: 100%;
		font-size: 1.7rem;
	}
	.paginated-link a{
		display: block;
		padding: 3px 5%;
		font-size: 1.2rem;
		text-align: center;
		border-radius: 5px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.prev-link{
		width: 45%;
		float: left;
	}
	.next-link{
		width: 45%;
		float: right;
	}

	/*========================================
	ここからprivacyの設定
	==========================================*/

	.privacy_wrap h3{
		font-size: 1.9rem;
		font-weight: bold;
		margin-bottom: 10px;
	}
	.privacy_wrap section{
		margin-bottom: 30px;
	}


	/*========================================
	ここからsiteの設定
	==========================================*/

	.site_list a{
		position: relative;
		display: block;
		margin-bottom: 20px;
		padding: 7px 0 7px 30px;
		box-shadow: 0px 2px 12px -11px #000000;
	}
	.site_list a::before{
		content: '';
		position: absolute;
		top: 18px;
		left: 10px;
		width: 5px;
		height: 5px;
		transform: rotate(-45deg);
		transition: 0.5s;
	}
	.site_list a:hover::before{
		left: 20px;
	}
		
}