@charset "utf-8";

/* CSS関数設定 */
:root {
  /* カラーパレット --color-  */
  --c-white: #FFFFFF;
  --c-white-op50: rgba(255, 255, 255, 0.5);
  --c-black: #404040;
  --c-black-op50: rgba(0, 0, 0, 0.5);

  --c-gray-100: #F5F5F5;
  --c-gray-200: #DEDEDE;
  --c-gray-300: #A7A7A7;

  /* サイトカラー */
  --c-navy: #3261A8;
  --c-bg-navy: #F3F6FA;
  --c-green: #4BB29C;
  --c-green-off: #C7E3DD;
  --c-bg-green: #F3FBF9;
  --c-pink: #F07272;
  --c-pink-off: #F7D2D0;
  --c-bg-pink: #FEF7F7;
  --c-blue: #5385E3;
  --c-blue-off: #CCD6F3;
  --c-bg-blue: #F5F8FE;
  --c-purple: #867ABC;
  --c-purple-off: #D4D3EC;
  --c-bg-purple: #F8F7FB;
  --c-orange: #F4B400;
  --c-beige: #F3E9E0;
  --c-gray: #6C6C6C;
  --c-dark-gray: #363636;
  --c-star: #EFD300;

  /* テキストカラー --text-color- */
  --txt-c-base: var(--c-black);
  --txt-c-white: var(--c-white);
  --txt-c-addon: var(--c-gray-300);
  --txt-c-emphasis: var(--c-navy);

  /* ボーダーカラー --border-color- */
  --bd-c-gray: var(--c-navy);

  /* 背景カラー --background-color- */
  --bg-c-gray: var(--c-gray-100);

  /* ランキングカラー --ranking-color */
  --ranking-c-1st: #BA9700;
  --ranking-c-2nd: #A7A7A7;
  --ranking-c-3rd: #B75400;
  --ranking-c-other: #002C1B;

  /* 共通角丸 --border-radius- */
  --bdrs-sm: 5px;
  --bdrs-md: 10px;
  --bdrs-lg: 20px;

  /* 共通ボックス影 --box-shadow- */
  --bxsd-default: 0px 0px 15px -5px var(--bg-c-gray);
  --bxsd-bottom: 0px 5px 15px -5px var(--bg-c-gray);

  /* ベース文字間隔 --letter-spacing */
  --ls-default: 0.1em;

  /* フォント --font-family- */
  --ff-base: "Noto Sans JP", serif;
  --ff-noto-serif: "Noto Serif JP", serif;
  --ff-zen: "Zen Kaku Gothic New", sans-serif;


  /* 英数字フォント --font-family- */
  --ff-en: var(--ff-base);
  --ff-num: var(--ff-base);

  /* フォントウェイト --font-weight- */
  --fw-base: 400;

  /* アニメーション */
  --anime-fade-in: fadeIn .5s ease-in-out 0s forwards;
  --anime-fade-out: fadeOut .5s ease-in-out 0s forwards;

  /* フォントサイズ --font-size */
  --fz-9: clamp(8px, 0.8vw, 9px);
  --fz-10: clamp(8px, 0.8vw, 10px);
  --fz-11: clamp(10px, 1.1vw, 11px);
  --fz-12: clamp(10px, 1.1vw, 12px);
  --fz-13: clamp(11px, 1vw, 13px);
  --fz-14: clamp(12px, 1.2vw, 14px);
  --fz-15: clamp(13px, 1.4vw, 15px);
  --fz-16: clamp(14px, 1.5vw, 16px);
  --fz-18: clamp(15px, 1.6vw, 18px);
  --fz-20: clamp(16px, 1.8vw, 20px);
  --fz-22: clamp(18px, 2vw, 22px);
  --fz-25: clamp(20px, 2vw, 25px);
  --fz-28: clamp(22px, 2.5vw, 28px);
  --fz-30: clamp(25px, 3vw, 30px);
  --fz-35: clamp(25px, 3vw, 35px);
  --fz-38: clamp(30px, 3.5vw, 38px);
  --fz-40: clamp(30px, 3.5vw, 40px);
  --fz-43: clamp(30px, 4vw, 43px);
  --fz-46: clamp(32px, 4vw, 46px);
  --fz-50: clamp(35px, 4vw, 50px);
  --fz-55: clamp(38px, 4.5vw, 55px);
  --fz-60: clamp(40px, 5vw, 60px);
  --fz-70: clamp(50px, 6vw, 70px);
  --fz-14-const: 14px;
  --fz-15-const: 15px;

  --fz-xs: var(--fz-10);
  /* extra small */
  --fz-ss: var(--fz-12);
  /* super small */
  --fz-sm: var(--fz-14);
  /* small */
  --fz-md: var(--fz-16);
  /* medium */
  --fz-lg: var(--fz-25);
  /* large */
  --fz-xl: var(--fz-38);
  /* extra large */
  --fz-xxl: var(--fz-50);
  /* double extra large */

  /* ブロック間 --space */
  --spc-5: clamp(3px, 1.1vw, 5px);
  --spc-10: clamp(5px, 1.1vw, 10px);
  --spc-15: clamp(10px, 1.2vw, 15px);
  --spc-20: clamp(15px, 1.7vw, 20px);
  --spc-25: clamp(15px, 1.7vw, 25px);
  --spc-35: clamp(20px, 2.5vw, 35px);
  --spc-30: clamp(20px, 2.5vw, 30px);
  --spc-40: clamp(30px, 3.5vw, 40px);
  --spc-50: clamp(30px, 3.5vw, 50px);
  --spc-60: clamp(40px, 4.5vw, 60px);
  --spc-65: clamp(50px, 5.5vw, 65px);
  --spc-75: clamp(60px, 6.5vw, 75px);
  --spc-80: clamp(50px, 5.5vw, 80px);
  --spc-90: clamp(60px, 6.5vw, 90px);
  --spc-100: clamp(70px, 7.5vw, 100px);

  --spc-xs: var(--spc-10);
  /* extra small */
  --spc-ss: var(--spc-15);
  /* super small */
  --spc-sm: var(--spc-20);
  /* small */
  --spc-md: var(--spc-30);
  /* medium */
  --spc-lg: var(--spc-50);
  /* large */
  --spc-xl: var(--spc-80);
  /* extra large */
  --spc-xxl: var(--spc-100);
  /* double extra large */


  /* PCマックス幅 --pc-max-width */
  --pc-maw: var(--pc-maw-md);
  --pc-maw-ss: 800px;
  --pc-maw-sm: 1000px;
  --pc-maw-md: 1200px;
  --pc-maw-lg: 1440px;

  /* 親要素を超えて幅100% */
  --full-width: calc(50% - 50vw);

  /* セクション間隔半分 --section-space */
  --sec-spc-half: calc(var(--sec-spc) / 2);

  /* アイコン */
  --icon-map: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDcuMi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjYgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTU3NiAxMTJDNTc2IDEwMC45IDU3MC4zIDkwLjYgNTYwLjggODQuOEM1NTEuMyA3OSA1MzkuNiA3OC40IDUyOS43IDgzLjRMNDEzLjUgMTQxLjVMMjM0LjEgODEuNkMyMjYgNzguOSAyMTcuMyA3OS41IDIwOS43IDgzLjNMODEuNyAxNDcuM0M3MC44IDE1Mi44IDY0IDE2My45IDY0IDE3Nkw2NCA1MjhDNjQgNTM5LjEgNjkuNyA1NDkuNCA3OS4yIDU1NS4yQzg4LjcgNTYxIDEwMC40IDU2MS42IDExMC4zIDU1Ni42TDIyNi40IDQ5OC41TDM5OS43IDU1Ni4zQzM5NS40IDU0OS45IDM5MS4yIDU0My4yIDM4Ny4xIDUzNi40QzM3Ni4xIDUxOC4xIDM2NS4yIDQ5Ny4xIDM1Ny4xIDQ3NC42TDI1NS45IDQ0MC45TDI1NS45IDE1Ni40TDM4My45IDE5OS4xTDM4My45IDI5OC40QzQxNC45IDI2Mi42IDQ2MC45IDI0MCA1MTEuOSAyNDBDNTM0LjUgMjQwIDU1Ni4xIDI0NC40IDU3NS45IDI1Mi41TDU3NiAxMTJ6TTUxMiAyODhDNDQ1LjcgMjg4IDM5MiAzNDAuOCAzOTIgNDA1LjlDMzkyIDQ3NC44IDQ1Ni4xIDU1Ni4zIDQ5MC42IDU5NS4yQzUwMi4yIDYwOC4yIDUyMS45IDYwOC4yIDUzMy41IDU5NS4yQzU2OCA1NTYuMyA2MzIuMSA0NzQuOCA2MzIuMSA0MDUuOUM2MzIuMSAzNDAuOCA1NzguNCAyODggNTEyLjEgMjg4ek00NzIgNDA4QzQ3MiAzODUuOSA0ODkuOSAzNjggNTEyIDM2OEM1MzQuMSAzNjggNTUyIDM4NS45IDU1MiA0MDhDNTUyIDQzMC4xIDUzNC4xIDQ0OCA1MTIgNDQ4QzQ4OS45IDQ0OCA0NzIgNDMwLjEgNDcyIDQwOHoiLz48L3N2Zz4=');
  --icon-tel: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDcuMi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjYgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTIyNC4yIDg5QzIxNi4zIDcwLjEgMTk1LjcgNjAuMSAxNzYuMSA2NS40TDE3MC42IDY2LjlDMTA2IDg0LjUgNTAuOCAxNDcuMSA2Ni45IDIyMy4zQzEwNCAzOTguMyAyNDEuNyA1MzYgNDE2LjcgNTczLjFDNDkzIDU4OS4zIDU1NS41IDUzNCA1NzMuMSA0NjkuNEw1NzQuNiA0NjMuOUM1ODAgNDQ0LjIgNTY5LjkgNDIzLjYgNTUxLjEgNDE1LjhMNDUzLjggMzc1LjNDNDM3LjMgMzY4LjQgNDE4LjIgMzczLjIgNDA2LjggMzg3LjFMMzY4LjIgNDM0LjNDMjk3LjkgMzk5LjQgMjQxLjMgMzQxIDIwOC44IDI2OS4zTDI1MyAyMzMuM0MyNjYuOSAyMjIgMjcxLjYgMjAyLjkgMjY0LjggMTg2LjNMMjI0LjIgODl6Ii8+PC9zdmc+');
  --icon-fax: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDcuMi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjYgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTIyNCAxMjhMMjI0IDIwOEwyODggMjA4TDI4OCAxMjhMNDM0LjcgMTI4TDQ4MCAxNzMuM0w0ODAgMjA4TDU0NCAyMDhMNTQ0IDE3My4zQzU0NCAxNTYuMyA1MzcuMyAxNDAgNTI1LjMgMTI4TDQ4MCA4Mi43QzQ2OCA3MC43IDQ1MS43IDY0IDQzNC43IDY0TDI4OCA2NEMyNTIuNyA2NCAyMjQgOTIuNyAyMjQgMTI4ek05NiAxOTJDNzguMyAxOTIgNjQgMjA2LjMgNjQgMjI0TDY0IDUxMkM2NCA1MjkuNyA3OC4zIDU0NCA5NiA1NDRMMTQ0IDU0NEMxNjEuNyA1NDQgMTc2IDUyOS43IDE3NiA1MTJMMTc2IDIyNEMxNzYgMjA2LjMgMTYxLjcgMTkyIDE0NCAxOTJMOTYgMTkyek01NDQgMjU2TDIyNCAyNTZMMjI0IDUxMkMyMjQgNTI5LjcgMjM4LjMgNTQ0IDI1NiA1NDRMNTQ0IDU0NEM1NjEuNyA1NDQgNTc2IDUyOS43IDU3NiA1MTJMNTc2IDI4OEM1NzYgMjcwLjMgNTYxLjcgMjU2IDU0NCAyNTZ6TTI4OCAzNTJDMjg4IDMzOC43IDI5OC43IDMyOCAzMTIgMzI4QzMyNS4zIDMyOCAzMzYgMzM4LjcgMzM2IDM1MkMzMzYgMzY1LjMgMzI1LjMgMzc2IDMxMiAzNzZDMjk4LjcgMzc2IDI4OCAzNjUuMyAyODggMzUyek0yODggNDQ4QzI4OCA0MzQuNyAyOTguNyA0MjQgMzEyIDQyNEMzMjUuMyA0MjQgMzM2IDQzNC43IDMzNiA0NDhDMzM2IDQ2MS4zIDMyNS4zIDQ3MiAzMTIgNDcyQzI5OC43IDQ3MiAyODggNDYxLjMgMjg4IDQ0OHpNNDAwIDMyOEM0MTMuMyAzMjggNDI0IDMzOC43IDQyNCAzNTJDNDI0IDM2NS4zIDQxMy4zIDM3NiA0MDAgMzc2QzM4Ni43IDM3NiAzNzYgMzY1LjMgMzc2IDM1MkMzNzYgMzM4LjcgMzg2LjcgMzI4IDQwMCAzMjh6TTM3NiA0NDhDMzc2IDQzNC43IDM4Ni43IDQyNCA0MDAgNDI0QzQxMy4zIDQyNCA0MjQgNDM0LjcgNDI0IDQ0OEM0MjQgNDYxLjMgNDEzLjMgNDcyIDQwMCA0NzJDMzg2LjcgNDcyIDM3NiA0NjEuMyAzNzYgNDQ4ek00ODggMzI4QzUwMS4zIDMyOCA1MTIgMzM4LjcgNTEyIDM1MkM1MTIgMzY1LjMgNTAxLjMgMzc2IDQ4OCAzNzZDNDc0LjcgMzc2IDQ2NCAzNjUuMyA0NjQgMzUyQzQ2NCAzMzguNyA0NzQuNyAzMjggNDg4IDMyOHpNNDY0IDQ0OEM0NjQgNDM0LjcgNDc0LjcgNDI0IDQ4OCA0MjRDNTAxLjMgNDI0IDUxMiA0MzQuNyA1MTIgNDQ4QzUxMiA0NjEuMyA1MDEuMyA0NzIgNDg4IDQ3MkM0NzQuNyA0NzIgNDY0IDQ2MS4zIDQ2NCA0NDh6Ii8+PC9zdmc+');
  --icon-arrow-btn: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTYyLjE4IDMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtMy41NyAzLjU3YzQuNzYtNC43NiAxMi40Ny00Ljc2IDE3LjIzIDBsMTM3LjgyIDEzNy44MmM0Ljc2IDQuNzYgNC43NiAxMi40NyAwIDE3LjIzbC0xMzcuODIgMTM3LjgxYy00Ljc2IDQuNzYtMTIuNDcgNC43Ni0xNy4yMyAwcy00Ljc2LTEyLjQ3IDAtMTcuMjNsMTI5LjItMTI5LjItMTI5LjItMTI5LjJjLTQuNzYtNC43Ni00Ljc2LTEyLjQ3IDAtMTcuMjN6IiBmaWxsPSIjM2YzYjM3Ii8+PC9zdmc+');
  --icon-search: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMy42OTEiIGhlaWdodD0iMjMuNjkxIiB2aWV3Qm94PSIwIDAgMjMuNjkxIDIzLjY5MSI+CiAgPHBhdGggaWQ9InNlYXJjaF9GSUxMMF93Z2h0MTAwX0dSQUQwX29wc3oyNCIgZD0iTTE4NC45NDYtNzc2LjMwOWwtOS4zMTMtOS4zMTNhOC4wMjYsOC4wMjYsMCwwLDEtMi41NywxLjQ5LDguNDUxLDguNDUxLDAsMCwxLTIuODY4LjUyMiw3LjkxNCw3LjkxNCwwLDAsMS01LjgxNS0yLjM3OEE3LjksNy45LDAsMCwxLDE2Mi03OTEuOGE3LjkyNSw3LjkyNSwwLDAsMSwyLjM3OC01LjgxN0E3LjksNy45LDAsMCwxLDE3MC4xODktODAwYTcuOTIyLDcuOTIyLDAsMCwxLDUuODE3LDIuMzgsNy45LDcuOSwwLDAsMSwyLjM4NCw1LjgxNSw4LjIzNSw4LjIzNSwwLDAsMS0uNTU5LDIuOTgsNy45NTQsNy45NTQsMCwwLDEtMS40NTMsMi40NTlsOS4zMTMsOS4zMTNaTTE3MC4yLTc4NC42NTNhNi45MTEsNi45MTEsMCwwLDAsNS4wODUtMi4wNjcsNi45MSw2LjkxLDAsMCwwLDIuMDY3LTUuMDg1LDYuOTEsNi45MSwwLDAsMC0yLjA2Ny01LjA4NCw2LjkxLDYuOTEsMCwwLDAtNS4wODUtMi4wNjgsNi45MSw2LjkxLDAsMCwwLTUuMDg1LDIuMDY4LDYuOTEsNi45MSwwLDAsMC0yLjA2Nyw1LjA4NCw2LjkxMSw2LjkxMSwwLDAsMCwyLjA2Nyw1LjA4NUE2LjkxMSw2LjkxMSwwLDAsMCwxNzAuMi03ODQuNjUzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE2MiA4MDApIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPg==');
  --icon-triangle: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MSIgaGVpZ2h0PSIzNSIgdmlld0JveD0iMCAwIDcxIDM1Ij4KICA8cGF0aCBpZD0i5aSa6KeS5b2iXzgiIGRhdGEtbmFtZT0i5aSa6KeS5b2iIDgiIGQ9Ik0zNS41LDAsNzEsMzVIMFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcxIDM1KSByb3RhdGUoMTgwKSIgZmlsbD0iIzg5ODk4OSIvPgo8L3N2Zz4=');
}

