@charset "UTF-8";
/* -----------------------------------
 
 (c) 2024 melong works
 contact：info@melong-works.com
  「/assets/css/cmnstyle」@2024

----------------------------------- */
/*****************************************************

	システム

*****************************************************/
/*コンテンツ文字 基本*/
/*コンテンツ文字 白*/
/*コンテンツ文字 緑*/
/*ボタン緑*/
/*ボタン緑02*/
body {
  color: #3E1F00;
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic StdN", "メイリオ", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
}

.overpass_font {
  font-family: "Overpass", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.noyakuhan_notogo_font {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic StdN", "メイリオ", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

/*文章の両橋揃え*/
.txt_justify_on {
  word-break: break-all;
  text-align: justify;
  text-justify: inter-ideograph;
}

.hide {
  display: none !important;
}

/*sp時に表示時*/
@media all and (min-width: 1241px) {
  .sp {
    display: none !important;
  }
}
/*pc時に表示時*/
@media all and (max-width: 1240px) {
  .pc {
    display: none !important;
  }
}
/*****************************************************

	フォントサイズ指定

*****************************************************/
/*使用例*/
.fontsize_example {
  font-size: clamp(1rem, 0.7rem + 0.78vw, 2.2rem) /* FontSizeClamp (10 - 22px, 375 - 1920px) */;
}

/*****************************************************

	widthなどサイズ を　px　から % に

*****************************************************/
/*使用例*/
.size_example {
  width: calc(10.4167% + -0.4%);
}

/*****************************************************

	widthなどサイズ を　px　から vw に シンプル

*****************************************************/
/*使用例*/
.size_exampleVW {
  width: 4.6154vw;
}

/*****************************************************

	widthなどサイズ を　px　から vh に シンプル

*****************************************************/
/*使用例*/
.size_exampleVH {
  width: 2.8125vh;
}

/*****************************************************

	widthなどサイズ を　px　から % に シンプル

*****************************************************/
/*使用例*/
.size_examplePar {
  width: 2.8125%;
}

/*****************************************************

	widthなどサイズ を　px　から vw に シンプル
  min を使用して、最大値を設定

*****************************************************/
.size_sizeMinVW {
  width: min( 50vw, 320px );
}

/*****************************************************

	widthなどサイズ を　px　から vw に シンプル
  clamp を使用して、最小と最大値を設定

*****************************************************/
/*使用例*/
.size_sizeClmpVW {
  font-size: clamp(14px, 1.3542vw, 26px);
}

/*****************************************************

	line-heightの値 Photoshop
  行送りの数値（px）÷ フォントサイズ（px）

*****************************************************/
/*使用例*/
.size_line-height {
  line-height: 1.667;
}

/* =========================================================

　リンク関係

========================================================= */
a {
  color: inherit;
  text-decoration: none;
  transition: 0.3s;
}

a img {
  transition: 0.3s;
}

/* リンクのホバー動作をPCのみに
--------------------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: inherit;
    text-decoration: none;
    opacity: 0.8;
  }

  a:hover img {
    opacity: 0.9;
  }
}
/* end */
/* PC時の電話番号リンクを無効に
--------------------------------------------------------- */
@media (min-width: 1240px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/* end */
/* =========================================================

　アニメーション関係

========================================================= */
.js_fade {
  transition: 1.0s ease 0.1s;
  opacity: 0;
}

.js_fade_in {
  transform: translateY(15%);
  transition: 1.0s ease 0.1s;
  opacity: 0;
}

.fade {
  opacity: 1.0;
  transform: translate(0, 0);
  transform: scale(1, 1);
}

/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　共通　パーツ
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* =========================================================

　トップに戻るボタン ver02

========================================================= */
/* PC 表示
--------------------------------------------------------- */
.page-top {
  display: none;
  position: fixed;
  right: 30px;
  bottom: 40px;
  z-index: 9999;
}

.move-page-top {
  background: #1CADA1;
  /*border: 1px solid #947b17;*/
  border-radius: 9999px;
  width: 65px;
  height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.5s;
  cursor: pointer;
}

.move-page-top .svg_wrap {
  width: 23px;
  position: relative;
  aspect-ratio: 23 / 22;
}

.move-page-top svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.move-page-top:hover {
  opacity: 0.7;
}

/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .page-top {
    right: 5.1282vw;
    bottom: 5.1282vw;
  }

  .move-page-top {
    width: 40px;
    height: 40px;
  }

  .move-page-top .svg_wrap {
    width: 14px;
  }
}
/*スマホ 表示 end*/
/* =========================================================

　固定タブ　PCのみ

========================================================= */
/* PC 表示
--------------------------------------------------------- */
.reserv_tab {
  width: 69px;
  position: fixed;
  right: 0;
  top: 200px;
  z-index: 9999;
}

.reserv_tab a {
  width: 100%;
  height: 100%;
  display: block;
}

/* =========================================================

　フッター固定メニュー SPのみ

========================================================= */
.reserv_btn_wrap {
  background-color: #ffffff;
  width: 100%;
  position: fixed;
  z-index: 999;
  bottom: 0;
  left: 0;
  padding: 3.3333vw 0 4.1026vw;
}
.reserv_btn_wrap ul {
  width: 82.3077vw;
  display: flex;
  justify-content: space-between;
  margin: auto;
}
.reserv_btn_wrap ul li {
  width: 38.4615vw;
}
.reserv_btn_wrap ul li a {
  width: 100%;
  height: 100%;
  display: block;
}
.reserv_btn_wrap ul li a img {
  width: 100%;
  height: auto;
}

/**/
/* =========================================================

　リスト　リストマーク１文字用 テキスト 

========================================================= */
/* PC 表示
--------------------------------------------------------- */
.list_mark_ul {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

/* ----- リスト　リストマーク１文字用 ----- */
.list_mark_ul.mark li {
  display: flex;
  align-items: baseline;
}

.list_mark_ul.mark li::before {
  content: attr(data-li_mark);
  color: inherit;
  font-size: 0.9em;
  font-feature-settings: normal;
  text-align: center;
  margin: 0 0.3em 0 0;
}

/* =========================================================

　リスト　脚注マーク用 2文字　※1 など

========================================================= */
/* PC 表示
--------------------------------------------------------- */
.list_mark_ul.numbered li {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
}

.list_mark_ul.numbered li::before {
  content: attr(data-li_mark);
  display: inline-block;
  color: inherit;
  letter-spacing: 0em;
  text-align: left;
  margin: 0 0.5em 0 0;
}

.list_mark_ul.numbered li p {
  flex: 1;
}

/* =========================================================

　リスト以外　マーク１文字用 テキスト 

========================================================= */
/* PC 表示
--------------------------------------------------------- */
.marked_txt {
  display: flex;
  align-items: baseline;
}

.marked_txt::before {
  content: attr(data-li_mark);
  color: inherit;
  font-feature-settings: normal;
  text-align: center;
  margin: 0 0.2em 0 0;
}

/* =========================================================

　各ボタン
box-shadow: 4px 4px 4px 2px rgba(0, 0, 0, 0.25);
========================================================= */
/* PC 表示
--------------------------------------------------------- */
.btn_arrow01 {
  width: 220px;
}
.btn_arrow01 a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}
.btn_arrow01 a::before {
  content: '';
  background-image: url("../img/cmn/btn_arrow01_pc.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 62px;
  height: 62px;
  display: block;
  margin-right: 1em;
}
.btn_arrow01 a span {
  color: #3E1F00;
  font-size: 16px;
  letter-spacing: 0.1em;
  text-decoration: underline;
  text-underline-offset: 0.8em;
}

/*/.btn_arrow01*/
.btn_contact {
  background-color: #1CADA1;
  border-radius: 7px;
  width: 414px;
}
.btn_contact a {
  width: 100%;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn_contact a span {
  color: #ffffff;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}

/*/.btn_contact*/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .btn_arrow01 {
    width: 41.0256vw;
  }
  .btn_arrow01 a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
  }
  .btn_arrow01 a::before {
    content: '';
    background-image: url("../img/cmn/btn_arrow01_sp.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 11.7949vw;
    height: 11.7949vw;
    display: block;
    margin-right: 1em;
  }
  .btn_arrow01 a span {
    color: #3E1F00;
    font-size: 3.0769vw;
    letter-spacing: 0.1em;
    text-decoration: underline;
    text-underline-offset: 0.8em;
  }

  /*/.btn_arrow01*/
  .btn_contact {
    background-color: #1CADA1;
    border-radius: 1.2821vw;
    width: 63.3333vw;
  }
  .btn_contact a {
    width: 100%;
    height: 15.3846vw;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .btn_contact a span {
    color: #ffffff;
    font-size: 3.5897vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
  }

  /*/.btn_contact*/
}
/*スマホ 表示 end*/
/* =========================================================

　パンくずリスト
  
  wp側でも設定があるため「.sec__breadcrumb_trail」のクラスは変えない事

========================================================= */
/* PC 表示
--------------------------------------------------------- */
.sec__breadcrumb_trail {
  width: 87.5vw;
  margin: 27px auto 0;
}

.sec__breadcrumb_trail ul {
  display: flex;
}

.sec__breadcrumb_trail ul li {
  display: flex;
  align-items: center;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.15em;
  padding: 0.5208vw 0.5208vw;
}

.sec__breadcrumb_trail ul li + li {
  padding-left: 0;
}

.sec__breadcrumb_trail ul li + li::before {
  content: '＞';
  font-size: 14px;
  font-weight: 400;
  margin-right: 10px;
}

.sec__breadcrumb_trail ul li a {
  width: 100%;
  height: 100%;
  text-decoration: underline;
  text-underline-offset: 5px;
}

/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .sec__breadcrumb_trail {
    width: 82.0513vw;
    margin: 2.5641vw auto 0;
  }

  .sec__breadcrumb_trail ul {
    display: flex;
    margin-left: -2.5641vw;
  }

  .sec__breadcrumb_trail ul li {
    display: flex;
    align-items: center;
    font-size: 3.0769vw;
    font-weight: 400;
    letter-spacing: 0;
    padding: 2.5641vw 2.5641vw;
  }

  .sec__breadcrumb_trail ul li + li::before {
    content: '＞';
    font-size: 3.0769vw;
    font-weight: 400;
    margin-right: 10px;
  }

  .sec__breadcrumb_trail ul li a {
    width: 100%;
    height: 100%;
    text-decoration: underline;
    text-underline-offset: 1.2821vw;
  }
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　サイト　枠　設定
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.base {
  background-color: #F7F6F2;
  width: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.base img {
  width: 100%;
  height: auto;
}

.main_contents {
  margin-top: 215px;
  width: 100%;
  position: relative;
  transition: all .5s;
}

/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .main_contents {
    margin-top: 72px;
    width: 100%;
    position: relative;
    transition: all .5s;
  }
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　ヘッダー
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* =========================================================

　メニュー　制御部分

========================================================= */
/* ----- toggle_btn ----- */
/* 初期値は非表示
--------------------------------------------------------- */
.js_nav_toggle,
.js_nav_toggle_menu {
  display: none;
  opacity: 0;
  transition: opacity .3s linear;
}

.js_sp_view_navi .js_nav_toggle {
  background-image: url("../img/cmn/header_btn_toggle_open.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  width: 30px;
  height: 30px;
  display: block;
  position: fixed;
  z-index: 9999;
  top: 20px;
  right: 20px;
  opacity: 1;
  cursor: pointer;
}
.js_sp_view_navi .js_nav_toggle.js_open_navi {
  background-image: url("../img/cmn/header_btn_toggle_close.svg");
}

/*js_sp_view_navi*/
/* ----- mask ----- */
.js_mask,
.js_mask02 {
  background: #000;
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
  top: 72px;
  left: 0;
  animation: show 1s linear 0s;
  animation-direction: reverse;
}

.js_is_fixed .js_mask,
.js_is_fixed02 .js_mask02 {
  display: block;
  animation: show 0.5s linear 0s forwards;
}

.js_is_fixed .js_mask {
  z-index: 8888;
}

.js_is_fixed02 .js_mask02 {
  z-index: 8888;
}

@keyframes show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.8;
  }
}
/* ----- 背景スクロール禁止 ----- */
body.js_is_fixed,
body.js_is_fixed02 {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　メインメニューなど設定
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* =========================================================

　初期　JS着火前　表示崩れにならないように隠しておく。

========================================================= */
.js_header_origin {
  padding: 0;
  opacity: 0;
}

.js_header_origin .sp_only_menu {
  display: none;
}

/* スマホ表示
--------------------------------------------------------- */
.js_header_origin.js_sp_view_navi {
  width: 100%;
  height: 72px;
  display: flex;
  align-items: center;
  position: fixed;
  z-index: 9999;
  opacity: 1;
  /*&.js_fixed_sp_header {
    height: 80px;
  }*/
  /* =========================================================

   info_nav SP時

  ========================================================= */
}
.js_header_origin.js_sp_view_navi .header_inner {
  background-color: rgba(247, 246, 242, 0.8);
  /*box-shadow: 0px 1px 4px -2px rgba(0,0,0,0.25);*/
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 9999;
  padding: 13px 11px;
}
.js_header_origin.js_sp_view_navi .header_logo {
  width: 171px;
}
.js_header_origin.js_sp_view_navi .header_logo a {
  width: 100%;
  height: 100%;
  display: block;
}
.js_header_origin.js_sp_view_navi .g_nav {
  background-color: #f7f6f2;
  width: 100%;
  height: 80vh;
  position: absolute;
  z-index: 9999;
  top: 69px;
  left: 100%;
  padding: 60px 10.2564vw 100px;
  transition: all .2s ease;
  overflow-y: auto;
}
.js_header_origin.js_sp_view_navi .g_nav.js_open_navi {
  left: 0;
}
.js_header_origin.js_sp_view_navi .g_nav ul {
  width: 100%;
}
.js_header_origin.js_sp_view_navi .g_nav ul li {
  border-bottom: 1px solid #3E1F00;
  width: 100%;
  font-size: clamp(16px, 5.1282vw, 20px);
  letter-spacing: 0.03em;
  text-indent: 0.03em;
  font-weight: 500;
}
.js_header_origin.js_sp_view_navi .g_nav > ul > li:first-child {
  border-top: 1px solid #3E1F00;
}
.js_header_origin.js_sp_view_navi .g_nav > ul > li.sp_only_menu {
  display: block;
}
.js_header_origin.js_sp_view_navi .g_nav ul li a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  z-index: 5;
  color: inherit;
  cursor: pointer;
  padding: 20px 2.5641vw;
}
.js_header_origin.js_sp_view_navi .g_nav .info_nav_sp {
  width: 100%;
  display: flex;
  gap: 0 5.1282vw;
  margin-top: 60px;
}
.js_header_origin.js_sp_view_navi .g_nav .info_nav_sp .info_unit {
  width: 50%;
}
.js_header_origin.js_sp_view_navi .g_nav .info_nav_sp .info_unit a {
  display: flex;
}
.js_header_origin.js_sp_view_navi .info_nav {
  display: none;
}

/*/.js_header_origin.js_sp_view_navi*/
/* PC 表示
--------------------------------------------------------- */
.js_header_origin.js_pc_view_navi {
  background-color: rgba(247, 246, 242, 0.8);
  /*box-shadow: 0px 1px 4px -2px rgba(0,0,0,0.25);*/
  width: 100%;
  height: 143px;
  display: flex;
  align-items: center;
  position: fixed;
  z-index: 999;
  opacity: 1;
  transition: all .2s ease;
  padding-top: 20px;
  /* =========================================================

   g_nav　PC

  ========================================================= */
  /*スマホ時、infoメニューを非表示*/
  /* =========================================================

   info_nav　PC

  ========================================================= */
}
.js_header_origin.js_pc_view_navi.js_fixed_pc_header {
  background-color: rgba(247, 246, 242, 0.8);
  height: 90px;
  padding-top: 0;
}
.js_header_origin.js_pc_view_navi .header_inner {
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
  margin: auto;
}
.js_header_origin.js_pc_view_navi .header_logo {
  max-width: 430px;
  width: 22.3958vw;
  margin-left: 2.0833vw;
  transition: 0.2s;
}
.js_header_origin.js_pc_view_navi.js_fixed_pc_header .header_logo {
  width: 300px;
  min-width: 200px;
}
.js_header_origin.js_pc_view_navi .header_logo a {
  width: 100%;
  height: 100%;
  display: block;
}
.js_header_origin.js_pc_view_navi .g_nav {
  margin-left: auto;
}
.js_header_origin.js_pc_view_navi .g_nav ul {
  width: 100%;
  display: flex;
}
.js_header_origin.js_pc_view_navi .g_nav ul li {
  font-size: clamp(18px, 1.25vw, 24px);
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
.js_header_origin.js_pc_view_navi.js_fixed_pc_header .g_nav ul li {
  font-size: 18px;
}
.js_header_origin.js_pc_view_navi .g_nav ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 5;
  color: #3E1F00;
  padding: 0 2.0833vw;
}
.js_header_origin.js_pc_view_navi .g_nav .info_nav_sp {
  display: none;
}
.js_header_origin.js_pc_view_navi .info_nav {
  margin-left: 2.0833vw;
}
.js_header_origin.js_pc_view_navi .info_nav ul {
  display: flex;
}
.js_header_origin.js_pc_view_navi .info_nav ul .info_unit {
  width: 163px;
}
.js_header_origin.js_pc_view_navi.js_fixed_pc_header .info_nav ul .info_unit {
  width: auto;
  height: 90px;
}
.js_header_origin.js_pc_view_navi .info_nav ul a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.js_header_origin.js_pc_view_navi .info_nav ul .info_unit img {
  width: 100%;
  transition: 0.2s;
}
.js_header_origin.js_pc_view_navi.js_fixed_pc_header .info_nav ul .info_unit img {
  height: 100%;
}

/*/.js_header_origin.js_pc_view_navi*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　page_top トップページ
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　KV sec__kv
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.page_top .sec__kv {
  width: 100%;
  position: relative;
  z-index: 1;
  /*.kv_img::after {
    content: '';
    background-color: rgba(0, 0, 0, 0.25);
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }*/
}
.page_top .sec__kv .kv_img {
  width: 78.6979vw;
  position: relative;
  z-index: -1;
  margin-left: auto;
}
.page_top .sec__kv .kv_logo {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .page_top .sec__kv {
    width: 100%;
    position: relative;
    z-index: 1;
    /*.kv_img::after {
      content: '';
      background-color: rgba(0, 0, 0, 0.25);
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
    }*/
  }
  .page_top .sec__kv .kv_img {
    width: 81.5385vw;
    position: relative;
    z-index: -1;
    margin-left: auto;
  }
  .page_top .sec__kv .kv_logo {
    width: 100%;
    position: relative;
    top: 0;
    left: 0;
  }

  /**/
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　sec__kv_slider   KV スライドver.
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.page_top .sec__kv_slider {
  width: 100%;
  position: relative;
  z-index: 1;
  /*スライドの高さを指定　overflow: hidden;を入れる*/
  /*スライドは背景画像にする*/
  /*スライド画像を指定*/
  /* アニメーションを指定 */
  /*ズームのための追加クラス*/
}
.page_top .sec__kv_slider .kv_slider {
  width: 100%;
  height: calc(100dvh - 103px);
  /*header分下げる*/
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
}
.page_top .sec__kv_slider .slider-img {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: calc(100dvh - 103px);
  /*スライド画像の高さ 上に合わせる*/
  position: relative;
}
.page_top .sec__kv_slider .slider-img::after {
  content: '';
  background-color: rgba(0, 0, 0, 0.25);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.page_top .sec__kv_slider .slider-img-01 {
  background-image: url("../img/top/main_slide01_pc.jpg");
}
.page_top .sec__kv_slider .slider-img-02 {
  background-image: url("../img/top/main_slide02_pc.jpg");
}
.page_top .sec__kv_slider .slider-img-03 {
  background-image: url("../img/top/main_slide03_pc.jpg");
}
.page_top .sec__kv_slider .slick-list {
  width: 100%;
}
@keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
    /* 拡大率 */
  }
}
.page_top .sec__kv_slider .add-zoom {
  animation: fadezoom 10s 0s forwards;
}
.page_top .sec__kv_slider .kv_logo {
  max-width: 650px;
  width: 45.0781vw;
  position: absolute;
  top: 47.5%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .page_top .sec__kv_slider {
    width: 100%;
    position: relative;
    z-index: 1;
    /*スライドの高さを指定　overflow: hidden;を入れる*/
    /*スライドは背景画像にする*/
    /*スライド画像を指定*/
    /* アニメーションを指定 */
    /*ズームのための追加クラス*/
  }
  .page_top .sec__kv_slider .kv_slider {
    width: 100%;
    height: calc(100vh - 54px);
    height: calc(100vh - 54px);
    height: calc(100vh - 54px);
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
  }
  .page_top .sec__kv_slider .slider-img {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    width: 100%;
    height: calc(100vh - 54px);
    height: calc(100vh - 54px);
    height: calc(100vh - 54px);
    position: relative;
  }
  .page_top .sec__kv_slider .slider-img::after {
    content: '';
    background-color: rgba(0, 0, 0, 0.25);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .page_top .sec__kv_slider .slider-img-01 {
    background-image: url("../img/top/main_slide01_sp_2x.jpg");
  }
  .page_top .sec__kv_slider .slider-img-02 {
    background-image: url("../img/top/main_slide02_sp_2x.jpg");
  }
  .page_top .sec__kv_slider .slider-img-03 {
    background-image: url("../img/top/main_slide03_sp_2x.jpg");
  }
  .page_top .sec__kv_slider .slick-list {
    width: 100%;
  }
  @keyframes fadezoom {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(1.1);
      /* 拡大率 */
    }
  }
  .page_top .sec__kv_slider .add-zoom {
    animation: fadezoom 10s 0s forwards;
  }
  .page_top .sec__kv_slider .kv_logo {
    max-width: 480px;
    width: 78.2051vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /**/
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　sec__in_page_menu PCは非表示
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.sec__in_page_menu {
  display: none;
}

/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .sec__in_page_menu {
    background-color: #F4F6F9;
    display: block;
    width: 100%;
    height: 76px;
    position: relative;
    margin-top: 0;
    /*kv下部に埋め込みの場合はマイナス*/
  }
  .sec__in_page_menu .in_page_menu {
    width: 100%;
    height: 100%;
    margin: auto;
  }
  .sec__in_page_menu .in_page_menu ul {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
  }
  .sec__in_page_menu .in_page_menu ul li {
    border-left: 1px solid #000;
    width: 50%;
    display: flex;
  }
  .sec__in_page_menu .in_page_menu ul li:first-child {
    border: none;
  }
  .sec__in_page_menu .in_page_menu ul li a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: 11px;
    font-weight: 700;
  }
  .sec__in_page_menu .in_page_menu ul li a img {
    width: 34px;
  }
  .sec__in_page_menu .in_page_menu ul li a p {
    margin-top: 2px;
  }

  /**/
  /*========= 上部固定させるためのCSS ===============*/
  .sec__in_page_menu {
    z-index: 999;
    /*==ふわっと出現させるためのCSS*/
    /*　上に上がる動き　*/
    /*　下に下がる動き　*/
  }
  .sec__in_page_menu.UpMove {
    position: fixed;
    width: 100%;
    animation: UpAnime 0.5s forwards;
  }
  @keyframes UpAnime {
    from {
      opacity: 1;
      transform: translateY(0);
    }
    to {
      opacity: 0;
      transform: translateY(-100px);
    }
  }
  .sec__in_page_menu.m_fixed {
    height: 56px;
    position: fixed;
    bottom: 0;
    animation: DownAnime 0.5s forwards;
  }
  @keyframes DownAnime {
    from {
      opacity: 0;
      transform: translateY(100px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  /**/
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　#sec__about #sec__business共通　.sec__lead
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.page_top .sec__lead {
  width: 100%;
  position: relative;
  z-index: 1;
  /*左側へ要素を広げる（2カラム）*/
  /*右側へ要素を広げる（2カラム）*/
}
.page_top .sec__lead .sec_wrap {
  width: 100%;
  position: relative;
  padding: 10.4167% 0 0;
}
.page_top .sec__lead .sec_unit {
  width: 88.5417%;
  display: flex;
  margin: auto;
}
.page_top .sec__lead .unit_img_col {
  flex-shrink: 0;
  border-radius: 0 10px 10px 0;
  overflow: hidden;
  width: 63.2353%;
  position: relative;
  z-index: 2;
  margin-top: 5%;
}
.page_top .sec__lead .unit_detail_col {
  flex-shrink: 0;
  width: 106.4706%;
  /*全体幅1920　- コンテンツ幅1700 で余白片方が110を引く*/
}
.page_top .sec__lead .unit_tit {
  position: relative;
  text-align: left;
  margin-top: 30px;
}
.page_top .sec__lead .unit_tit::after {
  content: '';
  background-image: linear-gradient(to right, #3E1F00 2px, transparent 2px);
  background-size: 4px 2px;
  /**/
  background-repeat: repeat-x;
  background-position: left bottom;
  width: 100px;
  height: 10px;
  display: block;
  margin-top: 20px;
}
.page_top .sec__lead .unit_tit .en {
  display: block;
  color: #1CADA1;
  font-size: clamp(13px, 0.8333vw, 16px);
  letter-spacing: 0.05em;
}
.page_top .sec__lead .unit_tit .ja {
  display: block;
  font-size: clamp(28px, 1.6667vw, 32px);
  font-weight: 600;
  letter-spacing: 0.15em;
  margin-top: 10px;
}
.page_top .sec__lead .unit_lead {
  font-size: clamp(20px, 1.25vw, 24px);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.15em;
  margin-top: 40px;
}
.page_top .sec__lead .unit_txt {
  font-size: clamp(12px, 0.7292vw, 14px);
  line-height: 1.8;
  letter-spacing: 0.15em;
  text-align: justify;
  margin-top: 40px;
}
.page_top .sec__lead .sec_unit.reverse {
  flex-direction: row-reverse;
}
.page_top .sec__lead .col_outside_left .unit_img_col {
  margin-left: calc(50% - 50vw);
  margin-right: 0;
}
.page_top .sec__lead .col_outside_left .unit_detail_col {
  margin-left: -63.2353%;
  /*画像コンテンツの幅*/
  padding-left: 65.8824%;
  /*余白45を足す。*/
}
.page_top .sec__lead .col_outside_left .unit_detail_col .unit_head {
  width: 87.5362%;
}
.page_top .sec__lead .col_outside_left .unit_detail_col .detail_inner {
  margin-left: 14.4928%;
  /*コンテンツ幅1810 - パディングレフト幅1120 で 690*/
}
.page_top .sec__lead .col_outside_left .btn_arrow01 {
  margin-top: 13.2231%;
}
.page_top .sec__lead .col_outside_right .unit_img_col {
  border-radius: 10px 0 0 10px;
  margin-right: calc(50% - 50vw);
  margin-left: 0;
}
.page_top .sec__lead .col_outside_right .unit_detail_col {
  margin-right: -63.2353%;
  /*画像コンテンツの幅*/
  padding-right: 60.5882%;
  padding-left: 2.6471%;
}
.page_top .sec__lead .col_outside_right .unit_detail_col .unit_head {
  width: 121.0884%;
  margin-left: 0;
}
.page_top .sec__lead .col_outside_right .unit_detail_col .detail_inner {
  margin-left: 13.6054%;
  /*コンテンツ幅1810 - パディングレフト+ライト合計幅1075 で 735*/
  margin-right: 4%;
}
.page_top .sec__lead .col_outside_right .btn_arrow01 {
  margin-top: 13.2231%;
}

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .page_top .sec__lead {
    width: 100%;
    position: relative;
    z-index: 1;
    /*左側へ要素を広げる（2カラム）*/
    /*右側へ要素を広げる（2カラム）*/
  }
  .page_top .sec__lead .sec_wrap {
    width: 100%;
    position: relative;
    padding: 0;
  }
  .page_top .sec__lead.sec__business .sec_wrap {
    padding-top: 25.641vw;
  }
  .page_top .sec__lead .sec_unit {
    width: 100%;
    display: block;
    margin: auto;
  }
  .page_top .sec__lead .unit_img_col {
    flex-shrink: 0;
    border-radius: 0 5px 5px 0;
    overflow: hidden;
    width: 90.7692vw;
    position: relative;
    z-index: 2;
    margin-top: 0;
    margin-right: auto;
  }
  .page_top .sec__lead .unit_detail_col {
    flex-shrink: 0;
    width: 82.0513vw;
    margin-top: 5.641vw;
  }
  .page_top .sec__lead .unit_tit {
    position: relative;
    text-align: left;
    margin-top: 0;
  }
  .page_top .sec__lead .unit_tit::after {
    content: '';
    background-image: linear-gradient(to right, #3E1F00 2px, transparent 2px);
    background-size: 4px 2px;
    /**/
    background-repeat: repeat-x;
    background-position: left bottom;
    width: 25.641vw;
    height: 10px;
    display: block;
    margin-top: 3.5897vw;
  }
  .page_top .sec__lead .unit_tit .en {
    display: block;
    color: #1CADA1;
    font-size: 4.1026vw;
    letter-spacing: 0.1em;
  }
  .page_top .sec__lead .unit_tit .ja {
    display: block;
    font-size: 5.641vw;
    font-weight: 500;
    letter-spacing: 0.2em;
    margin-top: 2.0513vw;
  }
  .page_top .sec__lead .unit_lead {
    font-size: 4.6154vw;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.1em;
    margin-top: 5.1282vw;
  }
  .page_top .sec__lead .unit_txt {
    font-size: 3.0769vw;
    line-height: 1.8;
    letter-spacing: 0.15em;
    margin-top: 6.6667vw;
  }
  .page_top .sec__lead .sec_unit.reverse {
    flex-direction: row-reverse;
  }
  .page_top .sec__lead .col_outside_left .unit_img_col {
    margin-left: 0;
    margin-right: auto;
  }
  .page_top .sec__lead .col_outside_left .unit_detail_col {
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
  }
  .page_top .sec__lead .col_outside_left .unit_detail_col .unit_head {
    width: 54.6154vw;
    margin-left: -4.1026vw;
  }
  .page_top .sec__lead .col_outside_left .unit_detail_col .detail_inner {
    margin-left: 0;
    margin-top: -3.0769vw;
  }
  .page_top .sec__lead .col_outside_left .btn_arrow01 {
    margin-top: 7.6923vw;
    margin-left: auto;
  }
  .page_top .sec__lead .col_outside_right .unit_img_col {
    width: 90.7692vw;
    margin-right: 0;
    margin-left: auto;
  }
  .page_top .sec__lead .col_outside_right .unit_detail_col {
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }
  .page_top .sec__lead .col_outside_right .unit_detail_col .unit_head {
    width: 72.5641vw;
    margin-left: -4.1026vw;
  }
  .page_top .sec__lead .col_outside_right .unit_detail_col .detail_inner {
    margin-left: 0;
    margin-right: 0;
    margin-top: -3.0769vw;
  }
  .page_top .sec__lead .col_outside_right .btn_arrow01 {
    margin-top: 7.6923vw;
    margin-left: auto;
  }

  /**/
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　#sec__recruit
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.page_top .sec__recruit {
  background-image: url("../img/top/recruit_bg_pc.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  min-height: 736px;
  /*aspect-ratio: 1920 / 736;*/
  display: flex;
  position: relative;
  z-index: 1;
  margin-top: 16.6667%;
}
.page_top .sec__recruit .sec_wrap {
  width: 100%;
  display: flex;
  position: relative;
}
.page_top .sec__recruit .contents_wrap {
  max-width: 88.5417%;
  width: 100%;
  height: auto;
  display: flex;
  margin: auto;
}
.page_top .sec__recruit .sec_unit {
  background-color: rgba(240, 239, 233, 0.85);
  border-radius: 10px;
  width: 655px;
  margin-left: auto;
  padding: 86px 94px 54px;
}
.page_top .sec__recruit .unit_tit {
  position: relative;
  text-align: left;
  margin-top: 30px;
}
.page_top .sec__recruit .unit_tit::after {
  content: '';
  background-image: linear-gradient(to right, #3E1F00 2px, transparent 2px);
  background-size: 4px 2px;
  /**/
  background-repeat: repeat-x;
  background-position: left bottom;
  width: 100px;
  height: 10px;
  display: block;
  margin-top: 20px;
}
.page_top .sec__recruit .unit_tit .en {
  display: block;
  color: #1CADA1;
  font-size: 16px;
  letter-spacing: 0.05em;
}
.page_top .sec__recruit .unit_tit .ja {
  display: block;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0.15em;
  margin-top: 10px;
}
.page_top .sec__recruit .unit_txt {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.15em;
  text-align: justify;
  margin-top: 50px;
}
.page_top .sec__recruit .btn_arrow01 {
  margin-top: 50px;
}

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .page_top .sec__recruit {
    background-image: url("../img/top/recruit_bg_sp_2x.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    min-height: 121.0256vw;
    /*aspect-ratio: 1920 / 736;*/
    display: flex;
    position: relative;
    z-index: 1;
    margin-top: 25.641vw;
  }
  .page_top .sec__recruit .sec_wrap {
    width: 100%;
    display: flex;
    position: relative;
  }
  .page_top .sec__recruit .contents_wrap {
    max-width: 100%;
    width: 82.0513vw;
    height: auto;
    display: flex;
    margin: 10.7692vw auto;
  }
  .page_top .sec__recruit .sec_unit {
    background-color: rgba(240, 239, 233, 0.85);
    border-radius: 1.2821vw;
    width: 100%;
    margin-left: auto;
    padding: 10.2564vw 8.9744vw 12.3077vw;
  }
  .page_top .sec__recruit .unit_tit {
    position: relative;
    text-align: center;
    margin-top: 7.6923vw;
  }
  .page_top .sec__recruit .unit_tit::after {
    content: '';
    background-image: linear-gradient(to right, #3E1F00 2px, transparent 2px);
    background-size: 4px 2px;
    /**/
    background-repeat: repeat-x;
    background-position: left bottom;
    width: 20.5128vw;
    height: 10px;
    display: block;
    margin: 3.0769vw auto 0;
  }
  .page_top .sec__recruit .unit_tit .en {
    display: block;
    color: #1CADA1;
    font-size: 4.1026vw;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
  }
  .page_top .sec__recruit .unit_tit .ja {
    display: block;
    font-size: 6.1538vw;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    margin-top: 2.0513vw;
  }
  .page_top .sec__recruit .unit_txt {
    font-size: 3.0769vw;
    line-height: 1.8;
    letter-spacing: 0.15em;
    margin-top: 6.9231vw;
  }
  .page_top .sec__recruit .btn_arrow01 {
    margin: 6.9231vw auto 0;
  }
  .page_top .sec__recruit .btn_arrow01 a {
    justify-content: center;
  }

  /**/
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　フッター footer_contents
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.sec_footer {
  width: 100%;
  position: relative;
  z-index: 1;
}

/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .sec_footer {
    width: 100%;
    position: relative;
    z-index: 1;
  }
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　footer_contact_wrap
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.footer_contact_wrap {
  background-color: #D4D4D4;
  width: 100%;
  padding: 6.25% 0 6.25%;
}
.footer_contact_wrap .contact_unit {
  background-color: #fff;
  border-radius: 10px;
  max-width: 1328px;
  width: 90%;
  display: flex;
  justify-content: space-between;
  margin: auto;
  padding: 7.8125% 9.375% 6.7708%;
}
.footer_contact_wrap .contact_unit .left_parts {
  width: 50%;
}
.footer_contact_wrap .contact_unit .left_parts .unit_tit {
  position: relative;
  text-align: center;
}
.footer_contact_wrap .contact_unit .left_parts .unit_tit::after {
  content: '';
  background-color: #1CADA1;
  width: 80px;
  height: 2px;
  display: block;
  margin: 40px auto 0;
}
.footer_contact_wrap .contact_unit .left_parts .unit_tit .en {
  display: block;
  color: #1CADA1;
  font-size: clamp(13px, 0.8333vw, 16px);
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}
.footer_contact_wrap .contact_unit .left_parts .unit_tit .ja {
  display: block;
  font-size: clamp(28px, 1.7708vw, 34px);
  font-weight: 600;
  letter-spacing: 0.15em;
  text-indent: 0.15em;
  margin-top: 30px;
}
.footer_contact_wrap .contact_unit .left_parts .txt {
  width: max-content;
  font-size: clamp(16px, 1.1458vw, 22px);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin: 66px auto 0;
}
.footer_contact_wrap .contact_unit .right_parts {
  width: 50%;
}
.footer_contact_wrap .contact_unit .right_parts .tel_no a,
.footer_contact_wrap .contact_unit .right_parts .toll_free_no a {
  width: 100%;
  height: 100%;
  display: flex;
  gap: 0 5px;
  align-items: center;
  justify-content: center;
  position: relative;
}
.footer_contact_wrap .contact_unit .right_parts .tel_no a::before,
.footer_contact_wrap .contact_unit .right_parts .toll_free_no a::before {
  flex-shrink: 0;
  content: '';
  background-image: url("../img/cmn/tel_icon.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 11.5702%;
  aspect-ratio: 56 / 56;
  /*height: 56px;*/
  display: block;
  position: relative;
  transform: translateY(4px);
}
.footer_contact_wrap .contact_unit .right_parts .toll_free_no a::before {
  background-image: url("../img/cmn/toll_free_icon.svg");
}
.footer_contact_wrap .contact_unit .right_parts .tel_no span,
.footer_contact_wrap .contact_unit .right_parts .toll_free_no span {
  font-size: clamp(46px, 2.5vw, 48px);
  font-weight: 600;
  letter-spacing: 0em;
  text-indent: 0em;
}
.footer_contact_wrap .contact_unit .right_parts .toll_free_no {
  margin-top: 12px;
}
.footer_contact_wrap .contact_unit .right_parts .tel_info {
  font-size: clamp(18px, 1.1458vw, 22px);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-align: center;
  margin-top: 30px;
}
.footer_contact_wrap .contact_unit .right_parts .btn_contact {
  width: 85.5372%;
  aspect-ratio: 414 / 100;
  margin: 30px auto 50px;
}
.footer_contact_wrap .contact_unit .right_parts .btn_contact a {
  height: 100%;
}
.footer_contact_wrap .contact_unit .right_parts .btn_contact a span {
  font-size: clamp(20px, 1.1458vw, 22px);
}

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .footer_contact_wrap {
    background-color: #D4D4D4;
    width: 100%;
    padding: 23.0769vw 0 23.0769vw;
  }
  .footer_contact_wrap .contact_unit {
    background-color: #fff;
    border-radius: 1.2821vw;
    max-width: 100%;
    width: 82.0513vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: auto;
    padding: 20.5128vw 5.1282vw;
  }
  .footer_contact_wrap .contact_unit .left_parts {
    width: 100%;
  }
  .footer_contact_wrap .contact_unit .left_parts .unit_tit {
    position: relative;
    text-align: center;
  }
  .footer_contact_wrap .contact_unit .left_parts .unit_tit::after {
    content: '';
    background-color: #1CADA1;
    width: 20.5128vw;
    height: 2px;
    display: block;
    margin: 7.6923vw auto 0;
  }
  .footer_contact_wrap .contact_unit .left_parts .unit_tit .en {
    display: block;
    color: #1CADA1;
    font-size: 4.1026vw;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
  }
  .footer_contact_wrap .contact_unit .left_parts .unit_tit .ja {
    display: block;
    font-size: 6.1538vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    margin-top: 2.5641vw;
  }
  .footer_contact_wrap .contact_unit .left_parts .txt {
    width: max-content;
    font-size: 3.8462vw;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.05em;
    margin: 8.7179vw auto 0;
  }
  .footer_contact_wrap .contact_unit .right_parts {
    width: 100%;
    margin-top: 15.3846vw;
  }
  .footer_contact_wrap .contact_unit .right_parts .tel_no a,
  .footer_contact_wrap .contact_unit .right_parts .toll_free_no a {
    width: 100%;
    height: 100%;
    display: flex;
    gap: 0 0.5128vw;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .footer_contact_wrap .contact_unit .right_parts .tel_no a::before,
  .footer_contact_wrap .contact_unit .right_parts .toll_free_no a::before {
    content: '';
    background-image: url("../img/cmn/tel_icon.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 11.2821vw;
    aspect-ratio: 56 / 56;
    display: block;
    position: relative;
    transform: translateY(0.7692vw);
  }
  .footer_contact_wrap .contact_unit .right_parts .toll_free_no a::before {
    background-image: url("../img/cmn/toll_free_icon.svg");
  }
  .footer_contact_wrap .contact_unit .right_parts .tel_no span,
  .footer_contact_wrap .contact_unit .right_parts .toll_free_no span {
    font-size: 8.9744vw;
    font-weight: 600;
    letter-spacing: 0em;
    text-indent: 0em;
  }
  .footer_contact_wrap .contact_unit .right_parts .toll_free_no {
    margin-top: 12px;
  }
  .footer_contact_wrap .contact_unit .right_parts .toll_free_no
  .contact_unit .right_parts .tel_info {
    font-size: 3.5897vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
    text-align: center;
    margin-top: 2.5641vw;
  }
  .footer_contact_wrap .contact_unit .right_parts .btn_contact {
    margin: 10.2564vw auto 0;
  }
  .footer_contact_wrap .contact_unit .right_parts .btn_contact a span {
    font-size: 3.5897vw;
  }

  /**/
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　footer01_wrap
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.footer01_wrap {
  background-color: #fff;
  width: 100%;
}
.footer01_wrap .footer_inner {
  width: 100%;
  padding: 120px 0 0;
}
.footer01_wrap .footer_nav_unit {
  max-width: 1485px;
  width: 90%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: auto;
}
.footer01_wrap .footer_nav_unit .company_info {
  width: 38.9226%;
  display: flex;
  flex-direction: column;
}
.footer01_wrap .footer_nav_unit .footer_logo {
  width: 100%;
}
.footer01_wrap .footer_nav_unit .footer_logo a {
  display: flex;
}
.footer01_wrap .company_info .info_inner {
  font-size: clamp(16px, 0.9375vw, 18px);
  letter-spacing: 0.15em;
  margin-top: 40px;
}
.footer01_wrap .company_info .info_inner p.address {
  margin-top: 40px;
}
.footer01_wrap .company_info .info_inner dl {
  display: flex;
  margin-top: 20px;
}
.footer01_wrap .company_info .info_inner dl dd {
  display: flex;
  flex-direction: column;
  gap: 8px 0;
}
.footer01_wrap .company_info .btn_contact {
  width: 71.6263%;
  aspect-ratio: 414 / 100;
  margin-top: 50px;
}
.footer01_wrap .company_info .btn_contact a {
  height: 100%;
}
.footer01_wrap .company_info .btn_contact a span {
  font-size: clamp(20px, 1.1458vw, 22px);
}
.footer01_wrap .info_nav {
  width: 47.138%;
  margin-bottom: 2.6936%;
}
.footer01_wrap .info_nav ul {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  gap: 0 11.4286%;
}
.footer01_wrap .info_nav ul li a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(14px, 0.8333vw, 16px);
  letter-spacing: 0.05em;
}

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .footer01_wrap {
    background-color: #fff;
    width: 100%;
  }
  .footer01_wrap .footer_inner {
    width: 100%;
    padding: 17.9487vw 0 0;
  }
  .footer01_wrap .footer_nav_unit {
    max-width: 100%;
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    margin: auto;
  }
  .footer01_wrap .footer_nav_unit .company_info {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 13.5897vw;
  }
  .footer01_wrap .footer_nav_unit .footer_logo {
    order: 1;
    width: 69.4872vw;
    margin: 10.2564vw auto 0;
  }
  .footer01_wrap .footer_nav_unit .footer_logo a {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .footer01_wrap .company_info .info_inner {
    order: 2;
    font-size: 3.0769vw;
    letter-spacing: 0.15em;
    text-indent: 0.15em;
    text-align: center;
    margin-top: 5.1282vw;
  }
  .footer01_wrap .company_info .info_inner p.address {
    margin-top: 6.6667vw;
  }
  .footer01_wrap .company_info .info_inner dl {
    display: flex;
    justify-content: center;
    margin: 4.1026vw auto 0;
  }
  .footer01_wrap .company_info .info_inner dl dd {
    display: flex;
    flex-direction: column;
    gap: 1.5385vw 0;
  }
  .footer01_wrap .company_info .btn_contact {
    order: 0;
    width: 63.3333%;
    aspect-ratio: 247 / 60;
    margin: auto;
  }
  .footer01_wrap .company_info .btn_contact a span {
    font-size: 3.5897vw;
  }
  .footer01_wrap .info_nav {
    width: 100%;
    margin-bottom: 0;
  }
  .footer01_wrap .info_nav ul {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7.6923vw 0;
  }
  .footer01_wrap .info_nav ul li a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.5897vw;
    letter-spacing: 0.05em;
  }

  /**/
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　footer02_wrap
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.footer02_wrap {
  background-color: #fff;
  width: 100%;
  padding: 120px 0 40px;
}
.footer02_wrap .copy_right {
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.08em;
}
.footer02_wrap .copy_right span {
  display: inline-block;
  font-size: 18px;
  letter-spacing: 0.18em;
  margin: 0.2em;
  transform: translateY(1px);
}

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 1240px) {
  .footer02_wrap {
    background-color: #fff;
    width: 100%;
    padding: 10.2564vw 0 15.3846vw;
  }
  .footer02_wrap .copy_right {
    font-size: 2.8205vw;
    text-align: center;
    letter-spacing: 0.04em;
  }
  .footer02_wrap .copy_right span {
    display: inline-block;
    font-size: 3.5897vw;
    letter-spacing: 0.18em;
    margin: 0.2em;
    transform: translateY(1px);
  }

  /**/
}
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　ページアンカー
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
