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

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

	システム

*****************************************************/
/*ベージュ*/
/*グレー*/
/*PC時カラー*/
/*SP時カラー*/
/*コンテンツ文字 基本*/
/*コンテンツ文字 白*/
/*コンテンツ文字 紺*/
/*コンテンツ文字 黒系*/
/*アウトライン確認用*/
/**,
*::before,
*::after {
	outline: 1px solid rgba(255,0,255,0.50);
}
*/
body {
  color: #000;
  font-family: YakuHanRP, "M PLUS Rounded 1c", "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "Yu Gothic UI", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt"; }

.yakuhan_notomin {
  font-family: YakuHanMP, "Noto Serif JP", "Yu Mincho Light", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", "MS Mincho", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal; }

.no_yakuhan_notomin {
  font-family: "Noto Serif JP", "Yu Mincho Light", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS PMincho", "MS Mincho", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal; }

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

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

.no_yakuhan_marugo {
  font-family: "M PLUS Rounded 1c", "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "Yu Gothic UI", sans-serif;
  font-optical-sizing: auto;
  font-style: normal; }

.nova-oval-regular {
  font-family: "Nova Oval", serif;
  font-weight: 400;
  font-style: normal; }

.baumans-regular {
  font-family: "Baumans", serif;
  font-weight: 400;
  font-style: normal; }

.hide {
  display: none !important; }

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

	フォントサイズ指定

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*****************************************************/
/*使用例*/
.size_sizeClmpVW {
  font-size: clamp(14px, 1.5046vw, 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: 768px) {
  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); }

/*ボーダーアニメーションとフェードイン*/
@keyframes expandWidth {
  to {
    width: 100%; } }
@keyframes expandHeight {
  to {
    height: 100%; } }
@keyframes fadeIn {
  to {
    opacity: 1; } }
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　共通　パーツ
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　（文字組み）
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.main_contents {
  /*文字設定*/ }
  .main_contents .normal_txt {
    font-size: clamp(14px, 1.1574vw, 20px);
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0.1em;
    text-align: justify;
    text-align-last: left; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .main_contents {
    /*文字設定*/ }
    .main_contents .normal_txt {
      font-size: 3.5897vw;
      font-weight: 400;
      line-height: 2;
      letter-spacing: 0;
      text-align: justify;
      text-align-last: left; }

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

　トップに戻るボタン ver02

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

.move-page-top {
  background: #000;
  /*border: 1px solid #fff;*/
  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: 768px) {
  .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; }

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

　リスト　リストマーク１文字用 テキスト 
html使用例
<ul class="list_mark_ul mark">
<li data-li_mark="※">プレゼント内容は</li>
========================================================= */
/* 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; }

.list_mark_ul.mark.no_yakuhan_list li::before {
  font-family: "M PLUS Rounded 1c", "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "Yu Gothic UI", sans-serif; }

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

　リスト　脚注マーク用 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; }

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

　リスト以外　マーク１文字用 テキスト
html使用例
<p class="marked_txt" data-li_mark="※">プレゼント内容は</p>
========================================================= */
/* 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 表示
--------------------------------------------------------- */
.btn01 {
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 9999px;
  width: min( 19.5059vw, 150px ); }
  .btn01 a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: min( 0.8102vw, 14px ) min( 0.5787vw, 10px ); }
  .btn01 a span {
    font-size: clamp(13px, 0.9259vw, 16px); }

/*/.btn01*/
.btn02 {
  background-color: #FAF8F1;
  border: 2px solid #000;
  border-radius: 9999px;
  width: min( 30.5592vw, 235px ); }
  .btn02 a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: min( 1.0417vw, 18px ) min( 0.5787vw, 10px ); }
  .btn02 a span {
    font-size: clamp(14px, 1.1574vw, 20px); }

/*/.btn02*/
.btn03 {
  background-color: #FAF8F1;
  border: 2px solid #000;
  border-radius: 9999px;
  width: min( 28.013vw, 344px ); }
  .btn03 a {
    width: 100%;
    display: flex;
    gap: 0 1em;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: min( 2.5244vw, 31px ) min( 1.6287vw, 20px ); }
  .btn03 a::after {
    content: '';
    background: #000;
    width: 16px;
    height: calc(16px / 2 * tan(60deg));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    /*下向き*/
    display: block; }
  .btn03 a span {
    font-size: clamp(14px, 1.7915vw, 22px);
    letter-spacing: 0.05em;
    text-indent: 0.05em; }
  .btn03:hover {
    background-color: #fff; }
  .btn03:hover a::after {
    /*background: $txt_color02;*/ }
  .btn03:hover a span {
    /*color: $txt_color02;*/ }

/*/.btn03*/
.btn04 {
  border-bottom: 2px solid #000;
  width: fit-content; }
  .btn04:hover {
    border-bottom: 2px solid #00335D; }
  .btn04 a {
    width: 100%;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: min( 0.5787vw, 10px ) min( 1.1574vw, 20px ); }
  .btn04 a::after {
    content: '';
    background: #000;
    width: 14px;
    height: calc(14px / 2 * tan(60deg));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    /*下向き*/
    display: block; }
  .btn04 a span {
    font-size: clamp(10px, 1.7915vw, 22px);
    letter-spacing: 0.05em;
    text-indent: 0.05em;
    transition: 0.5s;
    white-space: nowrap; }
  .btn04:hover a::after {
    background: #00335D; }
  .btn04:hover a span {
    color: #00335D;
    letter-spacing: 0.2em;
    text-indent: 0.2em; }

/*/.btn04*/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .btn01 {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 9999px;
    width: 23.0769vw; }
    .btn01 a {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.5385vw 1.0256vw; }
    .btn01 a span {
      font-size: 2.8205vw;
      letter-spacing: -0.02em; }

  /*/.btn01*/
  .btn02 {
    background-color: #FAF8F1;
    border: 1px solid #000;
    border-radius: 9999px;
    width: 24.6154vw; }
    .btn02 a {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 2.0513vw 1.0256vw; }
    .btn02 a span {
      font-size: 2.8205vw;
      letter-spacing: -0.02em; }

  /*/.btn02*/
  .btn03 {
    background-color: #FAF8F1;
    border: 1px solid #000;
    border-radius: 9999px;
    width: 51.2821vw; }
    .btn03 a {
      width: 100%;
      display: flex;
      gap: 0 0.5em;
      align-items: center;
      justify-content: center;
      position: relative;
      padding: 4.359vw 2.5641vw; }
    .btn03 a::after {
      content: '';
      background: #000;
      width: 12px;
      height: calc(12px / 2 * tan(60deg));
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      /*下向き*/
      display: block; }
    .btn03 a span {
      font-size: 3.5897vw;
      letter-spacing: 0.05em;
      text-indent: 0.05em; }
    .btn03:hover {
      background-color: #fff; }
    .btn03:hover a::after {
      /*background: $txt_color02;*/ }
    .btn03:hover a span {
      /*color: $txt_color02;*/ }

  /*/.btn03*/
  .btn04 {
    border-bottom: 1px solid #000;
    width: fit-content; }
    .btn04:hover {
      border-bottom: 1px solid #00335D; }
    .btn04 a {
      width: 100%;
      display: flex;
      gap: 2.5641vw;
      align-items: center;
      justify-content: center;
      position: relative;
      padding: 1.0256vw 3.5897vw; }
    .btn04 a::after {
      content: '';
      background: #000;
      width: 12px;
      height: calc(12px / 2 * tan(60deg));
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      /*下向き*/
      display: block; }
    .btn04 a span {
      font-size: 3.5897vw;
      letter-spacing: 0.05em;
      text-indent: 0.05em;
      transition: 0.5s;
      white-space: nowrap; }
    .btn04:hover a::after {
      background: #00335D; }
    .btn04:hover a span {
      color: #00335D;
      letter-spacing: 0.2em;
      text-indent: 0.2em; }

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

　セクションタイトル

========================================================= */
/* PC 表示
--------------------------------------------------------- */
.sec_tit {
  width: 100%; }

.sec_tit .ja_txt {
  display: flex;
  justify-content: center;
  overflow: hidden;
  font-size: clamp(27px, 2.0255vw, 35px);
  letter-spacing: 0.05em;
  text-indent: 0.05em; }

.sec_tit .ja_txt span {
  display: inline-block; }

.sec_tit .en_txt {
  display: block;
  font-size: clamp(12px, 1.1574vw, 20px);
  letter-spacing: 0.36em;
  text-align: center;
  text-indent: 0.36em;
  margin-top: min( 1.1574vw, 20px ); }

/*アニメーション*/
.js_sec_tit_anime span {
  transform: translateY(100%);
  transition: 1.0s ease 0.1s;
  opacity: 0; }

.js_sec_tit_anime.is-view span {
  transform: translateY(0);
  opacity: 1; }

.sec_tit02 {
  /*background: linear-gradient(90deg, #0D3761 0%, #99CCFF 100%);*/
  background-color: #0D3761;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min( 41.6903vw, 587px );
  padding: 0 min( 0.7102vw, 10px ); }

.sec_tit02 .ja_txt {
  display: flex;
  overflow: hidden;
  color: #fff;
  font-size: clamp(24px, 2.0255vw, 35px);
  letter-spacing: 0.05em; }

.sec_tit02 .ja_txt span {
  display: inline-block; }

/*アニメーション*/
.js_sec_tit02_anime {
  opacity: 0;
  transition: 1.0s ease 0.1s; }

.js_sec_tit02_anime span {
  transform: translateY(-100%);
  transition: 1.0s ease 0.1s;
  opacity: 0; }

.js_sec_tit02_anime.is-view {
  padding: 29px 0;
  opacity: 1; }

.js_sec_tit02_anime.is-view span {
  transform: translateY(0);
  opacity: 1; }

/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .sec_tit {
    width: 100%; }

  .sec_tit .ja_txt {
    display: flex;
    overflow: hidden;
    font-size: 5.641vw;
    letter-spacing: 0.05em; }

  .sec_tit .ja_txt span {
    display: inline-block; }

  .sec_tit .en_txt {
    display: block;
    font-size: 2.5641vw;
    letter-spacing: 0.19em;
    margin-top: 1.2821vw; }

  /*アニメーション*/
  .js_sec_tit_anime span {
    transform: translateY(100%);
    transition: 1.0s ease 0.1s;
    opacity: 0; }

  .js_sec_tit_anime.is-view span {
    transform: translateY(0);
    opacity: 1; }

  .sec_tit02 {
    /*background: linear-gradient(90deg, #0D3761 0%, #99CCFF 100%);*/
    background-color: #0D3761;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 79.4872vw;
    padding: 0 1.0256vw; }

  .sec_tit02 .ja_txt {
    display: flex;
    overflow: hidden;
    color: #fff;
    font-size: 4.6154vw;
    letter-spacing: 0.05em; }

  .sec_tit02 .ja_txt span {
    display: inline-block; }

  /*アニメーション*/
  .js_sec_tit02_anime {
    opacity: 0;
    transition: 1.0s ease 0.1s; }

  .js_sec_tit02_anime span {
    transform: translateY(-100%);
    transition: 1.0s ease 0.1s;
    opacity: 0; }

  .js_sec_tit02_anime.is-view {
    padding: 3.5897vw 1.0256vw;
    opacity: 1; }

  .js_sec_tit02_anime.is-view span {
    transform: translateY(0);
    opacity: 1; } }
/*スマホ 表示 end*/
/* =========================================================

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

========================================================= */
/* PC 表示
--------------------------------------------------------- */
.sec__breadcrumb_trail {
  max-width: 1680px;
  width: 97.619vw;
  margin: auto;
  padding-top: 10px; }

.sec__breadcrumb_trail ul {
  display: flex; }

.sec__breadcrumb_trail ul li {
  display: flex;
  align-items: flex-start;
  font-size: 12px;
  font-weight: 700;
  padding: 0.5787vw 1em; }

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

.sec__breadcrumb_trail ul li + li::before {
  content: '＞';
  font-size: 12px;
  font-weight: 700;
  margin-right: 1em; }

.sec__breadcrumb_trail ul li a {
  display: flex;
  text-decoration: underline;
  text-underline-offset: 0.3em; }

.sec__breadcrumb_trail ul li a:hover {
  text-decoration: none; }

/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .sec__breadcrumb_trail {
    width: 92.3077vw;
    margin: auto;
    padding-top: 2.5641vw; }

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

  .sec__breadcrumb_trail ul li {
    display: flex;
    font-size: 2.8205vw;
    font-weight: 700;
    letter-spacing: 0;
    padding: 2.5641vw 0.5em; }

  .sec__breadcrumb_trail ul li + li::before {
    content: '＞';
    font-size: 3.0769vw;
    font-weight: 700;
    margin-right: 0.5em; }

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

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

.main_contents {
  width: 100%;
  position: relative;
  margin-top: 80px; }

/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .base {
    width: 100%;
    position: relative;
    overflow: hidden;
    z-index: 1; }

  .main_contents {
    width: 100%;
    position: relative;
    margin-top: 75px; } }
/*スマホ 表示 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: 35px;
  height: 35px;
  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: 0;
  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 {
  margin: 0;
  padding: 0;
  opacity: 0; }

.js_header_origin .sp_only_menu {
  display: none; }

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

スマホ表示　ヘッダー

===================================================================== */
/* スマホ表示
--------------------------------------------------------- */
.js_header_origin.js_sp_view_navi {
  width: 100%;
  height: 74px;
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  /* =========================================================

   g_nav　sp

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

   info_nav SP時

  ========================================================= */
  /*.info_nav {
    width: 100%;
    position: fixed;
    top: 80px;
    left: 0;
    z-index: 9999;
  }
  &.js_fixed_pc_header .info_nav {
    
  }
  
  .info_nav ul {
    width: 100%;
    height: 44px;
    display: flex;
  }
  &.js_fixed_pc_header .info_nav ul {
  }
  
  .info_nav ul li {
    background-color: #DF5D3D;
    width: 50%;
  }
  .info_nav ul li:nth-child(2) {
    background-color: #222222;
  }
  
  .info_nav ul li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .info_nav ul li a span {
    display: block;
    color: $txt_color02;
    font-size: sizeClmpVW(10,14,390);
    font-weight: 700;
  }
*/ }
  .js_header_origin.js_sp_view_navi.js_fixed_sp_header {
    /*height: 60px;*/ }
  .js_header_origin.js_sp_view_navi .header_inner {
    background-color: white;
    /*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: 17px 12px; }
  .js_header_origin.js_sp_view_navi.js_fixed_sp_header .header_inner {
    background-color: white; }
  .js_header_origin.js_sp_view_navi .header_logo {
    width: 236px;
    height: auto; }
  .js_header_origin.js_sp_view_navi .header_logo a {
    display: flex; }
  .js_header_origin.js_sp_view_navi .g_nav {
    background-color: white;
    width: 100%;
    height: 80vh;
    position: absolute;
    z-index: 9999;
    top: 74px;
    left: 100%;
    padding: 20px 0 40px;
    overflow-y: auto;
    transition: all .2s ease; }
  .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 #C9C9C9;
    width: 100%; }
  .js_header_origin.js_sp_view_navi .g_nav > ul > li:first-child {
    border-top: 1px solid #C9C9C9; }
  .js_header_origin.js_sp_view_navi .g_nav > ul li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding: 13px 20px; }
  .js_header_origin.js_sp_view_navi .g_nav > ul li a::after {
    content: '';
    background-image: url("../img/cmn/header_menu_arrow.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 6px;
    height: 14px;
    display: block; }
  .js_header_origin.js_sp_view_navi .g_nav ul li a p {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center; }
  .js_header_origin.js_sp_view_navi .g_nav ul li a p span {
    display: inline-block;
    color: #000;
    font-size: 3.8462vw;
    font-weight: 400;
    line-height: 1.667; }

/*/.js_header_origin.js_sp_view_navi*/
/* =====================================================================

PC 表示　ヘッダー

===================================================================== */
/* PC 表示
--------------------------------------------------------- */
.js_header_origin.js_pc_view_navi {
  background-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0px 1px 4px -2px rgba(0, 0, 0, 0.25);
  width: 100vw;
  height: 80px;
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  opacity: 1;
  transition: all .3s ease;
  /* =========================================================

   g_nav　PC

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

   info_nav　PC

  ========================================================= */
  /*.info_nav {
    max-width: 200px;
    width: sizeConvertVW(200,1728);
    margin-left: sizeConvertVW(10,1728);
  }
  &.js_fixed_pc_header .info_nav {
    margin-left: sizeConvertVW(10,1728);
  }
  
  .info_nav ul {
    width: 100%;
    height: 88px;
    display: flex;
    flex-direction: column;
  }
  &.js_fixed_pc_header .info_nav ul {
  }
  
  .info_nav ul li {
    background-color: #DF5D3D;
    width: 100%;
    height: 50%;
  }
  .info_nav ul li:nth-child(2) {
    background-color: #222222;
  }
  
  .info_nav ul li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .info_nav ul li a span {
    display: block;
    color: $txt_color02;
    font-size: sizeClmpVW(11,14,1728);
    font-weight: 700;
  }*/ }
  .js_header_origin.js_pc_view_navi.js_fixed_pc_header {
    background-color: rgba(255, 255, 255, 0.55);
    height: 60px; }
  .js_header_origin.js_pc_view_navi .header_inner {
    /*max-width: 1920px;*/
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
    margin: auto; }
  .js_header_origin.js_pc_view_navi .header_logo {
    max-width: 372px;
    width: 26.4205vw;
    margin-left: min( 1.7361vw, 30px );
    transition: all .3s ease; }
  .js_header_origin.js_pc_view_navi.js_fixed_pc_header .header_logo {
    width: 17.3611vw; }
  .js_header_origin.js_pc_view_navi .header_logo a {
    display: flex; }
  .js_header_origin.js_pc_view_navi .g_nav {
    max-width: 1000px;
    width: 71.0227vw;
    margin-left: auto; }
  .js_header_origin.js_pc_view_navi .g_nav ul {
    width: 100%;
    display: flex;
    gap: 0 min( 0.5787vw, 10px ); }
  .js_header_origin.js_pc_view_navi .g_nav ul li {
    width: 25%;
    display: flex;
    align-items: center;
    justify-content: center; }
  .js_header_origin.js_pc_view_navi .g_nav ul li a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: min( 0.5787vw, 10px ) min( 0.5787vw, 10px ); }
  .js_header_origin.js_pc_view_navi .g_nav ul li a p {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; }
  .js_header_origin.js_pc_view_navi .g_nav ul li a p span {
    display: inline-block;
    color: #000;
    font-size: clamp(14px, 1.1574vw, 20px);
    font-weight: 400;
    /*line-height: lineHeight(20,25);*/ }
  .js_header_origin.js_pc_view_navi.js_fixed_pc_header .g_nav ul li a p span {
    font-size: clamp(12px, 1.0417vw, 18px); }

/*/.js_header_origin.js_pc_view_navi*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　page_top トップページ
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　KV sec__kv
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.page_top .sec__kv {
  width: 100%;
  position: relative;
  /* containerの上下ボーダーアニメーション */
  /* キャッチコピー部分 */
  /*スライド部分*/
  /* main-boxの右ボーダーアニメーション */
  /* left-boxの下ボーダーアニメーション */
  /*.left-box::before {
    content: '';
    background-color: #000;
    width: 0;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    animation: expandWidth 0.8s ease forwards;
    animation-delay: 1.2s;
  }*/
  /* sub-columnの右ボーダーアニメーション */
  /* 最初のcolumn-boxの下ボーダーアニメーション */
  /* sub-columnの右ボーダーアニメーション */ }
  .page_top .sec__kv .sec_wrap {
    width: 100%;
    position: relative; }
  .page_top .sec__kv .container {
    width: 100%;
    height: calc(100vh - (80px + 60px + 462px));
    height: calc(100svh - (80px + 60px + 462px));
    min-height: 50vh;
    min-height: 50svh;
    position: relative;
    overflow: hidden;
    /*aspect-ratio: 1920 / 1000;*/ }
  .page_top .sec__kv .container.height75 {
    height: calc(75vh - (110px + 85px));
    height: calc(75svh - (110px + 85px)); }
  .page_top .sec__kv .container::before,
  .page_top .sec__kv .container::after {
    content: '';
    background-color: #000;
    position: absolute;
    z-index: 2; }
  .page_top .sec__kv .container::before {
    top: 0;
    left: 0;
    width: 0;
    height: 2px;
    animation: expandWidth 2s ease forwards; }
  .page_top .sec__kv .container::after {
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    animation: expandWidth 2s ease forwards; }
  .page_top .sec__kv .p-index-mv__heading {
    bottom: 7.63889vw;
    font-size: 1.85507vw;
    font-weight: 500;
    left: 2.77778vw;
    letter-spacing: 4.007px;
    line-height: 1.9;
    position: absolute;
    z-index: 2; }
  .page_top .sec__kv .p-index-mv__heading .-block {
    background-color: #faf8f0;
    border: solid 2px;
    border-left: solid 0;
    border-right: solid 0;
    display: block;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    padding: 0;
    white-space: nowrap;
    position: relative;
    margin-bottom: 10px;
    width: 0;
    overflow: hidden; }
  .page_top .sec__kv .p-index-mv__heading .-block:nth-child(1) {
    animation: expandBlock 1s ease forwards;
    animation-delay: 3s; }
  .page_top .sec__kv .p-index-mv__heading .-block:nth-child(2) {
    animation: expandBlock 1s ease forwards;
    animation-delay: 4s; }
@keyframes expandBlock {
  0% {
    width: 0; }
  100% {
    border-left: solid 2px;
    border-right: solid 2px;
    width: 100%;
    padding: 0 .41667vw 0 1.52778vw; } }
  .page_top .sec__kv .kv_slide.swiper-container {
    width: 100%;
    height: 100%;
    display: flex; }
  .page_top .sec__kv ul.grid-wrapper {
    width: max-content;
    height: 100%;
    display: flex;
    position: relative;
    margin: 0;
    padding: 0;
    transition-timing-function: linear;
    /*シームレススライド*/ }
  .page_top .sec__kv li.grid {
    flex-shrink: 0;
    width: 100vw;
    height: 100%;
    display: flex;
    gap: 0; }
  .page_top .sec__kv .main-box {
    width: 18.1713vw;
    height: 100%;
    position: relative; }
  .page_top .sec__kv .main-box::after {
    content: '';
    background-color: #000;
    width: 2px;
    height: 0;
    position: absolute;
    top: 0;
    right: 0;
    animation: expandHeight 1s ease forwards;
    animation-delay: 1s; }
  .page_top .sec__kv .sub-column {
    width: 31.8287vw;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative; }
  .page_top .sec__kv .sub-column::after {
    content: '';
    background-color: #000;
    width: 2px;
    height: 0;
    position: absolute;
    top: 0;
    right: 0;
    animation: expandHeight 1s ease forwards;
    animation-delay: 1s; }
  .page_top .sec__kv .column-box {
    width: 100%;
    height: 50%;
    display: flex;
    position: relative; }
  .page_top .sec__kv .column-box:first-child::after {
    content: '';
    background-color: #000;
    width: 0;
    height: 2px;
    position: absolute;
    bottom: 0;
    left: 0;
    animation: expandWidth 0.8s ease forwards;
    animation-delay: 1.2s; }
  .page_top .sec__kv .column-left-box,
  .page_top .sec__kv .column-right-box {
    width: 50%;
    height: 100%;
    position: relative; }
  .page_top .sec__kv .column-left-box::after {
    content: '';
    background-color: #000;
    width: 2px;
    height: 0;
    position: absolute;
    top: 0;
    right: 0;
    animation: expandHeight 1s ease forwards;
    animation-delay: 1s; }
  .page_top .sec__kv .box-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    animation: fadeIn 1s forwards;
    animation-delay: 2s; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .page_top .sec__kv {
    width: 100%;
    position: relative;
    /* containerの上下ボーダーアニメーション */
    /* キャッチコピーのスタイル */
    /*スライド部分*/
    /* main-boxの右ボーダーアニメーション */
    /* main-boxの下ボーダーアニメーション */
    /* right-columnの右ボーダーアニメーション */
    /* 最初のcolumn-boxの右ボーダーアニメーション */ }
    .page_top .sec__kv .sec_wrap {
      width: 100%;
      position: relative; }
    .page_top .sec__kv .container {
      width: 100%;
      height: auto;
      /*height: calc(100vh - 74px - 110px);
      height: calc(100svh - 74px - 110px);*/
      /*画面いっぱいにする時*/
      position: relative;
      overflow: hidden; }
    .page_top .sec__kv .container::before,
    .page_top .sec__kv .container::after {
      content: '';
      background-color: #000;
      position: absolute;
      z-index: 2; }
    .page_top .sec__kv .container::before {
      top: 0;
      left: 0;
      width: 0;
      height: 1px;
      animation: expandWidth 2s ease forwards; }
    .page_top .sec__kv .container::after {
      bottom: 0;
      left: 0;
      width: 0;
      height: 1px;
      animation: expandWidth 2s ease forwards; }
    .page_top .sec__kv .p-index-mv__heading {
      bottom: 11.205vw;
      font-size: 4.10256vw;
      font-weight: 400;
      left: 2.30769vw;
      letter-spacing: 0;
      z-index: 2; }
    .page_top .sec__kv .p-index-mv__heading .-block {
      margin-bottom: 0; }
    .page_top .sec__kv .p-index-mv__heading .-block:nth-child(1) {
      animation: expandBlock 0.5s ease forwards;
      animation-delay: 3s;
      border-bottom: none; }
    .page_top .sec__kv .p-index-mv__heading .-block:nth-child(2) {
      animation: expandBlock 0.5s ease forwards;
      animation-delay: 3s; }
  @keyframes expandBlock {
    0% {
      width: 0;
      padding: .76923vw 0; }
    100% {
      border-left: solid 1px;
      border-right: solid 1px;
      width: 100%;
      padding: .76923vw 3.55128vw .76923vw 3.55128vw; } }
    .page_top .sec__kv .kv_slide.swiper-container {
      width: 100%;
      height: 100%;
      display: flex; }
    .page_top .sec__kv ul.grid-wrapper {
      width: 100%;
      height: 100%;
      display: flex;
      position: relative;
      margin: 0;
      padding: 0;
      transition-timing-function: linear;
      /*シームレススライド*/ }
    .page_top .sec__kv li.grid {
      flex-shrink: 0;
      width: 100%;
      height: 100%;
      display: flex;
      flex-wrap: wrap;
      gap: 0; }
    .page_top .sec__kv .main-box {
      width: 50%;
      height: 80vw;
      /*height: 58.65%;*/
      /*画面いっぱいにする時*/
      position: relative; }
    .page_top .sec__kv .main-box::after {
      content: '';
      background-color: #000;
      width: 1px;
      height: 0;
      position: absolute;
      top: 0;
      right: 0;
      animation: expandHeight 1s ease forwards;
      animation-delay: 1s; }
    .page_top .sec__kv .main-box::before {
      content: '';
      background-color: #000;
      width: 0;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: 2;
      animation: expandWidth 0.8s ease forwards;
      animation-delay: 1.2s; }
    .page_top .sec__kv .sub-column {
      width: 100%;
      height: 56.4103vw;
      /*height: 41.35%;*/
      /*画面いっぱいにする時*/
      display: flex;
      flex-direction: row;
      position: relative; }
    .page_top .sec__kv .sub-column::after {
      content: '';
      background-color: #000;
      width: 1px;
      height: 0;
      position: absolute;
      top: 0;
      right: 0;
      animation: expandHeight 1s ease forwards;
      animation-delay: 1s; }
    .page_top .sec__kv .column-box {
      width: 50%;
      height: 100%;
      position: relative; }
    .page_top .sec__kv .column-box:first-child::after {
      content: '';
      background-color: #000;
      width: 1px;
      height: 0;
      position: absolute;
      bottom: auto;
      left: auto;
      top: 0;
      right: 0;
      animation: expandHeight 0.8s ease forwards;
      animation-delay: 1.2s; }
    .page_top .sec__kv .box-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      animation: fadeIn 1s forwards;
      animation-delay: 2s; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　sec__in_page_menu PCは非表示
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.sec__in_page_menu {
  margin-top: 0;
  /*kv下部に埋め込みの場合はマイナス*/ }

/**/
/*========= 上部固定させるためのCSS ===============*/
.sec__in_page_menu {
  z-index: 999 !important;
  /*==ふわっと出現させるためのCSS*/
  /*　上に上がる動き　*/
  /*　下に下がる動き　*/ }
  .sec__in_page_menu.UpMove {
    position: fixed !important;
    width: 100%;
    animation: UpAnime 0.3s 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 !important;
    top: 90px;
    animation: DownAnime 0.3s forwards; }
@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .sec__in_page_menu {
    margin-top: 0;
    /*kv下部に埋め込みの場合はマイナス*/ }

  /**/
  /*========= 上部固定させるための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__companylogo_slide 会社ロゴスライド
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.sec__companylogo_slide {
  background-color: #FAF8F1;
  width: 100%;
  position: relative;
  /* companylogo_slideの下ボーダーアニメーション */
  /*スライド部分*/ }
  .sec__companylogo_slide .sec_wrap {
    width: 100%;
    position: relative; }
  .sec__companylogo_slide .companylogo_slide {
    width: 100%;
    height: 60px;
    position: relative;
    overflow: hidden; }
  .sec__companylogo_slide .companylogo_slide::after {
    content: '';
    background-color: #000;
    width: 0;
    height: 2px;
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    animation: expandWidth 2s ease forwards; }
  .sec__companylogo_slide ul.grid-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    margin: 0;
    padding: 0;
    transition-timing-function: linear;
    /*シームレススライド*/ }
  .sec__companylogo_slide li.swiper-slide {
    flex-shrink: 0;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0 2.8935vw; }
  .sec__companylogo_slide .unit_img {
    display: flex;
    align-items: center;
    justify-content: center; }
  .sec__companylogo_slide .box-image {
    max-width: 120px;
    width: auto;
    max-height: 40px;
    height: auto;
    opacity: 0;
    animation: fadeIn 1s forwards;
    animation-delay: 2s; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .sec__companylogo_slide {
    background-color: #FAF8F1;
    width: 100%;
    position: relative;
    /* 下ボーダーアニメーション */
    /*スライド部分*/ }
    .sec__companylogo_slide .sec_wrap {
      width: 100%;
      position: relative; }
    .sec__companylogo_slide .companylogo_slide-top,
    .sec__companylogo_slide .companylogo_slide-bottom {
      width: 100%;
      height: 55px;
      position: relative; }
    .sec__companylogo_slide .companylogo_slide-top::after,
    .sec__companylogo_slide .companylogo_slide-bottom::after {
      content: '';
      background-color: #000;
      width: 0;
      height: 1px;
      position: absolute;
      z-index: 2;
      bottom: 0;
      left: 0;
      animation: expandWidth 2s ease forwards; }
    .sec__companylogo_slide ul.grid-wrapper {
      width: 100%;
      height: 100%;
      display: flex;
      position: relative;
      margin: 0;
      padding: 0;
      transition-timing-function: linear;
      /*シームレススライド*/ }
    .sec__companylogo_slide li.swiper-slide {
      flex-shrink: 0;
      width: auto;
      height: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      padding: 0 2.5641vw; }
    .sec__companylogo_slide .unit_img {
      width: 80%;
      height: auto;
      display: flex;
      align-items: center;
      justify-content: center; }
    .sec__companylogo_slide .box-image {
      width: 100%;
      max-height: auto;
      height: auto;
      animation: fadeIn 1s forwards;
      animation-delay: 2s; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　#sec__instagram_lead_slide インスタ リード
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.sec__instagram_lead_slide {
  background-color: #FAF8F1;
  width: 100%;
  position: relative;
  /*スライド部分*/
  /* ドットの配置（下側、外側に配置） */
  /* ドットの基本スタイル */
  /* アクティブなドットのスタイル */ }
  .sec__instagram_lead_slide .sec_wrap {
    width: 100%;
    position: relative;
    padding: min( 3.4722vw, 60px ) 20px 0; }
  .sec__instagram_lead_slide .contents_wrap {
    width: min(100%, 1408px);
    display: flex;
    gap: min( 1.4205vw, 20px );
    justify-content: space-between;
    margin: auto; }
  .sec__instagram_lead_slide .tit-container {
    width: min(100%, 380px);
    margin-top: min( 4.0509vw, 70px ); }
  .sec__instagram_lead_slide .sec_tit {
    width: 100%;
    position: relative;
    margin: auto;
    padding-left: min( 5.9659vw, 84px ); }
  .sec__instagram_lead_slide .sec_tit::before {
    content: '';
    background-image: url("../img/cmn/instagram_tit_logo.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: min( 4.5455vw, 64px );
    height: min( 4.5455vw, 64px );
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
  .sec__instagram_lead_slide .sec_tit .ja_txt {
    font-size: clamp(22px, 1.8519vw, 32px);
    justify-content: flex-start; }
  .sec__instagram_lead_slide .sec_tit .en_txt {
    font-size: clamp(10px, 1.1574vw, 20px);
    text-align: left;
    margin-top: min( 0.7102vw, 10px ); }
  .sec__instagram_lead_slide .sec_lead {
    font-size: clamp(14px, 1.0417vw, 18px);
    font-weight: 400;
    line-height: 1.556;
    letter-spacing: 0.05em;
    text-align: justify;
    text-align-last: left;
    margin-top: min( 1.7361vw, 30px ); }
  .sec__instagram_lead_slide .instagram_lead_slide {
    width: min(100%, 950px);
    position: relative;
    overflow: hidden;
    padding-bottom: 60px;
    /*ドットの領域確保*/ }
  .sec__instagram_lead_slide .instagram_lead_slide.pc-swiper {
    display: block; }
  .sec__instagram_lead_slide .instagram_lead_slide.sp-swiper {
    display: none; }
  .sec__instagram_lead_slide .instagram_lead_slide .swiper-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    margin: 0;
    padding: 0; }
  .sec__instagram_lead_slide .swiper-wrapper > .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: auto;
    display: flex;
    position: relative; }
  .sec__instagram_lead_slide .swiper-slide a {
    width: 100%; }
  .sec__instagram_lead_slide .unit_img {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden; }
  .sec__instagram_lead_slide .box-image {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .sec__instagram_lead_slide .unit_detail {
    width: 100%;
    margin-top: min( 1.4468vw, 25px ); }
  .sec__instagram_lead_slide .unit_name {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: clamp(12px, 1.0995vw, 19px);
    font-weight: 400;
    line-height: 1.263;
    letter-spacing: 0.05em;
    word-break: break-all; }
  .sec__instagram_lead_slide .unit_name::before {
    content: '';
    flex-shrink: 0;
    align-self: flex-start !important;
    background-image: url("../img/cmn/instagram_name_icon.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: min( 1.7361vw, 30px );
    aspect-ratio: 1 / 1;
    display: block;
    margin-right: 0.3em; }
  .sec__instagram_lead_slide .swiper-container .swiper-pagination {
    width: 50%;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 20px;
    /* スライダー外側に配置するため、下方向にずらす */
    left: 50%;
    transform: translateX(-50%);
    z-index: 10; }
  .sec__instagram_lead_slide .swiper-container .swiper-pagination-bullet {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 9999px;
    width: 10px;
    height: 10px;
    margin: 0;
    opacity: 1;
    /* 初期状態は不透明 */
    transition: background-color 0.3s ease; }
  .sec__instagram_lead_slide .swiper-container .swiper-pagination-bullet-active {
    background-color: #000; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .sec__instagram_lead_slide {
    background-color: #FAF8F1;
    width: 100%;
    position: relative;
    /*スライド部分*/
    /* ドットの配置（下側、外側に配置） */
    /* ドットの基本スタイル */
    /* アクティブなドットのスタイル */ }
    .sec__instagram_lead_slide .sec_wrap {
      width: 100%;
      position: relative;
      padding: 15.3846vw 0 0; }
    .sec__instagram_lead_slide .contents_wrap {
      width: 79.4872vw;
      display: flex;
      flex-direction: column;
      gap: 7.6923vw;
      justify-content: space-between;
      margin: auto; }
    .sec__instagram_lead_slide .tit-container {
      width: 100%;
      margin-top: 0; }
    .sec__instagram_lead_slide .sec_tit {
      width: 100%;
      position: relative;
      margin: auto;
      padding-left: 13.5897vw; }
    .sec__instagram_lead_slide .sec_tit::before {
      content: '';
      background-image: url("../img/cmn/instagram_tit_logo.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 11.0256vw;
      height: 11.0256vw;
      display: block;
      position: absolute;
      top: 0;
      left: 0; }
    .sec__instagram_lead_slide .sec_tit .ja_txt {
      font-size: 5.1282vw;
      justify-content: flex-start; }
    .sec__instagram_lead_slide .sec_tit .en_txt {
      font-size: 2.5641vw;
      text-align: left;
      margin-top: 2.5641vw; }
    .sec__instagram_lead_slide .sec_lead {
      font-size: 2.8205vw;
      font-weight: 400;
      line-height: 2;
      letter-spacing: 0.05em;
      text-align: justify;
      text-align-last: left;
      margin-top: 5.1282vw; }
    .sec__instagram_lead_slide .instagram_lead_slide {
      width: 100%;
      position: relative;
      overflow: hidden;
      padding-bottom: 60px;
      /*ドットの領域確保*/ }
    .sec__instagram_lead_slide .instagram_lead_slide.pc-swiper {
      display: none; }
    .sec__instagram_lead_slide .instagram_lead_slide.sp-swiper {
      display: block; }
    .sec__instagram_lead_slide .instagram_lead_slide .swiper-wrapper {
      width: 100%;
      height: 100%;
      display: flex;
      position: relative;
      margin: 0;
      padding: 0; }
    .sec__instagram_lead_slide .swiper-wrapper > .swiper-slide {
      flex-shrink: 0;
      width: 100%;
      height: auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 5.1282vw 1.5385vw; }
    .sec__instagram_lead_slide .swiper-slide a {
      width: 100%; }
    .sec__instagram_lead_slide .unit_img {
      width: 100%;
      aspect-ratio: 1 / 1;
      overflow: hidden; }
    .sec__instagram_lead_slide .box-image {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .sec__instagram_lead_slide .unit_detail {
      width: 100%;
      margin-top: 3.0769vw; }
    .sec__instagram_lead_slide .unit_name {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      font-size: 2.5641vw;
      font-weight: 400;
      line-height: 2;
      letter-spacing: 0.05em;
      word-break: break-all; }
    .sec__instagram_lead_slide .unit_name::before {
      content: '';
      flex-shrink: 0;
      align-self: flex-start;
      background-image: url("../img/cmn/instagram_name_icon.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 4.1026vw;
      aspect-ratio: 1 / 1;
      display: block;
      margin-right: 0.3em; }
    .sec__instagram_lead_slide .swiper-container .swiper-pagination {
      width: 50%;
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: center;
      position: absolute;
      bottom: 25px;
      /* スライダー外側に配置するため、下方向にずらす */
      left: 50%;
      transform: translateX(-50%);
      z-index: 10; }
    .sec__instagram_lead_slide .swiper-container .swiper-pagination-bullet {
      background-color: #fff;
      border: 1px solid #000;
      border-radius: 9999px;
      width: 10px;
      height: 10px;
      margin: 0;
      opacity: 1;
      /* 初期状態は不透明 */
      transition: background-color 0.3s ease; }
    .sec__instagram_lead_slide .swiper-container .swiper-pagination-bullet-active {
      background-color: #000; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　#sec__our-technology
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.sec__our-technology {
  background-color: #FAF8F1;
  width: 100%;
  position: relative; }
  .sec__our-technology .sec_wrap {
    width: 100%;
    position: relative;
    padding: min( 11.5741vw, 200px ) 0 min( 9.838vw, 170px ); }
  .sec__our-technology .sec_wrap::before {
    content: '';
    background-image: url("../img/top/our-technology_bg_parts01_pc.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    width: min( 25vw, 432px );
    aspect-ratio: 432 / 347;
    position: absolute;
    top: min( 1.6204vw, 28px );
    right: min( 6.1343vw, 106px ); }
  .sec__our-technology .sec_wrap::after {
    content: '';
    background-image: url("../img/top/our-technology_bg_parts02_pc.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: min( 23.1481vw, 400px );
    aspect-ratio: 447 / 400;
    position: absolute;
    bottom: min( 9.838vw, 170px );
    right: min( 5.3241vw, 92px ); }
  .sec__our-technology .contents_wrap {
    width: min(100% - 40px, 1408px);
    margin: auto; }
  .sec__our-technology .sec_nav {
    width: 100%;
    margin-top: min( 5.787vw, 100px ); }
  .sec__our-technology .sec_nav ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: min( 1.7756vw, 25px ); }
  .sec__our-technology .sec_nav li {
    background-color: #fff;
    border-radius: 9999px;
    width: auto;
    height: auto; }
  .sec__our-technology .sec_nav li a {
    display: flex;
    gap: 0 0.6em;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: min( 0.8681vw, 15px ) min( 1.0995vw, 19px ); }
  .sec__our-technology .sec_nav li a::after {
    content: '';
    background: #0D3761;
    width: 12px;
    height: calc(12px / 2 * tan(60deg));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    /*下向き*/
    display: block; }
  .sec__our-technology .sec_nav li a span {
    color: #0D3761;
    font-size: clamp(13px, 1.0417vw, 18px);
    letter-spacing: -0.03em; }
  .sec__our-technology .sec_nav li:hover {
    background-color: #0D3761; }
  .sec__our-technology .sec_nav li:hover a::after {
    background: #fff; }
  .sec__our-technology .sec_nav li:hover a span {
    color: #fff; }
  .sec__our-technology .sec_detail {
    width: 100%;
    margin-top: min( 8.6806vw, 150px ); }
  .sec__our-technology .sec_detail ul {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min( 3.5511vw, 50px ); }
  .sec__our-technology .sec_detail li {
    width: 100%;
    display: flex;
    flex-direction: column; }
  .sec__our-technology .sec_detail li .unit_img {
    border-radius: 10px;
    width: 100%;
    aspect-ratio: 435 / 336;
    overflow: hidden; }
  .sec__our-technology .sec_detail li .unit_img img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .sec__our-technology .sec_detail li .unit_detail {
    flex-grow: 1;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: min( 1.7756vw, 25px ) 0 0; }
  .sec__our-technology .sec_detail li .unit_head {
    display: flex;
    gap: 0 min( 1.1364vw, 16px );
    align-items: center;
    justify-content: flex-start; }
  .sec__our-technology .sec_detail li .unit_head .head_num {
    flex-shrink: 0;
    color: #0D3761;
    font-size: clamp(10px, 0.9259vw, 16px);
    letter-spacing: 0.05em; }
  .sec__our-technology .sec_detail li .unit_head .head_num span {
    font-size: clamp(16px, 1.8519vw, 32px);
    letter-spacing: 0.05em; }
  .sec__our-technology .sec_detail li .unit_head .head_name {
    font-size: clamp(13px, 1.2153vw, 21px);
    letter-spacing: -0.03em; }
  .sec__our-technology .sec_detail li .unit_txt {
    flex-grow: 1;
    font-size: clamp(11px, 1.1574vw, 20px);
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: justify;
    margin-top: min( 1.4205vw, 20px );
    margin-bottom: min( 1.7756vw, 25px ); }
  .sec__our-technology .sec_detail li .btn01 {
    margin-top: auto;
    margin-left: auto; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .sec__our-technology {
    background-color: #FAF8F1;
    width: 100%;
    position: relative; }
    .sec__our-technology .sec_wrap {
      width: 100%;
      position: relative;
      padding: 25.641vw 0 25.641vw; }
    .sec__our-technology .sec_wrap::before {
      content: '';
      background-image: url("../img/top/our-technology_bg_parts01_sp.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 37.1795vw;
      aspect-ratio: 145 / 117;
      position: absolute;
      top: -4.6154vw;
      right: 1.2821vw; }
    .sec__our-technology .sec_wrap::after {
      content: '';
      background-image: url("../img/top/our-technology_bg_parts02_sp.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 31.2821vw;
      aspect-ratio: 122 / 109;
      position: absolute;
      bottom: 25.641vw;
      right: 5.1282vw; }
    .sec__our-technology .contents_wrap {
      width: 89.7436vw; }
    .sec__our-technology .sec_nav {
      width: 100%;
      margin-top: 8.4615vw; }
    .sec__our-technology .sec_nav ul {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-start;
      gap: 2.5641vw; }
    .sec__our-technology .sec_nav li {
      background-color: #fff;
      border-radius: 9999px;
      width: auto;
      height: auto; }
    .sec__our-technology .sec_nav li a {
      display: flex;
      gap: 0 0.3em;
      align-items: center;
      justify-content: center;
      position: relative;
      padding: 2.0513vw 3.0769vw; }
    .sec__our-technology .sec_nav li a::after {
      content: '';
      background: #0D3761;
      width: 10px;
      height: calc(10px / 2 * tan(60deg));
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      /*下向き*/
      display: block; }
    .sec__our-technology .sec_nav li a span {
      color: #0D3761;
      font-size: 2.8205vw;
      letter-spacing: -0.03em; }
    .sec__our-technology .sec_nav li:hover {
      background-color: #0D3761; }
    .sec__our-technology .sec_nav li:hover a::after {
      background: #fff; }
    .sec__our-technology .sec_nav li:hover a span {
      color: #fff; }
    .sec__our-technology .sec_detail {
      width: 100%;
      margin-top: 7.6923vw; }
    .sec__our-technology .sec_detail ul {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 9.4872vw 3.5897vw; }
    .sec__our-technology .sec_detail li {
      width: 100%;
      display: flex;
      flex-direction: column; }
    .sec__our-technology .sec_detail li .unit_img {
      border-radius: 6px;
      width: 100%;
      aspect-ratio: 167 / 131;
      overflow: hidden; }
    .sec__our-technology .sec_detail li .unit_img img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .sec__our-technology .sec_detail li .unit_detail {
      flex-grow: 1;
      width: 100%;
      height: auto;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      padding: 5.1282vw 0 0; }
    .sec__our-technology .sec_detail li .unit_head {
      display: flex;
      flex-direction: column;
      gap: 2.5641vw;
      align-items: flex-start;
      justify-content: flex-start; }
    .sec__our-technology .sec_detail li .unit_head .head_num {
      color: #0D3761;
      font-size: 2.8205vw;
      letter-spacing: 0.05em; }
    .sec__our-technology .sec_detail li .unit_head .head_num span {
      font-size: 3.5897vw;
      letter-spacing: 0.05em; }
    .sec__our-technology .sec_detail li .unit_head .head_name {
      font-size: 3.0769vw;
      letter-spacing: -0.03em; }
    .sec__our-technology .sec_detail li .unit_txt {
      flex-grow: 1;
      font-size: 2.8205vw;
      line-height: 1.727;
      letter-spacing: 0.09em;
      text-align: justify;
      margin-top: 2.5641vw;
      margin-bottom: 3.0769vw; }
    .sec__our-technology .sec_detail li .btn01 {
      margin-top: auto;
      margin-left: auto; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　.page_top #sec__about
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.page_top .sec__about {
  width: 100%;
  position: relative; }
  .page_top .sec__about .sec_wrap {
    width: 100%;
    position: relative;
    padding: min( 8.6806vw, 150px ) 0 0; }
  .page_top .sec__about .look_unit {
    width: 100%;
    display: flex;
    flex-direction: row-reverse; }
  .page_top .sec__about .unit_detail {
    width: 54.5718%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: min( 2.8935vw, 50px ) min( 9.2593vw, 160px ) 0 min( 5.787vw, 100px ); }
  .page_top .sec__about .unit_detail .sec_tit {
    width: 100%; }
  .page_top .sec__about .unit_detail .sec_tit .ja_txt {
    justify-content: flex-start;
    font-size: clamp(20px, 2.0255vw, 35px); }
  .page_top .sec__about .unit_detail .sec_tit .en_txt {
    text-align: left; }
  .page_top .sec__about .unit_detail h3 {
    font-size: clamp(16px, 1.3889vw, 24px);
    line-height: 2;
    letter-spacing: 0.15em;
    margin-top: min( 2.0833vw, 36px ); }
  .page_top .sec__about .unit_detail .unit_txt {
    flex-grow: 1;
    font-size: clamp(14px, 1.0417vw, 18px);
    line-height: 2.5;
    letter-spacing: 0.1em;
    text-align: justify;
    margin-top: min( 1.1574vw, 20px ); }
  .page_top .sec__about .unit_detail .btn02 {
    margin-top: auto;
    margin-left: auto; }
  .page_top .sec__about .unit_img {
    width: 45.4282%; }
  .page_top .sec__about .reason_wrap {
    background-image: url("../img/top/about_bg_pc.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    margin-top: min( 7.5231vw, 130px );
    padding: min( 7.8704vw, 136px ) 0; }
  .page_top .sec__about .reason_wrap .sec_tit02 {
    width: min(100% - 40px, 587px);
    margin: auto; }
  .page_top .sec__about .reason_wrap .sec_tit02 .ja_txt {
    font-size: clamp(25px, 2.0255vw, 35px); }
  .page_top .sec__about .reason_wrap .reason_list {
    width: min(100% - 40px, 1408px);
    margin: min( 7.5231vw, 130px ) auto 0; }
  .page_top .sec__about .reason_list ul {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min( 2.3148vw, 40px ); }
  .page_top .sec__about .reason_list li {
    background-color: #fff;
    border: 2px solid #0D3761;
    border-radius: 5px;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: min( 1.7361vw, 30px ) min( 1.7361vw, 30px ) min( 2.8935vw, 50px ); }
  .page_top .sec__about .reason_list li .unit_img {
    border-radius: 5px;
    width: 100%;
    aspect-ratio: 360 / 217;
    overflow: hidden; }
  .page_top .sec__about .reason_list li .unit_img img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .page_top .sec__about .reason_list li .unit_detail {
    flex-grow: 1;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: min( 2.0255vw, 35px ) 0 0; }
  .page_top .sec__about .reason_list li .unit_head {
    display: flex;
    gap: 0 min( 1.1574vw, 20px );
    align-items: center;
    justify-content: center;
    margin-top: 0; }
  .page_top .sec__about .reason_list li .unit_head .head_num {
    color: #0D3761;
    font-size: clamp(16px, 1.7361vw, 30px);
    font-weight: 800;
    letter-spacing: -0.03em; }
  .page_top .sec__about .reason_list li .unit_head .head_name {
    font-size: clamp(12px, 1.1574vw, 20px);
    letter-spacing: 0.08em; }
  .page_top .sec__about .reason_list li .unit_txt {
    flex-grow: 1;
    font-size: clamp(12px, 1.1574vw, 20px);
    line-height: 1.6;
    letter-spacing: 0.08em;
    text-align: justify;
    margin-top: min( 1.1574vw, 20px ); }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .page_top .sec__about {
    width: 100%;
    position: relative;
    /*look_unit*/
    /*reason_wrap*/ }
    .page_top .sec__about .sec_wrap {
      width: 100%;
      position: relative;
      padding: 0 0 0; }
    .page_top .sec__about .look_unit {
      width: 100%;
      display: flex;
      flex-direction: column-reverse; }
    .page_top .sec__about .unit_detail {
      width: 79.4872vw;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      margin: auto;
      padding: 12.8205vw 0 0; }
    .page_top .sec__about .unit_detail .sec_tit {
      width: 100%; }
    .page_top .sec__about .unit_detail .sec_tit .ja_txt {
      justify-content: flex-start;
      font-size: 4.8718vw; }
    .page_top .sec__about .unit_detail .sec_tit .en_txt {
      text-align: left; }
    .page_top .sec__about .unit_detail h3 {
      font-size: 3.5897vw;
      line-height: 2;
      letter-spacing: 0.15em;
      margin-top: 5.1282vw; }
    .page_top .sec__about .unit_detail .unit_txt {
      flex-grow: 1;
      font-size: 3.0769vw;
      line-height: 2;
      letter-spacing: 0.09em;
      text-align: justify;
      margin-top: 3.0769vw; }
    .page_top .sec__about .unit_detail .btn02 {
      margin-top: 5.1282vw;
      margin-left: auto; }
    .page_top .sec__about .unit_img {
      width: 100%; }
    .page_top .sec__about .reason_wrap {
      background-image: url("../img/top/about_bg_sp.jpg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center top;
      width: 100%;
      margin-top: 12.8205vw;
      padding: 25.641vw 0; }
    .page_top .sec__about .reason_wrap .sec_tit02 {
      width: 79.4872vw;
      margin: auto; }
    .page_top .sec__about .reason_wrap .sec_tit02 .ja_txt {
      font-size: 4.6154vw; }
    .page_top .sec__about .reason_wrap .reason_list {
      max-width: 100%;
      width: 79.4872vw;
      margin: 12.8205vw auto 0; }
    .page_top .sec__about .reason_list ul {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(1, 1fr);
      gap: 10.2564vw; }
    .page_top .sec__about .reason_list li {
      background-color: #fff;
      border: 1px solid #0D3761;
      border-radius: 1.2821vw;
      width: 100%;
      display: flex;
      flex-direction: column;
      padding: 6.4103vw 6.4103vw 10.2564vw; }
    .page_top .sec__about .reason_list li .unit_img {
      border-radius: 1.2821vw;
      width: 100%;
      aspect-ratio: 260 / 167;
      overflow: hidden; }
    .page_top .sec__about .reason_list li .unit_img img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .page_top .sec__about .reason_list li .unit_detail {
      flex-grow: 1;
      width: 100%;
      height: auto;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 5.1282vw 0 0; }
    .page_top .sec__about .reason_list li .unit_head {
      display: flex;
      gap: 0 1.0256vw;
      align-items: center;
      justify-content: center;
      margin-top: 0; }
    .page_top .sec__about .reason_list li .unit_head .head_num {
      color: #0D3761;
      font-size: 4.1026vw;
      font-weight: 800;
      letter-spacing: -0.03em; }
    .page_top .sec__about .reason_list li .unit_head .head_name {
      font-size: 4.1026vw;
      letter-spacing: 0.08em; }
    .page_top .sec__about .reason_list li .unit_txt {
      flex-grow: 1;
      font-size: 3.0769vw;
      line-height: 2;
      letter-spacing: 0.08em;
      text-align: justify;
      margin-top: 3.8462vw; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　sec__member 組合員一覧　シームレスループ
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.page_top .sec__member {
  width: 100%;
  position: relative;
  /*スライド部分*/
  /* swiper-containerの上下ボーダーアニメーション */
  /* swiper-slideの右ボーダーアニメーション */ }
  .page_top .sec__member .sec_wrap {
    width: 100%;
    position: relative;
    padding: min( 8.6806vw, 150px ) 0 min( 5.787vw, 100px ); }
  .page_top .sec__member .member_slide {
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden;
    margin-top: min( 5.787vw, 100px ); }
  .page_top .sec__member .member_slide::before,
  .page_top .sec__member .member_slide::after {
    content: '';
    background-color: #000;
    position: absolute;
    z-index: 1; }
  .page_top .sec__member .is-view.member_slide::before {
    width: 0;
    height: 2px;
    top: 0;
    left: 0;
    animation: expandWidth 2s ease forwards; }
  .page_top .sec__member .is-view.member_slide::after {
    width: 0;
    height: 2px;
    bottom: 0;
    left: 0;
    animation: expandWidth 2s ease forwards; }
  .page_top .sec__member ul.grid-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    position: relative;
    margin: 0;
    padding: 0;
    transition-timing-function: linear;
    /*シームレススライド*/ }
  .page_top .sec__member li.swiper-slide {
    flex-shrink: 0;
    width: min( 22.5116vw, 389px );
    height: auto;
    position: relative;
    padding: min( 1.1574vw, 20px ) min( 1.5046vw, 26px ); }
  .page_top .sec__member .is-view .swiper-slide::after {
    content: '';
    background-color: #000;
    width: 2px;
    height: 0;
    position: absolute;
    top: 0;
    right: 0;
    animation: expandHeight 1s ease forwards;
    animation-delay: 1s; }
  .page_top .sec__member .main_img {
    border-radius: 22px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 337 / 421;
    position: relative; }
  .page_top .sec__member .main_img .box-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    animation: fadeIn 1s forwards;
    animation-delay: 2s; }
  .page_top .sec__member .logo_img {
    width: 100%;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: min( 0.5787vw, 10px ); }
  .page_top .sec__member .img_inner {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center; }
  .page_top .sec__member .logo_img .box-image {
    max-width: min( 11.5741vw, 200px );
    width: auto;
    height: auto;
    /*max-height: 50px;*/
    opacity: 0;
    animation: fadeIn 1s forwards;
    animation-delay: 2s; }
  .page_top .sec__member .btn02 {
    width: min( 28.5016vw, 350px );
    margin: min( 5.787vw, 100px ) auto 0; }
  .page_top .sec__member .btn02 a {
    padding: min( 1.7361vw, 30px ) min( 1.1574vw, 20px ); }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .page_top .sec__member {
    width: 100%;
    position: relative;
    /*スライド部分*/
    /* swiper-containerの上下ボーダーアニメーション */
    /* swiper-slideの右ボーダーアニメーション */ }
    .page_top .sec__member .sec_wrap {
      width: 100%;
      position: relative;
      padding: 12.8205vw 0 10.2564vw; }
    .page_top .sec__member .member_slide {
      width: 100%;
      height: auto;
      position: relative;
      overflow: hidden;
      margin-top: 12.8205vw; }
    .page_top .sec__member .member_slide::before,
    .page_top .sec__member .member_slide::after {
      content: '';
      background-color: #000;
      position: absolute;
      z-index: 1; }
    .page_top .sec__member .is-view.member_slide::before {
      width: 0;
      height: 1px;
      top: 0;
      left: 0;
      animation: expandWidth 2s ease forwards; }
    .page_top .sec__member .is-view.member_slide::after {
      width: 0;
      height: 1px;
      bottom: 0;
      left: 0;
      animation: expandWidth 2s ease forwards; }
    .page_top .sec__member ul.grid-wrapper {
      width: 100%;
      height: 100%;
      display: flex;
      position: relative;
      margin: 0;
      padding: 0;
      transition-timing-function: linear;
      /*シームレススライド*/ }
    .page_top .sec__member li.swiper-slide {
      flex-shrink: 0;
      width: 62.0513vw;
      height: auto;
      position: relative;
      padding: 5.1282vw 5.1282vw; }
    .page_top .sec__member .is-view .swiper-slide::after {
      content: '';
      background-color: #000;
      width: 1px;
      height: 0;
      position: absolute;
      top: 0;
      right: 0;
      animation: expandHeight 1s ease forwards;
      animation-delay: 1s; }
    .page_top .sec__member .main_img {
      border-radius: 3.5897vw;
      overflow: hidden;
      width: 100%;
      aspect-ratio: 337 / 421;
      position: relative; }
    .page_top .sec__member .main_img .box-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      animation: fadeIn 1s forwards;
      animation-delay: 2s; }
    .page_top .sec__member .logo_img {
      width: 100%;
      height: 60px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-top: 2.5641vw; }
    .page_top .sec__member .img_inner {
      width: 100%;
      height: auto;
      display: flex;
      align-items: center;
      justify-content: center; }
    .page_top .sec__member .logo_img .box-image {
      max-width: 30.7692vw;
      width: auto;
      height: auto;
      /*max-height: 50px;*/
      opacity: 0;
      animation: fadeIn 1s forwards;
      animation-delay: 2s; }
    .page_top .sec__member .btn02 {
      width: 51.2821vw;
      margin: 12.8205vw auto 0; }
    .page_top .sec__member .btn02 a {
      padding: min( 5.1282vw, 20px ) min( 2.5641vw, 10px ); }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　sec__instagram インスタグラム パーツ化
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.sec__instagram {
  border-top: 2px solid #000;
  width: 100%;
  position: relative;
  /* ドットの配置（下側、外側に配置） */
  /* ドットの基本スタイル */
  /* アクティブなドットのスタイル */ }
  .sec__instagram .sec_wrap {
    width: 100%;
    position: relative;
    padding: min( 8.6806vw, 150px ) 0 min( 5.2083vw, 90px ); }
  .sec__instagram .tit-container {
    width: min(100% - 40px, 1228px);
    margin: auto; }
  .sec__instagram .sec_tit {
    width: 100%;
    position: relative;
    margin: auto;
    padding-left: min( 6.8404vw, 84px ); }
  .sec__instagram .sec_tit::before {
    content: '';
    background-image: url("../img/cmn/instagram_tit_logo.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: min( 5.2117vw, 64px );
    height: min( 5.2117vw, 64px );
    display: block;
    position: absolute;
    top: 0;
    left: 0; }
  .sec__instagram .sec_tit .ja_txt {
    justify-content: flex-start; }
  .sec__instagram .sec_tit .en_txt {
    text-align: left;
    margin-top: min( 0.3257vw, 4px ); }
  .sec__instagram .sec_lead {
    font-size: clamp(14px, 1.0417vw, 18px);
    font-weight: 400;
    line-height: 1.556;
    letter-spacing: 0.05em;
    text-align: justify;
    text-align-last: left;
    margin-top: min( 1.7361vw, 30px ); }
  .sec__instagram .instagram_list_slide {
    width: min(100% - 40px, 1228px);
    position: relative;
    overflow: hidden;
    margin: min( 2.8935vw, 50px ) auto 0;
    padding-bottom: 60px;
    /*ドットの領域確保*/ }
  .sec__instagram .instagram_list_slide .swiper-wrapper {
    width: 100%;
    height: auto; }
  .sec__instagram .instagram_list_slide .swiper-slide {
    width: auto;
    display: flex;
    flex-direction: column;
    gap: min( 4.0717vw, 50px ); }
  .sec__instagram .instagram_list_slide .swiper-slide a {
    display: flex;
    flex-direction: column; }
  .sec__instagram .unit_img {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden; }
  .sec__instagram .box-image {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .sec__instagram .unit_detail {
    width: 100%;
    margin-top: min( 2.0358vw, 25px ); }
  .sec__instagram .unit_name {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: clamp(12px, 1.5472vw, 19px);
    font-weight: 400;
    line-height: 1.263;
    letter-spacing: 0.05em;
    word-break: break-all; }
  .sec__instagram .unit_name::before {
    content: '';
    flex-shrink: 0;
    align-self: flex-start;
    background-image: url("../img/cmn/instagram_name_icon.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: min( 2.443vw, 30px );
    aspect-ratio: 1 / 1;
    display: block;
    margin-right: 0.3em; }
  .sec__instagram .swiper-container .swiper-pagination02 {
    width: 50%;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 20px;
    /* スライダー外側に配置するため、下方向にずらす */
    left: 50%;
    transform: translateX(-50%);
    z-index: 10; }
  .sec__instagram .swiper-container .swiper-pagination02 .swiper-pagination-bullet {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 9999px;
    width: 10px;
    height: 10px;
    margin: 0;
    opacity: 1;
    /* 初期状態は不透明 */
    transition: background-color 0.3s ease; }
  .sec__instagram .swiper-container .swiper-pagination02 .swiper-pagination-bullet-active {
    background-color: #000; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .sec__instagram {
    border-top: 1px solid #000;
    width: 100%;
    position: relative;
    /* ドットの配置（下側、外側に配置） */
    /* ドットの基本スタイル */
    /* アクティブなドットのスタイル */ }
    .sec__instagram .sec_wrap {
      width: 100%;
      position: relative;
      padding: 17.9487vw 0 15.3846vw; }
    .sec__instagram .tit-container {
      width: 79.4872vw;
      margin: auto; }
    .sec__instagram .sec_tit {
      width: 100%;
      position: relative;
      margin: auto;
      padding-left: 13.5897vw; }
    .sec__instagram .sec_tit::before {
      content: '';
      background-image: url("../img/cmn/instagram_tit_logo.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 11.0256vw;
      height: 11.0256vw;
      display: block;
      position: absolute;
      top: 0;
      left: 0; }
    .sec__instagram .sec_tit .ja_txt {
      font-size: 5.1282vw;
      justify-content: flex-start; }
    .sec__instagram .sec_tit .en_txt {
      text-align: left;
      margin-top: 2.5641vw; }
    .sec__instagram .sec_lead {
      font-size: 2.8205vw;
      font-weight: 400;
      line-height: 2;
      letter-spacing: 0.05em;
      text-align: justify;
      text-align-last: left;
      margin-top: 5.1282vw; }
    .sec__instagram .instagram_list_slide {
      width: 79.4872vw;
      position: relative;
      overflow: hidden;
      margin: 7.1795vw auto 0;
      padding-bottom: 60px;
      /*ドットの領域確保*/ }
    .sec__instagram .instagram_list_slide .swiper-wrapper {
      width: 100%; }
    .sec__instagram .instagram_list_slide .swiper-slide {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      /*grid-template-columns: repeat(3, minmax(280px, 1fr));*/
      gap: 5.1282vw 1.5385vw; }
    .sec__instagram .instagram_list_slide .swiper-slide a {
      display: flex;
      flex-direction: column; }
    .sec__instagram .unit_img {
      width: 100%;
      aspect-ratio: 1 / 1;
      overflow: hidden; }
    .sec__instagram .box-image {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    .sec__instagram .unit_detail {
      width: 100%;
      margin-top: 3.0769vw; }
    .sec__instagram .unit_name {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      font-size: 2.5641vw;
      font-weight: 400;
      line-height: 2;
      letter-spacing: 0.05em;
      word-break: break-all; }
    .sec__instagram .unit_name::before {
      content: '';
      flex-shrink: 0;
      align-self: flex-start;
      background-image: url("../img/cmn/instagram_name_icon.svg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 4.1026vw;
      aspect-ratio: 1 / 1;
      display: block;
      margin-top: 0.2em;
      margin-right: 0.3em; }
    .sec__instagram .swiper-container .swiper-pagination02 {
      width: 50%;
      display: flex;
      gap: 10px;
      align-items: center;
      justify-content: center;
      position: absolute;
      bottom: 25px;
      /* スライダー外側に配置するため、下方向にずらす */
      left: 50%;
      transform: translateX(-50%);
      z-index: 10; }
    .sec__instagram .swiper-container .swiper-pagination02 .swiper-pagination-bullet {
      background-color: #fff;
      border: 1px solid #000;
      border-radius: 9999px;
      width: 10px;
      height: 10px;
      margin: 0;
      opacity: 1;
      /* 初期状態は不透明 */
      transition: background-color 0.3s ease; }
    .sec__instagram .swiper-container .swiper-pagination02 .swiper-pagination-bullet-active {
      background-color: #000; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　.sec__contact お問い合わせリンク パーツ化
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.sec__contact {
  border-top: 2px solid #000;
  width: 100%;
  position: relative; }
  .sec__contact .sec_wrap {
    background-color: #D9D9D9;
    width: 100%;
    position: relative;
    padding: min( 5.787vw, 100px ) 0; }
  .sec__contact .sec_tit .ja_txt {
    font-size: clamp(30px, 2.3148vw, 40px);
    letter-spacing: 0.10em;
    text-indent: 0.10em; }
  .sec__contact .sec_lead {
    text-align: center;
    text-align-last: center;
    text-indent: 0.1em;
    margin: min( 4.0509vw, 70px ) auto 0; }
  .sec__contact .btn01 {
    width: min( 21.0098vw, 258px );
    margin: 5.7003vw auto 0; }
  .sec__contact .btn01 a {
    padding: min( 1.0417vw, 18px ) min( 0.5787vw, 10px ); }
  .sec__contact .btn01 a span {
    font-size: clamp(14px, 1.1574vw, 20px); }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .sec__contact {
    border-top: 1px solid #000;
    width: 100%;
    position: relative; }
    .sec__contact .sec_wrap {
      background-color: #D9D9D9;
      width: 100%;
      position: relative;
      padding: 17.9487vw 0; }
    .sec__contact .sec_tit .ja_txt {
      font-size: 5.641vw;
      letter-spacing: 0.10em;
      text-indent: 0.10em; }
    .sec__contact .sec_tit .en_txt {
      font-size: 3.5897vw;
      margin-top: 2.5641vw; }
    .sec__contact .sec_lead {
      text-align: center;
      text-align-last: center;
      text-indent: 0.1em;
      margin: 12.8205vw auto 0; }
    .sec__contact .btn01 {
      width: 36.1538vw;
      margin: 15.3846vw auto 0; }
    .sec__contact .btn01 a {
      padding: 2.0513vw 1.0256vw; }
    .sec__contact .btn01 a span {
      font-size: 2.8205vw; }

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

/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .sec_footer {
    width: 100%;
    position: relative; } }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　footer01_wrap
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.footer01_wrap {
  border-top: 2px solid #000;
  width: 100%;
  position: relative;
  /*map_wrap*/
  /*footer_link*/
  /* 一番最初と折り返した最初の<li>の区切りを非表示（JS） */
  /*company_info*/ }
  .footer01_wrap .footer_inner {
    width: 100%;
    padding: min( 5.787vw, 100px ) 0; }
  .footer01_wrap .map_wrap {
    width: min( 71.0648vw, 1228px );
    height: auto;
    aspect-ratio: 1228 / 360;
    margin: auto; }
  .footer01_wrap .map_wrap iframe {
    width: 100%;
    height: 100%; }
  .footer01_wrap .footer_link {
    width: min(100% - 40px, 1228px);
    font-size: clamp(16px, 1.1574vw, 20px);
    line-height: 2;
    letter-spacing: 0.07em;
    margin: min( 2.8935vw, 50px ) auto 0; }
  .footer01_wrap .footer_link .link_group {
    width: 100%; }
  .footer01_wrap .footer_link .link_group + .link_group {
    margin-top: min( 1.6287vw, 20px ); }
  .footer01_wrap .footer_link .link_group .group_head a:hover {
    text-decoration: underline; }
  .footer01_wrap .footer_link .link_group.ver02 {
    width: 100%;
    display: flex; }
  .footer01_wrap .footer_link .group_head {
    flex-shrink: 0;
    width: min( 14.658vw, 180px ); }
  .footer01_wrap .footer_link ul.group_menu {
    width: 100%;
    display: flex;
    gap: min( 0.8143vw, 10px ) 0;
    flex-wrap: wrap; }
  .footer01_wrap .footer_link li {
    position: relative;
    display: flex;
    align-items: center; }
  .footer01_wrap .footer_link li::before {
    content: '';
    background-color: #000;
    width: 1px;
    height: 46%;
    display: block;
    margin: 0 min( 3.2573vw, 40px ); }
  .footer01_wrap .footer_link li:first-child::before,
  .footer01_wrap .footer_link li.new-line::before {
    content: none !important; }
  .footer01_wrap .footer_link li a:hover {
    text-decoration: underline; }
  .footer01_wrap .company_info {
    width: min(100% - 40px, 1228px);
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    font-size: clamp(14px, 1.6287vw, 20px);
    line-height: 1.5;
    letter-spacing: 0.07em;
    margin: min( 2.8935vw, 50px ) auto 0; }
  .footer01_wrap .footer_logo {
    flex-shrink: 0;
    width: min( 30.2932vw, 372px );
    min-width: min( 26.0586vw, 320px ); }
  .footer01_wrap .footer_logo a {
    display: flex; }
  .footer01_wrap .info_detail .address {
    margin-top: 0.5em; }
  .footer01_wrap .info_detail .address span {
    display: inline-block; }
  .footer01_wrap .info_detail .address span + span {
    margin-left: 1em; }
  .footer01_wrap .info_detail .contact_num {
    display: flex;
    gap: 0 3em;
    margin-top: 0.5em; }
  .footer01_wrap .info_detail .contact_num dl {
    display: flex;
    gap: 0 0.5em;
    align-items: center; }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .footer01_wrap {
    border-top: 1px solid #000;
    width: 100%;
    position: relative;
    /*map_wrap*/
    /*footer_link*/
    /* 一番最初と折り返した最初の<li>の区切りを非表示（JS） */
    /*company_info*/ }
    .footer01_wrap .footer_inner {
      width: 100%;
      padding: 0 0 10.2564vw; }
    .footer01_wrap .map_wrap {
      border-bottom: 1px solid #000;
      width: 100%;
      height: auto;
      aspect-ratio: 390 / 256;
      margin: auto; }
    .footer01_wrap .map_wrap iframe {
      width: 100%;
      height: 100%; }
    .footer01_wrap .footer_link {
      width: 79.4872vw;
      font-size: 3.5897vw;
      line-height: 1.5;
      letter-spacing: 0.07em;
      margin: 12.8205vw auto 0; }
    .footer01_wrap .footer_link .link_group {
      width: 100%; }
    .footer01_wrap .footer_link .link_group + .link_group {
      margin-top: 5.1282vw; }
    .footer01_wrap .footer_link .link_group .group_head a:hover {
      text-decoration: underline; }
    .footer01_wrap .footer_link .link_group.ver02 {
      width: 100%;
      display: flex;
      gap: 3.0769vw;
      flex-direction: column; }
    .footer01_wrap .footer_link .group_head {
      flex-shrink: 0;
      width: 100%; }
    .footer01_wrap .footer_link ul.group_menu {
      width: 100%;
      display: flex;
      gap: 3.0769vw 0;
      flex-wrap: wrap; }
    .footer01_wrap .footer_link li {
      width: 100%;
      position: relative;
      display: flex;
      align-items: center;
      font-size: 3.0769vw;
      line-height: 1.75; }
    .footer01_wrap .footer_link li::before {
      content: '＞';
      background-color: inherit;
      width: 20px;
      height: auto;
      display: block;
      margin: 0; }
    .footer01_wrap .footer_link li:first-child::before,
    .footer01_wrap .footer_link li.new-line::before {
      content: '＞' !important; }
    .footer01_wrap .footer_link li a:hover {
      text-decoration: underline; }
    .footer01_wrap .company_info {
      width: 79.4872vw;
      display: flex;
      flex-direction: column;
      gap: 5.1282vw;
      align-items: center;
      justify-content: space-between;
      font-size: 3.0769vw;
      line-height: 2;
      letter-spacing: 0.07em;
      margin: 12.8205vw auto 0; }
    .footer01_wrap .footer_logo {
      flex-shrink: 0;
      width: 73.0769vw;
      min-width: 100%; }
    .footer01_wrap .footer_logo a {
      display: flex;
      justify-content: center; }
    .footer01_wrap .info_detail .address {
      margin-top: 0.5em; }
    .footer01_wrap .info_detail .address span {
      display: inline-block; }
    .footer01_wrap .info_detail .address span + span {
      margin-left: 1em; }
    .footer01_wrap .info_detail .contact_num {
      display: flex;
      flex-direction: column;
      gap: 0.5em 0;
      margin-top: 0.5em; }
    .footer01_wrap .info_detail .contact_num dl {
      display: flex;
      gap: 0 0.5em;
      align-items: center; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　footer02_wrap
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* PC 表示
--------------------------------------------------------- */
.footer02_wrap {
  background-color: #FAF8F1;
  border-top: 2px solid #000;
  width: 100%;
  padding: 20px 0; }
  .footer02_wrap .footer_inner {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: auto; }
  .footer02_wrap .copy_right {
    display: flex;
    gap: 0 0.2em;
    align-items: center;
    font-size: clamp(12px, 0.9259vw, 16px);
    font-weight: 500;
    letter-spacing: 0.12em; }
  .footer02_wrap .copy_right span {
    display: inline-block;
    font-size: clamp(14px, 1.0417vw, 18px); }

/**/
/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  .footer02_wrap {
    background-color: #FAF8F1;
    border-top: 1px solid #000;
    width: 100%;
    padding: 18px 0; }
    .footer02_wrap .footer_inner {
      max-width: 100%;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: auto; }
    .footer02_wrap .copy_right {
      display: flex;
      gap: 0 0.2em;
      align-items: center;
      font-size: 2.5641vw;
      font-weight: 500;
      letter-spacing: 0.05em; }
    .footer02_wrap .copy_right span {
      display: inline-block;
      font-size: 3.0769vw; }

  /**/ }
/*スマホ 表示 end*/
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　ページアンカー
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
/* ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
＊
＊
＊　
＊
＊
＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */
#sb_instagram .sbi_link {
  background: rgba(255, 255, 255, 0) !important;
  opacity: 1 !important; }

#sb_instagram .sbi_photo_wrap:hover .sbi_link {
  background: rgba(255, 255, 255, 0) !important; }

#sb_instagram .sbi_photo_wrap {
  padding-bottom: 60px !important; }

#sb_instagram .sbi_hover_top {
  width: 100% !important;
  bottom: 6px !important; }

#sb_instagram .sbi_username {
  height: 40px !important;
  font-size: clamp(12px, 1.0995vw, 19px) !important;
  font-weight: 400 !important;
  line-height: 1.263 !important;
  letter-spacing: 0.05em !important;
  word-break: break-all !important; }

#sb_instagram .sbi_username a {
  color: #000 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative; }

#sb_instagram .sbi_username a::before {
  content: '';
  flex-shrink: 0;
  align-self: flex-start;
  background-image: url("../img/cmn/instagram_name_icon.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: min( 1.7361vw, 30px );
  aspect-ratio: 1 / 1;
  display: block;
  margin-right: 0.3em; }

/* スマホ 表示
--------------------------------------------------------- */
@media all and (max-width: 768px) {
  #sb_instagram .sbi_username a {
    font-size: 2.5641vw;
    line-height: 2; }

  #sb_instagram .sbi_username a::before {
    width: 4.1026vw; } }
/*スマホ 表示 end*/
