@charset "UTF-8";
/*==================================================
Customize CSS by anoSora and Yozora Eto
@link https://anosora.itsuka-yume.com/
@link https://yozora-eto.com/

こちらのカスタムCSSは、「コイブミ」のデザイン部分のみを構成するためのCSSです。
「コイブミ」とは関係のないCSSとなりますので、ご注意ください。

▼「コイブミ」様はこちら▼
コイブミ製作者様：ガタガタ
コイブミ製作者様サイト：https://do.gt-gt.org/
==================================================*/
/*==================================================

仕様について：

今回のサイトでは、デフォルトで用意されている「koibumi.css」を読み込まずに、このカスタムCSSのみで機能させています。
一部CSSは、「koibumi.css」の内容をそのまま入れている部分もございます。
デフォルトで用意されている「koibumi.css」を読み込んだり、コイブミの構成が変更になるとデザインが崩れますのでご注意ください。

==================================================*/
/*
フォーム
_________________________________________*/
div#koibumi_wrap {
  max-width: 100%;
  position: relative;
}
div#koibumi_wrap:not(:first-child) {
  margin-top: 30px;
}
div#koibumi_wrap:not(:last-child) {
  margin-bottom: 30px;
}
div#koibumi_wrap > * {
  margin-bottom: 0.8rem;
}
@media screen and (min-width: 1024px) {
  div#koibumi_wrap > * {
    margin-bottom: 1rem;
  }
}
div#koibumi_wrap > :last-child {
  margin-bottom: 0px;
}

div#koibumi_form {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 425px) {
  div#koibumi_form {
    flex-direction: row;
  }
}

.custom_koibumi__input {
  width: 100%;
  max-width: 500px;
  background-color: rgba(var(--color-black-rgb), 0.2);
  border: 1px solid rgba(var(--color-main-rgb), 0.3);
  border-radius: 3px;
  padding: 5px;
  transition: all var(--transition-all);
}
@media screen and (min-width: 425px) {
  .custom_koibumi__input {
    width: auto;
    flex-grow: 1;
  }
}
.custom_koibumi__input:has(:focus) {
  border-color: rgba(var(--color-main-rgb), 0.5);
  box-shadow: var(--shadow-box-hover);
}
.custom_koibumi__input textarea#koibumi_text {
  display: block;
  height: 150px;
}

button#koibumi_btn {
  min-width: unset;
  background-color: transparent;
  font-weight: 400;
  color: var(--color-main);
  padding: 10px 20px;
}
button#koibumi_btn:hover {
  background-color: var(--color-main);
  color: var(--color-text);
  transform: none;
}

div#koibumi_wrap p.attention {
  font-size: 14px;
}

/*
フェードアウト
_________________________________________*/
.koibumifadeout {
  animation: koibumifadeout 1s !important;
  animation-fill-mode: both;
}

@keyframes koibumifadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*
アラート
_________________________________________*/
p#koibumi_alert {
  width: 100%;
  position: absolute;
  top: calc(100% + 1rem);
  background-color: rgba(var(--color-text-rgb), 0.5);
  font-size: 14px;
  color: var(--color-black);
  border-radius: 3px;
  padding: 10px;
  z-index: 10;
  box-shadow: var(--shadow-button-hover);
}
@media screen and (min-width: 425px) {
  p#koibumi_alert {
    width: -moz-fit-content;
    width: fit-content;
    left: 0;
    padding: 10px 20px;
  }
}

p#koibumi_alert.success {
  background: rgba(var(--color-main-rgb), 0.5);
  font-weight: 500;
  color: var(--color-text);
}

p#koibumi_alert.alert {
  background: rgba(var(--color-sub-rgb), 0.5);
  font-weight: 500;
  color: var(--color-text);
}

/*
Thanks
_________________________________________*/
div#koibumi_thanks {
  width: 350px;
  max-width: 100%;
  position: absolute;
  bottom: 110%;
  background: var(--color-back);
  border: 1px solid var(--color-back);
  border-radius: 10px;
  padding: 15px;
  filter: drop-shadow(0 0px 8px rgba(var(--color-neonred-rgb), 0.5));
  opacity: 0;
  animation-name: koibumi_thanks-up;
  animation-duration: 0.5s;
  animation-fill-mode: both;
}
@media screen and (min-width: 425px) {
  div#koibumi_thanks {
    padding: 20px;
  }
}

div#koibumi_thanks:after {
  content: "";
  width: 0px;
  height: 0px;
  border-bottom: 30px solid transparent;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 30px solid var(--color-back);
  position: absolute;
  left: 20px;
}

div#koibumi_thanks.koibumi_thanks_bottom {
  width: 350px;
  max-width: 100%;
  position: absolute;
  bottom: auto;
  top: 110%;
  background: var(--color-back);
  border: 1px solid var(--color-back);
  border-radius: 10px;
  padding: 15px;
  filter: drop-shadow(0 0px 8px rgba(var(--color-neonred-rgb), 0.5));
  opacity: 0;
  animation-name: koibumi_thanks-down;
  animation-duration: 0.5s;
  animation-fill-mode: both;
}

div#koibumi_thanks.koibumi_thanks_bottom:after {
  content: "";
  width: 0px;
  height: 0px;
  border-top: 30px solid transparent;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 30px solid var(--color-back);
  position: absolute;
  bottom: calc(100% - 1px);
  left: 20px;
}

div#koibumi_thanks.koibumi_thanks_right {
  right: 0;
  left: auto;
}

div#koibumi_thanks.koibumi_thanks_right:after {
  left: auto;
  right: 20px;
}

@keyframes koibumi_thanks-up {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes koibumi_thanks-down {
  0% {
    opacity: 0;
    transform: translateY(-40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}/*# sourceMappingURL=custom_koibumi.css.map */