@import "vendor/reset.css";
:root {
  --color-text: #2d5052;
  --color-background: #fafafa;
  --color-main: #2d5052;
  --color-main-light: #7b969b;
  --color-sub: #4e4640;
  --color-sub-light: #7e6d61;
}
/* ------ Base Styles */
html {
  font-size: 62.5%;
  box-sizing: border-box;
}
html,
body {
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 0;
  margin: 0;
}
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", 'Noto Sans Japanese', sans-serif;
  font-weight: normal;
  font-size: 1.6em;
  line-height: 1.6;
  letter-spacing: 1px;
  color: var(--color-text);
  background: var(--color-background);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: 100%;
  -webkit-touch-callout: none;
  backface-visibility: hidden;
  font-variant-numeric: tabular-nums;
}
body,
a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
p,
div {
  margin: 0;
  padding: 0;
}
img {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}
canvas {
  display: block;
  vertical-align: bottom;
}
svg:not(:root) {
  overflow: hidden;
}
address {
  font-style: normal;
}
br {
  line-height: inherit;
}
em {
  font-style: normal;
  font-weight: normal;
}
hr {
  display: block;
  padding: 0;
  border: 0;
  border-top: 1px solid #ddd;
  clear: both;
}
hr.dashed {
  border-top: 1px dashed #ddd;
}
i {
  font-style: normal;
  vertical-align: middle;
}
mark {
  background: linear-gradient(rgba(255, 255, 255, 0) 70%, #ffe878 70%);
  font-weight: bold;
}
strong {
  font-style: normal;
  font-weight: bold;
}
/* ------ typography */
a {
  color: var(--link-color);
  text-decoration: underline;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}
a:link {
  color: var(--link-color);
}
a:visited {
  color: var(--link-color);
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: var(--link-color);
  }
}
a:active {
  color: var(--link-color);
}
.sans {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", 'Noto Sans Japanese', sans-serif;
}
.serif {
  font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}