@media screen and (min-width: 768px) {
  :root {
    /* --inner-width */
    --inner-w: 95%;
    /* --section-space */
    --sec-spc: clamp(70px, 8vw, 100px);
  }
}

@media screen and (max-width: 767px) {
  :root {
    --inner-w: 90%;
    --sec-spc: 50px;
  }
}

/* フェードインアニメーション */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

/* リセットCSS */
* {
  margin: 0;
  padding: 0;
  min-height: 0;
  min-width: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  height: 100%;
  scroll-behavior: smooth;
}

ul li,
ol li {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--fw-base);
  font-size: 100%;
  margin: 0;
}

p {
  margin: 0;
}

strong {
  font-weight: inherit;
}

a:focus,
*:focus {
  outline: none;
}

article,
header,
footer,
aside,
figure,
figcaption,
nav,
section,
main {
  display: block;
}

body {
  font-family: var(--ff-base);
  font-weight: var(--fw-base);
  font-feature-settings: "palt" 1;
  letter-spacing: var(--ls-default);
  width: 100%;
  color: var(--txt-c-base);
  position: relative;
  z-index: 0;
  overflow-x: clip;
}

a {
  text-decoration: none;
  outline: none;
  word-wrap: break-word;
  color: var(--txt-c-base);
}

a img,
a {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s;
}

