@charset "UTF-8";

/*
 * http://fonts.googleapis.com
 * https://www.google.com/fonts/attribution
 * http://scripts.sil.org/OFL

 * Font Awesome Free 5.5.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  src: url("../font/fa-solid-900.eot");
  src: url("../font/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../font/fa-solid-900.woff2") format("woff2"), url("../font/fa-solid-900.woff") format("woff"), url("../font/fa-solid-900.ttf") format("truetype"), url("../font/fa-solid-900.svg#fontawesome") format("svg");
}

:root {
  /* Base Color */
  --color-white: #f8f9fa;
  --color-black: #23282c;
  --color-gray: #808080;
  --color-gray-dark: #4c4c4c;
  --color-gray-light: #e8e8e8;
  --color-orange: #b32a00;
  --color-orange-light: #ff9d80;

  /* Company Color */
  --color-chiyoda-blue: #001d7a;
  --color-chiyoda-blue-light: #5a7ced;
  --color-chiyoda-green: #a8cc19;

  /* System Color */
  --color-background: var(--color-white);
  --color-border: var(--color-gray-light);
  --color-link: var(--color-gray);
  --color-link-active: var(--color-gray-dark);
  --color-text: var(--color-black);
  --color-text-white: var(--color-white);

  /* Font Family */
  --font-awesome-5: 'Font Awesome 5 Free';
  --font-family-caveat: 'Caveat', 'Noto Sans JP', sans-serif;
  --font-family-hand: 'Zen Kurenaido', 'Noto Sans JP', sans-serif;
  --font-family-sans: 'Noto Sans JP', sans-serif;
  --font-family-serif: 'Noto Serif JP', serif;

  /* Font Size */
  --font-size-xs: .8rem;
  --font-size-s: .9rem;
  --font-size-m: 1rem;
  --font-size-l: 1.5rem;
  --font-size-xl: 2rem;
}

*,
::after,
::before {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
}

body {
  background-color: #fff;
  color: var(--color-black);
  font: 400 1rem / 1.5 var(--font-family-sans);
  margin: 0;
  overflow-x: hidden;
  overflow-y: scroll;
}

a {
  text-decoration: none;
}

ol, ul {
  list-style: none;
}

img {
  display: block;
  height: auto;
}

.SiteHeader {
  background-color: var(--color-background);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}

.SiteHeader_Switch {
  display: none;
}

.SiteHeader_FirstNav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 0 auto;
  padding: .5rem 10px;
  position: relative;
  width: 100%;
}

.SiteHeader_FirstNavRow {
  display: flex;
  width: 100%;
}

.SiteHeader_ToHome {
  align-items: center;
  display: flex;
  flex: 0 1 auto;
  margin: 0 auto 0 0;
  padding: 0;
}

.SiteHeader_LogoImage {
  height: auto;
  width: 95%;
}

.SiteHeader_Hamburger {
  background-color: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: 4px;
  cursor: pointer;
  flex: 0 0 fit-content;
  font-size: 15px;
  line-height: inherit;
  margin: 0;
  padding: 3px 9px;
}

.SiteHeader_Hamburger:focus-visible {
  outline: auto;
}

.SiteHeader_HamburgerImage {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  background-size: cover;
  display: inline-block;
  height: 1.5em;
  vertical-align: middle;
  width: 1.5em;
}

.SiteHeader_ButtonWrapper {
  align-items: center;
  display: flex;
  height: 0;
  justify-content: center;
  overflow: hidden;
  transition: .4s ease-in-out;
  width: 100%;
}

.SiteHeader_Switch:checked ~ .SiteHeader_FirstNav .SiteHeader_ButtonWrapper {
  height: 1.875rem;
}

