@charset "UTF-8";
/* ============================= 共通パーツレイアウト ============================= */
@media screen {
   :root {
      --color-main: #F27127;
      --color-main-light: #FED5BC;
      --color-base: #FFFFE4;
      --color-white: #FFFFFF;
      --color-one: #F25C68;
      --color-plan: #F2B705;
      --color-toys: #02A66A;
      --color-armo: #3DC9DA;
      --color-text: #5D2B0B;

      --font-default: "Noto Sans JP", sans-serif;
      --font-maru: "Zen Maru Gothic", sans-serif;
   }

   html {
      width: 100%;
   }

   body {
      width: 100%;
      overflow-x: hidden;
      -webkit-overflow-scrolling: touch;
      font-family: var(--font-default);
      font-weight: 400;
      color: var(--color-text);
      font-size: 16px;
      line-height: 1.8;
      letter-spacing: 0;
      background-color: var(--color-white);
      position: relative;
   }

   footer,
   main {
      overflow: hidden;
   }

   a {
      transition: opacity .3s;
   }

   a:hover {
      opacity: 0.7;
   }

   img {
      width: 100%;
   }

   .sp,
   .tb,
   .ssp,
   .ham {
      display: none;
   }

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

   h2 {
      font-size: 50px;
      line-height: 1;
      margin-bottom: 72px;
      font-weight: 700;
   }

   h2.h_style01 {
      display: flex;
      flex-direction: column;
      align-items: center;
      font-size: 50px;
      font-family: var(--font-maru);
      font-weight: 700;
      letter-spacing: .04em;
      line-height: 1;
      gap: 8px;
      text-align: center;
   }

   h2.h_style01 .h2_icon {
      width: 140px;
   }

   h2.h_style01 span span {
      display: inline-block;
   }

   .h_style02 {
      display: inline-block;
      position: relative;
      padding: 6px 16px;
      color: var(--color-white);
      font-family: var(--font-maru);
      font-weight: 700;
      font-size: 20px;
      border: 1px dashed var(--color-white);
      background-color: var(--color-main);
      box-shadow: 0 0 0 5px var(--color-main);
      border-radius: 2px 50px 50px 2px;
      margin: 5px;
      margin-bottom: 32px;
      line-height: 1;
   }

   .h_style02_light {
      color: var(--color-main);
      border: 1px dashed var(--color-main);
      background-color: var(--color-white);
      box-shadow: 0 0 0 5px var(--color-white);
   }

   .btn_style01 a,
   .btn_style02 a,
   button.btn_style01,
   button.btn_style02 {
      background-color: var(--color-text);
      color: var(--color-white);
      font-family: var(--font-maru);
      font-weight: 700;
      letter-spacing: .04em;
      border-radius: 50px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 24px;
      padding: 8px 20px;
      border: none;
      cursor: pointer;
      appearance: none;
      box-sizing: border-box;
      text-decoration: none;
   }

   .btn_style01 a::after,
   button.btn_style01::after {
      content: "";
      width: 11px;
      height: 10px;
      background: url(../img/icon_arrow.svg) center / contain no-repeat;
   }

   .btn_style01 a span,
   button.btn_style01 span {
      display: flex;
      align-items: center;
      gap: 8px;
   }

   .btn_style01 a span::before,
   button.btn_style01 span::before {
      content: "";
      width: 20px;
      height: 26px;
      background: url(../img/icon_foot.svg) center / contain no-repeat;
   }

   .btn_style02 a,
   button.btn_style02 {
      padding: 8px 130px;
      position: relative;
      white-space: nowrap;
   }

   .btn_style02 a::after,
   button.btn_style02::after {
      content: "";
      width: 20px;
      height: 20px;
      background: url(../img/icon_circlearrow.svg) center / cover no-repeat;
      position: absolute;
      top: 50%;
      right: 40px;
      transform: translateY(-50%);
   }

   .btn_right {
      display: flex;
      justify-content: flex-end;
   }

   .btn_center {
      display: flex;
      justify-content: center;
   }

   /* --- 背景・装飾パーツ --- */
   .bg_parts01 {
      padding-bottom: 250px !important;
      margin-bottom: -150px;
   }

   .bg_partsLogo .innerWrap,
   .bg_parts01 .innerWrap,
   .bg_parts09 .innerWrap,
   .bg_parts10 .innerWrap {
      position: relative;
      z-index: 0;
   }

   .bg_partsLogo .innerWrap::after,
   .bg_parts01 .innerWrap::after,
   .bg_parts09 .innerWrap::after,
   .bg_parts10 .innerWrap::after {
      content: "";
      position: absolute;
      z-index: -1;
   }

   .bg_partsLogo .innerWrap::after {
      width: 416px;
      aspect-ratio: 516 / 495;
      background: url(../img/bg_parts-logo.png) center / contain no-repeat;
      left: 0;
      top: -280px;
   }

   .page-bases-toys .bg_partsLogo .innerWrap::after {
      right: 0;
      left: unset;
      transform: rotate(35deg);
   }

   .bg_parts01 .innerWrap::after {
      width: 484px;
      aspect-ratio: 484 / 544;
      background: url(../img/bg_parts01.png) center / contain no-repeat;
      left: -180px;
      bottom: -140px;
   }

   .bg_parts09 .innerWrap::after {
      width: 434px;
      aspect-ratio: 434 / 346;
      background: url(../img/bg_parts09.png) center / contain no-repeat;
      right: -130px;
      top: -250px;
   }

   .bg_parts10 .innerWrap::after {
      width: 528px;
      aspect-ratio: 528 / 511;
      background: url(../img/bg_parts10.png) center / contain no-repeat;
      right: -240px;
      top: -330px;
   }

   .page-bases-armo .bg_parts10 .innerWrap::after {
      top: -220px;
   }

   .page-privacy .bg_parts10 .innerWrap::after,
   .news-common .bg_parts10 .innerWrap::after {
      right: -240px;
      top: unset;
      bottom: -140px;
   }

   /* --- ニュースリスト（トップページ専用） --- */
   .news-list li {
      padding-left: 42px;
   }

   .news-list li>a {
      display: block;
      color: inherit;
      text-decoration: none;
   }

   .news-list .news-date {
      position: relative;
   }

   .news-list .recent .news-date::before {
      content: "";
      width: 30px;
      height: 100%;
      background: url(../img/icon_new.svg) center / contain no-repeat;
      position: absolute;
      top: 0;
      left: -42px;
   }

   /* --- パンくずリスト --- */
   .breadcrumbs {
      padding: 40px 0;
      font-family: var(--font-maru);
      font-weight: 500;
   }

   .breadcrumbs ul {
      display: flex;
      gap: 4px;
      align-items: center;
      flex-wrap: wrap;
   }

   .breadcrumbs ul li {
      display: flex;
      gap: 8px;
      align-items: center;
   }

   .breadcrumbs ul li:not(:last-child) {
      margin-right: 8px;
   }

   .breadcrumbs ul li:not(:last-child)::after {
      content: "";
      width: 10px;
      height: 10px;
      background: url(../img/icon_arrow_br.svg) center / contain no-repeat;
   }

   .breadcrumbs ul li>a,
   .breadcrumbs ul li>span {
      display: flex;
      gap: 4px;
      align-items: center;
   }

   .breadcrumbs ul li>a::before,
   .breadcrumbs ul li>span::before {
      content: "";
      width: 18px;
      height: 14px;
      background: url(../img/icon_br_cat.svg) center / contain no-repeat;
   }

   .breadcrumbs ul li:first-child>a:before {
      width: 20px;
      height: 20px;
      background: url(../img/icon_br_home.svg) center / contain no-repeat;
   }

   .breadcrumbs ul li span:before {
      width: 14px;
      height: 18px;
      background: url(../img/icon_br_current.svg) center / contain no-repeat;
   }

   .page .breadcrumbs+* .innerWrap {
      position: relative;
      z-index: 0;
   }

   .page .breadcrumbs+* .innerWrap::before {
      content: "";
      width: 322px;
      aspect-ratio: 322 / 347;
      background: url(../img/bg_parts08.png) center / contain no-repeat;
      position: absolute;
      left: -130px;
      top: -245px;
      z-index: -1;
      pointer-events: none;
   }

   /* --- スタッフコンテナ --- */
   .staff_container {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      justify-items: center;
      gap: 24px;
   }

   .staff_container>li {
      padding: 32px;
      background-color: color-mix(in srgb, var(--color-one) 20%, transparent);
      border-radius: 8px;
   }

   .page-bases-toys .staff_container>li,
   .staff_container>li.staff_item-toys {
      background-color: color-mix(in srgb, var(--color-toys) 50%, transparent);
   }

   .page-bases-armo .staff_container>li,
   .staff_container>li.staff_item-armo {
      background-color: color-mix(in srgb, var(--color-armo) 50%, transparent);
   }

   .staff_container .staff_header {
      display: flex;
      align-items: center;
      gap: 32px;
      margin-bottom: 20px;
   }

   .staff_container .staff_header>p {
      width: 50%;
   }

   .staff_container .staff_header>div {
      flex-shrink: 0;
      font-family: var(--font-maru);
      line-height: 1.2;
   }

   .staff_container .staff_header>div h3 {
      font-size: 14px;
      font-weight: 700;
      margin-bottom: 12px;
   }

   .staff_container .staff_header>div h3 span {
      font-size: 20px;
   }

   .staff_container .staff_header>div ul {
      display: flex;
      flex-direction: column;
      gap: 12px;
   }

   .staff_container .staff_header>div li {
      padding: 8px 14px;
      border: 1px solid var(--color-text);
   }

   .staff_container .staff_catch,
   .staff_container .staff_comment {
      padding: 8px 16px;
      background-color: var(--color-white);
      border-radius: 8px;
   }

   .staff_container .staff_catch {
      margin-bottom: 10px;
      font-size: 24px;
      line-height: 1.2;
      font-weight: 700;
      font-family: var(--font-maru);
      color: var(--color-one);
   }

   .staff_container .staff_item-toys .staff_catch {
      color: var(--color-toys);
   }

   .staff_container .staff_item-armo .staff_catch {
      color: var(--color-armo);
   }

   /* --- アクセスリスト（共通化） --- */
   .access-list {
      display: flex;
      flex-direction: column;
      gap: 32px;
   }

   .access-list li {
      display: flex;
      align-items: center;
      gap: 16px;
      color: var(--color-white);
   }

   .access-list .icon-circle {
      width: 50px;
      height: 50px;
      background-color: var(--color-white);
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-shrink: 0;
   }

   .access-list .icon-mask {
      width: 32px;
      height: 32px;
      background-color: var(--color-one);
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
   }

   .icon-address {
      -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z' fill='%23000'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z' fill='%23000'/%3E%3C/svg%3E");
   }

   .icon-train {
      -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c-4 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h2.23l2-2H14l2 2h2.25v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4zM7.5 17c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm3.5-7H6V6h5v4zm4 0h-2V6h5v4h-3zm1.5 7c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z' fill='%23000'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c-4 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h2.23l2-2H14l2 2h2.25v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4zM7.5 17c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm3.5-7H6V6h5v4zm4 0h-2V6h5v4h-3zm1.5 7c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z' fill='%23000'/%3E%3C/svg%3E");
   }

   .icon-bus {
      -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 16c0 .88.39 1.67 1 2.22V20c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h8v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1.78c.61-.55 1-1.34 1-2.22V6c0-3.5-3.58-4-8-4s-8 .5-8 4v10zm3.5 1c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm9 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm1.5-6H6V7h12v4z' fill='%23000'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 16c0 .88.39 1.67 1 2.22V20c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h8v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1.78c.61-.55 1-1.34 1-2.22V6c0-3.5-3.58-4-8-4s-8 .5-8 4v10zm3.5 1c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm9 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm1.5-6H6V7h12v4z' fill='%23000'/%3E%3C/svg%3E");
   }

   .icon-car {
      -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.85 7h10.29l1.04 3H5.81l1.04-3zM7.5 17c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm9 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z' fill='%23000'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.85 7h10.29l1.04 3H5.81l1.04-3zM7.5 17c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm9 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z' fill='%23000'/%3E%3C/svg%3E");
   }

   .bases_plan .access-list .icon-mask {
      background-color: var(--color-plan);
   }

   .bases_toys .access-list .icon-mask {
      background-color: var(--color-toys);
   }

   .bases_armo .access-list .icon-mask {
      background-color: var(--color-armo);
   }

   .strong {
      color: var(--color-main);
      font-weight: 700;
   }

   .colorful i {
      font-style: normal;
      font-size: 20px;
      font-weight: 700;
   }

   .colorful i:first-child {
      color: var(--color-one);
   }

   .colorful i:nth-child(2) {
      color: var(--color-plan);
   }

   .colorful i:nth-child(3) {
      color: var(--color-toys);
   }

   .colorful i:last-child {
      color: var(--color-armo);
   }
}

