@charset "UTF-8";
/* CSS Document */

/*==========基本設定==========*/
html,body{
    margin: 0;
    padding: 0;
    font-size: 62.5%;
}

ul{
    padding: 0;
    margin: 0;
}

li{
    list-style: none;
}

a{
    text-decoration: none;
}

.txt_center{
    text-align: center;
}

.txt_left{
    text-align: left;
}

.txt_right{
    text-align: right;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pc{
  display:block;
}

.sp{
  display:none;
}

.pc_br{
    display:inline;
}

.sp_br{
    display:none;
}

button {
  font: inherit;
}

/*==========画像指定==========*/
img{
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/*==========幅指定==========*/
#page-box{
    width: 100%;
    margin: 0;
    padding: 0;
}

.w-90{
    width: 90%;
    margin: 0 auto;
    padding: 0;
}

.w-80{
    width: 80%;
    margin: 0 auto;
    padding: 0;
}

.w-70{
    width: 70%;
    margin: 0 auto;
    padding: 0;
}

/*==========文字指定==========*/
p,a,dt,dd,th,td,li{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 400;
	font-style: normal;
    line-height:2em;
    font-size: 1.6rem;
    margin: 0;
    padding: 0;
    color: #2F2F2F;
}

h1{
    font-size: 3.6rem;
    margin: 0;    
    font-family: zen-kaku-gothic-new, sans-serif;
    font-weight: 500;
    font-style: normal;
    margin-bottom: 1.8em;
    color: #2F2F2F;
    line-height: 1.5;
}

h2{
    font-size: 3rem;
    margin: 0;    
    font-family: zen-kaku-gothic-new, sans-serif;
    font-weight: 500;
    font-style: normal;
    margin-bottom: 1.5em;
    color: #2F2F2F;
    letter-spacing: 0.05em;
}

h3{
    font-size: 2.4rem;
    margin: 0 0 0.6em;
    font-family: zen-kaku-gothic-new, sans-serif;
    font-weight: 600;
    font-style: normal;
    color: #2F2F2F;
    letter-spacing: 0.05em;
}

.font-20{
    font-size: 2rem;
    margin: 0;
    font-family: zen-kaku-gothic-new, sans-serif;
    font-weight: 500;
    font-style: normal;
}

 .font-18{
    font-size: 1.8rem;
    margin: 0;
    font-family: zen-kaku-gothic-new, sans-serif;
    font-weight: 500;
    font-style: normal;
}

.font-16{
    font-size: 1.6rem;
    margin: 0;
    font-family: zen-kaku-gothic-new, sans-serif;
    font-weight: 500;
    font-style: normal;
}

.font-14{
    font-size: 1.4rem;
    margin: 0;
    font-family: zen-kaku-gothic-new, sans-serif;
    font-weight: 500;
    font-style: normal;
}

.font-12{
    font-size: 1.2rem;
    margin: 0;
    font-family: zen-kaku-gothic-new, sans-serif;
    font-weight: 500;
    font-style: normal;
}

.font-10{
    font-size: 1rem;
    margin: 0;
    font-family: zen-kaku-gothic-new, sans-serif;
    font-weight: 500;
    font-style: normal;
}

.font-24{
    font-size: 2.4rem;
    margin: 0;
    font-family: zen-kaku-gothic-new, sans-serif;
    font-weight: 500;
    font-style: normal;
}

.txt_left{
    text-align: left;
}

.txt_right{
    text-align: right;
}

.txt_center{
    text-align: center;
}

.bold{
    font-weight: bold;
}

.txt-white{
    color: #FFFFFF;
}

.txt-blue{
	color: var(--blue);
}

.zenkaku{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 400;
	font-style: normal;
	margin: 0;
	padding: 0;
}

/*==========箱の並びの設定==========*/

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


.box-two,.box-three,.box-four,.one-two,.one-three{
    padding: 0;
    margin-bottom: 3em;
}

.box-two{
    width: 49%;
}

.box-three{
     width: 32%;
}

.box-four{
    width: 23.5%; 
}

.one-two{
    width: 66%;
}

.one-three{
    width: 74.5%;
}

/*==========共通==========*/
.content{
    width: 80%;
    margin: 0 auto;
}

:root {
/*colors*/
	--blue: #0060E1;
	--l_blue: #E8F0F8;
	--pr_sns: #FB5E6E;
	--kikaku: #F7A74C;
	--saiyou: #65DA6F;
	--model: #8A65DA;
	--event: #41E6E1;
	--kensyu: #4160D9;
	--boshu-end: #2F2F2F;
}

.job-detail__category {
	display: inline-block;
	padding: 0.5em 1em;
	border-radius: 50px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.4;
}

/* PR / SNS */
.job-detail__category--pr_sns {
	background-color: var(--pr_sns);
}

/* 企画会議 */
.job-detail__category--kikaku {
	background-color: var(--kikaku);
}

/* 採用会議 */
.job-detail__category--saiyou {
	background-color: var(--saiyou);
}

/* 被写体モデル */
.job-detail__category--model {
	background-color: var(--model);
}

/* イベントスタッフ */
.job-detail__category--event {
	background-color: var(--event);
}

/* 研修 */
.job-detail__category--kensyu {
	background-color: var(--kensyu);
}

/* 募集終了 */
.job-detail__category--boshu-end {
	background-color: var(--boshu-end);
}

.btn{
    width: 300px;
    padding: 3em 5em;
    border-radius: 50px;
    margin: 0 auto;
}

.btn:hover,
a:hover{
    opacity: 0.8;
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.sec01,.sec02,.sec03,.sec04,.sec05,.sec06{
    margin-bottom: 20em;
}

.ymd{
    color: #a2a2a2;
}



/* ========================================
  Header
======================================== */

.site-header {
	position: relative;
	z-index: 1000;
	margin: 16px auto 0;
	padding: 0;
	width: 80%;
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
	padding: 2em 10em;
  background-color: #fff;
  border-radius:5px;
}

.site-header__logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.site-header__logo img {
  display: block;
  width: 104px;
  height: auto;
  margin: 0;
}

#about,
#jobs,
#faq,
#news {
	scroll-margin-top: 120px;
}


/* ========================================
  Navigation
======================================== */

.global-nav {
  display: flex;
  align-items: center;
}

.global-nav__list {
  display: flex;
  align-items: center;
  gap: 4em;
  margin: 0;
  padding: 0;
}

.global-nav__item {
  margin: 0;
  padding: 0;
}

.global-nav__link {
  position: relative;
  display: inline-block;
  padding: 10px 0 7px;
  color: #2f2f2f;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

/* 通常ナビだけに下線を付ける */

.global-nav__item:not(.global-nav__item_contact)
.global-nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 1.5px;
  background-color: var(--blue);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.3s ease;
}

.global-nav__item:not(.global-nav__item_contact)
.global-nav__link:hover::after,
.global-nav__item:not(.global-nav__item_contact)
.global-nav__link:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left center;
}

