@media screen and (min-width: 601px) {
  a:hover {
    text-decoration: none;
  }
}
@media screen and (min-width: 600px) {
  a[href^='tel:'] {
    pointer-events: none;
  }
}

/*------------------------------------------------
utils
------------------------------------------------*/
.dn {display: none;}
.di {display: inline;}
.db {display: block;}
.dib {display: inline-block;}
.fwn {font-weight: 400;}
.fwb {font-weight: 700;}
.pen {pointer-events: none;}
.mra {margin-right: auto;}
.mla {margin-left: auto;}
.tar {text-align: right;}
.tal {text-align: left;}
.tac {text-align: center;}
.tdn {text-decoration: none;}
.tdu {text-decoration: underline;}
@media screen and (min-width: 601px) {
  .dn-w {display: none;}
}
@media screen and (max-width: 600px) {
  .dn-n {display: none;}
}


/*------------------------------------------------
variable
------------------------------------------------*/
#__bs_notify__ {
  display: none !important;
}
/* ルートをデザインデータ上の10pxに統一 ------------*/
.-adapted  {
  --c-black: #111111;
  --c-darkgray: #8d8f93;
  --c-lightgray: #e3e3e3;
  --c-white: #ffffff;
  --c-red: #ff6464;
  --c-blue: #3770c5;
  --min-width: 1300;
  --max-width: 1600;
  /* // --fz: 10px;
  --fz: clamp(10px, calc(100vw / #{var(--min-width)} * 10), calc(#{var(--max-width)} / 1300 * 10px)); */
  font-size: var(--fz);
  --scrollbar: 0px;
}
@media screen and (max-width: 600px) {
  .-adapted  {
    --fz: calc(100 / 375 * 10vw);
  }
} /* SP only ------------ */

/*------------------------------------------------
html,body
------------------------------------------------*/
.-adapted  *,
.-adapted  *::before,
.-adapted  *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
    padding-right: 0px;
    padding-left: 0px;
  min-width: 0;
  min-height: 0;
}
.-adapted {
  font-family: YuGothic, '游ゴシック体', 'Yu Gothic Medium', 'メイリオ', sans-serif;
  color: #000000;
  background: #fff none;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-overflow-scrolling: touch;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.-adapted img {
  max-width: 100%;
  height: auto; 
}
.-adapted a {
  text-decoration: none;
}
.-adapted :where(button, input:not([type="checkbox"]):not([type="radio"]), textarea) {
  border: 0;
  border-radius: 0;
  background: transparent;
  -webkit-appearance: none;
}
.-adapted :where(button) {
  text-align: left;
  cursor: pointer;
  padding: 0;
}
body[tabindex='-1'] {
  outline: 0;
  outline-color: transparent;
}
.is-modal {
  overflow: hidden;
}
@media screen and (min-width: 601px) {
  body *:focus-visible {
    outline: auto;
  }
} /* PC only ------------ */
@media screen and (max-width: 600px) {
  .-adapted {
    font-size: 14px;
  }
  .oh-open {
    overflow: hidden;
    width: 100%;
    position: fixed;
    left: 0;
  }
  .oh-open .overlay {
    opacity: 1;
    visibility: visible;
  }
} /* SP only ------------ */

/*------------------------------------------------
svg
------------------------------------------------*/
.ico_svg {
  width: 100%;
  height: auto;
  transition: transform 0.25s ease;
}
.ico_svg .svg-elm {
  transition: fill 0.25s ease, stroke 0.25s ease, transform 0.25s ease;
}

@media screen and (min-width: 601px) {
  .effect-fade-hover {
    -webkit-transition: opacity 0.15s ease;
    transition: opacity 0.15s ease;
  }
  .effect-fade-hover:hover {
    opacity: 0.6;
  }
} /* PC only ------------ */