/* ============================= 共通ヘッダー・フッター ============================= */
@media screen {
   header .innerWrap {
      position: relative;
      font-family: var(--font-maru);
   }

   header .header_row1 {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      z-index: 1100;
      display: flex;
      justify-content: flex-end;
      align-items: flex-start;
      padding: 0 20px;
   }

   header .header_row1::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to bottom, color-mix(in srgb, var(--color-base) 50%, transparent) 0%, transparent 100%);
      z-index: -1;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.4s ease;
   }

   header .header_row1.is-scrolled {
      padding: 0 20px 60px;
   }

   header .header_row1.is-scrolled::before {
      opacity: 1;
   }

   body.is-open header .header_row1.is-scrolled::before {
      opacity: 0;
   }

   header .header_row2 {
      position: absolute;
      top: 48px;
      left: 0;
      width: 100%;
      z-index: 1050;
   }

   header .header_row2 .global-nav ul {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 48px;
      font-weight: 500;
      line-height: 1;
   }

   header .header_row2 .global-nav ul li a,
   header .header_row2 .global-nav ul li span {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      width: 134px;
      height: 92px;
      background: url(../img/bg_menu.png) center / contain no-repeat;
      line-height: 1;
      cursor: pointer;
   }

   header .header_row2 .global-nav ul li.logo a {
      width: 100px;
      height: 120px;
   }

   header .header_row2 .global-nav ul li a::before,
   header .header_row2 .global-nav ul li span::before {
      content: "";
      width: 59px;
      height: 45px;
   }

   header .header_row2 .global-nav ul li.link_news a::before {
      background: url(../img/icon_news.png) center / contain no-repeat;
   }

   header .header_row2 .global-nav ul li.link_about a::before {
      background: url(../img/icon_about.png) center / contain no-repeat;
   }

   header .header_row2 .global-nav ul li.link_bases span::before {
      background: url(../img/icon_bases.png) center / contain no-repeat;
   }

   header .header_row2 .global-nav ul li.link_recruit a::before {
      background: url(../img/icon_recruit.png) center / contain no-repeat;
   }

   header .header_row2 .global-nav ul li.has-child {
      position: relative;
   }

   header .header_row2 .global-nav ul li .sub-menu {
      position: absolute;
      top: 100px;
      left: 50%;
      transform: translateX(-50%);
      background-color: var(--color-white);
      border-radius: 8px;
      width: 160px;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s, visibility 0.3s, top 0.3s;
      z-index: 100;
      display: flex;
      flex-direction: column;
      gap: 0;
   }

   header .header_row2 .global-nav ul li.has-child.is-active .sub-menu {
      opacity: 1;
      visibility: visible;
      top: 85px;
   }

   header .header_row2 .global-nav ul li .sub-menu li {
      width: 100%;
   }

   header .header_row2 .global-nav ul li .sub-menu>li:not(:last-child) {
      border-bottom: 1px solid var(--color-main-light);
   }

   header .header_row2 .global-nav ul li .sub-menu li a {
      display: block;
      width: 100%;
      height: auto;
      padding: 12px 20px;
      background-image: none;
      color: var(--color-text);
      text-align: center;
      font-size: 16px;
      font-weight: 500;
   }

   header .header_row2 .global-nav ul li .sub-menu li a::before {
      content: none;
   }

   header .header_row2 .global-nav ul li .sub-menu li a:hover {
      background-color: var(--color-base);
      opacity: 1;
   }

   header .header_row1>div {
      filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
      display: flex;
      align-items: center;
      gap: 8px
   }

   header .header_row1 .logo {
      position: absolute;
      left: 20px;
      top: 10px;
      width: 100px;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.6s ease, visibility 0.6s;
   }

   header .header_row1 .logo.is-show {
      opacity: 1;
      visibility: visible;
   }

   header .header_row1 .link_tel a {
      display: flex;
      gap: 4px;
      align-items: center;
   }

   header .header_row1 .link_tel a::before {
      content: "";
      width: 42px;
      height: 42px;
      background: url(../img/icon_tel.png) center / contain no-repeat;
   }

   header .header_row1 .link_tel a>div {
      text-align: right;
      line-height: 1;
   }

   header .header_row1 .link_tel a>div>p:first-child {
      font-size: 30px;
      font-weight: 900;
      display: inline-block;
      margin-bottom: 4px;
      letter-spacing: .05em;
      display: block;
   }

   header .header_row1 .link_tel a>div>p:last-child {
      font-size: 10px;
   }

   header .header_row1 .link_tel a>div>p:last-child span {
      font-weight: 500;
   }

   header .header_row1 .link_contact {
      display: flex;
      gap: 4px;
      align-items: center;
      background-color: var(--color-main);
      padding: 14px;
      border-radius: 0 0 8px 8px;
      color: var(--color-white);
      font-size: 20px;
      font-weight: 700;
      letter-spacing: .05em;
   }

   header .header_row1 .link_contact::after {
      content: "";
      width: 46px;
      height: 36px;
      background: url(../img/icon_contact.png) center / contain no-repeat;
   }

   footer {
      padding-top: 40px;
   }

   footer .logo {
      width: 100%;
      max-width: 400px;
      margin: 0 auto 40px;
   }

   footer .innerWrap {
      max-width: 1080px;
      position: relative;
      padding-bottom: 60px;
   }

   footer .innerWrap::before {
      content: "";
      display: block;
      width: 478px;
      height: 721px;
      background: url(../img/bg_parts04.png) center / contain no-repeat;
      position: absolute;
      top: -40px;
      left: -350px;
      z-index: -1;
   }

   footer .innerWrap::after {
      content: "";
      display: block;
      width: 489px;
      height: 766px;
      background: url(../img/bg_parts07.png) center / contain no-repeat;
      position: absolute;
      top: -10px;
      right: -270px;
      z-index: -1;
   }

   /* フッター内の連絡先リスト特有の余白 */
   footer .contact-card-list {
      margin-bottom: 60px;
   }

   /* 内側の連絡先（TEL/MAIL）スタイルは維持 */
   footer .innerWrap>ul>li ul li:nth-child(2) {
      display: flex;
      gap: 16px;
   }

   footer .innerWrap>ul>li ul li:nth-child(2) a {
      display: flex;
      align-items: center;
      gap: 2px;
   }

   footer .innerWrap>ul>li ul li:nth-child(2) a::before {
      content: "";
      width: 19px;
      height: 19px;
      background: url(../img/icon_tel_ft.svg) center / contain no-repeat;
   }

   footer .innerWrap>ul>li ul li:nth-child(2) a.ft_mail::before {
      background: url(../img/icon_mail_ft.svg) center / contain no-repeat;
   }

   footer .footer-nav {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 16px;
   }

   footer .footer-nav ul {
      display: flex;
      gap: 56px;
      justify-content: center;
   }

   footer>p {
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #FED5BC;
      height: 50px;
   }
}

