/*
Theme Name: 長島歯科クリニック 求人採用サイト
Author: 9Design
Author URI: https://9design.jp/
Description: 採用パッケージテーマ7
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: 採用パッケージ7
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Variables
# Normalize
# Typography
# Elements
# Forms
  ## Contact Form 関連
# Section / Layout
  ## Alignment
  ## Clearings
# Components
  ## ボタン
  ## リンクカード（テキスト）
  ## リンクカード（サムネイル付き）
  ## 吹き出し
  ## 位置固定ボタン
  ## インタビュー カード
# Header
# Footer
  ## 募集要項
  ## フッターメニュー
  ## フッターインフォ
# Navigation
  ## Links
  ## Menus
    ### ヘッダーメニュー（PC）
    ### ハンバーガーメニュー（タブレット・SP）
# Accessibility
# Widgets
# Content
  ## Posts and pages
  ## トップページ
  ## インタビュー一覧
  ## インタビュー詳細
  ## 募集要項詳細
  ## サイドバー
  ## Components（下層ページ用）
    ### Q&A系ページ
    ### ヘッダー背景
  ## 当院について
    ### 長島歯科クリニックについて
    ### 長島歯科クリニックが大事にしていること
    ### 数字で見る長島歯科クリニック
    ### 医院概要
  ## 院長紹介
    ### 院長プロフィール
    ### 院長に聞く99の質問
  ## はたらく環境
    ### 仕事紹介
    ### スタッフの推しポイント
    ### 福利厚生・待遇
    ### 院内ギャラリー
    ### よくある質問
  ## 応募の前に
    ### マッチング率診断
    ### 入職までの流れ
    ### 医院見学のご案内
  ## 新卒衛生士のあなたへ
  ## オンライン面談
  ## プライバシーポリシー
  ## 404ページ
  ## 検索結果
  ## Comments
# Infinite scroll
# Media
  ## Captions
  ## Galleries
# Utility
# Break Point
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/
:root {
  /* Background Color */
	--bg-color: #FFFDFC;
  --bg-orange: #FFF3E1;
  --bg-pale-orange: #FFF8EE;
  --bg-green: #F4F8EB;
  --bg-deep-green: #F1F7E4;
	--bg-blue: #F6FAFC;
  --bg-brown: #FBF8F4;

  /* Color */
	--txt-color: #3A2618;
  --orange: #F99902;
  --light-orange: #FFBA4E;
  --light-orange2: #FFB133;
  --pale-orange: #FFDBA2;
  --dark-orange: #FF8800;
  --green: #98CB02;
  --pale-green: #D2E7A3;
  --deep-green: #8CBB00;
  --dark-green: #749B00;
  --deep-dark-green: #587500;
  --blue: #679ACB;
  --pale-blue: #DCEEFF;
  --deep-dark-blue: #20568B;
  --brown: #B57243;
  --dark-brown: #705745;
  --light-brown: #D8AD91;

  /* Font */
  --ff-noto-sans: "Noto Sans JP", sans-serif;    /* 400:Regular 500:Midium 600:SemiBold*/
  --ff-shippori: "Shippori Mincho", serif;    /* 400:Regular 500:Midium 600:SemiBold*/
  --ff-awesome: "Font Awesome 5 Free";
  
  /* Font Size 1560px基準*/
  --fz-xs: clamp(11px, 0.769vw, 12px);
  --fz-sm: clamp(14px, 0.897vw, 14px);
  --fz-base: clamp(16px, 1.026vw, 16px);
  --fz-base-l: clamp(16px, 1.154vw, 18px);
  --fz-md-s: clamp(18px, 1.282vw, 20px);
  --fz-md: clamp(20px, 1.538vw, 24px);
  --fz-lg: clamp(24px, 1.795vw, 28px);
  --fz-lg-l: clamp(26px, 2.051vw, 32px);
  --fz-xl-s: clamp(30px, 2.308vw, 36px);
  --fz-xl: clamp(34px, 2.564vw, 40px);
  --fz-xxl-s: clamp(40px, 2.949vw, 46px);
  --fz-xxl: clamp(42px, 3.077vw, 48px);
  --fz-xxxl-s: clamp(48px, 4.103vw, 64px);
  --fz-xxxl: clamp(60px, 5vw, 78px);
  --space-xs: clamp(0.75rem, 1.025vw, 1rem);
  --space-sm: clamp(1rem, 1.538vw, 1.5rem);
  --space-md: clamp(1.5rem, 2.051vw, 2rem);
  --space-lg: clamp(2rem, 3.077vw, 3rem);
  --space-xl: clamp(3rem, 6.154vw, 6rem);
}

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  margin: 0;
}

article,
aside,c
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: middle;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: employment2line;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  padding: 0;
  margin: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
}

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
  margin-right: 0.5rem;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
html {
  font-size: 16px;
	font-size: var(--fz-base);
}

body,
button,
input,
select,
textarea {
  color: var(--txt-color);
	font-family: var(--ff-noto-sans);
  font-weight: 350;
  line-height: 1.8;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  margin: 0;
  line-height: 1.6;
  color: var(--dark-orange);
  font-family: var(--ff-shippori);
  font-weight: 600;
}

h1 {
  font-size: 48px;
  font-size: 3rem;
	font-size: var(--fz-xxl);
  margin: 0;
  line-height: 1.2;
  color: #fff;
}

h2 {
  font-size: 40px;
  font-size: 2.5rem;
	font-size: var(--fz-xl);
}
h2.h-sm {
	font-size: var(--fz-xl-s);
}

h3 {
  font-size: 28px;
  font-size: 1.75rem;
	font-size: var(--fz-lg);
  margin: 0 0 1rem;
}

h4 {
  font-size: 24px;
  font-size: 1.5rem;
	font-size: var(--fz-md);
  margin: 0 0 0.5rem;
}

h5 {
  font-size: 20px;
  font-size: 1.25rem;
  font-size: var(--fz-md-s);
  margin: 0 0 0.5rem;
}

p {
  font-size: 16px;
  font-size: 1rem;
	font-size: var(--fz-base);
  line-height: 1.8;
  margin: 0 0 1rem;
}
p:last-child {
  margin-bottom: 0;
}

a {
	color: var(--txt-color);
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  box-sizing: inherit;
}

body {
  background: var(--bg-color); /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}