.SiteHeader_NavButton {
  border-radius: 4px;
  color: var(--color-text-white);
  cursor: pointer;
  display: inline-block;
  font: 300 var(--font-size-s) / 1.5 var(--font-family-sans);
  height: min-content;
  margin: 0 .25rem 0 0;
  padding: 3px 10px;
  user-select: none;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.SiteHeader_NavButton:focus-visible {
  outline: none;
  text-decoration: underline 2px currentColor;
}

.SiteHeader_NavButton.NavButton-Yellow {
  background-color: #ffc105;
}

.SiteHeader_NavButton.NavButton-Red {
  background-color: #dc3848;
}

.SiteHeader_NavButton.NavButton-Blue {
  background-color: #002bb8;
  margin: 0;
}

.SiteHeader_NavButton.NavButton-Yellow:hover,
.SiteHeader_NavButton.NavButton-Yellow:active {
  background-color: #e0a800;
}

.SiteHeader_NavButton.NavButton-Red:hover,
.SiteHeader_NavButton.NavButton-Red:active {
  background-color: #bd2131;
}

.SiteHeader_NavButton.NavButton-Blue:hover,
.SiteHeader_NavButton.NavButton-Blue:active {
  background-color: var(--color-chiyoda-blue);
}

.SiteHeader_SecondNav {
  border-bottom: 3px solid var(--color-chiyoda-green);
  display: block;
  height: 0;
  margin: 0 auto 0 auto;
  overflow: hidden;
  padding: 0;
  position: relative;
  transition: .4s ease-in-out;
  width: 100%;
}

.SiteHeader_Switch:checked ~ .SiteHeader_SecondNav {
  height: 14.6rem;
}

.SiteHeader_SecondNavList {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  padding: 0 15px;
  width: 100%;
}

.SiteHeader_SecondNavItem {
  border-bottom: 1px solid var(--color-border);
  flex: 1 1 auto;
  letter-spacing: 4px;
  padding: .25rem 0;
  text-align: center;
  z-index: 5;
}

.SiteHeader_SecondNavItem:last-of-type {
  border-bottom: none;
}

.SiteHeader_SecondNavLink {
  border-left: none;
  color: var(--color-link);
  display: block;
  font: 500 var(--font-size-s) / 1.3 var(--font-family-sans);
  margin: 0 0;
  padding: 0 0;
}

.SiteHeader_SecondNavLink:hover {
  color: var(--color-black);
}

.SiteHeader_SecondNavItem:last-of-type > .SiteHeader_SecondNavLink {
  border-right: none;
}

.SiteHeader_ThirdNav {
  background-color: var(--color-background);
  border-bottom: 3px solid var(--color-chiyoda-green);
  bottom: 1px;
  display: none;
  left: 50%;
  padding: 0;
  position: absolute;
  transform: translate(-50%, 100%);
  width: 100%;
}

.SiteHeader_ThirdNavList {
  display: flex;
  margin: 0 auto;
  padding: 0 15px;
  width: 100%;
}

.SiteHeader_ThirdNavItem {
  flex: 1 1 auto;
  height: 100%;
  padding: 0 0;
  text-align: center;
}

.SiteHeader_ThirdNavItem.ThirdNavItem-Current {
  background-color: var(--color-chiyoda-blue);
}

.SiteHeader_ThirdNavLink {
  border-left: 1px solid var(--color-border);
  color: var(--color-link);
  display: block;
  font: 500 var(--font-size-s) / 1.3 var(--font-family-sans);
  margin: .2rem 0;
  padding: .3rem 0;
  text-decoration: none;
  width: 100%;
}

.SiteHeader_ThirdNavItem:last-of-type > .SiteHeader_ThirdNavLink {
  border-right: 1px solid var(--color-border);
}

.SiteHeader_ThirdNavLink:hover,
.SiteHeader_ThirdNavLink:focus {
  color: var(--color-black);
}

.SiteHeader_ThirdNavLink.ThirdNavLink-Current {
  border-left: none;
  color: var(--color-text-white);
}

.SiteHeader_ThirdNavLink:last-of-type.ThirdNavLink-Current {
  border-right: none;
}

.SiteHeader + *, .SiteHeader.SiteHeader-Expanded + * {
  margin-top: 3.25rem;
}

@media screen and (min-width: 576px) {
  .SiteHeader_FirstNav {
    max-width: 540px;
  }

  .SiteHeader_Hamburger {
    padding: 4px 12px;
  }

  .SiteHeader_SecondNavList {
    max-width: 540px;
  }

  .SiteHeader_ThirdNavList {
    max-width: 540px;
  }
}

@media screen and (min-width: 768px) {
  .SiteHeader_FirstNav {
    max-width: 720px;
  }

  .SiteHeader_SecondNavList {
    max-width: 720px;
  }

  .SiteHeader_ThirdNavList {
    max-width: 720px;
  }
}

@media screen and (min-width: 992px) {
  .SiteHeader_FirstNav {
    max-width: 960px;
    padding: .5rem 15px;
  }

  .SiteHeader_FirstNavRow {
    flex: 1 0 max-content;
  }

  .SiteHeader_Hamburger {
    display: none;
  }

  .SiteHeader_ButtonWrapper,
  .SiteHeader_Switch:checked ~ .SiteHeader_FirstNav .SiteHeader_ButtonWrapper {
    height: auto;
    flex: 0 0 max-content;
  }

  .SiteHeader_NavButton {
    display: inline-block;
    font: 400 var(--font-size-m) / 1.5 var(--font-family-sans);
    padding: 6px 12px;
  }

  .SiteHeader_SecondNav,
  .SiteHeader_Switch:checked ~ .SiteHeader_SecondNav {
    height: auto;
    overflow: visible;
  }

  .SiteHeader_SecondNavList {
    flex-direction: row;
    max-width: 960px;
  }

  .SiteHeader_SecondNavItem {
    border-bottom: none;
    letter-spacing: unset;
  }

  .SiteHeader_SecondNavItem:hover,
  .SiteHeader_SecondNavItem:focus-within {
    border-bottom: 3px solid var(--color-chiyoda-green);
  }

  .SiteHeader_SecondNavItem.SecondNavItem-Current {
    border-bottom: 3px solid var(--color-chiyoda-green);
    z-index: 0;
  }

  .SiteHeader_SecondNavLink {
    border-left: 1px solid var(--color-border);
  }

  .SiteHeader_SecondNavItem:last-of-type > .SiteHeader_SecondNavLink {
    border-right: 1px solid var(--color-border);
  }

  .SiteHeader_SecondNavLink:focus-visible {
    color: var(--color-black);
    outline: none;
  }

  .SiteHeader_ThirdNavList {
    max-width: 960px;
  }

  .SiteHeader_SecondNavItem:hover > .SiteHeader_ThirdNav,
  .SiteHeader_SecondNavItem:focus-within .SiteHeader_ThirdNav {
    display: block;
  }

  .SiteHeader_ThirdNavLink:focus-within {
    outline: none;
  }

  .SiteHeader_ThirdNav.ThirdNav-Current {
    display: block;
  }

  .SiteHeader + * {
    margin-top: 6.25rem;
  }

  .SiteHeader.SiteHeader-Expanded + * {
    margin-top: 8.5rem;
  }
}

@media screen and (min-width: 1200px) {
  .SiteHeader_FirstNav {
    max-width: 1140px;
  }

  .SiteHeader_SecondNavList {
    max-width: 1140px;
  }

  .SiteHeader_ThirdNavList {
    max-width: 1140px;
  }
}

.Breadcrumb {
  color: var(--color-chiyoda-blue);
  font: 300 var(--font-size-xs) / 1 var(--font-family-sans);
  width: 100%;
}

.Breadcrumb_List {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: .4rem 15px;
  width: 100%;
}

.Breadcrumb_Item + .Breadcrumb_Item {
  margin-left: .5rem;
}

.Breadcrumb_Item + .Breadcrumb_Item::before {
  content: "\f054";
  display: inline-block;
  font: 600 var(--font-size-xs) / 1 var(--font-awesome-5);
  padding-right: .3rem;
}

.Breadcrumb_Link {
  color: inherit;
  line-height: 1;
  text-decoration: none;
}

.Breadcrumb_Link:hover,
.Breadcrumb_Link:focus-visible {
  outline: none;
  text-decoration: underline;
}

@media screen and (min-width: 576px) {
  .Breadcrumb_List {
    max-width: 540px;
  }
}

@media screen and (min-width: 768px) {
  .Breadcrumb_List {
    max-width: 720px;
  }
}

@media screen and (min-width: 992px) {
  .Breadcrumb_List {
    max-width: 960px;
  }
}

@media screen and (min-width: 1200px) {
  .Breadcrumb_List {
    max-width: 1140px;
  }
}

.PickUp {
  margin: 0 auto 100px auto;
  width: 100%;
}

.PickUp_List {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(1, minmax(200px, 475px));
  justify-content: center;
  margin: 0 auto 0 auto;
  padding: 0;
  width: 100%;
}

.PickUp_Item {
  aspect-ratio: 53 / 30;
  height: auto;
  width: 100%;
}

.PickUp_Item.Item-ComingSoon {
  position: relative;
}

.PickUp_Item.Item-ComingSoon::before {
  color: #c3ccd5;
  content: "Coming Soon...!";
  font: 400 1rem / 1.5 'Noto Sans JP', sans-serif;
  /* left: 50%; */
  position: absolute;
  /* bottom: 10px; */
  /* transform: translateX(-50%); */
  width: max-content;
  z-index: 5;
	/* 20250205以下3点追加・上記3箇所コメントアウト */
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.PickUp_Link {
  display: block;
  height: 100%;
  position: relative;
  width: 100%;
}

.PickUp_Link:focus-visible {
  outline: none;
}

.PickUp_Item.Item-ComingSoon .PickUp_Link {
  filter: brightness(.3);
}

.PickUp_Label {
  background-color: var(--color-background);
  color: var(--color-gray-dark);
  font: 500 var(--font-size-m) / 1.2 var(--font-family-sans);
  left: 50%;
  margin: 0;
  max-width: 90%;
  padding: .625rem 0;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 300px;
}

.PickUp_Item:not(.Item-ComingSoon) .PickUp_Link:hover .PickUp_Label,
.PickUp_Link:focus-visible .PickUp_Label {
  color: var(--color-gray);
}

.PickUp_Image {
  object-fit: cover;
  height: 100%;
  transition: .2s;
  width: 100%;
}

.PickUp_Item:not(.Item-ComingSoon) .PickUp_Link:hover .PickUp_Image,
.PickUp_Link:focus-visible .PickUp_Image {
  opacity: .5;
}

@media screen and (min-width: 576px) {
  .PickUp {
    max-width: 540px;
  }

  .PickUp_List {
    grid-template-columns: repeat(2, minmax(200px, 475px));
  }
}

@media screen and (min-width: 768px) {
  .PickUp {
    max-width: 720px;
  }

  .PickUp_Item.Item-ComingSoon::before {
    font-size: 1.5rem;
  }

  .PickUp_Label {
    font: 500 var(--font-size-l) / 1.2 var(--font-family-sans);
  }
}

.Icon {
  max-width: 250px;
  position: relative;
  width: 100%;
}

.Icon_Link {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: block;
  height: auto;
  overflow: hidden;
  width: 100%;
}

.Icon_Image {
  width: 100%;
}

.Icon_Label {
  color: var(--color-text);
  font: 300 var(--font-size-xs) / 1.5 var(--font-family-sans);
  left: 50%;
  position: absolute;
  top: 82%;
  transform: translate(-50%, -50%);
  width: max-content;
}

@media screen and (min-width: 576px) {
  .Icon_Label {
    font-size: var(--font-size-m);
  }
}

.ToTop {
  background-color: var(--color-gray);
  border-radius: 50%;
  bottom: 35px;
  display: block;
  height: 30px;
  opacity: .3;
  position: fixed;
  right: 15px;
  transition: .3s;
  width: 30px;
  z-index: 10;
}

.ToTop:hover,
.ToTop:active,
.ToTop:focus-visible {
  opacity: .9;
  outline: none;
}

.ToTop::before {
  border-right: 3px solid var(--color-white);
  border-top: 3px solid var(--color-white);
  content: "";
  height: .8rem;
  left: 50%;
  position: absolute;
  top: 59%;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: .8rem;
}

@media screen and (min-width: 576px) {
  .ToTop {
    height: 40px;
    right: 30px;
    width: 40px;
  }

  .ToTop::before {
    height: 1.1rem;
    width: 1.1rem;
  }
}

.SiteFooter {
  background-color: #efefef;
  margin: 8rem 0 0 0;
  padding: 48px 0 0 0;
  width: 100%;
}

.SiteFooter_Banners {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  padding: 0 0;
  text-align: center;
  width: 100%;
}

.SiteFooter_Banner {
  margin: 0 auto 32px auto;
  width: fit-content;
}

.SiteFooter_BannerMynavi {
  width: 300px;
}

.SiteFooter_BannerIT {
  margin: 0 auto;
  width: 100%;
}

.SiteFooter_OuterLink {
  background-color: #0069ff;
  color: var(--color-text-white);
  display: flex;
  flex-wrap: wrap;
  font: 400 var(--font-size-m) / 1.5 var(--font-family-sans);
  gap: 0 .5rem;
  justify-content: center;
  margin: 0 auto 1.5rem auto;
  max-width: 100%;
  padding: .625rem 10px;
  text-align: center;
  width: fit-content;
}

.SiteFooter_Nav {
  display: grid;
  gap: 1rem 15px;
  grid-template-columns: repeat(auto-fit, minmax(max-content, 170px));
  justify-content: center;
  margin: 0 auto 1.5rem auto;
  max-width: max-content;
  padding: 0 15px;
  width: 100%;
}

.SiteFooter_NavColumn {
  margin: 0;
  padding: 0;
  width: 100%;
}

.SiteFooter_NavToSecond {
  color: var(--color-link);
  font: 300 var(--font-size-s) / 1.5 var(--font-family-sans);
  text-decoration: none;
}

.SiteFooter_NavToSecond:hover,
.SiteFooter_NavToSecond:focus-visible {
  color: var(--color-black);
  outline: none;
  text-decoration: underline;
}

.SiteFooter_NavList {
  border-left: 1px solid var(--color-link);
  margin: 0;
  padding-left: 12px;
}

.SiteFooter_CopyRight {
  background-color: var(--color-chiyoda-blue);
}

.SiteFooter_CopyRightInfo {
  color: var(--color-text-white);
  font: 400 .5rem / 1.5 var(--font-family-sans);
  padding: .5rem 0;
  margin: 0;
  text-align: center;
}

.SiteFooter_NavToThird {
  color: var(--color-link);
  font: 300 var(--font-size-s) / 1.5 var(--font-family-sans);
  text-decoration: none;
}

.SiteFooter_NavToThird:hover,
.SiteFooter_NavToThird:focus-visible {
  color: var(--color-black);
  outline: none;
  text-decoration: underline;
}

.SiteFooter_Logo {
  margin: 0 0 48px 0;
  text-align: center;
}

.SiteFooter_LogoLink {
  display: block;
  margin: 0 auto;
  width: max-content;
}

.SiteFooter_LogoImage {
  margin: 0 auto;
}

@media screen and (min-width: 576px) {
  .SiteFooter_Nav {
    max-width: 540px;
  }

  .SiteFooter_NavToSecond {
    font-size: var(--font-size-m);
  }

  .SiteFooter_NavToThird {
    font-size: var(--font-size-m);
  }
}

@media screen and (min-width: 768px) {
  .SiteFooter_Nav {
    max-width: 720px;
  }
}

@media screen and (min-width: 992px) {
  .SiteFooter_Nav {
    max-width: 960px;
  }
}

@media screen and (min-width: 1200px) {
  .SiteFooter_Nav {
    max-width: unset;
  }
}

/* 20240411追加 */
.SiteFooter_CopyRightLink {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0.5rem 0 0 0;
}

.SiteFooter_CopyRightLink a {
  color: var(--color-text-white);
  font: 400 .8rem / 1.5 var(--font-family-sans);
  padding: 0 0.5rem;
}

.SiteFooter_CopyRightLink a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 576px) {
  .SiteFooter_CopyRightLink a {
    font: 400 .7rem / 1.7 var(--font-family-sans);
  }
}

/* フッターアンカーリンク時の高さ調整 */
.Policy_social, .Policy_Socialmedia {
  padding-top: 100px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -100px; /* heightと同じ分のネガティブマージン */
}

@media screen and (max-width: 576px) {
  .Policy_social, .Policy_Socialmedia {
    padding-top: 60px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -60px; /* heightと同じ分のネガティブマージン */
  }
}