/*------------------------------------------------
wrapper
------------------------------------------------*/
#wrapper {
}
@media screen and (min-width: 601px) {
  #wrapper {
    min-width: 980px;
  }
} /* PC only ------------ */
@media screen and (max-width: 600px) {
  #wrapper {
    width: 100%;
  }
} /* SP only ------------ */

/*------------------------------------------------
header
------------------------------------------------*/
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  transition: transform 0.25s ease;
}
@media screen and (min-width: 601px) {
  #header.header--hidden {
    transform: translateY(-85px);
  }
} /* PC only ------------ */

.header__in {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px 20px;
  background: #fff;
  container-type: inline-size;
}
@media screen and (min-width: 601px) {
  .header__in {
    min-width: 980px;
    min-height: 100px;
    margin-right: auto;
    margin-left: auto;
  }
} /* PC only ------------ */
@media screen and (max-width: 600px) {
  .header__in {
    height: 60px;
    padding: 0 0 0 10px;
  }
} /* SP only ------------ */

/* header-logo ------------*/
.header__logo {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: min(301px,28cqw);
}
.header__cnt {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header__wrap {
  flex: 1;
  border-right: 1px solid var(--c-lightgray);
  padding-right: 21px;
  margin-right: 21px;
}
@media screen and (max-width: 600px) {
  .header__logo {
    width: 180px;
  }
  .header__cnt {
    height: 100%;
  }
  .header__wrap {
    display: none;
  }
} /* SP only ------------ */
.header-top {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header-top__list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 30px;
}
@media screen and (min-width: 601px) and (max-width: 1120px) {
  .header-top__list {
    gap: 15px;
  }
} /* min-width: 699px and max-width: 1300px ------------ */
.header-top__item {
  display: flex;
}
.header-top__link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 5px;
  font-weight: 700;
  font-size: 12px;
  line-height: 2.1;
  letter-spacing: 0;
  transition: color 0.25s ease;
}
.header-top__link .ico_arrow-right {
  width: 14px;
  height: 14px;
}
@media screen and (min-width: 601px) {
  .header-top__link:hover {
    color: var(--c-blue);
  }
} /* PC only ------------ */
.header-top-search {
  position: relative;
  width: 95px;
  height: 32px;
  margin-left: 23px;
}
@media screen and (min-width: 601px) and (max-width: 1120px) {
  .header-top-search {
    margin-left: 13px;
  }
} /* min-width: 699px and max-width: 1300px ------------ */
.header-top-search.header-top-search--open {
  width: 200px;
}
@media screen and (min-width: 601px) and (max-width: 1120px) {
  .header-top-search.header-top-search--open {
    width: 170px;
  }
} /* min-width: 699px and max-width: 1300px ------------ */
.header-top-search__toggle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: auto;
}
.header-top-search.header-top-search--open .header-top-search__toggle {
  pointer-events: none;
}
.header-top-search.header-top-search--open .header-top-search__btn {
  pointer-events: auto;
}
.header-top-search__form {
  border: 1px solid var(--c-darkgray);
  border-radius: 100vw;
  width: 100%;
  height: 100%;
}
.header-top-search__input {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 50px;
  padding-right: 5px;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.header-top-search__btn {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  margin: auto;
  width: 20px;
  height: 20px;
  pointer-events: none;
}
.ico_svg.ico_search {
}
.svg-elm.svg-path.svg-path01 {
}

.header-top__btnlist {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-left: 10px;
}
.header-top__btnitem {
  display: flex;
}
.header-top__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 144px;
  height: 32px;
  border-radius: 5px;
  background-color: var(--c-black);
  border: 1px solid var(--c-black);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.02em;
  transition: color 0.25s ease, background-color 0.25s ease;
}
.header-top__btn .ico_mail {
  width: 16px;
  height: 16px;
}
@media screen and (min-width: 601px) and (max-width: 1120px) {
  .header-top__btn {
    width: 110px;
    gap: 5px;
    font-size: 11px;
  }
} /* min-width: 699px and max-width: 1300px ------------ */
.header-top__btn.header-top__btn--blue {
  background-color: var(--c-blue);
  border-color: var(--c-blue);
}
@media screen and (min-width: 601px) {
  .header-top__btn:hover {
    background-color: var(--c-white);
    color: var(--c-black);
  }
  .header-top__btn:hover .ico_mail .svg-path {
    fill: var(--c-black);
  }
  .header-top__btn.header-top__btn--blue:hover {
    color: var(--c-blue);
  }
  .header-top__btn.header-top__btn--blue:hover .ico_mail .svg-path {
    fill: var(--c-blue);
  }
} /* PC only ------------ */
.header-top__yt {
  display: grid;
  place-content: center;
}
.header-top__ytlink {
  display: block;
  width: 2em;
  aspect-ratio: 3/2;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" class="external-icon" viewBox="0 0 28.57  20" focusable="false" style="pointer-events: none; display: block; width: 100%; height: 100%;"><svg viewBox="0 0 28.57 20" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg"><g><path d="M27.9727 3.12324C27.6435 1.89323 26.6768 0.926623 25.4468 0.597366C23.2197 2.24288e-07 14.285 0 14.285 0C14.285 0 5.35042 2.24288e-07 3.12323 0.597366C1.89323 0.926623 0.926623 1.89323 0.597366 3.12324C2.24288e-07 5.35042 0 10 0 10C0 10 2.24288e-07 14.6496 0.597366 16.8768C0.926623 18.1068 1.89323 19.0734 3.12323 19.4026C5.35042 20 14.285 20 14.285 20C14.285 20 23.2197 20 25.4468 19.4026C26.6768 19.0734 27.6435 18.1068 27.9727 16.8768C28.5701 14.6496 28.5701 10 28.5701 10C28.5701 10 28.5677 5.35042 27.9727 3.12324Z" fill="%23FF0000"></path><path d="M11.4253 14.2854L18.8477 10.0004L11.4253 5.71533V14.2854Z" fill="white"></path></g></svg></svg>') no-repeat 50% 50% / contain;
  white-space: nowrap;
  overflow: hidden;
  text-indent: 110%;
}
.header-btm {
  display: flex;
  justify-content: flex-end;
  gap: 23px;
  margin-top: 10px;
}
@media screen and (min-width: 601px) and (max-width: 1120px) {
  .header-btm {
    gap: 12px;
  }
} /* min-width: 699px and max-width: 1300px ------------ */
.header-btm__item {
  display: flex;
}
.header-btm__link {
  display: flex;
  position: relative;
  font-weight: 700;
  font-size: 14px;
  line-height: 2.1;
  letter-spacing: 0.05em;
  transition: color 0.25s ease;
}
.header-btm__link::before {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  right: 0;
  width: 5px;
  height: 5px;
  margin: auto;
  border-radius: 50%;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  background-color: var(--c-blue);
} /* before ------------*/
@media screen and (min-width: 601px) {
  .header-btm__link:hover {
    color: var(--c-blue);
  }
  .header-btm__link:hover::before {
    opacity: 1;
    transform: translateY(0px);
  }
} /* PC only ------------ */
.header-btm__link.header-btm__link--current {
  color: var(--c-blue);
}
.header-btm__link.header-btm__link--current::before {
  opacity: 1;
  transform: translateY(0px);
}
.header__group {
  display: flex;
  width: 95px;
}
@media screen and (max-width: 600px) {
  .header__group {
    width: 80px;
  }
} /* SP only ------------ */

