@charset "UTF-8";

/* === 共通設定 === */
.fair_list01, .fair_list02 {
	width: 100%;
	margin-bottom:40px;
	font-size: 90%;
	background-color: #f9f9f9;
	border: 1px #ddd solid;
	border-spacing: 0;
	table-layout: fixed;}

.fair_list01 th, .fair_list02 th { padding: 9px 10px; border-left: 1px #ddd solid; font-weight: bold; text-align: center;}
.fair_list01 td, .fair_list02 td { padding: 9px 10px; border-bottom: 1px #ddd solid; line-height: 170%;}

/* === ヘッダー背景色（個別） === */
.fair_list01 thead { background-color: #547f7c; color: #fff;}
.fair_list02 thead { background-color: #ba714d; color: #fff;}

/* === PC向け（共通） === */
@media screen and (min-width: 991px) {
	.fair_list01 tbody td,
	.fair_list02 tbody td            { border-left: 1px #ddd dotted; }
	.fair_youtube01, .fair_youtube02 { width: 7%; text-align: center !important; }
	.fair_add01, .fair_add02         { width: 13%; text-align: center;	}
}

/* === 幅の個別指定 === */
@media screen and (min-width: 991px) {
	.fair_name01    { width: 25%; }
	.fair_masse01   { width: 55%; padding: 8px 15px !important; }
	.fair_name02    { width: 30%; }
	.fair_shisetu02 { width: 50%; }
}

/* === モバイル向け（共通） === */
@media screen and (max-width: 991px) {
	.fair_list01 thead,
	.fair_list02 thead { display: none; }
	.fair_list01 td,
	.fair_list02 td {
		display: block;
		width: 100%;
		padding: 9px 10px 5px 10px;
		border-bottom: 1px #ddd solid;
		border-left-width: 0;	}
	.fair_list01 tbody td:before,
	.fair_list02 tbody td:before {
		display: inline-block;
		vertical-align: middle;
		margin-right: 5px;
		color: #888;	}
	.fair_youtube01, .fair_youtube02,
	.fair_add01, .fair_add02 {
		text-align: left;	}
}

/* === モバイル：装飾（個別） === */
@media screen and (max-width: 991px) {
	.fair_name01 { background-color: #547f7c; color: #fff; font-weight: bold; }
	.fair_list01 tbody td:nth-of-type(3):before { content: "ホームページ："; }
	.fair_list01 tbody td:nth-of-type(4):before { content: "市町名："; }
	.fair_name02 { background-color: #ba714d; color: #fff; font-weight: bold; }
	.fair_list02 tbody td:nth-of-type(2):before { content: "事業所名："; }
	.fair_list02 tbody td:nth-of-type(3):before { content: "ホームページ："; }
	.fair_list02 tbody td:nth-of-type(4):before { content: "市町名："; }
}

.page_title { border-top:2px solid #009D95; padding:15px 15px 50px 15px; position:relative;}
.page_title h2 { font-weight:500; letter-spacing:0.05em; }

u { text-decoration: underline wavy #808080; text-decoration-thickness: 1px;}

.cap_a {
	padding: 0.6em 0.5em 0.5em 0.5em;
	margin:20px 0 15px 0;
	font-weight:bold;
	line-height: 1.4;
	border-top: dotted 1px gray;
	border-bottom: dotted 1px gray;
	background: #fffff4;}


.cap_b01,
.cap_b02 {
	display: table; 
	font-weight: bold;
	line-height: 1.4;
	text-align:center;
}

.cap_b01 {
	font-size:180%;
	width:50%;
	padding: 0.6em 1em 0.5em;
	margin:60px auto 15px;
	background: #e6e6e6;}

.cap_b02 {
	color:#fff;
	padding: 0.6em 1em 0.5em;
	margin:-25px auto 40px;
	background: #2d3d47;}


.cap_box {
	border:1px solid #000;
	padding:10px;
	text-align:center;
	border-radius:3px;}

.fa-number-list {
  list-style: none;
  padding-left: 0;
  margin: 0;}

.fa-number-list li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.5em;}

.fa-number-list .fa-number {
  width: 1.5em;
  text-align: center;
  margin-right: 0.5em;
  flex-shrink: 0;}

/* 利用規約 */
.agr_box h2 {font-size:170%; font-weight:bold; padding-bottom: 10px;}
.agr_box h3 {font-size:120%; font-weight:bold; padding-bottom: 10px;}
.agr_box section { margin-bottom: 60px; }
.agr_box ol li { padding:4px 0; }

/* 仕事をお探しの方 */

.recruit_box1 {color:#fff; background:#009d95; padding:50px 30px; font-size:120%;}
.recruit_box2 {color:#2d3d47; background:#ccebea; padding:50px 5px;}

.recruit_bt_box {background:#fff; border-radius:20px; color:#2d3d47; font-weight:bold; padding:20px 20px 10px 20px; position:relative;   border: 4px solid #009d95; transition: background-color 0.4s ease, border-color 0.4s ease;}
.recruit_bt_box:hover { background: #e5f6f4; border: 4px solid #007771; }
.recruit_arrow1 {position:absolute; right:15px; top:15px;}
.btn--recruit1 {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  color: #009d95;
  font-size: 15px;
  border-radius: 20px;
  max-width:180px;
  height: 40px;
  font-weight: bold;
  transition: 0.3s;
  background-color: #ccebea;}

.recruit_900 {max-width:900px; margin:0 auto;}
.recruit_900_in_link a { color:#fff;}

@media screen and (min-width:768px) {
.recruit_900_in     { margin-left:-15px; margin-right:-15px;}
.recruit_900_in>div { padding-right:15px; padding-left:15px;}
}

@media screen and (max-width:767px) {
.recruit_900_in     { margin-left:-5px; margin-right:-5px;}	
.recruit_900_in>div { padding-right:5px; padding-left:5px;}
}

.recruit_mt_box {background:#fff; border-radius:20px; color:#2d3d47; padding:20px 30px 10px 30px; margin-bottom:15px;}
.recruit_mt_box p{font-size:90%;}

.recruit_mt_md1,
.recruit_mt_md2 {
	display: table; 
	font-weight: bold;
	line-height: 1.4;
	text-align:center;
}

.recruit_mt_md1 {
	font-size:180%;
	width:50%;
	padding: 0.6em 1em 0.5em;
	margin:60px auto 15px;
	background: #fff;}

.recruit_mt_md2 {
	color:#fff;
	padding: 0.6em 1em 0.5em;
	margin:-25px auto 40px;
	background: #009d95;}


.recruit_mt_hd { font-size:170%; font-weight:bold; position: relative; display: inline-block; margin-bottom: 1em;}

.recruit_mt_hd:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #009d95;
  border-radius: 2px;}

.recruit_mt_marker {
	font-weight:bold;
	font-size:140%;
	line-height:170%;
	background: linear-gradient(transparent 60%, #ffff66 60%);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	padding: 0.1em 0; }

.shadow_flyer { position: relative; display: inline-block; }
.shadow_flyer img { display: block; width: 100%; height: auto; }

/* 人材をお探しの方 */

.biz_mt_box {background:#fff1d9; border-radius:20px; color:#2d3d47; padding:20px 30px 10px 30px; margin-bottom:15px; text-align:left;}
.biz_mt_box p{font-size:90%;}

.biz_bt_box {background:#fff; border-radius:20px; color:#2d3d47; font-weight:bold; padding:20px 20px 10px 20px; position:relative;   border: 4px solid #ff7628; transition: background-color 0.4s ease, border-color 0.4s ease;}
.biz_bt_box:hover { background: #fff7e8; border: 4px solid #e35809; }

.biz_box1 {color:#fff; background:#ff7628; padding:50px 30px; font-size:120%;}
.biz_box2 {color:#2d3d47; background:#fff1d9; padding:50px 30px;}

.btn--biz1 {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  color: #ff7628;
  font-size: 15px;
  border-radius: 20px;
  max-width:180px;
  height: 40px;
  font-weight: bold;
  transition: 0.3s;
  background-color: #ffe8c2;}

.biz_mt_md1,
.biz_mt_md2 {
	display: table; 
	font-weight: bold;
	line-height: 1.4;
	text-align:center;}

.biz_mt_md1 {
	font-size:180%;
	width:50%;
	padding: 0.6em 1em 0.5em;
	margin:60px auto 15px;
	background: #fff;}

.biz_mt_md2 {
	color:#fff;
	padding: 0.6em 1em 0.5em;
	margin:-25px auto 40px;
	background: #ff7628;}

.biz_accordion { width:100%; }
.biz_accordion-box { 
  width: 100%;
  border: 2px solid #ff7628;
  border-radius: 10px;
  margin: 15px 0;
  padding:20px 0 0 0;
  background: #fff;
  transition: all 0.3s ease;}

.biz_accordion-box:hover { background-color: #fdf3ec;}

.biz_accordion-header {
  color: #ff7628;
  font-weight: bold;
  background-color: transparent;
  padding: 12px 45px 12px 20px;
  cursor: pointer;
  position: relative;}

.biz_accordion-header::before,
.biz_accordion-header::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 12px;
  height: 2px;
  margin: auto;
  background: #333;
  transition: transform 0.3s;}

.biz_accordion-header::after { transform: rotate(-90deg);}
.biz_accordion-header.active::after { transform: rotate(0deg);}
.biz_accordion-header span { display: flex; align-items: center; padding-left: 25px; position: relative; line-height: 1.5;}
.biz_accordion-header span::before { content: "Q"; position: absolute; left: 0; font-weight: bold; color: #ff7628;}

.biz_accordion-content { display: none; padding: 12px 60px 10px 20px;}
.biz_accordion-content span { display: block; padding-left: 25px; position: relative; line-height: 1.8;}
.biz_accordion-content span::before { content: "A"; position: absolute; left: 0; color: #ff7628; font-weight: bold;}
.biz_accordion-content a { text-decoration: underline;}

/* 両端に自然な影を付ける */
.shadow_flyer::before,
.shadow_flyer::after {
  content: "";
  position: absolute;
  bottom: -8px;
  width: 50%;
  height: 15px;
  z-index: -1;
  background: rgba(0, 0, 0, 0.2);
  filter: blur(8px);
  border-radius: 50%;}

.shadow_flyer::before {
  left: 5%;
  transform: rotate(-2deg);}

.shadow_flyer::after {
  right: 5%;
  transform: rotate(2deg);}


/* 興味のある方 */

.know_box2 {color:#2d3d47; background:#fbdfd9; padding:50px 30px; margin-top:100px;}

.know_mt_md1,
.know_mt_md2 {
	display: table; 
	font-weight: bold;
	line-height: 1.4;
	text-align:center;}

.know_mt_md1 {
	font-size:180%;
	width:50%;
	padding: 0.6em 1em 0.5em;
	margin:60px auto 15px;
	background: #fff;}

.know_mt_md2 {
	color:#fff;
	padding: 0.6em 1em 0.5em;
	margin:-25px auto 40px;
	background: #ed7262;}

.know_title {color:#ed7262; font-weight:bold; font-size:170%; margin:20px 10px 15px 10px;}
.know_job_b {background:#fff; border-radius:20px; padding:20px 20px 10px 20px;}
.know_job_t {color:#ed7262; font-weight:bold; width:100%; border:3px solid #ed7262; border-radius:10px; text-align:center; padding:5px 2px 2px 2px; margin-bottom:15px;}


/* 施設紹介 */

@media screen and (min-width: 2060px) {
.facility_bg {
	background-image: url(../images/page/facility_bg1_pc.png), url(../images/page/facility_bg2_pc.jpg);
	background-position: top right, bottom right;
	background-repeat:no-repeat;}
}

@media screen and (min-width: 1600px) and (max-width: 2059px) {
.facility_bg {
	background-image: url(../images/page/facility_bg1_pc.png), url(../images/page/facility_bg2_pc.jpg);
	background-position: top right, bottom right 120px;
	background-repeat:no-repeat;
	background-size: 30%, 35%;}
}

@media screen and (min-width: 992px) and (max-width: 1599px) {
.facility_bg {
	background-image:  url(../images/page/facility_bg3_pc.png),url(../images/page/facility_bg1_pc.png);
	background-position: bottom 20px right, top right;
	background-repeat:no-repeat;
	background-size: 40%, 35%;}
}

.facility_box1,
.facility_box2, 
.facility_box3 {
	padding:35px;
	text-align:center;
	font-weight:bold;}

.facility_box1 {color:#009d95; background:#009d95 url( "../images/page/facility_box1.jpg" ) no-repeat center bottom; background-size:cover;}
.facility_box2 {color:#ff7628; background:#ff7628 url( "../images/page/facility_box2.jpg" ) no-repeat center bottom; background-size:cover;}
.facility_box3 {color:#ed7262; background:#ed7262 url( "../images/page/facility_box3.jpg" ) no-repeat center bottom; background-size:cover;}

.fa_boxin_title {font-size:180%; margin-bottom:30px;}

.fa_boxin_wt {
  background: #fff;
  padding: 15px 10px;
  width: 100%;
  margin-bottom: 16px; 
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);}

.fa_boxin {background-color: rgb(255 255 255 / 0.85); max-width:1000px; margin:0 auto; padding:60px 60px 30px; border-radius:20px;}


.fa_button1 {
  position: relative;
  display: inline-block;
  color: #fff!important;
  border-radius: 50px;
  margin:5px 0;
  padding: 1em 3em 1em 1.5em;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  line-height: 1;
  transition: background-color 0.3s ease;
  min-width: 250px;}

.fa_button-text {
  display: inline-block;
  width: 100%;
  text-align: center;}

.fa_button-icon {
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.5);
  color: inherit;
  border-radius: 50%;
  width: 2em;
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;}

/* 色バリエーション */
.color-green {
  background-color: #009d95;
}

.color-green:hover {
  background-color: #007c76;
  color:#fff;
}

.color-orange {
  background-color: #ff7628;
}

.color-orange:hover {
  background-color: #e45d0f;
  color:#fff;
}

.color-red {
  background-color: #ed7262;
}

.color-red:hover {
  background-color: #d85a4c;
  color:#fff;
}

/* レスポンシブ対応 */
@media (max-width: 480px) {
  .fa_button1 {
    font-size: 0.9rem;
    padding: 0.6em 2.5em 0.6em 1em;
    min-width: 200px;  }

  .fa_button-icon {
    width: 1.8em;
    height: 1.8em;
    font-size: 0.9rem;  }
}


/* アクセス ◇ ------------------------------*/
.access h2 {font-size:130%; margin-bottom:4px; color:#009d95;}
.access_h5{ margin:20px 0 10px; padding-top:20px; border-top:1px solid #ccc; font-size:100%; font-weight:600;}

.access table{ border-collapse: collapse; border:1px solid #ccc; width:100%;}
.access th   { width:25%; font-weight:normal; background: #e5f5f4; padding:12px 0 12px 0; border-top: solid 1px #ccc; text-align:center; vertical-align:middle;}
.access td   { padding:12px 10px 9px 10px; border-top: solid 1px #ccc;}

.ggmap { position: relative; height: 100%; overflow: hidden;}
.ggmap iframe,
.ggmapr object,
.ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%;}


/* 求人情報誌
--------------------------------------------------------------*/
.moreContent { display: none; }
.faj_day {padding:0 0 2px 0;}

.faj_more {
  cursor: pointer;
  width:300px;
  margin:20px auto;
  background-color: #009D95;
	font-weight:bold;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 25px;}

.faj_dl { font-size:90%; padding: 5px 20px 3px; margin-top:10px;}

@media screen and (min-width:768px) {
.row-faj     { margin-left:-25px; margin-right:-25px;}
.row-faj>div { padding-right:25px; padding-left:25px;}
}

@media screen and (max-width:767px) {
.row-faj     { margin-left:-10px; margin-right:-10px;}
.row-faj>div { padding-right:10px; padding-left:10px;}
}

/* 各種資料
--------------------------------------------------------------*/

.a4-frame {
  width: 100%;
  max-width: 595px;
  aspect-ratio: 1 / 1.414;
  border: 1px solid #eaeaea;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;}

.a4-frame img { max-width: 100%; max-height: 100%; object-fit: cover;}


/* パンくずリスト
--------------------------------------------------------------*/
.breadcrumbs_box { position:absolute; right:15px; top:15px;}
.breadcrumbs_box a { text-decoration: underline; color:#007A71; transition: 0.5s;}
.breadcrumbs_box a:hover { text-decoration: none; color:#AA5100;}

#breadcrumbs ul { width: 100%; text-align: right;}
#breadcrumbs ul li { display: inline-block; vertical-align: top;}

@media screen and (min-width:768px) {
	.breadcrumbs_box {font-size:90%;}
	figure { display: flex; align-items: center;}
	figure img { margin-right: 10px; }
}
	
@media screen and (max-width: 767px) {
	.breadcrumbs_box {font-size:75%;}
	figure { }
	figure img { margin: 20px 0 10px 0; }	
}


/* 記事投稿について
--------------------------------------------------------------*/

.post_box    { line-height:180%;}
.post_box h2 { font-weight:500; line-height:150%; margin:20px 0 10px;}
.post_box h3, 
.post_box h4, 
.post_box h5, 
.post_box h6 { 
    line-height: 150%; 
    margin: 20px 0 10px;}
.post_date   { border-top:1px solid #ddd; border-bottom:1px solid #ddd; padding:10px 0; margin:15px 0 35px;}
.post-content a { text-decoration: underline; color:#007A71; transition: 0.5s;}
.post-content a:hover { text-decoration: none; color:#AA5100;}

.archive_box {
    border: 1px solid #ccc;
    border-radius: 15px;
    margin-bottom: 20px;
    padding: 20px 60px 20px 20px;
    transition: background-color 0.3s ease, color 0.3s ease;
    cursor: pointer;
    background-color: #fff; 
	position:relative;}

.archive_box a { text-decoration: none; color:#007A71;}
.archive_box a:hover { text-decoration: none;}
.archive_box:hover { background-color: #f0f0f0; }
.archive_box_arrow { position:absolute; right:15px; top: 50%; transform: translateY(-50%); }
.archive_box_title { font-size: 120%; font-weight: 500; margin: 10px 0 0 0; line-height:170%;}





/* 制度について
--------------------------------------------------------------*/
.seido_box       { background:#F3EEE5; margin-bottom:30px; border:4px solid #00B38C; border-radius:20px; overflow: hidden}
.seido_box a     { color:#fff; font-weight:500;}
.seido_box_title { background:#00B38C; display: flex; align-items: center; justify-content: center; height: 100%; padding: 0 10px; box-sizing: border-box; min-height:80px; font-size:120%;}
.seido_box_txt   { width:100%; padding:30px; text-align: justify; line-height:170%;}
.seido_box_bt    { width:100%; text-align:center; margin-top:20px;}


/* お問合せ ◇ ------------------------------*/

.form-width { width:100%; border:0px; padding:10px 10px 10px 15px; margin-bottom:10px; }
.con_need {color:red; font-size:80%; margin-left:5px;}

.contact_r { width:100%; height:auto; background:#E5F5F4; border-radius:20px;}
.contact_box {border:1px solid #009D95; padding:15px; text-align:center; font-weight:600;}
.contact_th { width:28%; font-weight:normal; padding-bottom:20px; }
.contact_td { width:72%; padding-bottom:10px; }

@media screen and (min-width:768px) {
.contact_r{ padding:30px 30px 50px 30px;}}

@media screen and (max-width:767px) {
.contact_r {padding:30px 15px;}
.contact_th { width:100%; display:block; font-weight:normal; padding-bottom:7px;}
.contact_td { width:100%; display:block; padding-top:0px; padding-bottom:10px; }}


/* フッター
--------------------------------------------------------------*/

@media screen and (min-width: 961px) {
	.page_footer { padding:50px 50px 30px;}
}

@media screen and (min-width: 541px) and (max-width: 960px) {
	.page_footer { padding:50px 30px 30px;}}

@media screen and (max-width: 540px) {
	.page_footer { padding:50px 15px 30px;}}

.page_footer    { background:#fff; line-height:160%; font-size:90%; }
.footer_title   { font-size: 160%; font-weight:500; letter-spacing:0.1em; margin:15px 0 7px;}

.ft_h6          { font-size: 85%; letter-spacing:0.1em; margin-bottom:30px;}
.biz_time       { border-left:1px solid #000; padding:5px 10px; margin-bottom:10px;}
.copy_r         {font-size:80%; padding:10px 0 0;}