@charset "UTF-8";
/*
Theme Name:税理士法人 大藤会計事務所
Author: Unigraphic
Description: 税理士法人 大藤会計事務所公式サイトテーマ

last edit: 2026.4.27
*/
/*フォント設定*/
html {
  font-size: 10px; /* initial 10px */
}

body {
  font-family: "Noto Sans JP", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.8rem;
  /* default font-size 16px */
  font-weight: 400;
  line-height: 1.6;
  color: #414141;
  /* 文章処理 */
  overflow-wrap: anywhere; /* 収まらない場合は折り返し */
  word-break: normal; /* 単語の分割はデフォルト */
  line-break: strict; /* 禁則処理厳格 */
}

/*----------------------------------------------------------
/* 制作・デバッグ用
-----------------------------------------------------------*/
/*** 制作用 仕切りアタリ
#wrapper{
  border:solid 2px #12abd1;
}
#wrapper article{
  border:solid 2px #12d1a1;
}
footer{
  border:dashed 2px #aed112;
  border-top:dashed 4px #aed112;
}
 ***/
/*----------------------------------------------------------
/* define
-----------------------------------------------------------*/
/* base color */
/*** デバッグ用 テンプレート名表示 ***/
.debug-comment {
  /* 2025.8.27～制作期間表示ON */
  display: none !important;
  margin: 0 auto 0;
  padding: 6px 15px 6px 15px;
  text-align: center;
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  color: #fff;
  background-color: #0c44bd;
}

/*----------------------------------------------------------
/* リセット・基本定義
-----------------------------------------------------------*/
h2, h3, h4, h5, h6 {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  font-weight: 400;
}

/* 段落 */
p {
  margin: 0.4em 0 1.2em 0;
}

/* 自動整形で発生した空のpタグを消す */
p:empty {
  display: none;
}

/* アンカー */
a,
a:link,
a:visited,
a:active {
  text-decoration: none;
  color: #2b2b2b;
}

a:active,
a:hover {
  text-decoration: underline;
}

a.no-udline {
  text-decoration: none !important;
}

/*** 詳細以外のページリストスタイルリセット ***/
ul,
ul li,
ol,
ol li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* テーブルのセル内の文字自動折り返し */
table tr th,
table tr td {
  overflow-wrap: anywhere;
}

/*** イメージ ***/
img {
  max-width: 100%;
  height: auto;
}

/*** 汎用クラス ***/
.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.indent1 {
  padding-left: 1em;
  text-indent: -1em;
}

/* スモールデバイスでボタンタップ時の枠線OFF */
*:focus {
  outline: none;
}

/* ホバーエフェクト */
a.hoveffect {
  transition: all 0.2s ease-out;
}

a.hoveffect:hover {
  opacity: 0.7;
}

/*-------------------------------------------------------------------
/*  包含構造
--------------------------------------------------------------------*/
/* 全包含 */
#wrapper {
  margin: 0 auto 0;
  width: 100%;
  max-width: 1920px;
}

/* 汎用インナー */
.common-inner {
  margin: 0 auto 0;
  width: 100%;
  max-width: 1200px;
}