/* ============================= トップページ ============================= */
@media screen {
   main>section:not(.hero) {
      padding: 100px 0;
   }

   .home .hero {
      width: 100%;
      padding-top: 176px;
      padding-bottom: 50px;
      background-image: linear-gradient(to bottom, var(--color-base) 50%, var(--color-main) 50%);
   }

   .home .hero .innerWrap {
      width: 100%;
      max-width: 100%;
      height: 624px;
      padding-bottom: 170px;
      background: url(../img/bg_hero_pc.png) center center / auto 100% no-repeat;
   }

   .home .hero .innerWrap>div {
      width: 100%;
      max-width: 1200px;
      height: 100%;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-end;
      position: relative;
   }

   .home .hero .innerWrap>div::before {
      content: "";
      width: 380px;
      height: 297px;
      background: url(../img/bg_parts05.png) center / contain no-repeat;
      position: absolute;
      top: -160px;
      left: -210px;
   }

   .home .hero .innerWrap>div::after {
      content: "";
      width: 267px;
      height: 297px;
      background: url(../img/bg_parts06.png) center / contain no-repeat;
      position: absolute;
      top: -90px;
      right: -140px;
   }

   .home .hero .main-copy {
      margin-bottom: 72px;
      width: 400px;
   }

   .home .hero .sub-copy {
      font-family: var(--font-maru);
      font-size: 20px;
      font-weight: 500;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
   }

   .home .hero .sub-copy span {
      background-color: var(--color-white);
      padding: 8px 16px;
      line-height: 1;
   }

   .home-news {
      background-color: var(--color-main);
      margin-top: -1px;
   }

   .home-news .innerWrap {
      position: relative;
      width: 100%;
      max-width: 1000px;
      margin: 0 auto;
      padding-left: 20px;
      padding-right: 20px;
   }

   .home-news .innerWrap::before {
      content: "";
      width: 322px;
      height: 335px;
      background: url(../img/bg_parts03.png) center / contain no-repeat;
      position: absolute;
      top: -285px;
      left: -225px;
      z-index: 10;
   }

   .home-news .innerWrap>div {
      width: 100%;
      background-image: url(../img/bg_home-news.png);
      border-radius: 8px;
      display: flex;
      padding: 30px 72px 30px 36px;
      justify-content: space-between;
      align-items: center;
   }

   .home-news h2 {
      margin-bottom: 0;
   }

   .home-news .section-contents {
      width: 100%;
      max-width: 472px;
   }

   .home-about {
      background-color: var(--color-base);
   }

   .home-about .innerWrap {
      position: relative;
   }

   .home-about .innerWrap::before {
      content: "";
      width: 483px;
      height: 544px;
      background: url(../img/bg_parts01.png) center / contain no-repeat;
      position: absolute;
      top: -250px;
      right: -220px;
   }

   .home-about .block_home-about {
      position: relative;
   }

   .home-about .h_style02 {
      position: relative;
   }

   .home-about .h_style02::before {
      content: "";
      width: 133px;
      height: 115px;
      background: url(../img/icon_shine_l.png) center / contain no-repeat;
      position: absolute;
      top: -120px;
      left: -120px;
   }

   .home-about .block_home-about1 {
      display: flex;
      gap: 16px;
   }

   .home-about .block_home-about1>* {
      width: calc((100% - 16px) / 2);
   }

   .home-about .block_home-about1::after {
      content: "";
      width: calc((100% - 16px) *0.55);
      aspect-ratio: 637 / 498;
      background: url(../img/img_home-about01.png) center / contain no-repeat;
   }

   .home-about .block_home-about1>div {
      width: calc((100% - 16px) *0.45);
   }

   .home-about .block_home-about1>div>div {
      display: flex;
      flex-direction: column;
      gap: 20px;
      margin-bottom: 32px;
   }

   .home-about .block_home-about2>ul {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      margin-bottom: 40px;
   }

   .home-about .block_home-about2>ul>li {
      border-radius: 8px;
      background-color: rgba(255, 255, 255, 0.3);
      border: 1px solid var(--color-main);
      padding: 32px 24px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
   }

   .home-about .block_home-about2>ul>li h4 {
      font-family: var(--font-maru);
      font-size: 20px;
      font-weight: 500;
      text-align: center;
   }

   .home-about .block_home-about2>ul>li>p img {
      width: 100%;
      max-width: 217px;
   }

   .home-about .block_home-about2>ul>li ul {
      display: flex;
      flex-direction: column;
      line-height: 1.2;
   }

   .home-about .block_home-about2>ul>li ul>li {
      padding: 4px 0 20px 40px;
      background: url(../img/icon_no1.png) left top / 32px 32px no-repeat;
   }

   .home-about .block_home-about2>ul>li ul>li:nth-child(2) {
      background: url(../img/icon_no2.png) left top / 32px 32px no-repeat;
   }

   .home-about .block_home-about2>ul>li ul>li:nth-child(3) {
      background: url(../img/icon_no3.png) left top / 32px 32px no-repeat;
   }

   .home-bases .innerWrap {
      position: relative;
   }

   .home-bases .innerWrap::before {
      content: "";
      width: 517px;
      aspect-ratio: 775 / 743;
      background: url(../img/bg_parts-logo.png) center / contain no-repeat;
      position: absolute;
      top: -285px;
      left: -135px;
   }

   .bases-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: auto;
      gap: 40px 24px;
   }

   .bases-list>li {
      border-radius: 8px;
      border-width: 4px;
      border-style: solid;
      overflow: hidden;
      background-color: var(--color-white);
   }

   .bases-list>li.block_home-bases_one {
      border-color: var(--color-one);
   }

   .bases-list>li.block_home-bases_plan {
      border-color: var(--color-plan);
   }

   .bases-list>li.block_home-bases_toys {
      border-color: var(--color-toys);
   }

   .bases-list>li.block_home-bases_armo {
      border-color: var(--color-armo);
   }

   .bases-list .bases-header {
      width: 100%;
      aspect-ratio: 582 / 356;
      background: url(../img/img_home-bases_one-plan.png) center / cover no-repeat;
      padding: 24px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
   }

   .bases-list .bases-header h3 {
      width: 148px;
      aspect-ratio: 1 / 1;
   }

   .bases-list .bases-header ul {
      display: flex;
      justify-content: flex-end;
      gap: 24px;
   }

   .bases-list .bases-header ul li {
      background-color: var(--color-one);
      border-radius: 8px;
      color: var(--color-white);
      font-weight: 500;
      letter-spacing: .04em;
      padding: 8px 16px;
      line-height: 1;
      text-shadow: 0 2px 2px #5D2B0B;
   }

   .bases-list .block_home-bases_plan .bases-header ul li {
      background-color: var(--color-plan);
   }

   .bases-list .block_home-bases_toys .bases-header ul li {
      background-color: var(--color-toys);
   }

   .bases-list .block_home-bases_armo .bases-header ul li {
      background-color: var(--color-armo);
   }

   .bases-list .bases-body {
      padding: 16px 56px;
   }

   .bases-list .bases-body>div {
      margin-bottom: 32px;
   }

   .bases-list .bases-body>div>p {
      display: flex;
      align-items: center;
      gap: 16px;
   }

   .bases-list .bases-body>div>p .bases-location {
      line-height: 1;
      padding: 4px 16px;
      letter-spacing: .04em;
      border: 1px solid var(--color-text);
   }

   .bases-list .bases-body .bases-catch {
      font-size: 20px;
      font-weight: 500;
   }

   .bases-list .bases-insta {
      padding: 20px;
   }

   .bases-list .bases-insta h4 {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 16px;
      margin-bottom: 20px;
   }

   .bases-list .bases-insta h4::before {
      content: "";
      width: 20px;
      height: 20px;
      background: url(../img/icon_insta.png) center / contain no-repeat;
   }

   .home-recruit {
      background-color: var(--color-base);
   }

   .home-recruit .innerWrap {
      display: flex;
      gap: 48px;
      position: relative;
   }

   .home-recruit .innerWrap::before {
      content: "";
      width: calc((100% - 48px) *0.55);
      aspect-ratio: 608 / 489;
      background: url(../img/img_home-recruit01.png) center / contain no-repeat;
   }

   .home-recruit .innerWrap::after {
      content: "";
      width: 434px;
      height: 346px;
      background: url(../img/bg_parts02.png) center / contain no-repeat;
      position: absolute;
      top: -220px;
      right: -230px;
   }

   .home-recruit .innerWrap>div {
      width: calc((100% - 48px) *0.45);
   }

   .home-recruit h2 span {
      position: relative;
   }

   .home-recruit h2>span:last-child::before {
      content: "";
      width: 133px;
      height: 115px;
      background: url(../img/icon_shine.png) center / contain no-repeat;
      position: absolute;
      top: -110px;
      left: -110px;
   }

   .home-recruit h3 {
      font-size: 20px;
      font-weight: 500;
      margin-bottom: 24px;
   }

   .home-recruit .section-contents>p {
      line-height: 2;
      margin-bottom: 24px;
   }

   .home-contact {
      position: relative;
      background-color: var(--color-main);
   }

   .home-contact h2 span {
      color: var(--color-white);
      position: relative;
   }

   .home-contact h2>span:last-child:before {
      content: "";
      width: 133px;
      height: 115px;
      background: url(../img/icon_shine_w.png) center / contain no-repeat;
      position: absolute;
      top: -110px;
      left: -110px;
   }

   .home-contact .innerWrap {
      max-width: 900px;
      position: relative;
   }

   .home-contact .innerWrap::before {
      content: "";
      width: 497px;
      aspect-ratio: 746 / 637;
      background: url(../img/bg_home-contact01.png) center / contain no-repeat;
      position: absolute;
      top: -130px;
      right: -310px;
   }

   .home-contact .innerWrap::after {
      content: "";
      width: 322px;
      aspect-ratio: 483 / 414;
      background: url(../img/bg_home-contact02.png) center / contain no-repeat;
      position: absolute;
      bottom: 0;
      left: -325px;
   }

   .home-contact .section-contents>p {
      font-size: 20px;
      margin-bottom: 40px;
   }

   .home-contact .section-contents>ul {
      display: flex;
      justify-content: center;
      gap: 16px;
   }

   .home-contact .section-contents>ul li {
      width: calc((100% - 16px) / 2);
   }

   .home-contact .section-contents>ul li a {
      width: 100%;
      padding: 0 26px;
      border-radius: 100px;
      display: flex;
      gap: 16px;
      justify-content: center;
      align-items: center;
      box-shadow: 2px 3px 4px 0 #000000;
      height: 104px;
   }

   .home-contact .section-contents>ul li a.link_tel::before {
      content: "";
      width: 48px;
      height: 48px;
      background: url(../img/icon_tel.png) center / contain no-repeat;
   }

   .home-contact .section-contents>ul li a.link_contact::after {
      content: "";
      width: 64px;
      height: 50px;
      background: url(../img/icon_contact2.png) center / contain no-repeat;
   }

   .home-contact .section-contents>ul li a.link_tel {
      background: linear-gradient(to bottom, #FFFFFF 0%, #FFFFE4 44%, #F2B705 100%);
   }

   .home-contact .section-contents>ul li a.link_contact {
      background: linear-gradient(to bottom, #FFFFE4 0%, #F2B705 100%);
   }

   .home-contact .section-contents>ul li a div {
      text-align: center;
      line-height: 1;
   }

   .home-contact .section-contents>ul li a div p:first-child {
      font-size: 40px;
      font-weight: 900;
      letter-spacing: .05em;
      margin-bottom: 8px;
   }

   .home-contact .section-contents>ul li a.link_contact div p:first-child {
      font-size: 24px;
   }

   .home-contact .section-contents>ul li a div p:last-child span {
      font-weight: 500;
   }
}

/* ============================= 下層ページ ============================= */
@media screen {
   .h_style_page1 {
      font-size: 50px;
      letter-spacing: .04em;
      font-weight: 700;
      font-family: var(--font-maru);
      margin-bottom: 32px;
      line-height: 1.4;
   }

   .page:not(.page-contact) main {
      background-color: var(--color-base);
   }

   .page .hero {
      background-image: url(../img/bg_page_hero.png);
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      position: relative;
   }

   .page .hero::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 188px;
      background: linear-gradient(to bottom, transparent 0%, var(--color-base) 48%);
      z-index: 1;
   }

   .page .hero .innerWrap {
      height: 580px;
      display: flex;
      justify-content: center;
      align-items: center;
      padding-top: 160px;
   }

   .page-common .hero h1 {
      background-color: var(--color-white);
      padding: 32px 112px;
      border-radius: 8px;
      font-size: 50px;
      font-weight: 700;
      font-family: var(--font-maru);
      color: var(--color-text);
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 16px;
      line-height: 1;
   }

   .page-common .hero h1 span {
      font-size: 16px;
      color: var(--color-main);
      font-weight: 500;
   }

   .page-bases .hero h1 {
      width: 344px;
   }

   .page-about .block_about-philos1 {
      margin-bottom: 48px;
      display: flex;
      gap: 16px;
   }

   .page-about .block_about-philos1>div {
      width: calc((100% - 16px) *0.45);
   }

   .page-about .block_about-philos1::after {
      content: "";
      width: calc((100% - 16px) *0.55);
      aspect-ratio: 986 / 764;
      background: url(../img/img_about-philos01.png) center / contain no-repeat;
   }

   .page-about .block_about-philos2>div {
      max-width: 970px;
      margin: 0 auto;
   }

   .page-about .about-history {
      background-color: var(--color-main);
   }

   .page-about .about-history h2 {
      color: var(--color-white);
   }

   .page-about .about-history .innerWrap {
      display: flex;
      gap: 16px;
   }

   .page-about .about-history .innerWrap>div {
      width: calc((100% - 16px) *0.55);
   }

   .page-about .about-history .innerWrap::before {
      content: "";
      width: calc((100% - 16px) *0.45);
      aspect-ratio: 877 / 680;
      background: url(../img/img_about-history01.png) center / contain no-repeat;
   }

   .page-about .about-history .innerWrap>div>div {
      background-image: url(../img/bg_home-news.png);
      border-radius: 8px;
      padding: 40px 30px;
   }

   .page-about .about-history .history-list {
      display: flex;
      flex-direction: column;
      gap: 30px;
   }

   .page-about .about-history .history-row {
      display: flex;
      line-height: 1.8;
   }

   .page-about .about-history .history-row dt {
      width: 7em;
      flex-shrink: 0;
      font-weight: 400;
   }

   .page-about .about-history .history-row dd {
      display: flex;
      flex-direction: column;
      gap: 30px;
   }

   .page-about .about-bases {
      background-color: var(--color-white);
   }

   .page-bases .bases-intro h2.h_style_page1 {
      text-align: center;
   }

   .page-bases .bases-intro .bases-tips {
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: stretch;
      width: fit-content;
      margin: 0 auto;
      line-height: 1;
      margin-bottom: 40px;
   }

   .page-bases .bases-intro .bases-tips>li ul {
      display: flex;
      gap: 24px;
   }

   .page-bases .bases-intro .bases-tips>li li {
      background-color: var(--color-one);
      border-radius: 8px;
      color: var(--color-white);
      font-weight: 500;
      letter-spacing: .04em;
      padding: 8px 16px;
      line-height: 1;
      text-shadow: 0 2px 2px #5D2B0B;
   }

   .page-bases-toys .bases-intro .bases-tips>li li {
      background-color: var(--color-toys);
   }

   .page-bases-plan .bases-intro .bases-tips>li li {
      background-color: var(--color-plan);
   }

   .page-bases-armo .bases-intro .bases-tips>li li {
      background-color: var(--color-armo);
   }

   .page-bases .bases-intro .bases-tips>li:last-child {
      background-color: var(--color-main);
      border-radius: 8px;
      color: var(--color-white);
      font-weight: 500;
      letter-spacing: .04em;
      padding: 8px 16px;
      line-height: 1;
      text-shadow: 0 2px 2px #5D2B0B;
      text-align: center;
   }

   .page-bases .bases-intro .innerWrap>p {
      max-width: 1080px;
      margin: 0 auto 80px;
   }

   .page-bases .bases-intro .bases-point {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: auto;
      gap: 24px;
   }

   .page-bases .bases-intro .bases-point_img {
      margin-bottom: 16px;
   }

   .page-bases-one .bases-flow {
      background-color: var(--color-one);
   }

   .page-bases-plan .bases-flow {
      background-color: var(--color-plan);
   }

   .page-bases-toys .bases-flow {
      background-color: var(--color-toys);
   }

   .page-bases-armo .bases-flow {
      background-color: var(--color-armo);
   }

   .page-bases .bases-flow_intro {
      color: var(--color-white);
      margin-bottom: 32px;
   }

   .page-bases .bases-flow_intro h2 {
      text-align: center;
   }

   .page-bases .bases-flow_intro p {
      max-width: 640px;
      margin: 0 auto;
      font-size: 20px;
      font-weight: 500;
   }

   .page-bases .bases-flow_intro p span {
      font-size: 30px;
      font-weight: 900;
   }

   .page-bases .bases-flow_schedule {
      background-color: var(--color-white);
      border-radius: 8px;
      padding: 80px 10px;
      position: relative;
   }

   .page-bases-toys .bases-flow_schedule {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 48px;
   }

   .page-bases .bases-flow_schedule h3 {
      display: flex;
      justify-content: center;
      align-items: center;
   }

   .page-bases .bases-flow_schedule h3 span {
      display: inline-block;
      background-color: var(--color-main);
      font-size: 24px;
      font-weight: 700;
      color: var(--color-white);
      font-family: var(--font-maru);
      padding: 8px 20px;
      border-radius: 8px;
      margin-bottom: 48px;
      line-height: 1;
   }

   .page-bases .bases-flow_schedule>div:last-child h3 span {
      background-color: var(--color-toys);
   }

   .page-bases .bases-flow_schedule dl {
      width: 100%;
      max-width: 800px;
      margin: 0 auto;
   }

   .page-bases .bases-flow_schedule dl div {
      display: flex;
      gap: 36px;
      padding-bottom: 30px;
      line-height: 1;
      position: relative;
   }

   .page-bases .bases-flow_schedule dl div:not(:last-child):before {
      content: "";
      position: absolute;
      width: 2px;
      background-color: var(--color-main);
      height: 50%;
      top: 50%;
      left: 36px;
      z-index: 1;
   }

   .page-bases-toys .bases-flow_schedule>div:last-child dl div:not(:last-child):before {
      background-color: var(--color-toys);
   }

   .page-bases .bases-flow_schedule dl dt {
      width: 76px;
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      color: var(--color-main);
      font-size: 14px;
      font-weight: 700;
      align-items: center;
      font-family: var(--font-maru);
      z-index: 2;
   }

   .page-bases-toys .bases-flow_schedule>div:last-child dl dt {
      color: var(--color-toys);
   }

   .page-bases-toys .bases-flow_schedule>div>p {
      background-color: color-mix(in srgb, var(--color-toys) 30%, transparent);
      padding: 10px;
      border-radius: 8px;
   }

   .page-bases .bases-flow_schedule dl dt span {
      font-size: 20px;
   }

   .page-bases .bases-flow_schedule dl dd {
      flex-grow: 1;
   }

   .page-bases .bases-flow_schedule dl dd h4 {
      font-weight: 700;
      font-family: var(--font-maru);
      color: var(--color-text);
      margin-bottom: 8px;
   }

   .page-bases .bases-flow_schedule dl dd p {
      background-color: var(--color-base);
      border-radius: 8px;
      padding: 20px 10px;
      line-height: 1.8;
      width: 100%;
   }

   .bases-flow .innerWrap::before,
   .page-bases .bases-flow_schedule::before,
   .page-bases .bases-flow_schedule::after {
      content: "";
      position: absolute;
      z-index: 10;
      border-radius: 200px;
   }

   .bases-flow .innerWrap::before {
      width: 298px;
      aspect-ratio: 298 / 262;
      background: url(../img/img_bases-flow03.png) center / contain no-repeat;
      right: -120px;
      bottom: 140px;
   }

   .page-bases-plan .bases-flow .innerWrap::before {
      background: url(../img/img_bases-flow03-2.png) center / contain no-repeat;
   }

   .page-bases-toys .bases-flow .innerWrap::before {
      bottom: unset;
      top: 60px;
   }

   .bases-flow .innerWrap .bases-flow_schedule::before {
      width: 298px;
      aspect-ratio: 298 / 262;
      background: url(../img/img_bases-flow02.png) center / contain no-repeat;
      left: -120px;
      top: 530px;
   }

   .page-bases-plan .bases-flow .innerWrap .bases-flow_schedule::before {
      background: url(../img/img_bases-flow02-2.png) center / contain no-repeat;
   }

   .page-bases-toys .bases-flow .innerWrap .bases-flow_schedule::before {
      top: -170px;
   }

   .bases-flow .innerWrap .bases-flow_schedule::after {
      width: 490px;
      aspect-ratio: 490 / 382;
      background: url(../img/img_bases-flow01.png) center / contain no-repeat;
      right: -120px;
      top: 110px;
   }

   .page-bases-plan .bases-flow .innerWrap .bases-flow_schedule::after {
      width: 317px;
      aspect-ratio: 317 / 382;
      background: url(../img/img_bases-flow01-2.png) center / contain no-repeat;
   }

   .page-bases-toys .bases-flow .innerWrap .bases-flow_schedule::after {
      right: unset;
      top: unset;
      left: -120px;
      bottom: -50px;
   }

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

      .bases-flow .innerWrap::before,
      .page-bases .bases-flow_schedule::after {
         border-radius: 200px 0 0 200px;
      }

      .page-bases .bases-flow_schedule::before,
      .page-bases-toys .bases-flow .innerWrap .bases-flow_schedule::after {
         border-radius: 0 200px 200px 0;
      }
   }

   .page-bases .bases-gallery h2,
   .page-bases .bases-staff h2 {
      text-align: center;
   }

   .page-bases .bases-gallery .innerWrap {
      max-width: 100%;
   }

   .page-bases .bases-staff .innerWrap {
      max-width: 1080px;
   }

   .page-bases-toys .bases-staff .staff_catch {
      color: var(--color-toys);
   }

   .page-bases-armo .bases-staff .staff_catch {
      color: var(--color-armo);
   }

   .page-bases .bases-access {
      background-color: var(--color-main);
   }

   .page-bases .bases-access h2 {
      text-align: center;
      color: var(--color-white);
   }

   .page-bases .bases-access iframe {
      width: 100%;
      height: 550px;
      margin-bottom: 24px;
   }

   .page-bases .bases-access .access-list .text-content {
      font-weight: 500;
   }

   .page-bases .bases-access .access-list h3 {
      font-size: 20px;
      font-weight: 700;
   }

   .page-bases .bases-access .access-list .text-content span {
      font-size: 24px;
      font-weight: 700;
   }

   .page-bases-armo .bases-insta .innerWrap>p {
      width: 100%;
      max-width: 850px;
      margin: 0 auto;
   }

   .page-bases-armo .bases-insta h2 {
      text-align: center;
   }

   .page-bases-armo .bases-insta h2::before {
      content: "";
      display: inline-block;
      width: 58px;
      height: 58px;
      background: url(../img/icon_insta.png) center / contain no-repeat;
      margin-right: 8px;
      vertical-align: middle;
      transform: translateY(-0.1em);
   }

   .page-bases-plan .bases-counseling h2 {
      text-align: center;
   }

   .page-bases-plan .bases-counseling ul {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 24px;
   }

   .page-bases-plan .bases-counseling li {
      border: 2px solid var(--color-main);
      border-radius: 8px;
      overflow: hidden;
   }

   .page-bases-plan .bases-counseling .bases-counseling_txt {
      padding: 40px 24px;
   }

   .page-bases-plan .bases-counseling dl {
      display: flex;
      flex-direction: column;
      gap: 30px;
   }

   .page-bases-plan .bases-counseling dt {
      border-left: 4px solid var(--color-main);
      line-height: 1.2;
      padding-left: .3em;
      margin-bottom: 16px;
      font-size: 20px;
      font-weight: 500;
   }

   .page-bases-plan .bases-access .innerWrap::before {
      content: "";
      width: 434px;
      aspect-ratio: 434 / 346;
      background: url(../img/bg_parts09.png) center / contain no-repeat;
      position: absolute;
      right: -140px;
      bottom: -140px;
      z-index: -1;
   }

   .page-bases-plan .bases-intro .innerWrap>p {
      margin: 0 auto;
   }

   .page-bases-plan main>section.bases-intro {
      padding: 100px 0 0;
   }

   .page-recruit .recruit-intro .innerWrap {
      max-width: 1440px;
      padding-right: max(0px, (100vw - 1200px) / 2);
   }

   .page-recruit .recruit-intro .innerWrap>div {
      display: flex;
      align-items: center;
      gap: 24px;
   }

   .page-recruit .recruit-intro .innerWrap>div::before {
      content: "";
      width: calc(((100% - 24px) / 13) * 6);
      aspect-ratio: 607 / 570;
      background: url(../img/img_recruit-intro01.png) center / contain no-repeat;
      border-radius: 400px;
   }

   @media screen and (max-width:1440px) {
      .page-recruit .recruit-intro .innerWrap>div::before {
         border-radius: 0 400px 400px 0;
      }
   }

   .page-recruit .recruit-intro .innerWrap>div>div {
      width: calc(((100% - 24px) / 13) * 7);
   }

   .page-recruit .recruit-intro p {
      margin-bottom: 24px;
   }

   .page-recruit .recruit-intro p.section-catch {
      font-size: 20px;
      font-weight: 500;
      font-family: var(--font-maru);
      margin-bottom: 24px;
   }

   .page-recruit .recruit-intro p span.strong2 {
      display: inline-block;
      padding: 8px 24px;
      border-radius: 8px;
      margin: 0 8px;
      line-height: 1;
      background: linear-gradient(to bottom, #FFFFE4 0%, #F2B705 100%);
   }

   .page-recruit .recruit-appeal h2,
   .page-recruit .recruit-target h2,
   .page-recruit .recruit-staff h2 {
      text-align: center;
   }

   .page-recruit .recruit-target {
      background-color: var(--color-main);
   }

   .page-recruit .recruit-target h2 {
      color: var(--color-white);
   }

   .page-recruit .recruit-target .innerWrap {
      max-width: 1440px;
      padding-left: max(0px, (100vw - 1200px) / 2);
   }

   .page-recruit .recruit-target .section-contents {
      display: flex;
      align-items: flex-start;
      gap: 24px;
   }

   .page-recruit .recruit-target .innerWrap>div>div {
      width: calc((100% - 24px) / 2);
   }

   .page-recruit .recruit-target .innerWrap>div::after {
      content: "";
      width: calc((100% - 24px) / 2);
      aspect-ratio: 625 / 648;
      background: url(../img/img_recruit-target02.png) center / contain no-repeat;
      border-radius: 400px;
   }

   @media screen and (max-width:1440px) {
      .page-recruit .recruit-target .innerWrap>div::after {
         border-radius: 400px 0 0 400px;
      }
   }

   .page-recruit .recruit-target .target_ul1 {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 16px 24px;
      background-color: var(--color-base);
      border-radius: 8px;
      padding: 24px;
      width: 100%;
      line-height: 1;
      margin-bottom: 40px;
   }

   .page-recruit .recruit-target .target_ul1 li {
      display: flex;
      align-items: center;
      gap: 10px;
   }

   .page-recruit .recruit-target .target_ul1 li::before {
      content: "";
      width: 14px;
      height: 10px;
      background: url(../img/icon_check.svg) center / contain no-repeat;
   }

   .page-recruit .recruit-target .target_ul2 {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 24px;
   }

   .page-recruit .recruit-target .target_ul2 li {
      background-color: var(--color-base);
      border-radius: 8px;
      overflow: hidden;
   }

   .page-recruit .recruit-target .recrui-target_txt {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 16px;
      padding: 24px 0;
   }

   .page-recruit .recruit-target .recrui-target_txt h4 {
      font-size: 24px;
      font-weight: 500;
   }

   .page-recruit .recruit-target .recrui-target_txt span {
      display: inline-block;
      line-height: 1;
      padding: 2px 24px;
      border: 1px solid var(--color-text);
      border-radius: 8px;
   }

   .page-recruit .recruit-target .recrui-target_txt ul {
      display: flex;
      flex-direction: column;
      gap: 8px;
   }

   .page-recruit .recruit-target .recrui-target_txt li {
      display: flex;
      align-items: center;
      gap: 10px;
   }

   .page-recruit .recruit-target .recrui-target_txt li::before {
      content: "";
      width: 10px;
      height: 10px;
      border-radius: 5px;
      background-color: var(--color-main);
   }

   .page-recruit .recruit-staff.bg_parts01 .innerWrap::after {
      left: -180px;
      bottom: unset;
      top: -230px;
   }

   .page-recruit .recruit-message .innerWrap {
      max-width: 1440px;
   }

   .page-recruit .recruit-message h2 {
      width: 100%;
      aspect-ratio: 1440 / 590;
      background: url(../img/bg_recruit-message.png) center / contain no-repeat;
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: flex-end;
      padding-bottom: 1.5em;
      text-shadow: 0 0 10px #ffffff, 0 0 15px #ffffff, 0 0 20px #ffffff, 0 0 20px #ffffff, 0 0 25px #ffffff, 0 0 25px #ffffff, 0 0 25px #ffffff;
   }

   .page-recruit .recruit-message .innerWrap>div {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
   }

   .page-recruit .recruit-message .innerWrap>div>span {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 12px;
   }

   .page-recruit .recruit-message .innerWrap>div>span::before,
   .page-recruit .recruit-message .innerWrap>div>span::after {
      content: "";
      display: block;
      width: 3px;
      height: 1.4em;
      background-color: var(--color-main);
      border-radius: 3px;
   }

   .page-recruit .recruit-message .innerWrap>div>span::before {
      transform: rotate(-32deg);
   }

   .page-recruit .recruit-message .innerWrap>div>span::after {
      transform: rotate(32deg);
   }

   .page-contact h1 {
      text-align: center;
      line-height: 1.4 !important;
   }

   .page-contact h2 {
      text-align: center;
   }

   .page-contact .contact-tel .contact-card-list li {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
   }

   .page-contact .contact-tel .contact-card-list li.contact-card-tel {
      margin-bottom: 8px;
   }

   .page-contact .contact-tel .contact-card-list .contact-card-tel a {
      font-size: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      line-height: 1;
   }

   .page-contact .contact-tel .contact-card-list .contact-card-tel a::before {
      content: "";
      background: url(../img/icon_tel_ft.svg) center / contain no-repeat;
      width: 36px;
      height: 36px;
      transform: translateY(.05em);
   }

   .page-contact .contact-tel .contact-card-list .contact-card-hours dl {
      display: flex;
      justify-content: center;
      gap: 16px;
   }

   .page-contact .contact-tel .contact-card-list .contact-card-hours dt {
      font-weight: 400;
   }

   .page-contact .contact-form .innerWrap {
      max-width: 1080px;
   }

   .page-contact .contact-form .contact-form-notice {
      display: flex;
      justify-content: center;
      margin-bottom: 40px;
   }

   .page-contact .contact-form .contact-form-notice ul {
      display: flex;
      flex-direction: column;
      gap: 16px;
   }

   .page-contact .contact-form .contact-form-notice ul li {
      line-height: 1;
      display: flex;
      align-items: flex-start;
      gap: 8px;
   }

   .page-contact .contact-form .contact-form-notice ul li::before {
      content: "";
      width: 1em;
      height: 1em;
      border-radius: 4px;
      background-color: var(--color-text);
      flex-shrink: 0;
   }







   .page-contact .contact-form .innerWrap {
      position: relative;
      z-index: 0;
   }

   .page-contact .contact-form .innerWrap::before {
      content: "";
      position: absolute;
      z-index: -1;
   }

   .page-contact .contact-form .innerWrap::before {
      width: 484px;
      aspect-ratio: 484 / 544;
      background: url(../img/bg_parts01.png) center / contain no-repeat;
      left: -180px;
      bottom: -140px;
   }

   .privacy-body {
      background-color: var(--color-base);
      padding: 100px 0;
   }

   .privacy-body .innerWrap {
      width: 100%;
      max-width: 1080px;
      margin: 0 auto;
   }

   .privacy-content {
      background-color: var(--color-white);
      padding: 80px 100px;
      border-radius: 8px;
   }

   .privacy-section {
      margin-bottom: 56px;
   }

   .privacy-section:last-child {
      margin-bottom: 0;
   }

   .privacy-title {
      color: var(--color-main);
      font-size: 20px;
      font-weight: 500;
      padding-bottom: 12px;
      margin-bottom: 16px;
      border-bottom: .5px solid var(--color-text);
   }

   .privacy-section p {
      line-height: 1.8;
   }

   .privacy-section ul {
      margin-top: 8px;
      display: flex;
      flex-direction: column;
      gap: 4px;
   }
}