img {
  height: auto;
  max-width: 100%;
  box-sizing: unset;
  vertical-align: bottom;
}

iframe {
  vertical-align: bottom;
}

.formReset button,
.formReset input[type="button"],
.formReset input[type="submit"],
.formReset input[type="text"],
.formReset input[type="image"],
.formReset select {
  background-color: unset;
  color: var(--txt-c-base);
  -webkit-appearance: none;
  border-radius: 0;
  border: none;
}

.formReset input[type="text"],
.formReset input[type="text"]::placeholder {
  font-family: var(--ff-base);
}

.formReset input[type="text"] {
  color: var(--txt-c-base);
}

.formReset input[type="text"]::placeholder {
  color: var(--txt-c-addon);
}

time {
  font-family: var(--ff-base);
}

/* imgリセット */
.imgauto {
  height: auto;
  width: 100%;
  box-sizing: unset;
  line-height: 1rem;
  display: block;
}

/* セクション間隔*/
.g-mgt {
  margin-top: var(--sec-spc);
}

.g-mgb {
  margin-bottom: var(--sec-spc);
}

.g-pd {
  padding-block: var(--sec-spc);
}

.g-pdt {
  padding-top: var(--sec-spc);
}

.g-pdb {
  padding-bottom: var(--sec-spc);
}