/*-------------------------------------------------------------------
/*  ヘッダー
--------------------------------------------------------------------*/
header {
  margin: 0 0 0 0;
  width: 100%;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  header {
    height: 100px;
    padding: 20px;
  }
  header .hd-logo {
    width: 260px;
  }
}
@media screen and (min-width: 768px) {
  header {
    padding: 30px 20px 30px 15px;
  }
}
@media print, screen and (min-width: 992px) {
  header {
    padding: 0;
  }
  header .hd-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding-left: 20px;
  }
  .hd-logo {
    width: 280px;
  }
  .global-navi {
    width: calc(100% - 300px);
  }
}
@media screen and (min-width: 1200px) {
  .hd-logo {
    width: 320px;
  }
  .global-navi {
    width: calc(100% - 350px);
  }
}
@media screen and (min-width: 1500px) {
  .hd-logo {
    width: 476px;
  }
  .global-navi {
    width: calc(100% - 476px);
  }
}
/*-------------------------------------------------------------------
/*  GLナビ（ラージデバイス）ヘッダーナビ
--------------------------------------------------------------------*/
@media screen and (max-width: 991px) {
  .global-navi {
    display: none;
  }
}
@media print, screen and (min-width: 992px) {
  .gl-parent-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 100px;
  }
  .gl-parent-menu > li {
    cursor: pointer;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    line-height: 1.2;
    text-align: center;
    padding: 0 20px;
    width: 160px;
    height: 100px;
  }
  /* 区切り／線 */
  .gl-parent-menu > li:nth-of-type(-n+4)::after {
    position: absolute;
    right: 0;
    top: 25px;
    content: "";
    width: 1px;
    height: 50px;
    border-right: solid 1px #414141;
    transform: rotate(30deg);
  }
  .gl-parent-menu > li a {
    text-decoration: none;
  }
  .gl-parent-menu > li > span > span,
  .gl-parent-menu > li > a > span > span {
    display: block;
    margin-top: 2px;
    text-align: center;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #818181;
  }
  .gl-parent-menu > li .sp-submenubtn {
    pointer-events: none !important;
  }
  /* LDでは非表示 */
  .gl-parent-menu .ld-none {
    display: none !important;
  }
  /* 子メニュー */
  .gl-parent-menu > li .sub-menu {
    position: absolute;
    top: 100px;
    left: 50%;
    width: 100%;
    background-color: rgba(66, 170, 110, 0.7);
    opacity: 0;
    transform: translateX(-50%);
    transition: all 0.4s ease-out;
  }
  .gl-parent-menu > li:hover .sub-menu {
    opacity: 1;
    z-index: 1;
  }
  .gl-parent-menu > li .sub-menu > li a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    padding: 12px 4px;
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
    color: #fff;
    transition: all 0.2s ease-out;
  }
  .gl-parent-menu > li .sub-menu > li a:hover {
    background-color: #42AA6E;
  }
  .gl-parent-menu > li .sub-menu > li:nth-of-type(n+2) {
    border-top: solid 1px #fff;
  }
  /* 採用情報ボタン固有 */
  .gl-parent-menu .recruit {
    display: none !important;
    background-color: #DD7D1E;
  }
  /** PCでは非表示
  .gl-parent-menu .recruit a{
    @include cmn__flex();
    justify-content: center;
    width:100%;
    height:100px;
  }
  **/
}
@media screen and (min-width: 992px) and (max-width: 1499px) {
  .gl-parent-menu > li {
    padding: 0 12px;
    width: 20%;
    height: 100px;
  }
  .gl-parent-menu > li > span,
  .gl-parent-menu > li > a > span {
    font-size: 1.6rem;
  }
  .gl-parent-menu > li > span > span,
  .gl-parent-menu > li > a > span > span {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 1500px) {
  .gl-parent-menu > li {
    padding: 0 20px;
    width: 160px;
    height: 100px;
  }
  .gl-parent-menu > li > span,
  .gl-parent-menu > li > a > span {
    font-size: 2rem;
  }
  .gl-parent-menu > li > span > span,
  .gl-parent-menu > li > a > span > span {
    font-size: 1.5rem;
  }
}
/*-------------------------------------------------------------------
/*  GLナビ（スモールデバイス）
--------------------------------------------------------------------*/
@media screen and (max-width: 991px) {
  #hd-menu-sd {
    position: relative;
    z-index: 50;
  }
  /* SPナビOPENボタン */
  .sdmenu-btn {
    display: block;
    position: fixed;
    top: 15px;
    right: 14px;
    cursor: pointer;
    width: 62px;
    height: 68px;
    text-align: center;
    background-color: #42AA6E;
    opacity: 0.7;
    transition: 0.2s ease-in-out;
    z-index: 30;
  }
  .sdmenu-btn:hover {
    opacity: 1;
  }
  .sdmenu-btn.active {
    opacity: 0;
    pointer-events: none;
  }
  .sdmenu-btn span {
    display: block;
    position: absolute;
    width: 50px;
    height: 3px;
    left: 6px;
    background: #fff;
    transition: 0.2s ease-in-out;
  }
  .sdmenu-btn span:nth-child(1) {
    top: 15px;
  }
  .sdmenu-btn span:nth-child(2) {
    top: 32px;
  }
  .sdmenu-btn span:nth-child(3) {
    top: 50px;
  }
  .sdmenu-btn.active span:nth-child(1) {
    top: 40px;
    left: 0;
    transform: rotate(-45deg);
  }
  .sdmenu-btn.active span:nth-child(2),
  .sdmenu-btn.active span:nth-child(3) {
    top: 40px;
    transform: rotate(45deg);
  }
  /** ウインドウオープン **/
  /*** js側 クラス名active 付与で表示ON／OFF ***/
  .globalnavi-sp.active,
  .sp-fade.active {
    visibility: visible;
    opacity: 1;
  }
  .globalnavi-sp.active {
    z-index: 45;
  }
  .sp-fade.active {
    cursor: pointer;
    z-index: 10;
  }
  /* SPナビ包含 */
  .globalnavi-sp {
    visibility: hidden;
    position: fixed;
    z-index: -10;
    top: 0;
    left: 50%;
    color: #fff;
    background-color: rgba(0, 136, 58, 0.85);
    mix-blend-mode: multiply;
    padding: 100px 100px 100px 100px;
    width: 100%;
    height: 70vh;
    opacity: 0;
    transition: opacity 0.6s ease, visibility 0.6s ease;
    transform: translateX(-50%);
    overflow: auto;
  }
  /*** メニューヘッダー ***/
  #spmenu-header {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto 20px;
  }
  #spmenu-header .sp-menu-title {
    margin: 0 0 0 0;
    font-family: "Jost", sans-serif;
    font-style: normal;
    font-style: italic;
    font-size: 3rem;
  }
  /** cloce Ｘボタン **/
  #spmenu-header .sdmenu-closebtn {
    cursor: pointer;
    position: relative;
    width: 50px;
    height: 2px;
    left: 0;
    width: 50px;
    height: 50px;
  }
  #spmenu-header .sdmenu-closebtn span {
    position: absolute;
    width: 50px;
    height: 2px;
    left: 0;
    background: #fff;
  }
  #spmenu-header .sdmenu-closebtn span:nth-child(1) {
    top: 22px;
    left: 0;
    transform: rotate(-45deg);
  }
  #spmenu-header .sdmenu-closebtn span:nth-child(2),
  #spmenu-header .sdmenu-closebtn span:nth-child(3) {
    top: 22px;
    transform: rotate(45deg);
  }
  /*** メニューリスト ***/
  .gl-parent-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 0 0;
    width: 100%;
  }
  .gl-parent-menu li {
    width: 100%;
  }
  .gl-parent-menu .contact,
  .gl-parent-menu .recruit {
    width: 48%;
  }
  .gl-parent-menu li:nth-of-type(n+2) {
    margin-top: 28px;
  }
  .gl-parent-menu li a {
    display: block;
    padding: 10px 5px 10px 5px;
    text-decoration: none;
    font-size: 1.8rem !important;
    color: #fff !important;
  }
  .gl-parent-menu .contact a,
  .gl-parent-menu .recruit .sd-menu-text {
    display: block !important;
    text-align: center;
    background-color: #fff !important;
    color: #42AA6E !important;
  }
  /* 子メニューOPENボタン */
  .gl-parent-menu > li .sp-submenubtn {
    cursor: pointer;
    position: relative;
    display: block;
    margin: 0 0 0 0;
    padding: 0 0 10px 0;
    font-size: 2rem;
    border-bottom: solid 1px #fff;
  }
  /* SDでは英字表示なし */
  .gl-parent-menu > li .sp-submenubtn > span,
  .gl-parent-menu > li > a > span > span {
    display: none;
  }
  .gl-parent-menu > li .sp-submenubtn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 18px;
    height: 18px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.2s ease-out;
  }
  .gl-parent-menu > li .sp-submenubtn.open::after {
    transform: translateY(-50%) rotate(135deg);
  }
  /* 子メニュー */
  .gl-parent-menu > li .sub-menu {
    position: relative;
    display: none;
    margin: 16px 0 0 0;
  }
  .gl-parent-menu > li .sub-menu {
    position: relative;
    display: none;
  }
  .gl-parent-menu > li .sub-menu > li:nth-of-type(n+2) {
    margin-top: 6px;
  }
  .gl-parent-menu > li .sub-menu > li > a {
    position: relative;
    display: block;
    padding: 10px 5px 10px 20px;
  }
  .gl-parent-menu > li .sub-menu > li > a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -5px;
    width: 14px;
    height: 14px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: translateY(-50%) rotate(45deg);
  }
  /* SPメニューオープン時の影 */
  .sp-fade {
    visibility: hidden;
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
    transition: opacity 0.6s ease, visibility 0.6s ease;
    z-index: -10;
  }
  .sp_openswitch {
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  /* SPナビ包含 */
  .globalnavi-sp {
    padding: 30px 20px 30px 20px;
    height: 80vh;
  }
}
@media (min-width: 992px) {
  #hd-menu-sd,
  .sp-fade {
    display: none;
  }
}
/*-------------------------------------------------------------------
/*  トップページ
--------------------------------------------------------------------*/
/* 包含 */
.home-sec {
  margin: 0 auto 0;
  padding: 0 15px;
}

.home-sec .inner {
  margin: 0 auto 0;
  width: 100%;
  max-width: 1200px;
}

/* 見出し */
.home h2 {
  margin: 0 auto 60px;
  font-family: "Jost", sans-serif;
  font-style: normal;
  line-height: 1;
  text-align: center !important;
  font-style: italic !important;
  font-size: 7rem;
  font-weight: normal !important;
}

.home h2 span {
  display: block;
  margin: 14px auto 0;
  font-style: normal;
  font-size: 2.4rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .home h2 {
    margin: 0 auto 90px;
  }
}
/*** MV ***/
/*--------------------------------------------------------------------*/
/* 包含 */
#home-slide-section {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  padding: 0 0;
  background: linear-gradient(to bottom, #fff 1%, #fff 20%, #DCEFE4 20%, #DCEFE4 100%);
}

/*** スライド包含 ***/
#home-slide-wrap {
  position: relative;
}

/*** metaslider css override ***/
#home-slide-section .metaslider .flexslider {
  margin-bottom: 0 !important;
}

/* 点ナビ */
#home-slide-section .flex-control-nav.flex-control-paging {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0 0 0 0;
  width: auto;
}

#home-slide-section .flexslider .flex-control-nav li a {
  margin: 0 0 0 0 !important;
  width: 20px;
  height: 20px;
  border: none !important;
  background-color: #fff !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}

/** 点ナビ アクティブ **/
#home-slide-section .flexslider .flex-control-nav li a.flex-active {
  background-color: #9DCEB2 !important;
}