/* ============================= レスポンシブ〜1200px ============================= */
@media screen and (max-width:1200px) {

   /* --- Common / Layout --- */
   header .innerWrap,
   footer .innerWrap,
   main>section .innerWrap,
   .breadcrumbs {
      padding-left: 20px;
      padding-right: 20px;
   }

   /* --- Header / Footer --- */
   header .header_row1>div {
      gap: 16px;
   }

   header .header_row1 .link_tel a>div {
      display: none;
   }

   header .header_row1 .link_tel a::before {
      width: 35px;
      height: 35px;
   }

   header .header_row1 .link_contact {
      gap: 0;
      padding: 10px;
      border-radius: 0 0 6px 6px;
      font-size: 13px;
   }

   header .header_row1 .link_contact::after {
      width: 32px;
      height: 25px;
   }

   /* 内側の連絡先（TEL/MAIL）の折り返しは維持 */
   footer .innerWrap>ul>li ul li:nth-child(2) {
      flex-direction: column;
      gap: 0;
   }

   /* --- Home --- */
   .home .hero .innerWrap {
      padding-bottom: 80px;
   }

   .home .hero .innerWrap>div::before {
      left: -300px;
   }

   .home .hero .innerWrap>div::after {
      right: -210px;
   }

   /* --- Page Common & Sub Pages --- */
   .page-bases .bases-gallery .innerWrap,
   .page-recruit .recruit-message .innerWrap {
      padding-left: 0;
      padding-right: 0;
   }

   .page-bases .bases-flow_schedule {
      padding: 180px 10px 80px;
   }

   .bases-flow .innerWrap::before {
      width: 225px;
      right: -20px;
      bottom: -90px;
   }

   .bases-flow .innerWrap .bases-flow_schedule::before {
      width: 175px;
      left: -20px;
      top: 12px;
   }

   .bases-flow .innerWrap .bases-flow_schedule::after {
      width: 226px;
      right: -20px;
      top: -25px;
   }

   .page-bases-plan .bases-flow .innerWrap .bases-flow_schedule::after {
      width: 150px;
      right: -20px;
      top: -25px;
   }

   .page-bases-toys .bases-flow .innerWrap::before {
      top: 250px;
      z-index: 1;
   }

   .page-bases-toys .bases-flow .innerWrap .bases-flow_schedule::before {
      top: 0px;
   }

   .page-bases-toys .bases-flow .innerWrap .bases-flow_schedule::after {
      left: -20px;
   }

   .page-recruit .recruit-intro br.tb {
      display: revert;
   }

   .page-recruit .recruit-intro .innerWrap {
      padding-left: 0;
      padding-right: 20px;
   }

   .page-recruit .recruit-target .innerWrap {
      padding-left: 20px;
      padding-right: 0;
   }

   .page-recruit .recruit-message h2 {
      font-size: 40px;
   }
}