blockquote,
q {
  quotes: "" "";
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

ul.row,
ol.row {
  list-style: none;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dl {
  margin: 0;
}
dd {
  margin: 0;
}

img {
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  transition: all 0.3s ease-in-out;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}
th,
td {
  padding: 1.5rem;
  line-height: 1.6;
  background: #fff;
  border-bottom: solid 1px var(--orange);
}
th {
  width: 30%;
  background: var(--orange);
  border-bottom: solid 1px #fff;
  font-weight: 500;
  color:#fff;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
input[type="button"],
input[type="reset"],
input[type="submit"] {
  display: block;
  background: var(--orange);
  border: none;
  border-radius: 8px;
  font-family: var(--ff-shippori);
  font-size: var(--fz-md);
  font-weight: 500;
  color: #fff;
  transition: all 0.3s ease-in-out;
  padding: 1rem 2rem;
  width: min(18rem, calc(90vw - var(--space-lg) * 2));
  margin: 0 auto;
  height: 5rem;
}

input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  opacity: 0.7;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  border-color: rgba(52, 52, 52, 0.15);
  border-radius: 3px;
  background: #fff;
  padding: 3px;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="date"],
select {
  width: min(27.5rem, 100%);
  height: 2rem;
  margin: 0.5rem 0 1.5rem;
}

input[type="date"] {
  margin-bottom: 0.5rem;
}

select {
  border: 1px solid #ccc;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

textarea {
  width: 100%;
  line-height: 1.3;
}

.form-inner {
  width: min(28rem, 100%);
  margin: 0 auto;
}

.label.must {
  background: #ffcdd9;
  color: #f36c8d;
  margin-right: 1rem;
}

p.hope-day {
  font-weight: 500;
  color: var(--brown);
  margin-bottom: 0;
}

.entry-submit {
  display: block;
  text-align: center;
  margin: 2rem auto 0;
}

.entry-submit p {
  display: inline-block;
  position: relative;
  font-family: var(--ff-shippori);
}

.entry-submit p::after {
  content: '→';
  display: inline-block;
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 1.5rem;
  right: 2rem;
  border-radius: 99vw;
  background: #fff;
  font-size: var(--fz-md);
  color: var(--orange);
  line-height: 1.4;
}

.no-recaptcha a {
  color: var(--orange);
  text-decoration: underline;
}

/*--------------------------------------------------------------
  ## Contact Form 関連
--------------------------------------------------------------*/
.wpcf7-form .wpcf7-spinner {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0.5rem auto 0;
  background-color: var(--txt-color);
}
.wpcf7-form .wpcf7-spinner::before {
  top: 0.25rem;
  left: 0.25rem;
  width: 0.333rem;
  height: 0.333rem;
  transform-origin: 0.5rem 0.5rem;
}
 
.wpcf7-form .form-inner label {
  font-weight: 400;
}
.wpcf7-form .wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 0.9em;
  font-weight: normal;
  display: block;
}
.wpcf7-form span:not([data-name^="hope-date"]) .wpcf7-not-valid-tip {
  margin: -1rem 0 1.5rem;
}

/*--------------------------------------------------------------
# Section / Layout
--------------------------------------------------------------*/
.main-wrapper {
	max-width: 1312px;
	width: 91.1%;
  margin: 0 auto;
}

.sec-wrapper {
  padding: 128px 0;
  padding: 8rem 0;
}
.sec-wrapper.sec-wrapper-md {
  padding: 96px 0;
  padding: 6rem 0;
}
.sec-wrapper.sec-wrapper-sm {
  padding: 64px 0;
  padding: 4rem 0;
}
.sec-wrapper.sec-wrapper-xs {
  padding: 48px 0;
  padding: 3rem 0;
}
.sec-wrapper.sec-wrapper-none {
  padding: 0;
}

.sec-wrapper.sec-top-xs {
  padding-top: 48px;
  padding-top: 3rem;
}
.sec-wrapper.sec-top-sm {
  padding-top: 64px;
  padding-top: 4rem;
}
.sec-wrapper.sec-top-md {
  padding-top: 96px;
  padding-top: 6rem;
}
.sec-wrapper.sec-top-lg {
  padding-top: 160px;
  padding-top: 10rem;
}
.sec-wrapper.sec-top-none {
  padding-top: 0;
}

.sec-wrapper.sec-bottom-xs {
  padding-bottom: 48px;
  padding-bottom: 3rem;
}
.sec-wrapper.sec-bottom-sm {
  padding-bottom: 64px;
  padding-bottom: 4rem;
}
.sec-wrapper.sec-bottom-md {
  padding-bottom: 96px;
  padding-bottom: 6rem;
}
.sec-wrapper.sec-bottom-lg {
  padding-bottom: 160px;
  padding-bottom: 10rem;
}
.sec-wrapper.sec-bottom-none {
  padding-bottom: 0;
}

/* 写真｜コンテンツ｜写真　のレイアウト */
.sec-photo-box {
  --content-width: min(640px, 100vw);
  --max-height: 500px;

  display: grid;
  grid-template-columns:
      minmax(0, 1fr)
      minmax(0, var(--content-width))
      minmax(0, 1fr);
  align-items: stretch;
}
.sec-photo_photo {
  position: relative;
  overflow: hidden;
  max-height: var(--max-height);
}
.sec-photo_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sec-photo_photo.left img {
  object-position: right center;
}
.sec-photo_photo.right img {
  object-position: left center;
}
.sec-photo_content {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

/* =================================
   横並び
================================= */
.row {
  --gap-x: var(--space-lg);
  --gap-y: var(--space-lg);

  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-y) var(--gap-x);

  margin: 0;
  padding: 0;
  list-style: none;
}
.row > .col {
  min-width: 0;
}

/* =================================
   1列
================================= */
.row-1 > .col {
  width: 100%;
}

/* =================================
   均等カラム
================================= */
.row-2 > .col {
  width: calc((100% - var(--gap-x)) / 2);
}
.row-3 > .col {
  width: calc((100% - var(--gap-x) * 2) / 3);
}
.row-4 > .col {
  width: calc((100% - var(--gap-x) * 3) / 4);
}

/* 画像・テキスト 逆順 */
.row.image-reverse {
  flex-direction: row-reverse;
}

/* =================================
   比率カラム
   12分割ベース
================================= */
.row-75,
.row-57,
.row-85,
.row-58,
.row-84,
.row-48,
.row-354 {
  --col-gap-count: 11;
  --col-unit: calc((100% - var(--gap-x) * var(--col-gap-count)) / 12);
}

/* 7:5 */
.row-75 > .col:first-child {
  width: calc(var(--col-unit) * 7 + var(--gap-x) * 6);
}
.row-75 > .col:last-child {
  width: calc(var(--col-unit) * 5 + var(--gap-x) * 4);
}

/* 5:7 */
.row-57 > .col:first-child {
  width: calc(var(--col-unit) * 5 + var(--gap-x) * 4);
}
.row-57 > .col:last-child {
  width: calc(var(--col-unit) * 7 + var(--gap-x) * 6);
}

/* 7:5 */
.row-75 > .col:first-child {
  width: calc(var(--col-unit) * 7 + var(--gap-x) * 6);
}
.row-75 > .col:last-child {
  width: calc(var(--col-unit) * 5 + var(--gap-x) * 4);
}

/* 4:8 */
.row-48 > .col:first-child {
  width: calc(var(--col-unit) * 4 + var(--gap-x) * 3);
}
.row-48 > .col:last-child {
  width: calc(var(--col-unit) * 8 + var(--gap-x) * 7);
}

/* 8:4 */
.row-84 > .col:first-child {
  width: calc(var(--col-unit) * 8 + var(--gap-x) * 7);
}
.row-84 > .col:last-child {
  width: calc(var(--col-unit) * 4 + var(--gap-x) * 3);
}

/* 3:5:4 */
.row-354 > .col:first-child {
  width: calc(var(--col-unit) * 3 + var(--gap-x) * 2);
}
.row-354 > .col:nth-child(2) {
  width: calc(var(--col-unit) * 5 + var(--gap-x) * 4);
}
.row-354 > .col:last-child {
  width: calc(var(--col-unit) * 4 + var(--gap-x) * 3);
}


/* =================================
   オーバーラップ
================================= */

.row.overwrap {
  --overlap: 7rem;
  align-items: center;
}

/* 左を重ねる */
.row-85.overwrap > .col:first-child {
  width: calc(var(--col-unit) * 8 + var(--gap-x) * 7);
  margin-right: calc(var(--overlap) * -1);
  z-index: 2;
}
/* 右側 */
.row-85.overwrap > .col:last-child {
  width: calc(var(--col-unit) * 5 + var(--gap-x) * 4);
}
/* 画像・テキスト逆順：右を重ねる */
.row-85.overwrap.image-reverse > .col:first-child {
  width: calc(var(--col-unit) * 8 + var(--gap-x) * 7);
  margin-left: calc(var(--overlap) * -1);
  margin-right: 0;
  z-index: 2;
}

/* 右を重ねる */
.row-58.overwrap > .col:last-child {
  width: calc(var(--col-unit) * 8 + var(--gap-x) * 7);
  margin-left: calc(var(--overlap) * -1);
  z-index: 2;
}
/* 左側 */
.row-58.overwrap > .col:first-child {
  width: calc(var(--col-unit) * 5 + var(--gap-x) * 4);
}
/* 画像・テキスト逆順：左を重ねる */
.row-58.overwrap.image-reverse > .col:first-child {
  width: calc(var(--col-unit) * 8 + var(--gap-x) * 7);
  margin-right: calc(var(--overlap) * -1);
  margin-left: 0;
  z-index: 2;
}

/* gap変更 */
.gap-none {
  /*0割り防止のため1px*/
  --gap-x: 1px;
  --gap-y: 1px;
}
.gap-xs {
  --gap-x: 1rem;
  --gap-y: 1rem;
}
.gap-sm {
  --gap-x: var(--space-md);
  --gap-y: var(--space-md);
}
.gap-base {
  --gap-x: var(--space-lg);
  --gap-y: var(--space-lg);
}
.gap-y-none {
  --gap-y: 0;
}

/*--------------------------------------------------------------
  ## Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/*--------------------------------------------------------------
  ## Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* カード */
.card {
  border-radius: 8px;
  background: #fff;
  margin: 0 auto;
  padding: var(--space-lg);
}
.card.bd-blue {
  border-color: var(--bg-blue);
}
.card.bd-green {
  border-color: var(--bg-green);
}
.card.bd-pink {
  border-color: var(--bg-pink);
}
.card.bd-none {
  border: none;
}
.card.bd-round {
  border-radius: 16px;
}

/* カード（内側2列） */
.card.row {
  padding: var(--space-lg) 0;
}
.card.row > .col:first-child {
  padding-left: var(--space-lg);
}
.card.row > .col:last-child {
  padding-right: var(--space-lg);
}
.card.row.image-reverse > .col:first-child {
  padding-right: var(--space-lg);
}
.card.row.image-reverse > .col:last-child {
  padding-left: var(--space-lg);
  padding-right: 0;
}

/* カード（画像・テキスト逆順） */
.card.img-trans.image-reverse > .col:first-child.inner-text {
  padding-right: calc(var(--space-lg));
}
.card.img-trans.image-reverse > .col:last-child.inner-image {
  left: 0;
}

/* カード（見出し文字被り） */
.card-hl-over {
  padding-top: var(--space-sm);
}
.card-hl-over .sub-headline {
  margin-top: calc(-1 * var(--space-lg) - 0.8em);
}

/* カード（見出し文字被り）：横並び配置 */
.row .card-hl-over {
  height: 100%;
}
.row .card-hl-over .card {
  height: 100%;
}

/* ラベル */
.label {
  display: inline-block;
  border-radius: 99vw;
  background: var(--orange);
  font-family: var(--ff-noto-sans);
  font-weight: 500;
  color: white;
  text-align: center;
  padding: 0rem 2rem;
  line-height: 1.6;
}
.label.lb-green {
  background: var(--green);
}
.label.lb-blue {
  background: var(--blue);
}
.label.lb-light {
  background: var(--bg-orange);
  color: var(--dark-orange);
}
.label.lb-light-green {
  background: var(--pale-green);
  color: var(--dark-green);
}
.label.lb-light-blue {
  background: var(--pale-blue);
  color: var(--deep-dark-blue);
}

/* マーカー */
.marker {
  background: linear-gradient(transparent 55%, #FFF8DA 55%);
  font-weight: 700;
}

/* セクションタイトル */
h2.headline {
  margin: clamp(0.675rem, 1.154vw, 1.125rem) 0 clamp(2rem, 2.692vw, 2.625rem);
}
h3.headline {
  margin: 0 0 var(--space-md);
}

/* ページタイトル・セクションタイトル */
.s-headline {
  margin-bottom: 0;
  width: fit-content;
  text-align: left;
}

.p-headline-en,
.s-headline-en {
  text-transform: uppercase;
  line-height: 1.6;
}
.p-headline-en {
  color: var(--orange);
  font-size: var(--fz-md);
}
.s-headline-en {
  color: var(--deep-green);
  margin: 0;
  display: flex;
  align-items: center;
}
.s-headline-en::before {
  content: '';
  width: 4rem;
  height: 0.6rem;
  margin-right: 0.5rem;
  background: url(./images/common/logo_mark.png) no-repeat left / contain;
}

.s-headline-jp {
  color: var(--dark-brown);
  font-size: var(--fz-md);
}

/* ページセクション サブタイトル */
.sub-headline {
  margin: 0 auto 1rem;
  font-family: var(--ff-shippori);
  font-size: var(--fz-lg);
  font-weight: 600;
}

/* 段落 強調表示 */
.para-headline {
  font-size: var(--fz-base-l);
  font-weight: 500;
}

/* パンくずリスト */
.breadcrumb-list {
  background: #fff;
  padding: 1rem;
  font-size: 14px;
  font-size: var(--fz-sm);
}
.breadcrumb-list span {
  margin-right: 0.5em;
}

/* スクロールできます 表示用 */
.scroll-note {
  color: var(--brown);
  text-align: left;
}

/* ページトップへ */
.pagetop-wrapper {
  position: fixed;
  right: 3%;
  bottom: 45px;
  z-index: 10;
}
.pagetop-wrapper a {
  display: block;
  width: 25px;
}

/*--------------------------------------------------------------
  ## リスト
--------------------------------------------------------------*/
.ls-circle li {
  list-style: none;
  position: relative;
}
.ls-circle li::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(1em * 1.8 / 2);
  transform: translateY(-50%);
}
.ls-circle li {
  padding-left: 1em;
}
.ls-circle li::before {
  width: 0.5em;
  height: 0.5em;
}
.ls-circle li::before {
  background: url(./images/common/marker-orange.png) no-repeat center / contain;
}

/* カラー変更 */
.ls-circle.ls-green li::before {
  background: url(./images/common/marker-green.png) no-repeat center / contain;
}
.ls-circle.ls-blue li::before {
  background: url(./images/common/marker-blue.png) no-repeat center / contain;
}

/* 丸数字 */
.ls-circle.ls-num li {
  padding-left: 1.5em;
}
.ls-circle.ls-num li::before {
  width: 1em;
  height: 1em;
}
.ls-circle.ls-num li:first-child::before {
  background: url(./images/common/circle-num-1.png) no-repeat center / contain;
}
.ls-circle.ls-num li:nth-child(2)::before {
  background: url(./images/common/circle-num-2.png) no-repeat center / contain;
}
.ls-circle.ls-num li:nth-child(3)::before {
  background: url(./images/common/circle-num-3.png) no-repeat center / contain;
}
.ls-circle.ls-num li:nth-child(4)::before {
  background: url(./images/common/circle-num-4.png) no-repeat center / contain;
}
.ls-circle.ls-num li:nth-child(5)::before {
  background: url(./images/common/circle-num-5.png) no-repeat center / contain;
}
.ls-circle.ls-num li:nth-child(6)::before {
  background: url(./images/common/circle-num-6.png) no-repeat center / contain;
}

/*--------------------------------------------------------------
  ## ボタン
--------------------------------------------------------------*/
.btn {
  margin: 0 auto;
  width: fit-content;
  min-width: min(19rem, 100%);
}

.btn a {
  display: block;
  text-align: center;
  background: var(--orange);
  border-radius: 99vw;
  padding: 1rem;
  position: relative;
  line-height: 1.8;
  font-weight: 500;
  font-family: var(--ff-shippori);
  color: #fff;
}

.btn .btn-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 3rem 0 2rem;
}

.btn .btn-inner::after {
  content: '→';
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 2.25rem;
  height: 2.25rem;
  background: #fff;
  border-radius: 99vw;
  color: var(--orange);
  font-size: var(--fz-base);
}

/* ボタンカラー変更：グリーン */
.btn.green-btn a {
  background: var(--green);
}
.btn.green-btn .btn-inner::after {
  color: var(--green);
}

/* ボタンカラー変更：ライトオレンジ */
.btn.light-orange-btn a {
  background: var(--light-orange);
}
.btn.light-orange-btn .btn-inner::after {
  color: var(--light-orange);
}

/* ボタンカラー変更：ライトオレンジ2 */
.btn.light-orange2-btn a {
  background: var(--light-orange2);
}
.btn.light-orange2-btn .btn-inner::after {
  color: var(--light-orange2);
}

/* ボタン：募集用 */
.btn.recruit {
  margin: 0;
  min-width: min(25rem, 100%);
}
.btn.recruit a {
  padding: 2rem;
  border-radius: 32px;
  font-size: var(--fz-md);
  font-weight: 400;
}

/*--------------------------------------------------------------
  ## リンクカード（テキスト）
--------------------------------------------------------------*/
.txt-link-cards.row {
  align-items: center;
}

.txt-link-card {
  list-style: none;
  border-radius: 8px;
  background: var(--pale-orange);
  margin: 0 auto;
  width: fit-content;
  min-width: max(416px, calc((100% - var(--space-md) * 2) / 3));
  height: fit-content;
}
.txt-link-card a {
  display: inline-block;
  padding: var(--space-sm) var(--space-md);
  width: 100%;
}

.txt-link-card .t-link-inner {
  position: relative;
  padding-right: 3.25rem;
}
.txt-link-card .t-link-inner::after {
  content: '→';
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 1.75em;
  height: 1.75em;
  margin-bottom: 0.5em;
  border: 1px solid #fff;
  border-radius: 99vw;
  background: #fff;
  font-family: var(--ff-shippori);
  font-size: var(--fz-md-s);
  color: var(--pale-orange);
}
.prev .txt-link-card .t-link-inner::after {
  content: '←';
  left: 0;
}
.t-link-inner,
.t-link-description {
  font-size: 0.9em;
}
.t-link-title {
  font-family: var(--ff-shippori);
  font-weight: 500;
  font-size: var(--fz-md-s);
}

/* リンクカード（テキスト）カラー変更：プライマリ */
.txt-link-card.l-card-primary {
  background: var(--orange);
}
.txt-link-card.l-card-primary {
  background: var(--orange);
  color: #fff;
}
.txt-link-card.l-card-primary .t-link-inner::after {
  color: var(--orange);
}
.txt-link-card.l-card-primary .t-link-title,
.txt-link-card.l-card-primary .t-link-description {
  color: #fff;
}
/* リンクカード（テキスト）カラー変更：プライマリ・ライトオレンジ */
.txt-link-card.l-card-primary.l-card-light-orange {
  background: var(--light-orange);
}
.txt-link-card.l-card-primary.l-card-light-orange {
  background: var(--light-orange);
  color: #fff;
}
.txt-link-card.l-card-primary.l-card-light-orange .t-link-inner::after {
  color: var(--light-orange);
}
.txt-link-card.l-card-primary.l-card-light-orange .t-link-title,
.txt-link-card.l-card-primary.l-card-light-orange .t-link-description {
  color: #fff;
}
/* リンクカード（テキスト）カラー変更：プライマリ・グリーン */
.txt-link-card.l-card-primary.l-card-green {
  background: var(--green);
}
.txt-link-card.l-card-primary.l-card-green {
  background: var(--green);
  color: #fff;
}
.txt-link-card.l-card-primary.l-card-green .t-link-inner::after {
  color: var(--green);
}
.txt-link-card.l-card-primary.l-card-green .t-link-title,
.txt-link-card.l-card-primary.l-card-green .t-link-description {
  color: #fff;
}

/* リンクカード（テキスト）フォント変更：プライマリ・強調 */
.txt-link-card.l-card-primary.l-card-lg .t-link-title {
  font-size: var(--fz-lg);
  font-weight: 600;
}
.txt-link-card.l-card-primary.l-card-lg .t-link-description {
  font-size: var(--fz-base);
  font-weight: 400;
}

/* リンクカード（テキスト）カラー変更：グリーン */
.txt-link-card.l-card-green {
  background: var(--pale-green);
}
.txt-link-card.l-card-green .t-link-inner::after {
  color: var(--pale-green);
}

/*--------------------------------------------------------------
  ## リンクカード（サムネイル付き）
--------------------------------------------------------------*/
.link-card {
  border-radius: 8px;
  background: #fff;
}

.link-card > a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.link-card .link-image {
  flex-shrink: 0;
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}

.link-card .link-text {
  padding: var(--space-md);
}

.link-card .link-title {
  position: relative;
  width: 100%;
  text-align: center;
  padding: 0 1.5rem 0 0;
  color: var(--orange);
  font-family: var(--ff-shippori);
  font-size: var(--fz-md);
  font-weight: 600;
  line-height: 1.6;
}
.link-card .link-title.multiple {
  padding-top: 0;
}
.link-card a .link-title::after {
  content: '→';
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid var(--orange);
  border-radius: 99vw;
  font-size: var(--fz-xs);
  color: var(--orange);
}

.link-card .link-description {
  color: var(--txt-color);
  line-height: 1.8;
  font-weight: 400;
  font-size: var(--fz-base);
}

/*--------------------------------------------------------------
  ## 吹き出し
--------------------------------------------------------------*/
.bubble {
  position: relative;
  display: inline-block;
  margin-bottom: 1.5rem;
  padding: var(--space-xs) var(--space-md);
  border: 2px solid var(--green);
  background: #fff;
  line-height: 1.2;
}
.bubble::before,
.bubble::after {
  content: "";
  position: absolute;
  left: 3.5rem;
  transform: translateX(-50%);
  width: 0;
  height: 0;
}
/* 外側の緑 */
.bubble::before {
  bottom: -19px;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 19px solid var(--green);
}
/* 内側の背景色 */
.bubble::after {
  bottom: -16px;
  z-index: 1;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-top: 16px solid #fff;
}
.bubble.bubble-round {
  border-radius: 99vw;
}

/*--------------------------------------------------------------
  ## 吹き出し(アイコン横並びタイプ)　※利用側のspeechクラスで--icon-widthを定義すること
--------------------------------------------------------------*/
.row.speech {
  --bg-speech: #fff;
  --icon-height: var(--icon-width);
}
.row.speech .inner-text {
  position: relative;
  border-radius: 16px;
  width: calc(100% - var(--icon-width) - var(--gap-x));
}
.row.speech .inner-text::after {
  content: '';
  display: block;
  position: absolute;
  top: max(1rem, min(calc(50% - 0.5rem), calc(var(--icon-height) * 0.5 - 1rem)));
  right: -2rem;
  border-top: 1.5rem solid transparent;
  border-bottom: 1.5rem solid transparent;
  border-left: 3rem solid var(--bg-speech);
}
.row.speech .inner-image {
  width: var(--icon-width);
}

.row.image-reverse.speech .inner-text::before {
  content: '';
  display: block;
  position: absolute;
  top: max(1rem, min(calc(50% - 0.5rem), calc(var(--icon-width) * 0.5 - 1rem)));
  left: -2rem;
  border-top: 1.5rem solid transparent;
  border-bottom: 1.5rem solid transparent;
  border-right: 3rem solid var(--bg-speech);
}
.row.image-reverse.speech .inner-text::after {
  display: none;
}

/*--------------------------------------------------------------
  ## 区切り線
--------------------------------------------------------------*/
.has-h-line,
.has-v-line {
  position: relative;
}
.has-h-line::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: repeating-linear-gradient(to right, var(--yellow) 0 2px, transparent 2px 6px);
}
.has-v-line::before {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background: repeating-linear-gradient(to bottom, var(--yellow) 0 2px, transparent 2px 6px);
}

