.weather-icon {
  position: relative;
  width: 100%;
  height: 100%;
}

.weather-icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 102%;
  height: 102%;
  background: url(../img/common/img_window_frame01.png) no-repeat center/cover;
  z-index: 1;
}

.weather-icon img,
.weather-icon video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 859px) {
  .weather-icon.l-header-today__img {
    width: 85px !important;
    height: 70px !important;
  }
  .weather-icon.l-main-img__weather-icon {
    width: 312px;
    height: 264px;
    margin: auto;
  }
}

.l-sub-img__head-en {
  text-transform: capitalize;
}

@media (min-width: 860px) {
  #portfolio .l-sub-img__inner {
    padding-bottom: 0;
  }
}

:root {
  --hue: 230;
  --sky-from: hsl(var(--hue) 35% 6%);
  --sky-to:   hsl(var(--hue) 55% 12%);
}

.img_weather04_wrap {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.img_weather04 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(1200px 600px at 50% -20%, var(--sky-to), var(--sky-from) 60%) fixed;
}

.star {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.95) 0 40%, rgba(255, 255, 255, 0) 70%);
  opacity: var(--base-opacity, 0.65);
  -webkit-animation: twinkle var(--twinkle, 2.2s) ease-in-out infinite;
          animation: twinkle var(--twinkle, 2.2s) ease-in-out infinite;
  -webkit-animation-delay: calc(var(--delay, 0s) * -1);
          animation-delay: calc(var(--delay, 0s) * -1);
}

@-webkit-keyframes twinkle {
  0%, 100% {
    opacity: .6;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  40% {
    opacity: .2;
  }
  70% {
    opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

@keyframes twinkle {
  0%, 100% {
    opacity: .6;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  40% {
    opacity: .2;
  }
  70% {
    opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.password-auth-form {
  position: absolute;
  top: 150px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
  width: 100%;
}

.password-auth-form__wrap {
  position: relative;
}

.password-auth-form__wrap .password-auth-form__inner {
  position: relative;
}

.password-auth-form__wrap .password-auth-form__inner::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 101%;
  z-index: 1;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(245, 245, 245, 0)), to(whitesmoke));
  background: linear-gradient(to bottom, rgba(245, 245, 245, 0), whitesmoke);
}

.password-auth-form__inner {
  position: relative;
  max-width: 810px;
}

.password-auth-form__error {
  text-align: center;
  margin-bottom: 10px;
}

.password-auth-form__form {
  margin: auto;
  max-width: 395px;
}

.password-auth-form__input {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 21px 28px 17px;
  border: 1px solid #D5D5D5;
  border-radius: 6px;
  font-size: 1.6rem;
  background: #fff;
}

.password-auth-form__input::-webkit-input-placeholder {
  color: #C1C1C1;
  font-size: 1.8rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
}

.password-auth-form__input:-ms-input-placeholder {
  color: #C1C1C1;
  font-size: 1.8rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
}

.password-auth-form__input::-ms-input-placeholder {
  color: #C1C1C1;
  font-size: 1.8rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
}

.password-auth-form__input::placeholder {
  color: #C1C1C1;
  font-size: 1.8rem;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
}

.password-auth-form__submit {
  width: 112px;
  margin: 16px auto 0;
  background: #585858;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 8px;
  font-size: 1.8rem;
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

.password-auth-form__submit:hover, .password-auth-form__submit:focus {
  background: #333;
}

@media (max-width: 859px) {
  .password-auth-form {
    top: 22vw;
  }
  .password-auth-form__form {
    width: calc(100% - 40px);
  }
  .password-auth-form__input {
    padding: 16px;
  }
  .password-auth-form__input::-webkit-input-placeholder {
    font-size: 1.4rem;
  }
  .password-auth-form__input:-ms-input-placeholder {
    font-size: 1.4rem;
  }
  .password-auth-form__input::-ms-input-placeholder {
    font-size: 1.4rem;
  }
  .password-auth-form__input::placeholder {
    font-size: 1.4rem;
  }
  .password-auth-form__wrap .c-archive01 + .c-archive01 {
    display: none;
  }
}

@media (min-width: 601px) {
  .c-pager02__list {
    position: relative;
  }
  .c-pager02__item--all {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

#about .l-header-today .l-header-today__img {
  height: 110px;
}

.l-sub-contact.is-show.is-hidden {
  opacity: 1;
  visibility: visible;
}

.l-sub-contact.is-show.is-hide {
  opacity: 0;
  visibility: hidden;
}

.l-header-today__inner {
  max-height: initial;
}

.c-archive01__img {
  height: 60.6vw;
  max-height: 516px;
  overflow: hidden;
}

.c-archive01__img img {
  height: 100%;
  -o-object-position: center;
     object-position: center;
}

.home-contact__mail-link,
.l-sub-contact__mail-link {
  padding-bottom: 10px;
  position: relative;
}

.home-contact__mail-link::after,
.l-sub-contact__mail-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #707070;
}

.c-menu01__cr {
  line-height: 1.4;
}

.c-single01__content .wp-block-image,
.c-single01__content .wp-block-video {
  margin-block: 2em;
}

.c-single01__content h2 {
  font-weight: 700;
  font-size: 1.7rem;
  margin-block: 2em .5em;
}

.c-single01__content h3 {
  font-weight: 700;
  font-size: 1.5rem;
  margin-block: 2em .5em;
}

@media (min-width: 860px) {
  #about .l-header-today {
    bottom: 90px;
  }
  #home .l-header-today {
    height: calc(100vh - 96px);
    width: 60%;
    top: 96px;
    bottom: 0;
  }
  #home .l-header-today__inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    height: 100%;
    padding-top: 0;
    padding-bottom: 90px;
  }
  #home .weather-icon {
    height: 536px;
    max-height: 536px;
  }
  #home .l-header-today__img {
    max-width: 630px;
  }
  #home .l-header-today__txt {
    position: absolute;
    bottom: 90px;
    margin: 0;
    right: 0;
    z-index: 1;
  }
  .c-archive01__img {
    height: clamp(164px, 20vw, 260px);
  }
  .portfolio-related__list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 18px;
  }
  .l-main-img__inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: calc(100vh - 96px);
    position: relative;
  }
  .l-main-img__txt {
    position: absolute;
    bottom: 96px;
    margin: 0;
    left: 0;
  }
  .c-menu01__info {
    bottom: 90px;
    -webkit-transform: none;
            transform: none;
  }
  .c-menu01__item {
    border-radius: 15px;
    padding: 0 15px;
    display: inline-block;
  }
  .l-sub-contact__mail {
    -webkit-transform: translateX(-14px);
            transform: translateX(-14px);
  }
  .home-contact__mail-link,
  .l-sub-contact__mail-link {
    padding: 10px 14px;
    border-radius: 30px;
    display: block;
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
  }
  .home-contact__mail-link::after,
  .l-sub-contact__mail-link::after {
    width: calc(100% - 28px);
    left: 14px;
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease;
  }
  .home-contact__mail-link:hover::after,
  .l-sub-contact__mail-link:hover::after {
    opacity: 0;
  }
  .l-footer {
    padding-bottom: 90px;
  }
  .l-nav {
    padding: 0;
  }
  .l-nav__feel-wrap {
    -webkit-transform: translateY(-40px);
            transform: translateY(-40px);
  }
  .l-nav__menu {
    position: absolute;
    bottom: 90px;
  }
  .l-nav__menu .c-menu01__info {
    bottom: 0;
    right: 0;
    margin: 0;
    -webkit-transform: none;
            transform: none;
  }
  .l-nav__feel {
    padding: 0;
  }
  .l-nav-btn__line {
    width: 36px;
    right: 0;
  }
  .c-single01__content h2 {
    font-size: 2.1rem;
  }
  .c-single01__content h3 {
    font-size: 1.9rem;
  }
}