/* ============================= レスポンシブ〜900px ============================= */
@media screen and (max-width:900px) {

   /* --- Common / Layout --- */
   .tb {
      display: revert;
   }

   .bg_partsLogo .innerWrap::after {
      left: -80px;
   }

   .bg_parts01 .innerWrap::after {
      left: -260px;
   }

   .bg_parts09 .innerWrap::after {
      right: -260px;
   }

   .bg_parts10 .innerWrap::after {
      right: -210px;
   }

   .page-bases-armo .bg_parts10 .innerWrap::after {
      top: -120px;
   }

   .staff_container {
      grid-template-columns: repeat(1, 1fr);
      gap: 20px;
   }

   /* --- Header --- */
   header .header_row1 .logo {
      opacity: 1;
      visibility: visible;
      width: 61px;
   }

   /* --- Home --- */
   .home-news .innerWrap>div {
      flex-direction: column;
      gap: 40px;
      padding: 40px 20px;
   }

   .home-news .btn_right,
   .home-about .btn_right,
   .home-recruit .btn_right {
      justify-content: center;
   }

   .home-about .block_home-about1 {
      flex-direction: column-reverse;
      gap: 40px;
      align-items: center;
   }

   .home-about .block_home-about {
      width: 100%;
      max-width: 500px;
      margin-left: auto;
      margin-right: auto;
   }

   .home-about .block_home-about1>div,
   .home-about .block_home-about1::after {
      width: 100%;
   }

   .home-about .h_style02::before {
      width: 60px;
      height: 52px;
      top: -60px;
      left: -28px;
   }

   .home-about .block_home-about1>div>div {
      margin-bottom: 48px;
   }

   .home-about .block_home-about2>ul {
      grid-template-columns: repeat(1, 1fr);
      gap: 20px;
      margin-bottom: 20px;
   }

   .home-bases .innerWrap::before {
      left: -185px;
   }

   .bases-list {
      grid-template-columns: repeat(1, 1fr);
      gap: 24px;
      justify-items: center;
   }

   .bases-list>li {
      width: 100%;
      max-width: 500px;
   }

   .home-recruit .innerWrap::before {
      content: none;
   }

   .home-recruit .innerWrap {
      justify-content: center;
   }

   .home-recruit .innerWrap>div {
      width: 100%;
      max-width: 500px;
   }

   .home-recruit .section-contents::before {
      content: "";
      display: block;
      width: 100%;
      aspect-ratio: 608 / 489;
      background: url(../img/img_home-recruit01.png) center / contain no-repeat;
   }

   .home-recruit h3 {
      font-size: 30px;
      margin-bottom: 20px;
   }

   .home-contact h2.h_style01 {
      margin-bottom: 16px;
   }

   .home-contact h2.h_style01>span span {
      text-align: left;
      display: block;
      line-height: 1.5;
   }

   .home-contact .innerWrap::before,
   .home-contact .innerWrap::after {
      content: none;
   }

   .home-contact .section-contents {
      width: 100%;
      max-width: 500px;
      margin-left: auto;
      margin-right: auto;
      padding-top: 255px;
      background-image: url(../img/bg_contact.png);
      background-repeat: no-repeat;
      background-size: 100% auto;
      background-position: top center;
   }

   .home-contact .section-contents>ul {
      flex-direction: column;
      gap: 32px;
   }

   .home-contact .section-contents>ul li {
      width: 100%;
   }

   /* --- Page Common --- */
   .page .breadcrumbs+* .innerWrap::before {
      left: -290px;
   }

   /* --- Sub Pages --- */
   .page-about .about-philos .innerWrap,
   .page-about .about-history .innerWrap,
   .page-about .about-bases .innerWrap {
      max-width: 500px;
   }

   .page-about .block_about-philos1 {
      flex-direction: column-reverse;
   }

   .page-about .block_about-philos1>div,
   .page-about .block_about-philos1::after {
      width: 100%;
   }

   .page-about .block_about-philos2 img.pc {
      display: none;
   }

   .page-about .about-history .innerWrap {
      flex-direction: column;
   }

   .page-about .about-history .innerWrap>div,
   .page-about .about-history .innerWrap::before {
      width: 100%;
   }

   .page-about .about-history .history-list {
      gap: 16px;
   }

   .page-about .about-history .history-row {
      line-height: 1.5;
   }

   .page-about .about-history .innerWrap>div>div {
      padding: 30px;
   }

   .page-bases .bases-intro .innerWrap,
   .page-bases .bases-staff .innerWrap,
   .page-bases .bases-counseling .innerWrap {
      max-width: 500px;
   }

   .page-bases .bases-intro .bases-point {
      grid-template-columns: repeat(1, 1fr);
   }

   .page-bases .bases-flow_schedule dl div:not(:last-child):before {
      height: 85%;
      top: 15%;
   }

   .page-bases-armo .bases-intro h2 .pc {
      display: none;
   }

   .page-bases-plan .bases-counseling ul {
      grid-template-columns: repeat(1, 1fr);
      gap: 48px;
   }

   .page-bases-toys .bases-flow_schedule {
      grid-template-columns: repeat(1, 1fr);
   }

   .page-bases-toys .bases-flow .innerWrap .bases-flow_schedule::after {
      bottom: -120px;
   }

   .page-recruit .recruit-intro br.tb {
      display: none;
   }

   .page-recruit .recruit-intro .innerWrap {
      padding-left: 0;
      padding-right: 0;
   }

   .page-recruit .recruit-intro .innerWrap>div {
      flex-direction: column;
      gap: 16px;
      align-items: flex-start;
   }

   .page-recruit .recruit-intro .innerWrap>div::before {
      width: calc(100% - 20px);
      max-width: 467px;
   }

   .page-recruit .recruit-intro .innerWrap>div>div {
      width: 100%;
      padding-left: 20px;
      padding-right: 20px;
   }

   .page-recruit .recruit-target .innerWrap {
      padding-left: 0;
      padding-right: 0;
   }

   .page-recruit .recruit-target .innerWrap>div::after {
      content: none;
   }

   .page-recruit .recruit-target .innerWrap>div>div {
      width: 100%;
      padding-left: 20px;
      padding-right: 20px;
   }

   .page-recruit .recruit-target .innerWrap>div>div>div {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      margin-bottom: 24px;
   }

   .page-recruit .recruit-target .innerWrap>div>div>div::after {
      content: "";
      width: calc(100% - 20px);
      max-width: 422px;
      aspect-ratio: 625 / 648;
      background: url(../img/img_recruit-target02.png) center / contain no-repeat;
      border-radius: 400px 0 0 400px;
      transform: translateX(20px);
   }

   .page-recruit .recruit-target .target_ul1 {
      margin-bottom: 24px;
   }

   .page-recruit .recruit-staff .innerWrap {
      max-width: 500px;
   }

   .page-recruit .recruit-staff.bg_parts01 .innerWrap::after {
      width: 194px;
      left: -50px;
      top: -140px;
   }

   .page-recruit .recruit-message h2 {
      padding-bottom: .5em;
   }

   .page-contact .contact-form .innerWrap::before {
      width: 194px;
      left: -30px;
      bottom: 40px;
   }

   .privacy-content {
      padding: 40px 20px;
   }
}