@media screen and (min-width: 601px) {
  .header-menu {
    display: none !important;
  }
} /* PC only ------------ */

.header-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 60px;
  height: 100%;
  padding-top: 7px;
  margin-left: 5px;
}
.header-menu.header-menu--open .header-menu__line:nth-of-type(1) {
  opacity: 0;
  transform: translateX(10px);
}
.header-menu.header-menu--open .header-menu__line:nth-of-type(2) {
  rotate: 30deg;
}
.header-menu.header-menu--open .header-menu__line:nth-of-type(3) {
  opacity: 0;
  transform: translateX(-10px);
}
.header-menu.header-menu--open .header-menu__line:nth-of-type(4) {
  opacity: 1;
  rotate: -30deg;
}
.header-menu__wrap {
  display: block;
  position: relative;
  width: 30px;
  height: 18px;
}
.header-menu__line {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  margin: auto;
  background-color: var(--c-black);
  transition: top 0.25s ease, bottom 0.25s ease, opacity 0.25s ease, transform 0.25s ease, rotate 0.25s ease;
}
.header-menu__line:nth-of-type(1) {
  top: 0;
  bottom: auto;
} /* nth-of-type(1) ------------ */
.header-menu__line:nth-of-type(2) {
  top: 0;
  bottom: 0;
} /* nth-of-type(1) ------------ */
.header-menu__line:nth-of-type(3) {
  top: auto;
  bottom: 0;
} /* nth-of-type(1) ------------ */
.header-menu__line:nth-of-type(4) {
  top: 0;
  bottom: 0;
  opacity: 0;
} /* nth-of-type(1) ------------ */
.header-menu__txt {
  margin-top: 2px;
  font-weight: 700;
  font-size: 11px;
  line-height: 2.1;
  letter-spacing: 0;
}
/* -------------- header-nav -------------- */
.header-nav {
  display: block;
  position: fixed;
  top: 60px;
  left: 0;
  width: 100%;
  height: calc((var(--vh, 1vh) * 100) - 60px);
  background: var(--c-white);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
@media screen and (min-width: 601px) {
  .header-nav {
    display: none;
  }
} /* PC only ------------ */
.header-nav > * {
  max-width: 100%;
  overflow: hidden;
}
.header-nav.header-nav--active {
  opacity: 1;
  visibility: visible;
}
.header-nav-search {
  padding-top: 20px;
}
.header-nav-search__form {
  position: relative;
  width: 335px;
  border: 1px solid var(--c-darkgray);
  border-radius: 100vw;
  margin-left: auto;
  margin-right: auto;
}
.header-nav-search__input {
  width: 100%;
  padding: 13px 13px 13px 60px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.header-nav-search__btn {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 19px;
  width: 30px;
  height: 30px;
  margin: auto;
}
.header-nav__list {
  margin-top: 20px;
  padding-inline: 20px;
}
.header-nav__item {
}
.header-nav__item:not(:first-of-type) {
  margin-top: 20px;
} /* :not(:first-of-type) ------------ */
.header-nav__link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--c-lightgray);
  color: #3770c5;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.header-nav__toggle {
  display: block;
  position: absolute;
  top: 0;
  bottom: 10px;
  right: 10px;
  margin: auto;
  width: 24px;
  height: 24px;
}
.header-nav__toggle::before,
.header-nav__toggle::after {
  content: '';
  position: absolute;
  inset: 0;
  margin: auto;
  height: 2px;
  width: 17px;
  background-color: var(--c-black);
  transition: transform 0.25s ease;
} /* before after ------------*/
.header-nav__toggle::before {
  transform: rotate(-90deg);
} /* before ------------*/
.header-nav__link.header-nav__link--active .header-nav__toggle::before {
  transform: rotate(0deg);
} /* before ------------*/
.header-nav__link {
  padding-inline: 20px 44px;
}
.header-nav__link .ico_svg.ico_arrow-right {
  position: absolute;
  top: 0;
  bottom: 10px;
  right: 10px;
  margin: auto;
  width: 24px;
  height: 24px;
}
.header-nav-child {
  display: none;
  margin-top: 10px;
}
.header-nav-child.header-nav-child--open {
  display: block;
}
.header-nav-child__list {
  padding-left: 20px;
}
.header-nav-child__item:not(:first-of-type) {
  margin-top: 10px;
} /* :not(:first-of-type) ------------ */
.header-nav-child__link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.02em;
}
.header-nav-child__link .ico_svg.ico_arrow-right {
  width: 20px;
  height: 20px;
}
.header-nav-child__link .ico_svg.ico_arrow-right .svg-path {
}
.header-nav-child__label {
  margin-block: 10px;
  padding-left: 20px;
  color: #8d8f93;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.02em;
}
/* -------------- .header-nav-area -------------- */
.header-nav-area {
 display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 13px;
  margin-top: 40px;
  padding-inline: 20px;
}
.header-nav-area__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .2em;
  width: calc(50% - 7px);
  height: 80px;
  padding-inline: .4em;
  border-radius: 11px;
  background-color: var(--c-blue);
  text-align: center;
  color: #ffffff;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.header-nav-area__link > span > span {
  display: inline-block;
}
.header-nav-area__link.header-nav-area__link--black {
  background-color: var(--c-black);
}
.header-nav-area__link .ico_svg.ico_mail {
  width: 26px;
}
.header-nav-area__ytlink {
  display: block;
  width: 4em;
  aspect-ratio: 3/2;
  margin:1em auto 0;
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" class="external-icon" viewBox="0 0 28.57  20" focusable="false" style="pointer-events: none; display: block; width: 100%; height: 100%;"><svg viewBox="0 0 28.57 20" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg"><g><path d="M27.9727 3.12324C27.6435 1.89323 26.6768 0.926623 25.4468 0.597366C23.2197 2.24288e-07 14.285 0 14.285 0C14.285 0 5.35042 2.24288e-07 3.12323 0.597366C1.89323 0.926623 0.926623 1.89323 0.597366 3.12324C2.24288e-07 5.35042 0 10 0 10C0 10 2.24288e-07 14.6496 0.597366 16.8768C0.926623 18.1068 1.89323 19.0734 3.12323 19.4026C5.35042 20 14.285 20 14.285 20C14.285 20 23.2197 20 25.4468 19.4026C26.6768 19.0734 27.6435 18.1068 27.9727 16.8768C28.5701 14.6496 28.5701 10 28.5701 10C28.5701 10 28.5677 5.35042 27.9727 3.12324Z" fill="%23FF0000"></path><path d="M11.4253 14.2854L18.8477 10.0004L11.4253 5.71533V14.2854Z" fill="white"></path></g></svg></svg>') no-repeat 50% 50% / contain;
  white-space: nowrap;
  overflow: hidden;
  text-indent: 110%;
}
.header-nav__close {
  position: relative;
  width: 100%;
  height: 60px;
  margin-top: 40px;
  border-top: 1px solid var(--c-darkgray);
}
.header-nav__closeicon {
  position: absolute;
  display: block;
  width: 34px;
  height: 22px;
  inset: 0;
  margin: auto;
}
.header-nav__closeicon::before,
.header-nav__closeicon::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 30px;
  height: 2px;
  background-color: var(--c-black);
  margin: auto;
} /* before after ------------*/
.header-nav__closeicon::before {
  transform: rotate(30deg);
}
.header-nav__closeicon::after {
  transform: rotate(-30deg);
}