.g-mgt--half {
  margin-top: var(--sec-spc-half);
}

.g-mgb--half {
  margin-bottom: var(--sec-spc-half);
}

.g-pd--half {
  padding-block: var(--sec-spc-half);
}

.g-pdt--half {
  padding-top: var(--sec-spc-half);
}

.g-pdb--half {
  padding-bottom: var(--sec-spc-half);
}

/* グリッド */
.grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-cols, 1), minmax(var(--grid-min-size, 0), 1fr));
  gap: var(--grid-gap, 0);
}

@media screen and (min-width: 768px) {
  .grid {
    --grid-cols: var(--grid-cols-pc, 1);
    --grid-gap: var(--grid-gap-pc, 0);
  }
}

@media screen and (max-width: 767px) {
  .grid {
    --grid-cols: var(--grid-cols-sp, 1);
    --grid-gap: var(--grid-gap-sp, 0);
  }
}

/* スライダー読み込みまで非表示 */
.slick {
  opacity: 0;
  transition: opacity .3s linear;
}

.slick.slick-initialized {
  opacity: 1;
}

.swiper {
  overflow: hidden;
  opacity: 0;
  transition: opacity .3s linear;
}

.swiper.swiper-initialized {
  opacity: 1;
}

/* フォント */
.zen {
  font-family: var(--ff-zen)
}

.serif {
  font-family: var(--ff-noto-serif)
}

/* 縦書き */
.tategaki {
  writing-mode: vertical-rl;
}

/* 文字間 */
::placeholder,
input[type="text"],
[class*="ttl"],
[class*="lead"],
[class*="heading"],
a {
  letter-spacing: var(--ls-default);
}

/* テキスト行間文字間 */
[class*="txt"] {
  letter-spacing: var(--ls-default);
}

/* スクロールバー消す */
.noscrollbar,
.noscrollbar {
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}

.noscrollbar::-webkit-scrollbar,
.noscrollbar::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

/* youtube */
.youtubeContainer iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

/* 改行用 */
.dib {
  display: inline-block;
}

/* 非表示 */
.displaynone {
  display: none;
}

/* 親要素超えて幅100% */
.full-width {
  width: 100vw;
  --oya: calc(50% - 50vw);
  ;
  margin-left: var(--oya);
  margin-right: var(--oya);
}

@media (hover: hover) {

  .formReset button:hover,
  .formReset input[type="button"]:hover,
  .formReset input[type="submit"]:hover,
  .formReset input[type="image"]:hover,
  .formReset select:hover {
    cursor: pointer;
  }

  a:hover {
    opacity: 0.7;
    text-decoration: none;
  }

  a:hover img {
    opacity: 0.75 !important;
  }
}

html.no-smooth-scroll {
  scroll-behavior: auto;
}

.g-inner,
.g-inner--l,
.g-inner--m,
.g-inner--s,
.g-inner--ss {
  width: var(--inner-w);
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: 120px;
  }

  body {
    font-size: var(--fz-15-const);
    line-height: 1.7;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
  }

  a[href^="tel:"] {
    pointer-events: none;
  }

  .g-inner--pc {
    width: var(--inner-w);
    margin-inline: auto;
  }

  .g-inner,
  .g-inner--m,
  .g-inner--pc {
    max-width: var(--pc-maw-md);
  }

  .g-inner--l {
    max-width: var(--pc-maw-lg);
  }

  .g-inner--s {
    max-width: var(--pc-maw-sm);
  }

  .g-inner--ss {
    max-width: var(--pc-maw-ss);
  }

  .g-inner--pcHasSlickGap {
    --inner-adjust: calc(var(--slick-gap) * 2);
    width: calc(var(--inner-w) + var(--inner-adjust));
    max-width: calc(var(--pc-maw-md) + var(--inner-adjust));
    margin-inline: auto;
  }

  .g-pd--halfPcOnly {
    padding-block: var(--sec-spc-half);
  }

  .sp {
    display: none !important;
  }

  .tategaki--pc {
    writing-mode: vertical-rl;
  }

  /* pc順番付与 */
  .orderPc-1st {
    order: 1;
  }

  .orderPc-2nd {
    order: 2;
  }

  .orderPc-3rd {
    order: 3;
  }

  .orderPc-4th {
    order: 4;
  }

  .orderPc-5th {
    order: 5;
  }

  .orderPc-6th {
    order: 6;
  }

  .orderPc-7th {
    order: 7;
  }

  .orderPc-8th {
    order: 8;
  }

  .orderPc-9th {
    order: 9;
  }

  .orderPc-10th {
    order: 10;
  }

  .orderPc-11th {
    order: 11;
  }

  .orderPc-12th {
    order: 12;
  }

  .orderPc-13th {
    order: 13;
  }

  .orderPc-14th {
    order: 14;
  }

  .orderPc-15th {
    order: 15;
  }

  .orderPc-16th {
    order: 16;
  }

  .orderPc-17th {
    order: 17;
  }

  .orderPc-18th {
    order: 18;
  }

  .orderPc-19th {
    order: 19;
  }

  .orderPc-20th {
    order: 20;
  }

  .orderPc-21th {
    order: 21;
  }

  .orderPc-22th {
    order: 22;
  }

  .orderPc-23th {
    order: 23;
  }

  .orderPc-24th {
    order: 24;
  }

  .orderPc-25th {
    order: 25;
  }

  .orderPc-26th {
    order: 26;
  }

  .orderPc-27th {
    order: 27;
  }

  .orderPc-28th {
    order: 28;
  }

  .orderPc-29th {
    order: 29;
  }

  .orderPc-30th {
    order: 30;
  }

  .orderPc-31th {
    order: 31;
  }

  .orderPc-32th {
    order: 32;
  }

  .orderPc-33th {
    order: 33;
  }

  .orderPc-34th {
    order: 34;
  }

  .orderPc-35th {
    order: 35;
  }

  .orderPc-36th {
    order: 36;
  }

  .orderPc-37th {
    order: 37;
  }

  .orderPc-38th {
    order: 38;
  }

  .orderPc-39th {
    order: 39;
  }

  .orderPc-40th {
    order: 40;
  }
}