@media (max-width: 859px) {
  .l-nav {
    padding-top: 50px;
  }
  .l-nav .c-menu01__info {
    display: none;
  }
  .l-main-img__inner {
    text-align: center;
  }
  .l-nav__feel {
    max-width: 290px;
  }
  .l-nav__menu .c-menu01 {
    margin: auto;
    text-align: center;
  }
  .l-main-img__copy {
    margin: 90px 0 20px;
    letter-spacing: .31em;
    white-space: nowrap;
  }
  .l-nav__title {
    font-size: 1.7rem;
    font-weight: 700;
  }
  [data-page="login"] .l-sub-img__inner {
    padding-top: 0;
  }
  .password-auth-form__comment {
    margin-top: 40px;
    text-align: center;
    padding-bottom: 80px;
  }
  .password-auth-form__comment-txt {
    font-size: 1.1rem;
    margin: 0 -10px;
  }
  .password-auth-form__comment-btn {
    width: 162px;
    margin: 20px auto 0;
  }
  .password-auth-form__comment-btn-link {
    padding-bottom: 10px;
    position: relative;
  }
  .password-auth-form__comment-btn-link::after {
    content: '';
    position: absolute;
    height: 1px;
    width: 100%;
    background-color: #707070;
    bottom: 0;
    left: 0;
  }
}

/* small phone */
@media (max-width: 375px) {
  .l-main-img__copy {
    margin: 50px 0 15px;
  }
  .l-nav__feel-item {
    width: 70px;
    height: 70px;
  }
  .l-nav__title {
    margin-bottom: 15px;
  }
  .l-nav__feel {
    padding-bottom: 30px;
  }
}

.c-single01__cat a {
  text-decoration: none;
  -webkit-transition: all .6s ease;
  transition: all .6s ease;
}

.c-single01__cat a:hover {
  opacity: .7;
}
.portfolio-archive__post-lead{
  font-size: 1.1rem;
  font-size: 1.1rem;
  margin-bottom: 25px;
  margin-top: -30px;
  line-height: 1.8;
}
@media (min-width: 860px) {
  .portfolio-archive__post-lead{
    margin-top: -50px;
    margin-bottom: 50px;
  }
}

@media (max-width: 859px) {
  .l-header-today__inner{
    position: relative;
  }
  .l-header-today__inner::before{
    content: '';
    width: 94px;
    height: 80px;
    position: absolute;
    top: -4.8px;
    left: -4.8px;
    background: url(../img/common/img_window_frame01_frame.svg) no-repeat center/cover;
    z-index: 2;
  }
  .l-header-today__img::before{
    display: none;
  }
  .l-header-today__img {
    clip-path: url(#moviePath);
    width: 85px;
    height: 70px;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media (min-width: 860px) {
  .moviePath-svg{
    display: none;
  }
}