/*------------------------------------------------
page-top
------------------------------------------------*/
.pagetop__wrp {
  position: relative;
  width: 100%;
  height: 0;
  margin-right: auto;
  margin-left: auto;
}
.pagetop {
  position: relative;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0s 0.25s ease;
}
.pagetop.pagetop--show {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.25s ease, visibility 0s ease;
}
.pagetop a {
  position: fixed;
  z-index: 100;
  bottom: 10px;
  right: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 2px solid #3770c5;
  background-color: #3770c5;
  transition: background 0.25s ease;
}
.pagetop a .ico_angle-up {
  width: 20px;
  height: 20px;
}
@media screen and (min-width: 601px) {
  .pagetop a:hover {
    background-color: #fff;
  }
  .pagetop a:hover .ico_angle-up .svg-path {
    fill: #3770c5;
  }
} /* PC only ------------ */
@media screen and (max-width: 600px) {
  .pagetop a {
    right: 10px;
    width: 60px;
    height: 60px;
  }
} /* SP only ------------ */

/*------------------------------------------------
footer
------------------------------------------------*/
.footer__copy {
  font-size: 11px;
  width: 100%;
  padding: 5px 0;
  text-align: center;
  background: #000000;
  color: #fff;
}
@media screen and (max-width: 600px) {
  .footer__copy {
    padding: 10px 0;
    font-size: 10px;
    line-height: 1;
  }
} /* SP only ------------ */