/* ============================= レスポンシブ〜768px ============================= */
@media screen and (max-width:768px) {

   /* --- Common / Layout --- */
   .pc {
      display: none;
   }

   .sp {
      display: revert;
   }

   h2.h_style01 {
      margin-bottom: 16px;
   }

   main>section:not(.hero) {
      padding: 40px 0;
   }

   .bg_partsLogo .innerWrap::after {
      width: 220px;
      left: -50px;
      top: -180px;
   }

   .bg_parts01 .innerWrap::after {
      width: 198px;
      left: -30px;
      bottom: -115px;
   }

   .bg_parts09 .innerWrap::after {
      width: 250px;
      right: -60px;
      top: -120px;
   }

   .bg_parts10 .innerWrap::after {
      width: 217px;
      right: -60px;
      top: -120px;
   }

   .page-bases-armo .bg_parts10 .innerWrap::after {
      top: -120px;
   }

   /* --- Header / Footer --- */
   footer .innerWrap {
      padding-bottom: 40px;
   }

   /* フッター内の連絡先リスト特有の余白 */
   footer .contact-card-list {
      margin-bottom: 40px;
   }

   footer .logo {
      max-width: 200px;
      margin: 0 auto 30px;
   }

   footer .footer-nav ul {
      flex-direction: column;
      gap: 12px;
      align-items: center;
   }

   footer>p {
      font-size: 12px;
      height: 40px;
   }

   footer .innerWrap::before {
      width: 340px;
      height: auto;
      aspect-ratio: 291 / 873;
      background: url(../img/bg_parts04_sp.png) center / contain no-repeat;
      top: 20px;
      left: unset;
      right: -40px;
   }

   footer .innerWrap::after {
      content: none;
   }

   footer .footer-nav {
      gap: 24px;
   }

   /* --- Home --- */
   .home main>section.hero {
      padding-bottom: 0;
   }

   .home main>section.hero .innerWrap {
      padding-left: 36px;
   }

   .home .hero {
      padding-top: 45px;
   }

   .home .hero .innerWrap {
      height: unset;
      aspect-ratio: 542 / 602;
      padding-bottom: 50px;
      background: url(../img/bg_hero_sp.png) center / contain no-repeat;
   }

   .home .hero .innerWrap>div::before,
   .home .hero .innerWrap>div::after {
      content: none;
   }

   .home .hero .main-copy {
      margin-bottom: 45px;
      width: 232px;
   }

   .home-news .innerWrap::before {
      width: 197px;
      height: unset;
      aspect-ratio: 322 / 335;
      top: -70px;
      left: 0;
   }

   .home-about .innerWrap::before {
      content: none;
   }

   .home-bases .innerWrap::before {
      width: 193px;
      top: -135px;
      left: -10px;
   }

   .bases-list .bases-body {
      padding: 16px;
   }

   .bases-list .bases-body>div {
      margin-bottom: 20px;
   }

   .home-recruit .innerWrap::after {
      width: 200px;
      height: unset;
      aspect-ratio: 434 / 346;
      top: -80px;
      right: -15px;
   }

   .home-recruit h2>span:last-child::before,
   .home-contact h2>span:last-child::before {
      width: 60px;
      height: 52px;
      top: -60px;
      left: -28px;
   }

   /* --- Page Common --- */
   .breadcrumbs {
      padding-top: 20px;
      padding-bottom: 20px;
   }

   .page .breadcrumbs+* .innerWrap::before {
      width: 192px;
      left: -40px;
      top: -130px;
   }

   .page .hero .innerWrap {
      height: 500px;
      padding-top: 0;
   }

   .page .hero::before {
      height: 88px;
      background: linear-gradient(to top, transparent 0%, var(--color-base) 48%);
   }

   .page-common .hero h1 {
      width: 100%;
      border-radius: 0;
      padding: 32px 0;
   }

   .page-common main>section.hero .innerWrap {
      padding-left: 0;
      padding-right: 0;
   }

   /* --- Sub Pages --- */
   .page-bases .hero h1 {
      width: 227px;
   }

   .page-bases .bases-flow_schedule dl div {
      gap: 12px;
   }

   .page-recruit .recruit-intro br.tb {
      display: revert;
   }

   .page-recruit .recruit-target .target_ul1 {
      grid-template-columns: repeat(1, 1fr);
      grid-template-columns: max-content;
      justify-content: center;
      gap: 16px;
      padding: 20px;
   }

   .page-recruit .recruit-target .target_ul2 {
      grid-template-columns: repeat(1, 1fr);
      justify-items: center;
      gap: 20px;
   }

   .page-recruit .recruit-target .target_ul2 li {
      width: 100%;
      max-width: 500px;
   }

   .page-recruit .recruit-message h2 {
      aspect-ratio: 540 / 367;
      background: url(../img/bg_recruit-message_sp.png) center / contain no-repeat;
      padding-bottom: .5em;
      padding-left: 40px;
      text-align: left;
      justify-content: flex-start;
   }

   .page-privacy .bg_parts10 .innerWrap::after,
   .news-common .bg_parts10 .innerWrap::after {
      right: -30px;
      bottom: -50px;
   }

   .page-bases-plan .bases-access .innerWrap::before {
      width: 273px;
      right: -40px;
      bottom: -60px;
   }
}

/* ============================= レスポンシブ〜540px ============================= */
@media screen and (max-width:540px) {

   /* --- Common / Layout --- */
   .ssp {
      display: revert;
   }

   h2.h_style01 {
      font-size: 40px;
      gap: 6px;
   }

   h2.h_style01 .h2_icon {
      width: 112px;
   }

   .h_style_page1 {
      font-size: 40px;
   }

   header .innerWrap,
   footer .innerWrap,
   main>section .innerWrap {
      padding-left: 12px;
      padding-right: 12px;
   }

   .staff_container>li {
      padding: 16px;
   }

   /* --- Header --- */
   header .header_row1>div {
      padding-top: 5px;
   }

   header .header_row1 .link_contact {
      background-color: transparent;
      padding: 0;
      border-radius: 0;
   }

   header .header_row1 .link_contact::after {
      width: 45px;
      height: 35px;
   }

   header a.link_contact span {
      display: none;
   }

   /* --- Home --- */
   main>section.hero .innerWrap {
      padding-left: 24px;
   }

   .home .hero .main-copy {
      margin-bottom: 24px;
      width: 180px;
   }

   .home .hero .sub-copy {
      font-size: 12px;
      gap: 6px;
   }

   .home-news .innerWrap::before {
      left: -70px;
   }

   .home-bases .innerWrap::before {
      width: 120px;
      top: -85px;
   }

   .bases-list .bases-header {
      padding: 12px;
   }

   .bases-list .bases-header h3 {
      width: 100px;
   }

   .bases-list .bases-header ul {
      gap: 12px;
      font-size: 12px;
   }

   .bases-list .bases-body>div>p {
      font-size: 12px;
      gap: 8px;
   }

   .home-recruit h3 {
      font-size: 20px;
   }

   .home-recruit .innerWrap::after {
      right: -70px;
   }

   .home-contact .section-contents>ul li a {
      padding: 0 16px;
   }

   .home-contact .section-contents>ul li a div p:first-child {
      font-size: 32px;
   }

   .home-contact .section-contents>ul li a div p:last-child {
      font-size: 12px;
   }

   .home-contact .section-contents>ul li a.link_contact div p:first-child {
      font-size: 18px;
   }

   /* --- Sub Pages --- */
   .page-common .hero h1 {
      font-size: 40px;
   }

   .bases-intro .h_style_page1 {
      font-size: 32px;
   }

   .page-bases .bases-intro .bases-tips>li ul {
      gap: 12px;
   }

   .page-bases .bases-intro .bases-tips>li {
      font-size: 12px;
   }

   .bases-flow .innerWrap::before {
      width: 180px;
   }

   .bases-flow .innerWrap .bases-flow_schedule::before {
      width: 140px;
   }

   .bases-flow .innerWrap .bases-flow_schedule::after {
      width: 180px;
   }

   .page-recruit .recruit-message h2 {
      font-size: 24px;
      padding-left: 20px;
   }

   .privacy-content {
      padding: 40px 12px;
   }

   .privacy-title {
      font-size: 18px;
   }
}