@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 50px;
  }

  body {
    font-size: var(--fz-14-const);
    line-height: 1.6;
  }

  .g-inner--sp {
    width: var(--inner-w);
    margin-inline: auto;
  }

  .g-pd--halfPcOnly {
    padding-block: var(--sec-spc);
  }

  .pc {
    display: none !important;
  }

  .sp-scroll--y {
    overflow-y: scroll;
    overflow-x: auto;
  }

  .sp-scroll--x {
    overflow-x: scroll;
    overflow-y: auto;
    padding-inline: calc((100% - var(--inner-w)) / 2);
  }

  .tategaki--sp {
    writing-mode: vertical-rl;
  }

  .formReset input[type="text"],
  .formReset input[type="text"]::placeholder {
    font-size: 16px;
  }
}

/* ■■■■■■■■■■■■■■■■■■■■■■header■■■■■■■■■■■■■■■■■■■■■■ */
#headerarea {
  background: var(--c-navy);
  padding: var(--spc-15) 0 var(--spc-20);
  position: relative;
  z-index: 900;
}

#headerarea .g-inner {
  display: flex;
  justify-content: space-between;
}

.hd-btnContainer {
  flex: 1;
  display: flex;
  gap: var(--spc-15);
  justify-content: flex-end;
  align-items: center;
}

.hd-btnContainer .g-btn {
  width: fit-content;
}

.hd-btnContainer .g-btn a {
  padding: 0 3em;
}

.site-ttl {
  color: var(--c-white);
  font-weight: 300;
}

.logo a {
  color: var(--c-white);
  letter-spacing: .07em;
  font-weight: 900;
}

@media screen and (min-width: 768px) {
  #headerarea .g-inner {
    flex-wrap: wrap;
    gap: var(--spc-5);
  }

  .site-ttl {
    width: 100%;
    font-size: var(--fz-12);
    line-height: 1.2;
  }

  .logo a {
    font-size: var(--fz-46);
  }

}

@media screen and (max-width: 767px) {
  #headerarea .g-inner {
    align-items: center;
    flex-direction: row-reverse;
    gap: var(--spc-10);
  }
}

@media screen and (min-width: 501px) and (max-width: 767px) {
  .logo a{
    font-size: var(--fz-40);
  }

  .site-ttl {
    font-size: var(--fz-14);
    line-height: 1.6;
  }
}

@media screen and (max-width: 500px) {
  .logo a{
    font-size: var(--fz-25);
  }

  .site-ttl {
    font-size: 10px;
    letter-spacing: .07em;
  }
}

/* ■■■■■■■■■■■■■■■■■■■■■■footer■■■■■■■■■■■■■■■■■■■■■■ */

#footerarea {
  background: var(--c-navy);
}

#footerarea h2 {
  text-align: center;
  font-weight: 500;
  color: var(--c-white);
  margin-bottom: var(--spc-30);
}

.ft-btnContainer {
  display: flex;
  gap: var(--spc-15);
}

.ft-btnContainer .g-btn {
  max-width: 250px;
}

.ft-btnContainer .g-btn a {
  font-size: var(--fz-15);
}

.ft-navi__copy {
  background: var(--c-dark-gray);
  text-align: center;
  color: var(--c-white);
  padding: var(--spc-15);
  font-size: var(--fz-12);
}

@media screen and (min-width: 768px) {
  #footerarea h2 {
    font-size: var(--fz-30);
  }

  .ft-btnContainer {
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  #footerarea h2 {
    font-size: var(--fz-25);
  }

  .ft-btnContainer {
    flex-direction: column;
    align-items: center;
  }

}

/* PC固定メニュー */
.g-fixed__btn {
  background: var(--c-orange);
  border-radius: 20px 0 0 20px;
  position: fixed;
  right: 0;
  bottom: 300px;
}

.g-fixed__btn--wrap a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: var(--fz-15);
  color: var(--c-white);
  width: 80px;
  height: 260px;
}

.g-fixed__btn--search {
  font-size: var(--fz-22);
  font-weight: 500;
}

.g-fixed__btn--search::before {
  content: "";
  display: block;
  margin: 0 auto 5px;
  background-size: contain;
  background-position: top center;
  aspect-ratio: 1 / 1;
  --MASK: var(--ICON) no-repeat center center / 100%;
  mask: var(--MASK);
  -webkit-mask: var(--MASK);
  width: 23px;
  background-color: var(--c-white);
  --ICON: var(--icon-search);
}

/* SP固定メニュー */
.g-fixed__menu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  display: none;
}

.g-fixed__menu--wrap {
  display: flex;
}

.g-fixed__menu .g-btn a {
  height: 50px;
  border-radius: 0;
  font-size: 15px;
}

/* ページトップ */
.pagetop {
  position: fixed;
  z-index: 99;
  background-color: var(--c-white);
  border-radius: 50%;
}

.pagetop a {
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  --this-mask: var(--data-icon-page-top) no-repeat center center / 100%;
  mask: var(--this-mask);
  -webkit-mask: var(--this-mask);
  background-color: var(--txt-c-base);
}

@media screen and (min-width: 768px) {
  .pagetop {
    width: 50px;
    bottom: 20px;
    right: 3%;
  }
}

@media screen and (max-width: 767px) {
  .pagetop {
    width: 35px;
    bottom: 80px;
    right: 10px;
  }
}


/* ■■■■■■■■■■■■■■■■■■■■■■全ページ共通部分■■■■■■■■■■■■■■■■■■■■■■ */
/* -------------------見出し-------------------- */
.g-heading {
  position: relative;
  text-align: center;
  font-family: var(--ff-noto-serif);
  color: var(--c-navy);
  margin-bottom: var(--spc-30);
  line-height: 1.4;
}

.g-heading__en {
  display: block;
  font-weight: 500;
  margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
  .g-heading {
    font-size: var(--fz-30);
    font-weight: 600;
  }

  .g-heading__en {
    font-size: var(--fz-16);
  }
}

@media screen and (max-width: 767px) {
  .g-heading {
    font-size: var(--fz-22);
    letter-spacing: 0;
    font-weight: bold;
  }

  .g-heading__en {
    font-size: var(--fz-14);
  }
}

/* -------------------サブ見出し-------------------- */

.s-heading__sub {
  font-family: var(--ff-noto-serif);
  margin-bottom: var(--spc-30);
  color: var(--c-navy);
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: .05em;
  border-left: 14px solid var(--c-navy);
  padding-left: .5em;
}

