@charset "utf-8";
#header {
  background:rgba(244,249,252,1);
  padding: 1.25rem 0;
}
#header .container-lg {
  padding: 0 1rem;
}
.logo {
  margin: 0;
  line-height: 1;
  font-size: 0;
}
.header-nav {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 1.5rem;
}
.header-nav-inner {
  display: flex;
  justify-content: space-between;
}
.header-nav-menu {
  display: flex;
  align-items: center;
  column-gap: 1.5rem;
}
.header-nav-menu-inner {
  row-gap: 2rem;
  display: flex;
  flex-direction: column;
}
.header-nav-menu-inner.active .tablet-menu {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
  padding-bottom: 3.5rem;
}
.column-articles, .create-series {
  width: 100%;
}
.nav-list {
  display: flex;
}
.nav-item {
  font-size: 1rem;
}
.nav-item.active {
  position: relative;
}
.nav-link {
  font-size: .875rem;
  color: #333;
  padding: .75rem 1rem;
}
.nav-link:hover, .nav-item.active .nav-link {
  color: #096FC8;
}
.nav-item.active::before, .nav-item.active::after {
  content: "";
  display: block;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  border-radius: 50%;
  width: .5rem;
  height: .5rem;
  left: 1.5rem;
}
.nav-item.active::before {
  background-color: #096FC8;
  transition: background-color cubic-bezier(0.215, 0.61, 0.355, 1) .4s;
}
.nav-item.active::after {
  transition: opacity linear 0.4s;
  animation: pulseMotion 3s linear infinite;
}
.header-nav-end {
  display: flex;
  column-gap: 1.5rem;
}
.header-nav-end .nav__toggle {
  padding: 0;
}
/* ハンバーガーメニュー */
.hamburger_menu {
  width: 1.25rem;
  border: none;
}
.hamburger_menu .toggle-icon:nth-of-type(1) {
  margin-bottom: .375rem;
}
.hamburger_menu .toggle-icon {
  transition: all 0.2s ease-in-out;
  background-color: #111;
  display: block;
  height: .125rem;
}
.hamburger_menu[aria-expanded="true"] .toggle-icon:nth-of-type(1) {
  transform: translateY(.25rem) rotate(-45deg);
}
.hamburger_menu[aria-expanded="true"] .toggle-icon:nth-of-type(2) {
  transform: translateY(-0.25rem) rotate(45deg);
}
.hamburger_menu:hover, .hamburger_menu:active, .hamburger_menu:focus {
  background-color: unset !important;
}
/*　検索　*/
.header-nav-search {
  line-height: 1;
  display: flex;
  align-items: center;
  column-gap: 1rem;
}
#header .search__toggle {
  padding: 0;
  border: none;
  line-height: 1;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(../images/ico_search.svg);
  width: 1rem;
  height: 1rem;
}
:not( .mejs-button ) > button:hover, :not( .mejs-button ) > button:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="submit"]:hover, input[type="submit"]:focus {
  background: unset;
}
#header .search__toggle.active {
  background-image: url(../images/ico_search_close.svg);
}
.search__form {
  display: none;
}
.search__form.active {
  display: block;
}
.search__form-inner {
  width: 25rem;
  column-gap: .5rem;
  position: relative;
}
.search__form-inner .form-control {
  border-radius: .25rem !important;
  padding: .75rem 1rem;
  border: .0625rem solid #ccc !important;
}
.btn-search {
  line-height: 1;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
/* 検索結果 */
.suggestions-box:has(.suggestion-item) {
  margin-top: 1rem;
  background-color: #fff;
  border: .0625rem solid #ccc;
  border-radius: .25rem;
  overflow-x: auto;
  max-height: 25rem;
}
.suggestions-box .suggestion-item {
  padding: 1rem;
}
.suggestions-box .suggestion-item:nth-child(even) {
  background-color: #f9f9f9;
}
.suggestions-box .suggestion-item:not(:last-child) {
  border-bottom: .0625rem solid #ddd;
  padding-bottom: 1rem;
}
.suggestions-box .suggestion-item-link {
  color: #333;
  text-decoration: none;
}
.suggestions-box .thumbnail {
  object-fit: cover;
  border-radius: .5rem;
}
.suggestions-box .suggestion-item-info {
  row-gap: .5rem;
}
.suggestions-box .suggestion-item-info time {
  font-size: .8125rem;
}
.suggestions-box .suggestion-item-info h4 {
  font-size: 1rem;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
/* ******* */
.header-nav-createwebflow {
  column-gap: .5rem;
  display: flex;
  align-items: center;
}
.btn-header-inquiry {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #C92F2F;
  color: #fff;
  font-size: .875rem;
  line-height: 1;
  padding: .75rem 1rem;
  text-decoration: none;
  border-radius: 2rem;
  column-gap: .5rem;
  will-change: transform, filter;
  transition: all .3s ease-out;
}
.btn-header-inquiry:hover {
  transform: scale(1.1,1.1);
  color: #fff;
}
@media (min-width: 576px) and (max-width: 767.9808px) {
  .nav-link {
    font-size: .9375rem;
  }
}
@media (min-width: 768px) and (max-width: 991.9808px) {
  .tablet-menu {
    padding: 2.5rem 5%;
  }
}
@media (min-width: 768px) and (max-width: 1199.9808px) {
  .header-nav-menu-inner.active {
    flex-direction: row;
    padding-bottom: 0;
  }
  .header-image-container {
    width: 50%;
  }
  .header-image {
    height: 100%;
    background-color: #228ACB;
  }
  .header-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity: 0;
  }
  .header-image.js-after img {
    opacity: 1;
  }
  .tablet-menu {
    width: 50%;
    padding: 2.5rem;
    row-gap: 2.5rem;
    overflow-x: scroll;
  }
  .nav-link {
    font-size: 1rem;
  }
  .create-series {
    padding-top: 1rem;
  }
  .create-series .nav-link {
    column-gap: 1rem;
  }
}
@media (min-width: 1200px) and (max-width: 1399.9808px) {
  .header-nav-inner {
    width: 100%;
  }
  .header-nav-search-inner {
    column-gap: 1rem;
  }
  .search__form-inner .form-control {
    padding: .375rem .75rem;
  }
  .search__form.active {
    position: relative;
  }
  .search__form-inner {
    width: 31.25rem;
  }
  .suggestions-box {
    position: absolute;
  }
  .header-nav-menu-inner.active {
    flex-direction: row;
    padding-bottom: 0;
  }
  .header-image-container {
    width: 70%;
  }
  .header-image {
    height: 100%;
    background-color: #228ACB;
  }
  .header-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    opacity: 0;
  }
  .header-image.js-after img {
    opacity: 1;
  }
  .tablet-menu {
    width: 80%;
    align-items: flex-start;
    padding: 2% 5%;
    overflow-x: scroll;
  }
  .header-nav-menu-inner.active .main-nav-list {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .header-nav-menu-inner.active .main-nav-list .nav-item {
    width: 100%;
  }
  .nav-link {
    font-size: 1rem;
  }
  .create-series {
    padding-bottom: 2.5rem;
    width: 100%;
  }
  .create-series .nav-link {
    column-gap: 1rem;
  }
}

@media (max-width: 1199.9808px) {
  #header-nav-lg-start .search__form{
    position: absolute;
    left: 0;
    top: 4.125rem;
    width: 100%;
    padding: 0 1rem 1rem;
    background-color: #F4F9FC;
  }
  .search__form-inner {
    max-width: 59.375rem;
    margin: 0 auto;
    position: relative;
    width: inherit;
  }
  #output-header-nav-end {
    padding: 0 1rem 2rem;
  }
  .header-nav-createwebflow {
    flex-direction: column;
    justify-content: center;
    row-gap: 1rem;
    max-width: 15.625rem;
    margin: 0 auto;
  }
  .createwebflow-link, .img-createwebflow, .btn-header-inquiry {
    width: 100%;
  }
  .btn-header-inquiry {
    padding: 1rem 2rem;
  }
}
@media (max-width: 1399.9808px) {
  .header-nav-menu-inner {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: -1;
    visibility: hidden;
    opacity: 0;
    transition: transform 0.2s ease-out, opacity 0.2s ease-out;
  }
  .header-nav-menu-inner .nav-list {
    flex-direction: column;
  }
  .header-nav-menu-inner.active {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    overflow-x: scroll;
    height: 100vh;
    background:rgba(244,249,252,0.7);
    backdrop-filter: blur(1rem);
  }
  .header-nav-menu-inner.active .nav-item:not(:has(> a)) {
    padding-left: 1rem;
    font-size: 1.125rem;
  }
  .header-nav-menu-inner.active .nav-item.active .nav-link {
    padding: 1rem 1rem 1rem 2.5rem;
  }
  .header-nav-menu-inner.active .nav-link[target="_blank"] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .header-nav-menu-inner.active .nav-link[target="_blank"]::after {
    content: url(../images/ico_blank_black.svg);
    padding-left: 1rem;
  }
  .suggestions-box {
    max-width: 59.375rem;
    margin: 0 auto;
  }
}
@media (min-width: 1400px) {
  .header-nav-inner {
    width: 100%;
  }
  .nav-item.active::before, .nav-item.active::after {
    left: 50%;
    top: -0.875rem;
    transform: translate(-50%, -50%);
  }
  .header-nav-menu-inner .nav-list {
    column-gap: 1.5rem;
  }
  .header-nav-menu-inner .nav-link {
    line-height: 1;
    padding: 0;
  }
  .header-nav-search-inner {
    position: relative;
  }
  .search__form.active {
    background-color: #F4F9FC;
    padding: 0 1rem 1rem;
    position: absolute;
    top: 2.5rem;
    left: -1rem;
  }
  .search__form-inner .form-control {
    padding: .5rem .75rem;
  }
}
.observer-target {
  height: .0625rem; /* 監視用要素を目立たなくする */
  visibility: hidden;
}