/*--------------------------------------------------------------
  ## フロー矢印
--------------------------------------------------------------*/
.flowchart.row {
  align-items: stretch;
  flex-wrap: nowrap;
}
.flowchart .flow-arrow {
  position: relative;
  margin-bottom: 1rem;
  padding: 1rem;
  min-width: 13rem;
  text-align: center;
  background: var(--pale-orange);
  color: var(--txt-color);
}
.flowchart .flow-arrow::after {
  content: '';
  width: 100%;
  position: absolute;
  left: 50%;
  bottom: -1rem;
  transform: translateX(-50%);
  border-left: 6.5rem solid transparent;
  border-right: 6.5rem solid transparent;
  border-top: 1rem solid var(--pale-orange);
}
.flowchart .flow-arrow p {
  position: absolute;
  top: calc(50% - 1rem);
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.flowchart .inner-text {
  margin-bottom: 1rem;
}

/*--------------------------------------------------------------
  ## 位置固定ボタン
--------------------------------------------------------------*/
.fix-btn {
  position: fixed;
  z-index: 10;
  right: 0;
}

.fix-btn.fix-graduates {
  bottom: 120px;
}
.fix-btn.fix-graduates img {
  box-shadow: 0 3px 6px rgba(191, 174, 154, 0.12);
  width: 148px;
  height: 99px;
  border-radius: 14px 0 0 14px;
}

.b-fix-btn  {
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  z-index: 10;
}
.bottom_entry_sp {
  width: 50%;
}
.bottom_entry_sp.fix-recruit {
  background: var(--light-orange);
}
.bottom_entry_sp.fix-entry {
  background: var(--orange);
  min-width: 65%;
}
.b-fix-btn a {
  display: block;
  color: #fff;
  font-weight: 500;
  padding: 0.5em 0;
}
.b-fix-btn a::before {
  content: '';
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0 0.25rem -0.35rem 0;
}
.b-fix-btn .fix-recruit a::before {
  background: url(./images/common/icon_table.svg) no-repeat center / contain;
}
.b-fix-btn .fix-entry a::before {
  background: url(./images/common/icon_mail.svg) no-repeat center / contain;
}

.fix-btn .close-btn-label {
  position: absolute;
  top: 0;
  transform: translate(-50%, -50%);
  display: block;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  background: #fff;
  border-radius: 99vw;
  width: 2rem;
  height: 2rem;
  color: var(--brown);
  z-index: 15;
  cursor: pointer;
  transition: background 0.3s;
}
.fix-btn .close-btn-label:hover {
  background: var(--brown);
  color: #fff;
  transition: all 0.3s ease-in-out;
}

.fixed-btn-new-graduate {
  display: none;
}
.fixed-btn-new-graduate.show {
  display: block;
}

.b-fix-btn {
  display: none;
}

.archive.post-type-archive-recruit .b-fix-btn .fix-entry,
.single-recruit .b-fix-btn .fix-entry {
  width: 100%;
}
.entry .b-fix-btn .fix-recruit {
  width: 100%;
}
.new-graduate .fix-graduates {
  display: none !important;
}

/*--------------------------------------------------------------
  ## インタビュー カード
--------------------------------------------------------------*/
.interview-list .link-card {
  position: relative;
  border-radius: 16px;
}
.interview-list .link-card .link-ribbon {
  position: absolute;
  top: 2rem;
  right: 0;
  padding: 0 1rem 0.25rem 2rem;
  background: var(--orange);
  color: #fff;
  font-family: var(--ff-shippori);
  font-weight: 400;
  text-transform: uppercase;
}
.interview-list .link-card .link-ribbon-lg {
  font-size: var(--fz-md);
}

.interview-list .link-card .link-image {
  border-radius: 16px 16px 0 0;
}

.interview-list .link-card .link-text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.interview-list .link-card .link-description {
  font-family: var(--ff-shippori);
  font-size: var(--fz-md);
  font-weight: 500;
  margin-bottom: 2rem;
}

.interview-list .link-card .link-title {
  font-size: var(--fz-base);
}

.interview-list .link-card .attribute {
  margin-bottom: 0.5rem;
  background: var(--green);
}
.interview-list .link-card [class*="da"] .attribute,
.interview-list .link-card [class*="dr"] .attribute,
.interview-list .link-card [class*="reception1"] .attribute,
.interview-list .link-card [class*="reception2"] .attribute {
  background: var(--blue);
}

.interview-list .link-card .link-title .name {
  margin: 0;
  font-size: var(--fz-md);
  font-weight: 500;
  color: var(--deep-green);
}
.interview-list .link-card [class*="da"] .name,
.interview-list .link-card [class*="dr"] .name,
.interview-list .link-card [class*="reception1"] .name,
.interview-list .link-card [class*="reception2"] .name {
  color: var(--blue);
}

.interview-list .link-card a .link-title::after {
  width: 2.5rem;
  height: 2.5rem;
  border-color: var(--deep-green);
  font-size: var(--fz-md);
  color: var(--deep-green);
}
.interview-list .link-card a [class*="da"]::after,
.interview-list .link-card a [class*="dr"]::after,
.interview-list .link-card a [class*="reception1"]::after,
.interview-list .link-card a [class*="reception2"]::after {
  border-color: var(--blue);
  color: var(--blue);
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.site-header {
  position: fixed;
  top: 0;
  background: #fff;
  z-index: 99;
  width: 100%;
}

.site-branding {
  max-width: 245px;
  margin: 16px 0 -17px 32px;
}

.hd-top-wrapper .row {
  justify-content: space-between;
  align-items: center;
}

.hd-right {
  align-items: center;
  flex-shrink: 0;
  margin-right: 100px;
}

.hd-right ul {
  list-style: none;
  font-size: 0.9rem;
}

.hd-button a {
  display: block;
  color: #fff;
  padding: 15px 10px;
  margin: 0 5px;
  width: 170px;
  border-radius: 5px;
  text-align: center;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  position: relative;
  background: #212121;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
/*--------------------------------------------------------------
  ## 募集要項
--------------------------------------------------------------*/
.footer-recruit-wrapper {
  background: url(./images/common/bg_entry.jpg) no-repeat center / cover;
}

.f-recruit-inner {
  padding: clamp(2rem, 7.82vw, 6rem);
  position: relative;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.85);
  max-width: min(65rem, 70vw);
}
.f-recruit-inner .s-headline {
  margin: 0 auto;
}
.f-recruit-inner h2 {
  line-height: 1.4;
}
.f-recruit-inner .txt-link-card {
  min-width: min(630px, 50vw);
}

/*--------------------------------------------------------------
  ## フッターメニュー
--------------------------------------------------------------*/
.footer-menu {
  position:relative;
  background: var(--bg-brown);
}

.footer-navi {
  padding: 8rem 10.5rem 3rem;
}
@media screen and (max-width: 824px) {
  .f-navi-wrapper {
    display: none;
  }
}

.f-navi-column li {
  list-style: none;
  margin-bottom: 1rem;
  padding-left: 1rem;
}
.f-navi-column li:last-child {
  margin-bottom: 1.5rem;
}
.f-navi-column .category:last-child {
  margin: 0;
}

.f-navi-column .category > a {
  font-family: var(--ff-shippori);
  font-size: var(--fz-md-s);
  font-weight: 500;
  color: var(--orange);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  margin-bottom: 1.5rem;
}

.f-navi-column a {
  display: inline-block;
  line-height: 1.8em;
}

/*--------------------------------------------------------------
  ## フッターインフォ
--------------------------------------------------------------*/
.footer-info {
  padding: 4rem 0 3rem;
}

.f-info-inner.row {
  justify-content: space-between;
  gap: 0;
}

.f-info-inner .footer-left {
  margin: 0 0 0 auto;
  max-width: 26rem;
}

.footer-info .site-title {
  margin-bottom: 2rem;
}

.f-info-inner .footer-right-inner {
  margin: 0 auto;
  width: fit-content;
  max-width: 90%;
}

.footer-info .footer-address.row {
  align-items: center;
  justify-content: space-between;
  gap: 0;
  margin-bottom: 2rem;
}

.footer-info .footer-phone {
  margin-bottom: 1rem;
  line-height: 1.45;
  font-size: var(--fz-base-l);
}
.footer-info .footer-phone a {
  margin-left: 1rem;
  color: var(--orange);
  font-family: var(--ff-shippori);
  font-size: var(--fz-xl);
  font-weight: 500;
}

.footer-schedule {
  width: 100%;
  border-radius: initial;
  border-collapse: collapse;
  margin-bottom: 0;
  overflow-x: hidden;
  display: block;
  border-bottom: 1px solid var(--light-brown);
}

.footer-schedule th,
.footer-schedule td {
  padding: 1rem 0;
  text-align: center;
  border: none;
  width: 41px;
  font-weight: 500;
}

.footer-schedule th {
  background-color: var(--light-brown);
  color: var(--txt-color);
}

.footer-schedule tr th:first-of-type,
.footer-schedule tr td:first-of-type {
  padding-left: 2rem;
  width: calc(148px + 2rem);
}
.footer-schedule tr th:last-of-type,
.footer-schedule tr td:last-of-type  {
  padding-right: 2rem;
  width: calc(60px + 2rem);
}

.footer-schedule td {
  background-color: #fff;
}

.footer-right .schedule-memo {
  margin: 1rem 0;
}

.footer-cont {
  position: relative;
  gap: 0 50px;
  padding: 30px 0 !important;
}

.footer-cont ul {
  list-style: none;
}

.footer-cont ul li {
  margin: 0 0 25px;
}

.footer-cont ul li a {
  display: block;
  position: relative;
  font-size: 0.85714rem;
}

.footer-menu1-wrapper,
.footer-menu2-wrapper {
  width: 30%;
}

.footer-cont .sub-menu {
  margin: 18px 0 0 10px;
}

.footer-cont .sub-menu li {
  margin: 0;
}

.footer-cont .sub-menu li + li {
  margin: 10px 0 0;
}

.footer-cont .sub-menu a {
  font-size: 11px;
}

.footer-corporate a {
  display: block;
  background: rgba(255, 255, 255, 0.9);
  border: solid 1px #212121;
  border-radius: 5px;
  position: relative;
  width: 200px;
  height: 45px;
  line-height: 45px;
  color: #212121;
  text-align: center;
  font-size: 0.85714rem;
}

.footer-corporate a:hover {
  background: #1a1a1a;
  color: #fff;
}

.footer-corporate .fa-window-restore {
  margin: 0 0 0 5px;
}

/* コピーライト */
.copyright {
  background:var(--orange);
  padding: 0.625rem 0;
  font-size: 0.75rem;
  text-align: center;
  line-height: 1;
  color:#fff;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
  ## Links
--------------------------------------------------------------*/
a {
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}

a:hover,
a:focus,
a:active {
  opacity: 0.7;
}

a:hover,
a:active {
  outline: 0;
}

a img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a:hover img {
  opacity: 1;
  animation: flash 1.5s;
}

@keyframes flash {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

.expansion-thumb {
  overflow: hidden;
}

.expansion-thumb img {
  width: 100%;
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.expansion-thumb a:hover img {
  transform: scale3d(1.1, 1.1, 1);
  animation: none;
}

/*--------------------------------------------------------------
  ## Menus
--------------------------------------------------------------*/

  /*
  ### ヘッダーメニュー（PC）
  --------------------------------------------------------------*/
  .gnavi__lists {
    display: flex;
    align-items: center;
  }

  .gnavi__list {
    position: relative;
    margin-right: 1rem;
  }
  .gnavi__list:last-child {
    margin-right: 0;
  }

  .gnavi__list.has-child {
    margin-right: calc(1rem + 0.75em + 0.5rem);
  }
  .gnavi__list.has-child::after {
    content: '';
    display: block;
    width: 0.75em;
    height: 0.75em;
    position: absolute;
    top: calc(50% - 0.25em);
    right: calc(-0.75em - 0.5rem);
    background: url(./images/common/arrow.svg) no-repeat center / contain;
  }

  .gnavi__list > a {
    display: inline-flex;
    white-space: nowrap;
    font-weight: 500;
    color: var(--txt-color);
    padding: 33px 0;
  }

  .gnavi__list > a:hover {
    opacity: 1;
  }

  .gnavi__list > a img {
    padding-left: 5px;
  }

  .gnavi__list .btn a {
    padding: 0.5rem 0.75rem 0.5rem 1rem;
    font-family: var(--ff-noto-sans);
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
  }
  .gnavi__list .btn .btn-inner::after {
    content: '→';
    display: block;
    position: absolute;
    right: 0;
    padding: 0.2rem 0.175rem 0.125rem;
    width: 1.25rem;
    height: 1.25rem;
    background: #fff;
    border-radius: 99vw;
    font-size: 0.9rem;
    line-height: 1;
  }
  .gnavi__list .btn .btn-inner {
    padding: 0 2.25rem 0 1rem;
  }

  /* ドロップダウンメニュー */
  .dropdown__lists {
    visibility: hidden;
    opacity: 0;
    transition: all .2s;
    position: absolute;
    top: 97px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    width: max-content;
    padding: 0 1rem;
    margin-left: 0;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 14px;
    box-shadow: 2px 2px 12px rgba(71, 22, 22, 0.05);
    z-index: 10;
  }

  .gnavi__list:hover .dropdown__lists,
  .gnavi__list:focus .dropdown__lists {
    visibility: visible;
    opacity: 1;
    position: absolute;
    transition: all 0.3s ease-in-out;
  }

  .dropdown__list {
    transition: all .3s;
    position: relative;
  }
  .dropdown__list:not(:last-child) {
    border-bottom: 1px solid rgb(192, 162, 126, 0.5);
  }

  .dropdown__list a {
    display: flex;
    justify-content: left;
    align-items: center;
    font-weight: 500;
    color: var(--txt-color);
    text-decoration: none;
    padding: 1rem 1.5rem;
    position: relative;
  }

  /*
  ### ハンバーガーメニュー（タブレット・SP）
  --------------------------------------------------------------*/
  .sp-menu-wrapper.row {
    display: flex;
    align-items: center;
    flex-basis: 120px;
  }

  .gm,
  .sp-menu {
    display: none;
  }

  /* ハンバーガーメニュー */
  .menu-trigger {
    position: absolute;
    top:0;
    right:0;
    color: #fff;
    display: inline-block;
    z-index: 100001;
    background:var(--green);
    width: 100px;
    padding: 40px 25px 58px 25px;
  }

  .menu-trigger span {
    display: block;
    margin: 0 auto;
    color: #fff;
  }

  .menu-trigger span.hamburger-text {
    position: absolute;
    top: 64px;
    left: 50%;
    transform: translateX(-50%);
    font-size: var(--fz-sm);
    text-transform: uppercase;
  }

  .drawer-hamburger-icon {
    background: #fff;
    margin-top: 0;
    width: 50px;
    height: 2px;
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  }

  .drawer-hamburger-icon:before,
  .drawer-hamburger-icon:after {
    content: "";
    display: block;
    position: relative;
    width: 50px;
    height: 2px;
    background: #fff;
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  }

  .drawer-hamburger-icon:before {
    top: -16px;
  }
  .drawer-hamburger-icon:after {
    top: 15px;
  }

  .active .drawer-hamburger-icon {
    /* メニューがアクティブになった時 */
    background: transparent;
  }
  .active .drawer-hamburger-icon::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
    background: #fff;
  }
  .active .drawer-hamburger-icon::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: -2px;
    background: #fff;
  }

  .menu-trigger.active span {
    color: #fff;
  }

  .sp-navigation {
    padding: 0 0 0 24px;
  }

  .sp-menu {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: rgba(245 251 230 / 95%);
    list-style: none;
    z-index: 100000;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 71px 0 0;
  }
  .sp-menu-inner {
    display: block;
    width: 80%;
    min-width: 350px;
    margin: 0 auto 8rem;
  }
  .drawer-dropdown-menu {
    display: none;
    padding-left: 20px;
    transition: max-height 0.3s ease-in-out;
  }
  .drawer-dropdown .drawer-dropdown-menu > li:last-child {
    margin-bottom: 1.5rem;
  }
  .menu-toggle {
    display: none;
  }
  .menu-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-family: var(--ff-noto-sans);
    font-size: var(--fz-base-l);
    font-weight: 700;
    position: relative;
    padding: 1.5rem 1rem 1.5rem 0;
  }

  .menu-label::after {
    content: '＋';
    margin-left: 8px;
    font-size: 18px;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    color: var(--orange);
  }
  .menu-toggle:checked+.menu-label::after {
    content: '−';
    transform: rotate(180deg);
    color: var(--orange);
  }

  .drawer-dropdown-menu {
    display: block;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition:
      max-height 0.6s ease,
      opacity 0.6s ease;
  }
  .menu-toggle:checked+.menu-label+.drawer-dropdown-menu {
    display: block;
    max-height: 500px;
    opacity: 1;
    transition:
      max-height 1.2s ease,
      opacity 0.6s ease 0.1s;
  }
  /* 閉じるとき */
  .menu-toggle:not(:checked) + .menu-label + .drawer-dropdown-menu {
    max-height: 0;
    opacity: 0;
    transition:
      max-height 0.6s ease,
      opacity 0.6s ease;
  }

  .sp-menu li {
    padding: 0 20px;
  }

  .sp-menu-list > ul + ul {
    border-top: solid 1px var(--brown);
  }

  .sp-menu a {
    display: block;
    text-align: left;
    position: relative;
    font-size: var(--fz-base);
    font-weight: 700;
    padding: 1.5rem 0;
  }
  .sp-menu .menu-category > a {
    font-size: var(--fz-base-l);
  }

  .sp-menu li ul {
    margin: 0;
  }

  .sp-menu li ul li {
    padding: 0;
  }

  .sp-menu li ul li a {
    font-weight: 500;
    padding: 5px 0;
    border-top: none;
  }

  .sp-menu li ul li::after,
  .sp-menu li ul a::after {
    content: none;
  }
  
  .sp-menu ul.recruit {
    background: var(--light-orange);
  }
  .sp-menu ul.entry {
    background: var(--orange);
  }
  .sp-menu ul.recruit li a,
  .sp-menu ul.entry li a {
    font-size: var(--fz-base-l);
    font-weight: 700;
    color: #fff;
  }
  
  .sp-menu-list .btn-wrapper {
    margin-top: 2rem;
  }
  
  .sp-menu-list .btn .btn-inner::after {
    right: 1rem;
  }
  
  /* spメニューが開いているときの背面コンテンツのスクロール防止 */
  body.is-spmenu-open {
    overflow: hidden;
  }

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

#content[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 30px;
}

.widget_archive h2,
.widget_recent_entries h2 {
  margin-bottom: 5px;
}

.widget select {
  max-width: 100%;
  margin: 15px 35px;
  font-size: 16px;
}

.widget ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.widget li {
  padding: 10px 0 7px 0;
  line-height: 1.3;
  border-bottom: dotted 1px rgba(52, 52, 52, 0.15);
}

.widget li:last-child {
  border-bottom: none;
}

/* 最新記事 */
.recentpost-date {
  font-weight: bold;
  margin: 0 5px 0 0;
}

/* カテゴリー */
.widget li.cat-item {
  border: 1.5px solid;
  padding: 10px;
  text-align: center;
  margin-bottom: 10px;
}
.widget li.cat-item a {
  color: #343434;
}

/* アーカイブ */
.widget_archive li::before {
  font-family: var(--ff-awesome);
  content: "\f152";
  font-weight: bold;
  transform: translateY(-50%);
  margin-right: 8px;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
  display: block;
}

.hentry {
  margin: 0;
}

.byline,
.updated:not(.published) {
  display: none;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.page-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.entry-content {
  margin: 0;
  padding: 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.site-content {
  margin: 0;
}

/*--------------------------------------------------------------
## トップページ
--------------------------------------------------------------*/
/* メインビュー */
.home .main-visual {
  background: url(./images/top/bg_mv.jpg) no-repeat center / cover;
}
.home .mv-inner {
  position: relative;
}
.home .mv-inner .mv-content {
  height: min(100vh, 906px);
}
.home .mv-inner .main-copy {
  position: absolute;
  left: 0;
  bottom: 9rem;
  z-index: 1;
  max-width: 44rem;
  padding: 3rem 5rem;
  background: #fff;
  border-radius: 16px;
  font-family: var(--ff-shippori);
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
}
.home .mv-inner .main-copy .sholder {
  font-size: var(--fz-lg-l);
  color: #8CBB00;
}
.home .mv-inner .main-copy .catch {
  font-size: var(--fz-xxl);
  color: var(--orange);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.25em;
}
.home .mv-inner .main-copy .catch span {
  display: block;
}

.home .hero-inner {
  position: relative;
}
.home .hero-inner .link-cards {
  justify-content: center;
  row-gap: 4rem;
  transform: translateY(-3rem);
  margin-bottom: 2rem;
}
.home .hero-inner .link-card {
  position: relative;
  border-top: 1px solid #fff;
  border-radius: 16px;
}
.home .hero-inner .link-card .link-title {
  font-family: var(--ff-noto-sans);
  font-weight: 500;
  font-size: var(--fz-md-s);
  margin-bottom: 1rem;
  padding-right: 0;
}
.home .hero-inner .link-card .link-text {
  padding: 2rem;
}
.home .hero-inner .point-number {
  position: absolute;
  padding-left: 2.125rem;
  font-family: var(--ff-shippori);
  font-weight: 600;
  font-size: var(--fz-xxxl-s);
  color: var(--green);
  line-height: 1;
  bottom: -0.65em;
}
.home .hero-inner .num-large {
  font-size: var(--fz-xxxl);
}

/* トップページ 共通 */
.home .inner-text p:not(.s-headline) {
  font-size: var(--fz-base-l);
}

/* 歯科衛生士の仕事を知る */
.home .aboutjobs-wrapper {
  background: url(./images/top/bg_aboutjobs.jpg) no-repeat center / cover;
}
.home .aboutjobs-main {
  margin: 0 auto;
  padding: 6rem;
  background: rgba(255, 255, 255, 0.95);
  max-width: min(60vw, 58.5rem);
}

/* 患者さんからの声 */
.home .voice-wrapper {
  position: relative;
}
.home .voice-wrapper .voice-main {
  margin: 0 auto;
  max-width: min(630px, 45vw);
}
.home .voice-wrapper .bubble-wrap:last-of-type {
  text-align: right;
}

.home .voice-image img {
  position: absolute;
}
.home .voice-image img:first-child {
  left: 0;
  bottom: 20rem;
  max-width: min(304px, 22.5vw);
}
.home .voice-image img:nth-child(2) {
  left: 50%;
  transform: translateX(calc(-1 * min(363px, 25vw) - 100%));
  bottom: 6rem;
  max-width: min(226px, 22.5vw);
}
.home .voice-image img:nth-child(3) {
  top: 4rem;
  right: 0;
  max-width: min(417px, 22.5vw);
}

/* 院内制度 総まとめ */
.home .faq-wrapper.sec-photo-box {
  --content-width: min(856px, 65vw);
  --max-height: 685px;
}
.home .faq-wrapper .sec-photo_photo img {
  object-fit: contain;
}
.home .faq-wrapper .sec-photo_photo.left img {
  position: absolute;
  bottom: 0;
  right: 0;
  max-height: 374px;
}
.home .faq-wrapper .sec-photo_photo.right img {
  position: absolute;
  top: 0;
  left: 0;
  max-height: 503px;
}

/* 応募の前に */
.home .beforeapplying-wrapper .txt-link-card {
  margin: 0;
  width: fit-content;
  min-width: max(416px, calc((100% - 2rem * 2) / 3));
}

/*--------------------------------------------------------------
## インタビュー一覧
--------------------------------------------------------------*/
.archive .interview-wrapper {
  padding: 4rem 0;
}

.archive .interview-list.row {
  align-items: stretch;
  margin-bottom: 3rem;
}

.archive .interview_inner.card {
  padding: 0;
  overflow: hidden;
}

.archive .interview_inner .photo {
  background: var(--bg-pale-pink);
  padding: 0 2rem 0;
}

.archive .interview_box {
  padding: 1.5rem;
}
.archive .interview_box h3 {
  font-size: var(--fz-md);
}

/*--------------------------------------------------------------
## インタビュー詳細
--------------------------------------------------------------*/

/* インタビュー詳細 共通 */
.single-interview h3 {
  margin-bottom: 1.5rem;
}
.single-interview [class$="-main"] > .inner-text:not(:last-child) {
  margin-bottom: 3rem;
}

/* インタビュー MV */
.single-interview .interview_main {
  justify-content: center;
  align-items: flex-start;
}
.single-interview .interview-intro .label {
  margin-left: 1rem;
}
.single-interview .interview-intro .label.dh {
  background: var(--green);
}
.single-interview .interview-intro [class*="da"],
.single-interview .interview-intro [class*="dr"],
.single-interview .interview-intro [class*="reception1"],
.single-interview .interview-intro [class*="reception2"]{
  background: var(--blue);
}
.single-interview .interview_profile.card {
  height: auto;
}

/* これからについて */
.single-interview .interview_future .inner-text:first-child {
  padding-top: 3rem;
}
.single-interview .interview_future .inner-text:last-child {
  padding-bottom: 3rem;
}

/* 当院はこんな人に向いています */
.single-interview .interview_clinic .speech {
  --icon-width: 255px;
}

/* 院長について */
.single-interview .one-word {
  font-size: var(--fz-md-s);
  font-weight: 600;
}

/* 院長から見た○○さん */
.single-interview .interview_from_dr-intro .row {
  align-items: center;
}
.single-interview .interview_from_dr-intro .dr-icon {
  width: 6rem;
  border-radius: 99vw;
}
.single-interview .interview_from_dr .speech {
  --icon-width: 294px;
  align-items: center;
}

/* インタビュー ナビゲーション */
.single-interview .interview-navigation {
  position: relative;
}
.single-interview .interview-navigation-inner.row {
  justify-content: space-between;
}

.single-interview .interview-navigation .txt-link-cards {
  min-width: 18rem;
}
.single-interview .interview-navigation .txt-link-card {
  min-width: unset;
  width: auto;
}
.single-interview .interview-navigation .t-link-cards .t-link-description,
.single-interview .interview-navigation .t-link-cards .t-link-inner {
  padding-right: 2.5rem;
  line-height: 1;
}
.single-interview .interview-navigation .t-link-description {
  font-size: var(--fz-sm);
  margin-bottom: 0.5rem;
}

.single-interview .interview-navigation .txt-link-cards.prev .txt-link-card .t-link-inner::after {
  content: '←';
  left: 0;
}
.single-interview .interview-navigation .txt-link-cards.prev .t-link-inner {
  padding-right: 0;
  padding-left: 4rem;
}

.single-interview .interview-navigation .txt-link-cards.hidden {
  visibility: hidden;
}

.single-interview .interview-back {
  max-width: 23.69rem;
  margin: 0 auto;
}

.single-interview .navigation.post-navigation {
  /* ページ送り */
  width: 80%;
  margin: 50px auto 0;
}

.single-interview .navigation.post-navigation .nav-links {
  display: flex;
  justify-content: space-between;
}

.single-interview .navigation.post-navigation a {
  display: block;
  font-size: 0.85714rem;
  color: #fff;
  text-align: center;
  background: #343434;
  border: solid 0.5px #343434;
  border-radius: 5px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  width: 170px;
  height: 45px;
  line-height: 45px;
  position: relative;
}


/*--------------------------------------------------------------
## 募集要項一覧
--------------------------------------------------------------*/
.archive .recruit-list .txt-link-card {
  margin: 0;
  width: max(416px, calc((100% - 2rem * 2) / 3));
}
.archive .recruit-list .txt-link-card::after {
  width: 1.75rem;
  height: 1.75rem;
  margin-bottom: 0;
  font-size: var(--fz-base);
}
.archive .recruit-da-wrapper,
.archive .recruit-rd-wrapper,
.archive .recruit-dt-wrapper {
  padding-top: 0;
}
.archive .recruit-dh-wrapper,
.archive .recruit-da-wrapper,
.archive .recruit-rd-wrapper{
  padding-bottom: 5rem;
}
.archive .recruit-dh-wrapper .t-link-title,
.archive .recruit-da-wrapper .t-link-title,
.archive .recruit-dt-wrapper .t-link-title,
.archive .recruit-rd-wrapper .t-link-title {
  padding-right: 0;
}
.archive .recruit-da-wrapper h2,
.archive .recruit-da-wrapper .t-link-title,
.archive .recruit-da-wrapper .txt-link-card::after,
.archive .recruit-dt-wrapper h2,
.archive .recruit-dt-wrapper .t-link-title,
.archive .recruit-dt-wrapper .txt-link-card::after,
.archive .recruit-rd-wrapper h2,
.archive .recruit-rd-wrapper .t-link-title,
.archive .recruit-rd-wrapper .txt-link-card::after {
  color: var(--dark-green);
}
.archive .recruit-da-wrapper .txt-link-cards,
.archive .recruit-rd-wrapper .txt-link-cards,
.archive .recruit-dt-wrapper .txt-link-cards {
  border-color: var(--bg-green);
}
.archive .recruit-da-wrapper .txt-link-card::after,
.archive .recruit-dt-wrapper .txt-link-card::after,
.archive .recruit-rd-wrapper .txt-link-card::after {
  border-color: var(--dark-green);
}

.archive .recruit-list .unavailable {
  background: var(--light-brown);
  color: var(--txt-color);
  font-weight: 350;
}

/*--------------------------------------------------------------
## 募集要項詳細
--------------------------------------------------------------*/
.post-type-archive-recruit footer .recruit-wrapper,
.single-recruit footer .recruit-wrapper {
  display: none;
}

.single-recruit .recruit-wrapper {
  padding: clamp(2rem, 4.86vw, 3.5rem) 0 clamp(3rem, 6.94vw, 5rem);
}
.single-recruit .entry-wrapper {
  padding: 0 0 clamp(4rem, 10vw, 8rem);
}
.single-recruit .entry-intro {
  margin-bottom: clamp(1.5rem, 2.5vw, 2.5rem) !important;
}
.single-recruit .entry-intro .s-headline {
  margin: 0 auto;
}
.single-recruit .entry-intro .headline {
  margin-right: auto;
  margin-left: auto;
  width: fit-content;
}

.single-recruit .recruit-wrapper .last-updated {
  text-align: right;
}
.single-recruit .recruit-wrapper .table-wrap {
  border: 1px solid var(--orange);
  border-radius: 9px;
}
.single-recruit .recruit-wrapper .table-wrap table {
  margin: 0;
}

.single-recruit .recruit-table th,
.single-recruit .recruit-table td {
  padding: 1.5rem;
  line-height: 1.6;
  background: #fff;
  border-bottom: 1px solid var(--orange);
}
.single-recruit .recruit-table th {
  width: 30%;
  background: var(--bg-orange);
  border-bottom: 1px solid var(--orange);
  font-weight: 500;
  color: var(--orange);
}
.single-recruit .recruit-table tr:last-child th,
.single-recruit .recruit-table tr:last-child td {
  border-bottom: none;
}

.single-recruit .recruit-table h4 {
  margin-bottom: 0;
  font-size: var(--fz-md-s);
}
.single-recruit .recruit-table h5 {
  margin: 0;
  font-size: var(--fz-base);
  color: var(--brown);
}
.single-recruit .recruit-table p:not(:last-child) {
  margin-bottom: 1rem;
}
.single-recruit .recruit-table .txt-link-card {
  margin: 1rem 0;
}

.single-recruit [class*="recruit_cat-rec-da"] .recruit-inner h2,
.single-recruit [class*="recruit_cat-rec-da"] .recruit-inner h3,
.single-recruit [class*="recruit_cat-rec-da"] .recruit-inner h4,
.single-recruit [class*="recruit_cat-rec-da"] .recruit-table th,
.single-recruit [class*="recruit_cat-rec-dr"] .recruit-inner h2,
.single-recruit [class*="recruit_cat-rec-dr"] .recruit-inner h3,
.single-recruit [class*="recruit_cat-rec-dr"] .recruit-inner h4,
.single-recruit [class*="recruit_cat-rec-dr"] .recruit-table th {
  color: var(--dark-green);
}
.single-recruit [class*="recruit_cat-rec-da"] .recruit-wrapper .table-wrap,
.single-recruit [class*="recruit_cat-rec-da"] .recruit-table td,
.single-recruit [class*="recruit_cat-rec-dr"] .recruit-wrapper .table-wrap,
.single-recruit [class*="recruit_cat-rec-dr"] .recruit-table td {
  border-color: var(--dark-green);
}
.single-recruit [class*="recruit_cat-rec-da"] .recruit-table th,
.single-recruit [class*="recruit_cat-rec-dr"] .recruit-table th {
  background: var(--bg-green);
  color: var(--dark-green);
  border-color: var(--dark-green);
}

/*--------------------------------------------------------------
## サイドバー
--------------------------------------------------------------*/
.side-main {
  float: left;
  width: 100%;
}
.widget-area {
  float: left;
  width: 26%;
  margin-left: 6%;
  display: none;
}

/*--------------------------------------------------------------
## ヘッダー背景
--------------------------------------------------------------*/
.clinic .entry-header {
	background: url(./images/header/header_clinic.jpg) no-repeat center / cover;
}
.about .entry-header {
	background: url(./images/header/header_about.jpg) no-repeat center / cover;
}
.access .entry-header {
	background: url(./images/header/header_access.jpg) no-repeat center / cover;
}
.director .entry-header {
	background: url(./images/header/header_director.jpg) no-repeat center / cover;
}
.profile .entry-header {
	background: url(./images/header/header_profile.jpg) no-repeat center / cover;
}
.qa99 .entry-header {
	background: url(./images/header/header_qa99.jpg) no-repeat center / cover;
}
.post-type-archive-interview .entry-header,
.single-interview .entry-header {
	background: url(./images/header/header_interview.jpg) no-repeat center / cover;
}
.about-jobs .entry-header {
	background: url(./images/header/header_about-jobs.jpg) no-repeat center / cover;
}
.policy .entry-header {
	background: url(./images/header/header_policy.jpg) no-repeat center / cover;
}
.works .entry-header {
	background: url(./images/header/header_works.jpg) no-repeat center / cover;
}
.important .entry-header {
	background: url(./images/header/header_important.jpg) no-repeat center / cover;
}
.voice .entry-header {
	background: url(./images/header/header_voice.jpg) no-repeat center / cover;
}
.environment .entry-header {
	background: url(./images/header/header_environment.jpg) no-repeat center / cover;
}
.recommendations .entry-header {
	background: url(./images/header/header_recommendations.jpg) no-repeat center / cover;
}
.welfare .entry-header {
	background: url(./images/header/header_welfare.jpg) no-repeat center / cover;
}
.gallery .entry-header {
	background: url(./images/header/header_gallery.jpg) no-repeat center / cover;
}
.faq .entry-header {
	background: url(./images/header/header_faq.jpg) no-repeat center / cover;
}
.before-applying .entry-header {
	background: url(./images/header/header_before-applying.jpg) no-repeat center / cover;
}
.matching .entry-header {
	background: url(./images/header/header_matching.jpg) no-repeat center / cover;
}
.flow .entry-header {
	background: url(./images/header/header_flow.jpg) no-repeat center / cover;
}
.visitor .entry-header {
	background: url(./images/header/header_visitor.jpg) no-repeat center / cover;
}
.entry .entry-header {
	background: url(./images/header/header_entry.jpg) no-repeat center / cover;
}
.post-type-archive-recruit .entry-header,
.single-recruit .entry-header,
.entry-thanks .entry-header {
	background: url(./images/header/header_recruit.jpg) no-repeat center / cover;
}
.privacy-policy .entry-header {
	background: url(./images/header/header_privacy.jpg) no-repeat center / cover;
}
.error404 .entry-header {
	background: url(./images/header/header_404.jpg) no-repeat center / cover;
}

/*--------------------------------------------------------------
## Components（下層ページ用）
--------------------------------------------------------------*/  

/* 下層ページ ページタイトル */
.entry-header {
  text-align: center;
  background: var(--orange);
  padding: clamp(6rem, 15.83vw, 14.25rem) 0 clamp(3rem, 8.89vw, 8rem);
}
.sub-page-title {
  padding: 0 1rem;
}

/* 下層ページ 子ページリスト、兄妹ページリスト（おすすめページ） */
.page-child-list,
.page-sibling-list {
  padding: clamp(3rem, 7.82vw, 6rem) clamp(1rem, 2.6vw, 2rem);
}

.page-child-list .s-headline,
.page-sibling-list .s-headline {
  margin: 0 auto;
}

.page-child-list .link-card, 
.page-sibling-list .link-card {
  max-width: 640px;
}
.page-child-list .link-card .link-text,
.page-sibling-list .link-card .link-text {
  padding: var(--space-md) var(--space-sm);
  display: flex;
  align-items: center;
  height: 100%;
}

/* 下層ページ 兄妹ページリスト（おすすめページ） */
.page-sibling-list {
  background: var(--bg-green);
}

/* 下層ページ ページ内リンク */
.content-navi-inner {
  padding: 1rem 0 clamp(1.5rem, 2.06vw, 2rem);
}

.c-navi-en {
  text-transform: uppercase;
  line-height: 1.6;
  color: var(--deep-green);
  margin: 0 0 0.5rem;
  display: flex;
  align-items: center;
}
.c-navi-en::before {
  content: '';
  width: 4rem;
  height: 0.6rem;
  margin-right: 0.5rem;
  background: url(./images/common/logo_mark.png) no-repeat left / contain;
}

.content-navi ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}

.content-navi ul li {
  list-style: none;
}

.content-navi a {
  display: inline-block;
  position: relative;
  padding: 1rem 3.25rem 1rem 1rem;
  border-radius: 8px;
  background: var(--bg-orange);
  color: var(--brown);
  font-weight: 500;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.content-navi a::after {
  content: '↓';
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid var(--brown);
  border-radius: 99vw;
  font-size: var(--fz-xs);
  color: var(--brown);
}

/* 下層ページイントロ */
.sec-page-intro-wrapper {
  text-align: center;
}
.sec-page-intro {
  margin: 0 auto;
  padding: 6rem 14rem;
}
.sec-page-intro .sec-intro-text {
  padding: var(--space-md);
  background: var(--pale-deep-green);
  border-radius: 8px;
  text-align: center;
}

  /*
  ### Q&A系ページ
  --------------------------------------------------------------*/
  .qa-wrapper .qa-menu #faq-toc {
    display: block;
    position: sticky;
    top: 9rem;
    width: 20rem;
    z-index: 2;
    margin: 0;
  }

  .qa-wrapper .qa-menu #faq-toc ul {
    list-style: none;
  }

  .qa-wrapper .qa-menu #faq-toc li a {
    display: block;
    color: var(--brown);
    font-weight: 500;
    padding: 0.5rem 0;
  }

  .qa-wrapper .qa-main.col {
    flex: 1;
  }

  .qa-wrapper .qa-block h2 {
    background: var(--orange);
    border-radius: 8px;
    font-size: var(--fz-lg);
    color: #fff;
    margin: 2rem 0;
    padding: 0.5rem 2rem;
  }

  .qa-wrapper .qa-block h3 {
    background: var(--pale-green);
    border-radius: 8px;
    color: var(--deep-dark-green);
    font-size: var(--fz-md);
    font-weight: 500;
    margin-bottom: 1.5rem;
    padding: 0.5rem 2rem;
  }

  .qa-wrapper .qa-item h4 {
    counter-increment: q-counter;
    padding-left: 1.5em;
    text-indent: -1.5em;
    margin-bottom: 0.5rem;
  }

  .qa-wrapper .qa-item h4::before {
    content: "Q.";
    display: inline-block;
    font-weight: 500;
    color: var(--dark-green);
    margin-right: 0.5rem;
    text-indent: 0;
  }

  .qa-wrapper .qa-item p {
    margin-bottom: 2rem;
    padding-left: 1.5rem;
    text-indent: -1.5rem;
  }

  .qa-wrapper .qa-item p::before {
    content: "A.";
    font-weight: 500;
    color: var(--dark-green);
    margin-right: 0.5rem;
    text-indent: 0;
  }

  .qa-wrapper .qa-item:last-child {
    margin-bottom: 5rem;
  }


