@charset "UTF-8";
/*
■書体等

◯大見出し：英語（ファンシー）
.darumadrop-one-regular {
  font-family: "Darumadrop One", sans-serif;
  font-weight: 400;
  font-style: normal;
}

◯本文
.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}
◯リード
.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}
◯本文・強調
.zen-kaku-gothic-new-black {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
}

◯リード・ボタン・項目（丸ゴ）
.zen-maru-gothic-medium {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}
◯見出し（丸ゴ）
.zen-maru-gothic-bold {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}
◯見出し（丸ゴ）
.zen-maru-gothic-black {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-style: normal;
}

◯コード表示用（等幅フォント）（/site-elements/）
※「## エレメント」でのみ読み込み
.roboto-mono-<uniquifier> {
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  font-style: normal;
}
*/


/* ■色名等（#16進数カラーコード） */
:root {
  --color-base: #302924;
  /* var(--color-base) */
  --color-green: #415758;
  /* var(--color-green) */
  --color-orange: #EB7A48;
  /* var(--color-orange) */
  /*--color-aquablue: #92C5C9;*/
  /* var(----color-aquablue) */
  --color-turquoise: #70B9BF;
  /* var(--color-turquoise) */
  --color-cream: #EDE1CA;
  /* var(--color-cream) */
  --color-lightgray: #F4F2EC;
  /* var(--color-lightgray) */

  --color-black: #000000;
  /* var(--color-black) */
  --color-white: #FFFFFF;
  /* var(--color-white) */
  --color-red: #EE3030;
  /* var(--color-red) */

  --color-marker: #F9F988;
  /* var(--color-marker) */

  --color-gray: #707070;
  /* var(--color-gray) */
}

/* ■角丸（標準・大） */
:root {
  --round-basic: 2.0em;
  /* border-radius: var(--round-basic); */
  --round-large: 4.0em;
  /* border-radius: var(--round-large); */
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  :root {
    --round-basic: 1.0em;
    --round-large: 2.0em;
  }
}


* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 567px) {}

body * {
  word-wrap: break-word;
  overflow-wrap: break-word;
}


section {}
article {}


/* ブラウザごとに読み込むCSSを変更 */
/* Chrome */
@media screen and (-webkit-min-device-pixel-ratio:0) {}
/* FireFox */
@-moz-document url-prefix() {}
/* Safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {}
/* EdgeHTML */
@supports (-ms-ime-align: auto) {}
/* EdgeChromium */ /* ※「body」の部分は各セレクタ名 */
_:lang(x)::-ms-, body {}


h1, h2, h3, h4, h5, h6 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  /* font-feature-settings: "palt"; */
  /* ※Zen Maru Gothic は自動カーニング非対応 */
}


/* 本文 */
p {
  margin: 1.5em 0;
  text-align: justify;
}

a {
  text-decoration: underline 1px solid;
  text-decoration-thickness: 1px;
  cursor: pointer;
}
a:hover {
  text-decoration: none;
}

/* タッチスクリーン（タブレット・スマートフォン）でリンクタップ時の反転を軽減 */
@media screen and (max-width: 767px) {
  /* タップハイライトを消す（Android Chrome / iOS 等） */
  /* -webkit-tap-highlight-color: Chrome / Android / iOS */
  /* tap-highlight-color: 仕様に合わせて念のため */
  a, a img {
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
  }
  /* 選択や長押しでのメニュー表示を抑止 */
  /* -webkit-user-select: テキスト選択を無効化 */
  /* -webkit-touch-callout: iOSでの長押しメニューを抑止 */
  a, a img {
    /*
    -webkit-user-select: none;
    user-select: none;
    */
    -webkit-touch-callout: none;
  }
  /* 元の画像が一瞬リフレッシュされるようなちらつきを抑える（レンダリング改善） */
  /* -webkit-transform: レイヤー分離してちらつきを軽減 */
  /* -webkit-user-drag: 画像のドラッグを防止（必要に応じて） */
  a img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-user-drag: none;
    user-drag: none;
  }
  /* クリック感の改善 */
  /* ブラウザの二重タップ拡大などを抑制 */
  a {
    touch-action: manipulation;
  }
}


/* PCでの tel: 無効 */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

img {
  width: 100%;
}

.pure-g,
.pure-g > div {
  font-family: inherit!important;
  font-weight: inherit!important;
  font-style: inherit!important;
}


/* テキスト選択時のテキスト色・背景色 */
/* Firefox以外 */
::selection {
  color: var(--color-white);
  background-color: #AAAAAA;
}
/* Firefox */
::-moz-selection {
  color: var(--color-white);
  background-color: #AAAAAA;
}


/* ログイン時の［編集］ボタン */
.edit {
  display: inline-block;
  width: 100%;
  text-align: right;
}
.edit * {
  background: none!important;
  font-size: 0.9em!important;
  padding: 0 0 1.0em!important;
  margin: 0!important;
  display: inline-block!important;
  width: fit-content!important;
}
.edit a::after {
  display: none!important;
}


/* margin調整：最初と最後の要素のmarginを0（.snow-monkey-form の下層は体裁崩れ防止のため除外） */
* > *:not(:is(.snow-monkey-form *)):first-child {
  margin-top: 0!important;
}
* > *:not(:is(.snow-monkey-form *)):last-child {
  margin-bottom: 0!important;
}