.design-font {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.typo-policy {
  text-align: left;
  color: var(--color-text);
}
.typo-policy h2 {
  width: 100%;
  padding: 0;
  margin: 1rem 0 2rem 0;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  color: var(--color-text);
  text-align: center;
  border: 0;
}
.typo-policy h2 p::after {
  display: none;
}
.typo-policy h3 {
  padding: 0;
  margin: 1rem 0;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  color: var(--color-text);
}
.typo-policy h3 p::before,
.typo-policy h3 p::after {
  display: none;
}
.typo-policy b {
  font-weight: bold;
}
.typo-policy .indent {
  padding-left: 50px;
}
.typo-policy .list-mark-dot li::before {
  background-color: var(--color-text);
}
/* ------Animation */
.bounceInDown {
  animation: bounceInDown 1s ease;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  animation-fill-mode: both;
}
@keyframes bounceInDown {
  0%,
  100%,
  60%,
  75%,
  90% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  100% {
    transform: none;
  }
}
.bounceInUp {
  animation: bounceInUp 1s ease;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  animation-fill-mode: both;
}
@keyframes bounceInUp {
  0%,
  100%,
  60%,
  75%,
  90% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  100% {
    transform: none;
  }
}
.hop {
  animation: hop 1s ease;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  animation-fill-mode: both;
}
@keyframes hop {
  0%,
  100%,
  20%,
  53%,
  80% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}
.fadeIn {
  animation: fadeIn 0.5s ease;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  animation-fill-mode: both;
}
@keyframes fadeIn {
  0% {
    background: rgba(255, 255, 255, 0);
  }
  100% {
    background: rgba(255, 255, 255, 0.9);
  }
}
.zoomIn {
  animation: zoomIn 0.3s ease;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  animation-fill-mode: both;
}
@keyframes zoomIn {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
.anim-ripple {
  animation: ripple 1.5s 0s infinite;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
@keyframes ripple {
  0% {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
  }
  90% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}
.anim-mark-done {
  animation: markCome 0.3s cubic-bezier(0.33, 1.7, 0.51, 0.82);
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
@keyframes markCome {
  0% {
    opacity: 0;
    transform: scale(3);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.anim-scale-in-center {
  animation: scale-in-center 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  animation-fill-mode: both;
}
@keyframes scale-in-center {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.scale-in-center-enter-active {
  animation: scale-in-center 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.scale-in-center-leave-active {
  animation: scale-in-center 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.anim-flip-in-hor-bottom {
  animation: flip-in-hor-bottom 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  animation-fill-mode: both;
}
@keyframes flip-in-hor-bottom {
  0% {
    transform: rotateX(80deg);
    opacity: 0;
  }
  100% {
    transform: rotateX(0);
    opacity: 1;
  }
}
.flip-in-hor-bottom-enter-active {
  animation: flip-in-hor-bottom 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.flip-in-hor-bottom-leave-active {
  animation: flip-in-hor-bottom 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.anim-scale-in-ver-top {
  animation: scale-in-ver-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  animation-fill-mode: both;
}
@keyframes scale-in-ver-top {
  0% {
    transform: scaleY(0);
    transform-origin: 100% 0%;
    opacity: 1;
  }
  100% {
    transform: scaleY(1);
    transform-origin: 100% 0%;
    opacity: 1;
  }
}
.scale-in-ver-top-enter-active {
  animation: scale-in-ver-top 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.scale-in-ver-top-leave-active {
  animation: scale-in-ver-top 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.anim-scale-in-right {
  animation: scale-in-right 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  animation-fill-mode: both;
}
@keyframes scale-in-right {
  0% {
    transform: translateX(100%);
    opacity: 1;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/* ------Error */
.errorMessage {
  display: none;
  padding: 0 10px;
  color: #ed5565;
}
.error .errorMessage,
.is-error .errorMessage {
  display: block;
}
.errorMessage.error-box {
  padding: 5px 10px;
  margin: 10px 0;
  line-height: 1.6;
  color: #fff;
  border: 1px solid #ed5565;
  border-radius: 5px;
  background-color: #f88181;
}
.loading-error {
  margin: 20px;
  padding: 20px;
  text-align: center;
  color: #f06868;
  border: 1px solid #f06868;
  background-color: #fff;
}
.error-page {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 18000;
}
.error-page.is-open {
  display: flex;
}
.error-page .modal-contents {
  padding: 40px ;
  max-width: 90%;
}
.error-page .modal-btn-area {
  margin-top: 30px;
}
.error-page .modal-close {
  top: 0;
  right: 0;
}
.error-page .modal-close::before {
  color: #aaa;
  font-size: 22px;
}
/* ------ Form */
input,
button,
select,
textarea {
  appearance: none;
  outline: none;
}
input[disabled],
button[disabled],
select[disabled],
textarea[disabled],
input[readonly],
button[readonly],
select[readonly],
textarea[readonly] {
  -moz-appearance: textfield;
}
input[type="date"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
input[type="date"]::-webkit-clear-button {
  -webkit-appearance: none;
}
input[type="time"]::-webkit-clear-button {
  -webkit-appearance: none;
}
input[type="number"] {
  -moz-appearance: textfield;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
select {
  cursor: pointer;
}
select::-ms-expand {
  display: none;
}
input,
.like-input {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  min-width: var(--form-height);
  height: var(--form-height);
  font-size: var(--form-text-size);
  line-height: var(--form-height-inner);
  margin: 0 0 5px;
  padding: 0 12px;
  vertical-align: middle;
  border: 1px solid #ddd;
  border-radius: 3px;
  outline: none;
  color: var(--color-text);
  background-color: #fff;
  transition: all 0.3s;
}
input:-moz-placeholder,
.like-input:-moz-placeholder {
  color: #ccc;
}
input::-moz-placeholder,
.like-input::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}
input:-ms-input-placeholder,
.like-input:-ms-input-placeholder {
  color: #ccc;
}
input::-webkit-input-placeholder,
.like-input::-webkit-input-placeholder {
  color: #ccc;
}
input:focus,
.like-input:focus {
  border-color: var(--color-main);
  box-shadow: 0 0 0 2px var(--color-main) inset;
}
.is-ok input,
.is-ok .like-input,
input.is-ok,
.like-input.is-ok {
  border-color: var(--color-main);
}
.is-error input,
.is-error .like-input,
input.is-error,
.like-input.is-error {
  color: #ed5565;
  border-color: #ed5565;
}
.is-error input:focus,
.is-error .like-input:focus,
input.is-error:focus,
.like-input.is-error:focus {
  box-shadow: 0 0 0 2px #ed5565 inset;
}
input.is-disabled,
.like-input.is-disabled,
input[disabled],
.like-input[disabled],
input:disabled,
.like-input:disabled,
input[readonly],
.like-input[readonly] {
  border-color: #aaa;
  color: #aaa;
  background-color: #f4f4f5;
  text-indent: 0.01px;
  text-overflow: '';
  pointer-events: none;
  cursor: default;
}
input.is-disabled:focus,
.like-input.is-disabled:focus,
input[disabled]:focus,
.like-input[disabled]:focus,
input:disabled:focus,
.like-input:disabled:focus,
input[readonly]:focus,
.like-input[readonly]:focus {
  outline: none;
  box-shadow: none;
}
select,
.like-select {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  min-width: var(--form-height);
  height: var(--form-height);
  font-size: var(--form-text-size);
  line-height: var(--form-height-inner);
  margin: 0 0 5px;
  padding: 0 12px;
  vertical-align: middle;
  border: 1px solid #ddd;
  border-radius: 3px;
  outline: none;
  color: var(--color-text);
  background-color: #fff;
  transition: all 0.3s;
}
select:-moz-placeholder,
.like-select:-moz-placeholder {
  color: #ccc;
}
select::-moz-placeholder,
.like-select::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}
select:-ms-input-placeholder,
.like-select:-ms-input-placeholder {
  color: #ccc;
}
select::-webkit-input-placeholder,
.like-select::-webkit-input-placeholder {
  color: #ccc;
}
select:focus,
.like-select:focus {
  border-color: var(--color-main);
  box-shadow: 0 0 0 2px var(--color-main) inset;
}
.is-ok select,
.is-ok .like-select,
select.is-ok,
.like-select.is-ok {
  border-color: var(--color-main);
}
.is-error select,
.is-error .like-select,
select.is-error,
.like-select.is-error {
  color: #ed5565;
  border-color: #ed5565;
}
.is-error select:focus,
.is-error .like-select:focus,
select.is-error:focus,
.like-select.is-error:focus {
  box-shadow: 0 0 0 2px #ed5565 inset;
}
select.is-disabled,
.like-select.is-disabled,
select[disabled],
.like-select[disabled],
select:disabled,
.like-select:disabled,
select[readonly],
.like-select[readonly] {
  border-color: #aaa;
  color: #aaa;
  background-color: #f4f4f5;
  text-indent: 0.01px;
  text-overflow: '';
  pointer-events: none;
  cursor: default;
}
select.is-disabled:focus,
.like-select.is-disabled:focus,
select[disabled]:focus,
.like-select[disabled]:focus,
select:disabled:focus,
.like-select:disabled:focus,
select[readonly]:focus,
.like-select[readonly]:focus {
  outline: none;
  box-shadow: none;
}
.select {
  position: relative;
  width: auto;
  cursor: pointer;
}
.select::before {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  content: '';
  width: 12px;
  height: 12px;
  border: 3px solid transparent;
  border-left-color: #ddd;
  border-bottom-color: #ddd;
  transition: all 0.3s;
  transform: rotate(-45deg) translate(0, -100%);
  pointer-events: none;
  z-index: 10;
}
.select select {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  min-width: var(--form-height);
  height: var(--form-height);
  font-size: var(--form-text-size);
  line-height: var(--form-height-inner);
  margin: 0 0 5px;
  padding: 0 12px;
  vertical-align: middle;
  border: 1px solid #ddd;
  border-radius: 3px;
  outline: none;
  color: var(--color-text);
  background-color: #fff;
  transition: all 0.3s;
  padding-right: 30px;
  z-index: 1;
}
.select select:-moz-placeholder {
  color: #ccc;
}
.select select::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}
.select select:-ms-input-placeholder {
  color: #ccc;
}
.select select::-webkit-input-placeholder {
  color: #ccc;
}
.select select:focus {
  border-color: var(--color-main);
  box-shadow: 0 0 0 2px var(--color-main) inset;
}
.is-ok .select select,
.select select.is-ok {
  border-color: var(--color-main);
}
.is-error .select select,
.select select.is-error {
  color: #ed5565;
  border-color: #ed5565;
}
.is-error .select select:focus,
.select select.is-error:focus {
  box-shadow: 0 0 0 2px #ed5565 inset;
}
.select select.is-disabled,
.select select[disabled],
.select select:disabled,
.select select[readonly] {
  border-color: #aaa;
  color: #aaa;
  background-color: #f4f4f5;
  text-indent: 0.01px;
  text-overflow: '';
  pointer-events: none;
  cursor: default;
}
.select select.is-disabled:focus,
.select select[disabled]:focus,
.select select:disabled:focus,
.select select[readonly]:focus {
  outline: none;
  box-shadow: none;
}
.select select::-ms-expand {
  display: none;
}
.select.time {
  max-width: 200px;
  min-width: 100px;
  width: auto;
}
.select.small {
  width: 200px;
}
.select.min > select {
  padding-left: 10px;
  min-width: 55px;
}
textarea,
.like-textarea {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  min-width: var(--form-height);
  height: var(--form-height);
  font-size: var(--form-text-size);
  line-height: var(--form-height-inner);
  margin: 0 0 5px;
  padding: 0 12px;
  vertical-align: middle;
  border: 1px solid #ddd;
  border-radius: 3px;
  outline: none;
  color: var(--color-text);
  background-color: #fff;
  transition: all 0.3s;
  height: var(--textarea-height);
  padding-top: 5px;
  padding-bottom: 10px;
  resize: none;
  line-height: 1.4;
  -webkit-overflow-scrolling: touch;
}
textarea:-moz-placeholder,
.like-textarea:-moz-placeholder {
  color: #ccc;
}
textarea::-moz-placeholder,
.like-textarea::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}
textarea:-ms-input-placeholder,
.like-textarea:-ms-input-placeholder {
  color: #ccc;
}
textarea::-webkit-input-placeholder,
.like-textarea::-webkit-input-placeholder {
  color: #ccc;
}
textarea:focus,
.like-textarea:focus {
  border-color: var(--color-main);
  box-shadow: 0 0 0 2px var(--color-main) inset;
}
.is-ok textarea,
.is-ok .like-textarea,
textarea.is-ok,
.like-textarea.is-ok {
  border-color: var(--color-main);
}
.is-error textarea,
.is-error .like-textarea,
textarea.is-error,
.like-textarea.is-error {
  color: #ed5565;
  border-color: #ed5565;
}
.is-error textarea:focus,
.is-error .like-textarea:focus,
textarea.is-error:focus,
.like-textarea.is-error:focus {
  box-shadow: 0 0 0 2px #ed5565 inset;
}
textarea.is-disabled,
.like-textarea.is-disabled,
textarea[disabled],
.like-textarea[disabled],
textarea:disabled,
.like-textarea:disabled,
textarea[readonly],
.like-textarea[readonly] {
  border-color: #aaa;
  color: #aaa;
  background-color: #f4f4f5;
  text-indent: 0.01px;
  text-overflow: '';
  pointer-events: none;
  cursor: default;
}
textarea.is-disabled:focus,
.like-textarea.is-disabled:focus,
textarea[disabled]:focus,
.like-textarea[disabled]:focus,
textarea:disabled:focus,
.like-textarea:disabled:focus,
textarea[readonly]:focus,
.like-textarea[readonly]:focus {
  outline: none;
  box-shadow: none;
}
textarea.height3,
.like-textarea.height3 {
  height: 66.3px;
}
textarea.height5,
.like-textarea.height5 {
  height: 98.5px;
}
textarea.height8,
.like-textarea.height8 {
  height: 146.8px;
}
textarea.height10,
.like-textarea.height10 {
  height: 179px;
}
textarea.height20,
.like-textarea.height20 {
  height: 340px;
}
textarea.resizeable,
.like-textarea.resizeable {
  resize: vertical;
}
.is-error label,
.error label {
  color: #ed5565;
}
.formbox {
  position: relative;
  display: inline-block;
  padding: 0;
  margin: 0 0 5px;
  width: 100%;
  vertical-align: middle;
}
.formbox > * {
  margin: 0;
}
.formbox.with-icon .like-input,
.formbox.with-icon input,
.formbox.with-icon .like-select,
.formbox.with-icon select {
  padding-right: 28px;
}
.formbox.with-icon .like-textarea,
.formbox.with-icon textarea {
  padding-right: 20px;
}
.formbox.with-icon i,
.formbox.with-icon svg {
  margin: 0;
}
.formbox.with-icon .formbox-icon,
.formbox.with-icon .btn,
.formbox.with-icon .button,
.formbox.with-icon button {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 28px;
}
.formbox.with-icon .like-textarea + .formbox-icon,
.formbox.with-icon textarea + .formbox-icon,
.formbox.with-icon .like-textarea + .btn,
.formbox.with-icon textarea + .btn,
.formbox.with-icon .like-textarea + .button,
.formbox.with-icon textarea + .button,
.formbox.with-icon .like-textarea + button,
.formbox.with-icon textarea + button {
  right: 15px;
}
.formbox.with-icon .btn > div,
.formbox.with-icon .button > div,
.formbox.with-icon button > div {
  padding: 0;
  margin: auto;
  border: 0;
  color: inherit;
  background: transparent;
}
.formbox.with-icon .btn:hover,
.formbox.with-icon .button:hover,
.formbox.with-icon button:hover {
  color: var(--color-main);
}
.formbox.with-icon .formbox-icon {
  line-height: var(--form-height);
  text-align: center;
  pointer-events: none;
}
.is-disabled .formbox .like-input,
.formbox.is-disabled .like-input,
.is-disabled .formbox input,
.formbox.is-disabled input,
.is-disabled .formbox .like-select,
.formbox.is-disabled .like-select,
.is-disabled .formbox select,
.formbox.is-disabled select {
  border-color: #aaa;
  color: #aaa;
  background-color: #f4f4f5;
  text-indent: 0.01px;
  text-overflow: '';
  cursor: default;
  pointer-events: none;
}
.is-disabled .formbox .like-input:focus,
.formbox.is-disabled .like-input:focus,
.is-disabled .formbox input:focus,
.formbox.is-disabled input:focus,
.is-disabled .formbox .like-select:focus,
.formbox.is-disabled .like-select:focus,
.is-disabled .formbox select:focus,
.formbox.is-disabled select:focus {
  outline: none;
  box-shadow: none;
}
.is-disabled .formbox .like-input > div,
.formbox.is-disabled .like-input > div,
.is-disabled .formbox input > div,
.formbox.is-disabled input > div,
.is-disabled .formbox .like-select > div,
.formbox.is-disabled .like-select > div,
.is-disabled .formbox select > div,
.formbox.is-disabled select > div {
  color: inherit;
}
.is-disabled .formbox .like-label,
.formbox.is-disabled .like-label,
.is-disabled .formbox .formbox-icon,
.formbox.is-disabled .formbox-icon {
  color: #aaa;
}
.formbox.min {
  width: auto;
}
.formbox .like-label {
  display: none;
}
.formbox.label-top {
  padding-top: 26px;
}
.formbox.label-top .like-label {
  position: absolute;
  top: 0;
  display: flex;
  align-items: flex-end;
  height: 26px;
  line-height: 1.1;
  font-size: 1.3rem;
  color: #aaa;
}
.formbox.label-top .like-label > p {
  padding: 0 5px;
}
.form-group {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  align-items: flex-end;
  flex-wrap: nowrap;
  margin: 0 0 5px;
  width: 100%;
  white-space: nowrap;
}
.form-group .formbox,
.form-group .datebox,
.form-group .like-input,
.form-group .like-select,
.form-group .like-textarea,
.form-group input,
.form-group select,
.form-group textarea,
.form-group .btn,
.form-group .button,
.form-group button {
  margin: 0;
}
.form-group > p {
  padding: 0 5px;
  line-height: var(--form-height);
}
@media screen and (max-width: 769px) {
  .form-group {
    flex-direction: column;
    align-items: flex-start;
  }
}
.modal-side-card .form-group {
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (max-width: 769px) {
  .form-group.nowrap {
    flex-direction: row ;
    align-items: flex-end;
  }
}
.datebox {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  border: 1px solid #ddd;
  background-color: #fff;
  vertical-align: middle;
}
.datebox .formbox,
.datebox input,
.datebox select,
.datebox button,
.datebox .btn,
.datebox .button,
.datebox .like-input,
.datebox .like-select {
  width: auto;
  margin: 0;
  height: var(--form-height-inner);
  border: none;
  color: inherit;
  background: transparent;
  cursor: pointer;
  transition: all 0.3s;
}
.datebox .like-select,
.datebox .like-input {
  background-color: transparent;
  cursor: auto;
}
.datebox .btn,
.datebox .button,
.datebox button {
  padding: 0;
}
.datebox .btn > div,
.datebox .button > div,
.datebox button > div {
  min-height: 100%;
  border-radius: 0;
}
.datebox .btn.nude:hover,
.datebox .button.nude:hover,
.datebox button.nude:hover {
  color: var(--color-main);
}
.datebox .nude,
.datebox > p {
  padding: 0 5px;
  line-height: var(--form-height-inner);
}
.datebox .addon {
  padding: 0 10px;
}
.datebox .addon.btn > div {
  min-width: auto;
}
.datebox .addon.btn > div i,
.datebox .addon.btn > div svg {
  margin: 0;
  margin-top: -3px;
}
.datebox > .addon:first-of-type {
  padding-left: 10px;
}
.datebox > .addon:last-of-type {
  padding-right: 10px;
}
.datebox.with-label {
  margin-top: 26px;
}
.datebox.with-label .label-text {
  position: absolute;
  top: -26px;
  left: 0;
  display: flex;
  align-items: flex-end;
  height: 26px;
  font-size: 1.2rem;
  line-height: 1.1;
  white-space: nowrap;
  color: #aaa;
}
.datebox.with-label .label-text .badge {
  margin-top: 2px;
}
.is-error .datebox,
.datebox.is-error {
  color: #ed5565;
  border-color: #ed5565;
}
.is-error .datebox label,
.datebox.is-error label {
  color: #ed5565;
}
.is-disabled .datebox,
.datebox.is-disabled {
  border-color: #aaa;
  color: #aaa;
  background-color: #f4f4f5;
  text-indent: 0.01px;
  text-overflow: '';
  pointer-events: none;
  cursor: default;
}
.is-disabled .datebox:focus,
.datebox.is-disabled:focus {
  outline: none;
  box-shadow: none;
}
.datebox.nomargin {
  margin: 0;
}
.datebox.uneditable {
  border-color: transparent;
  background-color: #fafafa;
}
.like-editor {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: flex-end;
  height: 26px;
  font-size: 1.3rem;
  line-height: 1.1;
}
.like-editor .btn,
.like-editor .button,
.like-editor button {
  margin: 0;
}
.like-editor .btn > div,
.like-editor .button > div,
.like-editor button > div {
  min-width: auto;
  min-height: auto;
  line-height: 1.2;
  padding: 5px 10px !important;
  color: var(--color-text);
  border-radius: 0;
  border-color: #ddd;
  background-color: #fff;
}
.is-error .like-editor .btn > div,
.is-error .like-editor .button > div,
.is-error .like-editor button > div {
  color: inherit;
  background-color: #fff;
}
.textarea-counter {
  position: absolute;
  right: 10px;
  bottom: 3px;
  font-size: 12px;
  line-height: 1.1;
  pointer-events: none;
  background-color: #fff;
  opacity: 0.8;
}
.is-error .textarea-counter {
  color: #ed5565;
}
input[type="checkbox"]:not([class]) {
  appearance: checkbox;
  width: auto;
  height: auto;
  min-width: auto;
  margin: 0;
}
input[type="checkbox"]:not([class]):focus {
  box-shadow: none;
}
input[type="checkbox"].checkbox {
  display: none;
}
input[type="checkbox"].checkbox ~ .label-mark,
input[type="checkbox"].checkbox ~ .label-text {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  cursor: pointer;
}
input[type="checkbox"].checkbox ~ .label-mark {
  flex: 0 0 auto;
  position: relative;
  display: inline-block;
  margin-right: 0;
  padding-left: 20px;
}
input[type="checkbox"].checkbox ~ .label-mark::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  content: '\2713';
  width: 16px;
  height: 16px;
  margin-top: -8px;
  font-size: 24px;
  line-height: 14px;
  text-align: center;
  vertical-align: middle;
  color: transparent;
  border: 2px solid #ddd;
  border-radius: 2px;
  background-color: #fff;
  transition: all 0.1s;
}
input[type="checkbox"].checkbox ~ .label-mark::after {
  display: inline-block;
  content: attr(data-off-label);
}
input[type="checkbox"].checkbox ~ .label-mark:hover {
  opacity: 0.8;
}
input[type="checkbox"].checkbox ~ .label-text {
  flex: 1 1 100%;
}
input[type="checkbox"].checkbox ~ .label-text > p {
  width: 100%;
}
input[type="checkbox"].checkbox:checked ~ .label-mark {
  color: var(--color-main);
}
input[type="checkbox"].checkbox:checked ~ .label-mark::before {
  font-size: 12px;
  color: var(--color-main);
  border-color: var(--color-main);
}
input[type="checkbox"].checkbox:checked ~ .label-mark::after {
  display: inline-block;
  content: attr(data-on-label);
}
input[type="checkbox"].checkbox:checked ~ .label-text {
  color: var(--color-main);
}
input[type="checkbox"].checkbox:disabled ~ .label-mark {
  color: #ccc;
  cursor: default;
  pointer-events: none;
}
input[type="checkbox"].checkbox:disabled ~ .label-mark::before {
  background-color: #eee;
  border-color: #ddd;
}
input[type="checkbox"].checkbox:disabled ~ .label-text {
  color: #aaa;
  cursor: default;
}
input[type="checkbox"].checkbox:checked:disabled ~ .label-mark {
  color: #ccc;
}
input[type="checkbox"].checkbox:checked:disabled ~ .label-mark::before {
  font-size: 12px;
  color: #ccc;
  background-color: #fff;
  border-color: #ddd;
}
.is-error input[type="checkbox"].checkbox ~ .label-mark::before,
input[type="checkbox"].checkbox.is-error ~ .label-mark::before {
  border-color: #ed5565;
}
.is-error input[type="checkbox"].checkbox ~ .label-mark ~ .errorMessage,
input[type="checkbox"].checkbox.is-error ~ .label-mark ~ .errorMessage {
  margin-top: 0;
}
input[type="checkbox"].checkbox.big ~ .label-mark {
  padding-left: 44px;
  line-height: 34px;
  margin-right: 0;
}
input[type="checkbox"].checkbox.big ~ .label-mark::before {
  width: 34px;
  height: 34px;
  line-height: 32px;
  margin-top: -17px;
  font-size: 42px;
  border-radius: 5px;
  background: #f5f5f5;
}
input[type="checkbox"].checkbox.big:checked ~ .label-mark::before {
  font-size: 25px;
  background: #fff;
}
input[type="checkbox"].checkbox.big:disabled ~ .label-mark::before {
  background-color: #ccc;
}
input[type="checkbox"].checkbox.big:checked:disabled ~ .label-mark::before {
  font-size: 25px;
  background-color: #fff;
}
input[type="checkbox"].checkbox.red:checked ~ .label-mark {
  color: #f06868;
}
input[type="checkbox"].checkbox.red:checked ~ .label-mark::before {
  color: #fff;
  background-color: #f06868;
  border-color: #f06868;
}
input[type="checkbox"].checkbox.red:checked ~ .label-text {
  color: #f06868;
}
input[type="checkbox"].checkbox.blue:checked ~ .label-mark {
  color: var(--color-blue);
}
input[type="checkbox"].checkbox.blue:checked ~ .label-mark::before {
  color: #fff;
  background-color: var(--color-blue);
  border-color: var(--color-blue);
}
input[type="checkbox"].checkbox.blue:checked ~ .label-text {
  color: var(--color-blue);
}
input[type="checkbox"].checkbox.green:checked ~ .label-mark {
  color: var(--color-green);
}
input[type="checkbox"].checkbox.green:checked ~ .label-mark::before {
  color: #fff;
  background-color: var(--color-green);
  border-color: var(--color-green);
}
input[type="checkbox"].checkbox.green:checked ~ .label-text {
  color: var(--color-green);
}
input[type="checkbox"].checkbox.yellow:checked ~ .label-mark {
  color: #FEC747;
}
input[type="checkbox"].checkbox.yellow:checked ~ .label-mark::before {
  color: #fff;
  background-color: #FEC747;
  border-color: #FEC747;
}
input[type="checkbox"].checkbox.yellow:checked ~ .label-text {
  color: #FEC747;
}
input[type="checkbox"].checkbox.red-line:checked ~ .label-mark {
  color: #f06868;
}
input[type="checkbox"].checkbox.red-line:checked ~ .label-mark::before {
  color: #f06868;
  border-color: #f06868;
}
input[type="checkbox"].checkbox.red-line:checked ~ .label-text {
  color: #f06868;
}
input[type="checkbox"].checkbox.white-bg ~ .label-mark::before {
  background: #fff;
}
@media screen and (max-width: 769px) {
  input[type="checkbox"].checkbox ~ .label-text {
    align-items: flex-start;
    flex-direction: column;
  }
}
input[type="checkbox"].switch {
  display: none;
}
input[type="checkbox"].switch ~ .label-mark,
input[type="checkbox"].switch ~ .label-text {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
}
input[type="checkbox"].switch ~ .label-mark {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  width: 100px;
  height: 44px;
  margin: 2px 5px;
  background-color: #eee;
  border-radius: 22px;
  cursor: pointer;
  transition: all 0.2s;
}
input[type="checkbox"].switch ~ .label-mark::before,
input[type="checkbox"].switch ~ .label-mark::after {
  position: absolute;
  transition: all 0.2s;
}
input[type="checkbox"].switch ~ .label-mark::before {
  display: block;
  content: attr(data-off-label);
  top: 17px;
  right: 7px;
  color: #aaa;
  font-size: 14px;
  line-height: 1;
}
input[type="checkbox"].switch ~ .label-mark::after {
  content: '';
  top: 2px;
  left: 2px;
  width: 40px;
  height: 40px;
  background-color: #fff;
  border-radius: 50%;
}
input[type="checkbox"].switch:checked ~ .label-mark {
  background-color: var(--color-main);
}
input[type="checkbox"].switch:checked ~ .label-mark::before {
  content: attr(data-on-label);
  left: 7px;
  right: auto;
  color: #fff;
}
input[type="checkbox"].switch:checked ~ .label-mark::after {
  left: 58px;
  background-color: #f7f7f7;
}
input[type="checkbox"].switch.small ~ .label-mark {
  width: 80px;
  height: 32px;
}
input[type="checkbox"].switch.small ~ .label-mark::before {
  top: 11px;
  font-size: 13px;
}
input[type="checkbox"].switch.small ~ .label-mark::after {
  width: 28px;
  height: 28px;
}
input[type="checkbox"].switch.small:checked ~ .label-mark::after {
  left: 49px;
}
input[type="checkbox"].switch.square ~ .label-mark {
  border-radius: 6px;
  width: 60px;
  height: 28px;
}
input[type="checkbox"].switch.square ~ .label-mark::before {
  font-size: 12px;
  top: 0;
  line-height: 28px;
}
input[type="checkbox"].switch.square ~ .label-mark::after {
  width: 20px;
  height: 20px;
  top: 4px;
  border-radius: 4px;
}
input[type="checkbox"].switch.square:checked ~ .label-mark::after {
  left: 36px;
}
.is-error input[type="checkbox"].switch ~ .label-mark,
.error input[type="checkbox"].switch ~ .label-mark {
  border: 1px solid #ed5565;
}
.is-error input[type="checkbox"].switch ~ .label-mark ~ .errorMessage,
.error input[type="checkbox"].switch ~ .label-mark ~ .errorMessage {
  margin-top: 0;
}
input[type="radio"]:not([class]) {
  appearance: radio;
  width: auto;
  height: auto;
  margin: 0;
}
input[type="radio"].radio {
  display: none;
}
input[type="radio"].radio ~ .label-mark,
input[type="radio"].radio ~ .label-text {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  line-height: var(--form-height);
}
input[type="radio"].radio ~ .label-text {
  margin-right: 20px;
  cursor: pointer;
  white-space: normal;
}
input[type="radio"].radio ~ .label-mark {
  position: relative;
  display: inline-flex;
  cursor: pointer;
  padding-left: 30px;
  vertical-align: middle;
  line-height: var(--form-height);
}
input[type="radio"].radio ~ .label-mark::before {
  position: absolute;
  top: 50%;
  left: 5px;
  display: inline-block;
  content: '';
  width: 14px;
  height: 14px;
  margin-right: 5px;
  margin-top: -8px;
  background-color: #f4f4f5;
  border: 3px solid #f4f4f5;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #ccc;
  transition: all 0.2s ease;
}
input[type="radio"].radio ~ .label-mark::after {
  display: inline-block;
  content: attr(data-off-label);
}
input[type="radio"].radio:checked ~ .label-mark {
  color: var(--color-main);
}
input[type="radio"].radio:checked ~ .label-mark::before {
  background-color: var(--color-main);
  border-color: #fff;
  box-shadow: 0 0 0 2px var(--color-main);
}
input[type="radio"].radio:checked ~ .label-mark::after {
  display: inline-block;
  content: attr(data-on-label);
}
input[type="radio"].radio:checked ~ .label-text {
  color: var(--color-main);
}
input[type="radio"].radio:disabled ~ .label-mark {
  color: #ccc;
  cursor: default;
  pointer-events: none;
}
input[type="radio"].radio:disabled ~ .label-mark::before {
  box-shadow: 0 0 0 2px #ccc;
}
input[type="radio"].radio:disabled ~ .label-text {
  color: #aaa;
  cursor: default;
}
input[type="radio"].radio:checked:disabled ~ .label-mark::before {
  background-color: #eee;
  box-shadow: 0 0 0 2px #ccc;
}
.is-error input[type="radio"].radio ~ .label-mark::before,
input[type="radio"].radio.is-error ~ .label-mark::before {
  box-shadow: 0 0 0 2px #ed5565;
}
.is-error input[type="radio"].radio ~ .label-mark::before ~ .errorMessage,
input[type="radio"].radio.is-error ~ .label-mark::before ~ .errorMessage {
  margin-top: 0;
}
@media screen and (max-width: 560px) {
  input[type="radio"].radio ~ .label-mark,
  input[type="radio"].radio ~ .label-text {
    padding-bottom: 7px;
  }
}
input[type="radio"].like-checkbox {
  position: absolute;
  opacity: 0;
  width: auto;
  height: 0;
  line-height: 0;
}
input[type="radio"].like-checkbox ~ .label-mark,
input[type="radio"].like-checkbox ~ .label-text {
  display: inline-flex;
  cursor: pointer;
}
input[type="radio"].like-checkbox ~ .label-text {
  padding-right: 20px;
}
input[type="radio"].like-checkbox ~ .label-mark {
  position: relative;
  display: inline-block;
  margin-right: 0;
  padding-left: 20px;
}
input[type="radio"].like-checkbox ~ .label-mark::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  content: '\2713';
  width: 16px;
  height: 16px;
  margin-top: -8px;
  font-size: 24px;
  line-height: 14px;
  text-align: center;
  vertical-align: middle;
  color: transparent;
  border: 2px solid #ddd;
  border-radius: 2px;
  background-color: #fff;
  transition: all 0.1s;
  overflow: hidden;
}
input[type="radio"].like-checkbox ~ .label-mark::after {
  display: inline-block;
  content: attr(data-off-label);
}
input[type="radio"].like-checkbox ~ .label-mark:hover {
  opacity: 0.8;
}
input[type="radio"].like-checkbox:checked ~ .label-mark {
  color: var(--color-main);
}
input[type="radio"].like-checkbox:checked ~ .label-mark::before {
  font-size: 12px;
  color: var(--color-main);
  border-color: var(--color-main);
}
input[type="radio"].like-checkbox:checked ~ .label-mark::after {
  display: inline-block;
  content: attr(data-on-label);
}
input[type="radio"].like-checkbox:checked ~ .label-text {
  color: var(--color-main);
}
input[type="radio"].like-checkbox:disabled + .label-mark {
  color: #ccc;
  cursor: default;
  pointer-events: none;
}
input[type="radio"].like-checkbox:disabled + .label-mark::before {
  background-color: #eee;
  border-color: #ddd;
}
input[type="radio"].like-checkbox:disabled ~ .label-text {
  color: #aaa;
  cursor: default;
}
input[type="radio"].like-checkbox:checked:disabled + .label-mark {
  color: #ccc;
}
input[type="radio"].like-checkbox:checked:disabled + .label-mark::before {
  font-size: 12px;
  color: #ccc;
  background-color: #fff;
  border-color: #ddd;
}
input[type="radio"].like-checkbox.big + .label-mark {
  padding-left: 38px;
  line-height: 34px;
  margin: 5px;
}
input[type="radio"].like-checkbox.big + .label-mark::before {
  width: 34px;
  height: 34px;
  line-height: 32px;
  margin-top: -17px;
  font-size: 42px;
  border-radius: 5px;
  background: #f5f5f5;
}
input[type="radio"].like-checkbox.big ~ .label-text {
  padding-right: 40px;
}
input[type="radio"].like-checkbox.big:checked + .label-mark::before {
  font-size: 25px;
  background: #fff;
}
input[type="radio"].like-checkbox.big:disabled + .label-mark::before {
  background-color: #ccc;
}
input[type="radio"].like-checkbox.big:checked:disabled + .label-mark::before {
  font-size: 25px;
  background-color: #fff;
}
.is-error input[type="radio"].like-checkbox + .label-mark::before,
.error input[type="radio"].like-checkbox + .label-mark::before {
  border-color: #ed5565;
}
.is-error input[type="radio"].like-checkbox + .label-mark ~ .errorMessage,
.error input[type="radio"].like-checkbox + .label-mark ~ .errorMessage {
  margin-top: 0;
}
input[type="radio"].like-btn-radio {
  position: absolute;
  width: 0;
  height: 0;
  line-height: 0;
  opacity: 0;
}
input[type="radio"].like-btn-radio ~ .label-mark,
input[type="radio"].like-btn-radio ~ .label-text {
  display: flex;
}
input[type="radio"].like-btn-radio ~ .label-mark {
  display: none;
}
input[type="radio"].like-btn-radio ~ .label-text {
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 5px 0px;
  padding: 0px 40px;
  min-height: 60px;
  max-width: 100%;
  border: 1px solid var(--color-main);
  color: var(--color-main);
  background-color: #fff;
  box-shadow: 0 0 0 2px transparent;
  cursor: pointer;
  transition: all 0.3s;
  white-space: normal;
}
input[type="radio"].like-btn-radio:checked ~ .label-text {
  font-size: 1.8rem;
  color: #fff;
  background-color: var(--color-main);
  box-shadow: 0 0 0 2px var(--color-main);
}
input[type="radio"].like-btn-radio:checked ~ .label-text::before {
  position: absolute;
  top: 50%;
  left: -4px;
  display: block;
  content: '';
  width: 36px;
  height: 22px;
  margin-top: -18px;
  border-style: solid;
  border-width: 0 0 6px 6px;
  border-color: transparent transparent #fff #fff;
  transform: rotate(-45deg);
}
input[type="radio"].like-btn-radio:disabled ~ .label-text {
  color: #aaa;
  border-color: #aaa;
  background-color: #f4f4f5;
  opacity: 0.5;
  cursor: default;
}
.is-error input[type="radio"].like-btn-radio ~ .label-text {
  color: #ed5565;
  border-color: #ed5565;
}
.is-error input[type="radio"].like-btn-radio:checked ~ .label-text {
  color: #fff;
  background-color: #ed5565;
  box-shadow: 0 0 0 2px #ed5565;
}
input[type="radio"].like-checkbox-radio {
  position: absolute;
  width: 0;
  height: 0;
  line-height: 0;
  opacity: 0;
}
input[type="radio"].like-checkbox-radio ~ .label-text {
  position: relative;
  display: inline-block;
  min-width: 300px;
  width: auto;
  margin: 10px 0;
  padding: 10px 20px 10px 60px;
  background-color: #fafafa;
  border: 1px solid transparent;
  outline: 2px solid transparent;
  text-align: left;
  transition: all 0.3s;
  white-space: normal;
}
input[type="radio"].like-checkbox-radio ~ .label-text::before {
  position: absolute;
  top: 50%;
  left: 10px;
  display: inline-block;
  content: '\2713';
  width: 34px;
  height: 34px;
  margin-top: -17px;
  font-size: 42px;
  line-height: 32px;
  text-align: center;
  vertical-align: middle;
  color: transparent;
  border: 2px solid #ddd;
  border-radius: 5px;
  background-color: #fff;
  transition: all 0.1s;
}
input[type="radio"].like-checkbox-radio:checked ~ .label-text {
  color: #fff;
  background-color: var(--color-main);
  outline: 2px solid var(--color-main);
}
input[type="radio"].like-checkbox-radio:checked ~ .label-text::before {
  font-size: 25px;
  color: var(--color-main);
  border-color: var(--color-main);
}
@media screen and (max-width: 560px) {
  input[type="radio"].like-checkbox-radio ~ .label-text {
    min-width: auto;
    width: 100%;
  }
}
.range {
  position: relative;
  width: 20px;
  height: 200px;
  padding: 0;
  margin: 0 auto 20px;
}
.range::before {
  position: absolute;
  top: 10px;
  left: 50%;
  display: block;
  content: '';
  background-color: var(--color-main);
  width: 8px;
  height: 100%;
  margin-left: -4px;
  border-radius: 4px;
}
.range .bubble {
  position: absolute;
  left: 0;
  display: block;
  content: '';
  width: 20px;
  height: 20px;
  border: 2px solid #aaa;
  background-color: #fff;
  border-radius: 50%;
}
.range.vertical {
  transform: rotate(90deg);
}
button {
  background-color: transparent;
  outline: none;
  border: 0;
}
button,
.button,
a.btn,
.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 10px 30px;
  color: var(--color-main);
  background-color: #fff;
  border: 1px solid var(--color-main);
  border-radius: 5px;
  cursor: pointer;
}
button + .btn,
.button + .btn,
a.btn + .btn,
.btn + .btn {
  margin-left: var(--btn-btn-margin);
}
button:active > .btn-child,
.button:active > .btn-child,
a.btn:active > .btn-child,
.btn:active > .btn-child,
button:active > div,
.button:active > div,
a.btn:active > div,
.btn:active > div {
  color: var(--color-main);
  background-color: #fff;
  transform: scale(0.97, 0.9);
}
button:focus,
.button:focus,
a.btn:focus,
.btn:focus {
  border: none;
  outline: none;
}
button:hover,
.button:hover,
a.btn:hover,
.btn:hover {
  opacity: 0.9;
}
.is-disabled button,
.is-disabled .button,
.is-disabled a.btn,
.is-disabled .btn,
button:disabled,
.button:disabled,
a.btn:disabled,
.btn:disabled,
button[disabled],
.button[disabled],
a.btn[disabled],
.btn[disabled],
button.disabled,
.button.disabled,
a.btn.disabled,
.btn.disabled,
button.is-disabled,
.button.is-disabled,
a.btn.is-disabled,
.btn.is-disabled {
  pointer-events: none;
  cursor: default;
  background-color: transparent;
}
.is-disabled button > .btn-child,
.is-disabled .button > .btn-child,
.is-disabled a.btn > .btn-child,
.is-disabled .btn > .btn-child,
button:disabled > .btn-child,
.button:disabled > .btn-child,
a.btn:disabled > .btn-child,
.btn:disabled > .btn-child,
button[disabled] > .btn-child,
.button[disabled] > .btn-child,
a.btn[disabled] > .btn-child,
.btn[disabled] > .btn-child,
button.disabled > .btn-child,
.button.disabled > .btn-child,
a.btn.disabled > .btn-child,
.btn.disabled > .btn-child,
button.is-disabled > .btn-child,
.button.is-disabled > .btn-child,
a.btn.is-disabled > .btn-child,
.btn.is-disabled > .btn-child,
.is-disabled button > div,
.is-disabled .button > div,
.is-disabled a.btn > div,
.is-disabled .btn > div,
button:disabled > div,
.button:disabled > div,
a.btn:disabled > div,
.btn:disabled > div,
button[disabled] > div,
.button[disabled] > div,
a.btn[disabled] > div,
.btn[disabled] > div,
button.disabled > div,
.button.disabled > div,
a.btn.disabled > div,
.btn.disabled > div,
button.is-disabled > div,
.button.is-disabled > div,
a.btn.is-disabled > div,
.btn.is-disabled > div {
  color: #fff;
  border-color: #ccc;
  background-color: #ccc;
  opacity: 0.6;
}
.is-enabled button,
.is-enabled .button,
.is-enabled a.btn,
.is-enabled .btn,
button.is-enabled,
.button.is-enabled,
a.btn.is-enabled,
.btn.is-enabled {
  pointer-events: auto !important;
  cursor: pointer !important;
  opacity: 1 !important;
}
.is-error button > .btn-child,
.is-error .button > .btn-child,
.is-error a.btn > .btn-child,
.is-error .btn > .btn-child,
.error button > .btn-child,
.error .button > .btn-child,
.error a.btn > .btn-child,
.error .btn > .btn-child,
button.is-error > .btn-child,
.button.is-error > .btn-child,
a.btn.is-error > .btn-child,
.btn.is-error > .btn-child,
.is-error button > div,
.is-error .button > div,
.is-error a.btn > div,
.is-error .btn > div,
.error button > div,
.error .button > div,
.error a.btn > div,
.error .btn > div,
button.is-error > div,
.button.is-error > div,
a.btn.is-error > div,
.btn.is-error > div {
  border-color: #f06868;
  background-color: #f06868;
  color: #fff;
}
button.full,
.button.full,
a.btn.full,
.btn.full {
  width: 100%;
}
button.full > .btn-child,
.button.full > .btn-child,
a.btn.full > .btn-child,
.btn.full > .btn-child,
button.full > div,
.button.full > div,
a.btn.full > div,
.btn.full > div {
  width: 100%;
}
button.large > .btn-child,
.button.large > .btn-child,
a.btn.large > .btn-child,
.btn.large > .btn-child,
button.large > div,
.button.large > div,
a.btn.large > div,
.btn.large > div {
  min-width: 300px;
}
button.middle > .btn-child,
.button.middle > .btn-child,
a.btn.middle > .btn-child,
.btn.middle > .btn-child,
button.middle > div,
.button.middle > div,
a.btn.middle > div,
.btn.middle > div {
  min-width: 200px;
}
button.small > .btn-child,
.button.small > .btn-child,
a.btn.small > .btn-child,
.btn.small > .btn-child,
button.small > div,
.button.small > div,
a.btn.small > div,
.btn.small > div {
  min-width: auto;
  min-height: auto;
  padding: var(--btn-small-padding);
  line-height: 1.2;
}
button.small + .btn,
.button.small + .btn,
a.btn.small + .btn,
.btn.small + .btn {
  margin-left: 10px;
}
button.min > .btn-child,
.button.min > .btn-child,
a.btn.min > .btn-child,
.btn.min > .btn-child,
button.min > div,
.button.min > div,
a.btn.min > div,
.btn.min > div {
  min-width: auto;
  padding: 3px 8px;
  line-height: 1;
}
button.padding-big > .btn-child,
.button.padding-big > .btn-child,
a.btn.padding-big > .btn-child,
.btn.padding-big > .btn-child,
button.padding-big > div,
.button.padding-big > div,
a.btn.padding-big > div,
.btn.padding-big > div {
  font-size: 1.6rem;
  padding: 18px 40px;
}
button.padding-middle > .btn-child,
.button.padding-middle > .btn-child,
a.btn.padding-middle > .btn-child,
.btn.padding-middle > .btn-child,
button.padding-middle > div,
.button.padding-middle > div,
a.btn.padding-middle > div,
.btn.padding-middle > div {
  padding: 18px 20px;
}
button.pill > .btn-child,
.button.pill > .btn-child,
a.btn.pill > .btn-child,
.btn.pill > .btn-child,
button.pill > div,
.button.pill > div,
a.btn.pill > div,
.btn.pill > div {
  border-radius: 23px;
}
button.pill.small > .btn-child,
.button.pill.small > .btn-child,
a.btn.pill.small > .btn-child,
.btn.pill.small > .btn-child,
button.pill.small > div,
.button.pill.small > div,
a.btn.pill.small > div,
.btn.pill.small > div {
  padding: 3px 20px;
  height: 32px;
  font-size: 14px;
}
button.circle-icon > .btn-child,
.button.circle-icon > .btn-child,
a.btn.circle-icon > .btn-child,
.btn.circle-icon > .btn-child,
button.circle-icon > div,
.button.circle-icon > div,
a.btn.circle-icon > div,
.btn.circle-icon > div {
  width: 32px;
  height: 32px;
  padding: 0;
  min-width: 32px;
  min-height: 32px;
  overflow: hidden;
  border-radius: 50%;
}
button.circle-icon > .btn-child svg,
.button.circle-icon > .btn-child svg,
a.btn.circle-icon > .btn-child svg,
.btn.circle-icon > .btn-child svg,
button.circle-icon > div svg,
.button.circle-icon > div svg,
a.btn.circle-icon > div svg,
.btn.circle-icon > div svg,
button.circle-icon > .btn-child i,
.button.circle-icon > .btn-child i,
a.btn.circle-icon > .btn-child i,
.btn.circle-icon > .btn-child i,
button.circle-icon > div i,
.button.circle-icon > div i,
a.btn.circle-icon > div i,
.btn.circle-icon > div i {
  margin: 0;
  font-size: 16px;
  line-height: 1;
}
button.circle-icon-small,
.button.circle-icon-small,
a.btn.circle-icon-small,
.btn.circle-icon-small {
  line-height: 20px;
}
button.circle-icon-small > .btn-child,
.button.circle-icon-small > .btn-child,
a.btn.circle-icon-small > .btn-child,
.btn.circle-icon-small > .btn-child,
button.circle-icon-small > div,
.button.circle-icon-small > div,
a.btn.circle-icon-small > div,
.btn.circle-icon-small > div {
  width: 20px;
  height: 20px;
  padding: 0;
  min-width: 20px;
  min-height: 20px;
  overflow: hidden;
  border-radius: 50%;
  font-size: 16px;
}
button.circle-icon-small > .btn-child svg,
.button.circle-icon-small > .btn-child svg,
a.btn.circle-icon-small > .btn-child svg,
.btn.circle-icon-small > .btn-child svg,
button.circle-icon-small > div svg,
.button.circle-icon-small > div svg,
a.btn.circle-icon-small > div svg,
.btn.circle-icon-small > div svg,
button.circle-icon-small > .btn-child i,
.button.circle-icon-small > .btn-child i,
a.btn.circle-icon-small > .btn-child i,
.btn.circle-icon-small > .btn-child i,
button.circle-icon-small > div i,
.button.circle-icon-small > div i,
a.btn.circle-icon-small > div i,
.btn.circle-icon-small > div i {
  margin: 0;
  font-size: 14px;
  line-height: 1;
}
button.circle-icon-bigger > .btn-child,
.button.circle-icon-bigger > .btn-child,
a.btn.circle-icon-bigger > .btn-child,
.btn.circle-icon-bigger > .btn-child,
button.circle-icon-bigger > div,
.button.circle-icon-bigger > div,
a.btn.circle-icon-bigger > div,
.btn.circle-icon-bigger > div {
  width: 40px;
  height: 40px;
  padding: 0;
  min-width: 40px;
  min-height: 40px;
  overflow: hidden;
  border-radius: 50%;
}
button.circle-icon-bigger > .btn-child svg,
.button.circle-icon-bigger > .btn-child svg,
a.btn.circle-icon-bigger > .btn-child svg,
.btn.circle-icon-bigger > .btn-child svg,
button.circle-icon-bigger > div svg,
.button.circle-icon-bigger > div svg,
a.btn.circle-icon-bigger > div svg,
.btn.circle-icon-bigger > div svg,
button.circle-icon-bigger > .btn-child i,
.button.circle-icon-bigger > .btn-child i,
a.btn.circle-icon-bigger > .btn-child i,
.btn.circle-icon-bigger > .btn-child i,
button.circle-icon-bigger > div i,
.button.circle-icon-bigger > div i,
a.btn.circle-icon-bigger > div i,
.btn.circle-icon-bigger > div i {
  margin: 0 0 0 2px;
  font-size: 20px;
  line-height: 1;
}
button.circle-icon-big > .btn-child,
.button.circle-icon-big > .btn-child,
a.btn.circle-icon-big > .btn-child,
.btn.circle-icon-big > .btn-child,
button.circle-icon-big > div,
.button.circle-icon-big > div,
a.btn.circle-icon-big > div,
.btn.circle-icon-big > div {
  width: 36px;
  height: 36px;
  padding: 0;
  min-width: 36px;
  min-height: 36px;
  overflow: hidden;
  border-radius: 50%;
}
button.circle-icon-big > .btn-child svg,
.button.circle-icon-big > .btn-child svg,
a.btn.circle-icon-big > .btn-child svg,
.btn.circle-icon-big > .btn-child svg,
button.circle-icon-big > div svg,
.button.circle-icon-big > div svg,
a.btn.circle-icon-big > div svg,
.btn.circle-icon-big > div svg,
button.circle-icon-big > .btn-child i,
.button.circle-icon-big > .btn-child i,
a.btn.circle-icon-big > .btn-child i,
.btn.circle-icon-big > .btn-child i,
button.circle-icon-big > div i,
.button.circle-icon-big > div i,
a.btn.circle-icon-big > div i,
.btn.circle-icon-big > div i {
  margin: 0 0 0 2px;
  font-size: 16px;
  line-height: 1;
}
button.circle-text > .btn-child,
.button.circle-text > .btn-child,
a.btn.circle-text > .btn-child,
.btn.circle-text > .btn-child,
button.circle-text > div,
.button.circle-text > div,
a.btn.circle-text > div,
.btn.circle-text > div {
  width: 56px;
  height: 56px;
  min-width: auto;
  min-height: auto;
  padding: 10px;
  line-height: 1;
  border-radius: 50%;
  text-align: center;
  vertical-align: middle;
}
button.add > .btn-child,
.button.add > .btn-child,
a.btn.add > .btn-child,
.btn.add > .btn-child,
button.add > div,
.button.add > div,
a.btn.add > div,
.btn.add > div {
  color: var(--color-main);
  border-color: var(--color-main);
  background-color: #fff;
  border-radius: 23px;
  padding-left: 40px;
}
.btnbox button.add > .btn-child,
.btnbox .button.add > .btn-child,
.btnbox a.btn.add > .btn-child,
.btnbox .btn.add > .btn-child,
.btnbox button.add > div,
.btnbox .button.add > div,
.btnbox a.btn.add > div,
.btnbox .btn.add > div {
  padding-right: 40px;
}
button.add > .btn-child::before,
.button.add > .btn-child::before,
a.btn.add > .btn-child::before,
.btn.add > .btn-child::before,
button.add > div::before,
.button.add > div::before,
a.btn.add > div::before,
.btn.add > div::before,
button.add > .btn-child::after,
.button.add > .btn-child::after,
a.btn.add > .btn-child::after,
.btn.add > .btn-child::after,
button.add > div::after,
.button.add > div::after,
a.btn.add > div::after,
.btn.add > div::after {
  position: absolute;
  top: 50%;
  left: 20px;
  margin-top: -1px;
  display: block;
  content: '';
  width: 14px;
  height: 2px;
  background-color: var(--color-main);
}
button.add > .btn-child::after,
.button.add > .btn-child::after,
a.btn.add > .btn-child::after,
.btn.add > .btn-child::after,
button.add > div::after,
.button.add > div::after,
a.btn.add > div::after,
.btn.add > div::after {
  transform: rotate(90deg);
}
button.add.is-disabled > .btn-child,
.button.add.is-disabled > .btn-child,
a.btn.add.is-disabled > .btn-child,
.btn.add.is-disabled > .btn-child,
button.add[disabled] > .btn-child,
.button.add[disabled] > .btn-child,
a.btn.add[disabled] > .btn-child,
.btn.add[disabled] > .btn-child,
button.add.is-disabled > div,
.button.add.is-disabled > div,
a.btn.add.is-disabled > div,
.btn.add.is-disabled > div,
button.add[disabled] > div,
.button.add[disabled] > div,
a.btn.add[disabled] > div,
.btn.add[disabled] > div {
  color: #aaa;
  border-color: #aaa;
}
button.add.is-disabled > .btn-child::before,
.button.add.is-disabled > .btn-child::before,
a.btn.add.is-disabled > .btn-child::before,
.btn.add.is-disabled > .btn-child::before,
button.add[disabled] > .btn-child::before,
.button.add[disabled] > .btn-child::before,
a.btn.add[disabled] > .btn-child::before,
.btn.add[disabled] > .btn-child::before,
button.add.is-disabled > div::before,
.button.add.is-disabled > div::before,
a.btn.add.is-disabled > div::before,
.btn.add.is-disabled > div::before,
button.add[disabled] > div::before,
.button.add[disabled] > div::before,
a.btn.add[disabled] > div::before,
.btn.add[disabled] > div::before,
button.add.is-disabled > .btn-child::after,
.button.add.is-disabled > .btn-child::after,
a.btn.add.is-disabled > .btn-child::after,
.btn.add.is-disabled > .btn-child::after,
button.add[disabled] > .btn-child::after,
.button.add[disabled] > .btn-child::after,
a.btn.add[disabled] > .btn-child::after,
.btn.add[disabled] > .btn-child::after,
button.add.is-disabled > div::after,
.button.add.is-disabled > div::after,
a.btn.add.is-disabled > div::after,
.btn.add.is-disabled > div::after,
button.add[disabled] > div::after,
.button.add[disabled] > div::after,
a.btn.add[disabled] > div::after,
.btn.add[disabled] > div::after {
  background-color: #aaa;
}
button.remove > .btn-child,
.button.remove > .btn-child,
a.btn.remove > .btn-child,
.btn.remove > .btn-child,
button.remove > div,
.button.remove > div,
a.btn.remove > div,
.btn.remove > div {
  color: #f06868;
  background-color: #fff;
  border-radius: 23px;
  padding-left: 40px;
  border-color: #f06868;
}
button.remove > .btn-child::before,
.button.remove > .btn-child::before,
a.btn.remove > .btn-child::before,
.btn.remove > .btn-child::before,
button.remove > div::before,
.button.remove > div::before,
a.btn.remove > div::before,
.btn.remove > div::before {
  position: absolute;
  top: 50%;
  left: 20px;
  margin-top: -1px;
  display: block;
  content: '';
  width: 14px;
  height: 2px;
  background-color: #f06868;
}
button.remove.is-disabled > .btn-child,
.button.remove.is-disabled > .btn-child,
a.btn.remove.is-disabled > .btn-child,
.btn.remove.is-disabled > .btn-child,
button.remove[disabled] > .btn-child,
.button.remove[disabled] > .btn-child,
a.btn.remove[disabled] > .btn-child,
.btn.remove[disabled] > .btn-child,
button.remove.is-disabled > div,
.button.remove.is-disabled > div,
a.btn.remove.is-disabled > div,
.btn.remove.is-disabled > div,
button.remove[disabled] > div,
.button.remove[disabled] > div,
a.btn.remove[disabled] > div,
.btn.remove[disabled] > div {
  color: #aaa;
  border-color: #aaa;
}
button.remove.is-disabled > .btn-child::before,
.button.remove.is-disabled > .btn-child::before,
a.btn.remove.is-disabled > .btn-child::before,
.btn.remove.is-disabled > .btn-child::before,
button.remove[disabled] > .btn-child::before,
.button.remove[disabled] > .btn-child::before,
a.btn.remove[disabled] > .btn-child::before,
.btn.remove[disabled] > .btn-child::before,
button.remove.is-disabled > div::before,
.button.remove.is-disabled > div::before,
a.btn.remove.is-disabled > div::before,
.btn.remove.is-disabled > div::before,
button.remove[disabled] > div::before,
.button.remove[disabled] > div::before,
a.btn.remove[disabled] > div::before,
.btn.remove[disabled] > div::before,
button.remove.is-disabled > .btn-child::after,
.button.remove.is-disabled > .btn-child::after,
a.btn.remove.is-disabled > .btn-child::after,
.btn.remove.is-disabled > .btn-child::after,
button.remove[disabled] > .btn-child::after,
.button.remove[disabled] > .btn-child::after,
a.btn.remove[disabled] > .btn-child::after,
.btn.remove[disabled] > .btn-child::after,
button.remove.is-disabled > div::after,
.button.remove.is-disabled > div::after,
a.btn.remove.is-disabled > div::after,
.btn.remove.is-disabled > div::after,
button.remove[disabled] > div::after,
.button.remove[disabled] > div::after,
a.btn.remove[disabled] > div::after,
.btn.remove[disabled] > div::after {
  background-color: #aaa;
}
button.floating,
.button.floating,
a.btn.floating,
.btn.floating {
  position: relative;
  margin: 10px;
}
button.floating > .btn-child,
.button.floating > .btn-child,
a.btn.floating > .btn-child,
.btn.floating > .btn-child,
button.floating > div,
.button.floating > div,
a.btn.floating > div,
.btn.floating > div {
  width: 56px;
  height: 56px;
  white-space: nowrap;
  border: none;
  border-radius: 50%;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);
}
button.floating > .btn-child svg,
.button.floating > .btn-child svg,
a.btn.floating > .btn-child svg,
.btn.floating > .btn-child svg,
button.floating > div svg,
.button.floating > div svg,
a.btn.floating > div svg,
.btn.floating > div svg,
button.floating > .btn-child i,
.button.floating > .btn-child i,
a.btn.floating > .btn-child i,
.btn.floating > .btn-child i,
button.floating > div i,
.button.floating > div i,
a.btn.floating > div i,
.btn.floating > div i {
  font-size: 18px;
  margin: 0;
}
button.floating:hover,
.button.floating:hover,
a.btn.floating:hover,
.btn.floating:hover {
  opacity: 1;
}
button.floating:hover > .btn-child,
.button.floating:hover > .btn-child,
a.btn.floating:hover > .btn-child,
.btn.floating:hover > .btn-child,
button.floating:hover > div,
.button.floating:hover > div,
a.btn.floating:hover > div,
.btn.floating:hover > div {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
}
button.floating.small,
.button.floating.small,
a.btn.floating.small,
.btn.floating.small {
  margin: 5px;
}
button.floating.small > .btn-child,
.button.floating.small > .btn-child,
a.btn.floating.small > .btn-child,
.btn.floating.small > .btn-child,
button.floating.small > div,
.button.floating.small > div,
a.btn.floating.small > div,
.btn.floating.small > div {
  width: 38px;
  height: 38px;
}
button.floating.big > .btn-child,
.button.floating.big > .btn-child,
a.btn.floating.big > .btn-child,
.btn.floating.big > .btn-child,
button.floating.big > div,
.button.floating.big > div,
a.btn.floating.big > div,
.btn.floating.big > div {
  width: 110px;
  height: 110px;
  text-align: center;
  padding: 0;
}
button.floating.big > .btn-child svg,
.button.floating.big > .btn-child svg,
a.btn.floating.big > .btn-child svg,
.btn.floating.big > .btn-child svg,
button.floating.big > div svg,
.button.floating.big > div svg,
a.btn.floating.big > div svg,
.btn.floating.big > div svg,
button.floating.big > .btn-child i,
.button.floating.big > .btn-child i,
a.btn.floating.big > .btn-child i,
.btn.floating.big > .btn-child i,
button.floating.big > div i,
.button.floating.big > div i,
a.btn.floating.big > div i,
.btn.floating.big > div i {
  font-size: 30px;
}
button.floating.green > div,
.button.floating.green > div,
a.btn.floating.green > div,
.btn.floating.green > div {
  box-shadow: 0 2px 2px 0 rgba(105, 211, 203, 0.32), 0 4px 4px 0 rgba(105, 211, 203, 0.44);
}
button.floating.green:hover > div,
.button.floating.green:hover > div,
a.btn.floating.green:hover > div,
.btn.floating.green:hover > div {
  box-shadow: 0 4px 8px 0 rgba(105, 211, 203, 0.54), 0 1px 10px 0 rgba(105, 211, 203, 0.22), 0 2px 4px -1px rgba(105, 211, 203, 0.2);
}
button.floating.red > div,
.button.floating.red > div,
a.btn.floating.red > div,
.btn.floating.red > div {
  box-shadow: 0 2px 2px 0 rgba(235, 83, 83, 0.32), 0 4px 4px 0 rgba(235, 83, 83, 0.44);
}
button.floating.red:hover > div,
.button.floating.red:hover > div,
a.btn.floating.red:hover > div,
.btn.floating.red:hover > div {
  box-shadow: 0 4px 8px 0 rgba(235, 83, 83, 0.54), 0 1px 10px 0 rgba(235, 83, 83, 0.22), 0 2px 4px -1px rgba(235, 83, 83, 0.2);
}
button.floating.yellow > div,
.button.floating.yellow > div,
a.btn.floating.yellow > div,
.btn.floating.yellow > div {
  box-shadow: 0 2px 2px 0 rgba(252, 187, 11, 0.32), 0 4px 4px 0 rgba(252, 187, 11, 0.44);
}
button.floating.yellow:hover > div,
.button.floating.yellow:hover > div,
a.btn.floating.yellow:hover > div,
.btn.floating.yellow:hover > div {
  box-shadow: 0 4px 8px 0 rgba(252, 187, 11, 0.54), 0 1px 10px 0 rgba(252, 187, 11, 0.22), 0 2px 4px -1px rgba(252, 187, 11, 0.2);
}
button.floating.white > .btn-child,
.button.floating.white > .btn-child,
a.btn.floating.white > .btn-child,
.btn.floating.white > .btn-child,
button.floating.white > div,
.button.floating.white > div,
a.btn.floating.white > div,
.btn.floating.white > div {
  color: #666;
  border: 1px solid #ccc;
}
button.floating.white > div,
.button.floating.white > div,
a.btn.floating.white > div,
.btn.floating.white > div {
  box-shadow: 0 2px 2px 0 rgba(200, 200, 200, 0.32), 0 4px 4px 0 rgba(200, 200, 200, 0.44);
}
button.floating.white:hover > div,
.button.floating.white:hover > div,
a.btn.floating.white:hover > div,
.btn.floating.white:hover > div {
  box-shadow: 0 4px 8px 0 rgba(200, 200, 200, 0.54), 0 1px 10px 0 rgba(200, 200, 200, 0.22), 0 2px 4px -1px rgba(200, 200, 200, 0.2);
}
button.ripple > .btn-child,
.button.ripple > .btn-child,
a.btn.ripple > .btn-child,
.btn.ripple > .btn-child,
button.ripple > div,
.button.ripple > div,
a.btn.ripple > div,
.btn.ripple > div {
  position: relative;
  overflow: visible;
  z-index: 10;
}
button.ripple > .btn-child::before,
.button.ripple > .btn-child::before,
a.btn.ripple > .btn-child::before,
.btn.ripple > .btn-child::before,
button.ripple > div::before,
.button.ripple > div::before,
a.btn.ripple > div::before,
.btn.ripple > div::before {
  position: absolute;
  top: 0px;
  bottom: 0px;
  right: 0px;
  left: 0px;
  display: block;
  content: '';
  border-style: solid;
  border-width: 6px;
  border-radius: inherit;
  border-color: inherit;
  animation: ripple 1.5s 0s infinite;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  opacity: 0;
  z-index: -1;
}
button.shadow > div,
.button.shadow > div,
a.btn.shadow > div,
.btn.shadow > div {
  box-shadow: 0 2px 2px 0 rgba(200, 200, 200, 0.32), 0 4px 4px 0 rgba(200, 200, 200, 0.44);
}
button.shadow:hover > div,
.button.shadow:hover > div,
a.btn.shadow:hover > div,
.btn.shadow:hover > div {
  box-shadow: 0 4px 8px 0 rgba(200, 200, 200, 0.54), 0 1px 10px 0 rgba(200, 200, 200, 0.22), 0 2px 4px -1px rgba(200, 200, 200, 0.2);
}
button.icon-right > .btn-child,
.button.icon-right > .btn-child,
a.btn.icon-right > .btn-child,
.btn.icon-right > .btn-child,
button.icon-right > div,
.button.icon-right > div,
a.btn.icon-right > div,
.btn.icon-right > div {
  padding-right: 30px;
}
button.icon-right > .btn-child i,
.button.icon-right > .btn-child i,
a.btn.icon-right > .btn-child i,
.btn.icon-right > .btn-child i,
button.icon-right > div i,
.button.icon-right > div i,
a.btn.icon-right > div i,
.btn.icon-right > div i,
button.icon-right > .btn-child svg,
.button.icon-right > .btn-child svg,
a.btn.icon-right > .btn-child svg,
.btn.icon-right > .btn-child svg,
button.icon-right > div svg,
.button.icon-right > div svg,
a.btn.icon-right > div svg,
.btn.icon-right > div svg {
  position: absolute;
  right: 10px;
  margin: 0;
}
button.icon-left > .btn-child,
.button.icon-left > .btn-child,
a.btn.icon-left > .btn-child,
.btn.icon-left > .btn-child,
button.icon-left > div,
.button.icon-left > div,
a.btn.icon-left > div,
.btn.icon-left > div {
  padding-left: 30px;
}
button.icon-left > .btn-child i,
.button.icon-left > .btn-child i,
a.btn.icon-left > .btn-child i,
.btn.icon-left > .btn-child i,
button.icon-left > div i,
.button.icon-left > div i,
a.btn.icon-left > div i,
.btn.icon-left > div i,
button.icon-left > .btn-child svg,
.button.icon-left > .btn-child svg,
a.btn.icon-left > .btn-child svg,
.btn.icon-left > .btn-child svg,
button.icon-left > div svg,
.button.icon-left > div svg,
a.btn.icon-left > div svg,
.btn.icon-left > div svg {
  position: absolute;
  left: 10px;
  margin: 0;
}
button.icon-center i,
.button.icon-center i,
a.btn.icon-center i,
.btn.icon-center i,
button.icon-center svg,
.button.icon-center svg,
a.btn.icon-center svg,
.btn.icon-center svg {
  margin: 0;
}
button.icon-top > div,
.button.icon-top > div,
a.btn.icon-top > div,
.btn.icon-top > div {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 3px;
  min-width: 44px;
  padding: 6px 0 2px;
  font-size: 0.8rem;
  line-height: 1;
}
button.icon-top > div i,
.button.icon-top > div i,
a.btn.icon-top > div i,
.btn.icon-top > div i {
  display: block;
  margin: 0 0 0 2px;
  padding: 0;
  font-size: 2rem;
}
button.icon-top > div img,
.button.icon-top > div img,
a.btn.icon-top > div img,
.btn.icon-top > div img {
  height: 2rem;
}
button.main-color > .btn-child,
.button.main-color > .btn-child,
a.btn.main-color > .btn-child,
.btn.main-color > .btn-child,
button.main-color > div,
.button.main-color > div,
a.btn.main-color > div,
.btn.main-color > div {
  color: #fff;
  border-color: var(--color-main);
  background-color: var(--color-main);
}
button.main-color:active > div,
.button.main-color:active > div,
a.btn.main-color:active > div,
.btn.main-color:active > div {
  color: var(--color-main);
  background-color: #fff;
}
button.red > .btn-child,
.button.red > .btn-child,
a.btn.red > .btn-child,
.btn.red > .btn-child,
button.red > div,
.button.red > div,
a.btn.red > div,
.btn.red > div {
  color: #fff;
  border-color: #f06868;
  background-color: #f06868;
}
button.red:active > div,
.button.red:active > div,
a.btn.red:active > div,
.btn.red:active > div {
  color: #f06868;
  background-color: #fff;
}
button.green > .btn-child,
.button.green > .btn-child,
a.btn.green > .btn-child,
.btn.green > .btn-child,
button.green > div,
.button.green > div,
a.btn.green > div,
.btn.green > div {
  color: #fff;
  border-color: var(--color-green);
  background-color: var(--color-green);
}
button.green:active > .btn-child,
.button.green:active > .btn-child,
a.btn.green:active > .btn-child,
.btn.green:active > .btn-child,
button.green:active > div,
.button.green:active > div,
a.btn.green:active > div,
.btn.green:active > div {
  color: var(--color-green);
  background-color: #fff;
}
button.yellow > .btn-child,
.button.yellow > .btn-child,
a.btn.yellow > .btn-child,
.btn.yellow > .btn-child,
button.yellow > div,
.button.yellow > div,
a.btn.yellow > div,
.btn.yellow > div {
  color: #fff;
  border-color: #FEC747;
  background-color: #FEC747;
}
button.yellow:active > .btn-child,
.button.yellow:active > .btn-child,
a.btn.yellow:active > .btn-child,
.btn.yellow:active > .btn-child,
button.yellow:active > div,
.button.yellow:active > div,
a.btn.yellow:active > div,
.btn.yellow:active > div {
  color: #FEC747;
  background-color: #fff;
}
button.violet > .btn-child,
.button.violet > .btn-child,
a.btn.violet > .btn-child,
.btn.violet > .btn-child,
button.violet > div,
.button.violet > div,
a.btn.violet > div,
.btn.violet > div {
  color: #fff;
  border-color: #a59cea;
  background-color: #a59cea;
}
button.violet:active > .btn-child,
.button.violet:active > .btn-child,
a.btn.violet:active > .btn-child,
.btn.violet:active > .btn-child,
button.violet:active > div,
.button.violet:active > div,
a.btn.violet:active > div,
.btn.violet:active > div {
  color: #a59cea;
  background-color: #fff;
}
button.gray > .btn-child,
.button.gray > .btn-child,
a.btn.gray > .btn-child,
.btn.gray > .btn-child,
button.gray > div,
.button.gray > div,
a.btn.gray > div,
.btn.gray > div {
  color: var(--color-text);
  border-color: #aaa;
  background-color: #fff;
}
button.black > .btn-child,
.button.black > .btn-child,
a.btn.black > .btn-child,
.btn.black > .btn-child,
button.black > div,
.button.black > div,
a.btn.black > div,
.btn.black > div {
  color: #fff;
  border-color: #666;
  background-color: #666;
}
button.black:active > .btn-child,
.button.black:active > .btn-child,
a.btn.black:active > .btn-child,
.btn.black:active > .btn-child,
button.black:active > div,
.button.black:active > div,
a.btn.black:active > div,
.btn.black:active > div {
  color: #666;
  background-color: #fff;
}
button.white > .btn-child,
.button.white > .btn-child,
a.btn.white > .btn-child,
.btn.white > .btn-child,
button.white > div,
.button.white > div,
a.btn.white > div,
.btn.white > div {
  color: var(--color-text);
  border-color: var(--color-text);
  background-color: #fff;
}
button.white > .btn-child .icon,
.button.white > .btn-child .icon,
a.btn.white > .btn-child .icon,
.btn.white > .btn-child .icon,
button.white > div .icon,
.button.white > div .icon,
a.btn.white > div .icon,
.btn.white > div .icon {
  color: inherit;
}
button.white:active > .btn-child,
.button.white:active > .btn-child,
a.btn.white:active > .btn-child,
.btn.white:active > .btn-child,
button.white:active > div,
.button.white:active > div,
a.btn.white:active > div,
.btn.white:active > div {
  color: var(--color-main);
  border-color: var(--color-main);
}
button.white-gray > .btn-child,
.button.white-gray > .btn-child,
a.btn.white-gray > .btn-child,
.btn.white-gray > .btn-child,
button.white-gray > div,
.button.white-gray > div,
a.btn.white-gray > div,
.btn.white-gray > div {
  color: #aaa;
  border-color: #ccc;
  background-color: #fff;
}
button.white-redline > .btn-child,
.button.white-redline > .btn-child,
a.btn.white-redline > .btn-child,
.btn.white-redline > .btn-child,
button.white-redline > div,
.button.white-redline > div,
a.btn.white-redline > div,
.btn.white-redline > div {
  color: #f06868;
  border-color: #f06868;
  background-color: #fff;
}
button.white-redline > .btn-child .icon,
.button.white-redline > .btn-child .icon,
a.btn.white-redline > .btn-child .icon,
.btn.white-redline > .btn-child .icon,
button.white-redline > div .icon,
.button.white-redline > div .icon,
a.btn.white-redline > div .icon,
.btn.white-redline > div .icon {
  color: inherit;
}
button.white-redline:active > .btn-child,
.button.white-redline:active > .btn-child,
a.btn.white-redline:active > .btn-child,
.btn.white-redline:active > .btn-child,
button.white-redline:active > div,
.button.white-redline:active > div,
a.btn.white-redline:active > div,
.btn.white-redline:active > div {
  color: #f06868;
  background-color: #fff;
}
button.white-mainline > .btn-child,
.button.white-mainline > .btn-child,
a.btn.white-mainline > .btn-child,
.btn.white-mainline > .btn-child,
button.white-mainline > div,
.button.white-mainline > div,
a.btn.white-mainline > div,
.btn.white-mainline > div {
  color: var(--color-main);
  border-color: var(--color-main);
  background-color: #fff;
}
button.white-mainline > .btn-child .icon,
.button.white-mainline > .btn-child .icon,
a.btn.white-mainline > .btn-child .icon,
.btn.white-mainline > .btn-child .icon,
button.white-mainline > div .icon,
.button.white-mainline > div .icon,
a.btn.white-mainline > div .icon,
.btn.white-mainline > div .icon {
  color: inherit;
}
button.white-mainline:active > .btn-child,
.button.white-mainline:active > .btn-child,
a.btn.white-mainline:active > .btn-child,
.btn.white-mainline:active > .btn-child,
button.white-mainline:active > div,
.button.white-mainline:active > div,
a.btn.white-mainline:active > div,
.btn.white-mainline:active > div {
  color: var(--color-main);
  background-color: #fff;
}
button.transparent > .btn-child,
.button.transparent > .btn-child,
a.btn.transparent > .btn-child,
.btn.transparent > .btn-child,
button.transparent > div,
.button.transparent > div,
a.btn.transparent > div,
.btn.transparent > div {
  color: inherit;
  border-color: transparent;
  background-color: transparent;
}
button.nude > .btn-child,
.button.nude > .btn-child,
a.btn.nude > .btn-child,
.btn.nude > .btn-child,
button.nude > div,
.button.nude > div,
a.btn.nude > div,
.btn.nude > div {
  padding: 0;
  margin: auto;
  border: 0;
  color: inherit;
  background-color: transparent;
}
@media screen and (max-width: 769px) {
  button.icon-left i,
  .button.icon-left i,
  a.btn.icon-left i,
  .btn.icon-left i,
  button.icon-left svg,
  .button.icon-left svg,
  a.btn.icon-left svg,
  .btn.icon-left svg {
    transform: rotate(90deg);
  }
  button.icon-right i,
  .button.icon-right i,
  a.btn.icon-right i,
  .btn.icon-right i,
  button.icon-right svg,
  .button.icon-right svg,
  a.btn.icon-right svg,
  .btn.icon-right svg {
    transform: rotate(90deg);
  }
}
.btn-area {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
  margin: 20px 0;
}
.btn-area.center {
  justify-content: center;
}
.btn-area.both-ends {
  justify-content: space-between;
}
.btn-area .left {
  margin-right: auto;
}
.btn-area .right {
  margin-left: auto;
}
@media screen and (max-width: 560px) {
  .btn-area .btn {
    width: 100%;
    margin: 5px;
  }
  .btn-area .btn > .btn-child,
  .btn-area .btn > div {
    width: 100%;
  }
  .btn-area .btn + .btn {
    margin-left: 5px;
  }
}
.floating-btn-area {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  gap: 20px;
  content: '';
  width: auto;
  height: auto;
  transition: all 0.3s ease;
  z-index: 500;
}
.modal .floating-btn-area {
  z-index: 15000;
}
.floating-btn-area .btn {
  margin: 0;
}
.navi-btn {
  width: 50px;
  margin: 0 5px;
  flex: 0 0 auto;
  cursor: pointer;
}
.navi-btn > div {
  min-width: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  line-height: 1;
  min-height: auto;
  color: var(--color-text);
  background-color: transparent;
  border-color: transparent;
  border-radius: 5px;
  box-shadow: 0 5px 0 #831015;
  margin-bottom: 5px;
}
.navi-btn > div img {
  border-radius: 5px;
}
.navi-btn:hover > .btn-child,
.navi-btn:hover > div {
  filter: brightness(1.2);
}
.navi-btn:active > .btn-child,
.navi-btn:active > div {
  margin-top: 3px;
  margin-bottom: 2px;
  box-shadow: 0 2px 0 #831015;
}
.is-error .navi-btn > div {
  background-color: transparent;
}
.navi-btn.small {
  width: 40px;
  flex: 0 0 40px;
}
.btn-group {
  display: flex;
  margin: 2px;
}
.btn-group button,
.btn-group .button,
.btn-group .btn {
  margin: 0 !important;
}
.btn-group button > .btn-child,
.btn-group .button > .btn-child,
.btn-group .btn > .btn-child,
.btn-group button > div,
.btn-group .button > div,
.btn-group .btn > div {
  border-radius: 0;
}
.btn-group button:first-child > .btn-child,
.btn-group .button:first-child > .btn-child,
.btn-group .btn:first-child > .btn-child,
.btn-group button:first-child > div,
.btn-group .button:first-child > div,
.btn-group .btn:first-child > div {
  border-radius: 10px 0 0 10px;
}
.btn-group button:last-child > .btn-child,
.btn-group .button:last-child > .btn-child,
.btn-group .btn:last-child > .btn-child,
.btn-group button:last-child > div,
.btn-group .button:last-child > div,
.btn-group .btn:last-child > div {
  border-radius: 0 10px 10px 0;
}
.btn-group button + button,
.btn-group .button + button,
.btn-group .btn + button,
.btn-group button + input[type="button"],
.btn-group .button + input[type="button"],
.btn-group .btn + input[type="button"],
.btn-group button + .button,
.btn-group .button + .button,
.btn-group .btn + .button,
.btn-group button + .btn,
.btn-group .button + .btn,
.btn-group .btn + .btn {
  margin-left: 0;
}
.btnbox {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 20px 0  10px;
}
.btnbox button,
.btnbox .button,
.btnbox .btn {
  width: 100%;
  max-width: 200px;
  margin: 0 20px 10px;
}
.btnbox button > .btn-child,
.btnbox .button > .btn-child,
.btnbox .btn > .btn-child,
.btnbox button > div,
.btnbox .button > div,
.btnbox .btn > div {
  width: 100%;
}
.btnbox button + button,
.btnbox .button + button,
.btnbox .btn + button,
.btnbox button + .button,
.btnbox .button + .button,
.btnbox .btn + .button,
.btnbox button + .btn,
.btnbox .button + .btn,
.btnbox .btn + .btn {
  margin: 0 20px 10px;
}
.btnbox.small {
  margin: 5px 0;
}
.btnbox.small button,
.btnbox.small .button,
.btnbox.small .btn {
  width: auto;
}
.btnbox.small button > .btn-child,
.btnbox.small .button > .btn-child,
.btnbox.small .btn > .btn-child,
.btnbox.small button > div,
.btnbox.small .button > div,
.btnbox.small .btn > div {
  width: auto;
}
.btnbox.right {
  justify-content: flex-end;
}
.btnbox.left {
  justify-content: flex-start;
}
@media screen and (max-width: 560px) {
  .btnbox {
  }
  .btnbox button,
  .btnbox .button,
  .btnbox .btn {
    max-width: none;
  }
}
.modal-side-card .btnbox {
}
.modal-side-card .btnbox button,
.modal-side-card .btnbox .button,
.modal-side-card .btnbox .btn {
  max-width: none;
}
.ul-btnbox {
  margin-top: 10px;
  min-width: 200px;
}
.ul-btnbox li {
  margin-bottom: 10px;
}
.ul-btnbox li .btn,
.ul-btnbox li .button,
.ul-btnbox li button {
  width: 100%;
}
.ul-btnbox li .btn > .btn-child,
.ul-btnbox li .button > .btn-child,
.ul-btnbox li button > .btn-child,
.ul-btnbox li .btn > div,
.ul-btnbox li .button > div,
.ul-btnbox li button > div {
  width: 100%;
}
.btn-push {
  border: 0;
  outline: none;
  appearance: none;
  display: inline-block;
  padding: 0.5rem 1.5rem;
  margin: 5px 10px;
  color: #fff;
  background-color: #999;
  box-shadow: 0 4px #666;
  border-radius: 5px;
  cursor: pointer;
}
.btn-push:active {
  transform: translateY(4px);
  box-shadow: 0 0px #666;
}
.btn-push.color-pink {
  background-color: #fc9d9d;
  box-shadow: 0 4px #cc7268;
}
.btn-push.color-pink:active {
  box-shadow: 0 0px #cc7268;
}
/* ------ Modal */
.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 12000;
}
.modal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
}
.modal-wrapper {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: none;
}
.modal-area {
  display: table;
  width: 100%;
  height: 100%;
  table-layout: fixed;
}
.modal-contents {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  padding: 80px 20px;
  height: 100%;
  z-index: 15000;
}
.modal-contents:has(.full-height) {
  padding: 50px 20px 30px;
}
@media screen and (max-width: 769px) {
  .modal-contents {
    padding: 44px 20px;
  }
}
@media screen and (max-width: 560px) {
  .modal-contents {
    padding: 44px 10px;
  }
}
.modal-card {
  position: relative;
  display: inline-block;
  max-width: 90%;
  min-width: 400px;
  padding: 20px 40px;
  background: #fff;
  border-radius: 3px;
}
.modal-card + .modal-card {
  margin-top: 44px;
}
.modal-card.red {
  border: 4px solid #f06868;
}
.modal-card.gray {
  background-color: #ccc;
}
.modal-card.nude {
  padding: 0;
  background: transparent;
}
.modal-card.nude .modal-closebtn::before,
.modal-card.nude .modal-closebtn::after {
  background-color: #fff;
}
.modal-card.small-size,
.modal-card.small {
  min-width: 600px;
  max-width: 700px;
}
.modal-card.normal-size {
  min-width: 780px;
}
.modal-card.full,
.modal-card.full-size {
  width: 100%;
  max-width: calc(90% + 30px);
}
.modal-card.full-height {
  height: 100%;
}
.modal-card.full-height .modal-main {
  position: relative;
  width: 100%;
  height: 100%;
}
.modal-card.full-height .panel main > * {
  flex: 1 1 auto;
}
.modal-card.full-height .panel main > .auto-height-box {
  flex: 1 1 auto;
  overflow: hidden;
}
.modal-card.full-height .panel main > .btnbox {
  flex: 0 0 auto;
}
.modal-card.full-height .panel footer {
  margin-bottom: -10px;
}
.modal-card.full-height .panel footer .btnbox {
  margin: 0;
}
.modal-card.full-cover {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
  max-width: none;
  animation: modalComeInSimple 0.5s 0s forwards;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
@media screen and (max-width: 961px) {
  .modal-card.normal-size {
    width: 100%;
    min-width: auto;
  }
}
@media screen and (max-width: 769px) {
  .modal-card {
    min-width: auto;
    padding: 20px;
    text-align: left;
  }
  .modal-card.small-size {
    width: 100%;
    min-width: auto;
  }
}
@media screen and (max-width: 560px) {
  .modal-card {
    width: 100%;
    max-width: 100%;
    padding: 15px;
  }
  .modal-card.full-size {
    max-width: 100%;
  }
}
@media screen and (max-width: 400px) {
  .modal-card {
    padding: 40px 15px;
  }
}
.modal-main.full {
  width: 900px;
  max-width: 100%;
}
.modal-closebtn {
  position: absolute;
  top: -44px;
  right: -14px;
  display: block;
  width: 44px;
  height: 44px;
  cursor: pointer;
  z-index: 15000;
}
.modal-closebtn::before,
.modal-closebtn::after {
  position: absolute;
  top: 20px;
  left: 6px;
  display: block;
  content: '';
  width: 30px;
  height: 2px;
  background-color: #fff;
  transition: all 0.1s;
}
.modal-closebtn::before {
  transform: rotate(45deg);
}
.modal-closebtn::after {
  transform: rotate(-45deg);
}
.modal-closebtn:active::before,
.modal-closebtn:active::after {
  width: 20px;
  margin-left: 6px;
}
.modal-closebtn.inside,
.full-cover .modal-closebtn,
.modal-side-card .modal-closebtn {
  top: 0;
  right: 0;
}
.modal-closebtn.inside::before,
.full-cover .modal-closebtn::before,
.modal-side-card .modal-closebtn::before,
.modal-closebtn.inside::after,
.full-cover .modal-closebtn::after,
.modal-side-card .modal-closebtn::after {
  background-color: var(--color-text);
}
.modal-closebtn.inside:hover::before,
.full-cover .modal-closebtn:hover::before,
.modal-side-card .modal-closebtn:hover::before,
.modal-closebtn.inside:hover::after,
.full-cover .modal-closebtn:hover::after,
.modal-side-card .modal-closebtn:hover::after {
  background-color: var(--color-main);
}
.modal-btn-area {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 30px 0 0;
}
.modal-btn-area.center {
  justify-content: center;
}
.modal-btn-area.both-ends {
  justify-content: space-between;
}
.modal-btn-area .left {
  margin-right: auto;
}
.modal-btn-area .right {
  margin-left: auto;
}
.modal-btn-area .btn > .btn-child,
.modal-btn-area .btn > div {
  min-width: 180px;
}
@media screen and (max-width: 560px) {
  .modal-btn-area .btn {
    width: 100%;
    margin: 5px;
  }
  .modal-btn-area .btn > div {
    width: 100%;
  }
  .modal-btn-area .btn + .btn {
    margin-left: 5px;
  }
}
.modal-close {
  position: absolute;
  top: -40px;
  right: -40px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.modal-close::before {
  display: block;
  content: '\2715';
  width: 44px;
  height: 44px;
  font-size: 36px;
  line-height: 44px;
  text-align: center;
  color: #fff;
}
.modal-close:hover {
  opacity: 0.8;
}
.modal-close:active::before {
  transform: scale(0.9);
}
@media (max-width: 740px) {
  .modal-close {
    right: 0;
  }
}
.modal-side-card {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 400px;
  min-width: 200px;
  max-width: 90%;
  padding: 44px 20px;
  background-color: #fff;
  transition: all 0.5s ease;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: none;
  animation: modalSideCardComeIn 0.5s 0s forwards;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.modal-side-card .modal-close {
  top: 0;
  right: 0;
}
.modal-side-card .modal-close::before {
  color: #aaa;
  font-size: 22px;
}
@keyframes modalComeIn {
  0% {
    visibility: hidden;
    opacity: 0;
    transform: translate3d(0, 0, 0) scale(0.8);
  }
  65% {
    transform: translate3d(0, 0, 0) scale(1.03);
  }
  99% {
    visibility: visible;
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}
.modal-come-in-enter-active {
  animation: modalComeIn 0.5s 0s forwards;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.modal-come-in-leave-active {
  animation: modalComeIn 0.5s 0s ease forwards reverse;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
@keyframes modalSideCardComeIn {
  0% {
    visibility: hidden;
    opacity: 0;
    transform: translate3d(0, 0, 0) translateX(100%);
  }
  99% {
    transform: translate3d(0, 0, 0) translateX(0);
  }
}
@keyframes modalComeInSimple {
  0% {
    visibility: hidden;
    opacity: 0;
    transform: translate3d(0, 0, 0) scale(0.8);
  }
  99% {
    visibility: visible;
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}
/* ------List */
ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}
ul li,
ol li {
  margin: 0;
}
ul > li > ul,
ul > li > ol,
ol > li > ol,
ol > li > ul {
  margin: 0;
}
.list-unstyled {
  padding: 0;
  margin: 0;
  list-style: none;
}
.list-unstyled li {
  margin: 0;
}
.list-inline {
  padding: 0;
  margin: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline li {
  margin: 0;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
.list-mark-dot > li {
  position: relative;
  padding-left: 20px;
  text-align: left;
}
.list-mark-dot > li::before {
  position: absolute;
  top: 8px;
  left: 6px;
  display: block;
  content: '';
  width: 6px;
  height: 6px;
  background-color: var(--color-main);
  border-radius: 50%;
}
.list-mark-check > li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}
.list-mark-check > li::before {
  position: absolute;
  top: 4px;
  left: 2px;
  display: block;
  content: '';
  width: 12px;
  height: 10px;
  border-style: solid;
  border-color: var(--color-main);
  border-width: 0 0 4px 4px;
  transform: rotate(-45deg);
}
.list-mark-numbering {
  counter-reset: item;
  list-style-type: none;
  padding: 0;
}
.list-mark-numbering > li {
  position: relative;
  padding-left: 1.6em;
  margin-bottom: 5px;
}
.list-mark-numbering > li::before {
  position: absolute;
  left: 0;
  counter-increment: item;
  content: counter(item) '.';
}
.list-mark-numbering-paren {
  counter-reset: item;
  list-style-type: none;
  padding: 0;
}
.list-mark-numbering-paren > li {
  position: relative;
  padding-left: 2.2em;
  margin-bottom: 5px;
}
.list-mark-numbering-paren > li::before {
  position: absolute;
  left: 0;
  counter-increment: item;
  content: '(' counter(item) ')';
}
.list-mark-annotation > li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 5px;
}
.list-mark-annotation > li::before {
  position: absolute;
  left: 0;
  content: '※';
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
.dt-big dt {
  flex: 0 0 180px;
}
@media screen and (max-width: 560px) {
  .dt-big dt {
    flex: 0 0 auto;
  }
}
.modal-side-card .dt-big dt {
  flex: 0 0 auto;
}
.dt-biggest dt {
  flex: 0 0 200px;
}
@media screen and (max-width: 560px) {
  .dt-biggest dt {
    flex: 0 0 auto;
  }
}
.modal-side-card .dt-biggest dt {
  flex: 0 0 auto;
}
.dt-right dt {
  position: relative;
  text-align: right;
  padding-left: 40px;
}
.dt-right dt .badge {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 560px) {
  .dt-right dt {
    padding-left: 0;
  }
  .dt-right dt .badge {
    position: relative;
  }
}
.modal-side-card .dt-right dt {
  padding-left: 0;
}
.modal-side-card .dt-right dt .badge {
  position: relative;
}
.dl-small dl {
  padding: 10px 10px 10px 0;
}
.dl-horizontal > dd:after {
  display: table;
  content: "";
  line-height: 0;
  clear: both;
}
.dl-horizontal > dt {
  float: left;
  width: 160px;
  clear: left;
  text-align: right;
}
.dl-horizontal > dd {
  margin-bottom: 10px;
  padding-left: 180px;
}
.dl-horizontal > dd .photo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  flex-direction: row;
  flex-wrap: wrap;
}
.dl-horizontal > dd .photo-square {
  width: 60px;
}
.dl-horizontal > dd .photo-square + .photo-square {
  margin-left: 5px;
}
@media screen and (max-width: 560px) {
  .dl-horizontal > dt {
    float: none;
    width: 100%;
    text-align: left;
  }
  .dl-horizontal > dd {
    padding-left: 0;
    margin-bottom: 16px;
  }
}
.flex-dl {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 20px 20px 20px 0;
  border-bottom: 1px solid #ddd;
}
.flex-dl:last-of-type {
  border-bottom: none;
}
.flex-dl > dt {
  flex: 0 0 140px;
  margin: 0;
  padding: 0 20px 0 0;
  text-align: right;
}
.flex-dl > dd {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 560px) {
  .flex-dl {
    flex-direction: column;
    align-items: flex-start;
    padding: 10px 0;
  }
  .flex-dl > dt {
    flex: 1 1 auto;
    padding: 10px 0;
    text-align: left;
  }
  .flex-dl > dd {
    width: 100%;
  }
}
.dl-vertical > dt {
  display: block;
}
.dl-vertical > dd {
  display: block;
}
.dl-subheading {
  position: relative;
  padding: 0 30px;
}
.dl-subheading > dt {
  position: relative;
  font-size: 2rem;
  text-align: left;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  line-height: 1.4;
  z-index: 10;
}
.dl-subheading > dt .dl-subheading-num {
  padding-right: 10px;
  color: var(--color-main);
  font-size: 2.4rem;
  white-space: nowrap;
}
.dl-subheading > dd {
  position: relative;
  padding: 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 769px) {
  .dl-subheading {
    padding: 0 10px;
  }
  .dl-subheading > dt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 560px) {
  .dl-subheading > dd {
    padding: 10px;
  }
}
@media screen and (max-width: 400px) {
  .dl-subheading {
    padding: 0;
  }
  .dl-subheading > dd {
    padding: 10px 3px;
  }
}
.dl-input-field {
  position: relative;
  display: flex;
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  margin: 20px 0;
}
.dl-input-field > dt {
  position: relative;
  flex: 0 0 130px;
  font-size: 16px;
  padding-top: 10px;
  padding-right: 20px;
  text-align: right;
  margin-left: -30px;
  line-height: 1.4;
}
.dl-input-field > dt .dt-label-area {
  position: absolute;
  bottom: 100%;
  right: 10px;
  margin-bottom: -10px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}
.dl-input-field > dd {
  flex: 1 1 auto;
}
.dl-input-field > dd .dd-help-area {
  position: absolute;
  right: -38px;
  top: 0;
}
.dl-input-field input[type="checkbox"].checkbox.big ~ .label-mark {
  margin-top: 6px;
}
.dl-input-field.is-error > dt {
  color: #f06868;
}
.dl-input-field.small {
  width: auto;
}
.modal .dl-input-field > dt {
  flex: 0 0 150px;
}
.modal .dl-input-field > dt::before {
  z-index: 1;
}
.modal .dl-input-field > dt p,
.modal .dl-input-field > dt span {
  position: relative;
  z-index: 5;
}
.modal .dl-input-field > dd {
  width: calc(100% - 150px);
}
@media screen and (max-width: 560px) {
  .dl-input-field {
    flex-direction: column;
    align-items: flex-start;
  }
  .dl-input-field > dt {
    flex: 0 0 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0;
    margin: 0;
  }
  .dl-input-field > dt .mark-required,
  .dl-input-field > dt .badge {
    position: relative;
    top: auto;
    right: auto;
    vertical-align: text-bottom;
  }
  .dl-input-field > dt .mark-navi {
    position: absolute;
    top: 2px;
    left: -25px;
  }
  .dl-input-field > dt .dt-label-area {
    position: static;
    display: inline-flex;
    align-items: center;
    margin-bottom: auto;
    flex-direction: row-reverse;
  }
  .dl-input-field > dt .dt-label-area .navi-btn + .mark-required {
    margin-left: 8px;
  }
  .dl-input-field > dt::before {
    top: -10px;
    left: -40px;
  }
  .dl-input-field > dt .dt-help-area {
    display: inline-block;
    margin-top: -5px;
  }
  .dl-input-field > dd {
    flex: 1 1 100%;
    width: 100%;
  }
  .dl-input-field > dd .dd-help-area {
    display: none;
  }
  .modal .dl-input-field > dt {
    flex: 0 0 auto;
    text-align: left;
  }
  .modal .dl-input-field > dd {
    flex: 1 1 100%;
    width: 100%;
  }
  .modal .dl-input-field.is-done > dt::before {
    top: -3px;
    left: -30px;
    width: 30px;
    height: 30px;
  }
}
/* ------Loading */
.loading-page {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--color-main);
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 10000;
}
.loading-page.is-open {
  display: flex;
}
.loading-overlay {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--color-main);
  background-color: rgba(255, 255, 255, 0.7);
  z-index: 1000;
}
.loading-overlay.is-open {
  display: flex;
}
.loading-box {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--color-main);
  margin: 30px 0;
}
.loading-box.is-open {
  display: flex;
}
.loading-spinner {
  margin: 0 auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}
.loading-spinner > div {
  display: inline-block;
  width: 6px;
  height: 100%;
  background-color: var(--color-main);
  animation: loading-spinner 1.2s infinite ease-in-out;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.loading-spinner .rect2 {
  animation-delay: -1.1s;
}
.loading-spinner .rect3 {
  animation-delay: -1s;
}
.loading-spinner .rect4 {
  animation-delay: -0.9s;
}
.loading-spinner .rect5 {
  animation-delay: -0.8s;
}
@keyframes loading-spinner {
  0%,
  40%,
  100% {
    transform: scaleY(0.4);
  }
  20% {
    transform: scaleY(1);
  }
}
.sending-spinner {
  margin: 0 auto;
  width: 70px;
  text-align: center;
  font-size: 10px;
}
.sending-spinner > div {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: var(--color-main);
  border-radius: 100%;
  animation: sending-spinner 1.4s infinite ease-in-out both;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.sending-spinner .bounce1 {
  animation-delay: -0.32s;
}
.sending-spinner .bounce2 {
  animation-delay: -0.16s;
}
@keyframes sending-spinner {
  0%,
  80%,
  100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}
.loading-rotate {
  position: relative;
  display: inline-block;
  margin: 10px;
  width: 50px;
  height: 50px;
  border: 2px solid var(--color-main);
  border-top-color: transparent;
  border-radius: 50%;
  animation: loading-rotate 0.75s infinite linear;
}
.loading-rotate.small {
  margin: 0 5px;
  width: 1.8rem;
  height: 1.8rem;
}
.loading-rotate.big {
  width: 80px;
  height: 80px;
  border-width: 10px;
}
.loading-rotate.white {
  border-color: #fff;
  border-top-color: transparent;
}
.btn .loading-rotate + p,
.button .loading-rotate + p,
button .loading-rotate + p {
  padding: 0 5px;
}
@keyframes loading-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.loader {
  position: relative;
  display: inline-block;
  margin: 10px;
  width: 50px;
  height: 50px;
  border: 2px solid var(--color-main);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.75s infinite linear;
}
.loader.small {
  margin: 0 5px;
  width: 1.8rem;
  height: 1.8rem;
  vertical-align: middle;
}
.loader.big {
  width: 80px;
  height: 80px;
  border-width: 10px;
}
.loader.white {
  border-color: #fff;
  border-top-color: transparent;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* ------------ Utility */
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden !important;
}
.hidden {
  display: none !important;
  visibility: hidden !important;
}
.event-auto {
  pointer-events: auto !important;
}
.inline {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.inline-block {
  display: inline-block;
}
.simple-hr {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin-top: 20px;
  margin-bottom: 20px;
}
.dashed-hr {
  border-top: 4px dashed rgba(0, 0, 0, 0.1);
  margin-top: 20px;
  margin-bottom: 20px;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-red {
  color: #f06868 !important;
}
.text-green {
  color: var(--color-green) !important;
}
.text-yellow {
  color: #FEC747 !important;
}
.text-orange {
  color: #f99848 !important;
}
.text-sky {
  color: #78bbe6 !important;
}
.text-blue {
  color: var(--color-blue) !important;
}
.text-violet {
  color: #a59cea !important;
}
.text-gray {
  color: #aaa !important;
}
.text-black {
  color: #000 !important;
}
.text-white {
  color: #fff !important;
}
.text-main {
  color: var(--color-main);
}
.text-main-light {
  color: var(--color-main-light);
}
.text-small {
  font-size: 80%;
}
.text-big {
  font-size: 120%;
}
.text-indent {
  padding-left: 1em;
}
.underline-bold {
  text-decoration-color: var(--color-main);
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 3px;
  text-underline-offset: 3px;
}
.underline-wavy {
  text-decoration-color: var(--color-main);
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.area-bg {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.area-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.area-header {
  position: relative;
}
.header-news-icon {
  position: fixed;
  top: 0;
  right: 50px;
  display: block;
  height: 44px;
  line-height: 44px;
  z-index: 11000;
  cursor: pointer;
}
@media screen and (min-width: 961px) {
  .header-news-icon {
    display: none;
  }
}
.header-menu-icon {
  position: fixed;
  top: 0;
  right: 0;
  display: block;
  width: 44px;
  height: 44px;
  z-index: 11000;
  cursor: pointer;
}
.header-menu-icon.is-open .btn-hamburger span:first-child {
  top: 50%;
  transform: rotate(45deg);
}
.header-menu-icon.is-open .btn-hamburger span:nth-child(2) {
  opacity: 0;
  transform: translateX(100%);
}
.header-menu-icon.is-open .btn-hamburger span:last-child {
  top: 50%;
  transform: rotate(-45deg);
}
@media screen and (min-width: 961px) {
  .header-menu-icon {
    display: none;
  }
}
.btn-hamburger {
  position: relative;
  width: 44px;
  height: 44px;
  cursor: pointer;
  z-index: 11000;
}
.btn-hamburger span {
  position: absolute;
  left: 7px;
  display: block;
  content: '';
  width: 30px;
  height: 2px;
  background-color: var(--color-main);
  transition: all 0.3s ease;
  z-index: 11000;
}
.btn-hamburger span:first-child {
  top: 10px;
  transform: rotate(0);
}
.btn-hamburger span:nth-child(2) {
  top: 20px;
  transform: rotate(0);
}
.btn-hamburger span:last-child {
  top: 30px;
  transform: rotate(0);
}
.header-menu-contents {
  position: fixed;
  top: 0;
  left: 100%;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: none;
  background-color: #fff;
  transition: left 0.2s ease-in;
  z-index: 10000;
  transform: translateZ(0, 0, 0);
}
.header-menu-contents.is-open {
  left: 0;
}
@media screen and (min-width: 961px) {
  .header-menu-contents.is-menu-show .left-wrapper,
  .header-menu-contents.is-menu-show .right-wrapper {
    transform: translateX(0);
  }
  .header-menu-contents.is-menu-skew .left-contents {
    transform: perspective(90rem) rotateY(10deg);
  }
  .header-menu-contents.is-menu-skew .right-contents {
    transform: perspective(90em) rotateY(-10deg);
  }
}
.header-menu-contents.is-bg-show .header-menu-left {
  background: linear-gradient(270deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.5));
}
.header-menu-contents.is-bg-show .header-menu-right {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.5));
}
@media screen and (min-width: 961px) {
  .header-menu-contents {
    position: relative;
    top: auto;
    left: auto;
    height: auto;
    overflow: auto;
    z-index: 1;
  }
}
@media screen and (max-width: 961px) {
  body:has(.header-menu-contents.is-open) {
    overflow: hidden;
  }
}
.header-menu-left,
.header-menu-right {
  transition: all 1s ease;
  background-color: transparent;
}
@media screen and (max-height: 570px) {
  .header-menu-left,
  .header-menu-right {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: none;
  }
}
.header-menu-left .site-title {
  text-align: center;
  margin-bottom: 40px;
}
.header-menu-left .site-title img {
  width: 200px;
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .header-menu-left {
    position: fixed;
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    width: calc(50% - 250px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .header-menu-left .site-title {
    margin-bottom: 140px;
  }
}
@media screen and (min-width: 961px) and (max-height: 570px) {
  .header-menu-left {
    display: block;
  }
  .header-menu-left .site-title {
    margin-bottom: 60px;
  }
}
@media screen and (min-width: 961px) {
  .header-menu-right {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: calc(50% - 250px);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media screen and (min-width: 961px) and (max-height: 570px) {
  .header-menu-right {
    display: block;
  }
}
@media screen and (min-width: 961px) {
  .left-wrapper {
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }
}
@media screen and (min-width: 961px) {
  .right-wrapper {
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }
}
.left-contents,
.right-contents {
  transition: transform 0.3s ease;
  text-align: center;
  padding: 40px 0;
}
.menu-news {
  padding-top: 30px;
}
.menu-news .title {
  text-align: center;
  font-size: 2rem;
  font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
  line-height: 1;
  margin-bottom: 10px;
}
.menu-news .latest-news {
  font-size: 1.4rem;
}
.menu-news .more {
  margin-top: 10px;
  display: block;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}
@media (hover: hover) and (pointer: fine) {
  .menu-news .more:hover {
    letter-spacing: 4px;
    text-transform: uppercase;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #ffffff 20%, #ffffff 80%, rgba(255, 255, 255, 0) 100%);
  }
}
.news-detail-dialog {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 12000;
}
.news-detail-dialog.is-open {
  display: flex;
  backdrop-filter: blur(3px) brightness(95%);
  transform: translateZ(0);
}
body:has(.news-detail-dialog.is-open) {
  overflow: hidden;
}
.news-detail {
  position: relative;
  display: block;
  width: 90%;
  max-width: 460px;
  padding: 40px 20px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  animation: zoomIn 0.3s ease;
  perspective: 1000;
  -webkit-perspective: 1000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  animation-fill-mode: both;
}
.news-detail .news-title {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}
.news-detail .close-btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  cursor: pointer;
  transform-origin: center center;
  transition: all 0.3s ease;
}
.news-detail .close-btn::before,
.news-detail .close-btn::after {
  position: absolute;
  top: 50%;
  left: 7px;
  display: block;
  content: '';
  width: 30px;
  height: 2px;
  background-color: var(--color-main);
}
.news-detail .close-btn::before {
  transform: rotate(45deg);
}
.news-detail .close-btn::after {
  transform: rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .news-detail .close-btn:hover {
    transform: rotate(360deg);
  }
}
.news-list {
  position: relative;
  display: block;
  padding: 20px 0;
  width: 100%;
  height: 100%;
  max-height: 60vh;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: none;
}
.news-list li {
  display: flex;
  line-height: 1.4;
  margin-bottom: 16px;
}
.news-list li .date {
  flex: 0 0 110px;
  text-align: right;
  padding: 3px;
  padding-right: 10px;
  border-right: 1px solid var(--color-main-light);
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: normal;
  color: var(--color-sub);
}
.news-list li .text {
  flex: 1 1 100%;
  padding: 3px;
  padding-left: 10px;
  min-width: 0;
}
.news-list li .text p {
  display: block;
  width: 100%;
}
.menu-list {
  position: relative;
  text-align: center;
  font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}
.menu-list li {
  position: relative;
  line-height: 1;
  min-height: 40px;
}
.menu-list li > a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 30px 0;
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}
.menu-list li::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  content: '';
  width: 90%;
  max-width: 240px;
  height: 1px;
  background: linear-gradient(90deg, rgba(45, 80, 82, 0) 0%, #2d5052 10%, #2d5052 90%, rgba(45, 80, 82, 0) 100%);
  transform: translateX(-50%);
}
.menu-list li:last-child::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  content: '';
  width: 90%;
  max-width: 240px;
  height: 1px;
  background: linear-gradient(90deg, rgba(45, 80, 82, 0) 0%, #2d5052 10%, #2d5052 90%, rgba(45, 80, 82, 0) 100%);
  transform: translateX(-50%);
}
.menu-list li.is-current {
  font-size: 2rem;
  font-weight: bold;
  text-transform: uppercase;
}
@media (hover: hover) and (pointer: fine) {
  .menu-list li:hover > a {
    letter-spacing: 4px;
    text-transform: uppercase;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #ffffff 10%, #ffffff 90%, rgba(255, 255, 255, 0) 100%);
  }
}
.area-main {
  width: 100%;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.main-page {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}
.area-footer {
  position: relative;
  height: 150px;
  text-align: center;
  pointer-events: none;
}
.footer {
  width: 100%;
  position: fixed;
  bottom: 0;
  margin-bottom: 20px;
  height: auto;
  transform: translateY(150%);
  transition: all 0.3s ease;
  z-index: 1000;
  overflow: hidden;
}
.footer.is-show {
  transform: translateY(0);
}
.footer.is-open {
  position: relative;
  width: 100%;
  max-width: none;
}
.footer.is-open .footer-contents {
  width: 100%;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 0;
  padding-top: 60px;
  padding-bottom: 0;
  color: var(--color-text);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.9) 40%, rgba(255, 255, 255, 0.9) 60%, rgba(255, 255, 255, 0.8) 100%);
  backdrop-filter: blur(2px);
}
.footer.is-open .footer-company,
.footer.is-open .footer-link {
  display: block;
}
.footer.is-open .footer-contact {
  text-align: left;
  padding-left: 20px;
}
@media screen and (max-width: 560px) {
  .footer {
    margin-bottom: 3px;
  }
}
.footer-contents {
  display: block;
  width: 100%;
  max-width: 460px;
  height: 100%;
  padding: 5px;
  margin: 0 auto;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-right-color: rgba(255, 255, 255, 0.2);
  border-bottom-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  text-align: center;
  transition: all 0.3s ease;
  overflow: hidden;
  pointer-events: all;
}
.footer-contents .footer-company {
  display: none;
}
.footer-contents .footer-link {
  display: none;
}
.footer-company {
  margin-bottom: 10px;
  text-align: left;
  padding-left: 20px;
  padding-right: 20px;
}
.footer-company .name {
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 10px;
}
.footer-company .add {
  font-size: 1.4rem;
  width: 280px;
}
.footer-contact a {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .footer-contact a:hover {
    text-decoration: underline;
  }
}
.footer-link {
  margin: 40px auto;
}
.footer-link a {
  display: inline-block;
  padding: 0 16px;
  text-decoration: none;
  border-width: 0 1px 0 1px;
  border-style: solid;
  border-color: var(--color-main-light);
}
@media (hover: hover) and (pointer: fine) {
  .footer-link a:hover {
    text-decoration: underline;
  }
}
.footer-copyright {
  font-size: 1.2rem;
}
.page-top {
  width: 100%;
  height: 100vh;
  padding: 40px 20px 140px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.page-top .logo {
  width: 300px;
}
.page-top .logo img {
  margin: 0 auto;
}
.page-top .catch {
  padding-top: 30px;
  text-align: center;
}
.page-top .catch .en {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 4rem;
  line-height: 1.2;
}
.page-top .catch .jp {
  margin-top: 20px;
  font-size: 2rem;
}
.page-top .catch span {
  display: inline-block;
}
@media screen and (max-width: 560px) {
  .page-top .catch .en {
    font-size: 3.6rem;
  }
  .page-top .catch .jp {
    font-size: 1.8rem;
  }
}
.btn-to-bottom {
  position: absolute;
  left: 50%;
  margin-left: -20px;
  bottom: 70px;
  display: block;
  width: 40px;
  height: 40px;
  transition: all 0.3s;
}
.btn-to-bottom::before,
.btn-to-bottom::after {
  position: absolute;
  display: block;
  content: '';
  background-color: var(--color-text);
}
.btn-to-bottom::before {
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
}
.btn-to-bottom::after {
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 20px;
  margin-left: 8px;
  transform: rotate(45deg);
}
@media screen and (min-width: 769px) {
  .btn-to-bottom {
    bottom: 100px;
    margin-left: -40px;
    width: 80px;
    height: 80px;
  }
}
.works-card-simple {
  width: 90%;
  max-width: 240px;
  margin: 0 auto;
}
.works-card-simple li {
  position: relative;
  display: block;
}
.works-card-simple li + li {
  margin-top: 16px;
}
.works-card-simple li a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  padding: 10px;
  text-decoration: none;
  border: 1px solid var(--color-main);
  z-index: 1;
}
.works-card-simple li a::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  background-color: var(--color-main);
  z-index: -1;
}
@media (hover: hover) and (pointer: fine) {
  .works-card-simple li a:hover {
    color: #fff;
  }
  .works-card-simple li a:hover::after {
    transform: scale(1, 1);
  }
  .works-card-simple li a:hover .name::before {
    background-color: #fff;
  }
}
.works-card-simple li .name {
  position: relative;
  display: block;
  width: 100%;
}
.works-card-simple li .name::before {
  position: absolute;
  top: 50%;
  left: 10px;
  display: block;
  content: '';
  width: 10px;
  height: 10px;
  margin-top: -5px;
  background-color: var(--color-main);
  transform: rotate(45deg);
}
.page-introdoction {
  position: relative;
  padding: 140px 20px 260px;
}
.intro-card li {
  position: relative;
  width: 360px;
  max-width: 80%;
  margin-bottom: 180px;
  padding: 30px 20px;
  backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.5);
}
.intro-card li:nth-child(even) {
  margin-left: auto;
}
.intro-card li .catch1 {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.6rem;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--color-main);
}
.intro-card li .catch2 {
  font-size: 1.8rem;
  line-height: 1.3;
  text-align: center;
}
.intro-card li .text {
  margin-top: 30px;
  text-align: justify;
  color: var(--color-sub);
}
.page-information {
  position: relative;
  padding: 140px 20px 400px;
}
.page-information .info-dl > div {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.page-information .info-dl dt {
  flex: 0 0 100px;
  text-align: right;
  color: var(--color-sub-light);
  font-weight: bold;
}
.page-information .info-dl dd {
  position: relative;
  flex: 1 1 100%;
  padding-left: 30px;
  padding-bottom: 40px;
}
.page-information .info-dl dd::before,
.page-information .info-dl dd::after {
  position: absolute;
  display: block;
  content: '';
  background-color: var(--color-sub-light);
}
.page-information .info-dl dd::before {
  top: 0px;
  left: 11px;
  width: 2px;
  height: 100%;
  opacity: 0.5;
}
.page-information .info-dl dd::after {
  top: 9px;
  left: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  outline: 3px solid var(--color-background);
}
.info-card {
  padding: 50px 10px 40px;
  backdrop-filter: blur(10px);
  background-color: rgba(255, 255, 255, 0.5);
}
.page-works {
  position: relative;
  padding: 140px 20px 140px;
}
.works-card-detail > li {
  position: relative;
  display: block;
  margin-bottom: 60px;
  padding: 100px 30px 30px;
  color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  z-index: 0;
  backdrop-filter: blur(10px);
  transition: all 0.35s;
}
.works-card-detail > li .intro-bg {
  position: absolute;
  top: -3px;
  right: -3px;
  bottom: -3px;
  left: -3px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  backdrop-filter: blur(0px);
  opacity: 0.5;
  z-index: -1;
  transition: all 0.35s;
}
.works-card-detail > li .name {
  position: absolute;
  top: 80px;
  left: 0;
  width: 100%;
  padding: 5px 0 5px 20px;
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 300;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  transition: transform 0.35s, color 0.35s;
  transform: translate3d(0, -50%, 0);
  opacity: 0.5;
  filter: blur(2px);
  text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 40px #fff, 0 0 80px #fff;
}
.works-card-detail > li .name::after {
  position: absolute;
  bottom: -5px;
  left: 100px;
  right: 100px;
  height: 2px;
  content: '';
  background-color: #fff;
  transition: transform 0.35s;
  transform: translate3d(-130%, 0, 0);
  opacity: 0;
}
.works-card-detail > li .row {
  display: flex;
  transition: all 0.35s;
  transform: translateY(20px);
  filter: blur(4px);
  opacity: 0.8;
}
.works-card-detail > li .text-area {
  flex: 1;
  padding: 10px 20px 0 0;
  color: #000;
}
.works-card-detail > li .text-area .data {
  margin-top: 10px;
  font-size: 1.4rem;
  color: var(--color-sub);
}
.works-card-detail > li .text-area .text {
  text-align: justify;
}
.works-card-detail > li .tag {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 20px;
}
.works-card-detail > li .tag > li {
  display: inline-block;
  color: var(--color-text);
  background-color: rgba(255, 255, 255, 0.8);
  padding: 5px 16px;
  line-height: 1;
  font-size: 1.4rem;
  border-radius: 30px;
}
.works-card-detail > li .img-area {
  flex: 1;
  position: relative;
}
.works-card-detail > li .img-area img {
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}
.works-card-detail > li .img-area.ver1 img:first-child {
  width: 80%;
}
.works-card-detail > li .img-area.ver1 img:nth-child(2) {
  width: 60%;
  margin-left: auto;
  margin-top: -20px;
}
.works-card-detail > li .img-area.ver2 img {
  width: 60%;
}
.works-card-detail > li .img-area.ver2 img:nth-child(2) {
  margin-left: auto;
  margin-top: -80px;
}
.works-card-detail > li .img-area.ver3 img {
  width: 60%;
}
.works-card-detail > li .img-area.ver3 img:nth-child(2) {
  margin-left: auto;
  margin-top: -80px;
}
.works-card-detail > li .note {
  margin-top: 20px;
  padding: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  color: #000;
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.03);
  transition: all 0.35s;
  transform: translateY(20px);
  filter: blur(4px);
  opacity: 0.8;
  text-align: justify;
}
.works-card-detail > li.is-show {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}
.works-card-detail > li.is-show .intro-bg {
  filter: blur(4px);
  opacity: 0.8;
}
.works-card-detail > li.is-show .name {
  color: var(--color-text);
  transform: translate3d(0, -50%, 0) translate3d(0, -40px, 0);
  font-weight: 700;
  opacity: 1;
  filter: blur(0px);
  text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 40px #fff, 0 0 80px #fff;
}
.works-card-detail > li.is-show .name:after {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
.works-card-detail > li.is-show .row,
.works-card-detail > li.is-show .note {
  transform: translateY(0);
  filter: blur(0);
  opacity: 1;
}
/*# sourceMappingURL=style.css.map */