/*--------------------------------------------------------------
## 当院について
--------------------------------------------------------------*/

  /*
  ### 長島歯科クリニックについて
  --------------------------------------------------------------*/

  /* 当院の想い */
  .about .philosophy-wrapper .speech {
    --icon-width: 178px;
    align-items: center;
  }
  .about .philosophy-wrapper .speech .card {
    padding: var(--space-md);
  }
  .about .philosophy-wrapper .speech .inner-text::after {
    --bg-speech: var(--bg-orange);
  }

  /* 院長からのメッセージ */
  .about .message-wrapper .speech {
    --icon-width: 404px;
  }

  /*
  ### 医院概要
  --------------------------------------------------------------*/
  .access .table-wrap {
    border: 1px solid var(--orange);
    border-radius: 9px;
  }
  .access .access-table {
    margin: 0;
  }
  .access .access-table tr:last-child th,
  .access .access-table tr:last-child td {
    border-bottom: none;
  }
  .access td a {
    color: var(--orange);
    text-decoration: underline;
  }

/*--------------------------------------------------------------
## 院長紹介
--------------------------------------------------------------*/

  /*
  ### 院長プロフィール
  --------------------------------------------------------------*/
  /* 院長プロフィール */
  .profile .prof-table {
    margin: 0;
    line-height: 1.4;
  }
  .profile .prof-table > div {
    display: flex;
    margin-bottom: 0.5rem;
  }
  .profile .prof-table dt {
    margin-right: 1rem;
    padding: 1px 2rem;
    min-width: 11.125rem;
    background: var(--pale-green);
    font-weight: 350;
  }
  .profile .prof-table dd {
    margin: 0;
  }
  .profile .prof-table.prof-table-career dt {
    min-width: 14.125rem;
  }

  .profile .profile-inner:first-child.row .card-hl-over {
    height: auto;
  }

  .profile .profile-inner .label {
    padding: 0 3rem;
    background: var(--pale-orange);
    color: var(--brown);
    font-size: var(--fz-md);
    font-weight: 350;
  }

  /* 最近の考え事 */
  .profile .interests-inner.row {
    column-gap: 1.5rem;
  }
  .profile .interests-inner .inner-image {
    margin: 0 auto;
    width: 54.5%;
  }

  .profile .profile-inner:not(:first-child).row {
    row-gap: 2rem;
  }

  /* どちらのタイプ？ */
  .profile .profile-inner table {
    margin: 0;
    border-radius: 0;
  }
  .profile .profile-inner table th,
  .profile .profile-inner table td {
    width: 80px;
    padding: 0.25rem;
    border-bottom: 4px solid var(--bg-orange);
    line-height: 1.2;
  }
  .profile .profile-inner table td {
    padding: 0.875rem 0.25rem;
    text-align: center;
  }
  .profile .profile-inner table img {
    width: 1.5rem;
  }
  .profile .profile-inner table th:first-child,
  .profile .profile-inner table th:last-child,
  .profile .profile-inner table td:first-child,
  .profile .profile-inner table td:last-child {
    width: 100px;
    text-align: left;
  }
  .profile .profile-inner table th:first-child,
  .profile .profile-inner table td:first-child {
    text-align: right;
  }

  /* 院長ヒストリー */
  .profile .history-intro .s-headline {
    margin: 0 auto;
  }
  .profile .history-main {
    padding: 0 7rem;
  }

  .profile .history-inner {
    position: relative;
    padding-bottom: 2rem;
  }
  .profile .history-inner::before {
    content: '';
    display: block;
    width: 2px;
    height: 100%;
    position: absolute;
    top: 1rem;
    left: 2.0625rem;
    background: var(--green);
  }
  .profile .history-inner:last-child::before {
    height: calc(100% - 3rem);
  }
  
  .profile .history-inner h4 {
    padding-left: 3.225rem;
    text-indent: -3.225rem;
  }
  .profile .history-inner h4::before {
    content: '';
    display: inline-block;
    margin-right: 0.625rem;
    width: 2.6rem;
    height: 1rem;
    top: 0;
    background: url(./images/page/profile/history-marker.png) no-repeat center / contain;
  }

  .profile .history-inner .inner-text {
    margin-left: 4.375rem;
  }

  /* 経歴 */
  .profile .career-wrapper > div {
    padding: 0 7rem;
  }

  /* 院長コラム */
  .profile .column-wrapper .speech {
    --icon-width: 235px;
  }

  /* スペシャルコンテンツ */
  .profile .special-intro .s-headline {
    margin: 0 auto;
  }
  .profile .special-main img {
    max-width: 636px;
  }

  /* おすすめページ 非表示 */
  .profile .page-sibling-list {
    display: none;
  }
  
  /*
  ### 院長に聞く99の質問
  --------------------------------------------------------------*/
  .qa99 .qa-wrapper {
    counter-reset: q-counter 0;
  }

  .qa99 .qa-wrapper .qa-item h4 {
    padding-left: 2.5em;
    text-indent: -2.5em;
  }
  .qa99 .qa-wrapper .qa-item.single-digit h4 {
    padding-left: 2em;
    text-indent: -2em;
  }

  .qa99 .qa-wrapper .qa-item h4::before {
    content: "Q" counter(q-counter) ".";
  }

  .qa99 .qa-wrapper .qa-item p {
    padding-left: 0;
    text-indent: 0;
  }
  .qa99 .qa-wrapper .qa-item p::before {
    content: "";
    margin-right: 0;
  }