/* ヘッダー内では共通のopacityを無効化 */

.site-header a:hover {
  opacity: 1;
}

/* ========================================
  Contact button
======================================== */

.global-nav__item_contact {
  display: block;
}

.global-nav__item_contact .global-nav__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
    padding: 0.5em 1em;
  color: #fff;
  font-weight: 500;
  background-color: var(--blue);
  border-radius: 3px;
  transition:
    background-color 0.3s ease,
    transform 0.3s ease;
}

.global-nav__item_contact .global-nav__link::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 20px;
  height: 16px;
  background-image: url("../img/contact.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.global-nav__item_contact .global-nav__link:hover,
.global-nav__item_contact .global-nav__link:focus-visible {
  background-color: #004fb9;
  transform: translateY(-1px);
}

/* お問い合わせには下線を出さない */

.global-nav__item_contact .global-nav__link::after {
  display: none;
}

/* ========================================
  Hamburger button
======================================== */

.menu-button {
  display: none;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  padding: 0;
  color: #fff;
  background-color: var(--blue);
  border: none;
  border-radius: 3px;
  cursor: pointer;
}

.menu-button__line {
  display: block;
  width: 19px;
  height: 2px;
  margin: 4px auto;
  background-color: currentColor;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

.menu-button[aria-expanded="true"]
.menu-button__line:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.menu-button[aria-expanded="true"]
.menu-button__line:nth-child(2) {
  opacity: 0;
}

.menu-button[aria-expanded="true"]
.menu-button__line:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* ========================================
  First View
======================================== */

.fv {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 620px;
  margin-top: -90px;
  padding: 115px 20px 70px;
  overflow: hidden;
  background-color: #fff;
}

.fv::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 135%;
  height: 100%;
  min-height: 700px;
  background-color: var(--l_blue);
  border-radius: 0 0 50% 50% / 0 0 30% 30%;
  transform: translateX(-50%);
}

.fv__inner {
  position: relative;
  z-index: 2;
  width: min(100%, 1000px);
  margin: 0 auto;
  text-align: center;
}

/* 下部の白いカーブ */

.fv__inner {
  position: relative;
  z-index: 2;
  width: min(100%, 1000px);
  margin: 0 auto;
  text-align: center;
}

.fv__lead {
  margin-bottom: 12px;
  color: #2f2f2f;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
}

.fv__title {
  margin: 0 auto 15px;
  color: #2f2f2f;
  font-size: clamp(3.6rem, 3.5vw, 5.6rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
}

.fv__title-blue {
  color: var(--blue);
}

.fv__title-light-blue {
  color: #65b9ed;
}

.fv__visual {
  width: min(100%, 1000px);
  margin: 0 auto;
}

.fv__visual img {
  display: block;
  width: 100%;
  height: auto;
}

.fv__description {
  position: relative;
  z-index: 2;
  margin-top: -5px;
  color: #2f2f2f;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
}


/* ========================================
  Section 共通
======================================== */

.section {
  padding: 90px 0;
}

/* 見出しブロック */
.sec-heading {
    margin-bottom: 5em;
}

.sec-heading--center {
  text-align: center;
}

.sec-heading__label {
  display: block;
  color: var(--blue);
  font-family: zen-kaku-gothic-new, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.sec-heading__title {
  margin-bottom: 0.5em;
}

.sec-heading--center .sec-heading__title {
  margin-bottom: 0;
}

/* 丸ボタン（ピル） */
.sec-action {
  margin-top: 6em;
  text-align: center;
}

.btn-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 300px;
  padding: 0.8em;
  font-family: zen-kaku-gothic-new, sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  border-radius: 50px;
  transition: 0.3s ease;
}

.btn-pill::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 26px;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}

.btn-pill--blue {
  color: #fff;
  background-color: var(--blue);
}

.btn-pill--white {
  color: var(--blue);
  background-color: #fff;
}

.text_btn a{
	color: #7A7A7A;	
	text-decoration: underline;
	font-size: 1.2rem;
}


/* ========================================
  SEARCH / 新着求人を探す
======================================== */

.sec-search {
    padding: 15em 0;
}

.job-list {
  align-items: stretch;
}

.job-card {
  margin-bottom: 0;
}

.job-card__link {
  display: block;
}

.job-card__thumb {
  aspect-ratio: 4 / 3;
  margin-bottom: 16px;
  overflow: hidden;
  background-color: var(--l_blue);
  border-radius: 8px;
}

.job-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.job-card__company {
  margin-bottom: 0.3em;
  color: #a2a2a2;
  font-size: 1.2rem;
  line-height: 1.6;
}

.job-card__title {
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: 3em;
	margin-bottom: 0.2em;
}

.job-card__desc {
	display: -webkit-box;
	overflow: hidden;
	font-size: 1.4rem;
	line-height: 1.8;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: 3.4em;
}

.search_tag,
.job-detail__tags{
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 0.5em;
}

.search_tag a,
.job-detail__tags a,
.tax-job_category .job-card .search_tag span{
	display: block;
	font-size: 1.2rem;
	color: #7A7A7A;
	font-weight: 400;
}

.job-card{
	flex-direction: column;	
}

.page-id-11 .job-card__body a,
.page-id-11 .search_tag,
.tax-job_tag .job-card__body a,
.tax-job_tag .search_tag,
.tax-job_category .job-card__body a,
.tax-job_category .search_tag{
	margin-bottom: 0;
}

.job-card__wage-label {
  font-size: 1.4rem;
  font-weight: 500;
}

.job-card__wage-label:before{
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 20px;
	height: 16px;
	background-image: url("../img/yen.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.job-card__salary-label:before{
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 20px;
	height: 16px;
	background-image: url("../img/yen_blue.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.job-card__wage-value {
  font-size: 1.4rem;
  font-weight: 500;
}

.job-card__thumb {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
}

.job-card__body .job-card__wage{
	width: 100%!important;
	margin-bottom: 0;
}

/* カテゴリーラベル */
.job-card__categories{
	position:absolute;
	top:15px;
	left:15px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:6px;
	z-index:2;
}


.job-card__category {
	position:static;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:auto;
	padding:5px 12px;
	color:#fff;
	font-size:1.1rem;
	line-height:1.3;
	white-space:nowrap;
	border-radius:999px;
}

.category-pr_sns{
	background-color: var(--pr_sns);
}

.category-kikaku {
	background-color: var(--kikaku);
}

.category-saiyou {
	background-color: var(--saiyou);
}

.category-model {
	background-color: var(--model);
}

.category-event {
	background-color: var(--event);
}

.category-kensyu {
	background-color: var(--kensyu);
}

.category-boshu-end {
	background-color: var(--boshu-end);
}

.sec-search .box {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 30px;
}

.sec-search .box-three {
	width: calc((100% - 60px) / 3);
}

/* ========================================
  CATEGORY / カテゴリーから探す
======================================== */

.sec-category {
  background-color: #FFFAE9;
	padding: 10em;
	border-radius: 10px;
	margin-bottom: 15em;
}

.category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.category-card {
  width: calc((100% - 48px) / 3);
  margin: 0;
}

.category-card a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 28px;
  color: #fff;
  font-family: zen-kaku-gothic-new, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  border-radius: 10px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.08);
}

.category-card__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
}