@media screen and (max-width: 767px) {
  /* 包含 */
  #home-slide-section {
    padding: 0 0 76px 0;
  }
  #home-slide-wrap {
    padding-left: 40px;
  }
  /* 点ナビ */
  #home-slide-section .flex-control-nav.flex-control-paging {
    bottom: -30px;
    margin-left: -40px;
    width: 100vw;
    text-align: center;
  }
  #home-slide-section .flex-control-nav.flex-control-paging > li {
    display: inline-block;
  }
  #home-slide-section .flex-control-nav.flex-control-paging > li:nth-of-type(n+2) {
    margin-left: 6px;
  }
}
@media screen and (min-width: 768px) {
  #home-slide-wrap {
    width: 86%;
  }
  #home-slide-wrap .corp-eng-text {
    position: absolute;
    top: 50%;
    left: -46px;
    transform: translateY(-50%) rotateZ(180deg);
    height: 60%;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 500;
    font-style: normal;
    writing-mode: vertical-rl;
    font-size: 1.8rem;
    font-weight: bold;
    color: #42AA6E;
  }
  /*** meta slider css override ***/
  /* 点ナビ */
  #home-slide-section .flex-control-nav.flex-control-paging {
    position: absolute;
    left: -32px;
  }
  #home-slide-section .flex-control-nav.flex-control-paging > li {
    display: block;
    margin: 0;
  }
  #home-slide-section .flex-control-nav.flex-control-paging > li:nth-of-type(n+2) {
    margin-top: 4px;
  }
}
@media print, screen and (min-width: 1200px) {
  #home-slide-wrap .corp-eng-text {
    height: auto;
    font-size: 2.6rem;
  }
}
/*** 当社の強み ***/
/*--------------------------------------------------------------------*/
#home-strength-sec {
  position: relative;
  margin: 0 auto 90px;
  z-index: 1;
  overflow: hidden;
}

#home-strength-sec h2 {
  color: #818181;
  background-color: #DCEFE4;
}

#home-strength-sec h2 span {
  color: #42AA6E;
}

#home-strength-sec h3 {
  margin: 0 auto 60px;
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  color: #42AA6E;
}

.corp-strength-chart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0 auto 90px;
  width: 100%;
}

.corp-strength-chart > li {
  text-align: center;
}

#home-strength-sec .strength-btn {
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0;
  width: 325px;
  height: 80px;
  font-size: 2.2rem;
  color: #fff;
  background-color: #42AA6E;
}

#home-strength-sec .strength-btn:hover {
  opacity: 0.6;
  transition: all 0.2s ease-out;
}

.corp-strength-chart > li img {
  margin: 0 auto 0;
}

@media screen and (max-width: 767px) {
  #home-strength-sec h2 {
    padding: 10px 0 30px 0;
    width: 100vw; /* 画面幅 */
    margin-left: calc(50% - 50vw); /* 中心に合わせる */
  }
  .corp-strength-chart > li img {
    width: 70%;
  }
  .corp-strength-chart > li:nth-of-type(1) {
    order: 1;
  }
  .corp-strength-chart > li:nth-of-type(3) {
    order: 2;
  }
  .corp-strength-chart > li:nth-of-type(4) {
    order: 3;
  }
  .corp-strength-chart > li:nth-of-type(2) {
    order: 4;
  }
}
@media screen and (min-width: 768px) {
  #home-strength-sec h2 {
    width: 100vw; /* 画面幅 */
    margin-left: calc(50% - 50vw); /* 中心に合わせる */
    padding: 55px 0 35px 0;
    background: linear-gradient(to left, #fff 1%, #fff 30%, #DCEFE4 30%, #DCEFE4 100%);
  }
  #home-strength-sec {
    margin: 0 auto 140px;
  }
  #home-strength-sec h3 {
    font-size: 3.8rem;
  }
  #home-strength-sec .strength-btn {
    width: 583px;
    height: 100px;
  }
  .corp-strength-chart > li {
    width: 50%;
  }
}
@media print, screen and (min-width: 1200px) {
  #home-strength-sec h3 {
    font-size: 4.6rem;
  }
}
/*** サービス ***/
/*--------------------------------------------------------------------*/
#home-service-sec {
  padding: 50px 15px 90px 15px;
  color: #fff;
  background: linear-gradient(to bottom, #42aa6e 1%, #2f774e 100%);
}

#home-service-sec h2 {
  margin: 0 auto 24px;
}

#home-service-sec h2 span {
  color: #fff;
}

#service-menu {
  margin: 0 auto 0;
}

/* メニュー */
#service-menu ul li a {
  position: relative;
  display: block;
  margin: 0 0 8px 0;
  text-align: center;
}

#service-menu ul li a img {
  border: solid 2px #fff;
}

#service-menu ul li a:hover {
  opacity: 0.6;
  transition: all 0.2s ease-out;
}

#service-menu ul li .menu-label {
  text-align: left;
}

/* 画像onラベル */
#service-menu ul li .menu-label {
  display: flex;
  align-items: center;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 12px;
  height: 50px;
  font-size: 1.9rem;
  background-color: #fff;
}

#service-menu ul li .menu-comment {
  margin: 0 0 0 0;
}

@media screen and (max-width: 767px) {
  /* 画像onラベル */
  #service-menu ul li:nth-of-type(n+2) {
    margin-top: 40px;
  }
  #service-menu ul li .menu-label {
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) {
  #home-service-sec {
    padding: 65px 20px 123px 20px;
  }
  #home-service-sec h2 {
    margin: 0 auto 90px;
  }
  #service-menu ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 auto 0;
    width: 100%;
  }
  #service-menu ul li:nth-of-type(n+2) {
    position: relative;
    margin: 0 0 30px 0;
    width: 45%;
  }
  /* 画像onラベル */
  #service-menu ul li .menu-label {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 6px;
    width: 80%;
    height: 50px;
    line-height: 1.2;
    font-size: 1.4rem;
    background-color: #fff;
  }
  #service-menu ul li .menu-label::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -18px;
    width: 30px;
    height: 50px;
    background-color: #fff;
    transform: skewX(-20deg) translateZ(0);
  }
}
@media screen and (min-width: 768px) {
  #service-menu ul li:nth-of-type(1) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 0 30px 0;
    width: 100%;
  }
  /* メニュー PC／1の固有 */
  #service-menu ul li:nth-of-type(1) a {
    display: block;
    width: 47%;
  }
  #service-menu ul li:nth-of-type(1) .first-menu-right {
    position: relative;
    width: 50%;
  }
  #service-menu ul li:nth-of-type(1) .first-menu-right .menu-label {
    position: relative;
    margin: 0 0 0 0;
    color: #414141;
  }
  #service-menu ul li:nth-of-type(1) .first-menu-right p:nth-of-type(1) {
    margin: 0 0 8px 0;
  }
  /* メニュー PC／2～4 */
  #service-menu ul li:nth-of-type(n+2) {
    position: relative;
    margin: 0 0 0 0;
    width: 31.3333%;
  }
}
@media screen and (min-width: 1200px) {
  /* メニュー PC／1の固有 */
  #service-menu ul li:nth-of-type(1) a {
    display: block;
    width: calc(62.6666% + 36px);
  }
  #service-menu ul li:nth-of-type(1) .first-menu-right {
    position: relative;
    width: 31.3333%;
  }
  /* 画像onラベル */
  #service-menu ul li .menu-label {
    padding: 12px;
    width: 80%;
    height: 50px;
    font-size: 1.9rem;
  }
}
/*** お知らせ・イベント部 ***/
/*--------------------------------------------------------------------*/
/* 包含 */
#home-notice-column-recruit-sec {
  background-color: #DCEFE4;
}

@media screen and (max-width: 767px) {
  #home-notice-column-recruit-sec {
    padding: 60px 15px 80px 15px;
  }
}
@media screen and (min-width: 768px) {
  #home-notice-column-recruit-sec {
    padding: 120px 15px 156px 15px;
  }
}
@media screen and (max-width: 767px) {
  /* 見出し */
  #home-notice-column-recruit-sec .news-title {
    margin: 0 auto 30px;
  }
}
/*** お知らせ・イベント タブリスト表示 ***/
/*--------------------------------------------------------------------*/
#notice-event-box {
  width: 100%;
}