/*------------------------------------------------
Loading
------------------------------------------------*/
.loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10000;
  background: rgba(255, 255, 255, 1);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  transition: opacity 0.5s ease, visibility 0s 0.5s ease, z-index 0s 0.5s ease;
}
.loading.loading--off {
  opacity: 0;
  visibility: hidden;
  z-index: -1;
}
.now-loading {
  overflow: hidden;
  width: 100%;
  position: fixed;
  left: 0;
}

#footer {
  width: 100%;
  /*border-top: 1px solid var(--c-lightgray);*/
}
@media screen and (min-width: 601px) {
  #footer {
    min-width: 980px;
  }
}
.footer__in {
  max-width: 1200px;
  padding: 60px 10px;
  margin-left: auto;
  margin-right: auto;
}
.footer-nav {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 600px) {
  .footer-nav {
    display: none;
  }
} /* SP only ------------ */
.footer-nav__list {
  width: fit-content;
}
.footer-nav__item:not(:first-of-type) {
  margin-top: 20px;
} /* :not(:first-of-type) ------------ */
.footer-nav__link {
  display: block;
  width: fit-content;
  position: relative;
  color: #3770c5;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.footer-nav__link::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--c-blue);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.25s ease;
}
@media screen and (min-width: 601px) {
  .footer-nav__link:hover::before {
    transform: scaleX(1);
    transform-origin: left center;
  }
} /* PC only ------------ */

