@charset "UTF-8";
/*
Template: arkhe
Theme Name: Arkhe Child
Theme URI: https://arkhe-theme.com/ja/
Description: Arkhe用子テーマ
Version: 1.0.0
Text Domain: arkhe
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl.html
*/

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: .075rem;
}
@media (max-width: 599px) {
  body {
    font-size: 1rem;
  }
}
a:hover,
a:hover img {
  opacity: .85;
}

/* *************************************************
 * 親テーマ 基本のスタイル 上書き
 * *************************************************/
/* リスト */
.c-postContent ul {
  list-style: none;
  padding-left: .5em;
}
.c-postContent  li {
  display: flex;
  align-items: flex-start;
}
.c-postContent ul li::before {
  content: "・";
}

/* アコーディオン + - */
.ark-block-accordion__icon {
  margin-right: .5rem;
}
.ark-block-accordion__icon svg {
  transform: scale(1.5);
}

/* ドロワーメニュー */
.l-header__drawerBtn {
  margin-right: .5rem;
}
.c-iconBtn__icon {
  width: 30px;
  height: 30px;
  font-size: 30px;
}
.c-iconBtn__icon i {
  color: #21C9FF;
}
.c-iconBtn::after {
  content: "MENU";
  font-size: 10px;
  color: #21C9FF;
  margin-top: -2px;
}
[data-drawer="opened"] .c-iconBtn::after {
  content: "CLOSE";
  color: #fff;
}
[data-drawer="opened"] .c-iconBtn__icon i {
  color: #fff;
}
.p-drawer::before {
  background: #21C9FF !important;
}
.p-drawer__body {
  padding: 4vw 0vw !important;
}
.c-drawerNav {
  border-top: 1px solid #fff !important;
}
.p-drawer .c-drawerNav li a {
  color: #fff;
  border-color: #fff;
  padding-left: 1.5rem !important;
}
.p-drawer__close {
  color: #fff;
}
.menu-item__contact > a {
  background: #21C9FF;
}

/* プレースホルダー */
::placeholder {
  color: #c2c2c2;
}


/* ***************************************************************************************************
 * ***************************************************************************************************
 *
 * サイト基本（レイアウトやサイトの基本的なコンポーネントに関するスタイル）
 *
 * ***************************************************************************************************
 * ***************************************************************************************************/

/* *************************************************
 * レイアウト
 * *************************************************/
/* 背景デザインとの重なり順調整のため */
#content.l-content {
  z-index: 1;
}

/* ページ内でコンテンツ幅が異なるときに使用 */
.l_article__slim {
  max-width: 870px;
  margin-right: auto;
  margin-left: auto;
}

/* *************************************************
 * コンテンツ背景（共通）
 * *************************************************/
.l-content {
  overflow: hidden;
}
.bl_contentBG_unit {
  position: relative;
  width: 100%;
  height: 0;
}
.bl_contentBG_area {
  position: absolute;
  width: 100%;
  height: 0;
  overflow: hidden;
}
.bl_contentBG_wrapper__01 {
  background: #fbfbfb;
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 1000px;
  z-index: -1;
}
.bl_contentBG__01 {
  position: absolute;
  display: block;
  background: #fff;
  width: 4000px;
  height: 4000px;
  right: 1430px;
  top: -2000px;
  transform: rotate(45deg);
}
.bl_contentBG_wrapper__02 {
  background: #fbfbfb;
  position: absolute;
  display: block;
  top: 1000px;
  left: 0;
  right: 0;
  width: 100%;
  height: 1000px;
  z-index: -2;
  overflow: hidden;
}
.bl_contentBG__02 {
  position: absolute;
  display: block;
  background: #fff;
  width: 4000px;
  height: 4000px;
  right: 0;
  top: -15px;
  transform: rotate(-70deg);
}
/* トップページのみ */
body.home .bl_contentBG_wrapper__01 {
  height: 1800px;
}
body.home .bl_contentBG_wrapper__02 {
  display: none;
}
/* トップページ以外はtop_areaの分下げる */
body:not(.home) .bl_contentBG_wrapper__01 {
  top: calc(0px + 250px);
}
body:not(.home) .bl_contentBG_wrapper__02 {
  top: calc(1000px + 250px);
}
/* スマホ・タブレット */
@media (max-width: 999px) {
  body.home .bl_contentBG_wrapper__01 {
    height: 460vw;
  }
  body.home .bl_contentBG__01 {
    right: 340px;
    transform: rotate(35deg);
  }
}

/* *************************************************
 * ヘッダー
 * *************************************************/
.l-header__body.l-container {
  width: 100%;
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
}
@media (max-width: 999px) {
  .l-header__center {
    padding: 17px 0 17px 10px;
  }
}
/* *************************************************
 * ロゴ（ヘッダー基準）
 * *************************************************/
@media (min-width: 1000px) {
  .l-header .l-header__logo {
    padding-left: 15px;
    margin-right: 15px;
  }
}
@media (min-width: 1200px) {
  .l-header .l-header__logo {
    padding-left: 45px;
  }
}
@media (max-width: 999px) {
  .l-header__logo {
    justify-content: flex-start;
  }
  .l-header__logo .c-headLogo.-img {
    height: 30px;
  }
  .l-header .l-header__logo .c-headLogo.-img::after {
    display: block;
    content: "";
    position: absolute;
    background: #fff;
    height: 100%;
    width: 120px;
    top: 0;
    left: 150px;
  }
}

/* *************************************************
 * グローバルナビ
 * *************************************************/
.c-gnav > .menu-item > a {
  font-size: 1em;
  padding: 28px 8px;
}
@media (min-width: 1200px) {
  .c-gnav > .menu-item > a {
    font-size: 1.125em;
    padding: 28px 15px;
  }
}
.c-gnav > .menu-item .__mainText {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}
.c-gnav > .menu-item .__mainText {
  letter-spacing: .075em;
}
.c-gnav > .menu-item .__mainText::first-letter {
  color: #21C9FF;
}
.c-gnav > .menu-item .__subText {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: -.07em;
  margin-top: .1em;
}
.c-gnav > .menu-item:last-child {
  background-color: #21C9FF;
}
@media (min-width: 1000px) {
  .c-gnav > .menu-item:last-child {
    margin-left: 20px;
  }
}
.c-gnav > .menu-item:last-child > a {
  padding-right: 25px;
  padding-left: 25px;
}
.c-gnav > .menu-item:last-child .__mainText,
.c-gnav > .menu-item:last-child .__mainText::first-letter,
.c-gnav > .menu-item:last-child .__subText {
  /* 「お問い合わせ」が右端ではなくなった場合はこのセレクタを適宜変更ください */
  color: #fff
}

/* *************************************************
 * ぱんくず
 * *************************************************/
.p-breadcrumb {
  margin: .5rem auto 0;
}
@media (min-width: 1300px) {
  .p-breadcrumb__list.l-container {
    padding: 0;
  }
}
.p-breadcrumb__text {
  font-size: 12px;
  font-weight: 300;
}
.p-breadcrumb__item {
  margin-right: 15px;
  padding-right: 15px;
}
.p-breadcrumb__item::after {
  position: absolute;
  content: "";
  background: #111;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 1px;
  height: 14px;
  color: inherit;
  border-top: none;
  border-right: none;
  transform: translateY(0) rotate(15deg);
  opacity: .7;
  padding: 0;
  margin: auto;
  line-height: 1;
}
.p-breadcrumb__item:last-child span {
  opacity: 1;
}

/* *************************************************
 * スライダー
 * *************************************************/
 .bl_topSliderWrap {
   position: relative;
 }