#notice-event-box > div > div {
  background-color: #fff;
  border-radius: 10px;
}

#notice-event-box > div > h2 {
  font-family: "Jost", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-style: italic;
  color: #818181;
}

#notice-event-box > div > h2 > span:nth-of-type(2) {
  font-size: 2.4rem;
  font-weight: bold;
  color: #42AA6E;
}

/*** notice切り替えタブ ***/
.cmn-news-box.notice .np-tabs__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 20px 0;
  width: 100%;
}

.cmn-news-box.notice .np-tabs__header > button {
  width: 24%;
}

.cmn-news-box.notice .np-tabs__header > button {
  padding: 8px 4px;
  color: #fff;
  border: none;
}

.cmn-news-box.notice .np-tabs__header .all {
  background-color: #818181;
}

.cmn-news-box.notice .np-tabs__header .news {
  background-color: #42AA6E;
}

.cmn-news-box.notice .np-tabs__header .recruit-info {
  background-color: #DD7D1E;
}

.cmn-news-box.notice .np-tabs__header .etc {
  background-color: #0069B7;
}

/*** リスト表示部 ***/
/* お知らせリスト */
#notice-event-box div .np-tabs__panels .np-list,
#notice-event-box .cmn-news-box.event .cpt-latest__list.np-list {
  margin: 0 0 30px 0;
}

/* 一覧ボタン */
.np-more__link {
  text-decoration: none !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 30px;
  font-size: 1.3rem;
  border: solid 1px #818181;
}

.np-more__link:hover {
  opacity: 0.6;
  transition: all 0.2s ease-out;
}

.np-more__link span {
  padding-bottom: 5px;
  transform: rotateZ(90deg);
}

@media screen and (max-width: 767px) {
  /*** notice切り替えタブ ***/
  .cmn-news-box.notice .np-tabs__header > button {
    font-size: 1.4rem;
  }
  /* 各リスト親包含 */
  #notice-event-box > div .cmn-news-box {
    padding: 30px 20px;
  }
  #notice-event-box .notice-box {
    margin: 0 0 60px 0;
  }
  #notice-event-box .event-box {
    position: relative;
    margin: 0 0 60px 0;
    padding: 0 0 60px 0;
  }
  #notice-event-box .event-box::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 50%;
    height: 2px;
    background-color: #42AA6E;
    transform: translateX(-50%);
  }
  #notice-event-box > div > h2 {
    text-align: center;
    font-size: 7rem;
  }
  #notice-event-box > div > h2 > span:nth-of-type(2) {
    display: block;
    margin-top: 2px;
    text-align: center;
  }
  /* 一覧ボタン */
  .np-more__link {
    margin: 0 auto 0;
  }
}
@media print, screen and (min-width: 768px) {
  /*** notice切り替えタブ ***/
  .cmn-news-box.notice .np-tabs__header > button {
    padding: 8px 8px 8px 8px;
    font-size: 1.4rem;
  }
  #notice-event-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-items: stretch;
    justify-content: space-between;
  }
  /* リスト全体包含 */
  #notice-event-box > div {
    position: relative;
    width: 49%;
  }
  /* 各リスト親包含 */
  #notice-event-box > div .cmn-news-box {
    padding: 30px 15px 45px 15px;
  }
  #notice-event-box > div > h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 15px 0;
    text-align: left;
    font-size: 5rem;
    font-family: "Jost", sans-serif;
    font-style: normal;
    color: #818181;
  }
  #notice-event-box > div > h2 > span:nth-of-type(1) {
    margin: 0 10px 0 0 !important;
  }
  #notice-event-box > div > h2 > span:nth-of-type(2) {
    margin: 0 0 0 15px !important;
    padding-top: 8px;
  }
  /* 一覧ボタン */
  .np-more {
    position: absolute;
    right: 30px;
    bottom: 37px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
  }
}
@media screen and (min-width: 1200px) {
  #notice-event-box > div > h2 {
    font-size: 7rem;
  }
  /*** notice切り替えタブ ***/
  .cmn-news-box.notice .np-tabs__header > button {
    font-size: 1.6rem;
  }
  /* 各リスト親包含 */
  #notice-event-box > div .cmn-news-box {
    padding: 37px 30px 52px 30px;
  }
}
/*** コラム紹介 ***/
/*--------------------------------------------------------------------*/
.column-block {
  position: relative;
  margin: 60px auto 60px;
  color: #fff;
  background-color: #42AA6E;
}

.column-block .sml-title01,
.column-block .sml-title02 {
  width: 100%;
  font-size: 1.6rem;
}

.to-column-list {
  display: block;
  position: absolute;
  right: 20px;
  bottom: 20px;
}

.column-latest__link a {
  display: block;
  padding: 10px;
  font-size: 1.5rem;
  background-color: #fff;
}

.column-latest__link a span {
  color: #42AA6E;
}

.column-latest__link a,
.to-column-list {
  text-decoration: none !important;
}

.column-latest__link a:hover,
.to-column-list:hover {
  opacity: 0.6;
  transition: all 0.2s ease-out;
}

@media screen and (max-width: 767px) {
  .column-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 0 0 60px 0;
  }
  .column-block .sml-title02 {
    padding: 20px 20px 15px 20px;
    text-align: center;
    background-color: #00883A;
    order: 1;
  }
  .column-block .sml-title01 {
    padding: 15px 20px 15px 20px;
    order: 2;
  }
  .column-block .image-box {
    padding: 0 20px 15px 20px;
    order: 3;
  }
  .column-block .link-box {
    padding: 0 20px 0 20px;
    width: 100%;
    order: 4;
  }
  .column-block .link-box .column-thumb {
    margin: 0 auto 15px;
    text-align: center;
  }
  .column-block .link-box .column-thumb img {
    width: 46%;
  }
  .column-latest__link a {
    width: 100%;
  }
  .to-column-list {
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 122px;
  }
}
@media print, screen and (min-width: 768px) {
  .column-block {
    padding: 20px 16px 20px 222px;
    width: 83%;
  }
  .column-block .sml-title01,
  .column-block .sml-title02 {
    font-size: 2rem;
  }
  .column-block .sml-title01,
  .column-block .sml-title02 {
    margin: 0 0 15px 0;
  }
  .image-box {
    margin: 0 0 15px 0;
  }
  .to-column-list {
    right: 10px;
    bottom: 10px;
  }
  .to-column-list img {
    width: 120px;
  }
  .column-block .column-thumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    padding: 30px;
    width: 206px;
    height: 100%;
    background-color: #2F774E;
  }
  .column-latest__link a {
    display: inline-block;
  }
}
@media screen and (min-width: 1200px) {
  .column-block {
    padding: 26px 26px 26px 232px;
  }
  .to-column-list img {
    width: auto;
  }
}
/*** 採用案内 ***/
/*--------------------------------------------------------------------*/
.recruit-block {
  position: relative;
}

.recruit-block a {
  text-decoration: none !important;
  background-color: #EDB73D;
}

.recruit-block a:hover * {
  text-decoration: none !important;
  opacity: 0.6;
  transition: all 0.2s ease-out;
}

.recruit-block a .introbox .ban-title {
  margin: 0 0 10px 0;
  width: 100%;
  font-size: 3.6rem;
  font-weight: bold;
  color: #fff;
}