/* ============================= ハンバーガーメニュー〜900px ============================= */
@media screen and (max-width: 900px) {
   body.is-open {
      overflow: hidden;
   }

   body::after {
      content: "";
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.25);
      z-index: 1040;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.4s ease, visibility 0.4s ease;
   }

   body.is-open::after {
      opacity: 1;
      visibility: visible;
   }

   .ham {
      display: flex !important;
   }

   .hamburger-menu {
      width: 27px;
      height: 27px;
      cursor: pointer;
      z-index: 1110;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 8px;
      position: relative;
   }

   .hamburger-menu .bar {
      width: 27px;
      height: 3px;
      border-radius: 3px;
      background-color: var(--color-main);
      transition: all 0.3s ease;
      display: block;
   }

   .header-menu-drawer {
      position: fixed;
      top: 0;
      right: -500px;
      width: 500px;
      height: 100vh;
      background-color: var(--color-base);
      padding: 100px 24px 0;
      transition: right 0.4s ease;
      z-index: 1050;
      overflow-y: auto;
      display: flex;
      justify-content: center;
      align-items: flex-start;
   }

   @media screen and (max-width: 768px) {
      .header-menu-drawer {
         right: -100%;
         width: 100%;
      }
   }

   body.is-open .header-menu-drawer {
      right: 0;
   }

   header .header_row2 .global-nav {
      width: 100%;
   }

   header .header_row2 .global-nav>ul {
      flex-direction: column;
      align-items: stretch;
      gap: 8px;
   }

   header .header_row2 .global-nav>ul>li.logo {
      display: none;
   }

   header .header_row2 .global-nav ul li {
      width: 100%;
      text-align: left;
   }

   header .header_row2 .global-nav ul li>a,
   header .header_row2 .global-nav ul li>span {
      color: var(--color-text);
      font-size: 18px;
      font-weight: 700;
      line-height: 1;
      padding: 12px 0;
      border-bottom: 1px solid var(--color-main);
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      background-image: none !important;
      width: 100% !important;
      height: auto !important;
   }

   header .header_row2 .global-nav ul li>a::before,
   header .header_row2 .global-nav ul li>span::before {
      content: none !important;
   }

   header .header_row2 .global-nav ul li>a::after {
      content: ">";
      color: var(--color-main);
      font-weight: 400;
      font-family: sans-serif;
   }

   header .header_row2 .global-nav ul li .sub-menu {
      position: static !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      background-color: transparent !important;
      border: none !important;
      box-shadow: none !important;
      width: calc(100% - 36px) !important;
      padding: 0 0 0 36px !important;
      display: flex;
      flex-direction: column;
   }

   header .header_row2 .global-nav ul li .sub-menu li a {
      padding: 16px 0;
      font-size: 16px;
      font-weight: 700;
      border-bottom: 1px solid var(--color-main);
      color: var(--color-text);
      display: flex;
      justify-content: space-between;
   }

   body.is-open .link_tel,
   body.is-open .link_contact {
      opacity: 0;
   }

   body.is-open .hamburger-menu .bar {
      background-color: var(--color-main);
   }

   body.is-open .hamburger-menu .bar:nth-child(1) {
      transform: translateY(11px) rotate(45deg);
   }

   body.is-open .hamburger-menu .bar:nth-child(2) {
      opacity: 0;
   }

   body.is-open .hamburger-menu .bar:nth-child(3) {
      transform: translateY(-11px) rotate(-45deg);
   }
}

/* ============================= ギャラリーセクション ============================= */
@media screen {
   .bases-gallery {
      padding: 80px 0;
      background-color: var(--color-base);
   }

   .gallery-wrapper {
      position: relative;
      max-width: 100%;
      margin: 0 auto;
   }

   .gallery-slider {
      width: 100%;
      padding: 40px 0;
      overflow: hidden;
   }

   .gallery-slider .swiper-slide {
      display: flex;
      align-items: center;
      justify-content: center;
   }

   .gallery-slider .slide-inner {
      background-color: #ffffff;
      display: flex;
      justify-content: center;
      align-items: center;
      transition: transform 0.4s ease, box-shadow 0.4s ease;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
   }

   .gallery-slider .slide-inner img {
      width: 100%;
      height: 100%;
      object-fit: contain;
   }

   .gallery-wrapper .gallery-btn-prev,
   .gallery-wrapper .gallery-btn-next {
      background-color: var(--color-main) !important;
      border-radius: 50% !important;
      border: none !important;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2) !important;
      position: absolute;
      top: 50%;
      z-index: 10;
      margin-top: 0;
      cursor: pointer;
      background-repeat: no-repeat !important;
      background-position: center !important;
   }

   .gallery-wrapper .gallery-btn-prev::after,
   .gallery-wrapper .gallery-btn-next::after,
   .gallery-wrapper .gallery-btn-prev::before,
   .gallery-wrapper .gallery-btn-next::before {
      content: none !important;
      display: none !important;
   }

   .gallery-wrapper .gallery-btn-prev {
      background-image: url('../img/arrow_gallery.svg') !important;
   }

   .gallery-wrapper .gallery-btn-next {
      background-image: url('../img/arrow_gallery.svg') !important;
   }

   @media screen and (min-width: 901px) {
      .gallery-slider .swiper-slide {
         width: 609px;
      }

      .gallery-slider .slide-inner {
         width: 636px;
         aspect-ratio: 4 / 3;
         flex-shrink: 0;
         transform: scale(0.664);
      }

      .gallery-slider .swiper-slide-active .slide-inner {
         transform: scale(1);
         box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
         z-index: 2;
         position: relative;
      }

      .gallery-wrapper .gallery-btn-prev,
      .gallery-wrapper .gallery-btn-next {
         width: 50px;
         height: 50px;
         background-size: 60% auto !important;
      }

      .gallery-wrapper .gallery-btn-prev {
         left: calc(50% - 358px);
         transform: translate(-50%, -50%);
      }

      .gallery-wrapper .gallery-btn-next {
         left: calc(50% + 358px);
         transform: translate(-50%, -50%) rotate(180deg);
      }
   }

   @media screen and (max-width: 900px) {
      .gallery-slider .swiper-slide {
         width: 100%;
      }

      .gallery-slider .slide-inner {
         height: auto;
         aspect-ratio: 4 / 3;
         transform: scale(1);
      }

      .gallery-wrapper .gallery-btn-prev {
         transform: translateY(-50%);
      }

      .gallery-wrapper .gallery-btn-next {
         left: auto;
         transform: translateY(-50%) rotate(180deg);
      }
   }

   @media screen and (min-width: 541px) and (max-width: 900px) {
      .gallery-slider .slide-inner {
         width: calc(100% - 128px);
      }

      .gallery-wrapper .gallery-btn-prev,
      .gallery-wrapper .gallery-btn-next {
         width: 32px;
         height: 32px;
         background-size: 55% auto !important;
      }

      .gallery-wrapper .gallery-btn-prev {
         left: 16px;
      }

      .gallery-wrapper .gallery-btn-next {
         right: 16px;
      }
   }

   @media screen and (max-width: 540px) {
      .gallery-slider .slide-inner {
         width: calc(100% - 96px);
      }

      .gallery-wrapper .gallery-btn-prev,
      .gallery-wrapper .gallery-btn-next {
         width: 24px;
         height: 24px;
         background-size: 50% auto !important;
      }

      .gallery-wrapper .gallery-btn-prev {
         left: 12px;
      }

      .gallery-wrapper .gallery-btn-next {
         right: 12px;
      }
   }
}

/* ============================= 汎用カードリスト ============================= */
@media screen {
   .contact-card-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: auto;
      gap: 24px 40px;
   }

   .contact-card-list>li {
      border: 1px solid var(--color-one);
      border-left-width: 14px;
      padding: 24px 10px;
      background-color: var(--color-white);
   }

   .contact-card-list>li.is-plan {
      border-color: var(--color-plan);
   }

   .contact-card-list>li.is-toys {
      border-color: var(--color-toys);
   }

   .contact-card-list>li.is-armo {
      border-color: var(--color-armo);
   }

   .contact-card-list .contact-card-title {
      font-size: 20px;
      font-family: var(--font-maru);
      font-weight: 700;
      color: var(--color-one);
   }

   .contact-card-list>li.is-plan .contact-card-title {
      color: var(--color-plan);
   }

   .contact-card-list>li.is-toys .contact-card-title {
      color: var(--color-toys);
   }

   .contact-card-list>li.is-armo .contact-card-title {
      color: var(--color-armo);
   }

   @media screen and (max-width: 1200px) {
      .contact-card-list {
         gap: 24px;
      }
   }

   @media screen and (max-width: 768px) {
      .contact-card-list {
         grid-template-columns: repeat(1, 1fr);
         justify-items: center;
         gap: 20px;
      }

      .contact-card-list>li {
         width: 100%;
         max-width: 500px;
      }
   }
}