/*-------------------------------------------------------------
## 仕事のこと
--------------------------------------------------------------*/

  /*
  ### 診療方針
  --------------------------------------------------------------*/
  
  /* パンキーフィロソフィ */
  .policy .philosophy-wrapper {
    background: url(./images/page/policy/bg_philosophy.jpg) no-repeat center / cover;
  }

  /* 診療の流れ */
  .policy .process {
    flex-wrap: wrap;
  }
  .policy .process p {
    position: relative;
    margin-bottom: 1rem;
    padding: 1rem;
    text-align: center;
    background: var(--bg-green);
  }
  .policy .process p::after {
    content: '';
    position: absolute;
    border-bottom: 1.95rem solid transparent;
    border-top: 1.925rem solid transparent;
    border-left: 2rem solid var(--bg-green);
    top: 50%;
    transform: translateY(-50%);
    right: calc(-2rem + 1px);
  }
  .policy .process p:first-child {
    background: #D2E7A3;
  }
  .policy .process p:first-child::after {
    border-color: transparent transparent transparent #D2E7A3;
  }
  .policy .process p:nth-child(2) {
    background: #C9E186;
  }
  .policy .process p:nth-child(2)::after {
    border-color: transparent transparent transparent #C9E186;
  }
  .policy .process p:nth-child(3) {
    background: #BFD877;
  }
  .policy .process p:nth-child(3)::after {
    border-color: transparent transparent transparent #BFD877;
  }
  .policy .process p:nth-child(4) {
    background: #ABD25B;
  }
  .policy .process p:nth-child(4)::after {
    border-color: transparent transparent transparent #ABD25B;
  }
  .policy .process p:nth-child(5) {
    background: #9CC840;
  }
  .policy .process p:nth-child(5)::after {
    border-color: transparent transparent transparent #9CC840;
  }


  /* 当院で働くということ */
  .policy .meaning-wrapper {
    background: url(./images/page/policy/bg_meaning.jpg) no-repeat center / cover;
  }
  .policy .meaning-main {
    margin: 0 auto;
    padding: 6rem 4.5rem;
    background: rgba(255, 255, 255, 0.95);
    max-width: min(65vw, 53.375rem);
  }

  /*
  ### 仕事紹介
  --------------------------------------------------------------*/
  /* イントロ */
  .works .sec-works-intro-wrapper .card {
    padding-top: var(--space-md);
  }
  .works .sec-works-intro-wrapper .sub-headline {
    margin-top: calc(-1 * var(--space-md) - 0.8em);
    margin-bottom: 0.25rem;
  }
  .works .sec-works-intro-wrapper .headline {
    margin: 0 0 1.5rem;
  }

  .works .sec-works-intro-wrapper .about-details .card {
    position: relative;
  }
  .works .sec-works-intro-wrapper .about-details .card::after {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 2rem;
    width: 62px;
    height: 13.5px;
    background: url(./images/common/arrow-double.png) no-repeat center / contain;
  }

  .works .sec-works-intro-wrapper .working-hours dl {
    line-height: 1.4;
  }
  .works .sec-works-intro-wrapper .working-hours dl > div {
    display: flex;
    margin-bottom: 0.5rem;
  }
  .works .sec-works-intro-wrapper .working-hours dt {
    margin-right: 0.5rem;
    padding: 0 1.5rem;
    min-width: 7rem;
    height: fit-content;
    font-weight: 350;
    background: var(--bg-green);
  }

  /* 仕事内容 */
  .works .aboutjobs-wrapper .works-detail {
    position: relative;
  }
  .works .aboutjobs-wrapper .works-number {
    position: absolute;
    top: calc(-1 * var(--fz-xl-s));
    left: calc(100% - var(--space-lg));
    font-family: var(--ff-shippori);
    font-size: var(--fz-md);
    color: var(--dark-green);
  }
  .works .aboutjobs-wrapper .works-num-lg {
    font-size: var(--fz-xl-s);
  }
  .works .aboutjobs-wrapper .row-1 .col {
    margin: 0 auto;
    width: 50%;
  }

  /* 1日の流れ */
  .works .schedule-wrapper .card {
    margin-right: 7rem;
  }
  .works .schedule-wrapper dl {
    line-height: 1.4;
    position: relative;
  }
  .works .schedule-wrapper dl::before {
    content: '';
    display: block;
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    left: calc(5rem - 1px);
    background: var(--green);
  }
  .works .schedule-wrapper dl > div {
    display: flex;
    margin-bottom: 0.5rem;
  }
  .works .schedule-wrapper dt {
    position: relative;
    padding-right: 2rem;
    width: 6rem;
    min-width: 6rem;
    max-width: 6rem;
    font-weight: 350;
    text-align: right;
  }
  .works .schedule-wrapper dt::after {
    content: '';
    display: inline-block;
    margin: 0 0.75rem;
    width: 0.5rem;
    min-width: 0.5rem;
    max-width: 0.5rem;
    height: 0.5rem;
    position: absolute;
    top: 0.5rem;
    background: url(./images/common/circle-green.png) no-repeat center / contain;
  }
  .works .schedule-wrapper dd {
    width: calc(100% - 5rem);
  }

  /* キャリアパス */

  /* よくある質問 */
  .works .qa-main .sub-headline {
    padding-left: 2rem;
    text-indent: -2rem;
  }
  .works .qa-main .sub-headline::before {
    content: 'Q. ';
  }
  .works .qa-main p {
    padding-left: 2rem;
    text-indent: -2rem;
  }
  .works .qa-main .sub-headline + p::before {
    content: 'A.';
    margin: 0 0.5rem 0 0;
    color: var(--dark-orange);
    font-family: var(--ff-shippori);
    font-size: var(--fz-md);
    font-weight: 600;
  }

  /*
  ### 長島歯科クリニックが大切にしていること
  --------------------------------------------------------------*/
  .important .sec-page-intro-wrapper .row {
    justify-content: center;
    margin-bottom: 1rem;
  }
  .important .sec-page-intro-wrapper .card {
    padding: var(--space-sm);
  }
  .important .sec-page-intro-wrapper .sub-headline {
    margin-top: calc(-1 * var(--space-sm) - 0.8em);
    margin-bottom: 0;
  }
  .important .keyword-episode .label {
    margin-right: 1rem;
    font-family: var(--ff-shippori);
    font-size: var(--fz-md-s);
  }
  .important .keyword-episode .row {
    align-items: center;
  }
  .important .keyword-episode .inner-image {
    width: 6rem;
  }
  .important .keyword-episode .inner-text {
    width: calc(100% - 6rem - var(--gap-x));
  }
  .important .keywordmessage-wrapper .sub-headline {
    font-size: var(--fz-md);
  }
  .important .keywordmessage-wrapper .match ul {
    background: url(./images/page/important/bg_circle.png) no-repeat center / contain;
  }
  .important .keywordmessage-wrapper .miss-match ul {
    background: url(./images/page/important/bg_triangle.png) no-repeat center / contain;
  }
  .important .keywordmessage-wrapper li {
    list-style: none;
    padding-left: 1.5em;
    position: relative;
  }
  .important .keywordmessage-wrapper li::before {
    content: "";
    position: absolute;
    left: 0;
  }
  .important .keywordmessage-wrapper .match li::before {
    background: url(./images/common/marker-orange.png) no-repeat center / contain;
  }
  .important .keywordmessage-wrapper .miss-match li::before {
    background: url(./images/common/marker-blue.png) no-repeat center / contain;
  }

  /*
  ### 患者さんからの声
  --------------------------------------------------------------*/
  .voice .sub-headline {
    margin-top: calc(-1 * var(--space-lg) - var(--fz-xxxl-s));
    font-weight: 500;
    color: var(--dark-green);
  }
  .voice .sub-headline .number {
    font-size: var(--fz-xl);
  }
  .voice .sub-headline .number-lg {
    font-size: var(--fz-xxxl-s);
  }
  .voice .voice02-wrapper .sub-headline {
    text-align: right;
  }

  .voice .voice-thanks {
    margin: 2rem auto 0;
    width: fit-content;
    text-align: center;
  }
  .voice .voice-thanks p {
    position: relative;
    font-size: var(--fz-md-s);
    font-weight: 600;
    color: var(--brown);
  }
  .voice .voice-thanks p::before,
  .voice .voice-thanks p::after  {
    position: absolute;
    bottom: 0;
  }
  .voice .voice-thanks p::before {
    content: '＼';
    left: -2rem;
  }
  .voice .voice-thanks p::after {
    content: '／';
    right: -1.5rem;
  }
  .voice .voice-thanks img {
    max-width: 7rem;
  }

/*-------------------------------------------------------------
## はたらく環境
--------------------------------------------------------------*/

  /*
  ### スタッフの推しポイント
  --------------------------------------------------------------*/
  .recommendations .sec-page-intro-wrapper .row {
    justify-content: center;
  }
  .recommendations .sec-page-intro-wrapper .label {
    margin-right: 1rem;
  }
  
  .recommendations .sub-headline {
    margin-top: calc(-1 * var(--space-lg) - var(--fz-xl));
    margin-bottom: 0;
    font-size: var(--fz-md);
    font-weight: 500;
    color: var(--dark-green);
  }
  .recommendations .sub-headline .number {
    font-size: var(--fz-xl);
    font-weight: 600;
  }
  .recommendations .recommendations-main .headline {
    margin: 1.5rem 0;
  }

  .recommendations .recommendations-speech.row {
    align-items: center;
  }
  .recommendations .recommendations-speech.speech {
    --icon-width: 144px;
  }
  .recommendations .recommendations-speech.speech:not(:last-child) {
    margin-bottom: 1rem;
  }
  .recommendations .recommendations-speech .staff-name {
    font-size: var(--fz-base-l);
    margin-bottom: 0.5rem;
  }
  .recommendations .recommendations-speech .card {
    padding: var(--space-md);
  }

  .recommendations .recommendationsmes-main.card {
    padding: var(--space-xl);
  }
  .recommendations .recommendationsmes-main .inner-text {
    text-align: center;
  }
  .recommendations .recommendationsmes-main .link-area {
    margin: 0 auto;
    max-width: min(630px, 80%);
  }

  /*
  ### 福利厚生
  --------------------------------------------------------------*/
  .welfare h2.headline {
    margin: var(--space-xs) 0 var(--space-md);
  }
  .welfare h2.headline span {
    display: block;
    font-size: var(--fz-lg);
  }
  .welfare .inner-text .row {
    column-gap: 2rem;
    row-gap: 1rem;
  }
  .welfare .benefits span {
    display: block;
  }

  /*
  ### 院内ギャラリー
  --------------------------------------------------------------*/
  .gallery h3.headline {
    margin: var(--space-xs) 0 var(--space-md);
  }
  .gallery .gallery-wrapper ul {
    padding-left: 1.5rem;
  }
  .gallery .gallery-wrapper img.b-rd {
    border-radius: 8px;
  }
  .gallery .gallery-inner .speech {
    --icon-width: calc((100% - var(--gap-x) * 2) / 3);
    --icon-height: calc(0.67 * var(--icon-width));
    --bg-speech: var(--bg-orange);
  }
  .gallery .gallery-inner .speech .inner-text::before {
    top: calc(var(--space-lg) - 0.5rem);
  }
  @media screen and (max-width: 1130px) {
    .gallery .gallery-inner .speech .inner-text::before {
      top: calc(var(--space-lg) + 0.25rem);
    }
  }
  @media screen and (max-width: 825px) {
    .gallery .gallery-inner .speech .inner-text::before {
      top: calc(var(--space-lg) + 1.25rem);
    }
  }

  /*
  ### 院内制度 総まとめ
  --------------------------------------------------------------*/
  .faq .qa-wrapper .qa-item .btn {
    margin: 0 0 2rem;
  }