.recruit-block a .introbox .message {
  margin: 0 0 0 0;
  width: 100%;
  font-size: 1.6rem;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .recruit-block a {
    display: block;
    padding: 20px;
  }
  .recruit-block a .imgbox {
    margin: 0 0 26px 0;
  }
  .recruit-block a .introbox .ban-title {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .recruit-block a {
    position: relative;
    right: -20px;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px;
    width: calc(100% - 20px);
  }
  .recruit-block a .imgbox {
    margin-left: -50px;
    width: 376px;
  }
  .recruit-block a .introbox {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    width: calc(100% - 356px);
  }
  .recruit-block a .introbox .ban-title {
    margin: 0 0 10px 0;
    font-size: 5.2rem;
  }
  .recruit-block a .introbox .message {
    font-size: 2.2rem;
  }
  .recruit-block .to-label {
    position: absolute;
    right: 10px;
    bottom: 10px;
  }
}
/* googleマップ */
/*--------------------------------------------------------------------*/
#googlemap-wrap {
  position: relative;
  margin: 0 auto 0;
  width: 100%;
}

#googlemap-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  #googlemap-wrap {
    padding-top: 77%;
  }
}
@media screen and (min-width: 768px) {
  #googlemap-wrap {
    padding-top: 28%;
  }
}
/**************************************************************************/
/*  
/**************************************************************************/
/* 包含 */
/**************************************************************************/
/*  トップページ Links
/**************************************************************************/
.top-links-block {
  position: relative;
  margin: 0 auto 30px;
  padding: 0 0 30px 0;
  width: 100%;
  max-width: 1200px;
}

.top-links-block h2 {
  margin: 0 auto 30px;
  color: #fff;
}

.top-links {
  margin: 0 auto 0;
  width: 90%;
}

.top-links > li a {
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 10px;
  width: 100%;
  height: 100%;
  min-height: 70px;
  font-size: 1.4rem;
  color: #414141;
  background-color: #fff;
}

.top-links > li a:hover {
  opacity: 0.6;
  transition: all 0.2s ease-out;
}

.top-links .thumb-in a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}

.top-links .thumb-in > a img {
  display: block;
  width: 50px;
  height: auto;
}

.top-links .thumb-in > a span {
  display: block;
  width: calc(100% - 60px);
}

@media screen and (max-width: 767px) {
  .top-links-block::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 60%;
    height: 1px;
    background-color: #fff;
    transform: translateX(-50%);
  }
  .top-links > li a {
    min-height: 70px;
  }
  .top-links > li:nth-of-type(n+2) {
    margin-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .top-links-block {
    margin: 0 auto 60px;
    padding: 0 0 60px 0;
    border-bottom: solid 1px #fff;
  }
  .top-links {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-items: stretch;
    justify-content: space-between;
    margin: 0 auto 0;
    width: 100%;
  }
  .top-links::before,
  .top-links::after {
    content: "";
    width: 23%;
  }
  .top-links::before {
    order: 1;
  }
  .top-links::after {
    order: 2;
  }
  .top-links > li {
    width: 23%;
  }
  .top-links > li:nth-of-type(n+5) {
    margin-top: 20px;
  }
}
/**************************************************************************/
/*  会社概要
/**************************************************************************/
/* 見出し */
.page-outline .hero {
  background: url("./images/hero/bg-outline-dmy_sd.jpg") center center/cover no-repeat;
}

/*** 概要 ***/
.wp-block-table.corp-outline tr th,
.wp-block-table.corp-outline tr td {
  padding: 20px 10px;
}

.wp-block-table.corp-outline tr th {
  width: 30%;
}

.kensyu-intro {
  margin: 0 auto 60px;
}

/*** 研修会のご案内 ***/
.kensyuinfo-box > div {
  padding: 35px 30px;
  background-color: #fff;
}

/* 事業コンセプト */
.annual-business-concept {
  margin: 0 0 0 0;
  font-size: 3.2rem;
}

@media screen and (max-width: 767px) {
  .wp-block-table.corp-outline tr,
  .wp-block-table.corp-outline tr th,
  .wp-block-table.corp-outline tr td {
    display: block;
    border: none !important;
    width: 100% !important;
  }
  .wp-block-table.corp-outline tr:nth-of-type(n+2) {
    margin-top: 20px;
  }
  .kensyu-intro {
    text-align: left !important;
  }
}
@media screen and (min-width: 768px) {
  /* 見出し */
  .page-outline .hero {
    background: url("./images/hero/bg-outline-dmy_ld.jpg") center center/cover no-repeat;
  }
  /*** 概要 ***/
  .wp-block-table.corp-outline tr th,
  .wp-block-table.corp-outline tr td {
    padding: 30px 30px;
  }
  .corp-outline tr th {
    width: 30%;
  }
  /*** 研修会のご案内 ***/
  .kensyuinfo-box {
    justify-content: space-between;
  }
  .kensyuinfo-box > div {
    padding: 50px;
  }
}
@media print, screen and (min-width: 1200px) {
  /*** 概要 ***/
  .wp-block-table.corp-outline tr th,
  .wp-block-table.corp-outline tr td {
    padding: 30px 60px;
  }
  .wp-block-table.corp-outline tr th {
    width: 20%;
  }
}
/**************************************************************************/
/*  経営理念
/**************************************************************************/
.wp-block-list.list-philosophy > li:nth-of-type(n+2) {
  margin-top: 50px;
}

/**************************************************************************/
/*  所長挨拶
/**************************************************************************/
/*** 挨拶 ***/
.wp-block-columns.chief-greeting {
  flex-grow: 0;
}

.wp-block-columns.chief-greeting .photo-box .chief-photo {
  margin: 0 0 20px 0;
}

.wp-block-columns.chief-greeting .photo-box .depatment {
  margin: 0 0 5px 0;
}

.wp-block-columns.chief-greeting .photo-box .sign {
  margin: 0 0 0 0;
  text-align: right;
}

.wp-block-columns.chief-greeting .photo-box .sign img {
  width: 230px;
}

/*** 経歴 ***/
.chief-career {
  margin: 0 0 30px 0;
}

/* 略歴・講演履歴の表 */
.wp-block-table.career-table tr td {
  vertical-align: top;
  border: none !important;
}

/* 著作物 */
.wp-block-group.publish-intro ul {
  margin: 0 0 20px 0;
}

.wp-block-group.publish-intro p {
  margin: 0 0 0 0;
}

@media screen and (max-width: 767px) {
  .wp-block-columns.chief-greeting .greeting-box {
    order: 2;
  }
  .wp-block-columns.chief-greeting .wp-block-column.photo-box {
    margin: 0 auto 30px;
    flex-grow: 0;
    flex-basis: 52% !important;
    order: 1;
  }
  /*** 経歴 ***/
  .chief-career .wp-block-group__inner-container > div:nth-of-type(n+2) {
    margin-top: 30px;
  }
  /* 略歴・講演履歴の表 */
  .wp-block-table.career-table tr td:nth-of-type(1) {
    width: 40%;
  }
  .wp-block-table.career-table tr td:nth-of-type(2) {
    width: 60%;
  }
}
@media screen and (min-width: 768px) {
  /*** 挨拶 ***/
  .wp-block-columns.chief-greeting {
    justify-content: space-between;
  }
  /*** 経歴 ***/
  .chief-career .wp-block-group__inner-container > div:nth-of-type(n+2) {
    margin-top: 50px;
  }
  /* 略歴・講演履歴の表 */
  .wp-block-table.career-table tr td:nth-of-type(1) {
    width: 16%;
  }
  .wp-block-table.career-table tr td:nth-of-type(2) {
    width: 84%;
  }
}
/**************************************************************************/
/*  品質方針
/**************************************************************************/
.wp-block-list.quality-policy > li:nth-of-type(n+2) {
  margin-top: 50px;
}