.swiper-container {
  position: relative;
  width: 100%;
  height: 90vh;
  max-height: 595px;
}
.bl_topSlider .swiper-slide > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bl_topSlider__logoWrapper {
  background-image: url('assets/img/top/bl_topSlider__back.png');
  position: absolute;
  display: block;
  content: "";
  height: 100%;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 600px;
  background-repeat: no-repeat;
  background-size: 100%;
}
@media (max-width: 999px) {
  .bl_topSlider__logoWrapper {
    background-image: url('assets/img/top/bl_topSlider__backSP.png');
  }
}
.bl_topSlider__logo {
  position: absolute;
  bottom: 95px;
  right: 40px;
}
@media (max-width: 999px) {
  .bl_topSlider__logo {
    bottom: 100px;
    right: 15px;
  }
}
.swiper-pagination.swiper-pagination-bullets.bl_topSlider_pageNation {
  position: absolute;
  width: 100%;
  text-align: right;
  right: 0;
  bottom: -21px;
}
.bl_topSlider_pageNation .swiper-pagination-bullet {
  position: relative;
  width: 45px;
  height: 3px;
  margin-right: 12px;
  border-radius: 0;
}
.bl_topSlider_pageNation .swiper-pagination-bullet-active {
  background: #dcdcdc;
}
.bl_topSlider_pageNation .swiper-pagination-bullet-active::after {
  display: block;
  content: "";
  width: 0;
  height: 100%;
  color: #21C9FF;
  background: #21C9FF;
  /*
   * スライダーページネーションのアニメーション
   * Swiperのスライド変更スピードを変更した際はこちらも適宜変更してください
   * （デフォルト 9秒）
   */
  animation: swiper-pagenation-bullet-active 9s linear 0s 1;
}
@keyframes swiper-pagenation-bullet-active {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

/* *************************************************
 * スライダー下 SCROLL
 * *************************************************/
.bl_topScroll {
  position: absolute;
  width: 80px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  margin: auto;
  text-align: center;
}
@media (max-width: 999px) {
  .bl_topScroll {
    right: inherit;
  }
}
.bl_topScroll::before {
  display: block;
  content: "";
  width: 1px;
  height: 40px;
  background: #000;
  left: 0;
  right: 0;
  margin: auto;
  box-shadow: 0 0 0 1px #787878;
  position: absolute;
  bottom: -40px;
}
.bl_topScroll::after {
  display: block;
  content: "";
  width: 1px;
  height: 75px;
  background: #fff;
  left: 0;
  right: 0;
  box-shadow: 1px 0 0 0 #8a8a8a, -1px 0 0 0 #8a8a8a, 0 -1px 0 0 #8a8a8a;
  position: absolute;
  margin: auto;
  bottom: 1px;
}
.bl_topScroll_label {
  position: absolute;
  display: block;
  width: 80px;
  bottom: -70px;
  font-size: 12px;
  margin: auto;
  left: 0;
  right: 0;
}

/* *************************************************
 * 固定ページ タイトル部分
 * *************************************************/
/* 最上部タイトル */
.p-topArea {
  height: 250px;
  min-height: 250px;
}
.p-topArea__title {
  letter-spacing: .25em;
}
.p-topArea__title .c-pageTitle__main {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 52px;
  line-height: 1;
}
.p-topArea__title .c-pageTitle__sub {
  font-style: normal;
}
.p-topArea__title .c-pageTitle__sub::before,
.p-topArea__title .c-pageTitle__sub::after {
  content: none;
}

/* *************************************************
 * フッター
 * *************************************************/
#footer {
  background: #f6f6f6;
  padding-top: 100px;
}
@media (min-width: 1000px) {
  #footer {
    padding-top: 150px;
  }
}
.bl_footCompanyInfo {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 55px;
}
@media (min-width: 1000px) {
  .bl_footCompanyInfo {
    flex-direction: row;
    align-items: flex-start;
  }
}
@media (min-width: 1200px) {
  .bl_footCompanyInfo.l-container {
    padding-left: 0;
    padding-right: 0;
  }
}
.bl_footCompanyInfo::before {
  position: absolute;
  display: block;
  content: "";
  background: #ccc;
  width: calc(100% - 2rem);
  height: 1px;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media (min-width: 1200px) {
  .bl_footCompanyInfo::before {
    width: 100%;
  }
}
@media (min-width: 1000px) {
  .bl_footCompanyInfo_logo .c-headLogo.-img {
    height: 40px;
  }
}
.bl_footCompanyInfo_address {
  margin-top: 30px;
  text-align: center;
  font-size: .75rem;
  line-height: 2;
}
@media (min-width: 1000px) {
  .bl_footCompanyInfo_address {
    text-align: left;
    margin-top: -5px;
    margin-left: 50px;
  }
}
/* フッターナビ */
.l-footer__foot {
  margin-top: 30px;
}
@media (min-width: 1200px) {
  .l-footer__foot > .l-container {
    padding-right: 0;
    padding-left: 0;
  }
}
@media (max-width: 999px) {
  .l-footer__nav {
    display: none;
  }
}
@media (min-width: 1000px) {
  .l-footer__nav {
    justify-content: flex-start;
  }
}
.l-footer__nav > li {
  margin-right: 50px;
}
.l-footer__nav a {
  padding: 0 !important;
  font-size: .875rem;
}
/* サブナビゲーション */
.bl_footSubNav {
  margin-top: 1.5rem;
}
.l-footer__nav.bl_footSubNav > li {
  position: relative;
  margin-right: 20px;
  padding-right: 20px;
  font-size: .75rem;
  font-weight: 300;
}
.l-footer__nav.bl_footSubNav > li:not(:last-child)::after {
  display: block;
  position: absolute;
  content: "";
  background: #111;
  width: 1px;
  height: 10px;
  bottom: 3px;
  right: 0;
}
.l-footer__nav.bl_footSubNav > li a {
  font-size: .75rem;
}
/* コピーライト */
.c-copyright {
  font-size: .68rem;
  font-weight: 300;
  margin: 40px auto 20px !important;
}
@media (min-width: 1000px) {
  .c-copyright {
    margin: 70px auto 35px !important;
  }
}

/* ***************************************************************************************************
 * ***************************************************************************************************
 *
 * 基本コンポーネント・モディファイア（基本のパーツやその派生、他、複数ページで使い回すコンポーネントなど）
 *
 * ***************************************************************************************************
 * ***************************************************************************************************/

/* *************************************************
 * 本文テキスト
 * *************************************************/
.el_txtSize__s {
  font-size: .75rem;
  font-weight: 300;
}
.el_txtSize__l {
  font-size: 1.3125rem;
}
/* ブログ用本文 */
.bl_blogContent p,
.bl_blogContent li {
  font-weight: 300;
}

/* *************************************************
 * 見出し
 * *************************************************/
 .bl_headWrap {
  position: relative;
}
.bl_headWrap__txtCenter {
  text-align: center;
}
.bl_head {
  font-weight: 700;
  position: relative;
}
.bl_headWrap__txtCenter .bl_head {
  display: inline-block;
  padding-right: .5rem;
  padding-left: .5rem; 
  margin-right: auto;
  margin-left: auto;
}

/* *************************************************
 * 見出し（セクションタイトル）
 * *************************************************/
.bl_pageHead {
  font-weight: 700;
}
.bl_pageHead.bl_pageHead__ttl {
  font-size: 1.3125rem;
}
@media (min-width: 1000px) {
  .bl_pageHead.bl_pageHead__ttl {
    font-size: 1.5rem;
  }
}

/* *************************************************
 * 見出し（ブログコンテンツ用h2）
 * *************************************************/
.bl_blogContent h2 {
  font-size: .875rem;
  border-bottom: 1px solid #21C9FF;
  padding: 1rem 0;
}

/* *************************************************
 * 見出し（青丸付き）
 * *************************************************/
.bl_pageHead.bl_pageHead__h3 {
  display: flex;
  font-size: 1.25rem;
  font-weight: 500;
  align-items: center;
  margin-bottom: 1rem;
}
.bl_pageHead.bl_pageHead__h3::before {
  display: inline-block;
  background: #21C9FF;
  content: "";
  width: 12px;
  height: 12px;
  margin-right: 1rem;
  flex-shrink: 0;
  border-radius: 50%;
}
.bl_pageHead.bl_pageHead__h3 .bl_pageHead_subTxt,
.bl_pageHead.bl_pageHead__h3 + .bl_pageHead_subTxt {
  display: inline-block;
  align-self: flex-end;
  font-size: .875rem;
  color: #21C9FF;
  margin-left: .5rem;
  margin-bottom: .15em;
}

/* *************************************************
 * セクション見出し
 * *************************************************/
 .bl_secHead {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 50px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 5rem;
  text-align: center;
  line-height: 1.4;
  letter-spacing: .07em;
}
.bl_secHead::first-letter {
  color: #21C9FF;
} 
.bl_secHead .bl_secHead_subTxt {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  color: #989898;
  letter-spacing: .07em;
}
.bl_secHead_desc {
  margin-top: 1.5rem;
  text-align: center;
  font-size: .9375rem;
}

/* *************************************************
 * 説明リスト（ブログコンテンツ用）
 * *************************************************/
 /* 項目 */
 .bl_blogContent .ark-block-dl__dt {
  display: flex;
  font-weight: 500;
  align-items: center;
  font-size: .875rem;
  padding-left: 0;
  border: none;
}
.bl_blogContent .ark-block-dl__dt::before {
  display: inline-block;
  background: #21C9FF;
  content: "";
  width: 12px;
  height: 12px;
  margin-right: .5rem;
  flex-shrink: 0;
  border-radius: 50%;
}
/* 説明 */
.bl_blogContent .ark-block-dl__dt {
  padding: 1rem 0 1rem 0;
}
.bl_blogContent .ark-block-dl__dd {
  padding: 0 0 0 1.2rem;
}

/* *************************************************
 * 青テキストリンクボタン
 * *************************************************/
.el_txtLink a,
.el_txtLink span {
  position: relative;
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  color: #21C9FF;
  padding: .5rem .5rem .5rem 2rem;
  text-decoration: none;
  border-bottom: 2px solid;
}
@media (min-width: 1000px) {
  .el_txtLink a,
  .el_txtLink span {
    font-size: .875rem;
  }
}
@media (max-width: 999px) {
  p.el_txtLink a,
  p.el_txtLink span {
    margin-top: 2rem !important;
  }
}
.el_txtLink.el_txtLink__colorWhite a,
.el_txtLink.el_txtLink__colorWhite span {
  color: #fff;
}
.el_txtLink a::before,
.el_txtLink span::before {
  display: inline-block;
  position: absolute;
  background-image: url(assets/img/el_arr__b.png);
  content: "";
  background-repeat: no-repeat;
  background-position: center left;
  width: 15px;
  height: 20px;
  top: 0;
  bottom: 0;
  left: .5rem;
  margin: auto 0;
}
.el_txtLink.el_txtLink__colorWhite a::before,
.el_txtLink.el_txtLink__colorWhite span::before {
  background-image: url(assets/img/el_arr__w.png);
}
.el_txtLink.el_txtLink__l a,
.el_txtLink.el_txtLink__l span {
  padding: .75rem 2.5rem .75rem 3.5rem;
}
.el_txtLink.el_txtLink__l a::before,
.el_txtLink.el_txtLink__l span::before {
  left: 1.5rem;
}
.el_txtLink.el_txtLink__alignR {
  text-align: right;
}
.el_txtLink.el_txtLink__alignCenter {
  text-align: center;
}

/* *************************************************
 * ボタン（青塗り潰し）
 * *************************************************/
.bl_btnWrap {
  position: relative;
}
.bl_btnWrap.bl_btnWrap__center {
  text-align: center;
}
.el_btn,
a.el_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #21C9FF;
  color: #fff;
  width: 210px;
  padding: 1rem;
  text-decoration: none;
  text-align: center;
}
.el_btn::before {
  display: block;
  background-image: url(assets/img/el_arr__w.png);
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
  width: 15px;
  height: 20px;
  margin-right: .75rem;
}
.el_btn.el_btn__s {
  width: 140px;
  padding: .5rem;
  font-size: .875rem;
}
.el_btn.el_btn__arrL::before {
  background-image: url(assets/img/el_arr__wL.png);
}
.bl_btnWrap__center .el_btn {
  margin-right: auto;
  margin-left: auto;
}