/* ##############################################
##
##  パンくずリスト（breadcrumb.php）
##
############################################## */
.breadcrumb {
  display: block;
  position: relative;
  width: 100%;
  padding: 0.5em 2.0em;
  margin: 0;
  background: var(--color-cream);
}
.bcn_wave {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  padding-top: 25px;
  margin: 0;
  background-image: url('../images/bg_wave_cream_bcn.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_wave_cream_bcn.png');*/
  background-repeat: repeat-x;
  background-position: center top;
}
.breadcrumb > div {
  display: block;
  position: relative;
  font-weight: 500;
  font-size: 0.8em;
  text-align: left;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
.breadcrumb .bcn_sect {
  display: inline-block;
  position: relative;
}
.breadcrumb .bcn_sect::after {
  display: inline-block;
  position: relative;
  content: '';
  color: var(--color-base);
  border: none;
  border-left: 1px solid;
  width: 1px;
  height: 1.0em;
  transform: rotate(15deg) translate(0, 0.15em);
  margin: 0 1.0em;
}
.breadcrumb a {
  color: var(--color-base);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .breadcrumb {
    padding: 0.5em 1.0em;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  トップページ（sitetop.php、footer.php）
##
############################################## */
/* トップページ｜共通｜.entry-content, .container */
.entry-content,
.container {
  position: relative;
  display: block;
  width: 100%;
}
.entry-content {
  margin: 0;
}
.container {
  margin: 0 auto;
}


/* トップページ｜共通｜見出し（H2） */
.idx_top_head {
  position: relative;
  display: block;
  width: 100%;
  line-height: 1.0;
}
.idx_top_head :is(.top_head_jp, .top_head_en) {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}
.idx_top_head .top_head_jp {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-size: 1.3em;
  z-index: 11;
}
.idx_top_head .top_head_en {
  font-family: "Darumadrop One", sans-serif;
  font-weight: 400;
  font-size: 3.5em;
  letter-spacing: 0.07em;
  padding-left: 0.07em;
  z-index: 10;
}
/* トップページ｜共通｜見出し（H2）｜個別 */
.idx_top_head.mission {
  color: var(--color-orange);
}
.idx_top_head.strengths {
  color: var(--color-turquoise);
}
.idx_top_head.products {
  color: var(--color-green);
}
.idx_top_head.onlineshop {
  color: var(--color-orange);
}
.idx_top_head.onlineshop :is(.top_head_jp, .top_head_en) {
  margin: 0;
}
.idx_top_head.onlineshop .top_head_en {
  padding-left: 0;
}
.idx_top_head.news {
  color: var(--color-green);
}
.idx_top_head.news :is(.top_head_jp, .top_head_en) {
  display: inline-block;
  margin: 0;
}
.idx_top_head.news .top_head_en {
  padding-left: 0;
  margin-right: 0.25em;
}
.idx_top_head.news .top_head_en {
  color: var(--color-turquoise);
}
.idx_top_head.recruit {
  color: var(--color-orange);
}
.idx_top_head.recruit :is(.top_head_jp, .top_head_en) {
  margin: 0;
}
.idx_top_head.recruit .top_head_en {
  padding-left: 0;
}
.idx_top_head.contact {
  color: var(--color-white);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .idx_top_head {
    line-height: 1.1;
  }
  .idx_top_head .top_head_jp {
    font-size: 1.2em;
  }
  .idx_top_head .top_head_en {
    font-size: 2.7em;
  }
}
@media screen and (max-width: 567px) {
  .idx_top_head {
    line-height: 1.2;
  }
  .idx_top_head .top_head_jp {
    font-size: 1.1em;
  }
  .idx_top_head .top_head_en {
    font-size: 2.2em;
  }
}


/* トップページ｜ボタン（共通） */
.top-btn {
  text-align: center;
  width: 100%;
}
.top-btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.0em 1.0em;
  border-radius: 2.0em;
  line-height: 1.5;
  text-decoration: none;
  transition: 0.15s;
}
.top-btn.center a {
  margin: 0 auto;
}
.top-btn a:hover {
  transition: 0.15s;
}
.top-btn a span {
  flex-grow: 0;
  position: relative;
  display: inline-block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.0em;
  color: var(--color-white);
  width: 100%;
  max-width: max-content;
}
.top-btn a span::after {
  flex-grow: 0;
  position: relative;
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
  margin-left: 0.5em;
  content: '';
  transition: 0.3s;
}
.top-btn a:hover span {
  color: var(--color-base);
}
.top-btn a:hover span::after {
  margin-left: 1.0em;
  transition: 0.3s;
}
/* トップページ｜ボタン（緑・小） */
.top-btn.green a {
  background: var(--color-green);
  max-width: 400px;
}
.top-btn.green a:hover {
  background: var(--color-cream);
}
/* トップページ｜ボタン（オレンジ・小） */
.top-btn.orange a {
  background: var(--color-orange);
  max-width: 400px;
}
.top-btn.orange a:hover {
  background: var(--color-cream);
}
/* トップページ｜ボタン（私たちの使命） */
.top-btn.mission a {
  padding: 1.5em 1.0em;
  border-radius: 2.5em;
}
.top-btn.mission.left a {
  background: var(--color-turquoise);
}
.top-btn.mission.left a:hover {
  background: var(--color-white);
}
.top-btn.mission.right a {
  background: var(--color-orange);
}
.top-btn.mission.right a:hover {
  background: var(--color-white);
}

/* 投稿｜ボタン（ターコイズ・小） */
/* （sg_default.php） */
.top-btn.turquoise a {
  background: var(--color-turquoise);
  max-width: 400px;
}
.top-btn.turquoise a:hover {
  background: var(--color-cream);
}

/* ##############################################
##  トップページ｜個別体裁
############################################## */
/* トップページ｜ファーストビュー｜PC */
.top_first-view_pc {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 85vh;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.top_first-view_pc .view_main {
  position: relative;
  display: flex;
  width: 100%;
  padding: 2.0em 2.0em 2.0em;
}
.top_first-view_pc .view_main .main_wrap {
  position: relative;
  display: flex;
  gap: 3.0em;
  width: 100%;
}
.top_first-view_pc .view_main .main_wrap .main_title {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40%;
  padding: 0;
  padding-bottom: 50px;
}
.top_first-view_pc .view_main .main_wrap .main_title img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 420px;
}
.top_first-view_pc .view_main .main_wrap .main_slide {
  position: relative;
  display: flex;
  width: 60%;
  margin: 0 auto;
  overflow: hidden;
  border-radius: var(--round-large);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* トップページ｜ファーストビュー｜タブレット・SP */
.top_first-view_sp {
  position: relative;
  display: flex;
  flex-direction: column;
  gap:0;
  width: 100%;
  min-height: 100vh;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

.top_first-view_sp .main_view_sp {
  position: relative;
  display: flex;
  width: 100%;
  padding: 2.0em 2.0em 2.0em;
}
.top_first-view_sp .main_view_sp .main_title_sp {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  padding: 0;
}
.top_first-view_sp .main_view_sp .main_title_sp img {
  position: relative;
  display: block;
  width: 50%;
  max-width: 250px;
}
.top_first-view_sp .slide_view_sp {
  position: relative;
  display: block;
  padding: 0 2.0em 1.0em;
  background-color: var(--color-cream);
}
.top_first-view_sp .slide_view_sp .main_slide {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  padding-top: calc(100% * 2 / 3);
  overflow: hidden;
  border-radius: var(--round-large);
}

/* トップページ｜ファーストビュー｜PC・SP｜船アニメーション */
:is(.top_first-view_pc, .top_first-view_sp) .ship-anime {
  display: block;
  position: absolute;
}
.top_first-view_pc .ship-anime {
  left: 4.0em;
  bottom: 35px;
}
.top_first-view_sp .ship-anime {
  left: 2.0em;
  bottom: 35px;
}
.ship-anime img {
  display: block;
  position: relative;
  width: 100px;
  max-width: 100%;
  animation: floatWave 20s infinite;
  animation-timing-function: ease-in-out;
  transform-origin: center bottom; /* 回転の基準を船底に */
  -webkit-user-select: none;
  user-select: none;
}
@keyframes floatWave {
  0% { transform: translate(0, 0) rotate(0deg); }
  10% { transform: translate(-2px, -4px) rotate(-1deg); }
  25% { transform: translate(3px, -12px) rotate(2deg); }
  40% { transform: translate(-1px, -8px) rotate(-1deg); }
  50% { transform: translate(0, -20px) rotate(0deg); }
  60% { transform: translate(2px, -16px) rotate(1deg); }
  75% { transform: translate(-2px, -10px) rotate(-1deg); }
  90% { transform: translate(1px, -6px) rotate(1deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}

/* トップページ｜ファーストビュー｜メインスライド */ /* assets/slide-fade 移動済み */
/* トップページ｜ファーストビュー｜波アニメーション */ /* assets/wave-anime 移動済み */

/* トップページ｜私たちの使命 */
.top_mission {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
}

.top_mission .entry-content {
  padding: 4.0em 4.0em 1.0em;
  background-color: var(--color-cream);
  min-height: 60vh;
  overflow-x: hidden;
}
.top_mission .entry-content .container {
  max-width: 1200px;
  z-index: 5;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .top_mission .entry-content {
    padding: 4.0em 2.0em 1.0em;
  }
}

.top_mission .entry-content :is(.title_fish_left, .title_fish_right) {
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  max-width: 435px;
}
.top_mission .entry-content .title_fish_left {
  left: 1.0em;
}
.top_mission .entry-content .title_fish_right {
  right: 1.0em;
}
.top_mission .entry-content :is(.title_fish_left, .title_fish_right) img {
  position: relative;
  display: block;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {
  .top_mission .entry-content :is(.title_fish_left, .title_fish_right) {
    max-width: 350px;
  }
}
@media screen and (max-width: 767px) {
  .top_mission .entry-content :is(.title_fish_left, .title_fish_right) {
    max-width: calc(50% - 2.0em);
  }
}
@media screen and (max-width: 567px) {}

.top_mission .entry-content .container .txt-main {
  text-align: center;
}
.top_mission .entry-content .container .txt-main span {
  position: relative;
  display: inline-block;
}

.top_mission .entry-content .container .mission_wrap {
  position: relative;
  display: flex;
  gap: 2.0em;
  width: 100%;
  max-width: 700px;
  margin: 3.0em auto 0;
}
.top_mission .entry-content .container .mission_wrap .wrap_body {
  position: relative;
  display: flex;
  flex-grow: 1;
  width: 100%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_mission .entry-content .container .mission_wrap {
    flex-direction: column;
  }
}
@media screen and (max-width: 567px) {}

.top_mission .entry-content .char_wrap {
  display: block;
  position: absolute;
  left: calc(50% + 300px);
  bottom: 5.0em;
  width: max-content;
  max-width: 100%;
  z-index: 10;
}
.top_mission .entry-content .char_wrap .deco_char {
  position: relative;
  display: block;
  width: 100%;
  max-width: 245px;
}
.top_mission .entry-content .char_wrap .deco_char img {
  position: relative;
  display: block;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_mission .entry-content .char_wrap {
    position: relative;
    left: initial;
    bottom: initial;
    margin: 1.0em auto 0;
  }
}
@media screen and (max-width: 567px) {}

.top_mission .entry-content .deco_wrap {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 0 1.0em;
  z-index: 1;
}
.top_mission .entry-content .deco_wrap .deco_fish {
  position: relative;
  display: flex;
  gap: 4.0em;
  justify-content: space-between;
  align-items: flex-end;
}
.top_mission .entry-content .deco_wrap .deco_fish :is(.deco_fish_left, .deco_fish_right) {
  position: relative;
  display: block;
  width: 100%;
  max-width: 235px;
}
.top_mission .entry-content .deco_wrap .deco_fish .deco_fish_left {}
.top_mission .entry-content .deco_wrap .deco_fish .deco_fish_right {}
.top_mission .entry-content .deco_wrap .deco_fish :is(.deco_fish_left, .deco_fish_right) img {
  position: relative;
  display: block;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_mission .entry-content .deco_wrap {
    position: relative;
    left: initial;
    bottom: initial;
    margin: 0;
    margin-top: 1.0em;
  }
  .top_mission .entry-content .deco_wrap .deco_fish {
    gap: 2.0em;
  }
}
@media screen and (max-width: 567px) {}


/* トップページ｜私たちの強み */
.top_strengths {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  overflow: hidden;
}
.top_strengths .top_strengths_deco {
  position: relative;
  display: flex;
  gap: 4.0em;
  justify-content: space-between;
  align-items: flex-end;
  min-height: calc(100vw * 102 / 1368);
  background-image: url('../images/top_strengths_seabed.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_strengths_seabed.png');*/
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  background-color: var(--color-cream);
}
.top_strengths .top_strengths_deco .deco-seaweed {
  flex-grow: 0;
  position: relative;
  display: block;
  padding: 0 1.0em;
}
.top_strengths .top_strengths_deco .deco-seaweed img {
  position: relative;
  display: block;
  max-width: 385px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_strengths .top_strengths_deco {
    gap: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  .top_strengths .top_strengths_deco {
    gap: 1.0em;
  }
}

.top_strengths .entry-content {
  padding: 1.0em 4.0em;
  background: var(--color-lightgray);
}
.top_strengths .entry-content .container {
  max-width: 1200px;
  z-index: 1;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .top_strengths .entry-content {
    padding: 1.0em 2.0em;
  }
}

.top_strengths .entry-content .deco_fish {
  display: block;
  position: absolute;
  top: 0%;
  right: 5%;
  transform: translate(0%, -40%);
  width: max-content;
  max-width: 100%;
  z-index: 2;
}
.top_strengths .entry-content .deco_fish img {
  position: relative;
  display: block;
  max-width: 185px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_strengths .entry-content .deco_fish {
    display: none;
  }
}
@media screen and (max-width: 567px) {}

.top_strengths .entry-content .container :is(.title_fish_left, .title_fish_right) {
  display: block;
  position: absolute;
  top: 2.0em;
  width: max-content;
  max-width: 100%;
}
.top_strengths .entry-content .container .title_fish_left {
  left: calc(50% - 13.0em);
  transform: translate(-100%, 0%);
}
.top_strengths .entry-content .container .title_fish_right {
  left: calc(50% + 13.0em);
  transform: translate(0%, 0%);
}
.top_strengths .entry-content .container :is(.title_fish_left, .title_fish_right) img {
  position: relative;
  display: block;
  max-width: 150px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_strengths .entry-content .container .title_fish_left {
    left: calc(50% - 10.0em);
  }
  .top_strengths .entry-content .container .title_fish_right {
    left: calc(50% + 10.0em);
  }
}
@media screen and (max-width: 567px) {
  .top_strengths .entry-content .container .title_fish_left {
    left: calc(50% - 8.0em);
  }
  .top_strengths .entry-content .container .title_fish_right {
    left: calc(50% + 8.0em);
  }
  .top_strengths .entry-content .container :is(.title_fish_left, .title_fish_right) img {
    max-width: 100px;
  }
}
.top_strengths .entry-content .container .strengths_wrap {
  position: relative;
  display: flex;
  gap: 3.0em;
  margin: 0;
  margin-top: calc(1.0em + 3.0em);
  margin-bottom: 3.0em;
  z-index: 1;
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  z-index: 2;
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main::before,
.top_strengths .entry-content .container .strengths_wrap .wrap_main::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--round-basic);
  content: '';
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main::before {
  transform: translate(0, 0);
  background: var(--color-white);
  z-index: 2;
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main::after {
  transform: translate(0.25em, 0.25em);
  background: var(--color-green);
  z-index: -1;
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main .num {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -2.0em);
  background: var(--color-white);
  padding: 1.0em 0 0;
  width: calc(3.0em * 2);
  border-radius: 3.0em 3.0em 0 0;
  z-index: 3;
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main .num span {
  position: relative;
  display: block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 2.0em;
  line-height: 1.0;
  color: var(--color-orange);
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main .body {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.0em;
  padding: 2.0em;
  width: 100%;
  z-index: 3;
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main .body h3 {
  flex-grow: 1;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 1.4em;
  line-height: 1.5;
  color: var(--color-turquoise);
  margin: 0;
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main .body h3 div {
  position: relative;
  display: block;
  text-align: center;
  width: fit-content;
  max-width: 100%;
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main .body h3 div span {
  position: relative;
  display: inline-block;
}
.top_strengths .entry-content .container .strengths_wrap .wrap_main .body p {
  flex-grow: 0;
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  /*margin-top: 1.0em;*/
}
@media screen and (max-width: 1023px) {
  .top_strengths .entry-content .container .strengths_wrap {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* トップページ｜私たちの商品、オンラインショップ */
.top_products {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
}
.top_products .top_products_deco {
  position: relative;
  display: block;
  padding: 0;
  padding-top: 100px;
  background-image: url('../images/bg_wave_lightgray.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_wave_lightgray.png');*/
  background-repeat: repeat-x;
  background-position: center top;
}
.top_products .top_products_deco .deco_fish {
  display: block;
  position: absolute;
  top: 2.0em;
  left: 80%;
  transform: translate(-100%, 0);
  width: max-content;
  max-width: 100%;
}
.top_products .top_products_deco .deco_fish img {
  position: relative;
  display: block;
  max-width: 245px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_products .top_products_deco .deco_fish {
    top: 1.0em;
    left: 99%;
  }
}
@media screen and (max-width: 567px) {
  .top_products .top_products_deco .deco_fish img {
    max-width: 200px;
  }
}

.top_products .entry-content {
  padding: 1.0em 4.0em;
}
.top_products .entry-content .container {
  max-width: 1200px;
}

.top_products .entry-content .container .products_wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 3.0em;
  margin: 0;
  margin-top: 3.0em;
}
.top_products .entry-content .container .products_wrap .wrap_pdts {
  position: relative;
  display: flex;
  gap: 3.0em;
  justify-content: space-between;
  align-items: center;
}
.top_products .entry-content .container .products_wrap .wrap_pdts :is(.pdts_brand, .pdts_lineup) {
  flex-grow: 1;
  width: 100%;
  border-radius: var(--round-basic);
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.top_products .entry-content .container .products_wrap .wrap_pdts .pdts_brand {
  background-image: url('../images/top_products_brand.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_products_brand.jpg');*/
}
.top_products .entry-content .container .products_wrap .wrap_pdts .pdts_lineup {
  background-image: url('../images/top_products_lineup.jpg');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_products_lineup.jpg');*/
}
.top_products .entry-content .container .products_wrap .wrap_pdts :is(.pdts_brand, .pdts_lineup) a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 30vh;
  padding: 1.0em 1.0em;
  text-decoration: none;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  color: var(--color-white);
  z-index: 0;
}
.top_products .entry-content .container .products_wrap .wrap_pdts :is(.pdts_brand, .pdts_lineup) a::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--color-black);
  opacity: 0.7;
  content: '';
  z-index: -1;
  transition: 0.2s;
}
.top_products .entry-content .container .products_wrap .wrap_pdts :is(.pdts_brand, .pdts_lineup) a:hover {}
.top_products .entry-content .container .products_wrap .wrap_pdts .pdts_lineup a:hover {
  color: var(--color-orange);
  transition: 0.2s;
}
.top_products .entry-content .container .products_wrap .wrap_pdts :is(.pdts_brand, .pdts_lineup) a:hover::before {
  opacity: 0.1;
  transition: 0.2s;
}
.top_products .entry-content .container .products_wrap .wrap_pdts :is(.pdts_brand, .pdts_lineup) a span {
  font-size: 1.8em;
}

.top_products .entry-content .container .products_wrap .wrap_shop {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  gap: 3.0em;
  justify-content: center;
  align-items: center;
  padding: 3.0em 2.0em;
  border-radius: var(--round-basic);
  background: var(--color-lightgray);
}
.top_products .entry-content .container .products_wrap .wrap_shop :is(.shop_main, .shop_char) {
  flex-grow: 1;
}
.top_products .entry-content .container .products_wrap .wrap_shop .shop_main {}
.top_products .entry-content .container .products_wrap .wrap_shop .shop_main .shop_btn_wrap {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  margin-top: 3.0em;
}
.top_products .entry-content .container .products_wrap .wrap_shop .shop_main .shop_btn_wrap .shop_btn {
  text-align: center;
  width: 100%;
}
.top_products .entry-content .container .products_wrap .wrap_shop .shop_main .shop_btn_wrap .shop_btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75em;
  padding: 1.0em 1.0em;
  border-radius: 3.0em;
  line-height: 1.5;
  text-decoration: none;
  background: var(--color-orange);
  max-width: 400px;
  transition: 0.2s;
}
.top_products .entry-content .container .products_wrap .wrap_shop .shop_main .shop_btn_wrap .shop_btn a:hover {
  /*opacity: 0.8;*/
  transition: 0.2s;
  background: var(--color-turquoise);
}
.top_products .entry-content .container .products_wrap .wrap_shop .shop_main .shop_btn_wrap .shop_btn a span {
  flex-grow: 0;
  position: relative;
  display: block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.3em;
  text-align: left;
  color: var(--color-white);
  width: max-content;
  max-width: 100%;
}
.top_products .entry-content .container .products_wrap .wrap_shop .shop_main .shop_btn_wrap .shop_btn a span img {
  position: relative;
  display: block;
  max-width: 3.5em;
  -webkit-user-select: none;
  user-select: none;
}

.top_products .entry-content .container .products_wrap .wrap_shop .shop_char {}
.top_products .entry-content .container .products_wrap .wrap_shop .shop_char img {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 250px;
  min-width: 195px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_products .entry-content .container .products_wrap {
    gap: 2.0em;
  }
  .top_products .entry-content .container .products_wrap .wrap_pdts {
    flex-direction: column;
    justify-content: center;
    gap: 2.0em;
  }
  .top_products .entry-content .container .products_wrap .wrap_pdts :is(.pdts_brand, .pdts_lineup) a {
    min-height: 20vh;
    padding: 3.0em 1.0em;
  }
  .top_products .entry-content .container .products_wrap .wrap_shop {
    flex-direction: column;
    gap: 2.0em;
  }
  .top_products .entry-content .container .products_wrap .wrap_shop .shop_main .shop_btn_wrap .shop_btn a {
    margin: 0 auto;
  }
}
@media screen and (max-width: 567px) {
  .top_products .entry-content {
    padding: 1.0em 2.0em;
  }
  .top_products .entry-content .container .products_wrap .wrap_pdts :is(.pdts_brand, .pdts_lineup) a span {
    font-size: 1.5em;
  }
  .top_products .entry-content .container .products_wrap .wrap_shop .shop_main .shop_btn_wrap .shop_btn a {
    border-radius: 2.75em;
  }
  .top_products .entry-content .container .products_wrap .wrap_shop .shop_main .shop_btn_wrap .shop_btn a span {
    font-size: 1.1em;
  }
  .top_products .entry-content .container .products_wrap .wrap_shop .shop_main .shop_btn_wrap .shop_btn a span img {
    max-width: 3.0em;
  }
}


/* トップページ｜ニュース */
.top_news {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  padding-top: 4.0em;
}
.top_news .top_news_deco {
  position: relative;
  display: flex;
  gap: 4.0em;
  justify-content: space-between;
  align-items: flex-end;
  min-height: calc(100vw * 102 / 1368);
  background-image: url('../images/top_news_seabed.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/top_news_seabed.png');*/
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
}
.top_news .top_news_deco .deco-seaweed {
  flex-grow: 0;
  position: relative;
  display: block;
  padding: 0 1.0em;
}
.top_news .top_news_deco .deco-seaweed img {
  position: relative;
  display: block;
  max-width: 300px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_news .top_news_deco {
    gap: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  .top_news .top_news_deco {
    gap: 1.0em;
  }
}
.top_news .entry-content {
  padding: 1.0em 4.0em;
  background: var(--color-lightgray);
}
.top_news .entry-content .container {
  max-width: 1200px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .top_news .entry-content {
    padding: 1.0em 2.0em;
  }
}

/* トップページ｜ニュース（.news-box） */
.news-box {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.0em;
  width: 100%;
  margin: 0;
  margin-top: 2.0em;
}
.news-box .news-tab_wrap {
  flex-grow: 0;
}
.news-box .news-content {
  flex-grow: 1;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* トップページ｜ニュース｜カテゴリタブ（.news-tab_wrap） */
.news-box .news-tab_wrap .news-tab {
  margin-bottom: 4.0em;
}
.news-box .news-tab_wrap .news-tab ul {
  position: relative;
  display: flex;
  gap: 0.5em;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style-type: none;
  line-height: 1.5;
}
.news-box .news-tab_wrap .news-tab ul li {
  flex-grow: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.news-box .news-tab_wrap .news-tab ul li div {
  text-decoration: none;
  padding: 0.15em 0.75em 0.3em;
  border-radius: 1.5em;
  background: var(--color-white);
  border: 1px solid var(--color-turquoise);
}
.news-box .news-tab_wrap .news-tab ul li div,
.news-box .news-tab_wrap .news-tab ul li div * {
  cursor: pointer;
}
.news-box .news-tab_wrap .news-tab ul li div:hover {
  background: var(--color-turquoise);
  transition: 0.15s;
}
.news-box .news-tab_wrap .news-tab ul li div span {
  position: relative;
  display: inline-block;
  font-size: 0.85em;
  color: var(--color-turquoise);
  width: 100%;
  max-width: max-content;
}
.news-box .news-tab_wrap .news-tab ul li div span::after {
  position: relative;
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
  margin-left: 0.5em;
  content: '';
  transition: 0.3s;
}
.news-box .news-tab_wrap .news-tab ul li div:hover span {
  color: var(--color-white);
}
.news-box .news-tab_wrap .news-tab ul li div:hover span::after {
  transition: 0.3s;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* トップページ｜ニュース｜本体（.news-content） */
.news-box .news-content {
  position: relative;
  display: block;
  width: 100%;
}
.top_news .news-body .news-tile .pure-g > div > :is(a, .nolink) {
  background: var(--color-white);
}
.top_news .news-body .news-tile .pure-g > div > :is(a, .nolink) .image {
  background: var(--color-lightgray);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* トップページ｜ニュース｜本体｜ラジオボタン非表示｜カテゴリ */
.news-box input {
  display: none;
}
/* トップページ｜ニュース｜本体｜カテゴリ */
.news-box .tabcontent {
  display: none;
}
/* トップページ｜ニュース｜本体｜ラジオボタン（表示切替） */
.news-box #tabcheck0:checked ~ #tabcontent0 { display: block; }
.news-box #tabcheck1:checked ~ #tabcontent1 { display: block; }
.news-box #tabcheck2:checked ~ #tabcontent2 { display: block; }
.news-box #tabcheck3:checked ~ #tabcontent3 { display: block; }
.news-box #tabcheck4:checked ~ #tabcontent4 { display: block; }
.news-box #tabcheck5:checked ~ #tabcontent5 { display: block; }
.news-box #tabcheck6:checked ~ #tabcontent6 { display: block; }
.news-box #tabcheck7:checked ~ #tabcontent7 { display: block; }
.news-box #tabcheck8:checked ~ #tabcontent8 { display: block; }
.news-box #tabcheck9:checked ~ #tabcontent9 { display: block; }
.news-box #tabcheck10:checked ~ #tabcontent10 { display: block; }
.news-box #tabcheck11:checked ~ #tabcontent11 { display: block; }

@media screen and (max-width: 1023px) {
  .news-box {
    flex-direction: column;
    gap: 2.0em;
  }
  .news-box .news-tab_wrap {
    display: flex;
    gap: 1.0em 3.0em;
  }
  .news-box .news-tab_wrap .news-tab {
    flex-grow: 0;
    width: max-content;
  }
  .news-box .news-content {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* トップページ｜採用情報 */
.top_recruit {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
}
.top_recruit .top_recruit_deco {
  position: relative;
  display: block;
  padding: 0;
  padding-top: 100px;
  background-image: url('../images/bg_wave_lightgray.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_wave_lightgray.png');*/
  background-repeat: repeat-x;
  background-position: center top;
}
.top_recruit .entry-content {
  padding: 1.0em 4.0em;
}
.top_recruit .entry-content .container {
  max-width: 1200px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .top_recruit .entry-content {
    padding: 1.0em 2.0em;
  }
}
.top_recruit .entry-content .container .recruit_wrap {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  gap: 4.0em;
  justify-content: space-between;
  align-items: center;
}
.top_recruit .entry-content .container .recruit_wrap :is(.wrap_main, .wrap_char) {
  flex-grow: 1;
  width: 100%;
}
.top_recruit .entry-content .container .recruit_wrap .wrap_main {}
.top_recruit .entry-content .container .recruit_wrap .wrap_main .recruit_btn {
  margin: 0;
  margin-top: 3.0em;
}
.top_recruit .entry-content .container .recruit_wrap .wrap_char {}
.top_recruit .entry-content .container .recruit_wrap .wrap_char img {
  position: relative;
  display: block;
  margin: 0 auto;
  max-width: 350px;
  transform: scale(115%) translate(0, -2.0em);
  -webkit-user-select: none;
  user-select: none;
}
.top_recruit .entry-content .container .recruit_fish {
  display: block;
  position: absolute;
  top: 100%;
  left: 40%;
  transform: translate(-50%, 0);
  width: max-content;
  max-width: 100%;
}
.top_recruit .entry-content .container .recruit_fish img {
  position: relative;
  display: block;
  max-width: 240px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .top_recruit .entry-content .container .recruit_wrap {
    flex-direction: column;
    gap: 2.0em;
  }
  .top_recruit .entry-content .container .recruit_wrap .wrap_char img {
    position: relative;
    display: block;
    margin: 0 auto;
    max-width: 300px;
    transform: scale(100%) translate(0, 0);
  }
  .top_recruit .entry-content .container .recruit_fish {
    position: relative;
    top: initial;
    left: initial;
    transform: translate(0, 0);
    margin: 0;
    margin-top: 1.0em;
    margin-left: auto;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  ヘッダー（header.php）
##  ヘッダーメニュー（header-menu.php）
##
############################################## */
/* メニュー（header） */
header {
  position: sticky;
  top: -130px;
  width: 100%;
  z-index: 1000;
  transition: 0.05s;
}
.is-fixed header {
  position: sticky;
  top: 0;
  transition: 1.0s;
}

header .header-menu_wrap {
  position: relative;
  display: flex;
  gap: 2.0em;
  width: 100%;
  padding: 0.5em 2.0em;
  background: var(--color-lightgray);
  z-index: 2000;
}
header .header-menu_wrap .header-logo {
  flex-grow: 1;
}
header .header-menu_wrap .menu_pc {
  flex-grow: 0;
}
@media screen and (max-width: 1023px) {
  header .header-menu_wrap {
    padding: 1.0em 2.0em;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  header, .is-fixed header {
    top: 0;
  }
  header .header-menu_wrap {
    padding: 1.0em 1.0em;
  }
}

/* メニュー（header）｜社名ロゴ */
header .header-menu_wrap .header-logo {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
header .header-menu_wrap .header-logo :is(h1, p) {
  display: block;
  position: relative;
  width: max-content;
  max-width: 100%;
  font-size: 1.0em;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
header .header-menu_wrap .header-logo :is(h1, p) a {
  display: block;
  position: relative;
}
header .header-menu_wrap .header-logo :is(h1, p) a:hover {}
header .header-menu_wrap .header-logo :is(h1, p) a img {
  display: block;
  position: relative;
  width: 100%;
  max-width: 250px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  header .header-menu_wrap .header-logo :is(h1, p) a img {
    max-width: 200px;
  }
}

/* メニュー（header）｜PC表示 */
:root {
  /* メニューPC：ボタンサイズ */
  --menu_pc-btn-size: 86px;
}
header .header-menu_wrap .menu_pc {
  position: relative;
  display: flex;
  gap: 0;
  width: max-content;
  max-width: 100%;
  font-size: 0.8em;
  line-height: 1.2;
}
header .header-menu_wrap .menu_pc ul.nav-list {
  position: relative;
  display: flex;
  gap: 0.5em;
  width: 100%;
}
header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
header .header-menu_wrap .menu_pc ul.nav-list :is(.nav-list-item > a, li.nav-list-item.hd-sns > div) {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  padding: 0;
  width: var(--menu_pc-btn-size);
  max-width: 100%;
  height: var(--menu_pc-btn-size);
  text-align: center;
  text-decoration: none;
  color: var(--color-base);
  border-radius: 1.0em;
  cursor: pointer;
  transition: all 0.2s;
}
header .header-menu_wrap .menu_pc ul.nav-list :is(.nav-list-item > a:hover, li.nav-list-item.hd-sns > div:hover) {
  opacity: 1.0;
  background: var(--color-white);
}
header .header-menu_wrap .menu_pc ul.nav-list :is(.nav-list-item > a, li.nav-list-item.hd-sns > div) img {
  position: relative;
  display: block;
  width: 100%;
  max-width: calc(var(--menu_pc-btn-size) * 0.6);
  margin: 0;
  -webkit-user-select: none;
  user-select: none;
}
header .header-menu_wrap .menu_pc ul.nav-list :is(.nav-list-item > a, li.nav-list-item.hd-sns > div) span {}

header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item.hd-sns {}
header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item.hd-sns .drop-menu-list {
  /*display: flex;*/
  gap: 0.75em;
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 100%);
  padding: 1.0em;
  border-radius: 1.0em;
  background: var(--color-cream);
}
header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item.hd-sns .drop-menu-list::before {
  display: block;
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 1.0em;
  height: 1.0em;
  clip-path: polygon(50% 0, 100% 100%, 0% 100%);
  content: '';
  background: var(--color-cream);
}
header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item.hd-sns .drop-menu-list .drop-menu-item {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
}
header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item.hd-sns .drop-menu-list .drop-menu-item a {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
}
header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item.hd-sns .drop-menu-list .drop-menu-item a img {
  position: relative;
  display: block;
  width: 30px;
  max-width: 100%;
  transform: scale(100%);
  transition: 0.1s;
  -webkit-user-select: none;
  user-select: none;
}
header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item.hd-sns .drop-menu-list .drop-menu-item a:hover img {
  transform: scale(115%);
  transition: 0.1s;
}

header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item.hd-sns .drop-menu-list {
  display: none;
}
header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item.hd-sns:hover .drop-menu-list {
  display: flex;
}
header .header-menu_wrap .menu_pc ul.nav-list li.nav-list-item.hd-sns:has(.drop-menu-list:hover) {
  border-radius: 1.0em;
  background: var(--color-white);
}
@media screen and (max-width: 1023px) {
  header .header-menu_wrap .menu_pc {
    display: none;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* メニュー（header）｜タブレット・SP表示 */
:root {
  /* メニューSP：ボタンサイズ */
  --menu_sp-btn-size: 105px;
  --menu_sp-btn-gap: 1.0em;
}
header .menu_sp {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  font-size: 0.8em;
  line-height: 1.2;
  margin: 0;
  padding: 0;
  z-index: 1500;
}
header .menu_sp .menu_sp_wrap {
  background: var(--color-lightgray);
  padding: 1.0em 2.0em;
  margin: 0;
}
@media screen and (max-width: 1023px) {
  header .menu_sp,
  header .menu_sp.open {
    display: block;
    transition: all 0.5s;
  }
  header .menu_sp ul.nav-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    /*justify-content: space-between;*/
    justify-content: center;
    gap: var(--menu_sp-btn-gap);
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
  }
  header .menu_sp ul.nav-list li.nav-list-item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  header .menu_sp ul.nav-list li.nav-list-item > a {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    padding: 0;
    width: var(--menu_sp-btn-size);
    min-width: var(--menu_sp-btn-size);
    height: var(--menu_sp-btn-size);
    text-align: center;
    text-decoration: none;
    color: var(--color-base);
    border-radius: 1.0em;
    cursor: pointer;
    box-shadow: 0 0 12px var(--color-cream);
    transition: all 0.2s;
  }
  header .menu_sp ul.nav-list li.nav-list-item > a:hover {
    opacity: 1.0;
    background: var(--color-white);
    box-shadow: 0 0 12px transparent;
  }
  header .menu_sp ul.nav-list li.nav-list-item > a img {
    position: relative;
    display: block;
    width: 100%;
    max-width: calc(var(--menu_sp-btn-size) * 0.6);
    margin: 0;
    -webkit-user-select: none;
    user-select: none;
  }
  header .menu_sp ul.nav-list li.nav-list-item > a span {}

  header .menu_sp ul.nav-list li.nav-list-item_sns {
    position: relative;
    display: flex;
    gap: 0;
    justify-content: center;
    align-items: center;
    width: calc(var(--menu_sp-btn-size) * 2 + var(--menu_sp-btn-gap));
    min-width: calc(var(--menu_sp-btn-size) * 2 + var(--menu_sp-btn-gap));
    height: var(--menu_sp-btn-size);
    color: var(--color-base);
    border-radius: 1.0em;
    box-shadow: 0 0 12px var(--color-cream);
  }
  header .menu_sp ul.nav-list li.nav-list-item_sns div {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    padding: 0;
    width: var(--menu_sp-btn-size);
    min-width: var(--menu_sp-btn-size);
    text-align: center;
  }
  header .menu_sp ul.nav-list li.nav-list-item_sns div img {
    position: relative;
    display: block;
    width: 100%;
    max-width: calc(var(--menu_sp-btn-size) * 0.6);
    margin: 0;
    -webkit-user-select: none;
    user-select: none;
  }
  header .menu_sp ul.nav-list li.nav-list-item_sns div span {
    width: max-content;
    max-width: 100%;
  }
  header .menu_sp ul.nav-list li.nav-list-item_sns ul.menu-list_sns {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
  }
  header .menu_sp ul.nav-list li.nav-list-item_sns ul.menu-list_sns li.menu-item_sns {
    position: relative;
    display: block;
    width: max-content;
    max-width: 100%;
  }
  header .menu_sp ul.nav-list li.nav-list-item_sns ul.menu-list_sns li.menu-item_sns a {
    position: relative;
    display: block;
    width: max-content;
    max-width: 100%;
  }
  header .menu_sp ul.nav-list li.nav-list-item_sns ul.menu-list_sns li.menu-item_sns a:hover {
    opacity: 1.0;
  }
  header .menu_sp ul.nav-list li.nav-list-item_sns ul.menu-list_sns li.menu-item_sns a img {
    position: relative;
    display: block;
    width: calc(var(--menu_sp-btn-size) * 0.3);
    max-width: 100%;
    transform: scale(100%);
    transition: 0.1s;
    -webkit-user-select: none;
    user-select: none;
  }
  header .menu_sp ul.nav-list li.nav-list-item_sns ul.menu-list_sns li.menu-item_sns a:hover img {
    transform: scale(115%);
    transition: 0.1s;
  }

  /* .menu_sp に、クラス .open 付加 */
  header .menu_sp {
    transform: translate(0%, -100%);
  }
  header .menu_sp.open {
    transform: translate(0%, 0%);
  }
  header .menu_sp .menu_sp_wrap * {
    opacity: 0;
  }
  header .menu_sp.open .menu_sp_wrap * {
    opacity: 1.0;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* メニュー（header）｜タブレット・SPボタン */
header .header-menu_wrap .menu_sp-btn {
  display: none;
}
header .header-menu_wrap .menu_sp-btn .sp-btn_wrap {
  position: relative;
  flex-direction: column;
  width: 2.0em;
  padding: 0;
  padding-top: 1.75em;
  cursor: pointer;
}
header .header-menu_wrap .menu_sp-btn .sp-btn_wrap .bar {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--color-orange);
  border-radius: 2px;
}

header .header-menu_wrap .menu_sp-btn .sp-btn_wrap .bar:nth-of-type(1) {
  -webkit-animation: bar01 0.75s forwards;
  animation: bar01 0.75s forwards;
}
@-webkit-keyframes bar01 {
  0% { -webkit-transform: translate(0%, -50%) rotate(45deg); top: 50%; }
  50% { -webkit-transform: translate(0%, -50%) rotate(0deg); top: 50%; }
  100% { -webkit-transform: translate(0%, 0%) rotate(0deg); top: 0%;  }
}
@keyframes bar01 {
  0% { transform: translate(0%, -50%) rotate(45deg); top: 50%; }
  50% { transform: translate(0%, -50%) rotate(0deg); top: 50%; }
  100% { transform: translate(0%, 0%) rotate(0deg); top: 0%; }
}
header .header-menu_wrap .menu_sp-btn .sp-btn_wrap .bar:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translate(0%, -50%) rotate(0deg);
  transform: translate(0%, -50%) rotate(0deg);
  opacity: 1.0;
  transition: all 0.25s 0.25s;
}
header .header-menu_wrap .menu_sp-btn .sp-btn_wrap .bar:nth-of-type(3) {
  -webkit-animation: bar03 0.75s forwards;
  animation: bar03 0.75s forwards;
}
@-webkit-keyframes bar03 {
  0% { -webkit-transform: translate(0%, -50%) rotate(-45deg); top: 50%; }
  50% { -webkit-transform: translate(0%, -50%) rotate(0deg); top: 50%; }
  100% { -webkit-transform: translate(0%, -100%) rotate(0deg); top: 100%; }
}
@keyframes bar03 {
  0% { transform: translate(0%, -50%) rotate(-45deg); top: 50%; }
  50% { transform: translate(0%, -50%) rotate(0deg); top: 50%; }
  100% { transform: translate(0%, -100%) rotate(0deg); top: 100%; }
}
/* .sp-btn_wrap に、クラス .active 付加 */
header .header-menu_wrap .menu_sp-btn .sp-btn_wrap.active .bar:nth-of-type(1) {
  -webkit-animation: active-bar01 0.75s forwards;
  animation: active-bar01 0.75s forwards;
}
@-webkit-keyframes active-bar01 {
  0% { -webkit-transform: translate(0%, 0%) rotate(0deg); top: 00%; }
  50% { -webkit-transform: translate(0%, -50%) rotate(0deg); top: 50%; }
  100% { -webkit-transform: translate(0%, -50%) rotate(45deg); top: 50%; }
}
@keyframes active-bar01 {
  0% { transform: translate(0%, 0%) rotate(0deg); top: 0%; }
  50% { transform: translate(0%, -50%) rotate(0deg); top: 50%; }
  100% { transform: translate(0%, -50%) rotate(45deg); top: 50%; }
}
header .header-menu_wrap .menu_sp-btn .sp-btn_wrap.active .bar:nth-of-type(2) {
  opacity: 0;
}
header .header-menu_wrap .menu_sp-btn .sp-btn_wrap.active .bar:nth-of-type(3) {
  -webkit-animation: active-bar03 0.75s forwards;
  animation: active-bar03 0.75s forwards;
}
@-webkit-keyframes active-bar03 {
  0% { -webkit-transform: translate(0%, -100%) rotate(0deg); top: 100%; }
  50% { -webkit-transform: translate(0%, -50%) rotate(0deg); top: 50%; }
  100% { -webkit-transform: translate(0%, -50%) rotate(-45deg); top: 50%; }
}
@keyframes active-bar03 {
  0% { transform: translate(0%, -100%) rotate(0deg); top: 100%; }
  50% { transform: translate(0%, -50%) rotate(0deg); top: 50%; }
  100% { transform: translate(0%, -50%) rotate(-45deg); top: 50%; }
}
@media screen and (max-width: 1023px) {
  header .header-menu_wrap .menu_sp-btn {
    display: block;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* メニュー（header）｜タブレット・SPボタン（※SP操作時のチラつき防止用） */
/* iOS / Android のタップ時ハイライトを無効化 */
header .header-menu_wrap .menu_sp-btn,
header .header-menu_wrap .menu_sp-btn * {
  -webkit-tap-highlight-color: transparent; /* iOS Safari */
  -webkit-user-select: none; /* 選択不可 */
  user-select: none; /* 選択不可 */
}
header .header-menu_wrap .menu_sp-btn:focus,
header .header-menu_wrap .menu_sp-btn:active {
  outline: none; /* フォーカスの青枠を消す */
  -webkit-tap-highlight-color: transparent; /* iOS Safari */
  background-color: transparent; /* 背景の暗転防止 */
}
header .header-menu_wrap .menu_sp-btn .sp-btn_wrap {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0,0,0); /* GPU レイヤー強制 */
}


/* メニュー（header）｜デコレーション（波） */
header .header-wave {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  padding-top: 25px;
  background-image: url('../images/bg_wave_lightgray_menu.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_wave_lightgray_menu.png');*/
  background-repeat: repeat-x;
  background-position: center top;
  z-index: 1000;
}
.is-fixed header .header-wave {
  display: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .is-fixed header .header-wave {
    display: block;
  }
}
@media screen and (max-width: 567px) {
  .is-fixed header .header-wave {
    display: block;
  }
}




/* ##############################################
##
##  ヘッダーイメージ（header-image.php）
##  ヘッダーイメージ｜インタビュー（header-image_interview.php）
##
############################################## */
.page-header {
  display: block;
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0;
}
.page-header .entry-header {
  display: block;
  position: relative;
  width: 100%;
}
.page-header .entry-header .header_wrap {
  display: block;
  position: relative;
  width: 100%;
  padding: 2.0em 4.0em 2.0em;
  margin: 0;
}
.page-header .entry-header.height-short .header_wrap {
  padding: 1.0em 4.0em 4.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header_wrap {
    padding: 2.0em 2.0em 2.0em;
  }
  .page-header .entry-header.height-short .header_wrap {
    padding: 1.0em 2.0em 2.0em;
  }
}
@media screen and (max-width: 567px) {}

.page-header .entry-header .header-top_main {
  display: block;
  position: relative;
  width: 100%;
  max-width: 1500px;
  min-height: 50vh;
  padding: 0;
  margin: 0 auto;
}
.page-header .entry-header.height-short .header-top_main {
  min-height: 40vh;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header-top_main,
  .page-header .entry-header.height-short .header-top_main {
    min-height: initial;
  }
}
@media screen and (max-width: 567px) {}

.page-header .entry-header .header-top_main .top-image {
  display: block;
  position: relative;
  width: 60%;
  padding: 0;
  margin: 0;
  margin-left: auto;
}
.page-header .entry-header .header-top_main .top-image .image_wrap {
  display: block;
  position: relative;
  width: 100%;
  padding: 0;
  padding-top: calc(100% * 2 / 3);
  border-radius: var(--round-large);
  overflow: hidden;
}
.page-header .entry-header .header-top_main .top-image .image_wrap img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .page-header .entry-header .header-top_main .top-image .image_wrap {
    padding-top: calc(100% * 1 / 1);
  }
}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header-top_main .top-image {
    width: 100%;
    padding-bottom: 2.0em;
    margin-left: 0;
  }
  .page-header .entry-header .header-top_main .top-image .image_wrap {
    padding-top: calc(100% * 2 / 3);
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .header-top_main .top-image .image_wrap {
    padding-top: calc(100% * 1 / 1);
  }
}

.page-header .entry-header .header-top_main .top-title {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0%, -50%);
}
.page-header .entry-header.height-short .header-top_main .top-title {
  top: 40%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header-top_main .top-title,
  .page-header .entry-header.height-short .header-top_main .top-title {
    position: relative;
    top: initial;
    transform: translate(0%, 0%);
  }
}
@media screen and (max-width: 567px) {}

.page-header .entry-header .header-top_main .top-title :is(.entry-title_most-post, .entry-title, .title-sub, .title-sub span) {
  display: block;
  position: relative;
  margin: 0;
}
.page-header .entry-header .header-top_main .top-title .entry-title_most-post {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.4em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--color-orange);
}
.page-header .entry-header .header-top_main .top-title .entry-title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 3.7em;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.page-header .entry-header .header-top_main .top-title .title-sub {
  margin-top: 1.0em;
}
.page-header .entry-header .header-top_main .top-title .title-sub span {
  font-family: "Darumadrop One", sans-serif;
  font-weight: 400;
  font-size: 1.6em;
  letter-spacing: 0.1em;
  color: var(--color-orange);
}
@media screen and (max-width: 1023px) {
  .page-header .entry-header .header-top_main .top-title .entry-title {
    font-size: 3.0em;
  }
}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header-top_main .top-title .entry-title {
    font-size: 2.2em;
    letter-spacing: 0.05em;
  }
  .page-header .entry-header .header-top_main .top-title .title-sub span {
    font-size: 1.3em;
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .header-top_main .top-title .entry-title {
    font-size: 1.9em;
  }
  .page-header .entry-header .header-top_main .top-title .title-sub span {
    font-size: 1.2em;
  }
}

.page-header .entry-header .header-top_deco {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.page-header .entry-header .header-top_deco .deco-wrap {
  position: relative;
  display: flex;
  gap: 4.0em;
  justify-content: space-between;
  align-items: flex-end;
  min-height: calc(100vw * 102 / 1368);
  background-image: url('../images/bg_seabed_cream_header-top.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_seabed_cream_header-top.png');*/
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
}
.page-header .entry-header .header-top_deco .deco-wrap .deco-seaweed {
  flex-grow: 0;
  position: relative;
  display: block;
  padding: 0 1.0em;
}
.page-header .entry-header .header-top_deco .deco-wrap .deco-seaweed img {
  position: relative;
  display: block;
  max-width: 300px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header-top_deco {
    position: relative;
    bottom: initial;
    left: 0;
  }
  .page-header .entry-header .header-top_deco .deco-wrap  {
    gap: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .header-top_deco .deco-wrap  {
    gap: 1.0em;
  }
}

/* ヘッダーイメージ｜インタビュー（header-image_interview.php） */
.page-header .entry-header .header-top_main .top-title.itv {
  top: 40%;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header-top_main .top-title.itv {
    top: initial;
  }
}
@media screen and (max-width: 567px) {}

.page-header .entry-header .header-top_main .top-title .itv_title {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  font-size: 1.0em;
  line-height: 1.5;
  margin: 0;
  padding: 0.25em 0.75em;
  background: var(--color-cream);
}
.page-header .entry-header .header-top_main .top-title .itv_title .title {
  position: relative;
  display: block;
  font-size: 1.1em;
}
.page-header .entry-header .header-top_main .top-title .itv_copy {
  position: relative;
  display: block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  margin: 1.0em 0;
}
.page-header .entry-header .header-top_main .top-title .itv_copy .copy {
  position: relative;
  display: block;
  font-size: 2.2em;
}
.page-header .entry-header .header-top_main .top-title .itv_personnel {
  position: relative;
  display: block;
  margin: 0;
}
.page-header .entry-header .header-top_main .top-title .itv_personnel :is(.dept, .year, .background) {
  position: relative;
  display: inline-block;
  font-size: 0.9em;
  margin: 0;
}
.page-header .entry-header .header-top_main .top-title .itv_personnel .dept {}
.page-header .entry-header .header-top_main .top-title .itv_personnel .year {}
.page-header .entry-header .header-top_main .top-title .itv_personnel .background {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-header .entry-header .header-top_main .top-title .itv_copy .copy {
    font-size: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  .page-header .entry-header .header-top_main .top-title .itv_copy .copy {
    font-size: 1.8em;
  }
}




/* ##############################################
##
##  フッター（footer.php）
##
############################################## */
/* フッター｜お問い合わせ（Contact）共通 */
.ftr-contact {
  position: relative;
  display: block;
}

.ftr-contact .ftr-contact_deco {
  position: relative;
  display: flex;
  gap: 4.0em;
  justify-content: space-between;
  align-items: flex-end;
  background-image: url('../images/bg_wave_green.png');
  /*background-image: url('<?php echo get_template_directory_uri(); ?>/images/bg_wave_green.png');*/
  background-repeat: repeat-x;
  background-position: center bottom;
}
.ftr-contact .ftr-contact_deco .deco-seaweed {
  flex-grow: 0;
  position: relative;
  display: block;
  padding: 0 1.0em;
}
.ftr-contact .ftr-contact_deco .deco-seaweed img {
  position: relative;
  display: block;
  max-width: 420px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .ftr-contact .ftr-contact_deco {
    gap: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  .ftr-contact .ftr-contact_deco {
    gap: 0;
  }
}

.ftr-contact .ftr-contact_main {
  background: var(--color-green);
  padding: 4.0em;
}
.ftr-contact .ftr-contact_main .main-wrap {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button {
  position: relative;
  display: flex;
  gap: 3.0em;
  justify-content: center;
  align-items: space-between;
  margin-top: 2.0em;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button .button_body {
  flex-grow: 1;
  position: relative;
  display: flex;
  width: 100%;
  max-width: 370px;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button .button_body a {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.0em;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 1.5em;
  text-decoration: none;
  color: var(--color-base);
  background: var(--color-lightgray);
  border-radius: var(--round-large);
  opacity: 1.0;
  transition: 0.2s;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button .button_body a:hover {
  /*opacity: 0.8;*/
  background: var(--color-cream);
  transition: 0.2s;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button .button_body a .body_ico {
  flex-grow: 0;
  position: relative;
  display: block;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button .button_body a .body_ico img {
  position: relative;
  display: block;
  max-width: 90px;
  -webkit-user-select: none;
  user-select: none;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button .button_body a .body_txt {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  justify-content: center;
  align-items: center;
  line-height: 1.5;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button .button_body a .body_txt :is(.large, .small) {
  position: relative;
  text-align: center;
  width: max-content;
  max-width: 100%;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button .button_body a .body_txt .large {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 1.6em;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button .button_body a .body_txt .large.tel {
  font-size: 2.1em;
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_button .button_body a .body_txt .small {
  flex-grow: 0;
  display: block;
  font-size: 0.9em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .ftr-contact .ftr-contact_main .main-wrap .wrap_button {
    flex-direction: column;
    align-items: center;
    gap: 2.0em;
  }
}
@media screen and (max-width: 567px) {
  .ftr-contact .ftr-contact_main {
    padding: 3.0em 2.0em;
  }
}

.ftr-contact .ftr-contact_main .main-wrap .wrap_char {
  display: block;
  position: absolute;
  bottom: calc(0% - 4.5em);
  left: calc(50% + 340px);
}
.ftr-contact .ftr-contact_main .main-wrap .wrap_char img {
  position: relative;
  display: block;
  min-width: 180px;
  max-width: 220px;
  -webkit-user-select: none;
  user-select: none;
}
@media screen and (max-width: 1023px) {
  .ftr-contact .ftr-contact_main .main-wrap .wrap_char {
    position: relative;
    bottom: initial;
    left: initial;
    width: 100%;
    margin: 0;
    margin-top: 2.0em;
  }
  .ftr-contact .ftr-contact_main .main-wrap .wrap_char img {
    min-width: initial;
    max-width: 200px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .ftr-contact .ftr-contact_main .main-wrap .wrap_char img {
    max-width: 180px;
  }
}


/* フッター｜SNS、サイトマップ、Copyright */
footer {
  position: relative;
  display: block;
  width: 100%;
}
footer .ft-wrap {
  position: relative;
  display: block;
  width: 100%;
  color: var(--color-base);
  background: var(--color-lightgray);
  padding: 4.0em;
}
footer .ft-wrap :is(.ft-logo-wrap, .ft-nav-wrap, .ft-copy-wrap) {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  footer .ft-wrap {
    padding: 3.0em 2.0em 7.0em;
  }
}

footer .ft-wrap .ft-logo-wrap {
  display: flex;
  gap: 3.0em;
  margin-bottom: 2.0em;
}
footer .ft-wrap .ft-logo-wrap .logo {
  flex-grow: 0;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
footer .ft-wrap .ft-logo-wrap .logo a {
  flex-grow: 0;
  position: relative;
  display: block;
}
footer .ft-wrap .ft-logo-wrap .logo a img {
  position: relative;
  display: block;
  max-width: 350px;
  -webkit-user-select: none;
  user-select: none;
}
footer .ft-wrap .ft-logo-wrap .sns {
  flex-grow: 1;
  position: relative;
  display: flex;
}
footer .ft-wrap .ft-logo-wrap .sns ul {
  flex-grow: 0;
  position: relative;
  display: flex;
  gap: 1.0em;
  justify-content: flex-start;
  align-items: center;
  list-style-type: none;
  padding: 0;
}
footer .ft-wrap .ft-logo-wrap .sns ul li {
  flex-grow: 0;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
footer .ft-wrap .ft-logo-wrap .sns ul li a {
  flex-grow: 0;
  position: relative;
  display: block;
}
footer .ft-wrap .ft-logo-wrap .sns ul li a img {
  position: relative;
  display: block;
  max-width: 40px;
  transform: scale(100%);
  transition: 0.1s;
  -webkit-user-select: none;
  user-select: none;
}
footer .ft-wrap .ft-logo-wrap .sns ul li a:hover img {
  transform: scale(115%);
  transition: 0.1s;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  footer .ft-wrap .ft-logo-wrap {
    flex-direction: column;
    gap: 2.0em;
  }
  footer .ft-wrap .ft-logo-wrap .logo {
    flex-grow: 1;
    justify-content: center;
    width: 100%;
  }
  footer .ft-wrap .ft-logo-wrap .logo a img {
    max-width: 320px;
  }
  footer .ft-wrap .ft-logo-wrap .sns ul {
    flex-grow: 1;
    justify-content: center;
    width: 100%;
  }
}
@media screen and (max-width: 567px) {
  footer .ft-wrap .ft-logo-wrap .logo a img {
    max-width: 270px;
  }
  footer .ft-wrap .ft-logo-wrap .sns ul li a img {
    max-width: 35px;
  }
}

footer .ft-wrap .ft-nav-wrap {
  display: block;
  margin-bottom: 4.0em;
}
footer .ft-wrap .ft-nav-wrap nav {
  position: relative;
  display: block;
  width: 100%;
}
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list,
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list > li ul.ft-nav-list_child {
  position: relative;
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list > li,
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list > li ul.ft-nav-list_child > li {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
}
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list {
  column-count: 4; -webkit-column-count: 4; -moz-column-count: 4;
  column-gap: 3.0em;
  row-gap: 0;
}
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list > li {
  padding-top: 1.0em;
  padding-bottom: 1.0em;
  break-inside: avoid;
}
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list > li.breakpoint {
  break-before: column;
}
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list > li ul.ft-nav-list_child {
  padding-top: 1.0em;
  padding-left: 1.0em;
}
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list > li ul.ft-nav-list_child > li {
  padding-bottom: 0.5em;
}
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list > li ul.ft-nav-list_child > li:last-child {
  padding-bottom: 0;
}
footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list > li ul.ft-nav-list_child > li::before {
  display: block;
  position: absolute;
  top: 0.9em;
  left: 0;
  content: '';
  width: 0.5em;
  height: 1px;
  border: none;
  border-top: 1px solid var(--color-base);
  transform: translate(-0.75em, 0);
}
footer .ft-wrap .ft-nav-wrap nav a {
  color: var(--color-base);
  text-decoration: none;
}
footer .ft-wrap .ft-nav-wrap nav a:hover {
  text-decoration: underline 1px solid;
  text-decoration-thickness: 1px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list {
    column-count: 3; -webkit-column-count: 3; -moz-column-count: 3;
  }
  footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list > li.breakpoint {
    break-before: initial;
  }
}
@media screen and (max-width: 567px) {
  footer .ft-wrap .ft-nav-wrap nav ul.ft-nav-list {
    column-count: 2; -webkit-column-count: 2; -moz-column-count: 2;
  }
}

footer .ft-wrap .ft-copy-wrap {
  display: block;
  margin-bottom: 0;
}
footer .ft-wrap .ft-copy-wrap .copyright {
  display: block;
  width: 100%;
  font-size: 0.8em;
  text-align: center;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  固定ページ（page.php）
##  投稿ページ（single.php）
##
############################################## */
/* 固定ページ｜共通（pg_default.php） */
/* 投稿ページ｜共通（sg_default.php） */
.page-content.pg_default {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
}
.page-content.pg_default .entry-content {
  padding: 4.0em 4.0em;
}
.page-content.pg_default .entry-content .container {
  max-width: 1100px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-content.pg_default .entry-content {
    padding: 3.0em 2.0em;
  }
}
@media screen and (max-width: 567px) {}

/* 投稿ページ｜見出し（sg_default.php） */
.page-content.pg_default .entry-content .container .title {
  display: block;
  position: relative;
  text-align: left;
  width: 100%;
  font-size: 1.8em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--color-base);
  padding: 0;
  padding-bottom: 0.5em;
  border: none;
  border-bottom: 3px solid var(--color-lightgray);
  margin: 0;
  margin-bottom: 1.0em;
}
.page-content.pg_default .entry-content .container .title::before {
  content: '';
  display: block;
  position: absolute;
  /*top: 100%;*/
  bottom: calc(0% - 3px);
  left: 0%;
  width: 25%;
  height: 6px;
  padding: 0;
  margin: 0;
  background: var(--color-turquoise);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-content.pg_default .entry-content .container .title {
    font-size: 1.6em;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 567px) {}

.page-content.pg_default .entry-content .container .single_header-info {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  padding-bottom: 4.0em;
  margin: 0;
}
.page-content.pg_default .entry-content .container .single_header-info :is(.cat, .time) {
  position: relative;
  display: inline-block;
  font-size: 0.9em;
  line-height: 1.5;
  width: max-content;
  max-width: 100%;
  margin: 0;
}
.page-content.pg_default .entry-content .container .single_header-info .cat {
  color: var(--color-turquoise);
  padding: 0.25em 1.0em 0.35em;
  border: 1px solid var(--color-turquoise);
  border-radius: 1.25em;
  margin-right: 0.5em;
}
.page-content.pg_default .entry-content .container .single_header-info .time {
  margin: 0;
  margin-left: 0.5em;
}

/* 投稿ページ｜フッター（sg_default.php） */
.page-footer.sg_default {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 4.0em 4.0em;
  line-height: 1.5;
}
.page-footer.sg_default .entry-footer {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-footer.sg_default {
    padding: 0 2.0em 3.0em;
  }
}
@media screen and (max-width: 567px) {}

.page-footer.sg_default .entry-footer .pagenation.single-pn {
  position: relative;
  display: flex;
  gap: 1.5em;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0;
  margin-bottom: 2.0em;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a {
  flex-grow: 0;
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: var(--color-turquoise);
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a :is(.sigle-angle-left, .sigle-angle-right) {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-left {
  padding-left: 1.25em;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-right {
  padding-right: 1.25em;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-left::before,
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-right::before {
  display: block;
  position: absolute;
  top: calc(50% - 0.1em);
  width: 0.75em;
  padding-top: 0.75em;
  content: '';
  border: 0;
  margin: 0;
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-left::before {
  left: 0%;
  border-left: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(45deg) translate(0%, -50%);
}
.page-footer.sg_default .entry-footer .pagenation.single-pn a .sigle-angle-right::before {
  right: 0%;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg) translate(0%, -50%);
}




/* ##############################################
##
##  メインコンテンツ（content.php｜the_content）
##
############################################## */
/* 見出し・本文・リンク・画像（#main_content_body） */
#main_content_body :is(h2, h3, h4, h5, h6) {
  display: block;
  position: relative;
  text-align: left;
  width: 100%;
  padding: 0;
}
#main_content_body h2 {
  margin: 0;
  margin-top: 4.0em;
  margin-bottom: 1.0em;
}
#main_content_body :is(h3, h4) {
  margin: 0;
  margin-top: 2.5em;
  margin-bottom: 1.0em;
}
#main_content_body :is(h5, h6) {
  margin: 0;
  margin-top: 2.0em;
  margin-bottom: 1.0em;
}
#main_content_body :is(h2, h3, h4, h5, h6) + :is(h2, h3, h4, h5, h6) {
  margin: 0;
  margin-top: 1.5em;
  margin-bottom: 1.0em;
}

#main_content_body h2 {
  font-size: 1.8em;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: var(--color-base);
  padding-bottom: 0.5em;
  border: none;
  border-bottom: 3px solid var(--color-lightgray);
}
#main_content_body h2::before {
  content: '';
  display: block;
  position: absolute;
  top: 100%;
  left: 0%;
  width: 25%;
  height: 3px;
  padding: 0;
  margin: 0;
  background: var(--color-orange);
}
#main_content_body h3 {
  font-size: 1.5em;
  line-height: 1.6;
  padding-left: 1.25em;
}
#main_content_body h3::before {
  content: '';
  display: block;
  position: absolute;
  top: 0.45em;
  left: 0%;
  width: 0.8em;
  height: 0.8em;
  padding: 0;
  margin: 0;
  background: var(--color-orange);
  border-radius: 50%;
}
#main_content_body h4 {
  font-size: 1.3em;
  line-height: 1.6;
  padding-left: 0.8em;
}
#main_content_body h4::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(0%, -50%);
  width: 0.3em;
  height: calc(100% - 0.5em);
  padding: 0;
  margin: 0;
  background: var(--color-green);
  border-radius: 0.15em;
}
#main_content_body h5 {
  font-size: 1.2em;
  color: var(--color-green);
}
#main_content_body h6 {
  font-size: 1.1em;
}
#main_content_body p {
  color: var(--color-base);
}
#main_content_body a {
  color: var(--color-turquoise);
}
#main_content_body a:hover {}

#main_content_body strong {
  background: linear-gradient(transparent 60%, var(--color-marker) 60%);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body h2 {
    font-size: 1.6em;
    letter-spacing: 0.07em;
  }
  #main_content_body h3 {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 567px) {}

#main_content_body .lead {
  font-weight: 700;
  font-size: 1.1em;
  color: var(--color-green);
  padding: 0 5.0em;
  margin: 2.0em 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body .lead {
    padding: 0 3.0em;
  }
}
@media screen and (max-width: 567px) {
  #main_content_body .lead {
    padding: 0 2.0em;
  }
}

#main_content_body .catch {
  position: relative;
  font-weight: 700;
  font-size: 1.3em;
  color: var(--color-orange);
  padding: 3.0em;
  margin: 3.0em 0;
}
#main_content_body .catch::before,
#main_content_body .catch::after {
  display: block;
  position: absolute;
  content: '';
  width: 3.0em;
  padding: 0;
  padding-top: 3.0em;
  border: 0;
}
#main_content_body .catch::before {
  top: 0;
  left: 0;
  border-top: 2px solid;
  border-left: 2px solid;
  border-radius: var(--round-basic) 0 0 0;
}
#main_content_body .catch::after {
  right: 0;
  bottom: 0;
  border-right: 2px solid;
  border-bottom: 2px solid;
  border-radius: 0 0 var(--round-basic) 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  #main_content_body .catch {
    font-size: 1.2em;
    padding: 2.0em;
    margin: 2.0em 0;
  }
  #main_content_body .catch::before,
  #main_content_body .catch::after {
    width: 2.0em;
    padding-top: 2.0em;
  }
}


/* ブロックカラム（#main_content_body） */
#main_content_body .wp-block-columns {
  margin: 0;
  margin-top: 4.0em;
  margin-bottom: 1.0em;
}
#main_content_body :is(h2, h3, h4, h5, h6) + .wp-block-columns {
  margin: 0;
  margin-top: 1.0em;
  margin-bottom: 1.0em;
}
#main_content_body p + .wp-block-columns {
  margin: 0;
  margin-top: 4.0em;
  margin-bottom: 1.0em;
}
#main_content_body .wp-block-columns + .wp-block-columns {
  margin: 0;
  margin-top: 4.0em;
  margin-bottom: 1.0em;
}
#main_content_body .wp-block-columns + p {
  margin: 0;
  margin-top: 4.0em;
  margin-bottom: 1.0em;
}
#main_content_body .wp-block-columns.reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body .wp-block-columns.reverse {
    flex-direction: initial;
  }
}
@media screen and (max-width: 567px) {}


/* WP-Block カラム（標準） */
@media screen and (min-width: 1024px) {
  :where(.wp-block-columns.is-layout-flex) {
    /* gap: 2em; */
    gap: 3.0em!important;
  }
  :where(.wp-block-columns) {
    /*margin-bottom: 1.75em;*/
    margin-bottom: 3.0em!important;
  }
}
@media screen and (min-width: 768px) {}
@media screen and (min-width: 568px) {}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}


/* 表組（#main_content_body） */
#main_content_body table {
  width: 100%;
  border-spacing: 0;
  margin: 2.0em 0;
}
#main_content_body table:has(+ figcaption) {
  /*margin: 2.0em 0 1.0em;*/
  margin: 2.0em 0 0.5em;
}
#main_content_body table + figcaption {
  margin: 0.5em 0 2.0em;
  /*margin-bottom: 2.0em;*/
}
#main_content_body table :is(thead, tbody) :is(th, td) {
  padding: 0.75em 1.0em 0.6em!important;
  min-width: calc(6.0em + 2px);
  border-top: 1px solid var(--color-base)!important;
  border-left: none!important;
  border-bottom: none!important;
}
#main_content_body table :is(thead, tbody) th {
  border-right: 1px solid var(--color-white)!important;
}
#main_content_body table :is(thead, tbody) td {
  border-right: 1px solid var(--color-cream)!important;
}
#main_content_body table :is(thead, tbody) tr:first-child :is(th, td) {
  border-top: none!important;
}
#main_content_body table :is(thead, tbody) :is(th, td):last-child {
  border-right: none!important;
}
#main_content_body table thead {
  border-top: 1px solid var(--color-base)!important;
  border-left: none!important;
  border-right: none!important;
  border-bottom: none!important;
}
#main_content_body table tbody {
  border-top: 1px solid var(--color-base)!important;
  border-left: none!important;
  border-right: none!important;
  border-bottom: 1px solid var(--color-base)!important;
}
#main_content_body table thead :is(th, td),
#main_content_body table thead :is(th, td) p {
  text-align: center;
  font-weight: 500;
}
#main_content_body table tbody th,
#main_content_body table tbody th p {
  font-weight: 500;
}
#main_content_body table tbody td,
#main_content_body table tbody td p {
  font-weight: 400;
}
#main_content_body table thead :is(th, td) {
  background: var(--color-cream)!important;
  text-align: center!important;
}
#main_content_body table tbody th {
  background: var(--color-cream)!important;
}
#main_content_body table tbody td {
  background: var(--color-white)!important;
}
/*
@media screen and (min-width: 1024px) {}
@media screen and (min-width: 768px) {
  #main_content_body table :is(thead, tbody) th {
    border-right: 1px solid var(--color-white)!important;
  }
  #main_content_body table :is(thead, tbody) td {
    border-right: 1px solid var(--color-cream)!important;
  }
  #main_content_body table :is(thead, tbody) tr:first-child :is(th, td) {
    border-top: none!important;
  }
}
@media screen and (min-width: 568px) {}
*/
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body table.is-stacked-on-mobile :is(thead, tbody) th {
    border-right: none!important;
  }
  #main_content_body table.is-stacked-on-mobile :is(thead, tbody) td {
    border-right: none!important;
  }
  #main_content_body table.is-stacked-on-mobile :is(thead, tbody) tr:first-child :is(th, td) {
    border-top: 1px solid var(--color-base)!important;
  }
  #main_content_body table.is-stacked-on-mobile :is(thead, tbody) tr:first-child :is(th:first-child, td:first-child) {
    border-top: none!important;
  }
}
@media screen and (max-width: 567px) {
  #main_content_body table :is(thead, tbody) :is(th, td) {
    padding: 0.75em 0.75em 0.6em!important;
  }
}