.s-heading__txt:not(:last-child) {
  margin-bottom: var(--spc-60);
}

@media screen and (min-width: 768px) {
  .s-heading__sub {
    font-size: var(--fz-28);
  }

  .s-heading__txt {
    font-size: var(--fz-16);
  }

}

@media screen and (max-width: 767px) {
  .s-heading__sub {
    font-size: var(--fz-22);
  }

  .s-heading__txt {
    font-size: var(--fz-16);
  }
}


/* -------------------ボタン-------------------- */
/* コンテナベース */
.g-btnContainer {
  display: grid;
}

@media screen and (min-width: 768px) {
  .g-btnContainer {
    margin-top: var(--spc-50);
  }
}

@media screen and (max-width: 767px) {
  .g-btnContainer {
    margin-top: 30px;
  }
}

/* コンテナベース - 横並び */
.g-btnContainer--horizontal {
  display: flex;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .g-btnContainer--horizontal {
    gap: var(--spc-30);
  }
}

@media screen and (max-width: 767px) {
  .g-btnContainer--horizontal {
    gap: 10px;
  }
}

/* コンテナベース - PCのみ横並び */
@media screen and (min-width: 768px) {
  .g-btnContainer--horizontalPc {
    display: flex;
    justify-content: center;
    gap: var(--spc-30);
  }
}

@media screen and (max-width: 767px) {
  .g-btnContainer--horizontalPc {
    gap: 10px;
  }

  .g-btnContainer--horizontalPc .g-btn {
    margin-inline: auto;
  }
}

/* コンテナベース - 縦並び */
@media screen and (min-width: 768px) {
  .g-btnContainer--vertical {
    gap: var(--spc-20);
  }
}

@media screen and (max-width: 767px) {
  .g-btnContainer--vertical {
    gap: var(--spc-20);
  }

  .g-btnContainer--vertical .g-btn {
    margin-inline: auto;
  }
}

/* ボタンベース */
.g-btn {
  width: 100%;
}

.g-btn>a,
.g-btn>button {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  letter-spacing: 0.2em;
  border-radius: 30px;
  position: relative;
  font-size: var(--fz-14);
}

.g-btn>button {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .g-btn {
    max-width: 480px;
  }

  .g-btn>a,
  .g-btn>button {
    min-height: 40px;
  }
}

@media screen and (max-width: 767px) {
  .g-btn {
    max-width: 350px;
  }

  .g-btn>a,
  .g-btn>button {
    min-height: 40px;
  }
}

/* ボタンベース_フォントサイズ */
@media screen and (min-width: 768px) {
  .g-btn__label {
    font-size: var(--fz-16);
  }
}

@media screen and (max-width: 767px) {
  .g-btn__label {
    font-size: var(--fz-14);
  }
}

/* カラーバリエーション */
.g-btn--white>a,
.g-btn--white>button {
  background-color: var(--c-white);
  border: 1px solid var(--c-navy);
}

.g-btn--gray>a,
.g-btn--gray>button {
  background-color: var(--c-gray);
  color: var(--c-white);
}

.g-btn--orange>a,
.g-btn--orange>button {
  background-color: var(--c-orange);
  color: var(--c-white);
}
.g-btn--navy>a,
.g-btn--navy>button {
  background-color: var(--c-navy);
  color: var(--c-white);
}

.g-btn--gray>a:visited {
  color: var(--c-white);
}

.g-btn--white>a:visited {
  color: var(--c-navy);
}

@media (hover: hover) {

  .g-btn>a,
  .g-btn>button {
    transition: .5s;
  }

  .g-btn>a:hover {
    opacity: 1;
  }

  .g-btn--white>a:hover {
    opacity: 0.7;
  }

  .g-btn--gray>a:hover {
    opacity: 0.7;
  }

  .g-btn--orange>a:hover {
    opacity: 0.7;
  }
  .g-btn--navy>a:hover {
    opacity: 0.7;
  }

  .g-btn>button:hover {
    opacity: 0.7;
  }
}

/* 大きさ - long */
.g-btn--long {
  width: var(--inner-w);
  max-width: 388px;
}

/* 大きさ - small */
@media screen and (min-width: 768px) {
  .g-btn--small {
    max-width: 150px;
  }

  .g-btn--small>a {
    padding: 7px 0;
    min-height: 40px;
  }

  .g-btn--small .g-btn__label {
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  .g-btn--small {
    max-width: 128px;
  }

  .g-btn--small>a {
    padding: 7px 0;
    min-height: 30px;
  }

  .g-btn--small .g-btn__label {
    font-size: 10px;
  }
}

/* タイプ - center */
.g-btn--center {
  margin-inline: auto;
}

/* タイプ - arrow */
.g-btn--arrow>a {
  position: relative;
}

.g-btn--arrow>a::after {
  content: "";
  display: inline-block;
  background-size: contain;
  background-position: top center;
  aspect-ratio: 1 / 2;
  --MASK: var(--ICON) no-repeat center center / 100%;
  mask: var(--MASK);
  -webkit-mask: var(--MASK);
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  background-color: var(--c-navy);
  --ICON: var(--icon-arrow-btn);
}

.g-btn--orange.g-btn--arrow>a::after,
.g-btn--gray.g-btn--arrow>a::after {
  background-color: var(--c-white);
}

@media screen and (min-width: 768px) {}

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

/* タイプ - return */
.g-btn--arrow.g-btn--return a::after {
  transform: rotate(180deg) translateX(5px);
  right: unset;
}

@media screen and (min-width: 768px) {
  .g-btn--arrow.g-btn--return a::after {
    left: 10px;
  }
}

@media screen and (max-width: 767px) {
  .g-btn--arrow.g-btn--return a::after {
    left: 10px;
  }
}

/* タイプ - anchor */
.g-btn--arrow.g-btn--anchor>a::after {
  transform: rotate(90deg);
}

@media screen and (min-width: 768px) {
  .g-btn--arrow.g-btn--anchor>a::after {
    font-size: 12px;
    top: 35%;
    right: 10px;
  }
}

@media screen and (max-width: 767px) {
  .g-btn--arrow.g-btn--anchor>a::after {
    font-size: 10px;
    top: 37%;
    right: 10px;
  }
}

/* -----------------タブ切り替え共通css----------------- */
.tab-nav {
  display: flex;
}

.tab-btn {
  flex: 1;
}

.tab-contents {
  height: 0;
  overflow: hidden;
  opacity: 0;
}

.tab-contents.show {
  cursor: auto;
  height: auto;
  overflow: unset;
  opacity: 1;
  transition: .5s opacity;
}

@media screen and (min-width: 768px) {
  .tab-btn:hover {
    cursor: pointer;
  }

  .tab-btn.show {
    cursor: auto;
  }
}

/* -----------------ポップアップ共通css----------------- */
body.fixed {
  position: fixed;
  width: 100%;
  overflow: hidden;
}

.popup-overlay {
  display: none;
  width: 100%;
  height: 100%;
  background-color: var(--c-black-op50);
}

.popup-overlay.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
}