/*-------------------------------------------------------------
##  応募の前に
--------------------------------------------------------------*/

  /*
  ### マッチング率診断
  --------------------------------------------------------------*/
  .matching .sec-intro-wrapper .sub-headline.row {
    align-items: center;
  }
  .matching .sec-intro-wrapper .label {
    font-family: var(--ff-shippori);
    font-size: var(--fz-base-l);
    height: fit-content;
  }

  .matching .matching-form h3 {
    font-size: var(--fz-md-s);
  }

  .matching .matching-form [id^="question_"]:not(:last-child) > .q_wrap {
    margin-bottom: 3rem;
  }

  .matching .matching-form .q_wrap > div label {
    display: inline-block;
    border-radius: 8px;
    background: #fff;
    padding: 1rem 2rem;
    width: 100%;
    white-space: nowrap;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
  .matching .matching-form .q_wrap > div label:hover {
    color: rgba(82, 82, 82, 0.5);
  }

  .matching .matching-form button {
    display: block;
    background: var(--orange);
    border-radius: 99vw;
    font-size: var(--fz-md);
    font-weight: 700;
    color: #fff;
    margin: 0 auto;
    padding: 1rem 5rem;
    transition: all 0.3s ease-in-out;
  }
  .matching .matching-form button:hover {
    opacity: 0.7;
  }

  .matching .resource {
    padding: 0 14rem;
  }
  .matching .result-area .mach_txt-inner a {
    color: var(--orange);
    text-decoration: underline;
  }
  .matching .result-area .btn {
    margin: 0;
  }

  .matching .mach_txt,
  .matching .resource {
    display: none;
  }
  .matching .result-wrapper .result-bold {
    font-size: var(--fz-md-s);
    color: var(--brown);
  }
  .matching #goukei.card {
    padding: var(--space-sm);
  }
  .matching .result-main .card-hl-over .sub-headline {
    margin-top: calc(-1 * var(--space-lg) - calc(0.9 * var(--fz-xl-s)));
  }
  .matching .result-main .sub-headline .match-count {
    font-size: var(--fz-xl-s);
  }  
  .matching .result-main .txt-link-card {
    margin: 0;
  }

  .matching .error_txt {
    display: none;
    color: #f00;
    margin: -2.5rem 0 2rem;
  }

  /*
  ### 医院見学のご案内
  --------------------------------------------------------------*/

  /* 医院見学 */
  .visitor .visitor-main .ls-circle.ls-num li {
    margin-bottom: 0.5rem;
  }
  .visitor .visitor-main .ls-circle.ls-num li::before {
    width: var(--fz-md-s);
    height: var(--fz-md-s);
    top: calc(var(--fz-md-s) * 0.825);
  }
  .visitor .visitor-main .ls-circle.ls-num li h5 {
    margin: 0;
  }
  .visitor .visitor-speech.row {
    align-items: center;
  }
  .visitor .visitor-speech.speech {
    --icon-width: 144px;
  }
  .visitor .visitor-speech .staff-name {
    margin-bottom: 0.5rem;
  }
  .visitor .visitor-wrapper .card-hl-over .card {
    height: auto;
  }
  .visitor .visitor-wrapper .speech .card {
    padding: var(--space-md);
  }
  .visitor .visitor-wrapper .schedule-speech.speech {
    --icon-width: 0px;
  }
  .visitor .visitor-wrapper .schedule-speech.speech .inner-text::after {
    top: unset;
    right: unset;
    bottom: -3.5rem;
    left: 3rem;
    transform: translateX(-50%);
    border-right: 1.5rem solid transparent;
    border-left: 1.5rem solid transparent;
    border-top: 3rem solid var(--bg-speech);
  }

  /* 見学概要 */
  .visitor .overview-wrapper .schedule {
    color: var(--dark-brown);
    font-size: var(--fz-md-s);
    font-weight: 600;
  }
  .visitor .overview-wrapper h5 {
    color: var(--brown);
  }
  .visitor .overview-wrapper .txt-link-card {
    min-width: min(100%, max(416px, calc((100% - 2rem * 2) / 3)));
  }

  /* よくある質問 */
  .visitor .qa-main .sub-headline {
    padding-left: 2rem;
    text-indent: -2rem;
  }
  .visitor .qa-main .sub-headline::before {
    content: 'Q. ';
  }
  .visitor .qa-main p {
    padding-left: 2rem;
    text-indent: -2rem;
  }
  .visitor .qa-main .sub-headline + p::before {
    content: 'A.';
    margin: 0 0.5rem 0 0;
    color: var(--dark-orange);
    font-family: var(--ff-shippori);
    font-size: var(--fz-md);
    font-weight: 600;
  }

  /*
  ### 入職までの流れ
  --------------------------------------------------------------*/
  .flow .card-hl-over .sub-headline {
    margin-top: calc(-1 * var(--space-lg) - 0.9 * var(--fz-xl));
  }
  .flow .sub-headline .headline {
    font-size: var(--fz-xl);
  }
  .flow .flow-main {
    padding: 0 7rem;
  }
  .flow .flow-inner.row {
    row-gap: 3rem;
  }
  .flow .flow-inner .inner-text .card {
    padding: var(--space-sm);
  }
  .flow .flow-inner .inner-image img.b-rd {
    border-radius: 8px;
  }
  .flow .flow-step-arrow {
    margin: 3rem auto;
    text-align: center;
  }
  .flow .flowinfo-main.card {
    margin: 0 7rem;
    padding: var(--space-xl);
  }
  .flow .flowinfo-main .inner-text {
    text-align: center;
  }
  .flow .flowinfo-main .link-area {
    margin: 0 auto;
    max-width: min(630px, 80%);
  }
  .flow-inner p a {
    color: var(--orange);
    text-decoration: underline;
  }

/*--------------------------------------------------------------
## エントリー・お申込み
--------------------------------------------------------------*/
.entry .s-headline {
  margin: 0 auto;
}
.entry .entry-form-wrapper h2 {
  text-align: center;
}
.entry .contact-wrapper {
  text-align: center;
}
.entry .contact-wrapper .contact-tel {
  justify-content: center;
  align-items: baseline;
  font-size: var(--fz-lg);
}
.entry .contact-wrapper .contact-tel a {
  color: var(--orange);
  font-family: var(--ff-shippori);
  font-size: var(--fz-xxxl-s);
  border-bottom: 1px solid var(--orange);
  line-height: 1;
}

.entry .entry-form-main.card {
  margin: 0 14rem;
  padding-top: 6rem;
}

/*--------------------------------------------------------------
## オンライン面談
--------------------------------------------------------------*/
.web-disc,
.web-flow,
.web-faq {
  margin-bottom: 3rem;
}

.web-disc {
  gap: 50px;
}

.web-disc > * {
  width: 50%;
}

.web-disc .txt h2 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.flow-block.row {
  justify-content: space-between;
  gap: 30px;
}

.flow-box {
  width: calc(100% / 3);
}

.flow-box h3 {
  font-size: 1.2rem;
  margin: 1.2rem 0 0;
}

.flow-box h3::before {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  font-size: 1rem;
  font-weight: 600;
  font-family: lato, sans-serif;
  line-height: 2rem;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  margin-right: 0.5rem;
  background: #212121;
  vertical-align: 4px;
}

.flow-box:first-child h3::before {
  content: "1";
}

.flow-box:nth-child(2) h3::before {
  content: "2";
}

.flow-box:nth-child(3) h3::before {
  content: "3";
}

.web-faq .faq-box + .faq-box {
  margin: 1.5rem 0 0;
}

.web-faq .faq-box h3::before {
  content: "Q";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 2rem;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  margin-right: 0.5rem;
  background: #212121;
  text-indent: 0;
  vertical-align: 4px;
}

/*--------------------------------------------------------------
## プライバシーポリシー
--------------------------------------------------------------*/
.privacy-policy > :not(.site-footer) h2 {
  font-size: var(--fz-lg);
}
.privacy-policy ul {
  list-style-position: inside;
}

/*--------------------------------------------------------------
## 404ページ
--------------------------------------------------------------*/
.error404 .sec-wrapper > .notfound-list {
  margin: 0 auto;
  width: min(21rem, 100%);
}

.error404 .notfound-ttl-text,
.error404 .notfound-list {
  list-style: none;
}

.error404 .notfound-list .category {
  margin-top: 1rem;
}
.error404 .notfound-list .category > a {
  font-family: var(--ff-shippori);
  font-weight: 500;
  color: var(--orange);
}

/*--------------------------------------------------------------
## 検索結果
--------------------------------------------------------------*/
.archives-inner {
  padding: 1rem 1rem 0 0;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

embed,
iframe,
object {
  max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
  max-width: 25%;
}

.gallery-columns-5 .gallery-item {
  max-width: 20%;
}

.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Utility
--------------------------------------------------------------*/
.ibl {
  display: inline-block;
  vertical-align: middle;
}

.tcenter {
  text-align: center;
}

.tright {
  text-align: right;
}

.tleft {
  text-align: left;
}

.bold {
  font-weight: 600;
}

/* 角丸 */
.b-rd {
  border-radius: 16px;
}
.b-rd-t {
  border-radius: 16px 16px 0 0;
}
.b-rd-r {
  border-radius: 0 16px 16px 0;
}
.b-rd-l {
  border-radius: 16px 0 0 16px;
}
.b-rd-b {
  border-radius: 0 0 16px 16px;
}
.b-rd-circle {
  border-radius: 99vw;
}
.b-rd-sm {
  border-radius: 8px;
}

/* ドロップシャドウ */
.d-sdw {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

/* 余白 */
.m-centering {
  margin: 0 auto;
}

.mt-none {
  margin-top: 0 !important;
}
.mt-xxs {
  margin-top: 8px;
  margin-top: 0.5rem !important;
}
.mt-xs {
  margin-top: 16px;
  margin-top: 1rem !important;
}
.mt-sm {
  margin-top: 24px;
  margin-top: 1.5rem !important;
}
.mt-base {
  margin-top: 32px;
  margin-top: 2rem !important;
}
.mt-md {
  margin-top: 48px;
  margin-top: 3rem !important;
}
.mt-lg {
  margin-top: 64px;
  margin-top: 4rem !important;
}
.mt-xl {
  margin-top: 96px;
  margin-top: 6rem !important;
}
.mt-xxl {
  margin-top: 128px;
  margin-top: 8rem !important;
}

.mb-none {
  margin-bottom: 0 !important;
}
.mb-xxs {
  margin-bottom: 8px;
  margin-bottom: 0.5rem !important;
}
.mb-xs {
  margin-bottom: 16px;
  margin-bottom: 1rem !important;
}
.mb-sm {
  margin-bottom: 24px;
  margin-bottom: 1.5rem !important;
}
.mb-base {
  margin-bottom: 32px;
  margin-bottom: 2rem !important;
}
.mb-md {
  margin-bottom: 48px;
  margin-bottom: 3rem !important;
}
.mb-md-l {
  margin-bottom: 54px;
  margin-bottom: 3.5rem !important;
}
.mb-lg {
  margin-bottom: 64px;
  margin-bottom: 4rem !important;
}
.mb-lg-l {
  margin-bottom: 72px;
  margin-bottom: 4.5rem !important;
}
.mb-xl {
  margin-bottom: 96px;
  margin-bottom: 6rem !important;
}
.mb-xxl {
  margin-bottom: 128px;
  margin-bottom: 8rem !important;
}

.ml-xs {
  margin-left: 16px;
  margin-left: 1rem !important;
}

/* フォント */
.fz-zenmaru {
  font-family: var(--ff-noto-sans);
}
.fz-kiroji {
  font-family: var(--ff-shippori);
}
.fz-kiroji-b {
  font-family: var(--ff-shippori);
  font-weight: 700;
}

/* 文字色 */
.txt-color {
  color: var(--txt-color) !important;
}
.txt-orange {
  color: var(--orange) !important;
}
.txt-light-orange {
  color: var(--light-orange) !important;
}
.txt-blue {
  color: var(--blue) !important;
}
.txt-dark-blue {
  color: var(--dark-blue) !important;
}
.txt-dark-green {
  color: var(--dark-green) !important;
}
.txt-brown {
  color: var(--brown) !important;
}

/* 背景 */
.bg-white {
  background: white !important;
}
.bg-color {
  background: var(--bg-color) !important;
}
.bg-orange {
  background: var(--bg-orange) !important;
}
.bg-pale-orange {
  background: var(--bg-pale-orange) !important;
}
.bg-green {
  background: var(--bg-green) !important;
}
.bg-deep-green {
  background: var(--bg-deep-green) !important;
}
.bg-blue {
  background: var(--bg-blue) !important;
}
.bg-brown {
  background: var(--bg-brown) !important;
}

.bg-atmosphere {
  position: relative;
  overflow: hidden;
}
.bg-atmosphere::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(./images/common/bg_atmosphere.png);
  background-size: cover;
  opacity: 0.75;
  z-index: 0;
}
.bg-atmosphere > * {
  position: relative;
  z-index: 1;
}


/*--------------------------------------------------------------
# Break Point -1 ～1560px：pc-sm
--------------------------------------------------------------*/
@media screen and (max-width: 1560px) {

  /*--------------------------------------------------------------
  ## フッター
  --------------------------------------------------------------*/
  .footer-schedule th,
  .footer-schedule td {
    width: 40px;
  }
  .footer-schedule tr th:first-of-type,
  .footer-schedule tr td:first-of-type {
    padding-left: 1rem;
    width: calc(114px + 1rem);
  }

  /*--------------------------------------------------------------
  ## 共通パーツ、レイアウト
  --------------------------------------------------------------*/
  .row-pc-sm-1 > .col,
  .row-pc-sm-1 > .col:first-child,
  .row-pc-sm-1 > .col:last-child {
    width: 100% !important;
  }

  .row-85.overwrap > .col:first-child {
    width: calc(var(--col-unit) * 7 + var(--gap-x) * 6);
    margin-right: 0;
  }
  .row-85.overwrap.image-reverse > .col:first-child {
    width: calc(var(--col-unit) * 7 + var(--gap-x) * 6);
    margin-left: 0;
  }
  .row-58.overwrap > .col:last-child {
    width: calc(var(--col-unit) * 7 + var(--gap-x) * 6);
    margin-left: 0;
  }
  .row-58.overwrap.image-reverse > .col:last-child {
    width: calc(var(--col-unit) * 7 + var(--gap-x) * 6);
    margin-right: 0;
  }
  .card.img-trans > .col:last-child.inner-image {
    transform: translateY(calc(-3rem + 4px));
  }

  /*--------------------------------------------------------------
  ## トップページ
  --------------------------------------------------------------*/

  /*--------------------------------------------------------------
  ## 募集要項
  --------------------------------------------------------------*/
  .btn.recruit {
    min-width: min(18rem, 100%);
  }

  /*--------------------------------------------------------------
  ## Q&A系ページ
  --------------------------------------------------------------*/
  .qa-wrapper .qa-menu #faq-toc {
    width: 18rem;
  }
  .qa-wrapper .qa-menu #faq-toc li a {
    font-size: var(--fz-sm);
    padding: 0.25rem 0;
  }
 
  /*--------------------------------------------------------------
  ## マッチング率診断
  --------------------------------------------------------------*/
  .matching .resource {
    padding: 0 7rem;
  }

  /*--------------------------------------------------------------
  ## エントリー・お申込み
  --------------------------------------------------------------*/
  .entry .entry-form-main.card {
    margin: 0 7rem;
  }

} /* max-width: 1560px */