#main_content_body .wp-block-flexible-table-block-table {
  margin: 2.0em 0;
}


/* リスト（#main_content_body） */
#main_content_body :is(ul, ol):not(.smf-progress-tracker) {
  margin: 1.0em 0;
  padding-left: 1.5em;
}
#main_content_body ul:not(.smf-progress-tracker) {
  list-style-type: disc;
}
#main_content_body ol:not(.smf-progress-tracker) {
  list-style-type: decimal;
}
#main_content_body :is(ul, ol):not(.smf-progress-tracker) li {
  margin: 0.5em 0;
  padding-left: 0.5em;
}
#main_content_body :is(ul, ol):not(.smf-progress-tracker) li::marker {
  /*color: var(--color-base);*/
  color: var(--color-green);
}
#main_content_body :is(ul, ol):not(.smf-progress-tracker) li:first-child {
  margin: 0 0 0.5em;
}
#main_content_body :is(ul, ol):not(.smf-progress-tracker) li:last-child {
  margin: 0.5em 0 0;
}

#main_content_body li > :is(ul, ol):not(.smf-progress-tracker) {
  margin: 0.5em 0;
}
#main_content_body li > :is(ul, ol):not(.smf-progress-tracker) li,
#main_content_body li > :is(ul, ol):not(.smf-progress-tracker) li:first-child,
#main_content_body li > :is(ul, ol):not(.smf-progress-tracker) li:last-child {
  margin: 0;
}