.category-card__text {
  flex: 1;
	text-align: center;
	font-weight: 500;
}

.category-card a::after {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.category-card--pr a { background-color: var(--pr_sns); }
.category-card--kikaku a { background-color: var(--kikaku); }
.category-card--saiyou a { background-color: var(--saiyou); }
.category-card--model a { background-color: var(--model); }
.category-card--event a { background-color: var(--event); }
.category-card--kensyu a { background-color: var(--kensyu); }


/* ========================================
  ABOUT US / しずラボとは？ ＋ BENEFITS
======================================== */

.sec-about {
  padding: 15em 0;
  background-color: var(--l_blue);
  border-radius: 80px 80px 0 0;
}

.about-intro {
  display: flex;
  align-items: center;
  gap: 48px;
  margin-bottom: 96px;
}

.about-intro__text {
  width: 46%;
}

.about-intro__text p {
  line-height: 2;
}

.about-intro__visual {
  width: 54%;
}

.about-intro__visual img {
  width: 100%;
  height: auto;
}

.benefit-list {
  align-items: stretch;
}

.benefit-card {
  margin-bottom: 0;
  padding: 2em;
  text-align: center;
  background-color: #fff;
  border-radius: 12px;
}

.benefit-card__img img {
  width: 140px;
  height: auto;
  margin: 0 auto;
}

.benefit-card__title {
  margin-bottom: 0,5em;
  color: var(--blue);
  font-size: 1.6rem;
  text-align: center;
  font-weight: 500;
	line-height: 1.5;
}

.benefit-card p {
  font-size: 1.4rem;
  line-height: 1.9;
  text-align: left;
}


/* ========================================
  CTA / JOIN THE COMMUNITY
======================================== */

.sec-cta {
  padding: 60px 0 66px;
  text-align: center;
  background-color: var(--blue);
}

.sec-cta__label {
  display: block;
  margin-bottom: 12px;
  color: #fff;
  font-family: zen-kaku-gothic-new, sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  opacity: 0.9;
}

.sec-cta__title {
  margin-bottom: 10px;
  color: #fff;
  font-size: 2.6rem;
}

.sec-cta__lead {
  margin-bottom: 28px;
  color: #fff;
  font-size: 1.5rem;
}

/* ========================================
  FLOW / ご利用までの流れ
======================================== */

.flow-image {
  max-width: 1000px;
  margin: 0 auto;
}

.flow-image img {
  width: 100%;
  height: auto;
}


/* ========================================
  FAQ / よくある質問
======================================== */

.sec-faq {
  background-color: #FFFAE9;
  border-radius: 80px 80px 0 0;
}

.faq-item {
  margin-bottom: 16px;
  overflow: hidden;
  background-color: #fff;
  border-radius: 8px;
}

.faq-item__q {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 1em 3em;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
}

.faq-item__mark {
  flex-shrink: 0;
  color: var(--blue);
  font-family: zen-kaku-gothic-new, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
}

.faq-item__text {
  flex: 1;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
}

.faq-item__icon {
  position: relative;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.faq-item__icon::before,
.faq-item__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--blue);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.faq-item__icon::before {
  width: 16px;
  height: 2px;
  transform: translate(-50%, -50%);
}

.faq-item__icon::after {
  width: 2px;
  height: 16px;
  transform: translate(-50%, -50%);
}

.faq-item.is-open .faq-item__icon::after {
  opacity: 0;
}

.faq-item__a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.faq-item.is-open .faq-item__a {
  max-height: 600px;
}

.faq-item__a-inner {
  display: flex;
  gap: 16px;
  padding: 0 3em 1em;
}

.faq-item__mark--a {
  color: var(--blue);
}

.faq-item__a-inner p {
  flex: 1;
  font-size: 1.5rem;
  line-height: 1.9;
}


/* ========================================
  Footer
======================================== */

.is-white {
  filter: brightness(0) invert(1);
}

.site-footer {
  padding: 64px 0 24px;
  text-align: center;
  background-color: var(--l_blue);
}

.site-footer .content {
  width: 90%;
  max-width: 1100px;
}

.site-footer__logo img {
  width: 120px;
  height: auto;
  margin: 0 auto 30px;
}

.footer-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 36px;
  margin: 0 0 32px;
  padding: 0;
}