.popup-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--c-white);
}

.popup-overlay .popup-box {
  overflow-y: scroll;
}

.popup-overlay button.closePopup {
  position: absolute;
  width: fit-content;
  display: flex;
  align-items: center;
  z-index: 999;
}

.popup-overlay button.closePopup::after {
  content: "";
  display: inline-block;
  --this-mask: var(--data-icon-popup-close) no-repeat center center / 100%;
  mask: var(--this-mask);
  -webkit-mask: var(--this-mask);
  background-color: var(--c-black);
  aspect-ratio: 1/1;
}

@media screen and (min-width: 768px) {
  .popup-overlay .popup-content {
    width: 95%;
    max-width: 900px;
  }

  .popup-overlay .popup-box {
    padding: 50px 30px;
    max-height: 90vh;
  }

  .popup-overlay button.closePopup {
    top: 16px;
    right: 12px;
    font-size: 14px;
    gap: 10px;
  }

  .popup-overlay button.closePopup::after {
    width: 20px;
  }
}

@media (hover: hover) {
  .popup-overlay button.closePopup:hover {
    cursor: pointer;
  }
}

@media screen and (max-width: 767px) {
  .popup-overlay .popup-content {
    width: 90%;
  }

  .popup-overlay .popup-box {
    padding: 30px 15px;
    max-height: 80vh;
  }

  .popup-overlay button.closePopup {
    top: 10px;
    right: 10px;
    font-size: 11px;
    gap: 3px;
  }

  .popup-overlay button.closePopup::after {
    width: 15px;
  }
}

/* -------------------g-slickArrow---------------------- */
[class*="g-slickArrow--"] {
  width: var(--slick-arrow-size);
  background-image: unset;
  border-radius: 50%;
  aspect-ratio: 1/1;
  display: inline-block;
  position: absolute;
  z-index: 2;
}

[class*="g-slickArrow--"]::before {
  content: "";
  display: inline-block;
  --this-mask: var(--data-icon-slide-arrow) no-repeat center center;
  mask: var(--this-mask);
  -webkit-mask: var(--this-mask);
  aspect-ratio: 1/1;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.g-slickArrow--prev {
  left: var(--slick-arrow-to-body);
}

.g-slickArrow--next {
  right: var(--slick-arrow-to-body);
  transform: rotate(180deg);
}

.g-slickArrow--c-white {
  background-color: var(--c-white);
}

.g-slickArrow--c-white::before {
  background-color: var(--c-black);
}

.g-slickArrow--black {
  background-color: var(--c-black);
}

.g-slickArrow--black::before {
  background-color: var(--c-white);
}

@media (hover: hover) {
  [class*="g-slickArrow--"] {
    transition: .3s;
  }

  [class*="g-slickArrow--"]:hover {
    cursor: pointer;
  }

  .g-slickArrow--c-white:hover {
    background-color: var(--c-black);
  }

  .g-slickArrow--c-white:hover::before {
    background-color: var(--c-white);
  }

  .g-slickArrow--black:hover {
    background-color: var(--c-black);
  }

  .g-slickArrow--black:hover::before {
    background-color: var(--c-white);
  }
}

@media screen and (min-width: 768px) {
  .g-hasSlickArrow {
    --slick-arrow-size: clamp(30px, 3.2vw, 40px);
    --slick-arrow-to-body: calc(0px - var(--slick-arrow-size) + var(--slick-gap) - 5px);
  }

  [class*="g-slickArrow--"]::before {
    mask-size: 35%;
  }
}

@media screen and (max-width: 767px) {
  .g-hasSlickArrow {
    --slick-arrow-size: 30px;
    --slick-arrow-to-body: calc(0px - var(--slick-arrow-size) + var(--slick-gap) - 5px);
  }

  [class*="g-slickArrow--"]::before {
    mask-size: 40%;
  }
}

/* -------------------g-slickDots-------------------- */
.slick:has(.g-slickDots) {
  margin-bottom: 0;
}

.g-slickDots {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.g-slickDots li {
  aspect-ratio: 1/1;
  position: relative;
}

.g-slickDots button {
  font-size: 0;
  background-color: var(--bg-c-gray);
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.g-slickDots .slick-active button {
  background-color: var(--c-black)
}

@media screen and (min-width: 768px) {
  .g-slickDots li {
    width: 15px;
    margin-top: 10px;
  }

  .g-slickDots button {
    width: 8px;
  }
}

@media screen and (max-width: 767px) {
  .g-slickDots li {
    width: 15px;
    margin-top: 10px;
  }

  .g-slickDots button {
    width: 8px;
  }
}

/* -------------------is-targetBlank-------------------- */
.is-targetBlank {
  display: inline-block;
  position: relative;
  padding-right: 17px;
}

.is-targetBlank::after {
  content: "";
  display: inline-block;
  --this-mask: var(--data-icon-target-blank) no-repeat center center / 100%;
  mask: var(--this-mask);
  -webkit-mask: var(--this-mask);
  aspect-ratio: 1/1;
  width: 13px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.is-targetBlank--brown::after {
  background-color: var(--txt-c-base);
}

.is-targetBlank--c-white::after {
  background-color: var(--txt-c-white);
}

/* 共通部分 */
/* アバウト */
.t-aboutSection__catch--ttl {
  text-align: center;
  color: var(--c-navy);
  font-size: var(--fz-20);
  font-weight: 600;
  margin-bottom: var(--spc-20);
}

.t-aboutSection__catch--txt {
  font-size: var(--fz-16);
  line-height: 1.8;
}

.t-aboutSection__list {
  display: grid;
}

.t-aboutSection__list li {
  border: 2px solid var(--c-navy);
  border-radius: 10px;
}

.t-aboutSection__list--img {
  width: 25%;
  max-width: 50px;
  margin: 0 auto var(--spc-15);
}

.t-aboutSection__list--ttl {
  text-align: center;
  color: var(--c-navy);
  font-weight: 700;
  font-family: var(--ff-noto-serif);
  margin-bottom: var(--spc-5);
}

@media screen and (min-width: 768px) {
  .t-aboutSection__catch--txt {
    text-align: center;
    margin-bottom: var(--spc-60);
  }

  .t-aboutSection__list {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--spc-20);
  }

  .t-aboutSection__list li {
    padding: var(--spc-20);
  }

  .t-aboutSection__list--ttl {
    font-size: var(--fz-16);
  }

  .t-aboutSection__list--txt {
    font-size: var(--fz-14);
  }
}

@media screen and (max-width: 767px) {
  .t-aboutSection__catch--txt {
    margin-bottom: var(--spc-40);
  }

  .t-aboutSection__list {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spc-15);
  }

  .t-aboutSection__list li {
    padding: var(--spc-15);
  }

  .t-aboutSection__list--ttl {
    font-size: var(--fz-16);
  }

  .t-aboutSection__list--txt {
    font-size: var(--fz-14);
  }
}

/* 検索エリア */
.t-searchSection:has(.tab-contents--medical.show) {
  background: var(--c-bg-green);
}

.t-searchSection:has(.tab-contents--home.show) {
  background: var(--c-bg-pink);
}

.t-searchSection:has(.tab-contents--care.show) {
  background: var(--c-bg-blue);
}

.t-searchSection:has(.tab-contents--dental.show) {
  background: var(--c-bg-purple);
}

.tab-nav--search {
  margin-bottom: 30px;
}

.tab-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--c-white);
  font-weight: 600;
  position: relative;
  transition: .5s;
}