/* ボタン（#main_content_body） */
#main_content_body .link-btn {
  position: relative;
  display: block;
  width: 100%;
  margin: 1.0em 0 1.5em;
}
#main_content_body .link-btn a {
  position: relative;
  display: inline-block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.0em;
  color: var(--color-white);
  padding: 1.0em;
  padding-left: 1.5em;
  padding-right: 2.5em;
  margin: 0 auto;
  margin-top: 0.5em;
  border-radius: 2.0em;
  line-height: 1.5;
  text-decoration: none;
  width: max-content;
  max-width: 100%;
  background: var(--color-turquoise);
  cursor: pointer;
  transition: 0.15s;
}
#main_content_body .link-btn a:hover {
  color: var(--color-base);
  background: var(--color-cream);
  transition: 0.15s;
}
#main_content_body .link-btn a::after {
  position: absolute;
  display: block;
  top: 50%;
  right: 1.5em;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform-origin: top left;
  transform: rotate(-45deg) translate(0%, 0%);
  content: '';
  transition: 0.3s;
}
#main_content_body .link-btn a:hover::after {
  right: 1.25em;
  transition: 0.3s;
}
#main_content_body .link-btn a + a {
  margin-left: 0.5em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body .link-btn a {
    display: block;
    width: 100%;
    text-align: center;
  }
  #main_content_body .link-btn a + a {
    margin-left: auto;
  }
}
@media screen and (max-width: 567px) {}