.footer-nav a {
  font-size: 1.4rem;
  font-weight: 500;
}

.footer-sns {
  margin-bottom: 40px;
}

.footer-sns a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.site-footer__brand img {
  width: 180px;
  height: auto;
  margin: 0 auto 24px;
  opacity: 0.95;
}

.site-footer__copy {
  font-size: 1.2rem;
  opacity: 0.85;
}

/* ========================================
  求人一覧ページ
======================================== */

.jobs-page {
  margin-top: -90px;
}

/* 下層ページFV */
.lower-fv {
  position: relative;
  padding: 165px 0 82px;
  overflow: hidden;
  text-align: center;
  background-color: #fff;
}

.lower-fv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 135%;
  height: 90%;
  background-color: var(--l_blue);
  border-radius: 0 0 50% 50% / 0 0 75% 75%;
  transform: translateX(-50%);
}

.lower-fv__inner {
  position: relative;
  z-index: 1;
}

.lower-fv__label {
  display: block;
  color: var(--blue);
  font-family: zen-kaku-gothic-new, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.lower-fv__title {
  margin: 0 0 18px;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.lower-fv__lead {
  font-size: 1.5rem;
  line-height: 1.9;
}

/* 件数・見出し */
.jobs-result-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 42px;
  padding-bottom: 20px;
  border-bottom: 1px solid #dcdcdc;
}

.jobs-result-head__title {
  margin: 0;
  font-size: 2.8rem;
}

.jobs-result-head__count {
  color: #777;
  font-size: 1.3rem;
}

.jobs-result-head__count span {
  margin-right: 4px;
  color: var(--blue);
  font-size: 2.2rem;
  font-weight: 700;
}

/* 求人カード一覧 */
.jobs-archive__list {
  justify-content: flex-start;
  gap: 72px 2%;
}

.jobs-archive__list .job-card {
  width: 32%;
  margin-bottom: 0;
}

.jobs-archive__list .job-card__link {
  display: flex;
  flex-direction: column;
}

.jobs-archive__list .job-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.job-card__body a{
	display: block;
	margin-bottom: 0.5em;
}

.jobs-archive__list .job-card__desc {
  margin-bottom: 8px;
}

.jobs-archive__list .search_tag {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 10px;
  margin-bottom: 10px;
}

.jobs-archive__list .job-card__wage {
  margin-top: auto;
}

.post-type-archive-job .job-card__body .box{
	gap: 2px;
}

.post-type-archive-job .job-card__body .job-card__wage,
.post-type-archive-job .job-card__body .job-card__hours{
	width: 33%!important;
	margin-bottom: 0;
}

.post-type-archive-job .job-card__body .box{
	justify-content: center;
}

.post-type-archive-job .job-card__body .job-card__salary{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--blue);
	background-color: #E8F0F8;
    padding: 0 1em;
	border-radius: 3px;
	text-align: center;
}

/* 現在地のナビ下線 */
.global-nav__link.is-current::after {
  transform: scaleX(1) !important;
  transform-origin: left center !important;
}

/* ページネーション */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 7em;
}

.pagination__item,
.pagination__next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: var(--blue);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  background-color: #fff;
  border: 1px solid var(--blue);
  border-radius: 50%;
  transition: 0.25s ease;
}

.pagination__item:hover,
.pagination__item:focus-visible,
.pagination__item.is-current,
.pagination__next:hover,
.pagination__next:focus-visible {
  color: #fff;
  background-color: var(--blue);
  opacity: 1;
}

.pagination__next::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg) translate(-2px, 2px);
}

.jobs-page__cta {
  margin-top: 0;
}

.jobs-archive .box{
	justify-content: flex-start;
    gap: 50px 20px;
}

/* ========================================
  求人詳細ページ
======================================== */

.job-detail-page {
  margin-top: -90px;
  padding-top: 150px;
background: linear-gradient(180deg, var(--l_blue) 0 260px, #fff 260px 100%);
}

.job-detail {
  width: min(70%, 860px);
  padding-bottom: 120px;
}

.job-detail__eyecatch {
  overflow: hidden;
  border-radius: 10px;
}

.job-detail__eyecatch img {
  width: 100%;
  aspect-ratio: 16 / 10.5;
  object-fit: cover;
}

.job-detail__header {
  padding: 22px 0 26px;
  border-bottom: 1px dashed #cfcfcf;
}

.job-detail__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.job-detail__category {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 12px;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1.3;
  border-radius: 999px;
}

.job-detail__company {
  color: #8a8a8a;
  font-size: 1.1rem;
}

.job-detail__title {
  margin: 0 0 8px;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.03em;
}

.job-detail__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.job-detail__tags span {
  color: #858585;
  font-size: 1.1rem;
}

.job-detail__intro {
  padding: 34px 0;
}

.job-detail__intro p,
.job-description p {
  font-size: 1.4rem;
  line-height: 1.85;
}

.job-info-card {
  margin-bottom: 3em;
  padding: 32px 46px 36px;
  background-color: #fff9e9;
  border-radius: 10px;
}

.job-info-card__title,
.company-card__title {
  position: relative;
  margin: 0 0 22px;
  padding: 0 30px 0 20px;
  font-size: 1.7rem;
  font-weight: 600;
}

.job-info-card__title::before,
.company-card__title::before,
.company-card__title::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  background-color: var(--blue);
  border-radius: 50%;
  transform: translateY(-50%);
}