/* *************************************************
 * 青枠ナンバリング付きリスト
 * *************************************************/
.bl_ol__blue {
  counter-reset: bl_ol__blue;
}
@media (min-width: 1000px) {
  .bl_ol__blue {
    padding: 0 4rem !important;
  }
}
.bl_ol__blue > li {
  display: flex;
  align-items: center;
  counter-increment: bl_ol__blue;
  font-size: 1.125rem;
  font-weight: 500;
}
.bl_ol__blue > li::before {
  display: flex;
  align-items: center;
  justify-content: center;
  content: counter(bl_ol__blue);
  background: #21C9FF;
  color: #fff;
  width: 26px;
  height: 26px;
  margin-right: .75rem;
}

/* *************************************************
 * 2カラムリスト
 * *************************************************/
.bl_list__col2 {
  display: flex;
  flex-wrap: wrap;
}
.bl_list__col2 > li {
  width: 100%;
}

/* *************************************************
 * 青枠ボックス
 * *************************************************/
.bl_boxBlue {
  width: 580px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  border: 3px solid #21C9FF;
  padding: 2rem 1rem;
}
@media (min-width: 600px) {
  .bl_boxBlue .bl_list__col2 {
    max-width: 420px;
    margin-right: auto;
    margin-left: auto;
    padding: 0;
  }
}

/* *************************************************
 * POINTボックス（赤枠）
 * *************************************************/
.bl_pointBox {
  position: relative;
  border: 1px solid #fa1d3d;
  padding: 1.5rem;
}
.bl_pointBox::before {
  display: block;
  content: "POINT";
  color: #fa1d3d;
  padding-bottom: 1rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 1000px) {
  .bl_pointBox {
    display: flex;
  }
  .bl_pointBox::before {
    padding-bottom: 0; 
    padding-right: 2rem;
  }
}

/* *************************************************
 * テーブルデザイン（tdグラデーション）
 * *************************************************/
