/* 変数 */
:root {
  --accent-color:#1b70a6;
  --sub-accent-color:#E87A35;
  --_color-text: #041723 !important;
  --white-color:#F2F7FC;
  --bgb-color:#E8EBEE;

  --main-title:56px;
  --s-title:48px;
  --sub-title:36px;
  --text-1:32px;
  --text-2:20px;

  --mg-h2:60px;
}
/*タブレット以下*/
@media(max-width:639px){
  :root{
    --main-title:30px;
    --s-title:28px;
    --sub-title:24px;
    --mg-h2:24px;
  }
}

/* ================================================================================================================================ 
 * 改行ショートコード
 * ================================================================================================================================ */
/* [spbr]/[pcbr] 用のレスポンシブ改行 */
br.cbr-sp,
br.cbr-pc { display: inline; }

/* スマホ幅では PC 用改行を無効化 */
@media (max-width: 767.98px) {
  br.cbr-pc { display: none; }
}

/* タブレット/PC幅では スマホ用改行を無効化 */
@media (min-width: 768px) {
  br.cbr-sp { display: none; }
}



/* ================================================================================================================================ 
 * 全体
 * ================================================================================================================================ */
body{
	font-family:YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif !important;
}
body.zh-CN{
	font-family:'SimSun', '宋体',"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif!important;
	
}
.title-position{
  text-align: center;
}
h2.yell-section-title{
  font-size: var(--s-title) !important;
}
h2.yell-section-title,
h2.service-title-flow
{
  color: rgba(0,0,0,0) !important;
	background-clip: text;
  -webkit-background-clip: text;
  background-image: linear-gradient(270deg, rgba(67,138,183,1) 0%, rgba(15,60,89,1) 100%);
  display: inline-block;
}
h2.wp-block-heading.yell-section-title{
  margin-bottom: var(--mg-h2);
}
.top-concept h2.wp-block-heading.yell-section-title{
  margin-bottom: 0;
}
h3.sub-title{
  font-size: var(--sub-title) !important;
}
.text-justify{
  text-align: justify;
}
@media(min-width:640px){
 .pc-brnone br{
  display: none;
 }
}
@media(max-width:639px){
  .title-position-sp{
    text-align: center;
  }
}
/* テキスト配置 */
@media(min-width:640px){
	.pc-txt-center{
		text-align:center;
	}
}
/* ページトップ------------------------------------------------------------------ */
.c-page-top {
  background-color: var(--accent-color,#40686A);
}
#page-top a{
  color: #fff;
}

/* シャドー ------------------------------------------------------------------*/
p.top-reason-txt,
.top-service-01 .smb-section-break-the-grid__figure,
.top-service-02 .smb-section-break-the-grid__figure,
.service-contents .smb-media-text__figure img
{
  box-shadow: 0.4rem 0.4rem 0.6rem rgb(0, 0, 0, .3);
}
.service-contents-left .smb-media-text__figure img{
  box-shadow: -0.4rem 0.4rem 0.6rem rgb(0, 0, 0, .3);
}