.wp-block-group.quality-policy-rec {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  margin: 0 0 0 0 !important;
}

.wp-block-group.quality-policy-rec p {
  margin: 0 0 0 0;
}

@media screen and (max-width: 767px) {
  .wp-block-list.quality-policy {
    margin: 0 0 40px 0;
  }
}
@media screen and (min-width: 768px) {
  .wp-block-list.quality-policy {
    margin: 0 0 80px 0;
  }
}
/**************************************************************************/
/*  
/**************************************************************************/
/* 包含 */
/**************************************************************************/
/*  
/**************************************************************************/
/* 包含 */
/**************************************************************************/
/*  
/**************************************************************************/
/* 包含 */
/**************************************************************************/
/*  
/**************************************************************************/
/* 包含 */
/**************************************************************************/
/*  
/**************************************************************************/
/* 包含 */
/**************************************************************************/
/*  共通パーツ／ページ下お問合わせ
/**************************************************************************/
/* 包含 */
.cmn-btm-contact-guide {
  margin: 0 auto 0;
  padding: 50px 15px;
  width: 100%;
  background: url("./images/common/home-contact-bg.jpg") center center/cover no-repeat;
}

.home .cmn-btm-contact-guide {
  background: url("./images/top/home-contact-bg.jpg") center center/cover no-repeat;
}

.cmn-btm-contact {
  margin: 0 auto 0;
  width: 100%;
  max-width: 1200px;
  background-color: #fff;
  border-radius: 10px;
}

.cmn-btm-contact > li {
  position: relative;
  padding: 30px 15px;
  text-align: center;
}

.cmn-btm-contact > li > p:nth-of-type(1) {
  margin: 0 0 10px 0;
  font-size: 2rem;
}

/* 電話 */
.tel-contact > p:nth-of-type(2) a,
.tel-contact > p:nth-of-type(2) img {
  vertical-align: baseline;
}

.tel-contact > p:nth-of-type(2) img {
  display: inline-block;
  margin: 0 2px -5px 0;
  width: 43px;
}

.tel-contact > p:nth-of-type(2) a {
  text-decoration: none;
  font-family: "Jost", sans-serif;
  font-style: normal;
  font-style: italic;
  font-size: 4rem;
  color: #414141;
}

.tel-contact > p:nth-of-type(2) {
  margin: 0 0 10px 0;
  line-height: 1;
}

.tel-contact > p:nth-of-type(3) {
  margin: 0 0 0 0;
}

/* メール */
.mail-contact > a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0;
  width: 80%;
  height: 85px;
  border-radius: 8px;
  background-color: #42AA6E;
}

.mail-contact > a:hover {
  opacity: 0.6;
  transition: all 0.2s ease-out;
}

@media screen and (max-width: 767px) {
  .cmn-btm-contact > li:nth-of-type(1)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 1px;
    background-color: #414141;
  }
}
@media print, screen and (min-width: 768px) {
  .cmn-btm-contact-guide {
    padding: 100px 15px;
  }
  .cmn-btm-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-items: flex-start;
    justify-content: center;
    margin: 0 auto 0;
    padding: 30px 15px;
  }
  .cmn-btm-contact > li {
    padding: 0 15px;
    width: 50%;
    text-align: center;
    color: #414141;
  }
  .cmn-btm-contact > li > p:nth-of-type(1) {
    margin: 0 0 10px 0;
    font-size: 2rem;
  }
  /* 電話 */
  .tel-contact {
    border-right: solid 1px #414141;
  }
  .tel-contact > p:nth-of-type(2) img {
    margin: 0 2px -5px 0;
  }
  .tel-contact > p:nth-of-type(2) a {
    font-size: 4.2rem;
  }
  /* メール */
  .mail-contact > a {
    width: 338px;
  }
}
@media screen and (min-width: 1200px) {
  .tel-contact > p:nth-of-type(2) a {
    font-size: 6rem;
  }
}
/*-------------------------------------------------------------------
/*  フッター
--------------------------------------------------------------------*/
footer {
  padding: 33px 15px 70px 15px;
  color: #fff;
  background-color: #2F774E;
}

.ft-inner {
  margin: 0 auto 0;
  width: 100%;
  max-width: 1200px;
}

.ft-info img {
  margin: 0 0 20px 0;
}

.ft-info p {
  line-height: 1.4;
  font-size: 1.4rem;
}

.ft-info p > span {
  display: block;
  margin: 0 0 8px 0;
  font-weight: bold;
}

.ft-copy {
  margin: 0 0 0 0;
  width: 100%;
  text-align: center;
  font-size: 1.3rem;
}

/* ページトップ */
.pagetop-btn {
  display: none;
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 20;
}

.pagetop-btn img {
  -webkit-filter: drop-shadow(0px 9px 5px rgba(0, 0, 0, 0.2));
  filter: drop-shadow(0px 9px 5px rgba(0, 0, 0, 0.2));
}

@media screen and (max-width: 767px) {
  /* ページトップ */
  .pagetop-btn {
    right: 10px;
    bottom: 24%;
    width: 70px;
  }
}
@media print, screen and (min-width: 768px) {
  footer {
    padding: 60px 15px 10px 15px;
  }
  .ft-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-items: flex-start;
    justify-content: space-between;
  }
  .ft-inner .ft-info {
    margin: 0 0 30px 0;
    width: 224px;
  }
  .ft-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-items: flex-start;
    justify-content: space-around;
    margin: 0 auto 40px;
    width: 100%;
  }
  .ft-menu > ul:nth-of-type(n+2) {
    margin-left: 20px;
  }
  .ft-menu > ul a {
    text-decoration: none;
    font-size: 1.4rem;
    color: #fff;
  }
  .ft-menu > ul a:hover {
    text-decoration: underline;
  }
  .ft-menu > ul > li {
    margin-left: 6px;
  }
  .ft-menu > ul .md {
    margin: 0 0 10px 0;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .ft-menu > ul .md.lower {
    margin: 0 0 0 0;
    margin-top: 20px;
  }
  .ft-copy {
    font-size: 1.4rem;
  }
  /* ページトップ */
  .pagetop-btn {
    right: 10px;
    bottom: 6%;
  }
}
@media screen and (min-width: 992px) {
  .ft-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-items: flex-start;
    justify-content: space-around;
    margin: 0 0 0 20px;
    width: calc(100% - 244px);
  }
  .ft-menu > ul:nth-of-type(n+2) {
    margin-left: 14px;
  }
}
@media screen and (min-width: 1200px) {
  .ft-inner .ft-info {
    margin-bottom: 0;
  }
  .ft-menu {
    justify-content: flex-end;
    margin: 0 auto 40px;
    width: calc(100% - 264px);
  }
  .ft-menu > ul:nth-of-type(n+2) {
    margin-left: 40px;
  }
  .ft-menu > ul a {
    font-size: 1.5rem;
  }
  /* ページトップ */
  .pagetop-btn {
    right: 30px;
  }
}
/**************************************************************************/
/*  新着情報／詳細画面
/**************************************************************************/
/* 包含 */
.single .single-inner {
  max-width: 994px;
}

/**************************************************************************/
/*  コラム／詳細画面
/**************************************************************************/
/* メタ表示 */
.single-meta.post-meta-box > span {
  vertical-align: middle;
  font-size: 2rem;
}

.single-meta.post-meta-box .column-title-icon {
  color: #42AA6E;
}

.single-meta.post-meta-box .np-badge-new {
  margin-left: 15px;
}