@media (max-width: 999px) {
  .bl_tblWrap.bl_tblWrap__scroll {
    overflow-x: scroll;
  }
  .bl_tblWrap.bl_tblWrap__scroll > * {
    min-width: 800px;
  }
}
.bl_tbl {
  background: linear-gradient(to bottom, #def1fc, #99c6e7);
}
.bl_tbl th,
.bl_tbl td {
  border-bottom-color: #fff;
  border-left-color: #fff;
  font-size: 14px;
  font-weight: 300 !important;
}
.bl_tbl th {
  background: #dae1e9 !important;
  text-align: center;
  vertical-align: middle;
}
.bl_tbl td {
  text-align: right;
}

/* *************************************************
 * フッター前 EXAMPLE ユニット
 * *************************************************/
.bl_footExample {
  display: flex;
  width: 100%;
  margin-top: 2.5rem;
  flex-direction: column;
}
@media (max-width: 600px) {
  .bl_footExmaple_item + .bl_footExmaple_item {
    margin-top: 2rem;
  }
}
@media (min-width: 599px) {
  .bl_footExample {
    flex-direction: row;
  }
  .bl_footExmaple_item {
    flex-basis: 33.3333%;
  }
  .bl_footExmaple_item:not(:nth-of-type(3n)) {
    margin-right: 2.5rem;
  }
}
.bl_footExample_link {
  text-decoration: none;
  color: inherit;
}
.bl_exampleNews_fig.c-postThumb__figure {
  padding-top: 75%;
}
.bl_footExmaple_ttl {
  font-size: 1.125rem;
  margin-top: 1rem;
  font-weight: 500;
}
.bl_footExampleWrap .bl_btnWrap {
  margin-top: 3rem;
}

/* *************************************************
 * フッター前 CONTACT ユニット
 * *************************************************/
 .bl_footContactWrap {
  position: relative;
  background: none;
  margin-top: -100px;
  padding-top: 200px;
  z-index: 0;
  overflow: hidden;
}
.bl_footContactWrap::before {
  position: absolute;
  display: block;
  content: "";
  background: #f6f6f6;
  width: 50%;
  height: 350px;
  top: 0px;
  right: 50%;
  transform: skewx(-75deg);
  transform-origin: bottom left;
  left: 50%;
  margin: auto;
  box-shadow: 0 0px 0 1px #f6f6f6;
}
.bl_footContactWrap::after {
  position: absolute;
  display: block;
  content: "";
  background: #f6f6f6;
  width: 200%;
  height: 350px;
  top: 350px;
  right: -150%;
  transform-origin: top right;
  transform: skew(-75deg);
  box-shadow: 0 0 0px 1px #f6f6f6;
}
@media (max-width: 599px) {
  .bl_footContactWrap .bl_secHead_desc {
    text-indent: -2rem;
  }
}
.bl_footContact {
  display: flex;
  flex-direction: column;
  background: #fff;
  max-width: 955px;
  width: calc(100% - 2rem);
  margin-right: auto;
  margin-left: auto;
  margin-top: 3rem;
}
@media (min-width: 1000px) {
  .bl_footContact {
    flex-direction: row;
  }
}
@media (max-width: 999px) {
  .bl_footContact {
    /* タブレット表示対策 */
    box-shadow: -10rem 0px 0px 0px #f6f6f6, 10rem 0px 0px 0px #f6f6f6;
  }
}
.bl_footContactWrap > * {
  /* 背景より上に表示するため */
  position: relative;
  z-index: 1;
}
.bl_footContact_col {
  position: relative;
  flex-grow: 1;
  text-align: center;
  padding: 50px 10px;
}
.bl_footContact_col:first-child::after {
  position: absolute;
  display: block;
  content: "";
  width: 90px;
  height: 0;
  border-bottom: 1px solid #cacaca;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
@media (min-width: 1000px) {
  .bl_footContact_col:first-child::after {
    border-bottom: none;
    border-right: 1px solid #cacaca;
    top: 0;
    left: auto;
    width: 0;
    height: 90px;
  }
}
.bl_footContact_head {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.bl_footContact_telLabel {
  font-size: 1.125rem;
  font-weight: 700;
  margin-right: .5rem;
}
.bl_footContact_telNum,
a.bl_footContact_telNum {
  font-size: 2.25rem;
  font-weight: 700;
  color: #21C9FF;
  text-decoration: none;
}
.bl_footContact_col .el_btn {
  width: 285px;
  min-width: 63%;
}

/* ***************************************************************************************************
 * ***************************************************************************************************
 *
 * オリジナルブロック（吉田工業）
 *
 * ***************************************************************************************************
 * ***************************************************************************************************/

/* *************************************************
 * 01：写真と白ボックス
 * *************************************************/
 .bl_ykBlock01 {
  margin-bottom: 1.5rem;
}
.bl_ykBlock01 .wp-block-group__inner-container {
  position: relative;
  height: 100%;
}
.bl_ykBlock01 .bl_ykBlock01_body {
  background: #fff;
  padding: 2rem 1.5rem;
  margin-bottom: -35px;
}
.bl_ykBlock01 .bl_ykBlock01_body p {
  font-weight: 300;
  line-height: 1.5;
}
@media (min-width: 1000px) {
  .bl_ykBlock01 {
    margin-bottom: 3.5rem;
  }
  .bl_ykBlock01 .bl_ykBlock01_fig {
    text-align: left;
  }
  .bl_ykBlock01.bl_ykBlock01__reverse .bl_ykBlock01_fig {
    text-align: right;
  }
  .bl_ykBlock01 .bl_ykBlock01_body {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 390px;
  }
  .bl_ykBlock01.bl_ykBlock01__reverse .bl_ykBlock01_body {
    right: auto;
    left: 0;
  }
}

/* *************************************************
 * 02：頻出テキストブロック（コンテンツ幅よりやや余白多め）
 * *************************************************/
.bl_ykBlock02 {
  padding: 1rem;
  font-weight: 300;
}
.bl_ykBlock02.bl_ykBlock02__alignCenter {
  text-align: center;
}
.bl_ykBlock02 + .bl_ykBlock02 {
  margin-top: 0;
}
@media (min-width: 1000px) {
  .bl_ykBlock02 {
    padding: 1rem 2.0rem;
  }
}

/* *************************************************
 * 03：ナンバー入り青枠ボックス
 * *************************************************/
.bl_ykBlock03 {
  counter-reset: bl_ykBlock03;
}
.wp-block-column.bl_ykBlock03_item {
  border: 3px solid #21C9FF;
  padding: 1.5rem;
  counter-increment: bl_ykBlock03;
}
.bl_ykBlock03_itemHead {
  font-size: 1.875rem;
  font-weight: bold;
}
.bl_ykBlock03_itemHead::before {
  content: counter(bl_ykBlock03, decimal-leading-zero);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: #7594c3;
  font-size: 5rem;
  opacity: .5;
  letter-spacing: -.005em;
  margin-right: 1rem;
  line-height: 1;
}
.bl_ykBlock03 .wp-block-columns:nth-child(n+1) {
  margin-top: 2rem;
}
.bl_ykBlock03 .bl_ykBlock03_item li {
  font-weight: 300;
}


/* ***************************************************************************************************
 * ***************************************************************************************************
 *
 * ページ別コンポーネント（上記オリジナルブロックのカスタマイズも以下へ）
 *
 * ***************************************************************************************************
 * ***************************************************************************************************/

 /* *************************************************
 * トップページ
 * *************************************************/
/* トップページ 共通 */
.bl_top01_head,
.c-postContent .bl_top01_head,
.bl_top02_head,
.c-postContent .bl_top02_head,
.bl_top03_head,
.c-postContent .bl_top03_head {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 68px;
  letter-spacing: .07em;
}
@media (max-width: 599px) {
  .bl_top01_head,
  .c-postContent .bl_top01_head,
  .bl_top02_head,
  .c-postContent .bl_top02_head,
  .bl_top03_head,
  .c-postContent .bl_top03_head {
    font-size: 15vw;
  }
}
.bl_top01_headMain,
.bl_top02_headMain,
.bl_top03_headMain {
  position: relative; 
  display: block;
  white-space: nowrap;
  padding-bottom: 15px;
  line-height: 1;
}
.bl_top01_headMain::first-letter,
.bl_top03_headMain::first-letter {
  color: #21C9FF;
}
.bl_top01_headMain::after,
.bl_top02_headMain::after,
.bl_top03_headMain::after {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  right: 0;
  width: 1000px;
  height: 1px;
  background: #21C9FF;
}
.bl_top02_headMain::after {
  background: #fff;
}
.bl_top01_headSubTxt,
.bl_top02_headSubTxt,
.bl_top03_headSubTxt {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  color: #989898;
  font-weight: 500;
  font-size: 20px;
  margin-top: 15px;
}
.bl_top01_desc,
.bl_top03_desc {
  font-size: 1rem;
  line-height: 2;
}
@media (min-width: 1000px) {
  .bl_top01_desc,
  .bl_top03_desc {
    font-size: .9375rem;
    margin-top: 2rem !important;
  }
}
@media (min-width: 1000px) {
  .bl_top01 .el_txtLink,
  .bl_top02 .el_txtLink,
  .bl_top03 .el_txtLink {
    margin-top: 2rem !important;
  }
}
@media (max-width: 999px) {
  .bl_top01 .el_txtLink,
  .bl_top02 .el_txtLink,
  .bl_top03 .el_txtLink {
    text-align: center;
  }
}
@media (min-width: 1000px) {
  .bl_top01 .bl_top01_colR,
  .bl_top01 .wp-block-columns .wp-block-column:not(:first-child),
  .bl_top02 .bl_top02_colR,
  .bl_top02 .wp-block-columns .wp-block-column:not(:first-child),
  .bl_top03 .bl_top03_colR,
  .bl_top03 .wp-block-columns .wp-block-column:not(:first-child) {
    margin-left: auto;
  }
}
/* トップページ 01 SERVICE */
.bl_top01,
.wp-block-group.bl_top01,
.c-postContent > .bl_top01 {
  margin-top: 160px !important;
}
.bl_top01_colR figure:not(:first-of-type) {
  margin-top: 3rem;
}
/* トップページ 02 REASON */
.bl_top02Wrap {
  margin-top: 200px;
}
.bl_top02Wrap::before {
  position: absolute;
  display: block;
  background: #21C9FF;
  content: "";
  width: 100%;
  height: calc(100% + 250px);
  top: -100px;
  left: 0;
  transform: skewY(15deg);
  z-index: -1;
}
@media (max-width: 999px) {
  .bl_top02Wrap::before {
    height: calc(100% + 130px);
    top: -80px;
  }
}
.bl_top02_headSubTxt {
  color: inherit;
}
.bl_top02 .ark-block-accordion {
  counter-reset: bl_top02__accordion;
  margin-top: 3rem !important;
}
.bl_top02 .ark-block-accordion__item {
  counter-increment: bl_top02__accordion;
}
.bl_top02 .ark-block-accordion__title::before {
  content: counter(bl_top02__accordion, decimal-leading-zero) ".";
  font-size: 1.25rem;
  line-height: 1;
  margin-right: .5rem;
  margin-bottom: .2rem;
}
.bl_top02 .ark-block-accordion__title {
  background: none;
  border-bottom: 1px solid rgba(255,255,255, .35);
  padding: 1rem;
}
.bl_top02 .ark-block-accordion__item[aria-expanded="true"] .ark-block-accordion__title {
  font-weight: 700;
}
.bl_top02 .ark-block-accordion__icon {
  margin-right: 0;
}
.bl_top02 .ark-block-accordion__body {
  font-weight: 300;
}
.bl_top02 .ark-block-accordion__item + .ark-block-accordion__item {
  margin-top: 0;
}
@media (max-width: 999px) {
  .wp-block-column.\.bl_top02_colR {
    margin-top: 3rem;
  }
}
.bl_top02_photos,
.bl_top02_photos .wp-block-group__inner-container {
  display: flex;
  justify-content: center;
}
.bl_top02_photo:nth-of-type(2) {
  margin: 10px 10px 10px 15px;
}
/* トップページ 03 EXAMPLE */
.bl_top03 {
  margin-top: 100px;
}
@media (max-width: 999px) {
  .bl_top03 {
    margin-top: 150px;
  }
}
.bl_top03_colR .bl_pageHead.bl_pageHead__h3 {
  border-bottom: 1px solid #dcdcdc;
  padding: 20px 0;
  margin-top: 0;
}
.bl_top03_colR .bl_pageHead.bl_pageHead__h3::before {
  display: none;
}
.bl_top03_colR .bl_pageHead.bl_pageHead__h3 .bl_pageHead_subTxt {
  margin-left: 0;
  margin-right: .5rem;
}
.bl_top03_colR .bl_pageHead.bl_pageHead__h3 .hp_txtSmall {
  font-size: 16px;
  align-self: flex-end;
  margin-bottom: 2px;
  margin-left: 5px;
}
@media (max-width: 599px) {
  .bl_top03 .wp-block-image .alignright {
    float: none;
    margin: 0;
  }
}

/* *************************************************
 *  ABOUT クリーンルームとは
 * *************************************************/
.bl_ykBlock01.bl_ykBlock01__about {
  counter-increment: bl_ykBlock01__about;
}
.bl_ykBlock01.bl_ykBlock01__about .bl_ykBlock01_body::before {
  content: counter(bl_ykBlock01__about, decimal-leading-zero);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 100px;
  color: #21C9FF;
  opacity: .3;
  position: absolute;
  top: -65px;
  right: 25px;
  line-height: 1;
}
@media (max-width: 999px) {
  .bl_ykBlock01.bl_ykBlock01__about .bl_ykBlock01_body::before {
    top: -75px;
  }
}
.bl_ykBlock01.bl_ykBlock01__about .bl_ykBlock01_body {
  position: relative;
}
.bl_ykBlock01.bl_ykBlock01__reverse.bl_ykBlock01__about .bl_ykBlock01_body::before {
  right: auto;
  left: 25px;
}
.bl_ykBlock01.bl_ykBlock01__about .bl_ykBlock01_body::after {
  display: block;
  position: absolute;
  content: "";
  background: #21C9FF;
  top: 0;
  left: 0;
  width: 7px;
  height: 150px;
}
.bl_ykBlock01.bl_ykBlock01__reverse.bl_ykBlock01__about .bl_ykBlock01_body::after {
  left: auto;
  right: 0;
}
.bl_ykBlock01__about + .bl_ykBlock01__about {
  margin-top: 5rem;
}
@media (min-width: 1000px) {
  .bl_ykBlock01__about:first-child {
    margin-top: 5rem !important;
  }
  .bl_ykBlock01.bl_ykBlock01__about .bl_ykBlock01_fig {
    width: 50%;
  }
  .bl_ykBlock01.bl_ykBlock01__about .bl_ykBlock01_fig > img {
    width: 100%;
  }
  .bl_ykBlock01.bl_ykBlock01__about .bl_ykBlock01_body {
    position: absolute;
    right: auto;
    margin-bottom: 0;
    left: calc(50% - 52px);
    width: 580px;
    height: 270px;
    padding: 50px;
  }
  .bl_ykBlock01.bl_ykBlock01__reverse.bl_ykBlock01__about .bl_ykBlock01_fig {
    margin-left: auto;
  }
  .bl_ykBlock01.bl_ykBlock01__reverse.bl_ykBlock01__about .bl_ykBlock01_body {
    right: calc(50% - 52px);
    left: auto;
  }
  .bl_ykBlock01.bl_ykBlock01__about .bl_ykBlock01_body .el_txtLink {
    position: absolute;
    bottom: -1rem;
    right: 0;
  }
}

/* *************************************************
 *  ABOUT クリーンルームって何
 * *************************************************/
@media (min-width: 1000px) {
  .bl_ykBlock01.bl_ykBlock01__aboutSub1 {
    margin-top: 5rem;
  }
  .bl_ykBlock01.bl_ykBlock01__aboutSub1 .bl_ykBlock01_body {
    width: 450px;
  }
}

/* *************************************************
 *  ABOUT クリーンルームの種類
 * *************************************************/
@media (min-width: 1000px) {
  .bl_ykBlock01.bl_ykBlock01__aboutSub5:not(:last-child) {
    margin-bottom: 7rem;
  }
  .bl_ykBlock01.bl_ykBlock01__aboutSub5 .bl_ykBlock01_body {
    margin-bottom: -65px;
  }
}

/* *************************************************
 *  ABOUT クリーンルームのメリット
 * *************************************************/
@media (min-width: 1000px) {
  .bl_boxBlue.bl_boxBlue__aboutSub6 {
    margin-top: 3.5rem;
  }
}

/* *************************************************
 *  ABOUT クリーンルームの価格
 * *************************************************/
.bl_ykBlock01.bl_ykBlock01__aboutSub7 .bl_ykBlock01_body p:nth-of-type(1) {
  font-size: 18px;
  font-weight: 500;
}
.bl_ykBlock01.bl_ykBlock01__aboutSub7 .bl_ykBlock01_body p:nth-of-type(2) {
  font-size: 16px;
  font-weight: 500;
}
.bl_ykBlock01.bl_ykBlock01__aboutSub7 + .bl_ykBlock01.bl_ykBlock01__aboutSub7 {
  margin-top: 4rem;
}
@media (min-width: 1000px) {
  .bl_ykBlock01.bl_ykBlock01__aboutSub7 .bl_ykBlock01_body {
    width: 230px;
    bottom: 60px;
    right: 50px;
    padding: 2.5rem 2rem;
  }
  .bl_ykBlock01.bl_ykBlock01__aboutSub7.bl_ykBlock01__reverse .bl_ykBlock01_body {
    right: 0;
    left: 50px;
  }
  .bl_ykBlock01.bl_ykBlock01__aboutSub7 + .bl_ykBlock01.bl_ykBlock01__aboutSub7 {
    margin-top: 6rem;
  }
}

/* *************************************************
 *  ABOUT クリーンルーム導入をお考えの方
 * *************************************************/
@media (min-width: 1000px) {
  .bl_ykBlock02.bl_ykBlock02__aboutSub8 {
    text-align: center;
  }
  .wp-block-columns.bl_aboutSub8_cols {
    margin-right: .5rem;
    margin-left: .5rem;
  }
  p.bl_aboutSub8_p,
  .bl_pointBox.bl_pointBox__aboutSub8
   {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .wp-block-columns.bl_aboutSub8_cols .wp-block-column {
    flex-basis: calc(50% - .75rem);
  }
  .wp-block-columns.bl_aboutSub8_cols .wp-block-column:not(:first-child) {
    margin-left: .5rem;
  }
  .wp-block-columns.bl_aboutSub8_cols2 {
    justify-content: center;
  }
  .wp-block-columns.bl_aboutSub8_cols2 .wp-block-column:not(:first-child) {
    margin-left: .2rem;
  }
  .has-text-align-center.el_txtSize__l.bl_aboutSub8 {
    margin-top: 5rem;
  }
}
@media (min-width: 600px) and (max-width: 999px) {
  .wp-block-columns.bl_aboutSub8_cols {
    flex-wrap: nowrap;
  }
  .wp-block-columns.bl_aboutSub8_cols .wp-block-column:not(:only-child) {
    flex-basis: 33% !important;
  }
  .wp-block-columns.bl_aboutSub8_cols.bl_aboutSub8_cols2 .wp-block-column:not(:only-child) {
    flex-basis: 50% !important;
  }
  .wp-block-columns.bl_aboutSub8_cols .wp-block-column:not(:last-child) {
    margin-right: 1rem;
  }
  .bl_aboutSub8_cols .wp-block-column + .wp-block-column {
    margin-top: 0 !important;
  }
}
@media (max-width: 599px) {
  .has-text-align-center.el_txtSize__l.bl_aboutSub8 br {
    display: none;
  }
}

/* *************************************************
 *  FEATURE 吉田工業のクリーンルームの特徴
 * *************************************************/
 /* FEATURE 01 */
.bl_ykBlock02.bl_ykBlock02__feature {
  max-width: 740px;
  margin-right: auto;
  margin-left: auto;
}
.bl_feature01 {
  counter-reset: bl_feature01;
}
@media (min-width: 1000px) {
  .bl_feature01 {
    margin-top: 4rem;
  }
}
.bl_feature01_item {
  position: relative;
  background-repeat: no-repeat;
  background-position: bottom right;
  counter-increment: bl_feature01;
}
.bl_feature01_item:nth-of-type(2n) {
  background-position: bottom left;
}
@media (min-width: 1600px) {
  .bl_feature01_item {
    background-size: 60%;
  }
}
@media (max-width: 1199px) {
  .bl_feature01_item {
    background-position: bottom left 300px;
  }
  .bl_feature01_item:nth-of-type(2n) {
    background-position: bottom right 300px;
  }
}
@media (max-width: 599px) {
  .bl_feature01_item {
    background-size: cover;
    background-position: bottom right;
  }
  .bl_feature01_item:nth-of-type(2n) {
    background-position: bottom left;
  }
}
@media (max-width: 1199px) {
  .bl_feature01_item::before {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
  }
}
@media (max-width: 599px) {
  .bl_feature01_item::before {
    background: rgba(255,255,255,.65);
  }
}
.bl_feature01_item__01 {
  background-image: url(assets/img/feature/bl_feature01__1.png);
}
.bl_feature01_item__02 {
  background-image: url(assets/img/feature/bl_feature01__2.png);
}
.bl_feature01_item__03 {
  background-image: url(assets/img/feature/bl_feature01__3.png);
}
.bl_feature01_item__04 {
  background-image: url(assets/img/feature/bl_feature01__4.png);
}
.bl_feature01_itemBody {
  min-height: 340px;
}
@media (max-width: 599px) {
  .bl_feature01_itemBody {
    min-height: inherit;
    padding: 2rem;
  }
}
.bl_feature01_itemBox {
  position: relative;
  max-width: 360px;
}
.bl_feature01_item:nth-of-type(2n) .bl_feature01_itemBox {
  margin-left: auto;
}
.bl_feature01_itemHead {
  display: flex;
  align-items: flex-end;
  font-size: 1.0525rem !important;
  margin-bottom: 1rem;
  white-space: nowrap;
}
.bl_feature01_itemHead::before {
  content: counter(bl_feature01, decimal-leading-zero);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 50px;
  color: #21C9FF;
  margin-right: 0.5rem;
  line-height: .85;
  letter-spacing: .25rem;
}
@media (max-width: 599px) {
  .bl_feature01_itemHead::before {
    font-size: 4rem;
  }
}
.bl_feature01_itemBox > p {
  font-weight: 300;
}
.bl_feature01_item + .bl_feature01_item {
  margin-top: 80px;
}
@media (max-width: 599px) {
  .bl_feature01_item + .bl_feature01_item {
    margin-top: 1rem;
  }
}
/* FEATURE 02 クリーンルームとクリーンブース */
.bl_feature01 + .bl_pageHead {
  margin-top: 5rem;
}
@media (min-width: 1000px) {
  .bl_feature01 + .bl_pageHead {
    margin-top: 10rem;
  }
}
.bl_feature02 {
  justify-content: space-between;
}
@media (min-width: 1000px) {
  .bl_feature02 {
    margin-top: 4rem;
  }
}
.bl_feature02_head {
  font-size: 1.125rem !important;
  font-weight: 500 !important;
}
@media (min-width: 1000px) {
  .bl_feature02_item {
    max-width: 400px;
  }
}
.bl_feature02_item > figure img {
  width: 100%;
}
.bl_feature02List {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 600px) {
  .bl_feature02List {
    flex-direction: row;
  }
}
.bl_feature02List + .bl_feature02List {
  margin-top: 1rem;
}
.bl_feature02List_label {
  background: #21C9FF;
  color: #fff;
  min-width: 90px;
  font-size: 12px;
  padding: .25rem .5rem;
  text-align: center;
  transform: translateY(.5rem);
}
@media (max-width: 599px) {
  .bl_feature02List_label {
    transform: translateY(0);
  }
}
@media (min-width: 600px) {
  .bl_feature02List_body {
    margin-left: 1rem;
  }
}
.bl_feature02List li {
  font-weight: 300;
}

/* *************************************************
 *  EXAMPLE 施工実績
 * *************************************************/
/* EXAMPLE 施工実績 カスタム投稿新着表示 */
.bl_exampleNews {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  margin-top: 3rem;
}
.bl_exampleNewsWrap > .bl_pageHead {
  margin-top: 8.5rem;
}
.bl_exampleNewsWrap > .bl_pageHead:first-child {
  margin-top: 5rem;
}
.bl_exampleNews .bl_exampleNews_item {
  flex-basis: calc(33.3333% - 2rem);
  padding: 0 0 2rem;
}
.bl_exampleNews .bl_exampleNews_item:not(:nth-of-type(3n)) {
  margin-right: 3rem;
}
@media (max-width: 999px) {
  .bl_exampleNews .bl_exampleNews_item {
    flex-basis: calc(50% - .5rem);
  }
  .bl_exampleNews .bl_exampleNews_item:not(:nth-of-type(3n)) {
    margin-right: inherit;
  }
  .bl_exampleNews .bl_exampleNews_item:not(:nth-of-type(2n)) {
    margin-right: 1rem;
  }
}
@media (max-width: 599px) {
  .bl_exampleNews .bl_exampleNews_item {
    flex-basis: calc(100%);
  }
  .bl_exampleNews .bl_exampleNews_item:not(:nth-of-type(2n)) {
    margin-right: 0;
  }
}
.bl_exampleNews_link {
  text-decoration: none;
}
.bl_exampleNews_ttl {
  color: #111;
  font-size: 1rem;
  font-weight: 700;
}
.bl_exampleNews .bl_exampleNews_fig.c-postThumb__figure {
  margin-top: 15px;
  padding-top: 75%;
}
.bl_exampleNews_item .el_txtLink {
  margin-top: .5rem;
}
.bl_exampleNewsWrap .bl_btnWrap {
  margin-top: 3.5rem;
}
.bl_exampleNewsWrap .el_btn {
  min-width: 300px;
  font-size: 1rem;
}
@media (min-width: 600px) {
  .bl_exampleNewsWrap .el_btn {
    min-width: 350px;
  }
}

/* *************************************************
 *  カスタム投稿タイプ case 詳細
 * *************************************************/
/* タイトル */
.l-main__body.case .bl_pageHead.bl_pageHead__ttl {
  margin-top: 4.5rem !important;
}
/* case 投稿詳細 */
.bl_exProcess {
  margin-top: 4.5rem;
}
.bl_exProcess > p {
  font-weight: 300;
}
.bl_exPhotos {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4.5rem;
}
.bl_exProcess + .bl_exPhotos {
  margin-top: 2.5rem;
}
.bl_exPhotos .bl_exPhotos_item {
  flex-basis: calc(50% - 20px);
  margin-bottom: 1.5rem;
}
.bl_exPhotos .bl_exPhotos_item:not(:nth-of-type(2n)) {
  margin-right: 40px;
}
@media (max-width: 599px) {
  .bl_exPhotos .bl_exPhotos_item {
    flex-basis: calc(50% - 10px);
  }
  .bl_exPhotos .bl_exPhotos_item:not(:nth-of-type(2n)) {
    margin-right: 20px;
  }
}
.bl_exPhotos .bl_exPhotos_fig > img {
  width: 100%;
}
.bl_exPhotos .bl_exPhotos_caption {
  text-align: center;
  padding: .5rem;
  font-weight: 300;
}
.bl_exResult {
  margin-top: 4.5rem;
}
.bl_exResult > p {
  font-weight: 300;
}
.bl_exDetailBoxWrap {
  display: flex;
  margin-top: 2.5rem;
}
.bl_exDetailBox {
  border: 3px solid #21C9FF;
  min-width: 150px;
  padding: .5rem;
  text-align: center;
}
.bl_exDetailBox:not(:last-child) {
  margin-right: 1.5rem;
}
.bl_exDetailBox .bl_exDetailBox_label {
  display: block;
  font-size: 1.125rem;
}
.bl_exDetailBox .bl_exDetailBox_txt {
  font-size: 1.5rem;
  font-weight: 700;
}
.bl_exDetail .bl_btnWrap {
  margin-top: 5rem;
}

/* *************************************************
 *  カスタム投稿タイプ case アーカイブ
 * *************************************************/
.p-archive.case .c-pageTitle__main {
  text-align: center;
}
.bl_caseItem .c-postThumb.p-postList__thumb {
  margin-top: 1rem;
}
.bl_caseItem .el_txtLink {
  margin-top: .5rem;
}

/* *************************************************
 *  FLOW 設置までの流れ
 * *************************************************/
.bl_flow .ark-block-step__item {
  position: relative;
  border: 1px solid #21C9FF;
  box-shadow: none !important;
  padding: 1.5rem 1.5rem 1.5rem 140px !important;
}
.bl_flow .ark-block-step__item::after {
  position: absolute;
  display: block;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  width: 140px;
  height: 100px;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.bl_flow .ark-block-step__item.bl_flow_item__01::after {
  background-image: url(assets/img/flow/bl_flow_step01.png);
}
.bl_flow .ark-block-step__item.bl_flow_item__02::after {
  background-image: url(assets/img/flow/bl_flow_step02.png);
}
.bl_flow .ark-block-step__item.bl_flow_item__03::after {
  background-image: url(assets/img/flow/bl_flow_step03.png);
}
.bl_flow .ark-block-step__item.bl_flow_item__04::after {
  background-image: url(assets/img/flow/bl_flow_step04.png);
}
.bl_flow .ark-block-step__item.bl_flow_item__05::after {
  background-image: url(assets/img/flow/bl_flow_step05.png);
}
.bl_flow .ark-block-step__item.bl_flow_item__06::after {
  background-image: url(assets/img/flow/bl_flow_step06.png);
}
.bl_flow .ark-block-step__item.bl_flow_item__07::after {
  background-image: url(assets/img/flow/bl_flow_step07.png);
}
.bl_flow .ark-block-step__item::before {
  border: solid 15px transparent !important;
  border-top-color: #85afd3 !important;
  filter: none !important;
}
.bl_flow  .ark-block-step__number {
  margin-right: .5em !important;
}
.bl_flow .ark-block-step__number::after {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 2rem !important;
  color: #21C9FF;
}
.bl_flow .ark-block-step__title {
  font-size: 1.125rem;
  color: #21C9FF;
  padding-top: .2rem;
}
.bl_flow_item__01 .el_txtLink {
  position: absolute;
  top: 0;
  right: 2.5rem;
  z-index: 1;
}
@media (max-width: 599px) {
  .bl_flow_item__01 .el_txtLink {
    position: relative;
    right: 0;
    text-align: right;
  }
}
.bl_flow_item__01 .el_txtLink a {
  font-size: .75rem;
  margin-top: 0 !important;
}

/* *************************************************
 *  Q&A よくあるご質問
 * *************************************************/
.bl_qaUnit .ark-block-accordion__title {
  background: #d0d9e3 !important;
  font-weight: 600;
  padding: 1rem;
}
.bl_qaUnit .ark-block-accordion__title::before {
  display: flex;
  content: "Q";
  width: 35px;
  height: 35px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  background: #fff;
  color: #21C9FF;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 1rem 0 .5rem;
}
.bl_qaUnit .ark-block-accordion__body {
  display: flex;
  border: 1px solid #e6ebf0;
  padding: 1rem 1em;
  font-weight: 300;
}
.bl_qaUnit .ark-block-accordion__body::before {
  display: flex;
  content: "A";
  width: 35px;
  height: 35px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  background: #21C9FF;
  color: #fff;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 1rem 0 .5rem;
}
.bl_qaUnit .ark-block-accordion__item + .ark-block-accordion__item {
  margin-top: 1.2rem;
}

/* *************************************************
 *  COMPANY 会社案内
 * *************************************************/

.google-maps {
position: relative;
padding-bottom: 75%; // これが縦横比
height: 0;
overflow: hidden;
}
.google-maps iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

/* *************************************************
 *  CONTACT お問い合わせ
 * *************************************************/
/* CONTACT 冒頭 */
@media (min-width: 1000px) {
  .bl_ykBlock02.bl_ykBlock02__contact {
    text-align: center;
  }
}
/* CONTACT 見出し */
@media (min-width: 1000px) {
  .bl_pageHead.bl_pageHead__contact:not(:first-of-type) {
    margin-top: 6rem !important;
  }
}
/* CONTACT 青色3カラムボックス */
.bl_contactCols_item {
  background-image: url(assets/img/contact/bl_contactBox.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  padding: 1.5rem 1rem;
}
.bl_contactCols.wp-block-columns .bl_contactCols_item.wp-block-column:not(:first-child) {
  margin-left: 0rem !important;
}
.bl_contactCols .bl_contactCols_item > p:not(:first-child) {
  margin-top: .25rem !important;
}
.bl_contactCols .bl_contactCols_telNum {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.3;
}
/* CONTACT お問い合わせフォーム */
.bl_contact {
  box-shadow: 0 0 10px rgba(0, 0, 0, .1);
  padding: 65px 15px;
  background: #fff;
}
.bl_contact > dl {
  display: flex;
  flex-direction: column;
  max-width: 665px;
  margin-right: auto;
  margin-left: auto;
  padding: 1rem 0;
}
.bl_contact > dl + dl {
  border-top: 1px dashed rgba(2, 91, 184, .2);
}
@media (min-width: 1000px) {
  .bl_contact > dl {
    flex-direction: row;
    padding: 2rem 0;
  }
}
.bl_contact > dl > dt {
  font-weight: 500;
}
@media (min-width: 1000px) {
  .bl_contact > dl > dt {
    width: 190px;
    flex-shrink: 0;
    margin-top: .25rem;
  }
}
.bl_contact > dl > dd input,
.bl_contact > dl > dd textarea {
  width: 410px;
  max-width: 100%;
  border-color: #aaa !important;
}
.bl_contact > dl > dd.bl_contact_formZipCode input {
  width: 140px;
}
.bl_contact_filesDesc {
  margin-top: 1rem;
  font-size: .75rem;
  font-weight: 300;
}
.bl_contact_files {
  display: flex;
  margin-top: 1rem;
}
.bl_contact_fileLabel {
  background: #21C9FF;
  color: #fff;
  width: 110px;
  font-size: 10px;
  font-weight: 300;
  padding: .35rem .5rem;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.bl_contact_fileLabel.is_selected {
  background: #fff;
  color: #21C9FF;
  border: 2px solid;
}
.bl_contact_fileLabel:not(:first-child) {
  margin-left: 1rem;
}
.bl_contact_fileLabel input {
  display: none;
}
.bl_contact_note {
  margin-top: .75rem;
  font-size: 10px !important;
  font-weight: 300;
}
.bl_contact .el_btn {
  width: 280px;
  background-image: url(assets/img/el_arr__w.png);
  background-repeat: no-repeat;
  background-position: center left 40px;
  letter-spacing: .075rem;
  text-indent: 1rem;
}


/* ***************************************************************************************************
 * ***************************************************************************************************
 *
 * その他：ヘルパーや特殊対応（ブラウザ対応）など
 *
 * ***************************************************************************************************
 * ***************************************************************************************************/

/* *************************************************
 * スマートフォン時 折りたたみ（VIEW MORE）
 * *************************************************/
@media (max-width: 599px) {
  .is_hidden {
    position: relative;
    height: 9rem;
    overflow: hidden;
  }
  .is_hidden::after {
    position: absolute;
    display: block;
    content: "+ VIEW MORE";
    bottom: 0;
    width: 100%;
    height: 60px;
    color: #21C9FF;
    background: rgba(255, 255, 255, .85);
    box-shadow: 0 0 15px 30px rgba(255, 255, 255, .85);
    text-align: center;
  }
}

/* *************************************************
 * ヘルパー
 * *************************************************/
@media (max-width: 999px) {
  /* SP・TB非表示 */
  .hp_sptbNone {
    display: none;
  }
}
@media (min-width: 1000px) {
  /* PC非表示 */
  .hp_pcNone {
    display: none;
  }
}
/* フォントを細く */
.hp_fontWight__thin {
  font-weight: 300;
}
/* フォントをMontserratに */
.hp_font__montserrat {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}
/* 上部にpadding少し */
.hp_pt__05 {
  padding-top: .5rem;
}
/* 蛍光ペン */
.hp_txtUnderLine__yellow {
  background:linear-gradient(transparent 75%, #ffe554 75%);
}
/* フォントを赤色に */
.hp_txtColor__red {
  color: #f21919;
}

.bl_footCompanyInfo_address{
  padding-top:10px;
}

.bl_footCompanyInfo_sns{
  vertical-align: top;
}

.bl_footCompanyInfo_sns a{
  font-size:42px;
  margin-left:10px;
}

/* Google reCAPTCHA ポリシーの表示 */
.recaptcha_policy {
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 11px !important;
  color: #444 !important;
}
.recaptcha_policy a {
  font-size: 11px !important;
  color: #111 !important;
}
.grecaptcha-badge { visibility: hidden; }

.iframe-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* アスペクト比16:9の場合 */
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    margin-bottom: 2rem; /* YouTubeの下に余白をつける */
}
.iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.footer_certificate {
	margin-top : 10px;
}
.footer_certificate img{
	width:124px;
	border:1px solid #CCC;
	margin-bottom:5px;
}

@media (min-width: 660px) {
	.footer_certificate img{
		width:109px;
	}
}

ul.client_list{
	display: flex;
	flex-wrap :wrap;
}

ul.client_list li{
	width:50%;
}

@media (min-width: 660px) {
	ul.client_list li{
		width:33%;
	}
}
.top_certificate {
	padding-top:30px;
	text-align:right;
}
.top_certificate img{
	width:80px;
}

ol.cnt_list {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding:0.5em;
  margin: 0 2.5rem;
}

ol.cnt_list li {
  position: relative;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 30px;
}

ol.cnt_list li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*数字のデザイン変える*/
  display:inline-block;
  background: #21C9FF;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  /*以下上下中央寄せのため*/
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

h3.pointer {
  position: relative;/*相対位置*/
  padding-left: 1.5em;/*アイコン分のスペース*/
  line-height: 1.4;/*行高*/
  color: black;/*文字色*/
}

h3.pointer:before {
  font-family: "Font Awesome 5 Free";/*忘れずに*/
  content: "\f111";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1.0em;/*サイズ*/
  left: 0;/*アイコンの位置*/
  top: 0.1em;/*アイコンの位置*/
  color: #21C9FF;
}

.bl_ykBlock02 strong{
  color:#fe0b33
}

h5{
  color:#21C9FF;
}

ul.bl_ykBlock02{
  padding:1rem 2.0rem;
}
ul.bl_ykBlock02 li{
  display:block;
}