/*--------------------------------------------------------------
# Break Point -2 ～1366px：pc-sm
--------------------------------------------------------------*/
@media screen and (max-width: 1366px) {
  /*--------------------------------------------------------------
  ## フッター
  --------------------------------------------------------------*/
  .footer-navi {
    padding: 8rem clamp(5rem, 10.76vw, 10.5rem ) 3rem;
  }
  .f-info-inner .footer-left {
    margin: 0 auto;
  }

  /*--------------------------------------------------------------
  ## トップページ
  --------------------------------------------------------------*/
  .home .aboutjobs-wrapper {
    background: url(./images/top/bg_aboutjobs_tb.jpg) no-repeat center / cover;
  }

  /*--------------------------------------------------------------
  ## 共通パーツ、レイアウト
  --------------------------------------------------------------*/
  .sec-page-intro {
    padding: 4rem 7rem;
  }

  .flowchart .flow-arrow {
    min-width: 10rem;
  }
  .flowchart .flow-arrow::after {
    border-left: 5rem solid transparent;
    border-right: 5rem solid transparent;
  }

  /*--------------------------------------------------------------
  ## 下層ページ
  --------------------------------------------------------------*/
  
  /*--------------------------------------------------------------
  ## 診療方針
  --------------------------------------------------------------*/
  /* 当院で働くということ */
  .policy .meaning-wrapper {
    background: url(./images/page/policy/bg_meaning_tb.jpg) no-repeat center / cover;
  }

  /*--------------------------------------------------------------
  ## 歯科衛生士の仕事
  --------------------------------------------------------------*/
  /* 1日の流れ */
  .works .schedule-wrapper .card {
    margin-right: 0;
  }

} /* max-width: 1366px */

/*--------------------------------------------------------------
# Break Point -2 ～1023px：tb
--------------------------------------------------------------*/
@media screen and (max-width: 1023px) {

  :root {
    --fz-base: clamp(15px, calc(0.154321vw + 14.421296px), 16px);
    --fz-base-l: clamp(15px, calc(0.154321vw + 14.421296px), 16px);
    --fz-xl: clamp(28px, 2.94vw, 32px);
    --fz-xl-s: clamp(30px, 2.74vw, 34px);
    --fz-xxl: clamp(32px, 3.52vw, 36px);
  }

  .sub-page-title {
    font-size: clamp(20px, calc(2.469136vw + 10.740741px), 36px);
  }

  .sp-menu li ul li a {
    font-size: 15px;
  }

  .sec-wrapper {
    padding: clamp(3rem, calc(12.345679vw + 1.703704px), 8rem) 0;
  }

  .sec-wrapper.sec-wrapper-sm {
    padding: 2rem 0;
  }

  .archive .recruit-dh-wrapper {
    padding-bottom: 4rem;
  }

  h2.mb-base {
    margin-bottom: clamp(1.5rem, calc(1.234568vw + 1.210648rem), 2rem) !important;
  }

  h2.mb-md {
    margin-bottom: var(--space-lg) !important;
  }

  .mb-md {
    margin-bottom: clamp(2rem, calc(2.469136vw + 1.421296rem), 3rem) !important;
  }

  .mb-xl {
    margin-bottom: 3rem !important;
  }

  .btn.recruit a {
    padding: clamp(1rem, calc(2.469136vw + 0.421296rem), 2rem);
    font-size: clamp(15px, calc(0.462963vw + 13.263889px), 18px);
    font-weight: 700;
  }

  .content-navi ul {
    row-gap: clamp(0.5rem, calc(1.234568vw + 3.37037px), 1rem);
    column-gap: clamp(0.5rem, calc(2.469136vw - 1.25926px), 1.5rem);
  }

  .c-navi-en {
    margin-bottom: clamp(1rem, calc(1.234568vw + 11.37037px), 1.5rem);
  }

  .content-navi a {
    padding: clamp(0.5rem, calc(1.234568vw + 3.37037px), 1rem) clamp(2.5rem, calc(1.851852vw + 33.055556px), 3.25rem) clamp(0.5rem, calc(1.234568vw + 3.37037px), 1rem) 1rem;
    border-width: clamp(1.5px, calc(0.07716vw + 1.210648px), 2px);
    border-radius: 0.5rem;/* clamp(0.5rem, calc(1.234568vw + 3.37037px), 1rem); */
    font-size: clamp(12px, calc(0.617284vw + 9.685185px), 16px);
  }

  .content-navi a::after {
    width: clamp(1rem, calc(0.617284vw + 13.685185px), 1.25rem);
    height: clamp(1rem, calc(0.617284vw + 13.685185px), 1.25rem);
    font-size: clamp(9px, calc(0.308642vw + 7.842592px), 11px);
  }

  /*--------------------------------------------------------------
  ## ヘッダー
  --------------------------------------------------------------*/
  .hd-sub-link {
    display: none;
  }

  .site-header {
    height: 56px;
  }

  .site-branding {
    width: 145px;
    margin: 6px 0 0 16px;
  }

  .hd-right {
    margin-right: 56px;
  }
  .gnavi__lists {
    transform: translateY(-4px);
  }
  .menu-trigger {
    width: 56px;
    height: 56px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .menu-trigger span {
    margin: 0;
    position: relative;
    top: -5px;
  }
  .drawer-hamburger-icon,
  .drawer-hamburger-icon:before,
  .drawer-hamburger-icon:after {
    width: 24px;
  }
  .drawer-hamburger-icon:before {
    top: -10px;
  }
  .drawer-hamburger-icon:after {
    top: 8px;
  }
  .menu-trigger span.hamburger-text {
    top: 34px;
    font-size: var(--fz-xs);
  }

  /*--------------------------------------------------------------
  ## フッター
  --------------------------------------------------------------*/
  .footer-schedule {
    overflow-x: auto;
  }
  .footer-schedule th,
  .footer-schedule td {
    min-width: 40px;
  }
  .footer-schedule tr th:first-of-type,
  .footer-schedule tr td:first-of-type {
    padding-left: 1rem;
    min-width: calc(114px + 1rem);
  }
  .footer-schedule tr th:last-of-type,
  .footer-schedule tr td:last-of-type  {
    min-width: calc(40px + 2.5rem);
  }

  /*--------------------------------------------------------------
  ## 共通パーツ、レイアウト
  --------------------------------------------------------------*/
  .row-tb-1 {
    justify-content: center;
    align-items: center;
  }
  .row-tb-1 > .col:not(.inner-image),
  .row-tb-1 > .col:not(.inner-image):first-child,
  .row-tb-1 > .col:not(.inner-image):last-child {
    width: 100% !important;
  }
  .row-tb-2 > .col,
  .row-tb-2 > .col:first-child,
  .row-tb-2 > .col:last-child {
    width: calc((100% - var(--gap-x)) / 2) !important;
  }
  .row-tb-3 > .col {
    width: calc((100% - var(--gap-x) * 2) / 3) !important;
  }
  .row-tb-4 > .col {
    width: calc((100% - var(--gap-x) * 3) / 4) !important;
  }
  .row-tb-1.image-reverse {
    flex-direction: column;
  }
  .row-75.row-tb-1 > .inner-image,
  .row-57.row-tb-1 > .inner-image,
  .row-85.row-tb-1 > .inner-image,
  .row-58.row-tb-1 > .inner-image,
  .row-84.row-tb-1 > .inner-image,
  .row-48.row-tb-1 > .inner-image,
  .row-tb-1 > .inner-image,
  .tb > .inner-image {
    width: min(500px, 100%);
    max-width: min(500px, 100%);
  }
  .tb > .inner-image {
    margin: 0 auto var(--gap-y);
  }

  .card.row.row-tb-1 > .inner-image {
    width: calc(100% - 4rem);
  }
  .card.row.row-tb-1 > .col:first-child {
    padding: 0 2rem;
  }
  .card.row.row-tb-1 > .col:last-child {
    padding-right: 0;
  }
  .card.row.row-tb-1.image-reverse > .col:last-child {
    padding-left: 0;
  }
  
  .card.row-tb-1.img-trans > .col.inner-text {
    padding: 2rem;
  }
  .card.row-tb-1.img-trans > .col:last-child.inner-image {
    transform: translateY(calc(-3rem + 4px));
    position: relative;
  }
  .card.row-tb-1.img-trans.image-reverse > .col:first-child.inner-text {
    padding: 2rem;
  }
  
  .row.row-tb-1.speech .inner-text::after,
  .row.row-tb-1.image-reverse.speech .inner-text::before {
    top: unset;
    right: unset;
    bottom: -4rem;
    left: 50%;
    transform: translateX(-50%);
    border-right: 1.5rem solid transparent;
    border-left: 1.5rem solid transparent;
    border-top: 3rem solid var(--bg-speech);
  }
  
  .sec-photo-box {
    --content-width: min(500px, 100vw);
  }
  
  .sec-page-intro {
    padding: 4rem 2rem;
  }

  .txt-link-card {
    max-width: 700px;
  }
  .flowchart .flow-arrow {
    min-width: 13rem;
  }
  .flowchart .flow-arrow::after {
    border-left: 6.5rem solid transparent;
    border-right: 6.5rem solid transparent;
  }

  .interview-list .link-card .link-ribbon {
    padding: 0 0.75rem 0.125rem 1.5rem;
    font-size: var(--fz-xs);
  }
  .interview-list .link-card .link-ribbon-lg {
    font-size: var(--fz-base);
  }

  .fix-btn.fix-graduates {
    display: none;
  }
  .b-fix-btn {
    display: none;
  }

  /*--------------------------------------------------------------
  ## 一覧ページ/おすすめページ　 リンクメニュー調整
  --------------------------------------------------------------*/
  .clinic .link-card .link-title:not(.multiple) {
    padding-top: 0.75em;
  }
  .about .link-card .link-title:not(.multiple),
  .important .link-card .link-title:not(.multiple),
  .numbers .link-card .link-title:not(.multiple),
  .access .link-card .link-title:not(.multiple) {
    padding-top: 0;
  }
  .clinic .link-card .link-title:not(.multiple)::after {
    transform: none;
  }
  .about .link-card .link-title:not(.multiple)::after,
  .important .link-card .link-title:not(.multiple)::after,
  .numbers .link-card .link-title:not(.multiple)::after,
  .access .link-card .link-title:not(.multiple)::after {
    transform: translateY(-50%);
  }

  /*--------------------------------------------------------------
  ## トップページ
  --------------------------------------------------------------*/
  .home .main-visual {
    background: url(./images/top/bg_mv_tb.jpg) no-repeat bottom / cover;
  }
  .home .mv-inner .mv-content {
    /* height: 65vw; */
    height: min(90vh, 150vw);
  }
  .home .mv-inner .main-copy {
    /* left: 1rem;
    bottom: 3rem;
    max-width: 30rem; */
    left: 0;
    bottom: 6rem;
    max-width: unset;
    padding: 2rem 3rem;
  }

  .home .aboutjobs-main {
    padding: 6rem 4rem;
    max-width: 65vw;
  }
  .home .aboutjobs-wrapper .txt-link-card {
    min-width: min(100%, max(416px, calc((100% - 2rem * 2) / 3)));
  }

  .home .beforeapplying-wrapper .txt-link-card {
    margin: 0 auto;
    width: 100%;
    min-width: 0;
  }

  /*--------------------------------------------------------------
  ## インタビュー詳細
  --------------------------------------------------------------*/
  .single-interview .interview_clinic .speech {
    --icon-width: 215px;
  }
  .single-interview .interview_from_dr .speech {
    --icon-width: 255px;
  }

  /*--------------------------------------------------------------
  ## Q&A系ページ
  --------------------------------------------------------------*/
  .qa-wrapper .qa-inner.row {
    --gap-x: 2rem;
    --gap-y: 0;
  } 
  .qa-wrapper .qa-menu #faq-toc {
    width: 16rem;
    padding: 2em;
  }

  /*--------------------------------------------------------------
  ## 下層ページ
  --------------------------------------------------------------*/

  /*--------------------------------------------------------------
  ## 長島歯科クリニックについて
  --------------------------------------------------------------*/
  .about .message-wrapper .speech {
    row-gap: 3rem;
  }
  
  /*--------------------------------------------------------------
  ## 院長プロフィール
  --------------------------------------------------------------*/
  .profile .interests-inner.row {
    align-items: center;
  }
  .profile .interests-inner .inner-image {
    width: min(100%, 300px);
  }
  .profile .history-main {
    padding: 0;
  }
  .profile .history-main.has-v-line::before {
    left: 0.5rem;
  }
  .profile .column-wrapper .speech {
    --icon-width: 185px;
  }

  /*--------------------------------------------------------------
  ### 診療方針
  --------------------------------------------------------------*/
  .policy .meaning-main {
    padding: 4rem var(--space-lg);
    max-width: min(80vw, 41.56rem);
  }

  /*--------------------------------------------------------------
  ### 仕事紹介
  --------------------------------------------------------------*/
  .works .aboutjobs-wrapper .row-tb-1 {
    row-gap: 2rem;
  }

  /*--------------------------------------------------------------
  ### 院内ギャラリー
  --------------------------------------------------------------*/
  .gallery .gallery-wrapper img.b-rd {
    border-radius: 16px;
  }
  .gallery .gallery-inner .speech {
    --icon-width: calc((100% - var(--gap-x)) / 2);
  }
   
  /*--------------------------------------------------------------
  ## マッチング率診断
  --------------------------------------------------------------*/
  .matching .resource {
    padding: 0 2rem;
  }

  /*--------------------------------------------------------------
  ## 医院見学のご案内
  --------------------------------------------------------------*/
  .visitor .visitor-intro .headline + p {
    padding: 0 2rem 0 0;
  }
  .visitor .qa-inner h3.row,
  .visitor .qa-inner .answer.row {
    flex-wrap: nowrap;
  }
   
  /*--------------------------------------------------------------
  ## 入職までの流れ
  --------------------------------------------------------------*/
  .flow .flow-main {
    padding: 0 2rem;
  }
  .flow .flow-inner .inner-image img.b-rd {
    border-radius: 16px;
  }
  .flow .flowinfo-main.card {
    margin: 0 2em;
  }

  /*--------------------------------------------------------------
  ## エントリー・お申込み
  --------------------------------------------------------------*/
  .entry .entry-form-main.card {
    margin: 0 2rem;
    padding-top: clamp(2rem, calc(25.1vw - 10.05rem), 6rem);
  }
  
} /* max-width: 1023px */

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .entry .contact-wrapper .contact-tel {
    transform: translateX(-1.25rem);
  }
}