/* 画像（#main_content_body） */
#main_content_body figure img {
  border-radius: var(--round-basic);
  overflow: hidden;
}
#main_content_body figure.no-round img {
  border-radius: 0;
}


/* 画像キャプション｜ブロック（#main_content_body）*/
#main_content_body .wp-block-image :where(figcaption),
#main_content_body .wp-block-video :where(figcaption) {
  font-size: 0.9em;
}


/* 区切り罫（#main_content_body）*/
#main_content_body hr,
.wp-block-separator {
  border: none;
  border-top: 1px solid;
  width: 100%;
  /*margin: 4.0em 0;*/
  margin: 6.0em 0;
}
#main_content_body hr,
.wp-block-separator {
  /*border-top: 1px solid var(--color-cream)!important;*/
  border-top: 3px dotted var(--color-cream)!important;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body hr,
  .wp-block-separator {
    margin: 4.0em 0;
  }
}
@media screen and (max-width: 567px) {}


/* 引用（カテゴリー：review で使用）（#main_content_body）*/
#main_content_body .review {}
#main_content_body .wp-block-quote {
  position: relative;
  border: none;
  padding-top: 2.5em;
  padding-left: 3.0em;
  padding-right: 2.5em;
  padding-bottom: 2.0em;
}
#main_content_body .wp-block-quote::before,
#main_content_body .wp-block-quote::after {
  display: inline-block;
  position: absolute;
  width: 4.0em;
  height: 4.0em;
  border: none;
  content: '';
}
#main_content_body .wp-block-quote::before {
  top: 0;
  left: 0;
  border-top: 1px solid var(--color-turquoise);
  border-left: 1px solid var(--color-turquoise);
  border-top-left-radius: var(--round-basic);
  /* --color-turquoise : #70b9bf｜fill='%2370b9bf' */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.58341 17.3211C3.55316 16.2274 3 15 3 13.0103C3 9.51086 5.45651 6.37366 9.03059 4.82318L9.92328 6.20079C6.58804 8.00539 5.93618 10.346 5.67564 11.822C6.21263 11.5443 6.91558 11.4466 7.60471 11.5105C9.40908 11.6778 10.8312 13.159 10.8312 15C10.8312 16.933 9.26416 18.5 7.33116 18.5C6.2581 18.5 5.23196 18.0095 4.58341 17.3211ZM14.5834 17.3211C13.5532 16.2274 13 15 13 13.0103C13 9.51086 15.4565 6.37366 19.0306 4.82318L19.9233 6.20079C16.588 8.00539 15.9362 10.346 15.6756 11.822C16.2126 11.5443 16.9156 11.4466 17.6047 11.5105C19.4091 11.6778 20.8312 13.159 20.8312 15C20.8312 16.933 19.2642 18.5 17.3312 18.5C16.2581 18.5 15.232 18.0095 14.5834 17.3211Z' fill='%2370b9bf'%3E%3C/path%3E%3C/svg%3E");
  background-position: top 35% left 35%;
  background-size: 2.0em;
  background-repeat: no-repeat;
}
#main_content_body .wp-block-quote::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid var(--color-turquoise);
  border-bottom: 1px solid var(--color-turquoise);
  border-bottom-right-radius: var(--round-basic);
}
#main_content_body .wp-block-quote p {
  display: block;
  color: var(--color-gray)!important;
}
#main_content_body .wp-block-quote .cite {
  font-size: 0.8em;
  text-align: right;
  transform: skewX(-7deg);
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body .wp-block-quote {
    padding-top: 2.0em;
    padding-left: 2.5em;
    padding-right: 2.0em;
    padding-bottom: 1.5em;
  }
  #main_content_body .wp-block-quote::before,
  #main_content_body .wp-block-quote::after {
    width: 3.5em;
    height: 3.5em;
  }
  #main_content_body .wp-block-quote::before {
    background-position: top 40% left 40%;
    background-size: 1.75em;
  }
}
@media screen and (max-width: 567px) {}