/* ============================= フォーム ============================= */
@media screen {
   .form-fields-container {
      background-color: var(--color-base);
      padding: 48px 100px 80px;
      margin-bottom: 60px;
   }

   .contact-form-table {
      margin-bottom: 40px;
   }

   .form-row {
      display: flex;
      border-bottom: .5px solid var(--color-text);
   }

   .form-row.is-center {
      align-items: center;
   }

   .form-th {
      width: 240px;
      padding: 32px 0;
      display: flex;
      align-items: flex-start;
      gap: 12px;
      flex-shrink: 0;
   }

   .form-row.is-center .form-th {
      align-items: center;
      padding: 0;
   }

   .form-td {
      flex-grow: 1;
      padding: 32px 0 32px 32px;
   }

   .form-row.is-center .form-td {
      padding-top: 24px;
      padding-bottom: 24px;
   }

   .form-th .badge {
      display: inline-block;
      font-size: 12px;
      font-weight: 700;
      padding: 4px 8px;
      border-radius: 4px;
      line-height: 1;
   }

   .form-th .badge.req {
      background-color: #E61818;
      color: var(--color-white);
      border: 1px solid #E61818;
   }

   .form-th .badge.opt {
      background-color: var(--color-white);
      color: var(--color-text);
      border: 1px solid var(--color-text);
   }

   .form-th .label-text {
      font-weight: 700;
      line-height: 1.5;
      transform: translateY(-2px);
   }

   .form-row.is-center .form-th .label-text {
      transform: none;
   }

   .input-full {
      width: 100%;
      background-color: #F1F1F1;
      border: none;
      border-radius: 4px;
      padding: 12px 16px;
      font-size: 16px;
      font-family: inherit;
      color: var(--color-text);
      outline: none;
      transition: background-color 0.3s;
   }

   .input-full:focus {
      background-color: #E8E8E8;
   }

   select.input-full {
      appearance: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z' fill='%235D2B0B'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 16px center;
      background-size: 16px;
      cursor: pointer;
   }

   textarea.input-full {
      resize: vertical;
   }

   .name-group {
      display: flex;
      flex-direction: column;
      gap: 20px;
   }

   .name-label {
      font-size: 14px;
      font-weight: 700;
      margin-bottom: 8px;
   }

   .name-inputs {
      display: flex;
      gap: 20px;
   }

   .input-prefix {
      display: flex;
      align-items: center;
      background-color: #F1F1F1;
      border-radius: 4px;
      padding: 0 16px;
      flex: 1;
      cursor: text;
   }

   .input-prefix:focus-within {
      background-color: #E8E8E8;
   }

   .input-prefix .prefix {
      color: color-mix(in srgb, var(--color-text) 60%, transparent);
      font-size: 14px;
      white-space: nowrap;
   }

   .input-prefix input {
      background: transparent;
      border: none;
      padding: 12px 8px;
      width: 100%;
      outline: none;
      font-size: 16px;
      font-family: inherit;
      color: var(--color-text);
   }

   .address-top {
      display: flex;
      gap: 24px;
      margin-bottom: 20px;
   }

   .address-col {
      flex: 1;
   }

   .checkbox-group {
      display: flex;
      flex-wrap: wrap;
      gap: 16px 24px;
   }

   .checkbox-group.checkbox-grid-3 {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
   }

   .checkbox-group label {
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
   }

   .checkbox-group input[type="checkbox"] {
      appearance: none;
      width: 18px;
      height: 18px;
      border: 1px solid var(--color-text);
      background-color: var(--color-white);
      position: relative;
      margin: 0;
      flex-shrink: 0;
      cursor: pointer;
      border-radius: 2px;
   }

   .checkbox-group input[type="checkbox"]:checked::after {
      content: "";
      position: absolute;
      top: 1px;
      left: 5px;
      width: 5px;
      height: 10px;
      border-right: 2px solid var(--color-main);
      border-bottom: 2px solid var(--color-main);
      transform: rotate(45deg);
   }

   .form-consents-area {
      display: flex;
      flex-direction: column;
      align-items: center;
   }

   .privacy-text {
      text-align: center;
      font-size: 14px;
      font-weight: 500;
      line-height: 1.8;
      margin-bottom: 24px;
   }

   .privacy-text a {
      color: var(--color-main);
      text-decoration: underline;
   }

   .privacy-text a:hover {
      text-decoration: none;
   }

   .consent-wrap .checkbox-group {
      justify-content: center;
   }

   .form-submit-area {
      display: flex;
      justify-content: center;
   }

   @media screen and (max-width: 900px) {
      .form-fields-container {
         padding: 8px 20px 40px;
      }
   }

   @media screen and (max-width: 768px) {
      .form-fields-container {
         padding: 40px 20px;
         margin-bottom: 40px;
      }

      .form-row {
         flex-direction: column;
         border-bottom: none;
         padding-bottom: 32px;
         margin-bottom: 32px;
         border-bottom: 1px solid color-mix(in srgb, var(--color-text) 20%, transparent);
      }

      .form-row.is-center {
         align-items: flex-start;
      }

      .form-row:last-child {
         border-bottom: none;
         margin-bottom: 0;
         padding-bottom: 0;
      }

      .form-th {
         width: 100%;
         padding: 0 0 16px 0;
      }

      .form-row.is-center .form-th {
         padding: 0 0 16px 0;
      }

      .form-row.is-center .form-th .label-text {
         transform: translateY(-2px);
      }

      .form-td {
         padding: 0;
      }

      .form-row.is-center .form-td {
         padding-top: 0;
         padding-bottom: 0;
         width: 100%;
      }

      .name-inputs {
         gap: 12px;
      }

      .address-top {
         gap: 16px;
      }

      .checkbox-group {
         gap: 12px 20px;
      }

      .checkbox-group.checkbox-grid-3 {
         grid-template-columns: repeat(2, 1fr);
         gap: 16px;
      }
   }

   @media screen and (max-width: 540px) {
      .form-fields-container {
         padding: 8px 12px 40px;
      }

      .checkbox-group {
         flex-direction: column;
      }

      .checkbox-group.checkbox-grid-3 {
         grid-template-columns: repeat(1, 1fr);
      }
   }
}

/* ============================= 右下追従ボタン ============================= */
@media screen {
   .fix-container {
      position: fixed;
      right: 0;
      bottom: 100px;
      z-index: 1000;
      opacity: 0;
      visibility: hidden;
      transform: translateX(20px);
      transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease;
   }

   .fix-container.is-show {
      opacity: 1;
      visibility: visible;
      transform: translateX(0);
   }

   .fix-container ul {
      display: flex;
      flex-direction: column;
      gap: 10px;
   }

   .fix-container ul li {
      width: 120px;
   }

   @media screen and (max-width: 900px) {
      .fix-container ul li {
         width: 100px;
      }
   }

   @media screen and (max-width: 768px) {
      .fix-container ul li {
         width: 80px;
      }
   }

   @media screen and (max-width: 540px) {
      .fix-container {
         display: none !important;
      }
   }

   .fix-container ul li a {
      display: block;
      filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.15));
      transition: transform 0.3s ease, filter 0.3s ease;
   }

   .fix-container ul li a:hover {
      transform: translateY(-3px);
      filter: drop-shadow(0 6px 8px rgba(0, 0, 0, 0.2));
      opacity: 1;
   }
}

/* ============================= お知らせ共通・一覧・詳細ページ ============================= */
@media screen {
   .news-header {
      border-bottom: 1px dashed var(--color-main);
      padding-bottom: 24px;
      margin-bottom: 24px;
   }

   .news-header>p {
      display: flex;
      align-items: center;
      gap: 24px;
      margin-bottom: 8px;
   }

   .news-category {
      display: inline-block;
      background-color: var(--color-main);
      padding: 6px 16px;
      color: var(--color-white);
      font-weight: 500;
      border-radius: 8px;
      line-height: 1;
   }


   /* --- お知らせ一覧ページ専用スタイル --- */
   .news-container {
      padding: 100px 0;
   }

   .news-columns {
      display: flex;
      gap: 40px;
      align-items: flex-start;
   }

   .news-main {
      flex: 1;
      min-width: 0;
   }

   .news-sidebar {
      width: 300px;
      flex-shrink: 0;
   }

   .archive-list {
      display: flex;
      flex-direction: column;
      gap: 24px;
   }

   .archive-list li {
      background-color: var(--color-white);
      border-radius: 8px;
      padding: 0;
      /* トップページ（.news-list）の左余白をここでリセット */
   }

   .archive-list-link {
      display: block;
      padding: 32px;
      text-decoration: none;
      color: inherit;
      transition: all 0.3s;
   }

   .archive-list-link:hover {
      background-color: #fefef9;
   }

   .archive-body {
      display: flex;
      gap: 24px;
      justify-content: space-between;
      align-items: flex-start;
   }

   .archive-excerpt {
      flex: 1;
      line-height: 1.8;
      color: var(--color-text);
   }

   .archive-thumb {
      width: 240px;
      flex-shrink: 0;
      aspect-ratio: 4 / 3;
      border-radius: 4px;
      overflow: hidden;
   }

   .archive-thumb img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
   }

   .pagination {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 8px;
      margin-top: 56px;
   }

   .pagination li a,
   .pagination li span {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 36px;
      height: 36px;
      border: 1px solid color-mix(in srgb, var(--color-text) 30%, transparent);
      background-color: var(--color-white);
      color: var(--color-text);
      font-family: var(--font-maru);
      font-weight: 700;
      border-radius: 4px;
      text-decoration: none;
      transition: all 0.3s;
      line-height: 1;
   }

   .pagination li span.current {
      background-color: var(--color-main);
      color: var(--color-white);
      border-color: var(--color-main);
   }

   .pagination li a:hover {
      background-color: var(--color-base);
   }

   .pagination li.dots {
      border: none;
      background: none;
      width: auto;
      font-weight: 700;
      color: color-mix(in srgb, var(--color-text) 50%, transparent);
   }

   .pagination li a.next {
      width: auto;
      padding: 0 16px;
   }

   .widget {
      margin-bottom: 40px;
      background-color: var(--color-white);
      border-radius: 8px;
      overflow: hidden;
   }

   .widget-title {
      background-color: var(--color-main);
      color: var(--color-white);
      padding: 16px 20px;
      font-family: var(--font-maru);
      font-weight: 700;
      font-size: 18px;
      display: flex;
      align-items: center;
      gap: 12px;
   }

   .widget-title::before {
      content: "";
      width: 20px;
      height: 20px;
      background-color: var(--color-white);
      -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z'/%3E%3C/svg%3E");
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
   }

   .widget ul {
      padding: 0 20px;
   }

   .widget li {
      border-bottom: 1px dashed color-mix(in srgb, var(--color-text) 30%, transparent);
   }

   .widget li:last-child {
      border-bottom: none;
   }

   .widget li a {
      display: flex;
      justify-content: space-between;
      padding: 16px 0;
      color: var(--color-text);
      font-weight: 500;
   }


   /* --- お知らせ詳細ページ（news-single）専用スタイル --- */
   .single-article {
      background-color: var(--color-white);
      border-radius: 8px;
      padding: 40px;
   }

   .single-article .news-header {
      border-bottom: 1px dashed color-mix(in srgb, var(--color-text) 30%, transparent);
      padding-bottom: 32px;
      margin-bottom: 32px;
   }

   .single-article .news-title {
      font-size: 24px;
      line-height: 1.5;
      font-weight: 700;
      color: var(--color-text);
   }

   /* WordPress本文エリア */
   .post-content {
      line-height: 1.8;
      color: var(--color-text);
   }

   .post-content * {
      margin-bottom: 24px;
   }

   .post-content *:last-child {
      margin-bottom: 0;
   }

   .post-content h2 {
      font-size: 22px;
      font-weight: 700;
      border-left: 4px solid var(--color-main);
      padding-left: 12px;
      margin-top: 48px;
      margin-bottom: 24px;
   }

   .post-content h3 {
      font-size: 18px;
      font-weight: 700;
      margin-top: 40px;
      margin-bottom: 20px;
   }

   .post-content img {
      width: 100%;
      max-width: 600px;
      max-height: 400px;
      display: block;
      margin: 0 auto 24px;
      /* 左右中央配置と下余白の維持 */
      object-fit: contain;
      /* アスペクト比を維持 */
      border-radius: 4px;
   }

   .post-content img:last-child {
      margin-bottom: 0;
   }

   .single-footer {
      margin-top: 56px;
      padding-top: 40px;
      border-top: 1px solid color-mix(in srgb, var(--color-text) 20%, transparent);
   }


   /* --- レスポンシブ --- */
   @media screen and (max-width: 900px) {
      .news-columns {
         flex-direction: column;
         gap: 56px;
      }

      .news-sidebar {
         width: 100%;
      }
   }

   @media screen and (max-width: 768px) {
      .archive-list-link {
         padding: 24px;
      }

      .archive-body {
         gap: 16px;
      }

      .archive-thumb {
         width: 140px;
      }

      /* --- 詳細ページ用レスポンシブ --- */
      .single-article {
         padding: 24px;
      }

      .single-article .news-title {
         font-size: 20px;
      }
   }

   @media screen and (max-width: 540px) {
      .archive-list-link {
         padding: 20px 16px;
      }

      .archive-thumb {
         width: 100px;
      }

      .archive-excerpt p {
         font-size: 13px;
      }

      /* --- 詳細ページ用レスポンシブ --- */
      .single-article {
         padding: 20px 16px;
      }
   }
}