@media screen and (min-width: 768px) {
  .single-meta.post-meta-box > span {
    font-size: 2.6rem;
  }
}
/**************************************************************************/
/*  イベント／詳細画面
/**************************************************************************/
/* 固有ページタイトル */
.single-event h2.event-title {
  margin: 0 0 30px 0 !important;
  color: #414141;
}

/*** メタ部 ***/
.single-event .post-meta-box {
  margin: 0 0 20px 0;
  padding: 20px 0 0 0;
}

/*** 自由作成部 ***/
.single-event .event-content {
  position: relative;
  margin: 0 0 30px 0;
  padding: 20px 0 0 0;
}

/* 飾りの「－」／自由作成とCFで共通 */
.single-event .event-content::after,
.single-event .event-detail::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 36px;
  height: 3px;
  background-color: #42AA6E;
}

/*** CF展開部 ***/
/* イベントタイトル */
.event-infomation .event-title {
  position: relative;
  margin: 0 0 34px 0;
  padding-left: 2.2rem;
  font-size: 2.2rem;
  font-weight: bold;
}

.event-infomation .event-title::before {
  content: "◆";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 2.2rem;
  color: #42AA6E;
}

/* イベント詳細 */
.event-infomation .event-detail {
  position: relative;
  margin: 0 0 40px 0;
  padding: 20px 0 0 0;
}

.event-infomation .event-detail > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
}

.event-infomation .event-detail > div:nth-of-type(n+2) {
  margin-top: 26px;
}

/* 項目 */
.event-infomation .event-detail > div dt {
  display: block;
  padding: 4px 0 6px 0;
  text-align: center;
  font-size: 1.4rem;
  color: #42AA6E;
  background-color: #DCEFE4;
  border-radius: 6px;
}

/* 内容 */
.event-infomation .event-detail > div dd {
  width: calc(100% - 124px);
  line-height: 1.4;
  font-size: 1.7rem;
}

/* フォームボタン */
.event-infomation .cpt-single__apply a {
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0;
  font-size: 2.2rem;
  color: #42AA6E;
}

.event-infomation .cpt-single__apply a:hover {
  opacity: 0.6;
  transition: all 0.2s ease-out;
}

@media screen and (max-width: 767px) {
  /* 項目 */
  .event-infomation .event-detail > div dt,
  .event-infomation .event-detail > div dd {
    width: 100%;
  }
  .event-infomation .event-detail > div dt {
    margin: 0 0 12px 0;
  }
  /* 内容 */
  .event-infomation .event-detail > div dd {
    width: calc(100% - 124px);
    line-height: 1.4;
    font-size: 1.7rem;
  }
  /* フォームボタン */
  .event-infomation .cpt-single__apply a {
    width: 88%;
    height: 90px;
    border: solid 3px #42AA6E;
    border-radius: 45px;
  }
}
@media screen and (min-width: 768px) {
  /* 固有ページタイトル */
  .single-event h2.event-title {
    margin: 0 0 60px 0 !important;
  }
  .single-event .post-meta-box {
    margin: 0 0 60px 0;
  }
  .single-event .event-content {
    margin: 0 0 60px 0;
  }
  /* イベント詳細 */
  .event-infomation .event-detail {
    margin: 0 0 50px 0;
  }
  /* 項目 */
  .event-infomation .event-detail > div dt {
    width: 104px;
  }
  /* 内容 */
  .event-infomation .event-detail > div dd {
    width: calc(100% - 124px);
  }
  /* フォームボタン */
  .event-infomation .cpt-single__apply a {
    width: 380px;
    height: 100px;
    border: solid 4px #42AA6E;
    border-radius: 50px;
  }
}
/**************************************************************************/
/*  投稿一覧／ お知らせ、イベント、コラム
/**************************************************************************/
/* 包含 */
.oshirase-inner {
  max-width: 994px;
}

/*** お知らせ ***/
/**************************************************************************/
/* カテゴリー見出し */
.category h2.common-h2.news {
  color: #42AA6E;
}

.category h2.common-h2.recruit-info {
  color: #EDB73D;
}

.category h2.common-h2.etc {
  color: #0069B7;
}

/*** 汎用メタ部 ***/
/**************************************************************************/
.post-meta-box {
  margin: 0 0 16px 0;
}

/* 詳細／ お知らせ、コラム用 */
.single-meta.post-meta-box {
  margin: 0 0 20px 0;
}

/* 詳細／ イベント用 */
.event-meta.post-meta-box {
  margin: 0 0 20px 0;
}

.post-meta-box span,
.post-meta-box time {
  vertical-align: middle;
}

/* カテゴリーラベル */
.post-meta-box span.np-cat-icon {
  display: inline-block;
  margin-right: 10px;
  padding: 6px 20px 8px 20px;
  line-height: 1;
  font-size: 1.6rem;
  color: #fff;
  border-radius: 25px;
}

.post-meta-box span.np-cat-icon--news {
  background-color: #42AA6E;
}

.post-meta-box span.np-cat-icon--recruit-info {
  background-color: #EDB73D;
}

.post-meta-box span.np-cat-icon--etc {
  background-color: #0069B7;
}

/* 日付 */
.post-meta-box time.np-date,
.post-meta-box span.cpt-latest__date {
  display: inline-block;
  margin-right: 10px;
}

/* NEW */
.post-meta-box span.np-badge-new {
  display: inline-block;
  padding: 4px 16px 6px 16px;
  line-height: 1;
  font-size: 1.6rem;
  color: #A61527;
  background-color: #fff;
  border: solid 1px #A61527;
}

/*** イベント ***/
/**************************************************************************/
/* 開催日文字 */
.post-meta-box span.event-meta-title {
  display: inline-block;
  margin-right: 10px;
  color: #42AA6E;
}

/* 終了ラベル */
.post-meta-box span.cpt-latest__icon--ended {
  display: inline-block;
  padding: 4px 16px 6px 16px;
  line-height: 1;
  font-size: 1.6rem;
  color: #fff;
  background-color: #818181;
}

/* ピン止めアイコン */
.post-meta-box span.cpt-latest__icon--sticky {
  display: inline-block;
  margin-left: 10px;
}

/*** コラム ***/
/**************************************************************************/
.archive-column-intro {
  margin: 0 0 30px 0;
}

/* リスト表示 */
.column-item a {
  text-decoration: none !important;
  display: block;
}

.column-item a:hover * {
  text-decoration: none !important;
}

.column-item .post-meta-box .np-linktxt {
  margin: 0 0 20px 0;
  font-size: 2.6rem;
}

.column-item .post-meta-box .np-linktxt {
  margin: 0 0 20px 0;
  font-size: 2.6rem;
}

.column-item .post-meta-box .np-linktxt span:nth-of-type(1) {
  color: #42AA6E;
}

.column-item .post-meta-box .np-linktxt span {
  vertical-align: middle;
}

.column-item .post-meta-box .np-linktxt .np-badge-new {
  margin-left: 15px;
}

.column-item .post-meta-box .bassui {
  margin: 0 0 0 0;
  color: #818181;
}

@media screen and (max-width: 767px) {
  .column-item .column-thumb {
    float: left;
    width: 80px;
  }
  .column-item .post-meta-box {
    float: right;
    margin: 0 0 0 0;
    width: calc(100% - 100px);
  }
  .column-item .bassui {
    clear: both;
    margin: 0 0 0 0;
    padding: 10px 0 0 0;
  }
}
@media screen and (min-width: 768px) {
  .archive-column-intro {
    margin: 0 0 60px 0;
  }
  .column-item .column-thumb {
    float: left;
    width: 141px;
  }
  .column-item .post-meta-box,
  .column-item .bassui {
    float: right;
    margin: 0 0 0 0;
    width: calc(100% - 161px);
  }
  /* 詳細／ お知らせ、コラム用 */
  .single-meta.post-meta-box {
    margin: 0 0 34px 0;
  }
  /* 詳細／ イベント用 */
  .event-meta.post-meta-box {
    margin: 0 0 40px 0;
  }
}
/** 汎用リスト表示 **/
/**************************************************************************/
.np-list {
  margin: 0 0 80px 0;
  border-bottom: solid 1px #B4B4B4;
}