/*--------------------------------------------------------------
# Break Point -3 ～768px：sp
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  :root {
    --fz-lg: clamp(20px, 3.125vw, 24px);
    --fz-xl: clamp(26px, 3.65vw, 28px);
    --fz-xl-s: clamp(28px, 3.91vw, 30px);
    --fz-xxl: clamp(30px, 4.16vw, 32px);
  }
  .sec-wrapper.sec-wrapper-md {
    padding: 4rem 0;
  }

  .sec-wrapper.sec-top-sm {
    padding-top: 2rem;
  }

  .sec-wrapper.sec-top-md {
    padding-top: 3rem;
  }

  .sec-wrapper.sec-wrapper-sm {
    padding: 1rem 0;
  }
  
  .sec-page-intro {
    padding: 3rem 0rem;
  }
  .sec-page-intro .sec-intro-text {
    text-align: left;
  }

  .archive .recruit-dh-wrapper {
    padding-bottom: 2rem;
  }

  .f-recruit-inner {
    border-radius: 16px;
    max-width: 85vw;
  }

  .f-recruit-inner .btn-area.recruit {
    gap: 1rem;
  }

  .footer-menu {
    margin-top: 0;
  }
  .footer-menu::before {
    display: none;
  }

  .mb-lg {
    margin-bottom: 2rem !important;
  }

  .mb-xl {
    margin-bottom: 2rem !important;
  }

  .mb-md-l {
    margin-bottom: 2rem !important;
  }

  .card.img-trans {
    margin-top: 0;
  }

  .row-tb-1 {
    justify-content: center;
    align-items: center;
    gap: 1rem;
  }

  .single.single-interview h3,
  .archive .interview-wrapper h3 {
    font-size: 18px;
  }

  .single-interview .interview_future .inner-text:first-child {
    padding-top: 2rem;
  }

  .t-link-title {
    font-size: 16px;
    padding-right: 0;
    line-height: 1.5;
  }
  .t-link-inner,
  .t-link-description {
    font-size: 13px;
    line-height: 1.5;
  }
  .t-link-inner {
    padding-bottom: 0.3rem;
  }
  .t-link-description {
    padding-bottom: 0;
  }
  .txt-link-card::after {
    width: 1.5rem;
    height: 1.5rem;
    font-size: 12px;
  }

  .archive .recruit-list {
    justify-content: flex-start;
    --gap-y: 1rem;
  }
  .archive .recruit-list .txt-link-cards {
    padding: 0.25rem 1rem;
    border-radius: 24px;
  }

  .slick-dots li,
  .slick-dots li button {
    width: 0.5rem !important;
    height: 0.5rem !important;
  }
  .slick-dots {
    margin: 0 auto 2rem !important;
  }
  .slick-dots li {
    margin: 0 0.2rem !important;
  }
  .slick-dots li button::before {
    width: 0.5rem !important;
    height: 0.5rem !important;
  }

  .row-sp-1 {
    justify-content: center;
    align-items: center;
  }
  .row-sp-1 > .col:not(.inner-image),
  .row-sp-1 > .col:not(.inner-image):first-child,
  .row-sp-1 > .col:not(.inner-image):last-child {
    width: 100% !important;
  }
  .row-sp-2 > .col,
  .row-sp-2 > .col:first-child,
  .row-sp-2 > .col:last-child {
    width: calc((100% - var(--gap-x)) / 2) !important;
  }
  .row-sp-3 > .col {
    width: calc((100% - var(--gap-x) * 2) / 3) !important;
  }
  .row-sp-4 > .col {
    width: calc((100% - var(--gap-x) * 3) / 4) !important;
  }
  .row-sp-1.image-reverse {
    flex-direction: column;
  }
  .row-75.row-sp-1 > .inner-image,
  .row-57.row-sp-1 > .inner-image,
  .row-85.row-sp-1 > .inner-image,
  .row-58.row-sp-1 > .inner-image,
  .row-84.row-sp-1 > .inner-image,
  .row-48.row-sp-1 > .inner-image,
  .row-sp-1 > .inner-image {
    max-width: min(500px, 100%);
  }

  .card.row.row-sp-1 > .inner-image {
    width: calc(100% - 4rem);
  }
  .card.row.row-sp-1 > .col:first-child {
    padding: 0 2rem;
  }
  .card.row.row-sp-1 > .col:last-child {
    padding-right: 0;
  }
  .card.row.row-sp-1.image-reverse > .col:last-child {
    padding-left: 0;
  }
  
  .card.row-sp-1.img-trans > .col.inner-text {
    padding: 2rem;
  }
  .card.row-sp-1.img-trans > .col:last-child.inner-image {
    transform: translateY(calc(-2rem + 4px));
    position: relative;
  }
  
  .row.row-sp-1.speech .inner-text::after,
  .row.row-sp-1.image-reverse.speech .inner-text::before {
    top: unset;
    right: unset;
    bottom: -3.5rem;
    left: 50%;
    transform: translateX(-50%);
    border-right: 1.5rem solid transparent;
    border-left: 1.5rem solid transparent;
    border-top: 3rem solid var(--bg-speech);
  }


  .flowchart.row {
    gap: 1rem;
  }
  .flowchart .flow-arrow {
    padding: 1rem 0.5rem;
    min-width: 6rem;
  }
  .flowchart .flow-arrow::after {
    border-left: 3rem solid transparent;
    border-right: 3rem solid transparent;
  }

  .main-wrapper {
    width: 90%;
  }

  .breadcrumb-list {
    padding: 15px 0 30px;
  }
  
  .fix-btn.fix-graduates {
    display: none;
  }
  .b-fix-btn {
    display: flex;
  }
  
  .pagetop-wrapper {
    bottom: 90px;
  }

  .copyright {
    margin-bottom: 42px;
  }

  .txt-link-cards {
    /* padding: 0.75rem 1.5rem; */
  }
  .txt-link-card {
    min-width: unset;
  }

  .link-card .link-title {
    font-size: var(--fz-md);
  }
  .link-card .link-description {
    font-size: var(--fz-base);
  }

  /* 募集要項詳細・アクセス　テーブル */  
  .recruit-table th,
  .recruit-table td,
  .access-table th,
  .access-table td {
    display: block;
    width: 100% !important;
  }
  .single-recruit .recruit-table th {
    padding: 0.75rem 1.5rem;
    border-bottom: none;
  }
  .single #supplement-recruit .recruit-table h4 {
    margin-bottom: 0.5rem;
    font-size: var(--fz-base);
  }
  .access-table th {
    padding: 0.5rem 1.5rem;
  }

  /*--------------------------------------------------------------
  ## ヘッダー
  --------------------------------------------------------------*/
  .gnavi__list .btn a {
    display: none;
  }

  /*--------------------------------------------------------------
  ## フッター
  --------------------------------------------------------------*/
  .f-info-inner.row {
    gap: 2rem;
  }
  .footer-schedule th,
  .footer-schedule td {
    width: 50px;
    min-width: 50px;
  }
  .footer-schedule tr th:first-of-type,
  .footer-schedule tr td:first-of-type {
    padding-left: 2rem;
    width: calc(114px + 2rem);
    min-width: calc(114px + 2rem);
  }
  .footer-schedule tr th:last-of-type,
  .footer-schedule tr td:last-of-type  {
    padding-right: 2rem;
    width: calc(50px + 2rem);
    min-width: calc(50px + 2rem);
  }

  /*--------------------------------------------------------------
  ## 一覧ページ/おすすめページ　リンクメニュー調整
  --------------------------------------------------------------*/
  .page-sibling-list .link-cards {
    padding: 0;
    gap: 1rem;
  }
  .page-sibling-list .main-wrapper {
    width: 98%;
  }
  
  .page-sibling-list .link-card > a {
    flex-direction: row;
  }
  .page-sibling-list .link-card .link-image {
    display: flex;
    width: 40%;
    border-radius: 8px 0 0 8px;
  }
  .page-sibling-list .link-card .link-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .page-sibling-list .link-card .link-text {
    display: flex;
    flex: 1;
    align-items: center;
    padding: 1.5rem 1rem 1.5rem 1.25rem;
    height: auto;
  }
  .page-sibling-list .link-card .link-title {
    padding-right: 2rem;
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
  }
  .page-sibling-list .link-card .link-title br {
    display: none;
  }

  .breadcrumb-list {
    font-size: 12px;
    line-height: 1.5;
  }
  .clinic .link-card .link-title:not(.multiple) {
    padding: 0 1.5rem 0 0;
  }
  .clinic .link-card .link-title:not(.multiple)::after {
    transform: translateY(-50%);
  }

  /*--------------------------------------------------------------
  ## トップページ
  --------------------------------------------------------------*/
  .home .mv-inner .main-copy .sholder {
    font-size: var(--fz-lg);
  }
  .home .mv-inner .main-copy .catch {
    font-size: var(--fz-xl);
  }
  
  .home .aboutjobs-wrapper {
    background: white;
  }
  .home .aboutjobs-main {
    position: relative;
    margin: -6rem 0;
    padding: 10rem 5vw;
    max-width: 100%;
    background: rgba(255, 255, 255, 0.85);
    z-index: 1;
  }

  .home .voice-wrapper {
    padding-bottom: 4rem;
  }
  .home .voice-wrapper .voice-main {
    max-width: 90%;
  }
  .home .voice-wrapper .voice-image {
    margin-top: 3rem;
  }
  .home .voice-wrapper .voice-image img.sp {
    position: relative;
    width: 100%;
  }

  /*--------------------------------------------------------------
  ## インタビュー詳細
  --------------------------------------------------------------*/
  .single-interview .interview_basicinfo.card {
    padding: 1.25rem;
  }
  .single-interview .interview_info .name {
    gap: 4px 1rem;
    margin-bottom: 0.75rem;
    font-size: 18px;
    line-height: 1.5;
  }
  .single-interview .interview_info .name .label {
    padding: 0.1rem 1.25rem;
    font-size: 12px;
  }
  .single-interview .interview_info .catch {
    margin-bottom: 0.75rem;
    font-size: 20px;
    line-height: 1.45;
  }
  
  /* 院長から見た○○さんの姿 */
  .single-interview .interview_from_dr h2 {
    flex-direction: column;
  }

  /* インタビューナビゲーション */
  .single-interview .interview-navigation .txt-link-cards.hidden {
    display: none;
  }
  .single-interview .interview-navigation .txt-link-cards {
    margin: 0 auto;
  }
  .single-interview .interview-navigation-inner.row {
    justify-content: center;
  }
  .single-interview .interview-back {
    max-width: unset;
  }
  /*--------------------------------------------------------------
  ## 募集要項詳細
  --------------------------------------------------------------*/
  .single-recruit .recruit-table .txt-link-card {
    margin: 1rem 0;
    width: 100%;
  }

  /*--------------------------------------------------------------
  ## Q&A系ページ
  --------------------------------------------------------------*/
	.qa-wrapper .qa-menu.qa-select {
		position: sticky;
    top: 120px;
    margin: 0 auto;
		z-index: 2;
  }

  .qa-wrapper .qa-main.col {
    flex: auto;
  }

  /*--------------------------------------------------------------
  ## 下層ページ
  --------------------------------------------------------------*/
  
  /* 下層ページ 子ページリスト */

  /*--------------------------------------------------------------
  ## 長島歯科クリニックについて
  --------------------------------------------------------------*/
  .about .philosophy-wrapper .philosophy-image.inner-image,
  .about .policy-wrapper .policy-image.inner-image,
  .about .futures-wrapper .futures-inner .inner-image {
    width: min(700px, 90vw);
  }

  .about .policy-intro p {
    text-align: left;
  }
  .about .policy-intro p br {
    display: none;
  }

  .about .style-inner {
    margin-bottom: 1rem !important;
  }
  .about .style-inner span {
    min-width: calc((100% - (30% + 1rem)) / 2);
  }
  .about .style-inner img {
    min-width: 30%;
  }

  /*--------------------------------------------------------------
  ## 院長プロフィール
  --------------------------------------------------------------*/
  .profile .prof-table dt {
    padding: 1px 1rem;
    min-width: 9rem;
  }
  .profile .history-inner::before {
    left: 1.325rem;
  }
  .profile .history-inner h4 {
    padding-left: 2.225rem;
    text-indent: -2.225rem;
  }
  .profile .history-inner h4::before {
    width: 1.75rem;
  }
  .profile .history-inner .inner-text {
    margin-left: 3rem;
}
  .profile .career-wrapper > div {
    padding: 0;
  }
  .profile .prof-table.prof-table-career dt {
    padding: 1px 1rem;
    width: 7rem;
    min-width: unset;
  }
  .profile .prof-table.prof-table-career dd {
    width: calc(100% - 8em);
  }
  .profile .special-main img {
    max-width: 100%;
  }

  /*--------------------------------------------------------------
  ## 院長に聞く99の質問
  --------------------------------------------------------------*/
  .qa99 .entry-header {
    background-size: auto 140%;
    background-position: center top;
  }
  .qa99 .qa-wrapper h2,
  .qa99 .qa-wrapper .qa-item h4 {
    font-size: 16px;
  }
  .qa99 .qa-wrapper .qa-item p {
    font-size: 14px;
    margin-bottom: 1.5rem;
  }
  
  /*--------------------------------------------------------------
  ## 診療方針
  --------------------------------------------------------------*/
  .policy .meaning-wrapper {
    background: white;
  }
  .policy .meaning-main {
    position: relative;
    margin: -6rem 0;
    padding: 10rem 5vw;
    max-width: 100%;
    background: rgba(255, 255, 255, 0.85);
    z-index: 1;
  }
  
  /*--------------------------------------------------------------
  ## 仕事紹介
  --------------------------------------------------------------*/
  .works .sec-works-intro-wrapper .about-details .card::after {
    display: none;
  }
  
  /*--------------------------------------------------------------
  ## スタッフの推しポイント
  --------------------------------------------------------------*/
  .recommendations .recommendationsmes-main.card {
    padding: var(--space-lg);
  }
  .recommendations .recommendationsmes-main .link-area {
    max-width: unset;
  }

  /*--------------------------------------------------------------
  ### 院内ギャラリー
  --------------------------------------------------------------*/
  .gallery .gallery-inner .speech {
    --icon-width: 100%;
  }

  /*--------------------------------------------------------------
  ### 院内制度 総まとめ
  --------------------------------------------------------------*/
  .faq .qa-wrapper h2,
  .faq .qa-wrapper .qa-item h4 {
    font-size: 16px;
  }
  .faq .qa-wrapper .qa-item p {
    font-size: 14px;
    margin-bottom: 1.5rem;
  }
  
  /*--------------------------------------------------------------
  ## マッチング率診断
  --------------------------------------------------------------*/
  .matching .matching-form .q_wrap {
    gap: 0.5rem;
  }
  .matching .matching-form .q_wrap > div label {
    padding: 0.75rem 1rem;
    font-size: 14px;
  }
  .matching .matching-form button {
    padding: 0.75rem 3rem;
    font-size: 16px;
  }
  .matching .resource {
    padding: 0;
  }
  
  .matching .result-main .card-hl-over .sub-headline {
    margin-top: calc(-1 * var(--space-lg) - 0.8 * var(--fz-base));
    font-size: var(--fz-base);
  }
  .matching .result-main .sub-headline .match-count {
    display: block;
  }
  .matching .result-main .txt-link-card {
    width: 100%;
  }

  /*--------------------------------------------------------------
  ## 医院見学のご案内
  --------------------------------------------------------------*/
  .visitor .visitor-intro .headline + p {
    padding: 0;
  }
  .visitor .qa-inner {
    padding: 1.5rem 0;
  }
  .visitor .qa-inner h3.row {
    font-size: 16px;
  }
  .visitor .flowchart .flow-arrow {
    min-width: 3.5rem;
  }
  .visitor .flowchart .flow-arrow::after {
    border-left: 1.75rem solid transparent;
    border-right: 1.75rem solid transparent;
  }
  .visitor .visitor-main .btn a {
    padding: 0.75rem 0.5rem;
  }
  .visitor .visitor-main .btn .btn-inner {
    padding: 0 2rem 0 0;
  }
  .visitor .visitor-main .btn .btn-title {
    font-size: 14px;
    white-space: nowrap;
  }
  .visitor .visitor-main .btn .btn-inner::after {
    width: 1.5rem;
    height: 1.5rem;
  }
  .visitor .visitor-inner .inner-text.has-dotted-line::before {
    left: -3rem;
  }
  
  /*--------------------------------------------------------------
  ## 入職までの流れ
  --------------------------------------------------------------*/
  .flow .flow-main {
    padding: 0;
  }
  .flow .flowinfo-main.card {
    margin: 0;
    padding: var(--space-lg);
  }
  .flow .flowinfo-main .link-area {
    max-width: unset;
  }

  /*--------------------------------------------------------------
  ## エントリー・お申込み
  --------------------------------------------------------------*/
  .entry .contact-wrapper .contact-tel a {
    font-size: clamp(36px, 5.21vw, 40px);
  }
  .entry .contact-wrapper > .main-wrapper > p.mb-base {
    margin-bottom: 1rem !important;
  }
  .entry .contact-wrapper .contact-tel {
    margin-bottom: 2rem;
  }
  .entry .entry-form-main.card {
    margin: 0;
  }

  /*--------------------------------------------------------------
  ## 固定ページ
  --------------------------------------------------------------*/
  .around-link-wrap .left {
    margin-bottom: 1rem;
  }
	
  .around-link-wrap .main-btn,
  .around-link-wrap .btn a {
    width: 100%;
  }
	
} /* max-width: 768px */

/*--------------------------------------------------------------
# Break Point -4 ～480px：sp-sm
--------------------------------------------------------------*/
@media screen and (max-width: 480px) {
  /*--------------------------------------------------------------
  ## トップページ
  --------------------------------------------------------------*/
  .home .mv-inner .main-copy {
    padding: var(--space-md);
    width: 100%;
    left: 0;
    background: rgba(255, 255, 255, 0.875);
  }
  .home .aboutjobs-main {
    margin: -3rem 0;
    padding: 6rem 5vw;
  }
  .home .voice-wrapper .bubble-wrap:last-of-type {
    text-align: initial;
  }
  
  /*--------------------------------------------------------------
  ## 診療方針
  --------------------------------------------------------------*/
  .policy .meaning-main {
    margin: -3rem 0;
    padding: 6rem 5vw;
  }

} /* max-width: 768px */

/*--------------------------------------------------------------
  # 切り替え
--------------------------------------------------------------*/
.sp-sm {
  display: none;
}
.sp {
  display: none;
}
.tb {
  display: none;
}
.pc-sm {
  display: none;
}
.pc {
  display: block;
}

/* 改行調整用 */
.disp-pc {
  display: block;
}
.disp-tb {
  display: none;
}
.disp-sp {
  display: none;
}
.disp-sp-sm {
  display: none;
}
.hide-pc {
  display: none;
}
.hide-tb {
  display: block;
}
.hide-sp {
  display: block;
}
.hide-sp-sm {
  display: block;
}

@media screen and (max-width: 1366px) {
  .sp-sm {
    display: none;
  }
  .sp {
    display: none;
  }
  .tb {
    display: none;
  }
  .pc {
    display: none;
  }
  .pc-sm {
    display: block;
  }
}

@media screen and (max-width: 1023px) {
  .sp-sm {
    display: none;
  }
  .sp {
    display: none;
  }
  .pc-sm {
    display: none;
  }
  .pc {
    display: none;
  }
  .tb {
    display: block;
  }

  /* 改行調整用 */
  .disp-pc {
    display: none;
  }
  .disp-tb {
    display: block;
  }
  .hide-tb {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .tb {
    display: none;
  }
  .pc-sm {
    display: none;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .sp-sm {
    display: block;
  }

  /* 改行調整用 */
  .disp-tb {
    display: none;
  }
  .disp-sp {
    display: block;
  }
  .hide-sp {
    display: none;
  }
}

@media screen and (max-width: 480px) {
  /* 改行調整用 */
  .disp-sp {
    display: none;
  }
  .disp-sp-sm {
    display: block;
  }
  .hide-sp-sm {
    display: none;
  }
}

@media screen and (max-width: 480px) {
  .home .clinic-wrapper .clinic-intro > p:not(.s-headline-en) {
    text-align: left;
  }
  .home .clinic-wrapper .clinic-intro > p:not(.s-headline-en) br {
    display: none;
  }
}

.comment {
  /*編集用コメントの非表示*/
  display: none;
}

/* 20220510 フォーム非表示 */
/* .wpcf7-form init {
  visibility: hidden;
}

.wpcf7 {
  visibility: hidden;
} */