.tab-btn--green {
  background: var(--c-green-off);
}

.tab-btn--pink {
  background: var(--c-pink-off);
}

.tab-btn--blue {
  background: var(--c-blue-off);
}

.tab-btn--purple {
  background: var(--c-purple-off);
}

.tab-btn--green.show,
.tab-btn--green.show::before {
  background: var(--c-green);
}

.tab-btn--pink.show,
.tab-btn--pink.show::before {
  background: var(--c-pink);
}

.tab-btn--blue.show,
.tab-btn--blue.show::before {
  background: var(--c-blue);
}

.tab-btn--purple.show,
.tab-btn--purple.show::before {
  background: var(--c-purple);
}

.tab-contents .g-btn {
  margin-inline: auto;
}

.tab-contents .g-btn__label {
  font-family: var(--ff-base);
}

@media screen and (min-width: 768px) {
  .tab-btn {
    font-size: var(--fz-25);
    height: 70px;
  }

  .tab-btn.show::before {
    content: "";
    height: 25px;
    width: 55px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    bottom: -24px;
  }

  .tab-btn:hover {
    transition: .5s;
  }

  .tab-btn--green:hover {
    background: var(--c-green);
  }

  .tab-btn--pink:hover {
    background: var(--c-pink);
  }

  .tab-btn--blue:hover {
    background: var(--c-blue);
  }

  .tab-btn--purple:hover {
    background: var(--c-purple);
  }

  .tab-contents .g-btn {
    max-width: 370px;
  }

  .tab-contents .g-btn a {
    height: 70px;
    border-radius: 10px;
  }

  .tab-contents .g-btn__label {
    font-size: var(--fz-22);
  }

}

@media screen and (max-width: 767px) {
  .tab-nav--search {
    flex-wrap: wrap;
    gap: 3px;
  }

  .tab-btn {
    width: calc((100% - 3px) / 2);
    flex: auto;
    height: 40px;
    font-size: var(--fz-20);
  }

  .tab-contents .g-btn {
    max-width: 250px;
  }

  .tab-contents .g-btn a {
    height: 40px;
    border-radius: 6px;
  }

  .tab-contents .g-btn__label {
    font-size: var(--fz-18);
  }
}

/* タブコンテンツ */
.tab-contents--search {
  width: 90%;
  max-width: 980px;
  margin-inline: auto;
}

.search-item {
  display: flex;
}

.search-label {
  font-weight: bold;
  color: var(--c-navy);
}

.search-label::before {
  content: "";
  background: url(/asset2026/images/common/icon-search-list.svg) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 24px;
  aspect-ratio: 1 / 1;
  vertical-align: text-bottom;
  margin-right: .5em;
}

.search-field input[type="text"],
.search-field select {
  font-size: var(--fz-18);
  border: 1px solid #d1d1d1;
  border-radius: 10px;
  background: #fff;
}

.search-field input[type="text"] {
  width: 100%;
  padding: 10px;
}

.search-field select {
  text-align: center;
}

.search-field {
  flex: 1;
  display: flex;
  align-items: center;
  font-family: var(--ff-base);
  font-size: var(--fz-20);
}

.search-field input[type="checkbox"] {
  aspect-ratio: 1 / 1;
}

.search-field label {
  display: flex;
  align-items: center;
  gap: 5px;
}

.tab-contents--search button {
  border-radius: 10px;
}

@media screen and (min-width: 768px) {
  .search-item {
    align-items: center;
    gap: var(--spc-50);
  }

  .search-value {
    font-size: var(--fz-22);
  }

  .search-label {
    font-size: var(--fz-22);
    width: 250px;
  }

  .tab-contents--search button {
    min-height: 60px;
  }

  .search-field {
    gap: 2em;
  }

  .search-field select {
    width: 280px;
    padding: 10px 2em;
  }

  .search-field input[type="checkbox"] {
    width: 20px;
  }
  .search-item{
    margin-bottom: var(--spc-50);
  }
  .search-item:last-of-type {
    margin-bottom: var(--spc-20);
  }

}

@media screen and (max-width: 767px) {
  .search-item {
    flex-direction: column;
    gap: var(--spc-15);
  }

  .tab-contents--search button {
    min-height: 50px;
  }

  .search-field {
    gap: 1em;
  }

  .search-value {
    font-size: var(--fz-18);
  }

  .search-label {
    font-size: var(--fz-18);
  }

  .search-field select {
    padding: 10px 1em;
  }

  .search-field input[type="checkbox"] {
    width: 16px;
  }

  .search-item{
    margin-bottom: var(--spc-30);
  }

  .search-item:last-of-type {
    margin-bottom: var(--spc-20);
  }

}

/* ランキングインフォ */
.s-score__area--rankinfo {
  color: var(--c-gray);
  display: flex;
  flex-wrap: wrap;
  gap: var(--spc-5) var(--spc-20);
  font-size: var(--fz-12);
  justify-content: center;
  margin-bottom: var(--spc-50);
}

@media (min-width: 600px) and (max-width: 1000px) {
  .s-score__area--rankinfo {
    width: 80%;
    margin-inline: auto;
  }

  .s-score__area--rankinfo span {
    width: 30%;
  }
}

@media screen and (max-width: 600px) {
  .s-score__area--rankinfo {
    width: 90%;
    margin-inline: auto;
  }

  .s-score__area--rankinfo span {
    width: 45%;
  }

}