/* Googleマップ埋め込み（#main_content_body） */
#main_content_body .embed-googlemap {
  position: relative;
  width: 100%;
  padding-top: 295px;
  display: block;
  border-radius: var(--round-basic);
  overflow: hidden;
}
#main_content_body .embed-googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* ページリンク ボタン（#main_content_body）*/
#main_content_body ul.page-list-btn {
  position: relative;
  display: flex;
  gap: 1.5em;
  flex-wrap: wrap;
  list-style-type: none;
  width: 100%;
  padding: 0;
  margin: 0;
  margin-top: 4.0em;
  margin-bottom: 4.0em;
}
#main_content_body ul.page-list-btn li {
  position: relative;
  display: flex;
  width: calc((100% - 1.5em * 2) / 3);
  max-width: 100%;
  padding: 0!important;
  margin: 0!important;
}
#main_content_body ul.page-list-btn li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.0em;
  text-decoration: none;
  color: var(--color-turquoise);
  background: var(--color-lightgray);
  width: 100%;
  padding: 2.0em 1.0em;
  padding-right: 2.0em;
  border-radius: var(--round-basic);
  transition: 0.2s;
}
#main_content_body ul.page-list-btn li a::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 1.0em;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform-origin: top left;
  transform: rotate(-45deg) translate(0%, 0%);
  content: '';
  transition: 0.2s;
}
#main_content_body ul.page-list-btn li a:hover {
  color: var(--color-base);
  background: var(--color-cream);
  transition: 0.1s;
}
#main_content_body ul.page-list-btn li a:hover::after {
  transition: 0.1s;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body ul.page-list-btn li {
    width: calc((100% - 1.5em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  #main_content_body ul.page-list-btn {
    gap: 1.0em;
  }
  #main_content_body ul.page-list-btn li {
    width: calc((100% - 1.5em * 0) / 1);
  }
}


/* ページアンカー ボタン（#main_content_body）*/
#main_content_body ul.page-anchor-btn {
  position: relative;
  display: flex;
  gap: 1.5em;
  flex-wrap: wrap;
  list-style-type: none;
  width: 100%;
  padding: 0;
  margin: 0;
  margin-top: 4.0em;
  margin-bottom: 4.0em;
}
#main_content_body ul.page-anchor-btn.center {
  justify-content: center;
}
#main_content_body ul.page-anchor-btn li {
  position: relative;
  display: flex;
  width: calc((100% - 1.5em * 2) / 3);
  max-width: 100%;
  padding: 0!important;
  margin: 0!important;
}
#main_content_body ul.page-anchor-btn li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.0em;
  text-decoration: none;
  color: var(--color-turquoise);
  width: 100%;
  padding: 0;
  /*padding-right: 1.5em;*/
  padding-left: 1.5em;
  padding-right: 1.5em;
  transition: 0.2s;
}
#main_content_body ul.page-anchor-btn li a::after {
  display: block;
  position: absolute;
  top: 50%;
  /*right: 0.5em;*/
  left: 0;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-left: 1px solid;
  border-bottom: 1px solid;
  transform-origin: top left;
  /*transform: rotate(-45deg) translate(0%, 0%);*/
  transform: rotate(-45deg) translate(20%, -20%);
  content: '';
  transition: 0.2s;
}
#main_content_body ul.page-anchor-btn li a:hover {
  color: var(--color-base);
  transition: 0.1s;
}
#main_content_body ul.page-anchor-btn li a:hover::after {
  transition: 0.1s;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body ul.page-anchor-btn li {
    width: calc((100% - 1.5em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  #main_content_body ul.page-anchor-btn {
    gap: 1.0em;
  }
  #main_content_body ul.page-anchor-btn li {
    width: calc((100% - 1.5em * 0) / 1);
  }
}


/* ########################
##  数字で見るホクチン（/data/）（#main_content_body）
######################## */
#main_content_body .recruit-data {
  width: 100%;}
#main_content_body .recruit-data .wp-block-column {
  display: flex;
  gap: 1.0em;
  flex-wrap: wrap;
  width: 100%;
}
#main_content_body .recruit-data .wp-block-column figure {
  flex-grow: 1;
  display: block;
  width: 100%;
  max-width: calc((100% - 1.0em * 2) / 3);
  margin-bottom: 0;
}
#main_content_body .recruit-data .wp-block-column figure img {
  width: 100%;
  border-radius: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  #main_content_body .recruit-data .wp-block-column figure {
    max-width: calc((100% - 1.0em * 1) / 2);
  }
}
@media screen and (max-width: 567px) {
  #main_content_body .recruit-data .wp-block-column {
    gap: 0.5em;
  }
}


/* ########################
##  よくある質問（FAQ）（/faq/）（#main_content_body）
######################## */
#main_content_body .faq_box {
  margin: 4.0em 0;
}
#main_content_body h2 + .faq_box {
  margin-top: 4.0em;
}

#main_content_body .faq_box h4 {
  position: relative!important;
  display: block!important;
  padding-left: 1.5em!important;
  letter-spacing: 0!important;
  font-weight: 500!important;
  font-size: 1.2em!important;
  line-height: 1.5!important;
  color: var(--color-base)!important;
  width: 100%;
  margin-bottom: 1.0em!important;
}
#main_content_body .faq_box h4::before {
  display: block!important;
  position: absolute!important;
  top: 0!important;
  left: 0.1em!important;
  transform: translate(0, -0.05em) scale(105%)!important;
  content: 'Q'!important;
  color: var(--color-turquoise)!important;
  width: auto!important;
  height: auto!important;
  background-color: transparent!important;
}
#main_content_body .faq_box p {
  position: relative;
  display: block;
  padding-left: calc(1.5em * 1.2);
  color: var(--color-base);
  width: 100%;
  margin: 0.5em 0!important;
}
#main_content_body .faq_box p.link-btn {
  margin: 1.0em 0!important;
}
#main_content_body .faq_box p::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0.15em;
  transform: translate(0, -0.15em) scale(105%);
  content: 'A';
  font-weight: 500;
  font-size: 1.2em;
  color: var(--color-turquoise);
}
#main_content_body .faq_box p + p::before {
  display: none!important;
}