.job-info-card__title::before,
.company-card__title::before { left: 0; }
.company-card__title::after { right: 0; }

.job-info-card__title::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 2px;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--blue);
  border-right: 2px solid var(--blue);
  transform: rotate(-45deg);
}

.salary-total {
  margin-bottom: 12px;
  padding: 10px;
  color: var(--blue);
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  background-color: #e5f1fc;
}

.work-table {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 14px;
  margin: 0;
}

.work-table > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background-color: #fff;
}

.work-table dt,
.work-table dd {
  padding: 0.8em 1em;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 500;
}

.work-table dt { color: #777; }

.requirements-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 46px;
}

.requirements-grid h3 {
  margin-bottom: 8px;
  color: var(--blue);
  font-size: 1.3rem;
  font-weight: 600;
}

.job-info-card ul {
  padding-left: 1.2em;
}

.job-info-card li {
  list-style: disc;
  font-size: 1.3rem;
  line-height: 1.8;
}

.company-card {
  padding: 5em 10em 5em;
  background-color: #e7f3fc;
  border-radius: 10px;
}

.company-card__title {
  width: fit-content;
  margin: 0 auto 28px;
  padding-right: 20px;
  text-align: center;
}

.company-card__body {
  display: flex;
  align-items: center;
  gap: 42px;
}

.company-profile,
.company-card__image{
	width: 49%;
}

.company-card__image iframe{
	height: 250px;
}

.company-profile > div {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 8px;
  margin-bottom: 8px;
}

.company-profile dt{
  font-size: 1.4rem;
  color: #777;
}

.company-profile dd,
.company-profile a{
	font-size: 1.4rem;
}

.company-profile a{
	text-decoration: underline;
}

.company-card__image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  background-color: #d6d6d6;
  border-radius: 8px;
}

.company-card__image-icon {
  position: relative;
  width: 28px;
  height: 24px;
  border: 3px solid #111;
  border-radius: 6px;
}

.company-card__image-icon::before {
  content: "";
  position: absolute;
  right: 4px;
  top: 4px;
  width: 4px;
  height: 4px;
  border: 2px solid #111;
  border-radius: 50%;
}

.company-card__image-icon::after {
  content: "";
  position: absolute;
  left: 4px;
  bottom: 4px;
  width: 14px;
  height: 8px;
  border-left: 3px solid #111;
  border-bottom: 3px solid #111;
  transform: skewY(-30deg);
}

.job-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 56px auto 18px;
  max-width: 680px;
}

.job-action {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 12px 36px;
  font-family: zen-kaku-gothic-new, sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4;
  border: 2px solid var(--blue);
  border-radius: 999px;
  cursor: pointer;
}

.job-action--favorite {
  color: var(--blue);
  background-color: #fff;
}

.job-action--entry {
  color: #fff;
  background-color: var(--blue);
}

.job-action--entry::after {
  content: "";
  position: absolute;
  right: 22px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.job-actions__notice {
	color: #e14b4b;
	font-size: 1.4rem;
	text-align: center;
	font-weight: 500;
}

.job-actions__notice a{
	color: #e14b4b;
	font-size: 1.4rem;
	text-align: center;
	font-weight: 500;
	text-decoration: underline;
}

.job-detail__back {
  margin-top: 52px;
  padding-top: 34px;
  text-align: center;
  border-top: 1px dashed #cfcfcf;
}

.job-detail__back a {
  position: relative;
  font-size: 1.4rem;
}

.global-nav__link.is-current::after {
  transform: scaleX(1) !important;
  transform-origin: left center !important;
}

.job-detail-cta { 
	margin-top: 0; 
}

/* ========================================
  求人一覧ページ：時給・時間・合計
======================================== */

.post-type-archive-job .job-card__payment {
	width: 100%;
	margin-top: 1em;
}

.post-type-archive-job .job-card__payment-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 18px;
	margin-bottom: 10px;
}

.post-type-archive-job .job-card__body .job-card__wage,
.post-type-archive-job .job-card__body .job-card__hours {
	display: flex;
	align-items: center;
	width: auto!important;
	margin: 0;
}

.post-type-archive-job .job-card__wage-label,
.post-type-archive-job .job-card__hours-label,
.post-type-archive-job .job-card__wage-value,
.post-type-archive-job .job-card__hours-value {
	display: inline-flex;
	align-items: center;
	color: #2F2F2F;
	font-family: zen-kaku-gothic-new, sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	white-space: nowrap;
}

/* 時給アイコン */
.post-type-archive-job .job-card__wage-label {
	gap: 6px;
}

.post-type-archive-job .job-card__wage-label::before,
.post-type-archive-job .job-card__salary-label::before{
	width: 20px;
	height: 20px;
	background-size: contain;
}

/* 時間アイコン */
.post-type-archive-job .job-card__hours-label {
	gap: 6px;
}

.post-type-archive-job .job-card__hours-label::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-image: url("../img/time.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.job-card__hours-label::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-image: url("../img/time.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}


/* 合計 */
.post-type-archive-job .job-card__body .job-card__salary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100%;
	margin: 0;
	padding: 6px 12px;
	color: var(--blue);
	font-family: zen-kaku-gothic-new, sans-serif;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	background-color: var(--l_blue);
	border-radius: 4px;
}

.post-type-archive-job .job-card__salary-label,
.post-type-archive-job .job-card__salary-value {
	display: inline-flex;
	align-items: center;
	color: var(--blue);
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.5;
}