/* ボタン------------------------------------------------------------------ */
.main-btn a{
  font-size: var(--text-2);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.main-btn a::after{
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-left: 10px;
  transition: all 0.5s;
}
.main-btn a:hover::after{
  transform: rotate(45deg) translate(5px,-5px);
}
@media(max-width:639px){
  .main-btn a{
    justify-content: center;
  }
}
/* ================================================================================================================================ 
 * フッター
 * ================================================================================================================================ */
.yell-cta p{
  font-size: var(--sub-title) !important;
}
.yell-cta .main-btn a::after{
  border-top: 2px solid #041723;
  border-right: 2px solid #041723;
}

footer.l-footer.l-footer--default {
  background: var(--bgb-color);
}
.yell-footer ul.wp-block-navigation__container.items-justified-right.is-vertical.wp-block-navigation {
    font-size: 16px;
    gap: 16px;
}
.yell-footer li.wp-block-navigation-item a:hover{
	color:var(--accent-color);
	transition:all 0.5;
}


/* ================================================================================================================================ 
 * TOPページ
 * ================================================================================================================================ */

/* FV ------------------------------------------------------------------*/
.fv .wp-block-group{
	margin-top:0;
	margin-bottom:3rem;
}
.fv .top-fv-copy{
  text-shadow: 0px 0px 10px #949494, 0px 0px 10px #949494, 0px 0px 10px #949494, 0px 0px 10px #949494;
  color: var(--white-color);
  font-size:48px;
	font-weight:bold;
}
.top-fv-copy span{
	font-size:52px;
}
.fv .top-fv-txt{
  color: var(--accent-color);
  font-size:32px;
}
@media(max-width:639px){
	.fv .top-fv-copy{
		font-size:30px;
	}
	.top-fv-copy span {
    font-size: 34px;
	}
}
/* ==== TOP span 部分の装飾 ==== */
:root{
  --marker-color: rgba(27,112,166,.6);
  --marker-height: 0.62em;
  --marker-offset: 0.15em;
  --marker-tilt: -6deg;
  --marker-radius: 0;
  --marker-duration: 800ms;
}

.top-fv-copy span{
  position: relative;
  z-index: 0;
  display: inline-block;
}

.top-fv-copy span::before{
  content: "";
  position: absolute;
  left: 0;
  bottom: var(--marker-offset);
  width: 100%;
  height: var(--marker-height);
  background: var(--marker-color);
  border-radius: var(--marker-radius);
  transform: scaleX(0) skewX(var(--marker-tilt)); /* 初期：0 */
  transform-origin: left center;
  z-index: -1;
  pointer-events: none;
  filter: saturate(115%);
}

/* “見えたら” 伸びる */
.top-fv-copy span.is-seen::before{
  animation: marker-sweep var(--marker-duration)
            cubic-bezier(.22,1,.36,1) both;
}

@keyframes marker-sweep{
  to{ transform: scaleX(1) skewX(var(--marker-tilt)); }
}

/* ユーザー配慮 */
@media (prefers-reduced-motion: reduce){
  .top-fv-copy span::before{ transform: scaleX(1) skewX(var(--marker-tilt)); }
  .top-fv-copy span.is-seen::before{ animation: none; }
}



.copy-txt{
  font-size: var(--text-2);
}
/* 企業理念 ------------------------------------------------------------------*/
.top-philosophy{
	background: linear-gradient(135deg,
    var(--accent-color) 0%,
    var(--accent-color) 10%,
    rgba(255, 255, 255, 0) 10%,
    rgba(255, 255, 255, 0) 85%,
    var(--accent-color) 85%,
    var(--accent-color) 100%);
}
.top-philosophy p{
	font-size:20px;
}


/* ================================================================================================================================ 
 * 下層
 * ================================================================================================================================ */
.page .c-page-header[data-has-image=true]{
	height:auto !important;
}
.page .c-page-header__bgimage{
	display:none;
}
.c-page-header{
  background:linear-gradient(270deg, rgba(133,181,211,1) 0%, rgba(77,144,187,1) 28%, rgba(27,112,166,1) 100%);
  color: #F2F7FC;
}
.l-contents__inner:not(.home){
  padding-bottom: 0 !important;
}

/* ================================================================================================================================ 
 * 会社概要
 * ================================================================================================================================ */
.company-infomation .smb-information__item__label {
  color: #0B3B5A !important;
}
@media(max-width:639px){
  .company-infomation .smb-information__item__label {
  font-size: 1.2rem !important;
}
}
@media(min-width:640px){
  .company-infomation .smb-information__item>.c-row>.c-row__col:first-child {
    border-bottom: 1px solid #5C8DAD !important;
  }
  .company-infomation .smb-information__item>.c-row>.c-row__col:last-child{
    border-bottom: 1px solid #B6C2C9 !important;
  }
}
@media(min-width: 1024px){
.company-infomation.is-style-RJE_R001CORP_infomation .smb-information__item>.c-row>.c-row__col:first-child {
    margin-right: 1.5rem ;
}
.company-infomation.is-style-RJE_R001CORP_infomation .smb-information__item>.c-row>.c-row__col:first-child {
  flex-basis: 273px;
  margin-right: 2.5rem;
  max-width: 273px;
}
.company-infomation.is-style-RJE_R001CORP_infomation .smb-information__item>.c-row>.c-row__col:last-child {
  flex-basis: calc(100% - 318px);
  max-width: calc(100% - 318px);
}
}

/* ================================================================================================================================ 
 * 事業内容
 * ================================================================================================================================ */

@media(min-width:640px){
	.service-top img{
    	border-radius: 30px 0px 0px 30px;
	}
}

@media(max-width:639px){
	.service-top-br h3 br{
		display:none;
	}
	.service-top .smb-section-break-the-grid__content.smb-section-break-the-grid__content--p-l {
    padding: 0;
	}
}
.service-features-panels .smb-panels__item.smb-panels__item--free{
    border-radius: 30px;
}
h3.contents-title-h4-mgt0,
h4.contents-title-h4-mgt0{
	margin-top:0 !important;
}

h2.service-title{
  font-size:var(--main-title);
  margin-bottom: 90px !important;
}
h3.service-subtitle{
  font-size: 28px;
}
.service-senior{
  margin-bottom: 60px !important;
}
.service-contents .smb-media-text__figure{
  padding: 20px;
  position: relative;
}
.service-contents .smb-media-text__figure::after{
  content: '';
  display: block;
  position: absolute;
  bottom: 9px;
  right: 8px;
  width: 83%;
  background: var(--bgb-color);
  top: 46px;
  z-index: -1;
}
.service-contents-support .smb-media-text__figure::after{
  background-color: #fae4d7;
}
.service-contents-left .smb-media-text__figure::after{
  left: 0;
}
.service-contents-txt{
   text-align: justify;
}
/* フロー */
.service-flow .wp-block-table td{
  min-width: 90px;
}
.service-flow td:last-child {
  padding-left: 30px;
}
.service-flow tbody tr:nth-child(odd){
  background: inherit !important;
  }
  .service-flow{
  border-bottom:none !important;
  }
@media(min-width:640px){
  .service-flow td:first-child {
    border-right: 1px solid #afafaf !important;
  }
}
@media(max-width:1023px){
  h2.service-title {
    margin-bottom: 64px !important;
  }
  h3.service-subtitle{
      font-size: 20px;
  }
}
@media(max-width:639px){
  .service-contents .c-container{
    padding: 0;
  }
  .service-flow td:last-child {
    padding-left: 0px;
  }
  .service-flow tr{
    display: flex;
    flex-direction: column;
  }
  .service-flow td:first-child {
    background-color: #eee;
  }
}

/* 企業・求職者 */
.business-faq .is-style-RJE_R002LP_faq_items>.smb-accordion__item>.smb-accordion__item__title>.smb-accordion__item__title__label:before,
.business-faq .is-style-RJE_R002LP_faq_items>.smb-accordion__item>.smb-accordion__item__body:before{
	color:var(--accent-color) ;
}
/* ================================================================================================================================ 
 * お問い合わせ
 * ================================================================================================================================ */
.smf-item__col.smf-item__col--label {
  display: flex;
  justify-content: space-between;
  padding: 23px;
  align-items: center;
}
.contact-form .smb-section__inner>.c-container{
  padding: 0;
}
/*PC以下*/
@media(min-width:640px){
.contact-pp{
    text-align: center;
}
}

/* ================================================================================================================================ 
 * 個人情報保護方針
 * ================================================================================================================================ */
@media(max-width:639px){
  .pp-section .c-container {
    padding: 0;
  }
}


/* ================================================================================================================================ 
 * 多言語
 * ================================================================================================================================ */
/* === Flag Dropdown（共通） === */
.m-sm-flag-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* トリガーボタン（共通） */
.m-sm-flag-dropdown__button {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .375rem .75rem;
  border: 1px solid var(--smc-border-color, #ddd);
  border-radius: .5rem;
  background: var(--smc-bg, #fff);
  line-height: 1.2;
  font: inherit;
  cursor: pointer;
}

.m-sm-flag-dropdown__button:focus {
  outline: 2px solid #0003;
  outline-offset: 2px;
}

/* ▼矢印（閉：下向き／開：上向き）— 重複なしで1回定義 */
.m-sm-flag-dropdown__button::after {
  content: "";
  display: inline-block;
  margin-left: .5rem;
  /* 三角形をCSSで描画 */
  border-style: solid;
  border-width: .35rem .35rem 0 .35rem;
  border-color: currentColor transparent transparent transparent;
  opacity: .75;
  transform: translateY(2px);
  transition: transform .15s ease, opacity .15s ease;
}
.m-sm-flag-dropdown.is-open .m-sm-flag-dropdown__button::after {
  transform: rotate(180deg) translateY(-2px);
  opacity: 1;
}

/* 旗とテキスト */
.m-sm-flag-dropdown__flag {
  font-size: 1rem; /* 絵文字旗のサイズ */
  line-height: 1;
  display: inline-block;
}
.m-sm-flag-dropdown__label {
  white-space: nowrap;
}

/* メニュー（共通：デフォルトはボタンの左端基準） */
.m-sm-flag-dropdown__menu {
  position: absolute;
  top: calc(100% + .25rem);
  left: 0;
  min-width: 10rem;
  max-height: 60vh;
  overflow: auto;
  margin: 0;
  padding: .25rem;
  list-style: none;
  border: 1px solid var(--smc-border-color, #ddd);
  border-radius: .5rem;
  background: var(--smc-bg, #fff);
  box-shadow: 0 8px 24px rgb(0 0 0 / 10%);
  z-index: 1000;
  display: none;
}
.m-sm-flag-dropdown.is-open .m-sm-flag-dropdown__menu {
  display: block;
}

/* メニュー項目 */
.m-sm-flag-dropdown__item {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .375rem .5rem;
  border-radius: .375rem;
  cursor: pointer;
}
.m-sm-flag-dropdown__item:hover,
.m-sm-flag-dropdown__item.is-focused {
  background: #0000000d; /* 薄いホバー */
}
.m-sm-flag-dropdown__item.is-current {
  font-weight: 600;
}

/* ドロワー内で幅を広げたい場合（任意） */
.translation-btn-wrapper--drawer .m-sm-flag-dropdown__menu {
  min-width: 12rem;
}

/* 元のBogo出力を不可視化（JSでも隠すが念のため） */
.translation-btn [data-bogo-original="true"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px,1px,1px,1px) !important;
  white-space: nowrap !important;
}

/* === フローティング配置（右端・縦中央） === */
.translation-fab {
  position: fixed;
	top:50%;
	transform:translatey(-50%);
	
/* 	bottom:calc(0% + 40px); */
  z-index: 9999; 
  pointer-events: auto;
}
/* @media(max-width:639px){
	.translation-fab {
		top:116px;
	}
} */
/* 管理バーがある時は若干ずらす（ログイン中プレビュー用） */
/* body.admin-bar .translation-fab {
  top: calc(114px + 16px);
}
@media(max-width:639px){
	body.admin-bar .translation-fab {
		 top: calc(100px + 16px);
	}
} */
/* フローティング時だけ影を付ける（スコープ化） */
.translation-fab .m-sm-flag-dropdown__button {
  box-shadow: 0 10px 24px rgb(0 0 0 / 12%);
}

/* フローティング時だけメニューを右寄せで“左側へ”開く（スコープ化） */
.translation-fab .m-sm-flag-dropdown__menu {
  left: auto;
  right: 0;
}

/* 端末の安全域（ノッチ等）— 推奨 */
.translation-fab {
  right: max(16px, env(safe-area-inset-right));
}

/* スマホでは下部に逃がす（必要な場合） */
@media (max-width: 767px) {
  .translation-fab {
    top: auto;
    bottom: max(40px, env(safe-area-inset-bottom));
    transform: none;
  }
  /* 下に置く場合、メニューを“上側”に開くと邪魔になりにくい */
  .translation-fab .m-sm-flag-dropdown__menu {
    bottom: calc(100% + .25rem);
    top: auto;
  }
}

/* タップしやすさ（任意の改善） */
.m-sm-flag-dropdown__button {
  min-height: 40px;
}
.m-sm-flag-dropdown__item {
  min-height: 40px;
}

/* ================================================================================================================================ 
 * パーツ
 * ================================================================================================================================ */

/* パネルフロー ------------------------------------------------------------------*/
.flow-panel .c-row{
	justify-content:center;
}
/*サイズと中央配置*/
.flow-panel .smb-panels__item__body {
    display: flex;
    align-items: center;
	flex-direction:column;
    justify-content: center;
    text-align: center;
}
.flow-panel .smb-panels__item__body p.has-text-align-left{
	font-size:16px;
}
@media(min-width:640px){
	.flow-panel .smb-panels__item__body {
		height: 210px;
	}
	html[lang="en-US"] .flow-panel .smb-panels__item__body{
		height:280px;
	}
}

/*サブタイトルをつける*/
.flow-panel .c-row__col::before{
  background-color: var(--accent-color);
  color: #fff;
  padding: 8px 20px;
	text-align:center;
	font-weight:bold;
}

.flow-panel .c-row__col:first-child::before{
  content: "STEP1";
}
.flow-panel .c-row__col:nth-child(2)::before{
  content: "STEP2";
}
.flow-panel .c-row__col:nth-child(3)::before{
  content: "STEP3";
}
.flow-panel .c-row__col:nth-child(4)::before{
  content: "STEP4";
}
.flow-panel .c-row__col:nth-child(5)::before{
  content: "STEP5";
}

/* 特徴 ------------------------------------------------------------------*/
.wp-block-group.features-contents.is-layout-constrained{
  margin-bottom: 60px;
}
.wp-block-group.features-contents.is-layout-constrained:last-child{
  margin-bottom: 0 ;
}
h3.wp-block-heading.features-title {
  display: inline-block;
  padding: 10px 20px;
  background: var(--accent-color);
  color: var(--white-color);
  margin-bottom: -10px;
  z-index: 5;
/*   border-radius: 10px; */
  max-width: 100%;
}
@media(max-width:639px){
  h3.wp-block-heading.features-title{
    width: auto;
  }
}

p.features-txt {
  padding: 30px 20px;
  z-index: 0;
/*   border-radius: 5px; */
  background: rgba(255,255,255,.8);
}
p.features-txt
{
  box-shadow: 0.4rem 0.4rem 0.6rem rgb(0, 0, 0, .3);
}

/* 事例 ------------------------------------------------------------------*/
.case-contents .spider__arrow:before {
    border-color: #333 !important;
    border-width: 3px !important;
}
.case-contents .spider__canvas{
	position:relative;
}
.case-contents .spider__slide::before{
	background-color: var(--sub-accent-color);
    color: #fff;
    padding: 5px 20px;
    font-weight: bold;
	font-size:16px;
    position: absolute;
    top: 5px;
    left: 0;
    border-radius: 8px;
}
.case-contents .spider__slide:first-child::before{
    content: "CASE1";
}
.case-contents .spider__slide:nth-child(2)::before{
    content: "CASE2";
}
.case-contents .spider__slide:nth-child(3)::before{
    content: "CASE3";
}
/*  営業：サービス パネル ------------------------------------------------------------------*/
.service-panel .c-row.c-row--fill.c-row--margin{
	justify-content:center;
}
.service-panel .c-row__col{
	margin-bottom:64px;
}
.service-panel .smb-panels__item.smb-panels__item--free {
    background: var(--accent-color);
    color: #fff;
    border-radius: 15px;
}

.service-panel p.service-panel-title {
    margin-top:0;
}
@media(min-width:1024px){
.service-panel p.service-panel-title {
    font-size: 20px;
}
}
p.service-panel-no {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -58px;
    font-size: 24px;
    width: 50px;
    height: 50px;
    display: block;
    background:#333;
    text-align: center;
    border-radius: 50%;
    line-height: 2;
}
/* FAQ */
.wp-block-snow-monkey-blocks-faq.smb-faq{
	border-top:none;
}
.smb-faq__item{
	border-bottom: 1px solid #999;
}
.smb-box__body .smb-faq:last-of-type .smb-faq__body > .smb-faq__item:last-child {
  border-bottom: none;
}