/* [inner_post_list] ショートコード（#main_content_body） */
.inner_post_list,
.inner_post_list ul.post_list,
.inner_post_list ul.post_list li {
  position: relative;
  display: block;
  width: 100%;
  padding: 0!important;
  margin: 0!important;
}
.inner_post_list {}
.inner_post_list ul.post_list {
  list-style-type: none;
}
.inner_post_list ul.post_list li {
  border: none;
  border-bottom: 1.5px solid var(--color-lightgray);
}
.inner_post_list ul.post_list li:first-child {
  border-top: 1.5px solid var(--color-lightgray);
}
.inner_post_list ul.post_list li :is(a, .nolink) {
  position: relative;
  display: flex;
  row-gap: 0.5em;
  column-gap: 1.5em;
  flex-wrap: wrap;
  width: 100%;
  padding: 1.5em 1.0em;
  margin: 0;
}
.inner_post_list ul.post_list li a {
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.inner_post_list ul.post_list li a:hover {
  background-color: var(--color-lightgray);
}
.inner_post_list ul.post_list li :is(a, .nolink) :is(.cat, .date, .content) {
  line-height: 1.5;
}
.inner_post_list ul.post_list li :is(a, .nolink) .cat {
  flex-grow: 0;
  width: max-content;
  max-width: 100%;
}
.inner_post_list ul.post_list li :is(a, .nolink) .cat .info-cat {}
.inner_post_list ul.post_list li :is(a, .nolink) .date {
  flex-grow: 0;
  width: max-content;
  max-width: 100%;
}
.inner_post_list ul.post_list li :is(a, .nolink) .date .info-date {}
.inner_post_list ul.post_list li :is(a, .nolink) .content {
  flex-grow: 1;
}
.inner_post_list ul.post_list li :is(a, .nolink) .content .info-content {}
.inner_post_list ul.post_list li :is(a, .nolink) .edit {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .inner_post_list ul.post_list li :is(a, .nolink) .content {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .inner_post_list ul.post_list li :is(a, .nolink) {
    padding: 1.0em 0.5em;
  }
}
@media screen and (max-width: 567px) {}


/* [inner_card] ショートコード（#main_content_body） */
#main_content_body .card-tile {
  position: relative;
  display: block;
  width: calc(100% + (1.0em * 2));
  margin: 4.0em -1.0em 4.0em;
}
#main_content_body .card-tile .pure-g {
  width: 100%;
}
#main_content_body .card-tile .pure-g > div {
  display: flex;
  flex-direction: column;
  padding: 0 1.0em 2.0em;
}
#main_content_body .card-tile .pure-g > div a.card {
  flex-grow: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  margin: 0;
  line-height: 1.5;
  text-decoration: none;
  background: var(--color-lightgray);
  border-radius: var(--round-basic);
  overflow: hidden;
}
#main_content_body .card-tile .pure-g > div a.card:hover {}

#main_content_body .card-tile .pure-g > div a.card .card-image {
  flex-grow: 0;
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  padding-top: 100%;
  background: var(--color-lightgray);
  overflow: hidden;
}
#main_content_body .card-tile .pure-g > div a.card .card-image img {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1.0;
  transform: scale(100%);
  transition: 0.3s;
}
#main_content_body .card-tile .pure-g > div a.card:hover .card-image img {
  opacity: 0.8;
  transform: scale(105%);
  transition: 0.3s;
}

#main_content_body .card-tile .pure-g > div a.card .card-content {
  flex-grow: 1;
  position: relative;
  display: block;
  width: 100%;
  /*padding: 0.5em 1.5em 1.5em;*/
  /*padding: 0.75em 1.5em 1.5em;*/
  /*padding: 1.0em 1.5em 1.5em;*/
  padding: 1.0em 1.0em 1.25em;
}
#main_content_body .card-tile .pure-g > div a.card .card-content .card-title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  /*font-size: 1.2em;*/
  font-size: 1.1em;
  color: var(--color-base);
  margin: 0;
  margin-bottom: 0.5em;
  transition: 0.2s;
}
#main_content_body .card-tile .pure-g > div a.card:hover .card-content .card-title {
  color: var(--color-turquoise);
  transition: 0.2s;
}
#main_content_body .card-tile .pure-g > div a.card .card-content .card-summary {
  font-size: 0.9em;
  color: var(--color-base);
}
#main_content_body .card-tile .pure-g > div a.card:hover .card-content .card-summary {
  color: var(--color-turquoise);
  transition: 0.2s;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  #main_content_body .card-tile {
    width: calc(100% + (0.5em * 2));
    margin: 3.0em -0.5em 3.0em;
  }
  #main_content_body .card-tile .pure-g > div {
    padding: 0 0.5em 1.0em;
  }
  #main_content_body .card-tile .pure-g > div a.card .card-content {
    /*padding: 0.5em 1.0em 1.0em;*/
    padding: 0.75em 1.0em 1.0em;
  }
}

/* [inner_card_interview] ショートコード（#main_content_body） */
/* [inner_card] の差分 */
#main_content_body .card-tile .pure-g > div a.card .card-content .card-dept {
  position: relative;
  display: inline-block;
  margin: 0;
  margin-right: 0.5em;
  margin-bottom: 0.5em;
}
#main_content_body .card-tile .pure-g > div a.card .card-content .card-dept .dept {
  display: block;
  position: relative;
  font-size: 0.8em;
  padding: 0.2em 0.75em 0.25em;
  color: var(--color-turquoise);
  border: 1px solid;
  border-radius: 1.5em;
}
#main_content_body .card-tile .pure-g > div a.card .card-content .card-year {
  display: inline-block;
  margin: 0;
  margin-bottom: 0.5em;
}
#main_content_body .card-tile .pure-g > div a.card .card-content .card-background {
  display: block;
  margin: 0;
}
#main_content_body .card-tile .pure-g > div a.card .card-content :is(.card-year, .card-background) {
  position: relative;
  font-size: 0.9em;
  color: var(--color-base);
  transition: all 0.2s;
}
#main_content_body .card-tile .pure-g > div a.card:hover .card-content :is(.card-year, .card-background) {
  color: var(--color-turquoise);
  transition: all 0.2s;
}


/* ########################
##  ## エレメント（/site-elements/）（#main_content_body）
######################## */
/* ## エレメント｜ショートコード表示用 */
#main_content_body .elements_code {
  font-family: "Roboto Mono", monospace;
  font-weight: 500;
  font-size: 0.9em;
  padding: 0.75em 1.0em;
  margin: 1.5em 0;
  background: var(--color-lightgray);
}



/* ##############################################
##
##  エディタ（エレメント）用
##
############################################## */
/* マージン margin （上下） */
.mt-0 { margin-top: 0!important; }
.mt-1 { margin-top: 1.0em!important; }
.mt-2 { margin-top: 2.0em!important; }
.mt-3 { margin-top: 3.0em!important; }
.mt-4 { margin-top: 4.0em!important; }
.mt-5 { margin-top: 5.0em!important; }
.mt-6 { margin-top: 6.0em!important; }
.mt-7 { margin-top: 7.0em!important; }
.mt-8 { margin-top: 8.0em!important; }
.mb-0 { margin-bottom: 0!important; }
.mb-1 { margin-bottom: 1.0em!important; }
.mb-2 { margin-bottom: 2.0em!important; }
.mb-3 { margin-bottom: 3.0em!important; }
.mb-4 { margin-bottom: 4.0em!important; }
.mb-5 { margin-bottom: 5.0em!important; }
.mb-6 { margin-bottom: 6.0em!important; }
.mb-7 { margin-bottom: 7.0em!important; }
.mb-8 { margin-bottom: 8.0em!important; }

.mt-05 { margin-top: 0.5em!important; }
.mt-15 { margin-top: 1.5em!important; }
.mt-25 { margin-top: 2.5em!important; }
.mt-35 { margin-top: 3.5em!important; }
.mt-45 { margin-top: 4.5em!important; }
.mt-55 { margin-top: 5.5em!important; }
.mt-65 { margin-top: 6.5em!important; }
.mt-75 { margin-top: 7.5em!important; }
.mt-85 { margin-top: 8.5em!important; }
.mb-05 { margin-bottom: 0.5em!important; }
.mb-15 { margin-bottom: 1.5em!important; }
.mb-25 { margin-bottom: 2.5em!important; }
.mb-35 { margin-bottom: 3.5em!important; }
.mb-45 { margin-bottom: 4.5em!important; }
.mb-55 { margin-bottom: 5.5em!important; }
.mb-65 { margin-bottom: 6.5em!important; }
.mb-75 { margin-bottom: 7.5em!important; }
.mb-85 { margin-bottom: 8.5em!important; }

/* パディング padding （上下・左右） */
.py-0 { padding-top: 0; padding-bottom: 0; }
.py-1 { padding-top: 1.0em; padding-bottom: 1.0em; }
.py-2 { padding-top: 2.0em; padding-bottom: 2.0em; }
.py-3 { padding-top: 3.0em; padding-bottom: 3.0em; }
.py-4 { padding-top: 4.0em; padding-bottom: 4.0em; }
.py-5 { padding-top: 5.0em; padding-bottom: 5.0em; }
.py-6 { padding-top: 6.0em; padding-bottom: 6.0em; }
.py-7 { padding-top: 7.0em; padding-bottom: 7.0em; }
.py-8 { padding-top: 8.0em; padding-bottom: 8.0em; }
.px-0 { padding-left: 0; padding-right: 0; }
.px-1 { padding-left: 1.0em; padding-right: 1.0em; }
.px-2 { padding-left: 2.0em; padding-right: 2.0em; }
.px-3 { padding-left: 3.0em; padding-right: 3.0em; }
.px-4 { padding-left: 4.0em; padding-right: 4.0em; }
.px-5 { padding-left: 5.0em; padding-right: 5.0em; }
.px-5 { padding-left: 6.0em; padding-right: 6.0em; }
.px-5 { padding-left: 7.0em; padding-right: 7.0em; }
.px-5 { padding-left: 8.0em; padding-right: 8.0em; }

.py-05 { padding-top: 0.5em; padding-bottom: 0.5em; }
.py-15 { padding-top: 1.5em; padding-bottom: 1.5em; }
.py-25 { padding-top: 2.5em; padding-bottom: 2.5em; }
.py-35 { padding-top: 3.5em; padding-bottom: 3.5em; }
.py-45 { padding-top: 4.5em; padding-bottom: 4.5em; }
.py-55 { padding-top: 5.5em; padding-bottom: 5.5em; }
.py-65 { padding-top: 6.5em; padding-bottom: 6.5em; }
.py-75 { padding-top: 7.5em; padding-bottom: 7.5em; }
.py-85 { padding-top: 8.5em; padding-bottom: 8.5em; }
.px-05 { padding-left: 0.5em; padding-right: 0.5em; }
.px-15 { padding-left: 1.5em; padding-right: 1.5em; }
.px-25 { padding-left: 2.5em; padding-right: 2.5em; }
.px-35 { padding-left: 3.5em; padding-right: 3.5em; }
.px-45 { padding-left: 4.5em; padding-right: 4.5em; }
.px-55 { padding-left: 5.5em; padding-right: 5.5em; }
.px-65 { padding-left: 6.5em; padding-right: 6.5em; }
.px-75 { padding-left: 7.5em; padding-right: 7.5em; }
.px-85 { padding-left: 8.5em; padding-right: 8.5em; }

.pt-0 { padding-top: 0; }
.pt-1 { padding-top: 1.0em; }
.pt-2 { padding-top: 2.0em; }
.pt-3 { padding-top: 3.0em; }
.pt-4 { padding-top: 4.0em; }
.pt-5 { padding-top: 5.0em; }
.pt-6 { padding-top: 6.0em; }
.pt-7 { padding-top: 7.0em; }
.pt-8 { padding-top: 8.0em; }
.pt-05 { padding-top: 0.5em; }
.pt-15 { padding-top: 1.5em; }
.pt-25 { padding-top: 2.5em; }
.pt-35 { padding-top: 3.5em; }
.pt-45 { padding-top: 4.5em; }
.pt-55 { padding-top: 5.5em; }
.pt-65 { padding-top: 6.5em; }
.pt-75 { padding-top: 6.5em; }
.pt-85 { padding-top: 6.5em; }

.pb-0 { padding-bottom: 0; }
.pb-1 { padding-bottom: 1.0em; }
.pb-2 { padding-bottom: 2.0em; }
.pb-3 { padding-bottom: 3.0em; }
.pb-4 { padding-bottom: 4.0em; }
.pb-5 { padding-bottom: 5.0em; }
.pb-6 { padding-bottom: 6.0em; }
.pb-7 { padding-bottom: 7.0em; }
.pb-8 { padding-bottom: 8.0em; }
.pb-05 { padding-bottom: 0.5em; }
.pb-15 { padding-bottom: 1.5em; }
.pb-25 { padding-bottom: 2.5em; }
.pb-35 { padding-bottom: 3.5em; }
.pb-45 { padding-bottom: 4.5em; }
.pb-55 { padding-bottom: 5.5em; }
.pb-65 { padding-bottom: 6.5em; }
.pb-75 { padding-bottom: 7.5em; }
.pb-85 { padding-bottom: 8.5em; }




/* ##############################################
##
##  お問い合わせフォーム｜Snow Monkey Form
##
############################################## */
/* お問い合わせフォーム｜Snow Monkey Form｜ラベル［必須］ */
.form-label_hissu .smf-item__label__text {
  position: relative;
}
.form-label_hissu .smf-item__label__text::after {
  position: relative;
  display: inline-block;
  content: '［必須］';
  color: var(--color-red);
  font-weight: 500;
  font-size: 0.9em;
}

/* お問い合わせフォーム｜Snow Monkey Form｜ラベル背景色 */
.smf-form--business .smf-item__col--label {
  background-color: var(--color-lightgray)!important;
}

/* お問い合わせフォーム｜Snow Monkey Form｜テキスト入力・文字サイズ */
.smf-text-control input,
.smf-textarea-control textarea {
  font-size: 1.0em;
}

/* お問い合わせフォーム｜Snow Monkey Form｜設問注釈・文字サイズ */
.smf-item__description {
  font-size: 0.8em!important;
}

/* お問い合わせフォーム｜Snow Monkey Form｜ボタン・文字サイズ */
.smf-button-control button {
  font-size: 1.0em;
}

/* お問い合わせフォーム｜Snow Monkey Form｜項目説明・文字サイズ */
.smf-placeholder {
  margin-bottom: 1.0em;
}
.smf-placeholder:last-child {
  margin-bottom: 0;
}
.smf-control-description {
  font-size: 0.9em!important;
}

#main_content_body .snow-monkey-form {
  margin-top: 3.0em;
}




/* ##############################################
##
##  アーカイブページ｜ニュース（achv_news-tile.php）
##  固定ページ｜ニュース（pg_news-tile.php）
##
############################################## */
/* ニュース｜メイン（achv_news-tile.php、pg_news-tile.php） */
.page-content.news {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
}
.page-content.news .entry-content {
  padding: 4.0em 4.0em;
}
.page-content.news .entry-content .container {
  max-width: 1100px;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-content.news .entry-content {
    padding: 3.0em 2.0em;
  }
}
@media screen and (max-width: 567px) {}