.post-type-archive-job .job-card__salary-label {
	gap: 6px;
}

/* ========================================
 タグ一覧
======================================== */

.tax-job_tag .jobs-archive .box{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 50px 20px;
}

.job-tags__list{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.job-tags__link{
	display: inline-block;
	padding: 8px 16px;
	border-radius: 999px;
	background-color: #fff;
	color: var(--blue);
	font-size: 1.4rem;
}

/* ========================================
  タグ別案件一覧：時給・時間・合計
======================================== */

.tax-job_tag .job-card__payment {
	width: 100%;
	margin-top: 1em;
}

/* 時給・時間を横並び */
.tax-job_tag .job-card__payment-meta {
	display: flex!important;
	flex-direction: row!important;
	flex-wrap: nowrap!important;
	align-items: center;
	justify-content: center;
	gap: 18px;
	width: 100%;
	margin-bottom: 10px;
}

.tax-job_tag .job-card__body .job-card__wage,
.tax-job_tag .job-card__body .job-card__hours {
	display: flex!important;
	flex-direction: row!important;
	align-items: center;
	width: auto!important;
	margin: 0!important;
}

/* 時給・時間の文字 */
.tax-job_tag .job-card__wage-label,
.tax-job_tag .job-card__hours-label,
.tax-job_tag .job-card__wage-value,
.tax-job_tag .job-card__hours-value {
	display: inline-flex;
	align-items: center;
	color: #2F2F2F;
	font-family: zen-kaku-gothic-new, sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	white-space: nowrap;
}

/* 時給アイコン */
.tax-job_tag .job-card__wage-label {
	gap: 6px;
}

.tax-job_tag .job-card__wage-label::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-image: url("../img/yen.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* 時間アイコン */
.tax-job_tag .job-card__hours-label {
	gap: 6px;
}

.tax-job_tag .job-card__hours-label::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-image: url("../img/time.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* 合計 */
.tax-job_tag .job-card__body .job-card__salary {
	display: flex!important;
	flex-direction: row!important;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100%!important;
	margin: 0!important;
	padding: 6px 12px;
	color: var(--blue);
	font-family: zen-kaku-gothic-new, sans-serif;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	background-color: var(--l_blue);
	border-radius: 4px;
}

.tax-job_tag .job-card__salary-label,
.tax-job_tag .job-card__salary-value {
	display: inline-flex;
	align-items: center;
	color: var(--blue);
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
}

/* 合計アイコン */
.tax-job_tag .job-card__salary-label {
	gap: 6px;
}

.tax-job_tag .job-card__salary-label::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-image: url("../img/yen_blue.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* ========================================
  カテゴリー別案件一覧：時給・時間・合計
======================================== */

.tax-job_category .job-card__payment {
	width: 100%;
	margin-top: auto;
	padding-top: 1em;
}

.tax-job_category .job-card__payment-meta {
	display: flex!important;
	flex-direction: row!important;
	flex-wrap: nowrap!important;
	align-items: center;
	justify-content: center;
	gap: 18px;
	width: 100%;
	margin-bottom: 10px;
}

.tax-job_category .job-card__body .job-card__wage,
.tax-job_category .job-card__body .job-card__hours {
	display: flex!important;
	flex-direction: row!important;
	align-items: center;
	width: auto!important;
	margin: 0!important;
}

.tax-job_category .job-card__wage-label,
.tax-job_category .job-card__hours-label,
.tax-job_category .job-card__wage-value,
.tax-job_category .job-card__hours-value {
	display: inline-flex;
	align-items: center;
	color: #2F2F2F;
	font-family: zen-kaku-gothic-new, sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	white-space: nowrap;
}

/* 時給 */
.tax-job_category .job-card__wage-label {
	gap: 6px;
}

.tax-job_category .job-card__wage-label::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-image: url("../img/yen.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* 時間 */
.tax-job_category .job-card__hours-label {
	gap: 6px;
}

.tax-job_category .job-card__hours-label::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-image: url("../img/time.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* 合計 */
.tax-job_category .job-card__body .job-card__salary {
	display: flex!important;
	flex-direction: row!important;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 100%!important;
	margin: 0!important;
	padding: 6px 12px;
	color: var(--blue);
	font-family: zen-kaku-gothic-new, sans-serif;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	background-color: var(--l_blue);
	border-radius: 4px;
}

.tax-job_category .job-card__salary-label,
.tax-job_category .job-card__salary-value {
	display: inline-flex;
	align-items: center;
	color: var(--blue);
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
}

.tax-job_category .job-card__salary-label {
	gap: 6px;
}

.tax-job_category .job-card__salary-label::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	background-image: url("../img/yen_blue.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* ========================================
  求人カード：高さ・料金位置を揃える
======================================== */

.jobs-archive .job-card {
	display: flex;
	flex-direction: column;
}

.jobs-archive .job-card > .job-card__link {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.jobs-archive .job-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

/* タイトルの高さを2行分確保 */
.jobs-archive .job-card__title {
	min-height: 3em;
}

/* 説明文の高さを2行分確保 */
.jobs-archive .job-card__desc {
	min-height: 3.6em;
}

/* タグの高さを確保 */
.jobs-archive .search_tag {
	min-height: 2em;
}

/* 時給・時間・合計をカード下部に揃える */
.jobs-archive .job-card__payment {
	width: 100%;
	margin-top: auto;
	padding-top: 1em;
}

/* ========================================
   募集要項アコーディオン
======================================== */
.job-info-card {
  padding: 0;
  overflow: hidden;
}

.job-info-card__heading {
  margin: 0;
}

.job-info-card__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 32px 46px;
  color: #2f2f2f;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.job-info-card__trigger:hover {
  opacity: 0.8;
}

.job-info-card__title {
  flex: 1;
  margin: 0;
}

.job-info-card__title::after {
  display: none;
}

.job-info-card__icon {
  position: relative;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  margin-left: 18px;
}

.job-info-card__icon::before,
.job-info-card__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  background-color: var(--blue);
  transition: transform 0.3s ease;
}

.job-info-card__icon::before {
  transform: translate(-50%, -50%);
}

.job-info-card__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.job-info-card.is-open .job-info-card__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.job-info-card__content {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows 0.35s ease, visibility 0.35s ease;
}

.job-info-card.is-open .job-info-card__content {
  grid-template-rows: 1fr;
  visibility: visible;
}

.job-info-card__content-inner {
  min-height: 0;
  overflow: hidden;
  padding: 0 46px;
  opacity: 0;
  transition: padding 0.35s ease, opacity 0.25s ease;
}

.job-info-card.is-open .job-info-card__content-inner {
  padding: 0 46px 36px;
  opacity: 1;
}

/* ========================================
   求人詳細ページ アコーディオン
======================================== */

.job-info-card {
  padding: 0;
  overflow: hidden;
}

.job-info-card__heading {
  margin: 0;
}

.job-info-card__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  padding: 1em;
  color: #2f2f2f;
  font: inherit;
  text-align: left;
  background: transparent;
  border: none;
  cursor: pointer;
}

.job-info-card__title {
  position: relative;
  flex: 1;
  margin: 0;
  padding: 0 0 0 20px;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.5;
}

/* 既存の矢印を非表示 */
.job-info-card__title::after {
  display: none;
}

/* プラス・マイナスアイコン */
.job-info-card__icon {
  position: relative;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.job-info-card__icon::before,
.job-info-card__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background-color: var(--blue);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.job-info-card__icon::before {
  transform: translate(-50%, -50%);
}

.job-info-card__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* 開いているときはマイナス */
.job-info-card.is-open .job-info-card__icon::after {
  opacity: 0;
}

/* 閉じている状態 */
.job-info-card__content {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  opacity: 0;
  transition:
    grid-template-rows 0.35s ease,
    visibility 0.35s ease,
    opacity 0.3s ease;
}

.job-info-card__content-inner {
  min-height: 0;
  overflow: hidden;
  padding: 0 46px;
  transition: padding 0.35s ease;
}

/* 開いている状態 */
.job-info-card.is-open .job-info-card__content {
  grid-template-rows: 1fr;
  visibility: visible;
  opacity: 1;
}

.job-info-card.is-open .job-info-card__content-inner {
  padding: 0 10em 5em;
}

@media screen and (max-width: 767px) {
  .job-info-card__trigger {
    padding: 22px 20px;
  }

  .job-info-card__content-inner {
    padding-right: 20px;
    padding-left: 20px;
  }

  .job-info-card.is-open .job-info-card__content-inner {
    padding: 0 20px 24px;
  }
}

/* ========================================
  お知らせ一覧ページ
======================================== */

/* ヘッダー分のマイナスマージン（他の下層ページと統一） */
.news-page {
  margin-top: -90px;
}

/* お知らせアーカイブ本体 */
.news-archive {
  padding-bottom: 120px;
}

/* 2カラムレイアウト（サイドバー ＋ 一覧） */
.news-archive__layout {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 60px;
}

/* ------- 左：CATEGORY サイドバー ------- */
.news-sidebar {
  flex: 0 0 260px;
  width: 260px;
}

.news-category {
  padding: 40px 34px;
  background-color: #FFFAE9;
  border-radius: 10px;
}

.news-category__title {
  margin: 0 0 24px;
  color: var(--blue);
  font-family: zen-kaku-gothic-new, sans-serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}

.news-category__list {
  margin: 0;
  padding: 0;
}

.news-category__item:last-child {
  margin-bottom: 0;
}

.news-category__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
  transition: color 0.25s ease;
}

.news-category__link::before {
  content: "";
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  background-color: var(--blue);
  border-radius: 50%;
}

.news-category__link:hover,
.news-category__item.is-current .news-category__link {
  color: var(--blue);
}

/* ------- 右：お知らせ一覧 ------- */
.news-main {
  flex: 1;
  min-width: 0;
}

.news-list {
  margin: 0;
  padding: 0;
}

.news-item {
  padding: 1em 0;
  border-bottom: 1px dashed #cfcfcf;
}

.news-item:first-child {
  padding-top: 0;
}

.news-item__link {
  display: block;
}

.news-item__meta {
  display: flex;
  align-items: center;
  gap: 10px;
}

.news-item__date {
  color: #8a8a8a;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}

.news-item__category {
  color: var(--blue);
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.news-item__title {
  margin: 0;
  overflow: hidden;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  white-space: nowrap;
  text-overflow: ellipsis;
  transition: color 0.25s ease;
}

a.news-item__link:hover .news-item__title {
  color: var(--blue);
}

/* ========================================
  お知らせ記事詳細ページ  news_detail.css
======================================== */


/* ------- 右：記事本文エリア ------- */
.news-main {
  flex: 1;
  min-width: 0;
}

/* 記事ヘッダー（日付・カテゴリー・タイトル） */
.news-detail__header {
  padding-bottom: 22px;
  border-bottom: 1px dashed #cfcfcf;
}

.news-detail__meta {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 10px;
}

.news-detail__date {
  color: #8a8a8a;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
}

.news-detail__category {
  color: var(--blue);
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.news-detail__title {
  margin: 0;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

/* ------- 記事本文（WordPressのthe_content想定でタグにスコープ）------- */
.news-detail__body {
  padding: 3em 0;
}

.news-detail__body p,
.job-detail__intro p{
  font-size: 1.4rem;
  margin-bottom: 1em;
}

.news-detail__body p:last-child,
.job-detail__intro p:last-child{
  margin-bottom: 0;
}


.news-detail__body li,
.job-detail__intro li{
 list-style: disc;
}

.news-detail__body li:last-child,
.job-detail__intro li:last-child{
	margin-bottom: 1em;
}

.news-detail__body ul li::marker,
.job-detail__intro ul li::marker{
 color: var(--blue);
}

.news-detail__body ul,
.job-detail__intro ul{
	padding-left: 3em;
}

/* 見出し2：ライトブルーの帯 */
.news-detail__body h2,
.job-detail__intro h2{
  padding: 0.6em;
  color: var(--blue);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.5;
  background-color: var(--l_blue);
  border-radius: 4px;
  margin-bottom: 1em;
letter-spacing: 1.2px;
}

/* 見出し3：下線（グレー） */
.news-detail__body h3,
.job-detail__intro h3{
  padding: 0.5em 0;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  border-top: 1px solid #0060E1;
  border-bottom: 1px solid #0060E1;
  margin-bottom: 1em;
letter-spacing: 1.2px;
}

/* 見出し4：下線（ブルーアクセント） */
.news-detail__body h4,
.job-detail__intro h4{
  padding-bottom: 0.5em;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  border-bottom: 1px solid var(--blue);
  margin-bottom: 1em;
letter-spacing: 1.2px;
}

/* 記事内画像 */
.news-detail__body figure ,
.job-detail__intro figure{
  max-width: 100%;
  margin: 0 0 3em 0;
}

.news-detail__body figure img,
.news-detail__body img,
.job-detail__intro figure img,
.job-detail__intro img{
  margin: 0;
  border-radius: 10px;
}

.news-detail__body figure figcaption,
.job-detail__intro figure figcaption{
  margin-top: 8px;
  color: #8a8a8a;
  font-size: 1.2rem;
  line-height: 1.6;
}

/* 一覧へ戻る */
.news-detail__back,
.job-detail__back {
  margin-top: 40px;
  padding-top: 34px;
  text-align: center;
  border-top: 1px dashed #cfcfcf;
}

.news-detail__back a,
.job-detail__back a{
  font-size: 1.4rem;
  transition: color 0.25s ease;
	font-weight: 500;
}

.news-detail__back a:hover,
.job-detail__back a:hover{
  color: var(--blue);
}

/* ========================================
  お問い合わせページ
======================================== */

/* ヘッダー分のマイナスマージン（他の下層ページと統一） */
.contact-page {
  margin-top: -90px;
}

.contact-section {
  padding-bottom: 120px;
}

/* リード文 */
.contact-lead {
  margin-bottom: 56px;
  font-size: 1.6rem;
  line-height: 1.9;
  text-align: center;
}

/* フォーム全体の幅 */
.contact-form {
  max-width: 900px;
  margin: 0 auto;
}

/* 1行（ラベル ＋ 入力） */
.contact-form__row {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 4em;
}

.contact-form__label {
  flex: 0 0 200px;
  width: 200px;
  padding-top: 12px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
  color: #2F2F2F;
}

label, .contact-form__label{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height:2em;
	font-size: 1.4rem;
	margin: 0;
	padding: 0;
	color: #2F2F2F;
}

.contact-form__label p{
	font-weight: 500;
	font-size: 1.4rem;
}

.contact-form__row p{
	width: 200px;
	font-size: 1.4rem;
}

.checkbox-content p,
.contact-form__field p{
	width: 100%;
}

.contact-form__field {
  flex: 1;
  min-width: 0;
}

/* 必須バッジ */
.required {
  margin-left: 8px;
  color: #e14b4b;
  font-size: 1.3rem;
  font-weight: 700;
}

/* 入力欄 共通 */
.contact-input,
.contact-textarea {
  width: 100%;
  padding: 0.5em;
  font-family: zen-kaku-gothic-new, sans-serif;
  font-size: 1.5rem;
  line-height: 1.7;
  color: #2F2F2F;
  background-color: #f2f2f2;
  border: 1px solid transparent;
  border-radius: 4px;
  transition: border-color 0.25s ease, background-color 0.25s ease;
  -webkit-appearance: none;
  appearance: none;
}

.contact-input:focus,
.contact-textarea:focus {
  outline: none;
  background-color: #fff;
  border-color: var(--blue);
}

.contact-textarea {
  min-height: 210px;
  resize: vertical;
}

/* チェックボックス群 */
.contact-check {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 15px;
  padding-top: 10px;
}

.contact-check__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 1.4rem;
  line-height: 1.6;
  cursor: pointer;
}

.contact-check__item input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--blue);
  cursor: pointer;
}

.wpcf7-list-item{
	margin: 0;
}

/* プライバシーポリシー */
.contact-privacy {
  margin: 60px 0 0;
}

.contact-privacy__title {
  margin: 0 0 20px;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}

.contact-privacy__box {
  max-width: 640px;
  max-height: 210px;
  margin: 0 auto;
  padding: 28px 30px;
  overflow-y: auto;
  background-color: #f5f5f5;
  border-radius: 4px;
}

.contact-privacy__box h3 {
  margin: 0 0 8px;
  font-size: 1.5rem;
  font-weight: 600;
}

.contact-privacy__box h3:not(:first-child) {
  margin-top: 22px;
}

.contact-privacy__box p {
  font-size: 1.4rem;
  line-height: 1.9;
}

/* 同意チェック */
.contact-agree {
  margin: 34px 0 30px;
  text-align: center;
}

.contact-agree .contact-check__item {
  justify-content: center;
}

/* 送信ボタン */
.contact-submit {
  text-align: center;
}

.contact-submit:hover{
    opacity: 0.8;
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.contact-submit .btn-pill {
  border: none;
  cursor: pointer;
  margin: 0 auto;
  display: block;
  background-color: var(--blue);
  color: white;
}

/* ========================================
各カテゴリー
======================================== */
.tax-job_category .no_contets{
	text-align: center;
	margin: 0 auto;
}