.footer-nav-child {
  margin-top: 5px;
}
.footer-nav-child + .footer-nav__label {
  margin-top: 20px;
}
.footer-nav-child__item {
  display: flex;
}
.footer-nav-child__item:not(:first-of-type) {
  margin-top: 5px;
} /* :not(:first-of-type) ------------ */
.footer-nav-child__link {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: fit-content;
  gap: 5px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 0.02em;
  transition: color 0.25s ease;
}
@media screen and (min-width: 601px) {
  .footer-nav-child__link:hover {
    color: var(--c-blue);
  }
} /* PC only ------------ */
.footer-nav-child__link .ico_arrow-right {
  width: 16px;
  height: 16px;
}
.footer-nav-child__link .ico_arrow-right .svg-path {
  fill: var(--c-black);
}
.footer-nav__label {
  display: block;
  margin-top: 5px;
  color: #8d8f93;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 0.02em;
}
.footer-cnt {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  margin-top: 40px;
}
.footer-cnt__info {
  width: 378px;
}
.footer-cnt__logo {
  width: 100%;
}
.footer-cnt__address {
  margin-top: 12px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.footer-cnt__snslist {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 10px;
}
.footer-cnt__snsitem {
  display: flex;
}
.footer-cnt__sns {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.footer-cnt__sns img {
  width: 42px;
}
.footer-cnt__bnrarea {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.footer-cnt__item {
}
.footer-cnt__bnr {
  display: block;
  width: 134px;
  border-radius: 10px;
  overflow: hidden;
}
.footer-btm {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 40px;
}
.footer-btm__copy {
  font-family: 'Raleway', sans-serif;
  font-weight: 400;
  font-size: 11px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.footer-btm__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.footer-btm__item {
  position: relative;
  padding-inline: 20px;
}
@media screen and (min-width: 601px) and (max-width: 1200px) {
  .footer-btm__item {
    padding-inline: 12px;
  }
} /* min-width: 699px and max-width: 1300px ------------ */
.footer-btm__item::before,
.footer-btm__item::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: var(--c-lightgray);
  margin: auto;
} /* before after ------------*/
.footer-btm__item::after {
  content: none;
}
.footer-btm__item:last-of-type::after {
  content: '';
  left: auto;
  right: 0;
} /* last-of-type ------------ */
.footer-btm__link {
  text-align: center;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0.02em;
  transition: color 0.25s ease;
}
@media screen and (min-width: 601px) {
  .footer-btm__link:hover {
    color: var(--c-blue);
  }
}
@media screen and (max-width: 600px) {
  .footer-cnt {
    justify-content: flex-start;
    gap: 20px;
    align-items: center;
    flex-direction: column;
    margin-top: 0;
  }
  .footer-cnt__info {
    max-width: 325px;
    width: 100%;
  }
  .footer-cnt__address {
    font-size: 12px;
  }
  .footer-btm {
    flex-direction: column-reverse;
    justify-content: flex-start;
    gap: 30px;
    margin-top: 20px;
  }
  .footer-btm__list {
    gap: 15px 0;
    max-width: 325px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .footer-btm__item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding-inline: 0px;
  }
  .footer-btm__item.footer-btm__item--2col {
    width: 50%;
  }
  .footer-btm__item:not(.footer-btm__item--2col)::after {
    content: '';
    left: auto;
    right: 0;
  } /* last-of-type ------------ */
  .footer-btm__item:nth-child(2n of .footer-btm__item--2col)::after {
    content: '';
    left: auto;
    right: 0;
  } /* last-of-type ------------ */
  .footer-btm__link {
    font-size: 11px;
    letter-spacing: 0;
  }
  .footer-cnt__snslist {
    justify-content: center;
    margin-top: 12px;
  }
  .footer-cnt__sns {
    justify-content: center;
    font-size: 12px;
  }
} /* SP only ------------ */


/* ================================================================
荒川追加
=================================================================== */

.header-top__link i.ico_svg.ico_arrow-right {
   background: url('data:image/svg+xml;charset=UTF-8,<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg"><ellipse class="svg-elm svg-ellipse svg-ellipse01" cx="9.49953" cy="9.50002" rx="7.98" ry="7.98" fill="%23111111" /><path class="svg-elm svg-path svg-path01" d="M13.6296 8.88239L10.6911 5.79295C10.5542 5.6435 10.3686 5.55413 10.1716 5.54284C9.97461 5.53155 9.78086 5.59919 9.62939 5.73212C9.55397 5.80401 9.49316 5.89121 9.45062 5.98846C9.40809 6.08571 9.3847 6.191 9.38188 6.298C9.37906 6.405 9.39686 6.51149 9.43421 6.61107C9.47155 6.71065 9.52768 6.80125 9.5992 6.87742L10.9326 8.27666C10.9609 8.3138 10.9791 8.35826 10.9854 8.40537C10.9916 8.45249 10.9857 8.50051 10.9682 8.54437C10.9507 8.58824 10.9222 8.62633 10.8859 8.65462C10.8495 8.68292 10.8065 8.70038 10.7615 8.70516H5.95877C5.76168 8.70102 5.57046 8.77576 5.4238 8.91424C5.27714 9.05272 5.18598 9.24461 5.16879 9.45107C5.16402 9.55835 5.18002 9.66553 5.21581 9.76612C5.2516 9.86671 5.30645 9.95861 5.37701 10.0363C5.44758 10.1139 5.53239 10.1757 5.62634 10.2179C5.72028 10.2601 5.82139 10.2817 5.92354 10.2816H10.7716C10.8166 10.2864 10.8596 10.3039 10.8959 10.3322C10.9323 10.3605 10.9607 10.3985 10.9782 10.4424C10.9958 10.4863 11.0017 10.5343 10.9954 10.5814C10.9892 10.6285 10.9709 10.673 10.9427 10.7101L9.63945 12.0803C9.4973 12.2241 9.4123 12.4193 9.40156 12.6264C9.39082 12.8335 9.45515 13.0372 9.58159 13.1965C9.64997 13.2758 9.7329 13.3397 9.8254 13.3844C9.9179 13.4291 10.0181 13.4537 10.1198 13.4567C10.2216 13.4597 10.3229 13.4409 10.4176 13.4017C10.5123 13.3624 10.5985 13.3034 10.6709 13.2282L13.6396 10.107C13.7156 10.026 13.7756 9.93002 13.8162 9.82457C13.8568 9.71912 13.8772 9.60628 13.8763 9.49252C13.8753 9.37876 13.8531 9.26631 13.8107 9.16161C13.7684 9.05692 13.7068 8.96203 13.6296 8.88239Z" fill="white" /></svg>') no-repeat 50% 50% / contain;
}

:is(.header-nav__link, .header-nav-child__link, .footer-nav-child__link) i.ico_svg.ico_arrow-right {
  background: url('data:image/svg+xml;charset=UTF-8,<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg"><path class="svg-elm svg-path svg-path01" d="M13.6296 8.88239L10.6911 5.79295C10.5542 5.6435 10.3686 5.55413 10.1716 5.54284C9.97461 5.53155 9.78086 5.59919 9.62939 5.73212C9.55397 5.80401 9.49316 5.89121 9.45062 5.98846C9.40809 6.08571 9.3847 6.191 9.38188 6.298C9.37906 6.405 9.39686 6.51149 9.43421 6.61107C9.47155 6.71065 9.52768 6.80125 9.5992 6.87742L10.9326 8.27666C10.9609 8.3138 10.9791 8.35826 10.9854 8.40537C10.9916 8.45249 10.9857 8.50051 10.9682 8.54437C10.9507 8.58824 10.9222 8.62633 10.8859 8.65462C10.8495 8.68292 10.8065 8.70038 10.7615 8.70516H5.95877C5.76168 8.70102 5.57046 8.77576 5.4238 8.91424C5.27714 9.05272 5.18598 9.24461 5.16879 9.45107C5.16402 9.55835 5.18002 9.66553 5.21581 9.76612C5.2516 9.86671 5.30645 9.95861 5.37701 10.0363C5.44758 10.1139 5.53239 10.1757 5.62634 10.2179C5.72028 10.2601 5.82139 10.2817 5.92354 10.2816H10.7716C10.8166 10.2864 10.8596 10.3039 10.8959 10.3322C10.9323 10.3605 10.9607 10.3985 10.9782 10.4424C10.9958 10.4863 11.0017 10.5343 10.9954 10.5814C10.9892 10.6285 10.9709 10.673 10.9427 10.7101L9.63945 12.0803C9.4973 12.2241 9.4123 12.4193 9.40156 12.6264C9.39082 12.8335 9.45515 13.0372 9.58159 13.1965C9.64997 13.2758 9.7329 13.3397 9.8254 13.3844C9.9179 13.4291 10.0181 13.4537 10.1198 13.4567C10.2216 13.4597 10.3229 13.4409 10.4176 13.4017C10.5123 13.3624 10.5985 13.3034 10.6709 13.2282L13.6396 10.107C13.7156 10.026 13.7756 9.93002 13.8162 9.82457C13.8568 9.71912 13.8772 9.60628 13.8763 9.49252C13.8753 9.37876 13.8531 9.26631 13.8107 9.16161C13.7684 9.05692 13.7068 8.96203 13.6296 8.88239Z" fill="%23111111" /></svg>') no-repeat 50% 50% / contain;
}