.np-list > li {
  padding: 40px 0;
  border-top: solid 1px #B4B4B4;
}

/* トップページ noticeとevent表示用 */
#notice-event-box .notice-box .np-list > li,
#notice-event-box .event-box .np-list > li {
  padding: 20px;
}

#notice-event-box .notice-box .np-list > li:nth-of-type(1),
#notice-event-box .event-box .np-list > li:nth-of-type(1) {
  border: none;
}

.np-list > li .np-linktxt {
  margin: 0 0 0 0;
}

/* ページャー */
/**************************************************************************/
#wrapper .wp-pagenavi {
  margin: 40px 0 0 0;
  text-align: center;
}

#wrapper .wp-pagenavi span,
#wrapper .wp-pagenavi a {
  margin: 0 6px;
  padding: 4px 10px;
  vertical-align: middle;
  color: #42AA6E;
  background-color: #DCEFE4;
  border: none;
}

#wrapper .wp-pagenavi .current {
  line-height: 1;
  font-size: 2rem;
  color: #fff;
  background-color: #42AA6E;
}

/**************************************************************************/
/*  基本エディタスタイル
/**************************************************************************/
/** 見出し **/
h2, h3, h4, h5, h6 {
  width: 100%;
}

h2, h3, h6 {
  font-weight: bold !important;
}

h4, h5 {
  font-weight: 400 !important;
}

/*
.single article h1{
  margin: 1.5em 0 1em 0;
  padding:0 0 20px 0;
  line-height: 1.2;
  font-size:3rem;
  border-bottom: solid 1px #42AA6E;
}
*/
.single article h2,
.common-h2 {
  margin: 0.5em 0 1em 0 !important;
  padding: 0 0 0 0;
  line-height: 1.2;
  font-size: 3.6rem;
  color: #42AA6E;
}

.single article h3,
.common-h3 {
  margin: 0.5em 0 1em 0 !important;
  padding: 0 0 10px 0 !important;
  line-height: 1.2;
  font-size: 2.8rem;
  color: #42AA6E;
  border-bottom: solid 2px #42AA6E;
}

.single article h4,
.common-h4 {
  margin: 0.5em 0 20px 0 !important;
  padding: 8px 8px;
  line-height: 1.2;
  font-size: 2rem;
  color: #42AA6E;
  background-color: #DCEFE4;
}

.single article h5,
.common-h5 {
  position: relative;
  margin: 0.5em 0 12px 0 !important;
  padding-left: 1.2em;
  line-height: 1.2;
  font-size: 2rem;
}

.single article h5::before,
.common-h5::before {
  content: "◆";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 2rem;
  color: #42AA6E;
}

.single article h6,
.common-h6 {
  margin: 0.5em 0 12px 0 !important;
  line-height: 1.2;
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .single article h2,
  .common-h2 {
    font-size: 4.6rem;
  }
  .single article h3,
  .common-h3 {
    font-size: 3.6rem;
  }
  .single article h4,
  .common-h4 {
    font-size: 2.6rem;
  }
  .single article h5,
  .common-h5 {
    font-size: 2.2rem;
  }
  .single article h5::before,
  .common-h5::before {
    font-size: 2.2rem;
  }
  .single article h6,
  .common-h6 {
    font-size: 2rem;
  }
}
/*** 段落基本 ***/
.single .single-inner p {
  margin: 1em 0 1.5em 0;
}

/* 本文中リンクテキスト */
.single .single-inner p a {
  text-decoration: underline;
  color: #42AA6E;
}

.single .single-inner p a:hover {
  text-decoration: none;
}

/*** リスト ※先頭インデント ***/
/* 頭●付リスト */
ul.wp-block-list li {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.3;
}

ul.wp-block-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  color: #414141;
}

/* 頭数字付リスト */
ol.wp-block-list li {
  position: relative;
  counter-increment: bangou;
  position: relative;
  padding-left: 1.6em;
}

ol.wp-block-list li::before {
  content: counter(bangou);
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 5px 3px 5px;
  font-weight: 600;
  color: #42AA6E;
  border-bottom: solid 1px #42AA6E;
}

/* 汎用リスト（ヘッドアイコンなし） */
ul.wp-block-list.cmn-nohead-list > li {
  padding: 0 0 0 0;
}

ul.wp-block-list.cmn-nohead-list > li::before {
  content: none !important;
}

ul.wp-block-list,
ol.wp-block-list {
  list-style: none;
  margin: 2em 0 2em 0;
}

ul.wp-block-list li,
ol.wp-block-list li {
  list-style: none;
  margin: 0;
}

ul.wp-block-list li:nth-of-type(n+2),
ul.wp-block-list.cmn-nohead-list li:nth-of-type(n+2),
ol.wp-block-list li:nth-of-type(n+2) {
  margin-top: 1em;
}

/*** 汎用テーブル ***/
/***********************************************/
.wp-block-table,
.single .single-inner .wp-block-table {
  margin: 0 0 30px 0;
  padding: 15px 0 15px 0;
  width: 100%;
}

.wp-block-table thead,
.single .single-inner .wp-block-table thead {
  border: none;
}

.wp-block-table thead tr th,
.wp-block-table tbody tr th,
.wp-block-table tbody tr td,
.single .single-inner .wp-block-table thead tr th,
.single .single-inner .wp-block-table tbody tr th,
.single .single-inner .wp-block-table tbody tr td {
  padding: 5px 10px;
  border: solid 1px #b4b4b4;
}

.wp-block-table thead tr th,
.wp-block-table tbody tr th,
.single .single-inner .wp-block-table thead tr th,
.single .single-inner .wp-block-table tbody tr th {
  text-align: center;
  font-weight: normal;
  background-color: #DCEFE4;
}

.single .single-inner .wp-block-table tbody tr td a {
  text-decoration: underline;
  color: #42AA6E;
}

.wp-block-table tbody tr td a:hover,
.single .single-inner .wp-block-table tbody tr td a:hover {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  /* 包含 */
  .wp-block-table,
  .single .single-inner .wp-block-table {
    padding: 0 0 16px 0;
    width: 100%;
    overflow-x: auto;
  }
  .wp-block-table table,
  .single .single-inner .wp-block-table table {
    width: 200%;
    max-width: 800px;
  }
}
/* 投稿画像の包含処理 */
.single #wrapper article .wp-block-image {
  margin: 30px 0 30px 0;
  padding: 0 0 0 0;
}

/*** 画像 ***/
img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img,
.widget-container img {
  max-width: 100%;
  height: auto;
}

.alignleft,
img.alignleft {
  display: inline;
  float: left;
  margin-right: 20px;
  margin-top: 10px;
}

.alignright,
img.alignright {
  display: inline;
  float: right;
  margin-left: 20px;
  margin-top: 10px;
}

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

img.alignleft,
img.alignright,
img.aligncenter {
  margin-bottom: 15px;
}

/**************************************************************************/
/*  404画面
/**************************************************************************/
.inner-404 {
  margin: 0 auto 0;
  padding: 0 0 60px 0;
}

@media screen and (min-width: 768px) {
  .inner-404 {
    padding: 0 0 90px 0;
  }
}/*# sourceMappingURL=style.css.map */