/* ニュース｜カテゴリタブ（achv_news-tile.php、pg_news-tile.php） */
.page-content.news .entry-content .container.news-tab {
  margin-bottom: 4.0em;
}
.page-content.news .entry-content .container.news-tab ul {
  position: relative;
  display: flex;
  gap: 0.5em;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style-type: none;
  line-height: 1.5;
}
.page-content.news .entry-content .container.news-tab ul li {
  flex-grow: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-content.news .entry-content .container.news-tab ul li a {
  text-decoration: none;
  padding: 0.15em 0.75em 0.3em;
  border-radius: 1.5em;
  background: var(--color-white);
  border: 1px solid var(--color-turquoise);
}
.page-content.news .entry-content .container.news-tab ul li a:hover {
  background: var(--color-turquoise);
  transition: 0.15s;
}
.page-content.news .entry-content .container.news-tab ul li a span {
  position: relative;
  display: inline-block;
  font-size: 0.85em;
  color: var(--color-turquoise);
  width: 100%;
  max-width: max-content;
}
.page-content.news .entry-content .container.news-tab ul li a span::after {
  position: relative;
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  border: none;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
  margin-left: 0.5em;
  content: '';
  transition: 0.3s;
}
.page-content.news .entry-content .container.news-tab ul li a:hover span {
  color: var(--color-white);
}
.page-content.news .entry-content .container.news-tab ul li a:hover span::after {
  /*margin-left: 1.0em;*/
  transition: 0.3s;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}

/* ニュース｜ニュース｜一覧タイル（achv_news-tile.php、pg_news-tile.php） */
.news-body {}
.news-body .cat-title {
  font-size: 1.7em;
  margin-bottom: 1.5em;
}

.news-body .news-tile {
  position: relative;
  display: block;
  width: calc(100% + (1.0em * 2));
  margin: 0 -1.0em;
}
.news-body .news-tile .pure-g {
  width: 100%;
}
.news-body .news-tile .pure-g > div {
  display: flex;
  flex-direction: column;
  padding: 0 1.0em 2.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .news-body .news-tile {
    width: calc(100% + (0.5em * 2));
    margin: 0 -0.5em;
  }
  .news-body .news-tile .pure-g > div {
    padding: 0 0.5em 1.0em;
  }
}

/* ニュース｜ニュース｜一覧タイル（loop-news-tile.php） */
.news-body .news-tile .pure-g > div > :is(a, .nolink) {
  flex-grow: 1;
}
.news-body .news-tile .pure-g > div > .edit {
  flex-grow: 0;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  margin: 0;
  line-height: 1.5;
  text-decoration: none;
  background: var(--color-lightgray);
  border-radius: var(--round-basic);
  overflow: hidden;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) :is(.image, .date, .cat) {
  flex-grow: 0;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .content {
  flex-grow: 1;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) :is(.image, .date, .content, .cat) {
  position: relative;
  display: block;
  width: 100%;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) :is(.date, .content, .cat) {
  padding: 0.5em 1.5em 0;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .date {
  padding-top: 1.0em;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .cat {
  padding-bottom: 1.5em;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .image {
  padding: 0;
  padding-top: 100%;
  overflow: hidden;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .image img {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1.0;
  transform: scale(100%);
  transition: 0.3s;
}
.news-body .news-tile .pure-g > div > a:hover .image img {
  opacity: 0.8;
  transform: scale(105%);
  transition: 0.3s;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .date {}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .date .info-date {
  font-size: 0.9em;
  color: var(--color-base);
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .content {}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .content .info-content {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  color: var(--color-base);
  transition: 0.2s;
}
.news-body .news-tile .pure-g > div > a:hover .content .info-content {
  color: var(--color-turquoise);
  transition: 0.2s;
}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .cat {}
.news-body .news-tile .pure-g > div > :is(a, .nolink) .cat .info-cat {
  font-size: 0.8em;
  color: var(--color-turquoise);
  margin-right: 0.75em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {
  .news-body .news-tile .pure-g > div > :is(a, .nolink) :is(.date, .content, .cat) {
    padding: 0.5em 1.0em 0;
  }
  .news-body .news-tile .pure-g > div > :is(a, .nolink) .date {
    padding-top: 0.75em;
  }
  .news-body .news-tile .pure-g > div > :is(a, .nolink) .cat {
    padding-bottom: 1.0em;
  }
}

/* ニュース｜フッター（achv_news-tile.php、pg_news-tile.php） */
.page-footer.news {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 4.0em 4.0em;
  line-height: 1.5;
}
.page-footer.news .entry-footer {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .page-footer.news {
    padding: 0 2.0em 3.0em;
  }
}
@media screen and (max-width: 567px) {}

.page-footer.news .entry-footer .p-navi {}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  固定ページ｜インタビュー（pg_interview.php）
##
############################################## */
/*  固定ページ｜社員インタビュー（pg_interview.php） */
.pg_interview {}
.pg_interview .itv_main_wrap {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 3.0em;
  width: 100%;
  padding: 0;
  margin: 0;
  margin-bottom: 5.0em;
}
.pg_interview .itv_main_wrap:last-child {
  margin-bottom: 0;
}
.pg_interview .itv_main_wrap.reverse {
  flex-direction: row-reverse;
}
.pg_interview .itv_main_wrap .itv_main_body {
  flex-grow: 1;
  display: block;
  position: relative;
  width: 100%;
  max-width: 750px;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .pg_interview .itv_main_wrap,
  .pg_interview .itv_main_wrap.reverse {
    flex-direction: column;
  }
}
@media screen and (max-width: 567px) {}

.pg_interview :is(.itv-q, .itv-a) {
  display: block;
  position: relative;
  z-index: 0;
}
.pg_interview .itv-q {
  margin: 0;
  margin-top: 3.0em;
}
.pg_interview .itv-q span {
  display: inline-block;
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.3em;
  color: var(--color-base);
  z-index: 1;
}
.pg_interview .itv-q span::before {
  display: block;
  position: absolute;
  top: -0.75em;
  left: -0.35em;
  content: 'Q';
  font-weight: 700;
  font-size: 3.0em;
  color: var(--color-turquoise);
  opacity: 0.3;
  z-index: -1;
}
.pg_interview .itv-a {
  font-size: 1.0em;
  margin: 0;
  margin-top: 1.0em;
}
@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .pg_interview .itv-q span::before {
    top: -0.65em;
    left: -0.25em;
    font-size: 2.75em;
  }
}
@media screen and (max-width: 567px) {}

.pg_interview :is(.itv-subimg_1, .itv-subimg_2) {
  display: block;
  position: relative;
  width: 100%;
  padding: 0;
  padding-top: calc(100% * 2 / 3);
  border-radius: var(--round-large);
  overflow: hidden;
}
.pg_interview .itv-subimg_1 {}
.pg_interview .itv-subimg_2 {}
.pg_interview :is(.itv-subimg_1, .itv-subimg_2) img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .pg_interview :is(.itv-subimg_1, .itv-subimg_2) {
    padding-top: calc(100% * 1 / 1);
  }
}
@media screen and (max-width: 767px) {
  .pg_interview :is(.itv-subimg_1, .itv-subimg_2) {
    padding-top: calc(100% * 2 / 3);
  }
}
@media screen and (max-width: 567px) {
  .pg_interview :is(.itv-subimg_1, .itv-subimg_2) {
    padding-top: calc(100% * 1 / 1);
  }
}




/* ##############################################
##
##  ページナビ（.p-navi）
##
############################################## */
/* ■ページナビ（.p-navi）｜矢印のウェイト */
:root {
  --arrow-weight: 2px;
}

/* ページナビ（.p-navi） */
.p-navi {
  display: block;
  margin: 0 auto;
  width: max-content;
  padding: 0;
  font-size: 1.1em;
}
.p-navi:has(.wp-pagenavi) {
  padding: 0;
}

.p-navi,
.p-navi * {
  font-weight: 700;
}
.wp-pagenavi a {
  text-decoration: none;
}
.wp-pagenavi {
  align-items: center;
  display: flex;
  justify-content: center;
}
.wp-pagenavi :is(.page, .current) {
  display: block;
  margin: 0 0.5em;
  font-size: 1.0em;
  text-align: center;
  border: none;
}
.wp-pagenavi .page {
  color: var(--color-turquoise);
}
.wp-pagenavi .current {
  color: var(--color-base);
}
.wp-pagenavi .pages {
  border: none;
  font-weight: 400;
  color: var(--color-base);
  margin-right: 1.0em;
}
.wp-pagenavi :is(.first, .last) {
  border: none;
  color: var(--color-turquoise);
}
.wp-pagenavi :is(.first, .last) span {
  margin: 0 0.5em;
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) {
  border: none;
  color: var(--color-turquoise);
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) span {
  margin: 0 0.5em;
}
.wp-pagenavi .extend {
  display: none;
}

.wp-pagenavi :is(.first, .last) span {
  position: relative;
  display: block;
  width: 1.0em;
  padding-top: 1.0em;
  color: var(--color-turquoise);
  line-height: 1.0;
}
.wp-pagenavi :is(.first, .last) span.start::before,
.wp-pagenavi :is(.first, .last) span.start::after,
.wp-pagenavi :is(.first, .last) span.end::before,
.wp-pagenavi :is(.first, .last) span.end::after {
  display: block;
  position: absolute;
  top: calc(50% + 0.07em);
  content: '';
  width: 0.55em;
  padding-top: calc(0.55em - var(--arrow-weight));
  border: 0;
  transform-origin: top left;
}
.wp-pagenavi :is(.first, .last) span.start::before,
.wp-pagenavi :is(.first, .last) span.start::after {
  transform: rotate(45deg) translate(-50%, -50%);
  border-left: var(--arrow-weight) solid;
  border-bottom: var(--arrow-weight) solid;
}
.wp-pagenavi :is(.first, .last) span.start::before {
  left: calc(75% - 3px);
}
.wp-pagenavi :is(.first, .last) span.start::after {
  left: calc(75% + 3px);
}
.wp-pagenavi :is(.first, .last) span.end::before,
.wp-pagenavi :is(.first, .last) span.end::after {
  transform: rotate(-45deg) translate(-50%, -50%);
  border-right: var(--arrow-weight) solid;
  border-bottom: var(--arrow-weight) solid;
}
.wp-pagenavi :is(.first, .last) span.end::before {
  left: calc(25% - 3px);
}
.wp-pagenavi :is(.first, .last) span.end::after {
  left: calc(25% + 3px);
}

.wp-pagenavi :is(.nextpostslink, .previouspostslink) span {
  position: relative;
  display: block;
  width: 1.0em;
  padding-top: 1.0em;
  color: var(--color-turquoise);
  line-height: 1.0;
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) span.prev::after,
.wp-pagenavi :is(.nextpostslink, .previouspostslink) span.next::after {
  display: block;
  position: absolute;
  top: calc(50% + 0.07em);
  content: '';
  width: 0.6em;
  padding-top: calc(0.6em - var(--arrow-weight));
  border: 0;
  transform-origin: top left;
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) span.prev::after {
  left: 75%;
  transform: rotate(45deg) translate(-50%, -50%);
  border-left: var(--arrow-weight) solid;
  border-bottom: var(--arrow-weight) solid;
}
.wp-pagenavi :is(.nextpostslink, .previouspostslink) span.next::after {
  left: 25%;
  transform: rotate(-45deg) translate(-50%, -50%);
  border-right: var(--arrow-weight) solid;
  border-bottom: var(--arrow-weight) solid;
}

@media screen and (max-width: 1023px) {}
@media screen and (max-width: 767px) {
  .entry-footer .pnavi-center {
    width: 100%;
  }
  /*
  .wp-pagenavi .pages {
    display: none;
  }
  */
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  サイトマップ（WP Sitemap Page）
##
############################################## */
/* サイトマップ（/sitemap/） */
.sitemap_list .wsp-container {
  /*font-size: 0.9em;*/
}
.sitemap_list .wsp-container a {
  text-decoration: none;
}
.sitemap_list .wsp-container a:hover {
  text-decoration: underline 1px solid;
}
.sitemap_list .wsp-container ul {
  padding-left: 1.25em;
  margin: 0.5em 0!important;
}
.sitemap_list .wsp-container ul li {
  padding-left: 0;
}
.sitemap_list .wsp-container ul.children {
  margin: 0.5em 0!important;
}




/* ##############################################
##
##  404ページ（404.php）
##
############################################## */
#post-not-found .content-main {
  position: relative;
  display: block;
  width: 100%;
}
#post-not-found .content-main .main-wrap {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  gap: 4.0em;
  width: 100%;
}
#post-not-found .content-main .main-wrap .main-block {
  flex-grow: 1;
  position: relative;
  display: flex;
  align-items: center;
}
#post-not-found .content-main .main-wrap .main-block:has(.image) {
  width: 60%;
}
#post-not-found .content-main .main-wrap .main-block:has(.text) {
  width: 40%;
}
#post-not-found .content-main .main-wrap .main-block :is(.image, .text) {
  flex-grow: 1;
  position: relative;
  display: block;
}
#post-not-found .content-main .main-wrap .main-block .image {
  width: 100%;
  margin: 0 auto;
}
#post-not-found .content-main .main-wrap .main-block .image img {
  position: relative;
  display: block;
  width: 100%;
  -webkit-user-select: none;
  user-select: none;
  animation: whale-swim 12s ease-in-out infinite;
  transform-origin: center center;
}
/* 404ページ｜ジンベエザメ 遊泳アニメーション */
@keyframes whale-swim {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(-8px, -6px) rotate(-0.5deg);
  }
  50% {
    transform: translate(-15px, 0) rotate(0deg);
  }
  75% {
    transform: translate(-8px, 6px) rotate(0.5deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

#post-not-found .content-main .main-wrap .main-block .text {}
@media screen and (max-width: 1023px) {
  #post-not-found .content-main .main-wrap .main-block:has(.image) {
    width: 100%;
  }
  #post-not-found .content-main .main-wrap .main-block:has(.text) {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #post-not-found .content-main .main-wrap {
    flex-direction: column;
    gap: 3.0em;
  }
  #post-not-found .content-main .main-wrap .main-block .image {
    max-width: 550px;
  }
}
@media screen and (max-width: 567px) {}




/* ##############################################
##
##  カラーパレット（ハイライト）
##  functions.php（admin.php）
##
############################################## */
/* functions.php（admin.php）｜ブロックエディタのカラーパレット（ハイライト） */
.has-base-background-color {
  background-color: var(--color-base);
}
.has-base-color {
  color: var(--color-base);
}

.has-green-background-color {
  background-color: var(--color-green);
}
.has-green-color {
  color: var(--color-green);
}

.has-orange-background-color {
  background-color: var(--color-orange);
}
.has-orange-color {
  color: var(--color-orange);
}

.has-turquoise-background-color {
  background-color: var(--color-turquoise);
}
.has-turquoise-color {
  color: var(--color-turquoise);
}

.has-cream-background-color {
  background-color: var(--color-cream);
}
.has-cream-color {
  color: var(--color-cream);
}

.has-lightgray-background-color {
  background-color: var(--color-lightgray);
}
.has-lightgray-color {
  color: var(--color-lightgray);
}

.has-black-background-color {
  background-color: var(--color-black);
}
.has-black-color {
  color: var(--color-black);
}

.has-white-background-color {
  background-color: var(--color-white);
}
.has-white-color {
  color: var(--color-white);
}

.has-red-background-color {
  background-color: var(--color-red);
}
.has-red-color {
  color: var(--color-red);
}

.has-marker-background-color {
  background-color: var(--color-marker);
}
.has-marker-color {
  color: var(--color-marker);
}

.has-gray-background-color {
  background-color: var(--color-gray);
}
.has-gray-color {
  color: var(--color-gray);
}
