html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
}
h1,
h2,
h3,
h4 {
  font-weight: 700;
  line-height: 1.3;
}
p {
  line-height: 1.8;
}
img {
  width: 100%;
  height: auto;
}
::placeholder {
  color: #ccc;
}
input[type="date"] {
  min-height: 50px;
  text-align: left;
}
input[type="text"],
input[type="email"],
input[type="date"],
input[type="tel"],
input[type="number"],
textarea,
select {
  background-color: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 0.6em;
  line-height: 1.7;
}
input[type="date"],
input[type="radio"] {
  cursor: pointer;
}
label {
  cursor: pointer;
}
input[type="checkbox"] {
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="date"],
  input[type="tel"],
  textarea {
    font-size: 1.4rem;
    padding: 8px;
  }
  label,
  select,
  input[type="date"],
  input[type="radio"],
  input[type="checkbox"] {
    font-size: 1.4rem;
  }
}
.bg-color {
  background: #fafafa;
}
.sec-title {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.sec-title--center {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.sec-title--sub {
  display: block;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .sec-title {
    font-size: 2.1rem;
  }
  .sec-title--center {
    font-size: 2.1rem;
  }
}
.title-en {
  font-family: "Roboto", sans-serif;
  font-style: italic;
  letter-spacing: 0.1em;
}
.text-en {
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.03em;
}
.text-center {
  text-align: center !important;
}
.text-right {
  text-align: right;
}
.text-light {
  font-size: 1.4rem;
  opacity: 0.5;
  line-height: 1.5;
  font-weight: 400;
}
.text-small {
  font-size: 1.2rem;
  opacity: 0.5;
  font-weight: 400;
}
.paragraph-s {
  font-size: 1.4rem;
  line-height: 1.5;
}
.font-s {
  font-size: 1.2rem;
  line-height: 1.3;
}
.text-bold {
  font-weight: 700;
}
.text-wrap {
  word-wrap: break-word;
}
.text-link {
  text-decoration: underline;
}
.text-link:hover {
  opacity: 0.8;
}
.text-red {
  line-height: 1.5;
  font-weight: 500;
  color: #f50000;
}
.text-required {
  font-size: 1.4rem;
  font-weight: 500;
  color: #f50000;
}
@media screen and (max-width: 768px) {
  .text-light,
  .text-required {
    font-size: 1.2rem;
  }
  .paragraph-s {
    font-size: 1.2rem;
  }
}
.margin-t {
  margin-top: 1em;
}
.margin-t--two {
  margin-top: 2em;
}
.margin-t--half {
  margin-top: 0.5em;
}
.margin-b {
  margin-bottom: 1em;
}
.margin-b--two {
  margin-bottom: 2em;
}
.bg-style {
  width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.content__2col__left::-webkit-scrollbar,
.content__2col__right::-webkit-scrollbar,
textarea::-webkit-scrollbar {
  width: 16px;
}
.content__2col__left::-webkit-scrollbar-track,
.content__2col__right::-webkit-scrollbar-track,
textarea::-webkit-scrollbar-track {
  background-color: #fafafa;
}
.content__2col__left::-webkit-scrollbar-thumb,
.content__2col__right::-webkit-scrollbar-thumb,
textarea::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 7px;
  border-right: 5px solid rgba(0, 0, 0, 0);
  border-left: 5px solid rgba(0, 0, 0, 0);
  background-clip: padding-box;
}
.elm-hide {
  display: none;
}
.input-half {
  width: 50%;
}
input[type="text"].input-disable {
  background: #b7b7b7;
  color: #fff;
  pointer-events: none;
  user-select: none;
}
input.highlight,
select.highlight,
textarea.highlight {
  background: #ffecec;
  border-color: #f50000;
}
.whiteBox {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  overflow: hidden;
  margin-right: auto;
  margin-left: auto;
}
.content__2col__left .whiteBox {
  max-width: 500px;
  margin: 0 auto;
}
.whiteBox__inner {
  padding: 30px;
}
.whiteBox__inner__left {
  padding: 25px;
}
.whiteBox__inner__right {
  padding: 0 50px;
}
.whiteBox__section {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 50px 0;
}
.whiteBox__link {
  font-size: 14px;
  font-weight: 500;
  padding: 30px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  text-align: right;
}
.whiteBox__link a {
  display: inline-block;
  padding: 0 0.5em;
}
.whiteBox__link a:hover {
  opacity: 0.85;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .whiteBox__inner__left {
    padding: 20px;
  }
  .whiteBox__inner {
    padding: 20px;
  }
  .whiteBox__inner__right {
    padding: 0 30px;
  }
  .whiteBox__section {
    padding: 30px 0;
  }
}
.whiteBox__title {
  font-size: 2rem;
  font-weight: 600;
  padding: 20px 30px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.whiteBox__sub-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  margin: 0 0 0.8em;
}
.whiteBox__sub-title__left {
  flex-shrink: 0;
  margin-right: 1em;
}
.whiteBox__note {
  font-size: 1.4rem;
  font-weight: 400;
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .whiteBox__title {
    font-size: 1.6rem;
    padding: 20px;
  }
  .whiteBox__sub-title {
    flex-direction: column;
    align-items: flex-start;
    font-size: 1.6rem;
    margin-bottom: 0.5em;
  }
  .whiteBox__sub-title__left {
    margin-bottom: 1em;
  }
}
.whiteBox__textarea {
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .whiteBox__textarea {
    font-size: 1.4rem;
  }
}
input.whiteBox__input {
  width: 100%;
  margin-bottom: 30px;
  white-space: nowrap;
}
select {
  cursor: pointer;
}
.select-label {
  position: relative;
}
.select-label::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 1em;
  top: calc(50% - 4px);
}
.select-label select {
  width: 100%;
}
.whiteBox__select {
  font-size: 14px;
  padding: 0.5em 2.5em 0.5em 1em;
  border-radius: 20px;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  appearance: initial;
}
@media screen and (max-width: 768px) {
  .select-label,
  .whiteBox__select {
    width: 100%;
  }
}
.whiteBox-2col {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}
.whiteBox-2col__inner {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  width: 47%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .whiteBox-2col {
    flex-direction: column;
  }
  .whiteBox-2col__inner {
    width: 100%;
  }
  .whiteBox-2col__inner:first-child {
    margin-bottom: 20px;
  }
}
.sp_show {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_hide {
    display: none;
  }
  .sp_show {
    display: block;
  }
}
:root {
  --vh: 100vh;
}
.modal {
  width: 100vw;
  word-break: break-all;
  height: calc(var(--vh, 1vh) * 100);
  opacity: 0;
  visibility: hidden;
  transition: opacity all 0.2s ease;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
}
.modal.open {
  opacity: 1;
  visibility: visible;
}
.js-modal-content {
  display: none;
}
.modal__btn {
  width: 50px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #000;
  position: absolute;
  top: -20px;
  right: -20px;
  cursor: pointer;
  transition: 0.2s;
}
.modal__btn::before,
.modal__btn::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 24px;
  background: #fff;
  position: absolute;
  top: calc(50% - 12px);
  left: calc(50% - 1px);
  transition: 0.2s;
}
.modal__btn::before {
  transform: rotate(45deg);
}
.modal__btn::after {
  transform: rotate(-45deg);
}
.modal__btn:hover {
  background: #444;
}
.modal__btn:hover::before {
  transform: rotate(135deg);
}
.modal__btn:hover::after {
  transform: rotate(45deg);
}
.modal__bg {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  cursor: pointer;
  background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.2));
  transition: all 0.2s ease;
}
.modal__inner {
  width: 90vw;
  max-width: 1000px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 45px;
  border-radius: 20px;
  position: absolute;
  top: 14%;
  left: 0;
  right: 0;
  margin: auto;
  transition: 0.2s ease-in-out;
}
.modal__title {
  font-size: 2.2rem;
  text-align: center;
  margin-bottom: 2em;
}
.modal__name {
  display: flex;
  flex-direction: column;
  font-size: 2.8rem;
  font-weight: 600;
  word-break: break-all;
}
.modal__head {
  font-size: 2.8rem;
  font-weight: 600;
  padding: 30px 50px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.modal__textarea {
  width: 100%;
}
.modal__body {
  padding: 50px;
}
.modal-detail-info__row {
  display: flex;
  gap: 25px;
}
.modal-detail-info__row:not(:first-child) {
  margin-top: 20px;
}
.modal-detail-info__row dt {
  font-weight: 400;
  width: 8em;
  flex-shrink: 0;
}
.modal-detail-info__row dd {
  word-break: break-all;
}
.modal__flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  word-wrap: break-word;
}
.modal__flex__left,
.modal__flex__right {
  width: 48%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.modal__img {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.modal__video {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  overflow: hidden;
  position: relative;
}
.modal__video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.modal__under {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 60px;
}
.modal__btn-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 60px;
}
.modal__btn-edit {
  display: block;
  width: 70%;
  padding: 1.2em;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  text-align: center;
  transition: all 0.2s ease;
}
.modal__btn-edit:hover {
  border-color: #000;
}
.modal__btn-delete {
  opacity: 0.7;
}
.modal__btn-delete:hover {
  text-decoration: underline;
}
.modal-help {
  z-index: 2000;
}
.modal-help__bg {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  cursor: pointer;
  transition: all 0.2s ease;
  background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.2));
}
.modal-help__box {
  width: 80%;
  max-width: 1000px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 50px;
  border-radius: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.2s ease;
}
.modal-help__ttl {
  font-size: 2.1rem;
  font-weight: 700;
  margin-bottom: 0.8em;
}
.modal-help__ttl--h3 {
  font-weight: 700;
  margin-top: 1.5em;
  margin-bottom: 5px;
}
.modal-help__body ul {
  list-style: inside disc;
  line-height: 1.5;
  margin-top: 1.3em;
}
.modal-help__body ol {
  list-style: inside decimal;
  line-height: 1.5;
  margin-top: 1.3em;
}
.modal-help__body li {
  margin-left: 24px;
  text-indent: -24px;
}
.modal-help__body p {
  margin-top: 1.3em;
}
.modal-help__body li + li {
  margin-top: 0.7em;
}
.modal-help__body + .modal-help__ttl {
  margin-top: 2em;
}
@media screen and (max-width: 1000px) {
  .modal__name {
    font-size: 2.4rem;
  }
  .modal__btn {
    width: 45px;
    top: -15px;
    right: -15px;
  }
  .modal__btn::before,
  .modal__btn::after {
    height: 20px;
    top: calc(50% - 10px);
  }
  .modal__flex {
    flex-direction: column;
    gap: 15px;
  }
  .modal__flex__left,
  .modal__flex__right {
    width: 100%;
    gap: 10px;
  }
}
@media screen and (max-width: 768px) {
  .modal__inner {
    font-size: 1.4rem;
    top: 20%;
    padding: 25px;
    transform: translateY(100%);
  }
  .modal__head,
  .modal__body {
    padding: 25px;
  }
  .modal__head,
  .modal__name {
    font-size: 2rem;
  }
  .modal-detail-info__row {
    gap: 5px;
  }
  .modal-detail-info__row:not(:first-child) {
    margin-top: 1em;
  }
  .modal__btn-edit,
  .modal__btn-delete {
    font-size: 1.4rem;
  }
  .modal__btn-edit {
    padding: 1em;
    border-radius: 4px;
  }
  .modal__btn-box {
    margin-top: 40px;
  }
  .modal__under {
    max-width: 500px;
    flex-direction: column;
    gap: 10px;
    margin-top: 40px;
  }
  .modal__under .btn-base {
    padding: 1.2em;
  }
  .modal__btn {
    width: 40px;
    top: -20px;
    right: -15px;
  }
  .modal__btn::before,
  .modal__btn::after {
    height: 18px;
    top: calc(50% - 9px);
  }
  .modal__title {
    font-size: 1.8rem;
    margin: 1em 0;
  }
  .modal-help__box {
    width: 90%;
    left: 5%;
    padding: 25px;
  }
  .modal-help__box {
    top: 140px;
    transform: translateY(100%);
  }
  .modal-help__ttl {
    font-size: 1.8rem;
  }
  .modal-help__body {
    font-size: 1.4rem;
  }
  .modal.open .modal__inner,
  .modal.open .modal-help__box,
  .modal-help.open .modal__inner,
  .modal-help.open .modal-help__box,
  .modal-reply.open .modal__inner,
  .modal-reply.open .modal-help__box {
    transform: translateY(0);
  }
}
.btn-base {
  display: inline-block;
  min-width: 300px;
  color: #fff;
  font-weight: 600;
  text-align: center;
  border-radius: 4px;
  padding: 1em;
  box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.04);
  transition: all 0.2s ease;
}
.btn-base:hover {
  filter: brightness(1.1);
}
.type-arrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.type-arrow::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
}
.btn-save {
  display: inline-block;
  width: 500px;
  min-width: 500px;
  min-width: 440px;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
  position: fixed;
  left: 0;
  bottom: 0;
  padding: 1.5em;
  transition: all 0.2s ease;
}
.btn-save:hover {
  filter: brightness(1.1);
}
.btn-cancel {
  display: inline-block;
  min-width: 170px;
  text-align: center;
  font-weight: 600;
  text-align: center;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 1em 2em;
  transition: all 0.2s ease;
}
.btn-cancel:hover {
  border-color: #000;
}
.btn-fixed {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 600;
  padding: 1.2em;
  color: #fff;
  text-align: center;
  position: fixed;
  left: 0;
  bottom: 0;
  transition: all 0.2s ease;
  z-index: 10;
}
.btn-fixed:hover {
  filter: brightness(1.1);
}
.fixed-btn-right {
  color: #fff;
  width: calc(100% - 500px);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  text-align: center;
  font-weight: 600;
  padding: 1em;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 20;
  transition: all 0.2s ease;
}
.fixed-btn-right:hover {
  filter: brightness(1.1);
}
.btn-disabled {
  opacity: 0.6;
  pointer-events: none;
  user-select: none;
}
@media screen and (max-width: 1000px) {
  .btn-save {
    display: none;
  }
  .fixed-btn-right {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .btn-fixed {
    padding: 1em;
    font-size: 1.4rem;
  }
  .btn-base {
    min-width: auto;
    width: 100%;
    font-size: 1.4rem;
  }
  .btn-cancel {
    width: 100%;
    padding: 0.8em;
    order: 2;
  }
}
.wrapper {
  max-width: 1000px;
  margin: 0 auto;
}
.wrapper-wide {
  max-width: 1200px;
  margin: 0 auto;
}
.wrapper-narrow {
  max-width: 860px;
  margin: 0 auto;
}
.container {
  padding-top: 80px;
  padding-bottom: 80px;
}
.content-padding {
  padding-right: 5%;
  padding-left: 5%;
}
.sec-color {
  background: #fafafa;
}
@media screen and (max-width: 768px) {
  .container {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 480px) {
  .container {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.sec-color {
  background-color: #fafafa;
}
.header-height {
  padding-top: 141px;
}
.header-height--short {
  padding-top: 87px;
}
@media screen and (max-width: 1500px) {
  .header-height--short {
    padding-top: 79px;
  }
}
@media screen and (max-width: 1000px) {
  .header-height {
    padding-top: 145px;
  }
}
@media screen and (max-width: 768px) {
  .header-height {
    padding-top: 104px;
  }
  .header-height--short {
    padding-top: 60px;
  }
}
.content__2col {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}
.content__2col__left {
  width: 500px;
  min-width: 500px;
  height: calc(100vh - 141px);
  padding: 50px 40px;
  background-color: #fafafa;
  position: fixed;
  top: 141px;
  left: 0;
  overflow-y: scroll;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
.content__2col__right {
  width: calc(100% - 500px);
  position: relative;
}
.content__2col .whiteBox + .whiteBox {
  margin-top: 30px;
}
.js-btn-left {
  color: #fff !important;
}
@media screen and (max-width: 1000px) {
  main {
    overflow: hidden;
  }
  .content__2col {
    width: 100%;
    height: 100dvh;
    position: relative;
  }
  .content__2col__left,
  .content__2col__right {
    width: 100%;
    height: calc(100vh - 141px - 75px);
    position: absolute;
    left: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: auto;
    transition: transform 0.2s;
    display: none;
  }
  .content__2col__left {
    min-width: auto;
    padding: 50px 20px;
  }
  .content__2col__right {
    top: 141px;
    transform: translateX(100%);
  }
  body.page-loaded .content__2col__left,
  body.page-loaded .content__2col__right {
    display: block;
  }
  body.show-page-left .content__2col__right {
    transform: translateX(100%);
  }
  body.show-page-right .content__2col__left {
    transform: translateX(-100%);
  }
  body.show-page-right .content__2col__right {
    transform: translateX(0);
  }
  body.show-page-right .btn-slider {
    transform: translateX(100%);
  }
  body.show-page-right .js-btn-left {
    color: inherit !important;
  }
  body.show-page-right .js-btn-right {
    color: #fff !important;
  }
  body.show-page-right .btn-preview {
    visibility: visible !important;
    pointer-events: inherit !important;
  }
}
@media screen and (max-width: 768px) {
  .content__2col__left,
  .content__2col__right {
    height: calc(100dvh - 104px - 75px);
    top: 104px;
  }
}
.col2-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.col2-box__inner {
  width: 48%;
}
@media screen and (max-width: 768px) {
  .col2-box__inner {
    width: 100%;
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
  }
  .col2-box__inner + .col2-box__inner {
    margin-top: 30px;
  }
}
.page-mv {
  height: 70vh;
  color: #fff;
  align-content: center;
  position: relative;
}
.page-mv::after {
  content: "";
  display: block;
  background-color: rgba(0, 0, 0, 0.05);
  position: absolute;
  inset: 0;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .page-mv {
    height: 60vh;
    min-height: 500px;
  }
  .page-mv::after {
    background-color: rgba(0, 0, 0, 0.1);
  }
}
.page-mv__inner {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap;
}
.page-mv__img {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .page-mv__img {
    width: 100%;
    height: 50%;
  }
}
.page-mv__text {
  text-align: center;
  font-weight: 500;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.page-mv__en {
  font-size: 5.8rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.page-mv__title {
  font-size: 3.2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin: 25px auto 15px;
}
.page-mv__copy {
  font-size: 1.8rem;
  padding-top: 30px;
  margin-top: 30px;
  letter-spacing: 0.1em;
  border-top: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .page-mv__en {
    font-size: 3.2rem;
    font-weight: 600;
  }
  .page-mv__title {
    font-size: 2.4rem;
    margin-top: 10px;
    margin-bottom: 5px;
  }
  .hashtag {
    font-size: 1.2rem;
  }
  .page-mv__copy {
    font-size: 1.4rem;
    line-height: 1.5;
    padding-top: 10px;
    margin-top: 15px;
  }
}
.idx-nav {
  font-weight: 500;
  text-align: center;
  transform: translateY(-50%);
  padding: 0 3%;
  position: relative;
  z-index: 5;
}
.idx-nav__inner {
  font-size: 1.4rem;
  display: inline-block;
  background-color: #fff;
  padding: 0.8em;
  border-radius: 50px;
  box-shadow: 0 0 25px 15px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}
.idx-nav__list {
  display: flex;
  justify-content: center;
}
.idx-nav__item {
  position: relative;
}
.idx-nav__item:first-child {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.idx-nav__item:hover .idx-nav__border,
.idx-nav__item.active .idx-nav__border {
  transform: scale(1, 1);
}
.idx-nav__link {
  display: inline-block;
  white-space: nowrap;
  padding: 1em 1.5em;
}
.idx-nav__border {
  display: inline-block;
  width: 70%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 15%;
  transition: 0.3s;
  transform: scale(0, 1);
  background-color: #000;
}
@media screen and (max-width: 768px) {
  .idx-nav__inner {
    font-size: 1.2rem;
    padding: 1em;
    width: min(100%, 500px);
  }
  .idx-nav__link {
    padding: 0.8em;
  }
}
.idx-nav--fixed {
  width: 100%;
  background-color: #fff;
  font-weight: 500;
  box-shadow: 0 0 25px 15px rgba(0, 0, 0, 0.04);
  position: fixed;
  top: 86px;
  left: 0;
  z-index: 50;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
}
.idx-nav--fixed.show {
  animation: showAnime 0.3s forwards;
}
.idx-nav--fixed.hide {
  animation: hideAnime 0.3s forwards;
}
@keyframes showAnime {
  from {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
@keyframes hideAnime {
  from {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
  }
}
@media screen and (max-width: 1200px) {
  .idx-nav--fixed {
    top: 78px;
  }
}
@media screen and (max-width: 768px) {
  .idx-nav--fixed {
    top: 60px;
  }
}
@media screen and (max-width: 550px) {
  .page-party1 .idx-nav__inner {
    justify-content: left;
    overflow-x: scroll;
  }
  .page-party1 .sub-navi__link {
    cursor: grab;
  }
}
.idx-intro {
  margin: 40px 0 80px;
}
.idx-intro__inner {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .idx-intro {
    margin: 20px 0 60px;
  }
  .idx-intro__inner {
    margin-top: 40px;
  }
}
.idx-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.idx-box.reverse {
  flex-direction: row-reverse;
}
.idx-box + .idx-box {
  margin-top: 80px;
}
.point-label {
  margin-bottom: 10px;
}
.point-label span {
  display: inline-block;
  border-radius: 8px;
  padding: 1em;
  font-weight: 600;
}
.idx-box__text {
  width: 50%;
}
.idx-box__text p + p {
  margin-top: 1em;
}
.idx-box__text dl {
  line-height: 1.8;
}
.idx-box__text dt:not(:first-child) {
  margin-top: 1.5em;
}
.idx-box__img {
  width: 45%;
  height: 100%;
  aspect-ratio: 16/9;
  border-radius: 10px;
}
.idx-box__img--auto {
  width: 45%;
  height: auto;
  border-radius: 10px;
}
.idx-box .imgWrapper {
  width: 45%;
}
.imgWrapper img {
  display: block;
  max-width: 500px;
  max-height: 800px;
  border-radius: 10px;
  margin: 0 auto;
  object-fit: contain;
}
.idx-title {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
}
.idx-box .idx-title {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .idx-box {
    gap: 25px;
  }
  .idx-box.reverse {
    flex-direction: column;
  }
  .idx-box.reverse .idx-box__img,
  .idx-box.reverse .idx-box__img--auto {
    margin-top: 0;
  }
  .idx-box + .idx-box {
    margin-top: 50px;
  }
  .idx-box .imgWrapper {
    width: 100%;
  }
  .idx-box__text {
    width: 100%;
  }
  .point-label span {
    font-size: 1.4rem;
  }
  .idx-box__img,
  .idx-box__img--auto {
    width: 100%;
  }
  .idx-box__img--auto {
    aspect-ratio: 3/2;
  }
  .idx-title {
    font-size: 1.8rem;
  }
  .idx-box .idx-title {
    margin-bottom: 1em;
  }
}
.idx-banner {
  max-width: 2000px;
  margin: 0 auto;
  padding: 0 5%;
}
.idx-banner__img {
  width: 100%;
  aspect-ratio: 5/2;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .idx-banner {
    padding: 0 5%;
  }
  .idx-banner__img {
    aspect-ratio: 16/9;
  }
}
.about-head {
  background-color: #fff;
  border-radius: 10px;
  padding: 40px;
  margin: -90px auto 0;
  box-shadow: 0 0 40px 10px rgba(0, 0, 0, 0.04);
}
.about-head p {
  margin-top: 20px;
}
.about-head__title {
  font-size: 3.6rem;
}
@media screen and (max-width: 768px) {
  .about-head {
    padding: 20px;
    margin: -45px auto 0;
  }
  .about-head p {
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .about-head__title {
    font-size: 2.1rem;
  }
}
.about-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.about-item:not(:first-child) {
  margin-top: 80px;
}
.about-item__left {
  width: 45%;
  align-self: stretch;
}
.about-item__right {
  width: 48%;
  align-self: stretch;
}
.about-item .about-process {
  margin-bottom: 30px;
}
.about-item__flex {
  display: grid;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .about-detail {
    gap: 35px;
  }
  .about-item:not(:first-child) {
    margin-top: 40px;
  }
  .about-item.reverse {
    flex-direction: column-reverse;
  }
  .about-item__left {
    width: 100%;
  }
  .about-item__right {
    width: 100%;
  }
}
.about-item__img {
  width: 100%;
  aspect-ratio: 3/2;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.about-item__img--auto {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
}
.about-item__img--long {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
}
.about-item__phone {
  width: 100%;
  aspect-ratio: 5/7;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .about-item .imgWrapper {
    margin-top: 20px;
  }
  .about-item__img {
    margin-top: 20px;
    aspect-ratio: 3/2;
  }
  .about-item__img--auto {
    margin-top: 20px;
    aspect-ratio: 3/2;
  }
  .about-item__img--long {
    margin-top: 20px;
    aspect-ratio: 2/3;
    max-height: 500px;
    width: auto;
    max-width: 100%;
    margin: 20px auto 0;
  }
  .about-item__phone {
    max-width: 350px;
    max-height: 300px;
    margin: 0 auto;
    margin-top: 20px;
  }
}
.about-process {
  margin-top: 30px;
}
.about-process__title {
  font-size: 18px;
  margin-bottom: 20px;
}
.about-process__item {
  font-size: 1.4rem;
  line-height: 1.3;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 20px 40px;
  position: relative;
}
.about-process__item::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #f86456;
  position: absolute;
  top: calc(50% - 3px);
  left: 15px;
}
.about-item__num {
  display: inline-block;
  width: 1em;
  font-family: "Roboto", sans-serif;
  font-size: 5rem;
  opacity: 0.6;
  font-style: italic;
}
.about-item__title {
  font-size: 2.1rem;
  line-height: 1.5;
  margin: 20px 0 10px;
}
.how-to {
  margin: 50px 0 80px;
}
.how-to__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.how-to__item {
  border-radius: 10px;
  padding: 40px 30px;
}
.how-to__step {
  text-align: center;
  font-style: italic;
}
.how-to__light {
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  opacity: 0.5;
}
.how-to__num {
  display: inline-block;
  margin-left: 10px;
  font-size: 7rem;
}
.how-to__img {
  text-align: center;
  margin: 20px auto;
}
.how-to__img img {
  height: 185px;
  width: auto;
  object-fit: contain;
}
.how-to__title {
  font-size: 2.1rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 15px;
}
.how-to__text {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .how-to {
    overflow-x: scroll;
    margin: 40px 0 60px;
  }
  .how-to__list {
    width: 800px;
    gap: 25px;
    margin: 0 10%;
  }
  .how-to__item {
    padding: 25px;
  }
  .how-to__num,
  .about-item__num {
    font-size: 4rem;
  }
  .how-to__title {
    font-size: 1.8rem;
  }
}
.example-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 80px;
}
.example-item {
  width: 31%;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.example-item:nth-child(-n + 2) {
  width: 48%;
  margin-bottom: 40px;
}
.example-item__img {
  aspect-ratio: 3/1;
}
.example-item__inner {
  padding: 30px;
}
.example-item__heading {
  font-size: 2.1rem;
  font-weight: 500;
  margin-bottom: 20px;
}
.example-item__text {
  font-size: 1.4rem;
  color: #707070;
  font-weight: lighter;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.example-item__detail {
  display: inline-block;
  padding: 5px 12px;
  border: 1px solid #707070;
  border-radius: 2px;
  flex-shrink: 0;
  margin-left: 1em;
}
@media screen and (max-width: 768px) {
  .example-list {
    margin-top: 40px;
  }
  .example-item {
    width: 48%;
    margin-bottom: 25px;
  }
  .example-item:nth-child(-n + 2) {
    margin-bottom: 25px;
  }
  .example-item__img {
    aspect-ratio: 3/2;
  }
  .example-item__inner {
    padding: 15px;
  }
  .example-item__heading {
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
  .example-item__text {
    flex-direction: column;
    align-items: flex-start;
  }
  .example-item__detail {
    margin-top: 1em;
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  .example-item:last-child {
    width: 100%;
  }
}
.others {
  background-color: #f2f2f2;
}
.others-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  margin-top: 50px;
  overflow-x: auto;
}
.others-item {
  font-size: 1.4rem;
  background-color: #fff;
  border-radius: 20px;
  padding: 30px;
}
.others-item__head {
  display: flex;
  justify-content: space-between;
}
.others-item__num {
  display: inline-block;
  width: 1.1em;
  font-family: "Roboto", sans-serif;
  font-style: italic;
  font-size: 5rem;
  opacity: 0.6;
  flex-shrink: 0;
}
.others-item__title {
  font-size: 1.8rem;
  font-weight: 600;
  margin: 15px 0;
}
.others-item__icon {
  max-height: 120px;
  aspect-ratio: 5/3;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .others-item {
    padding: 25px;
  }
  .others-item__icon {
    width: 180px;
    margin: 0 auto;
  }
  .others-item__num {
    font-size: 4rem;
  }
  .others-item__head {
    justify-content: left;
  }
}
.get-account {
  display: flex;
  flex-wrap: wrap;
}
.get-account__img {
  width: 50%;
}
.get-account__cont {
  width: 50%;
  color: #fff;
  background-color: #bf4351;
  padding-left: 100px;
  padding-right: calc((100vw - 1200px) / 2);
}
p.get-account__text {
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 50px;
}
.get-account__btns {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 80px;
}
.link-plan,
.link-account {
  color: #bf4351;
  background: #fff;
  padding: 25px 30px;
  border-radius: 4px;
  line-height: 1;
  transition: 0.2s;
}
.link-plan:hover,
.link-account:hover {
  background: #ffedf0;
}
@media screen and (max-width: 1200px) {
  .get-account__cont {
    padding-left: 50px;
    padding-right: 50px;
  }
  .link-plan {
    width: 100%;
    max-width: 400px;
    margin-bottom: 15px;
  }
  .link-account {
    width: 100%;
    max-width: 400px;
  }
}
@media screen and (max-width: 768px) {
  .get-account__img {
    width: 100%;
    aspect-ratio: 3/2;
  }
  .get-account__cont {
    width: 100%;
    padding-left: 25px;
    padding-right: 25px;
  }
  p.get-account__text {
    margin-top: 40px;
  }
  .get-account__btns {
    margin-top: 40px;
  }
  .link-plan,
  .link-account {
    padding: 20px;
  }
}
.pc-header {
  width: 100%;
  font-size: 14px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.gnavi {
  background: #fff;
  padding: 1em 10%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 100;
}
.gnavi__inner {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.gnavi__logo {
  width: 140px;
  min-width: 100px;
  transition: 0.2s;
}
.gnavi__logo:hover {
  opacity: 0.7;
}
.gnavi__list {
  display: flex;
  white-space: nowrap;
}
.gnavi__item {
  position: relative;
  transition: all 0.2s ease;
}
.gnavi__border {
  display: inline-block;
  width: 70%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 15%;
  transition: 0.3s;
  transform: scale(0, 1);
}
.gnavi__item.active .gnavi__border,
.gnavi__info.active .gnavi__border,
.gnavi__item:hover .gnavi__border,
.gnavi__info:hover .gnavi__border {
  transform: scale(1, 1);
}
.gnavi__link {
  display: inline-block;
  padding: 1.5em 1em;
  transition: 0.4s;
}
.gnavi__info {
  display: flex;
  justify-content: right;
  column-gap: 15px;
  align-items: center;
  margin-right: 0 !important;
  position: relative;
  padding-bottom: 8px;
}
.gnavi__info .gnavi__border {
  width: 100%;
  left: 0;
}
.gnavi-event {
  font-size: 1.2rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 8px 20px 8px 10px;
  color: #999;
  position: relative;
  transition: all 0.2s ease;
}
.gnavi-event::after {
  content: "";
  display: inline-block;
  border-top: 5px solid rgba(0, 0, 0, 0);
  border-bottom: 5px solid rgba(0, 0, 0, 0);
  border-left: 5px solid #000;
  position: absolute;
  right: 7px;
  top: calc(50% - 5px);
}
.gnavi-event:hover {
  background: #fafafa;
  border-color: #000;
  color: #000;
}
.gnavi-event__inner {
  display: inline-block;
  width: 8em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gnavi__info__user-name {
  white-space: nowrap;
  user-select: none;
  max-width: 8em;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gnavi__info__icon {
  width: 45px;
  padding-top: 45px;
  border-radius: 10px;
  margin-left: 1em;
}
.gnavi__mypage {
  display: flex;
  justify-content: right;
  align-items: center;
  cursor: pointer;
}
.gnavi__mypage:hover {
  opacity: 0.8;
}
.gnavi__btn-login {
  color: #fff;
  text-align: center;
  font-weight: 600;
  padding: 1em 2em;
  border-radius: 30px;
  transition: all 0.2s ease;
  cursor: pointer;
}
.gnavi__btn-login:hover {
  opacity: 0.8;
}
@media screen and (max-width: 1500px) {
  .gnavi-hide {
    display: none;
  }
}
@media screen and (max-width: 1280px) {
  .gnavi {
    padding: 1em 3%;
  }
}
@media screen and (max-width: 1200px) {
  .gnavi__link {
    padding: 1em;
  }
  .gnavi__logo {
    width: 120px;
  }
}
@media screen and (max-width: 960px) {
  .gnavi__inner {
    font-size: 1.4rem;
  }
  .gnavi__btn-login {
    padding: 1em 1em;
  }
}
@media screen and (max-width: 840px) {
  .gnavi__info__user-name {
    display: none;
  }
}
.gnavi__dropdown {
  font-size: 1.4rem;
  width: 190px;
  padding: 20px;
  background-color: #fff;
  border-radius: 0 0 20px 20px;
  box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.05);
  position: absolute;
  right: 10%;
  top: -40px;
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  transition: 0.35s ease;
}
.gnavi__dropdown.open {
  opacity: 1;
  visibility: visible;
  top: 85px;
}
.gnavi__dropdown__item:hover {
  text-decoration: underline;
}
.gnavi__dropdown__item + .gnavi__dropdown__item {
  margin-top: 10px;
}
@media screen and (max-width: 1280px) {
  .gnavi__dropdown {
    right: 3%;
  }
}
@media screen and (max-width: 1200px) {
  .gnavi__dropdown.open {
    top: 78px;
  }
}
.disable-menu {
  user-select: none;
  pointer-events: none;
  opacity: 0.5;
}
.invisible {
  display: none;
}
.sticky-wrapper {
  overflow: hidden;
}
.gnavi--top {
  width: 100%;
  position: relative;
  z-index: 100;
}
.gnavi--top.fixed {
  position: fixed;
  top: 0;
}
.gnavi--top .gnavi__wrapper {
  width: 100%;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 10px 3%;
  position: relative;
  z-index: 100;
}
.gnavi--top .gnavi__box {
  max-width: 1200px;
  margin: 0 auto;
}
.gnavi--top .gnavi__login {
  display: inline-block;
  min-width: 180px;
  text-align: center;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  border-radius: 4px;
  padding: 1.5em;
}
.gnavi--top .gnavi__login:hover {
  opacity: 0.8;
}
.gnavi--top .gnavi__dropdown {
  right: calc((100% - 1200px) / 2);
}
.swiper-navi .swiper-wrapper {
  align-items: center;
  justify-content: space-between;
}
.swiper-navi .swiper-slide {
  flex-shrink: initial;
  width: auto;
}
@media screen and (max-width: 1200px) {
  .gnavi--top .gnavi__dropdown {
    right: 3%;
    top: 69px;
  }
}
@media screen and (max-width: 960px) {
  .gnavi--top .gnavi__list {
    font-size: 1.4rem;
  }
  .gnavi--top .gnavi__login {
    padding: 1.2em;
  }
  .gnavi--top .gnavi__login span {
    display: none;
  }
}
.sub-navi {
  width: 100%;
  background-color: #fff;
  font-weight: 500;
  position: fixed;
  top: 86px;
  left: 0;
  box-shadow: 0 0 25px 15px rgba(0, 0, 0, 0.04);
  z-index: 50;
}
.sub-navi__inner {
  font-size: 1.4rem;
  padding: 0.8em;
}
.sub-navi__list {
  display: flex;
  justify-content: center;
}
.sub-navi__item {
  position: relative;
  width: auto;
}
.sub-navi__item:first-child {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.sub-navi__item:hover .sub-navi__border,
.sub-navi__item.active .sub-navi__border {
  transform: scale(1, 1);
}
.sub-navi__link {
  display: inline-block;
  white-space: nowrap;
  padding: 0.8em 1.5em;
}
.sub-navi__border {
  display: inline-block;
  width: calc(100% - 3em);
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 1.5em;
  transition: 0.3s;
  transform: scale(0, 1);
  background-color: #000;
}
@media screen and (max-width: 1200px) {
  .sub-navi {
    top: 78px;
  }
}
@media screen and (max-width: 768px) {
  .sub-navi {
    top: 60px;
    overflow-y: scroll;
  }
  .sub-navi__inner {
    font-size: 1.3rem;
    padding: 10px;
  }
  .sub-navi__link {
    padding: 1em;
  }
}
@media screen and (max-width: 480px) {
  .sub-navi {
    font-size: 1.4rem;
  }
}
.sp-header {
  width: 100%;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  position: fixed;
  padding: 10px;
  top: 0;
  left: 0;
  z-index: 100;
  display: none;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .sp-header {
    display: flex;
  }
}
.hamburger {
  width: 25px;
  height: 25px;
  position: relative;
  cursor: pointer;
}
.hamburger.close .hamburger__elm:first-child {
  transform: rotate(-45deg);
  top: calc(50% - 2px);
}
.hamburger.close .hamburger__elm:nth-child(2) {
  transform: scale(0, 0);
}
.hamburger.close .hamburger__elm:last-child {
  transform: rotate(45deg);
  bottom: calc(50% - 1px);
}
.hamburger__elm {
  content: "";
  display: inline-block;
  width: 100%;
  height: 3px;
  background-color: #fff;
  position: absolute;
  left: 0;
  transition: 0.3s;
}
.hamburger__elm:first-child {
  top: 0;
}
.hamburger__elm:nth-child(2) {
  top: calc(50% - 1px);
}
.hamburger__elm:last-child {
  bottom: 0;
}
.sp-header__logo {
  width: 100px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.sp-header__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sp-header__name {
  display: inline-block;
  opacity: 0.5;
  width: 5em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sp-header__info__event-name {
  width: 6em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: right;
}
.sp-header__icon {
  width: 45px;
  aspect-ratio: 1/1;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  margin-left: 1em;
}
.sp-header__icon img {
  height: 100%;
  object-fit: cover;
}
.sp-header__info__icon {
  width: 40px;
  padding-top: 40px;
  border-radius: 8px;
  margin-left: 1em;
}
@media screen and (max-width: 500px) {
  .sp-header__info__event-name {
    display: none;
  }
}
.spnavi {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  visibility: hidden;
}
.js-open-navi.open {
  visibility: visible;
}
.js-open-navi.open .spnavi__inner {
  transform: translate(0);
}
.spnavi__bg {
  height: 100vh;
  width: 100%;
  cursor: pointer;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
}
.js-close-navi.show {
  opacity: 1;
  visibility: visible;
}
.spnavi__inner {
  width: 85%;
  max-width: 500px;
  height: 100%;
  font-size: 1.4rem;
  background-color: #fff;
  padding: 30px 30px 100px;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  left: 0;
  transition: all 0.2s ease;
  transform: translateX(-100%);
}
.spnavi__logo {
  max-width: 140px;
  margin: 0 auto;
}
@media screen and (max-width: 400px) {
  .spnavi__logo {
    max-width: 100px;
  }
}
.spnavi__text {
  text-align: center;
  font-weight: 500;
  margin: 40px auto;
}
@media screen and (max-width: 400px) {
  .spnavi__text {
    margin: 30px auto;
  }
}
.spnavi__info {
  display: flex;
  align-items: center;
}
.spnavi__info__icon {
  width: 45px;
  padding-top: 45px;
  border-radius: 8px;
  margin-right: 1em;
  flex-shrink: 0;
}
.spnavi__info__user-name {
  word-break: break-all;
  line-height: 1.2;
}
.spnavi-event {
  display: block;
  font-size: 1.4rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 10px 20px 10px 10px;
  margin: 20px 0;
  color: #999;
  position: relative;
  transition: all 0.2s ease;
  overflow: hidden;
}
.spnavi-event::after {
  content: "";
  display: inline-block;
  width: 6px;
  aspect-ratio: 1/1;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  position: absolute;
  transform: rotate(45deg);
  right: 10px;
  top: calc(50% - 5px);
}
.spnavi-event:hover {
  background: #fafafa;
  border-color: #000;
  color: #000;
}
.spnavi-event__inner {
  display: inline-block;
  width: 12em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.spnavi-member {
  font-size: 1.2rem;
  max-width: 300px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 30px;
  color: #fff;
  background: #707070;
  padding: 1.2em 1.8em;
  margin: 30px auto 0;
  position: relative;
}
.spnavi-member::after {
  content: "";
  display: inline-block;
  width: 6px;
  aspect-ratio: 1/1;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.header-select-label {
  display: block;
  margin: 20px 0;
  position: relative;
}
.header-select-label::after {
  content: "";
  display: inline-block;
  width: 6px;
  aspect-ratio: 1/1;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 15px;
  top: 17px;
}
.header-select {
  width: 100%;
}
.spnavi__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.spnavi__item a {
  display: block;
  padding: 1.5em 0;
}
.btn-logout-sp {
  text-align: center;
  padding: 1em;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  width: 100%;
  margin: 30px 0;
}
.spnavi__login {
  color: #fff;
  text-align: center;
  padding: 1em;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  width: 100%;
  margin: 30px 0;
}
.spnavi__sns {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
}
.spnavi__sns img {
  width: 30px;
  margin-right: 10px;
  margin-bottom: -2px;
}
.home-mv .sp-header {
  visibility: hidden;
  opacity: 0;
}
.spnavi-top {
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.spnavi-top.show {
  opacity: 1;
  visibility: visible;
}
.footer {
  background-color: #fff;
  padding: 50px 10%;
}
.footer-box {
  display: flex;
  flex-wrap: wrap;
}
.footer-box__inner {
  width: 47%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-right: 70px;
}
.footer-logo {
  display: block;
  max-width: 300px;
  transition: 0.3s;
}
.footer-logo:hover {
  opacity: 0.7;
}
.link-sns {
  display: flex;
  align-items: center;
}
.icon-insta {
  width: 30px;
  margin-right: 15px;
}
.fnavi {
  width: 47%;
  display: flex;
  flex-wrap: wrap;
  row-gap: 60px;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}
.fnavi-list {
  padding-left: 70px;
}
.fnavi-list li + li {
  margin-top: 30px;
}
.copyright {
  font-size: 1.2rem;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .footer-box__inner {
    width: 100%;
    align-items: center;
    margin-bottom: 30px;
    padding-right: 0;
  }
  .fnavi {
    width: 100%;
    flex-direction: column;
    font-size: 1.4rem;
    margin-top: 30px;
    border: none;
  }
  .fnavi-list {
    padding-left: 0;
  }
  .fnavi-list li + li {
    margin-top: 20px;
  }
}
.sp-footer {
  width: 100vw;
  font-size: 1.4rem;
  background-color: #fff;
  padding: 14px;
  position: fixed;
  left: 0;
  bottom: 0;
  box-shadow: 0 0 25px 15px rgba(0, 0, 0, 0.04);
  z-index: 900;
  display: none;
}
.sp-footer__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
}
.btn-switch {
  width: 230px;
  border: 2px solid;
  border-radius: 30px;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  position: relative;
}
.btn-switch__inner {
  width: 50%;
  display: inline-block;
  padding: 1em;
  text-align: center;
  cursor: pointer;
  z-index: 20;
}
.btn-slider {
  display: inline-block;
  width: 50%;
  height: 100%;
  border-radius: 25px;
  position: absolute;
  z-index: -1;
  transform: translateX(0);
}
.sp-footer__btn-save {
  display: inline-block;
  color: #fff;
  text-align: center;
  font-weight: 600;
  padding: 1em 2em;
  border-radius: 30px;
  transition: all 0.2s ease;
}
.sp-footer__btn-save:hover {
  opacity: 0.8;
}
.sp-footer__btn-cancel {
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  padding: 1em;
}
.sp-footer.multi-btns .sp-footer__inner {
  gap: 10px;
}
@media screen and (max-width: 1000px) {
  .sp-footer {
    display: block;
    padding: 10px;
  }
}
@media screen and (max-width: 480px) {
  .sp-footer.multi-btns {
    font-size: 1.2rem;
    padding: 1.4rem 1rem;
  }
  .sp-footer.multi-btns .btn-switch {
    width: 45%;
  }
}
@media screen and (max-width: 350px) {
  .sp-footer.multi-btns .sp-footer__inner {
    gap: 7px;
  }
  .sp-footer.multi-btns .sp-footer__btn-save,
  .sp-footer.multi-btns .sp-footer__btn-cancel,
  .sp-footer.multi-btns .btn-switch__inner {
    padding: 0.8em;
  }
  .sp-footer.multi-btns .btn-switch {
    width: 50%;
  }
}
.footer-login {
  background: #fafafa;
  text-align: center;
  padding: 50px 10%;
  border-top: 1px solid #707070;
}
.footer-login__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 40px;
  row-gap: 15px;
  margin-bottom: 50px;
}
.footer-login__nav a:hover {
  opacity: 0.85;
  text-decoration: underline;
}
.footer-login__copyright {
  font-family: "Roboto", sans-serif;
  opacity: 0.5;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .footer-login__nav {
    font-size: 1.4rem;
    padding: 0 3%;
    column-gap: 20px;
  }
}
.login-box {
  width: 500px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.login-box__head {
  font-size: 2rem;
  font-weight: 600;
  padding: 30px;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .login-box {
    max-width: 100%;
  }
  .login-box__head {
    font-size: 1.8rem;
    padding: 1em;
    font-weight: 500;
  }
}
.entry {
  padding: 40px 60px;
}
.entry__inner {
  margin-bottom: 55px;
  margin-right: auto;
  margin-left: auto;
}
.entry__inner .error-message {
  margin-top: 5px;
}
.entry__email {
  margin-bottom: 10px;
}
.entry-head {
  color: #000;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.4em;
}
.entry-head__inner {
  display: flex;
  align-items: center;
  gap: 10px;
}
.entry-head__inner .text-small {
  font-size: 1.4rem;
  font-weight: 500;
  color: #f50000;
  opacity: 1;
}
.entry__input {
  width: 100%;
  margin: 0.5em 0;
}
.entry__check {
  display: block;
  font-size: 1.4rem;
  line-height: 1.3;
  margin-top: 2em;
  user-select: none;
  text-indent: -18px;
  padding-left: 18px;
}
.entry__check input[type="checkbox"] {
  margin-right: 5px;
}
.entry__check a {
  text-decoration: underline;
}
.entry__check a:hover {
  opacity: 0.7;
}
.entry-input {
  width: 100%;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .entry {
    font-size: 1.4rem;
    padding: 30px 40px;
  }
  .entry__inner {
    margin-bottom: 40px;
  }
}
.join-head {
  margin-top: -80px;
}
.joined-member {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
}
.joined-member__icon {
  width: 40px;
  aspect-ratio: 1/1;
  border-radius: 4px;
  background: no-repeat center/cover;
  flex-shrink: 0;
}
.joined-member__more {
  width: 40px;
  line-height: 38px;
  font-weight: 500;
  text-align: center;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
}
.join-message {
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin: 40px 0;
}
.join-message__icon {
  width: 40px;
  aspect-ratio: 1/1;
  border-radius: 4px;
  background: no-repeat center/cover;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .join-head {
    margin-top: -40px;
  }
  .join-message {
    font-size: 1.4rem;
  }
}
.login-mv {
  height: 100vh;
  line-height: 2;
  letter-spacing: 0.15em;
  position: relative;
  overflow: hidden;
}
.login-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.login-bg::before {
  content: "";
  display: block;
  background: rgba(0, 0, 0, 0.05);
  position: absolute;
  inset: 0;
  z-index: 2;
}
.login-bg__group {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
}
.login-bg__img {
  width: 50%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .login-mv {
    height: auto;
    padding-bottom: 30px;
  }
  .login-bg__img {
    width: 100%;
    height: 50%;
  }
}
.login-mv__inner {
  color: #fff;
  width: 100%;
  padding: 20px 0;
  margin-bottom: 5%;
  display: flex;
  justify-content: right;
  align-items: center;
  flex-wrap: wrap;
}
.login-mv__logo {
  padding-right: 50px;
  text-align: right;
}
.login-mv__logo img {
  width: 120px;
}
a.login-mv__logo:hover {
  opacity: 0.8;
}
.login-mv__txt {
  width: 50%;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 2;
  padding-left: 50px;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .login-mv__txt {
    width: 100%;
    text-align: center;
    padding: 0;
    font-size: 16px;
    line-height: 1.8;
    margin-top: 0;
  }
  .login-mv__logo {
    width: 100%;
    text-align: center;
    padding: 0;
    margin-bottom: 30px;
  }
  .login-mv__logo img {
    width: 90px;
  }
}
@media screen and (max-width: 550px) {
  .page-login .login-box {
    width: 90%;
  }
}
.login-tabs {
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  display: flex;
  justify-content: space-between;
}
.login-tabs__inner {
  display: inline-block;
  width: 50%;
  background-color: rgba(255, 255, 255, 0.97);
  padding: 20px;
  color: rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.login-tabs__inner:first-child {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.login-tabs__inner.selected {
  background: #fff;
  color: #000;
  border-bottom: none;
}
@media screen and (max-width: 550px) {
  .login-tabs__inner {
    font-size: 1.2rem;
    padding: 15px;
  }
}
.js-tab-content {
  display: none;
}
.js-tab-content.show {
  display: block;
}
.login-btn {
  width: 200px;
  font-weight: 600;
  margin: 0 auto;
  text-align: center;
  display: block;
  color: #f86456;
  border: 1px solid rgba(248, 100, 86, 0.3);
  border-radius: 10px;
  padding: 1em 2em;
  transition: 0.1s ease;
}
.login-btn:hover {
  color: #fff;
  background-color: #f86456;
}
.forget {
  color: rgba(248, 100, 86, 0.5);
  font-size: 1.4rem;
  text-align: center;
  margin-top: 1em;
  text-decoration: underline;
}
.forget:hover {
  filter: brightness(0.8);
}
@media screen and (max-width: 768px) {
  .login-form {
    padding: 20px;
  }
  .login-form__inner {
    width: 100%;
  }
  .login-btn {
    max-width: 300px;
    width: 100%;
    padding: 0.8em;
  }
  input[type="text"].login-form__input {
    background-color: rgba(250, 250, 250, 0.97);
  }
}
#thanks-msg p,
#pw-reset p {
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 2em;
}
.login-box__ttl {
  font-size: 2rem;
  margin-bottom: 1.5em;
  font-weight: 700;
}
.login-box__btns {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-top: 30px;
}
#thanks-msg .login-box__note {
  font-size: 12px;
  font-weight: 400;
}
.login-box__back {
  justify-content: center;
  display: flex;
  align-items: center;
  column-rule: #7c7c7c;
  font-weight: 500;
  background-color: #e5e5e5;
  border-radius: 10px;
  padding: 0.5em;
  width: 160px;
  margin-right: 20px;
  transition: 0.2s ease;
}
.login-box__back:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .login-box__ttl {
    font-size: 1.6rem;
  }
  .login-box__btns {
    flex-direction: column-reverse;
    align-items: center;
  }
  .login-box__back {
    width: 100%;
    max-width: 300px;
    padding: 0.8em;
    margin-top: 10px;
    margin-right: 0;
  }
}
.login-mv--regist {
  height: 45vh;
  min-height: 450px;
  color: #fff;
  line-height: 2;
  letter-spacing: 0.15em;
  padding: 5%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.login-mv--regist .login-mv__logo {
  padding-right: 150px;
}
.login-mv--regist .login-mv__txt {
  padding-left: 150px;
}
.login-mv__inner--regist {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .login-mv--regist {
    height: 30vh;
    min-height: 300px;
    padding: 25px 5%;
    align-items: flex-start;
  }
  .login-mv--regist .login-mv__logo {
    padding: 0;
    margin: 0 0 7px 0;
  }
  .login-mv--regist .login-mv__logo img {
    width: 78px;
  }
  .login-mv--regist .login-mv__txt {
    padding: 0;
    font-size: 10px;
    line-height: 1.7;
  }
}
.login-container {
  background: #fafafa;
  padding: 50px 5%;
}
.box-title {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.5em;
}
.login-footer {
  text-align: center;
  opacity: 0.3;
  margin-top: 20px;
}
.login-footer a:hover {
  text-decoration: underline;
}
.login-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}
.login-nav__item + .login-nav__item {
  margin-left: 40px;
}
@media screen and (max-width: 768px) {
  .box-title {
    font-size: 1.8rem;
  }
  .login-nav {
    flex-direction: column;
  }
  .login-nav__item + .login-nav__item {
    margin-left: 0;
    margin-top: 8px;
  }
}
.wedding-box {
  max-width: 1000px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  padding: 50px;
  display: flex;
  align-items: center;
  margin: -120px auto 50px;
  position: relative;
  z-index: 1;
}
.wedding-photos {
  width: 250px;
  height: 125px;
  border-radius: 20px;
  overflow: hidden;
  margin-right: 40px;
  display: flex;
  position: relative;
}
.wedding-detail__title {
  font-size: 2.1rem;
  line-height: 1.3;
  margin-bottom: 15px;
}
.paticipants {
  margin-top: 20px;
  display: flex;
}
.paticipants__img {
  font-family: "Roboto", sans-serif;
  width: 50px;
  line-height: 50px;
  text-align: center;
  border-radius: 4px;
}
.paticipants__img + .paticipants__img {
  margin-left: 10px;
}
.paticipants__img:last-child {
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.agenda {
  font-family: "Roboto", sans-serif;
  margin-right: 0;
  margin-left: auto;
}
.agenda__inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.agenda__inner:first-child {
  margin-bottom: 20px;
}
.agenda__mmdd {
  font-size: 5.6rem;
  font-weight: 300;
  margin-right: 15px;
}
.agenda__date {
  opacity: 0.8;
  padding: 0.5em 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 25px;
}
.invite-message {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  margin-bottom: 50px;
}
.invite-message__img {
  width: 50px;
  height: 50px;
  border-radius: 4px;
  margin-right: 30px;
}
.mypage-head {
  height: 40vh;
  min-height: 340px;
  display: flex;
  align-items: center;
  padding-left: 5%;
  padding-right: 5%;
}
.mypage-head__inner {
  width: 700px;
  margin: 0 auto;
  padding: 2.5% 0;
  display: flex;
  align-items: center;
}
.mypage-head__img {
  width: 180px;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  border-radius: 10px;
  margin-right: 40px;
  overflow: hidden;
  position: relative;
}
.mypage-head__img img {
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}
.change-photo {
  display: inline-block;
  font-size: 1.4rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  padding: 7px 10px;
  position: absolute;
  bottom: 10px;
  right: 10px;
  transition: all 0.2s ease;
  z-index: 1;
}
.change-photo:hover {
  background: #fafafa;
  border-color: #000;
}
.my-name {
  font-size: 2.4rem;
  font-weight: 600;
  word-break: break-all;
}
.my-info {
  font-size: 1.2rem;
  line-height: 1.3;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .mypage-head {
    height: 240px;
    min-height: initial;
  }
  .change-photo {
    font-size: 1.2rem;
  }
}
.user-nav {
  padding: 0 5%;
  margin-bottom: -38px;
  position: relative;
}
.user-nav__list {
  max-width: 680px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 40px 0px rgba(0, 0, 0, 0.04);
  margin: 0 auto;
  padding: 0.8em;
  display: flex;
  justify-content: center;
}
.user-nav__item {
  position: relative;
}
.user-nav__item::after {
  content: "";
  display: inline-block;
  width: calc(100% - 3em);
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: -8px;
  left: 1.5em;
  transform: scale(0, 1);
  transition: all 0.2s ease;
}
.user-nav__item.active::after,
.user-nav__item:hover::after {
  transform: scale(1, 1);
}
@media screen and (max-width: 768px) {
  .user-nav__list {
    font-size: 1.4rem;
  }
}
.user-info {
  background-color: #fafafa;
  padding: 100px 5%;
}
.user-box {
  max-width: 700px;
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin: 0 auto;
  padding: 30px 50px 50px;
  overflow: hidden;
}
.user-box__item {
  padding: 30px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.user-box__inner {
  display: flex;
  align-items: flex-start;
  padding: 30px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.user-box__title {
  font-weight: 600;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 12em;
  flex-shrink: 0;
  line-height: 1.4;
}
.user-box__group {
  width: calc(100% - 12em);
}
.user-box__photo {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 40px;
  row-gap: 15px;
}
.user-box__photo img {
  width: 100px;
  aspect-ratio: 1/1;
  border-radius: 10px;
  object-fit: cover;
  object-position: center;
}
.user-box__txt {
  word-wrap: break-word;
  max-width: calc(100% - 10em);
  line-height: 1.4;
}
.user-box__input {
  width: 100%;
}
.user-box__input input {
  width: 100%;
}
.user-box__note {
  font-size: 1.2rem;
  opacity: 0.5;
  margin-top: 0.5em;
}
.user-box__change {
  font-size: 1.4rem;
  text-align: right;
  width: 80px;
  flex-shrink: 0;
  text-decoration: underline;
  margin-left: auto;
}
.user-box__change:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .user-info {
    padding: 60px 5%;
  }
  .my-name {
    font-size: 1.8rem;
  }
  .mypage-head__img {
    width: 120px;
    height: 120px;
    margin-right: 20px;
  }
  .user-box {
    padding: 0 30px 30px;
  }
  .user-box__inner {
    flex-direction: column;
  }
  .user-box__title {
    width: 100%;
    flex-direction: row;
    margin-bottom: 15px;
  }
  .user-box__group {
    width: 100%;
  }
  input.user-box__input {
    width: 100%;
  }
  .user-box__change {
    margin-top: 1em;
    padding-left: 0;
  }
  .user-box__txt {
    max-width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .user-box__photo {
    flex-direction: column;
    align-items: normal;
    max-width: 300px;
    margin: 0 auto;
  }
  .user-box__photo img {
    align-self: center;
  }
}
.user-box__btns {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-top: 30px;
}
.user-box__cancel {
  display: block;
  font-weight: 500;
  background-color: #fafafa;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 15px;
  width: 160px;
  margin-right: 20px;
  transition: 0.2s ease;
}
.user-box__cancel:hover {
  opacity: 0.8;
}
.user-box__save {
  display: block;
  width: 300px;
  color: #fff;
  font-weight: 500;
  background-color: #f86456;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 15px;
  box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.05);
  transition: 0.2s ease;
}
.user-box__save:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .user-box__btns {
    flex-direction: column-reverse;
    align-items: center;
  }
  .user-box__cancel {
    padding: 15px;
  }
  .user-box__save {
    margin-bottom: 20px;
    padding: 15px;
  }
}
.login-addevent {
  background-color: #fafafa;
}
.input-hide {
  display: none;
}
.input-text {
  width: 100%;
}
.input-text--middle {
  width: 70%;
}
.input-text--small {
  width: 40%;
}
.add-event {
  padding: 100px 5%;
}
.add-event-box {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}
.add-event-box:not(:first-child) {
  margin-top: 50px;
}
.add-event-box__inner {
  display: flex;
  flex-wrap: wrap;
}
.add-event-box__inner.border-top {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.add-event-box__head {
  width: 20%;
  padding: 40px;
  white-space: nowrap;
}
.add-event-box__head h3 {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 10px;
}
.add-event-box__head.border-r {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.add-event-box__set {
  width: 80%;
  padding: 40px;
}
.add-event-child {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.add-event-child + .add-event-child {
  margin-top: 50px;
}
.add-event-child__head {
  width: 20%;
  padding-right: 1em;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.add-event-child__head h4 {
  font-weight: 700;
}
.add-event-child__head .text-light {
  font-size: 1.4rem;
  font-weight: 500;
  color: #f50000;
  opacity: 1;
}
.add-event-child__head .text-bikou {
  font-size: 1.4rem;
  opacity: 0.5;
}
.add-event-child__inner {
  font-size: 1.4rem;
  width: 80%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 40px;
  row-gap: 15px;
}
.add-event-child__inner textarea {
  width: 100%;
}
.add-event-child__radio {
  width: 80%;
  display: flex;
  flex-wrap: wrap;
  column-gap: 40px;
  row-gap: 22px;
}
.add-event-child__radio label {
  cursor: pointer;
  user-select: none;
}
.add-event-child__radio input[type="radio"] {
  margin-right: 10px;
}
.add-event-child__radio p {
  width: 100%;
}
.add-event-box__allergy {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  line-height: 1.7;
  row-gap: 1em;
}
.add-event-box__allergy label {
  width: 48%;
  cursor: pointer;
  user-select: none;
  position: relative;
  padding-left: 21px;
}
.add-event-box__allergy input[type="radio"] {
  position: absolute;
  left: 0;
  top: 8px;
}
textarea.event-name {
  width: 100%;
  max-width: 500px;
}
.add-price {
  display: flex;
  align-items: center;
  gap: 20px;
}
.add-profile {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.add-profile__upload {
  width: calc(100% - 170px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.add-profile__name {
  width: 47%;
}
.add-profile__hobby {
  width: 100%;
}
.add-profile__img {
  width: 120px;
  aspect-ratio: 1/1;
  border-radius: 15px;
  background: no-repeat center/cover;
  overflow: hidden;
  position: relative;
}
.add-profile__img img {
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.upload-file {
  display: block;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  padding: 1.2em 2em;
  border-radius: 10px;
  border-width: 1px;
  border-style: solid;
  cursor: pointer;
  transition: 0.2s;
}
.upload-file:hover {
  opacity: 0.8;
}
.delete-file {
  font-size: 1.4rem;
  float: right;
  opacity: 0.6;
  margin-top: 1em;
}
.delete-file:hover {
  opacity: 1;
  text-decoration: underline;
}
.add-profile__radio {
  display: flex;
  flex-wrap: wrap;
  column-gap: 40px;
  row-gap: 15px;
}
.add-profile__radio label {
  user-select: none;
}
.add-profile__radio input[type="radio"] {
  margin-right: 10px;
}
.color-box {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 15px;
}
.radio-hide {
  appearance: none;
}
.radio-color {
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.1);
  position: relative;
}
.radio-color::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 5px;
  position: absolute;
  top: 9px;
  left: 9px;
  transition: 0.2s;
}
.radio-color.active::before {
  width: 50px;
  height: 50px;
  top: 0;
  left: 0;
}
.radio-color--orange::before {
  background-color: #f86456;
}
.radio-color--purple::before {
  background-color: #ae4de6;
}
.radio-color--blue::before {
  background-color: #4762e8;
}
.radio-color--yellow::before {
  background-color: #af8c39;
}
.radio-color--green::before {
  background-color: #188f50;
}
.radio-color--black::before {
  background-color: #3b3b3b;
}
.add-event-child.non-active .add-event-child__head,
.add-event-child.non-active .add-event-child__time {
  opacity: 0.5;
  pointer-events: none;
}
.input-date {
  width: 50%;
  margin-right: 40px;
}
.add-event-child__time {
  display: flex;
  align-items: center;
  gap: 10px;
}
.input-time {
  width: 4em;
}
.add-event-child__use {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.add-place {
  width: 80%;
}
.add-place__pref {
  width: 50%;
  min-width: 250px;
  position: relative;
}
.add-place__pref select {
  width: 100%;
}
.add-place__pref::after {
  content: "";
  display: inline-block;
  border-top: 8px solid #000;
  border-left: 7px solid rgba(0, 0, 0, 0);
  border-right: 7px solid rgba(0, 0, 0, 0);
  position: absolute;
  right: 15px;
  top: 22px;
}
.add-place__map {
  width: 100%;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin-bottom: 20px;
}
.add-place__map iframe {
  width: 100%;
  height: 100%;
  filter: grayscale(100%);
}
.add-place__link {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 600;
  border-radius: 30px;
  border-width: 2px;
  border-style: solid;
  padding: 1em 1.5em;
  transition: 0.2s;
}
.add-place__link:hover {
  opacity: 0.8;
}
.gm-style .place-card-large {
  display: none;
}
.add-place__txtarea {
  width: 100%;
}
[class^="btn-box"] {
  text-align: center;
  margin-top: 60px;
}
[class^="btn-box"] a {
  text-decoration: underline;
}
[class^="btn-box"] a:hover {
  opacity: 0.8;
}
.btn-box--wide {
  padding-bottom: 60px;
}
.error-box {
  border: 3px solid #f50000;
  color: #f50000;
  font-weight: 500;
  background: #ffecec;
  border-radius: 10px;
  padding: 30px;
}
.error-box__txt {
  padding-left: 30px;
  position: relative;
}
.error-box__txt::before {
  content: "";
  display: inline-block;
  width: 21px;
  aspect-ratio: 1/1;
  background: no-repeat center/contain;
  background-image: url(/images/main/icon/error.svg);
  position: absolute;
  top: 5px;
  left: 0;
}
.error-message {
  font-size: 1.4rem;
  font-weight: 500;
  color: #f50000;
}
.error-message__text {
  line-height: 1.4;
  margin-top: 5px;
}
@media screen and (max-width: 980px) {
  .add-event-box__head {
    width: 100%;
  }
  .add-event-box__head.border-r {
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
  .add-event-box__set {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .add-event-box:not(:first-child) {
    margin-top: 30px;
  }
  .add-event-box__head {
    padding: 20px;
  }
  .add-event-box__set {
    padding: 20px;
  }
  .radio-color {
    width: 40px;
    height: 40px;
  }
  .radio-color::before {
    width: 26px;
    height: 26px;
    top: 6px;
    left: 6px;
  }
  .radio-color.active::before {
    width: 40px;
    height: 40px;
  }
  [class^="btn-box"] {
    margin-top: 40px;
  }
  .btn-box--wide {
    padding-bottom: 40px;
  }
  .add-place {
    width: 100%;
  }
  .add-event-child + .add-event-child {
    margin-top: 30px;
  }
  .add-event-child__head {
    width: 100%;
    margin-bottom: 15px;
    gap: 5px;
  }
  .add-event-child__head h4 {
    margin-bottom: 0;
  }
  .add-event-child__inner {
    width: 100%;
  }
  .input-text--middle {
    width: 100%;
  }
  .input-text--small {
    width: 100%;
  }
  .input-date {
    width: 100%;
    max-width: 300px;
    margin-right: 0;
  }
  .select-pref {
    width: 100%;
  }
  .add-event-child__radio {
    width: 100%;
  }
  .add-event-box__allergy label {
    width: 100%;
  }
  .add-profile__img {
    margin: 0 auto;
  }
  .add-profile__upload {
    display: block;
    width: 100%;
    max-width: 300px;
    margin: 15px auto 0;
  }
  .add-profile__name {
    width: 100%;
    max-width: 300px;
    margin-bottom: 10px;
  }
  .add-profile__hobby {
    width: 100%;
  }
  .error-box {
    padding: 15px;
    font-size: 1.4rem;
    border-width: 2px;
  }
  .error-message {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 480px) {
  .add-event-child__time {
    order: 2;
    width: 100%;
  }
}
.top-2col {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.top-2col.reverse {
  flex-direction: row-reverse;
}
.top-2col__img {
  width: 47%;
  border-radius: 10px;
  aspect-ratio: 3/2;
  overflow: hidden;
}
.top-2col__text {
  width: 47%;
}
.top-2col__title {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .top-2col.reverse {
    flex-direction: column-reverse;
  }
  .top-2col__img,
  .top-2col__text {
    width: 100%;
  }
  .top-2col__text {
    margin-bottom: 30px;
  }
  .top-2col__title {
    font-size: 2.1rem;
    margin-top: 20px;
  }
}
.home-mv {
  height: 85vh;
  color: #fff;
  text-align: center;
  background-position: bottom;
  position: relative;
}
.home-mv__open {
  width: 100%;
  color: #fff;
  padding: 0.8em;
  font-weight: 700;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.home-mv__inner {
  height: 100%;
  display: flex;
  align-items: center;
}
.home-mv__box {
  width: 50%;
}
.home-mv__logo {
  width: 270px;
  margin-bottom: 50px;
}
.home-mv__text {
  font-size: 2.1rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
.home-mv__img {
  max-width: 500px;
  margin: 0 auto;
}
.licence {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 15px 0;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .home-mv__open {
    font-size: 1.4rem;
    top: auto;
    bottom: 0;
  }
  .home-mv__inner {
    flex-direction: column;
    padding-top: 20%;
  }
  .home-mv__box {
    width: 100%;
  }
  .home-mv__logo {
    width: 150px;
    margin-bottom: 20px;
  }
  .home-mv__text {
    font-size: 1.4rem;
  }
  .home-mv__br {
    display: none;
  }
  .home-mv__img {
    max-width: 300px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 400px) {
  .home-mv__logo {
    width: 90px;
  }
  .home-mv__img {
    max-width: 185px;
    margin-top: 15px;
  }
  .licence {
    padding: 10px 0;
  }
}
.link-btn {
  display: block;
  font-weight: 500;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 1.2em;
  margin-top: 30px;
  cursor: pointer;
  position: relative;
  transition: 0.2s;
}
.link-btn::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 1px solid #707070;
  border-top: 1px solid #707070;
  transform: rotate(45deg);
  position: absolute;
  right: 20px;
  top: calc(50% - 4px);
  transition: 0.2s;
}
.link-btn:hover {
  border-color: rgba(0, 0, 0, 0.5);
}
.link-btn:hover::after {
  border-color: rgba(0, 0, 0, 0.5);
  right: 16px;
}
@media screen and (max-width: 768px) {
  .link-btn {
    font-size: 1.4rem;
    padding: 1em;
  }
}
.scroll-wrapper {
  padding: 0 5%;
}
.feature-list {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
}
.feature-item {
  width: 30%;
  position: relative;
}
.feature-item:nth-child(2) {
  margin-top: 60px;
}
.feature-item:nth-child(3) {
  margin-top: 120px;
}
.icon-free {
  display: inline-block;
  font-size: 1.4rem;
  color: #fff;
  background-color: #f86456;
  border-radius: 20px;
  padding: 10px 20px;
  position: absolute;
  top: -15px;
  left: -15px;
}
.feature-card {
  background-color: #ffecec;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 30px;
}
.feature-card__img {
  aspect-ratio: 4/3;
}
.feature-card__inner {
  font-size: 1.4rem;
  padding: 30px;
}
.feature-head {
  color: #f50000;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-top: -150px;
}
.feature-head__txt {
  width: 20%;
  writing-mode: vertical-rl;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
}
.feature-head__img {
  width: 65%;
  margin-bottom: -30px;
}
.feature-num {
  color: #f50000;
  width: 20%;
  font-size: 7.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-style: italic;
  line-height: 1;
  gap: 5px;
}
.feature-num__small {
  display: inline-block;
  font-size: 2.6rem;
  opacity: 0.5;
}
.top-feature-box {
  border-radius: 10px;
  background: #ffecec;
  display: flex;
  overflow: hidden;
  margin-top: 80px;
}
.top-feature-box__thumb {
  width: 30%;
  background: no-repeat center/cover;
  position: relative;
  background: url(/images/main/pages/home/feature4-1.jpg) no-repeat center/cover;
}
.top-feature-box__overlay {
  display: inline-block;
  width: 160px;
  aspect-ratio: 239/419;
  background: url(/images/main/pages/home/feature4-2.png) no-repeat center/contain;
  position: absolute;
  right: -80px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.top-feature-box__txt {
  position: relative;
  width: 70%;
  padding: 30px 100px;
}
.top-feature-box__txt .feature-num {
  position: absolute;
  top: 30px;
  right: -10px;
}
.top-feature-box__txt p + .top-feature-box__head {
  margin-top: 2em;
}
.top-feature-box__head {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 0.8em;
}
.feature-card__title {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 40px auto 20px;
}
.btn-detail {
  font-size: 1.4rem;
  display: inline-block;
  background-color: #fff;
  border-radius: 15px;
  padding: 8px 25px 8px 15px;
  margin-top: 20px;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0);
  transition: 0.2s;
}
.btn-detail::after {
  content: "";
  display: inline-block;
  border-top: 5px solid #000;
  border-left: 4px solid rgba(0, 0, 0, 0);
  border-right: 4px solid rgba(0, 0, 0, 0);
  position: absolute;
  right: 10px;
  top: 14px;
}
.btn-detail:hover {
  border-color: #000;
}
@media screen and (max-width: 768px) {
  .scroll-wrapper {
    padding: 0;
  }
  .feature-wrapper {
    overflow: auto;
    overflow-x: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    cursor: pointer;
  }
  .feature-wrapper::-webkit-scrollbar {
    height: 12px;
  }
  .feature-wrapper::-webkit-scrollbar-thumb {
    background-color: #f86456;
    border-radius: 15px;
    background-clip: padding-box;
  }
  .feature-wrapper::-webkit-scrollbar-track {
    background: #ddd;
    margin: 0 5px;
  }
  .feature-list {
    width: 1030px;
    padding: 0 5% 15px;
  }
  .feature-item {
    width: 31%;
  }
  .feature-card__inner {
    padding: 20px;
  }
  .feature-card__title {
    font-size: 1.8rem;
    margin: 40px auto 10px;
  }
  .top-feature-box {
    max-width: 90%;
    font-size: 1.4rem;
    margin: 60px auto 0;
    flex-direction: column;
  }
  .top-feature-box__thumb {
    width: 100%;
    aspect-ratio: 16/9;
    background: url(/images/main/pages/home/feature4-1_sp.jpg) no-repeat
      center/cover;
  }
  .top-feature-box__overlay {
    width: 100px;
    right: auto;
    left: 20px;
    top: auto;
    bottom: -75px;
    transform: translateY(0);
  }
  .top-feature-box__txt {
    width: 100%;
    padding: 100px 30px 30px;
  }
  .top-feature-box__txt .feature-num {
    top: 10px;
    right: 20px;
    flex-direction: row;
    align-items: flex-end;
  }
  .top-feature-box__head {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 480px) {
  .feature-list {
    width: 770px;
  }
}
.func-list {
  display: grid;
  gap: 70px;
  margin-bottom: 100px;
}
.func-item {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 40px 10px rgba(0, 0, 0, 0.04);
}
.func-item__img {
  aspect-ratio: 3/1;
}
.func-detail {
  padding: 50px 80px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.func-detail__inner {
  width: 46%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.func-head {
  display: flex;
  align-items: center;
  font-style: italic;
  margin-bottom: 30px;
}
.func-head__num {
  font-size: 9rem;
  margin-right: 0.5em;
}
.func-detail__title {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.func-detail__img {
  height: 100px;
  border-radius: 10px;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .func-list {
    gap: 40px;
    margin-bottom: 60px;
  }
  .func-item:last-child .func-detail {
    row-gap: 50px;
  }
  .func-detail {
    padding: 25px;
  }
  .func-detail__inner {
    width: 100%;
  }
  .func-item__img {
    aspect-ratio: 3/2;
  }
  .func-head {
    margin-bottom: 10px;
  }
  .func-head__num {
    font-size: 4rem;
  }
  .func-detail__title {
    font-size: 2.1rem;
    margin-bottom: 15px;
  }
  .func-detail__img {
    margin-top: 20px;
  }
}
.usage__text {
  font-size: 2.1rem;
  font-weight: 500;
  margin-bottom: 1em;
}
.usage__item {
  font-size: 1.4rem;
  line-height: 1.5;
  padding: 1em 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.usage__item:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.func-detail__note {
  opacity: 0.5;
  font-size: 1.4rem;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .usage__text {
    margin-bottom: 0.5em;
  }
  .func-detail__note {
    margin: 15px 0;
  }
}
.scene {
  display: flex;
  flex-wrap: wrap;
}
.scene__left {
  width: 50%;
  background-color: #ffecec;
  padding-right: 100px;
  padding-left: calc((100vw - 1200px) / 2);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.scene__right {
  width: 50%;
  position: relative;
}
.scene__title {
  margin: 20px 0 50px;
}
p.scene__text {
  line-height: 2;
  letter-spacing: 0.05em;
}
.scene__image {
  width: 240px;
  margin: 0 auto;
}
.scene__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .scene__right,
  .scene__left {
    width: 100%;
  }
  .scene__left {
    padding: 50px;
  }
  p.scene__text {
    font-size: 1.4rem;
  }
  .scene__title {
    margin: 20px 0;
  }
}
#price {
  scroll-margin-top: 100px;
}
.top-plan {
  background: #fafafa;
}
.top-plan__intro {
  margin-top: 50px;
}
.top-plan__intro .bold {
  font-weight: 600;
}
.top-plan__intro .border {
  font-weight: 600;
  position: relative;
  border-bottom-width: 3px;
  border-bottom-style: solid;
}
.top-plan__intro p + p {
  margin-top: 1.2em;
}
.top-plan__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 80px;
}
.top-plan__list + p a {
  text-decoration: underline;
  display: inline-block;
  margin: 0 2px;
}
.top-plan__list + p a:hover {
  opacity: 0.8;
}
.top-plan-card {
  width: 31%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
.top-plan-card .fukidashi {
  width: 80%;
  max-width: 400px;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.05);
  position: relative;
  flex-shrink: 0;
}
.top-plan-card .fukidashi::after {
  content: "";
  display: inline-block;
  width: 20px;
  aspect-ratio: 1/1;
  background: #fff;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  transform: rotate(45deg);
  position: absolute;
  bottom: -10px;
  left: calc(50% - 10px);
  z-index: 1;
}
.top-plan-card .fukidashi .fukidashi__txt {
  line-height: 1.5;
  margin-top: 0.5em;
  font-weight: 400;
}
.top-plan-card__box {
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  padding: 40px 30px;
  margin-top: 10px;
  position: relative;
}
.top-plan-card__start {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100px;
  height: 100px;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-bottom: 8px;
  transform: rotate(-45deg);
  position: absolute;
  top: -50px;
  left: -50px;
}
.top-plan-card__head {
  text-align: center;
  font-size: 2rem;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.top-plan-card__name {
  font-weight: 700;
  margin-bottom: 30px;
}
.top-plan-card__price {
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 10px;
  font-size: 3.2rem;
}
.top-plan-card__price .currency {
  font-weight: 400;
  font-size: 1.4rem;
  padding-bottom: 5px;
}
.top-plan-card__btn {
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  border-radius: 4px;
  padding: 10px 20px;
  margin: 30px 0;
  transition: all 0.2s ease;
}
.top-plan-card__btn::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
}
.top-plan-card__btn:hover {
  filter: brightness(1.1);
}
.top-plan-card__term {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  height: 50px;
  margin: 30px 0;
}
.top-plan-card__feature {
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
}
.top-plan-card__point {
  font-size: 1.4rem;
  list-style: inside none;
  margin-top: 12px;
  line-height: 1.3;
}
.top-plan-card__point li::before {
  content: "・";
  margin-right: 5px;
}
.top-plan-card__point li + li {
  margin-top: 0.5em;
}
.top-plan-card__bikou {
  font-size: 1.4rem;
  line-height: 1.5;
  opacity: 0.6;
  margin-top: 20px;
}
@media screen and (max-width: 1080px) {
  .top-plan__intro {
    font-size: 1.4rem;
    margin-top: 40px;
  }
  .top-plan__list {
    margin-top: 40px;
    gap: 40px;
  }
  .top-plan-card {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
  .top-plan-card__toggle {
    display: none;
  }
  .top-plan-open {
    display: inline-block;
    width: 20px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border-width: 1px;
    border-style: solid;
    position: relative;
    transition: all 0.2s ease;
  }
  .top-plan-open__elm {
    display: inline-block;
    width: 10px;
    height: 2px;
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 5px);
    transition: all 0.2s ease;
  }
  .top-plan-open__elm:nth-child(2) {
    transform: rotate(0);
  }
  .top-plan-card__feature {
    pointer-events: initial;
  }
  .top-plan-card__feature.elm-wh .top-plan-open__elm {
    background: #fff !important;
  }
  .top-plan-card__feature.elm-wh .top-plan-open__elm:nth-child(2) {
    transform: rotate(90deg);
  }
  .top-plan-card__feature.icon-wh .top-plan-open {
    background: #fff !important;
  }
}
.price-plan__title {
  display: flex;
  align-items: flex-end;
  margin-bottom: 30px;
}
.price-plan__title .text-light {
  margin-left: 1em;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .price-plan__inner {
    overflow-x: scroll;
  }
  .table-price {
    width: 1000px;
  }
  .table-price th,
  .table-price td {
    padding: 15px;
  }
  .plan-title {
    font-size: 1.8rem;
  }
  .table-price .plan-price {
    font-size: 2.4rem;
  }
  .table-price .table-price__note {
    padding: 15px 0;
  }
  .plan-price__free {
    padding: 10px;
  }
}
.sec-demo {
  scroll-margin-top: 100px;
}
.sec-demo__box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 50px;
}
.sec-demo__img {
  width: 60%;
  background: no-repeat center/contain;
  aspect-ratio: 911/619;
  border-radius: 10px;
  overflow: hidden;
}
.sec-demo__text {
  width: 35%;
}
.sec-demo__title {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 768px) {
  .sec-demo {
    margin: 0;
  }
  .sec-demo__box {
    flex-direction: column-reverse;
    margin-top: 40px;
  }
  .sec-demo__img,
  .sec-demo__text {
    width: 100%;
  }
  .sec-demo__title {
    font-size: 1.8rem;
    margin: 1em 0;
  }
}
.footer-pink {
  background-color: #e7abb5;
}
.footer-pink__btn {
  color: #edcbc0;
  background-color: #fff;
}
.footer-pink__img {
  background-image: url(/images/main/pages/invitation/top/footer.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 60%;
  padding-top: 50%;
}
.page-title {
  font-family: "Playfair Display", serif;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 1em;
  text-align: center;
  text-transform: capitalize;
}
@media screen and (max-width: 768px) {
  .page-title {
    font-size: 3.2rem;
  }
}
.page-mv--invitation .page-mv__img--left {
  background-image: url(/images/main/pages/invitation/index/main-l.jpg);
}
.page-mv--invitation .page-mv__img--right {
  background-image: url(/images/main/pages/invitation/index/main-r.jpg);
}
@media screen and (max-width: 768px) {
  .page-mv--invitation .page-mv__img--left {
    background-image: url(/images/main/pages/invitation/index/main-l-sp.jpg);
  }
  .page-mv--invitation .page-mv__img--right {
    background-image: url(/images/main/pages/invitation/index/main-r-sp.jpg);
  }
}
.idx-box__btn {
  display: flex;
  margin-top: 30px;
}
.btn-modal {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 1em 2em;
  border-radius: 25px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin-right: 20px;
  position: relative;
}
.btn-modal::after {
  content: "＋";
  display: inline-block;
  margin-left: 1em;
}
@media screen and (max-width: 768px) {
  .btn-modal {
    padding: 12px;
  }
}
.credit-img {
  max-width: 200px;
  margin: 20px 0;
}
.commission {
  padding: 40px;
  border-radius: 10px;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  line-height: 1.5;
}
.commission__text {
  font-size: 2.4rem;
  font-weight: 600;
}
.commission__rate {
  font-size: 5rem;
  font-weight: 600;
  font-style: italic;
}
@media screen and (max-width: 768px) {
  .commission {
    padding: 25px;
  }
  .commission__text {
    font-size: 2.1rem;
  }
  .commission__rate {
    font-size: 3rem;
  }
}
.template {
  width: auto;
  min-width: 83px;
  cursor: pointer;
}
.template__thumb {
  height: 140px;
  border-radius: 10px;
  overflow: hidden;
  border-width: 0;
  border-style: solid;
  position: relative;
  outline: 2px solid rgba(0, 0, 0, 0.1);
  outline-offset: -2px;
}
.template__overlay {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.template__name {
  font-size: 1.4rem;
  line-height: 1.3;
  margin-top: 0.5em;
  text-align: center;
}
.template.active .template__thumb {
  border-width: 2px;
  outline: none;
}
.template.active .template__overlay {
  opacity: 1;
}
.edit-invitation-box textarea,
.edit-invitation-box input[type="date"] {
  width: 100%;
}
.edit-invitation-box:last-of-type {
  margin-bottom: 74px;
}
.edit-invitation-box__inner {
  padding: 0 25px;
}
.edit-invitation-box__row {
  padding: 25px 0;
}
.edit-invitation-box__row.separation {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.js-myswiper {
  visibility: hidden;
}
.js-myswiper.swiper-container-initialized {
  visibility: visible;
}
.edit-invitation-box__head {
  display: block;
  font-weight: 700;
  margin-bottom: 15px;
}
@media screen and (max-width: 1000px) {
  .edit-invitation-box:last-of-type {
    margin-bottom: 0;
  }
}
.free-question-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.free-question-item {
  display: flex;
  align-items: center;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  padding: 18px;
}
.free-question-item textarea {
  background: #fff;
}
.free-question-item__handle {
  width: 15px;
  height: 12px;
  position: relative;
  cursor: grab;
  flex-shrink: 0;
}
.free-question-item__handle::before,
.free-question-item__handle::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 3px;
  background: #000;
  position: absolute;
  left: 0;
}
.free-question-item__handle::before {
  top: 0;
}
.free-question-item__handle::after {
  bottom: 0;
}
.free-question-item__handle:hover {
  opacity: 0.8;
}
.free-question-item__handle:active {
  cursor: grabbing;
}
.free-question-item__content {
  width: calc(100% - 15px);
  padding-left: 20px;
}
.free-question-item__setting {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
}
.free-question-item__setting button:hover {
  text-decoration: underline;
  opacity: 0.8;
}
.free-question-add {
  text-align: center;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  padding: 18px;
  position: relative;
  transition: all 0.2s ease;
  margin-top: 15px;
  cursor: pointer;
}
.free-question-add::before,
.free-question-add::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 2px;
  background: #000;
  position: absolute;
  top: calc(50% - 1px);
  left: 18px;
}
.free-question-add::after {
  transform: rotate(90deg);
}
.free-question-add:hover {
  opacity: 0.8;
}
.edit-invitation-box__radio {
  font-size: 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.edit-invitation-box__radio label {
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
}
.edit-invitation-box__radio label input[type="radio"] {
  margin-top: 6px;
}
.edit-invitation-box__open-modal {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}
.edit-invitation-box__open-modal a {
  display: block;
  color: #fff;
  font-weight: 600;
  text-align: center;
  border-radius: 10px;
  padding: 1em;
  transition: all 0.2s ease;
}
.edit-invitation-box__open-modal a:hover {
  filter: brightness(1.1);
}
.edit-invitation-reply {
  max-width: 500px;
  margin: 50px auto 20px;
  font-size: 2rem;
  padding-top: 50px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.edit-invitation-reply__ttl {
  font-weight: 600;
}
.edit-invitation-box__upload {
  aspect-ratio: 3/1;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  overflow: hidden;
  position: relative;
}
.edit-invitation-box__upload img,
.edit-invitation-box__upload video {
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  object-position: center;
}
.edit-invitation-box__upload input[type="file"] {
  display: none;
}
.choose-img {
  font-size: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 15px;
}
.choose-img__upload {
  display: block;
  text-align: center;
  padding: 1em;
  border-radius: 10px;
  border-width: 1px;
  border-style: solid;
  cursor: pointer;
  transition: all 0.2s ease;
}
.choose-img__upload:hover {
  opacity: 0.8;
}
.choose-img__delete {
  opacity: 0.6;
}
.choose-img__delete:hover {
  text-decoration: underline;
}
.edit-invitation-box__check {
  font-size: 1.4rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin-top: 15px;
}
.set-tmp-img {
  display: block;
  width: 100%;
  aspect-ratio: 2/1;
  border-radius: 10px;
  border-width: 1px;
  border-style: solid;
  margin-bottom: 30px;
}
.set-tmp-img:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .edit-invitation-reply {
    max-width: 500px;
  }
  .set-tmp-img {
    margin-bottom: 20px;
  }
  .choose-img {
    flex-wrap: wrap;
  }
  .choose-img__upload {
    padding: 0.8em;
  }
  .choose-img__delete {
    width: 100%;
    margin-top: 10px;
  }
}
.edit-invitation-box__btn {
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 1em 1.5em;
  border-radius: 30px;
  margin-top: 15px;
  transition: all 0.2s ease;
}
.edit-invitation-box__btn:hover {
  filter: brightness(1.1);
}
.reply-set__textarea {
  width: 100%;
}
.reply-btns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
}
.reply-btn--cancel {
  display: block;
  min-width: 130px;
  text-align: center;
  padding: 1em;
  font-weight: 500;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background-color: #fff;
  border-radius: 10px;
  transition: all 0.4s ease;
}
.reply-btn--cancel:hover {
  opacity: 0.7;
}
.reply-btn--save {
  display: block;
  min-width: 200px;
  text-align: center;
  padding: 1em;
  font-weight: 500;
  color: #fff;
  border-radius: 10px;
  transition: all 0.4s ease;
}
.reply-btn--save:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .reply-btn--save {
    min-width: 160px;
  }
}
.btn-preview {
  display: inline-block;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 1.4rem;
  font-weight: 600;
  padding: 1em 2em;
  border-radius: 1.5em;
  position: fixed;
  right: 20px;
  top: 170px;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 1;
}
.btn-preview:hover {
  filter: brightness(1.1);
}
@media screen and (max-width: 1280px) {
  .btn-preview {
    top: 160px;
  }
}
@media screen and (max-width: 1000px) {
  .btn-preview {
    top: 160px;
    visibility: hidden;
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  .btn-preview {
    top: 120px;
    font-size: 1.2rem;
  }
}
.invitation {
  padding: 100px 10%;
}
@media screen and (max-width: 768px) {
  .invitation {
    padding: 50px 5%;
  }
}
.attendance {
  padding: 100px 10%;
  background-color: #fafafa;
}
.attendance .bride-groom {
  width: 300px;
  margin: 0 auto -75px;
}
@media screen and (max-width: 768px) {
  .attendance .bride-groom {
    width: 250px;
    margin: 0 auto -75px;
  }
}
.attendance-form {
  max-width: 650px;
  margin: 0 auto;
}
.attendance-form__title {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  margin: 1em auto;
  padding: 0 30px;
}
@media screen and (max-width: 768px) {
  .attendance-form__title {
    font-size: 1.8rem;
    margin: 3em auto 1em;
  }
}
.attendance-form__inner {
  max-width: 400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.attendance-form__time {
  font-family: "Roboto", sans-serif;
}
.attendance-form__yyyy,
.attendance-form__mmdd {
  margin-right: 0.5em;
}
@media screen and (max-width: 768px) {
  .attendance {
    padding: 50px 5%;
  }
  .attendance-form__inner {
    flex-direction: column;
  }
}
.form__layout {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 30px 0;
  position: relative;
}
.form__layout.separation {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.form__layout input[type="text"],
.form__layout input[type="email"],
.form__layout textarea {
  width: 100%;
}
.form__layout select {
  width: 100%;
  cursor: pointer;
}
.form__inner {
  width: calc(100% - 10em);
}
.form__title {
  font-weight: 600;
  width: 10em;
  padding-right: 1em;
  flex-shrink: 0;
  cursor: default;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 10px;
}
.required {
  display: inline-block;
  font-size: 1.2rem;
  opacity: 0.6;
  font-weight: 400;
}
.attendance-form__radio {
  display: none;
}
.attendance-form__radio-box {
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
}
.attendance-form__radio-inner {
  display: flex;
  justify-content: space-between;
}
.attendance-form__radio-label {
  width: 30%;
  height: 100%;
  min-height: 180px;
  border-radius: 10px;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-width: 1px;
  border-style: solid;
}
.attendance-form__radio-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 20px;
  text-align: center;
}
.attendance-form__radio-label.non-active {
  color: #878787 !important;
  background-color: #fafafa !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}
.attendance-form__radio-label.non-active .js-change-stroke {
  stroke: #878787 !important;
}
.attendance-form__radio-label.non-active .js-change-fill {
  fill: #878787 !important;
}
.form-address__title {
  display: block;
  font-weight: 600;
  margin-bottom: 10px;
}
.form-address__pref {
  margin: 40px 0;
  position: relative;
}
.form-address__pref::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 1px solid rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  transform: rotate(45deg);
  position: absolute;
  top: 20px;
  right: 16px;
}
.form__radio {
  display: flex;
  align-items: center;
  gap: 30px;
}
.form__radio input[type="radio"] {
  margin-right: 5px;
}
.form__radio--column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  line-height: 1.5;
}
.form__radio--column label {
  display: flex;
  align-items: flex-start;
  gap: 5px;
}
.form__radio--column input[type="radio"] {
  margin-top: 7px;
}
.myphoto__label {
  border-radius: 10px;
  padding: 30px;
  font-weight: 600;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: all 0.2s ease;
  border-width: 1px;
  border-style: solid;
  position: relative;
  overflow: hidden;
}
.myphoto__label:hover {
  opacity: 0.8;
}
.myphoto__label img {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
}
.myphoto__input {
  display: none;
}
.icon-upload {
  width: 100px;
  height: 100px;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px auto;
  border-width: 1px;
  border-style: solid;
}
.form__btn {
  display: block;
  width: 60%;
  font-weight: 600;
  text-align: center;
  line-height: 1.5;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 0.8em;
  margin: 30px auto 0;
  transition: all 0.2s ease;
}
.form__btn.disabled {
  pointer-events: none;
  user-select: none;
  opacity: 0.5;
}
.form__btn:hover {
  opacity: 0.8;
}
.form__note {
  width: 100%;
  font-size: 14px;
  font-weight: 400;
  opacity: 0.6;
  margin-top: 50px;
}
.form__note p {
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .form__layout {
    flex-direction: column;
    padding: 20px 0;
    gap: 10px;
  }
  .form__inner {
    width: 100%;
  }
  .form__title {
    padding: 0;
    width: 100%;
    flex-direction: row;
    align-items: center;
  }
  .attendance-form__radio-label {
    width: 32%;
    height: 150px;
  }
  .form-address__pref {
    margin: 25px 0;
  }
  .form-address__pref::after {
    top: 17px;
  }
  .myphoto__label {
    margin-top: 1em;
    padding: 20px;
  }
  .form__radio--column {
    margin-top: 10px;
  }
  .form__btn {
    width: 90%;
    margin-top: 20px;
  }
}
.btn-attend__overlay {
  width: calc(100vw - 516px);
  min-width: calc(100vw - 516px);
  height: 150px;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0),
    rgba(102, 102, 102, 0.1)
  );
  position: fixed;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  display: none;
}
.btn-attend {
  width: 250px;
  text-align: center;
  background-color: #fff;
  border-radius: 2em;
  padding: 1.5em 3em;
  font-weight: 600;
}
.server-error {
  display: none;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  width: 280px;
  padding: 2em;
  font-size: 1.4rem;
  background-color: #fff;
  border-radius: 10px;
  bottom: 20px;
  right: 20px;
  transition: 0.4s;
}
.server-error .close-dialog {
  flex-shrink: 0;
  display: inline-block;
  width: 13px;
  height: 13px;
  position: relative;
  cursor: pointer;
}
.server-error .close-dialog::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 100%;
  background-color: #000;
  transform: rotate(-45deg);
  position: absolute;
  left: 6px;
}
.server-error .close-dialog::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 100%;
  background-color: #000;
  transform: rotate(45deg);
  position: absolute;
  right: 6px;
}
@media screen and (max-width: 1000px) {
  .btn-attend__overlay {
    display: none;
  }
}
.modal-detail {
  width: 100%;
  height: 100vh;
  padding: 100px 40px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  overflow-y: scroll;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
}
.modal-detail.open {
  opacity: 1;
  visibility: visible;
}
.modal-detail__inner {
  max-width: 800px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 10px;
  position: sticky;
}
@media screen and (max-width: 768px) {
  .modal-detail__inner {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 500px) {
  .modal-detail {
    padding: 180px 0 0;
  }
}
.modal-detail__btn {
  display: inline-block;
  width: 60px;
  height: 60px;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  top: -30px;
  right: -30px;
  cursor: pointer;
}
.modal-detail__btn::before,
.modal-detail__btn::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 25px;
  background-color: #fff;
  position: absolute;
  top: calc(50% - 13px);
  left: calc(50% - 1px);
  transition: all 0.2s ease;
}
.modal-detail__btn::before {
  transform: rotate(45deg);
}
.modal-detail__btn::after {
  transform: rotate(-45deg);
}
.modal-detail__btn:hover::before {
  transform: rotate(-45deg);
}
.modal-detail__btn:hover::after {
  transform: rotate(-135deg);
}
@media screen and (max-width: 768px) {
  .modal-detail__btn {
    width: 40px;
    height: 40px;
    top: -20px;
    right: -20px;
  }
  .modal-detail__btn::before,
  .modal-detail__btn::after {
    height: 15px;
    top: calc(50% - 7px);
  }
}
@media screen and (max-width: 500px) {
  .modal-detail__btn {
    position: fixed;
    top: 15px;
    right: 15px;
    opacity: 0.6;
  }
}
.modal-detail__bg {
  width: 100%;
  height: 100vh;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.15) 100%
  );
  position: fixed;
  top: 0;
  left: 0;
  cursor: pointer;
  transition: all 0.2s ease;
}
.modal-color {
  color: #8b5a5a;
}
.modal-head {
  display: flex;
  flex-wrap: wrap;
  height: 300px;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.modal-head__img {
  width: 50%;
}
.modal-head__text {
  width: 50%;
  color: #fff;
  background-color: #8b5a5a;
  padding: 20px;
  display: grid;
  place-content: center;
}
#modal-detailB .modal-head__text {
  background-color: #1f2933;
}
.modal-head__title {
  font-size: 2.1rem;
  margin-bottom: 1em;
}
.modal-head__sub {
  font-size: 1.4rem;
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  .modal-head {
    height: auto;
  }
  .modal-head__img {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .modal-head__text {
    width: 100%;
    text-align: center;
  }
}
.modal-sec {
  padding: 50px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.modal-sec__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.modal-sec__img {
  width: 35%;
}
.modal-sec__text {
  width: 60%;
}
.modal-sec__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 50px;
}
.modal-sec__title {
  font-size: 2.6rem;
  font-weight: 600;
}
.scene-status {
  display: inline-block;
  color: #fff;
  background-color: #8b5a5a;
  padding: 15px;
  border-radius: 10px;
  flex-shrink: 0;
  margin-left: 20px;
}
.modal-sec__box p {
  margin-top: 1em;
}
.modal-sec__box + .modal-sec__box {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .modal-sec {
    padding: 20px;
  }
  .modal-sec__img,
  .modal-sec__text {
    width: 100%;
  }
  .modal-sec__img {
    max-width: 200px;
    margin: 0 auto;
  }
  .modal-sec__flex {
    margin-bottom: 25px;
  }
  .modal-sec__title {
    font-size: 2.1rem;
  }
  .scene-status {
    font-size: 1.4rem;
    padding: 12px;
  }
  .modal-sec__box + .modal-sec__box {
    margin-top: 25px;
  }
}
.tips {
  background-color: #fafafa;
  border-radius: 4px;
  padding: 30px;
  display: flex;
  align-items: center;
  margin-top: 50px;
}
.tips__title {
  display: inline-block;
  font-size: 5rem;
  margin-right: 50px;
}
@media screen and (max-width: 768px) {
  .tips {
    font-size: 1.4rem;
    margin-top: 25px;
  }
  .tips__title {
    font-size: 4rem;
  }
}
.win-2col {
  display: flex;
}
.win-2col__left {
  width: 25%;
  min-width: 400px;
  min-height: calc(100vh - 141px);
  padding: 40px;
  background-color: #fafafa;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
.win-2col__right {
  width: 75%;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .win-2col {
    display: block;
  }
  .win-2col__left {
    width: 100%;
    min-height: calc(100vh - 104px);
    min-width: auto;
    padding: 60px 5%;
  }
  .win-2col__right {
    width: 90%;
    max-width: 500px;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    overflow-y: scroll;
    transition: all 0.2s ease;
    z-index: 1200;
  }
  .win-2col__right.slide-in {
    transform: translateX(0);
    box-shadow: 0 0 40px 5px rgba(0, 0, 0, 0.3);
  }
}
.side-navi {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}
.side-navi__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  padding: 1.5em;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
}
.side-navi__item + .side-navi__item {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.side-navi__item::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  transition: all 0.2s ease;
}
.side-navi__item::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.3);
  border-right: 1px solid rgba(0, 0, 0, 0.3);
  transform: rotate(45deg);
  right: 1em;
}
.side-navi__item.active::before,
.side-navi__item:hover::before {
  opacity: 1;
}
.submit-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 40px;
}
.submit-head__save {
  display: inline-block;
  border-radius: 4px;
  color: #fff;
  font-weight: 500;
  padding: 0.8em 1.2em;
  transition: all 0.2s ease;
}
.submit-head__save:hover {
  opacity: 0.8;
}
.help {
  color: #707070;
  margin-top: 1em;
  line-height: 1;
  font-size: 1.4rem;
  position: relative;
}
.help__inner {
  cursor: pointer;
}
.help__inner::before {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 1/1;
  background: url(/images/main/icon/help.svg) no-repeat center/contain;
  margin-right: 10px;
  vertical-align: middle;
  transform: translateY(-1px);
}
.help__inner:hover {
  opacity: 0.8;
}
.submit-content textarea {
  width: 100%;
  padding: 1em;
}
.submit-content--qr {
  display: none;
}
.submit-type textarea {
  display: block;
  width: 100%;
  margin-bottom: 40px;
}
.copy-txt {
  text-align: right;
  margin: 25px 0;
}
.submit-under {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.submit-under__txt {
  font-size: 1.4rem;
}
.submit-under__btns {
  display: flex;
  gap: 10px;
}
.btn-submit {
  line-height: 1;
  background-color: #fafafa;
  padding: 15px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  transition: all 0.2s ease;
  vertical-align: middle;
  cursor: pointer;
}
.btn-submit.sms {
  pointer-events: none;
  opacity: 0.6;
}
.btn-submit:hover {
  border-color: #000;
  opacity: 0.8;
}
@media screen and (max-width: 900px) {
  .submit-head {
    margin-bottom: 20px;
    flex-direction: column;
    align-items: flex-start;
  }
  .submit-under__btns {
    flex-wrap: wrap;
  }
  .btn-submit {
    text-align: center;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .submit-content {
    font-size: 1.4rem;
  }
  .submit-content--qr {
    font-size: 1.4rem;
  }
  .btn-submit {
    font-size: 14px;
  }
  .submit-head__save {
    width: 47%;
    text-align: center;
    font-size: 1.4rem;
  }
  .btn-submit.sms {
    pointer-events: initial;
    opacity: 1;
  }
}
.submit-head__inner {
  margin-top: 20px;
}
.btn-back--submit {
  display: none;
  width: 100%;
  font-size: 14px;
  text-align: center;
  padding: 1em 2em;
  border-width: 1px;
  border-style: solid;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .submit-head__inner {
    width: 100%;
    display: flex;
    gap: 20px;
  }
  .btn-back--submit {
    display: block;
    width: 47%;
  }
}
.submit-qr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 40px 0;
}
.submit-qr .link-btn {
  margin-top: 0;
  min-width: 280px;
}
.submit-qr__btn {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.submit-qr__img {
  width: 140px;
  flex-shrink: 0;
}
.print-qr {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 30px;
  padding: 70px 30px;
}
.print-qr__logo {
  width: 180px;
  margin-bottom: 10px;
}
.print-qr__img {
  width: 100px;
}
@media screen and (max-width: 768px) {
  .submit-qr {
    flex-direction: column-reverse;
    justify-content: center;
    margin-bottom: 20px;
  }
  .submit-qr .link-btn {
    padding: 1em 2em;
    width: 100%;
  }
  .submit-qr__btn {
    margin-top: 10px;
    gap: 15px;
  }
}
@media screen and (max-width: 600px) {
  .submit-qr .btn-submit {
    display: none;
  }
}
.copy-url {
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  padding: 1em;
  border-radius: 4px;
  word-break: break-all;
}
.btn-copy {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .copy-url {
    display: block;
  }
  .btn-copy {
    display: block;
    width: 100%;
    text-align: right;
    margin-top: 25px;
  }
}
.status-bar__title {
  font-size: 2.1rem;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.status-bar__percentage {
  font-family: "Roboto", sans-serif;
  font-size: 2.8rem;
}
.status-bar__unit {
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  font-size: 1.6rem;
  margin-left: 0.5em;
}
.status-bar__gage {
  width: 100%;
  height: 10px;
  border-radius: 5px;
  overflow: hidden;
  margin-top: 30px;
}
.status-bar__now {
  display: block;
  width: 86%;
  height: 100%;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .status-bar__title {
    font-size: 1.8rem;
  }
  .status-bar__percentage {
    font-size: 2.1rem;
  }
  .status-bar__gage {
    margin-top: 15px;
  }
}
.process__item {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding: 1.5em;
  position: relative;
  display: flex;
  align-items: center;
}
.process__item:first-child {
  border-top: none;
}
.process__item.done .process__bar {
  display: inline-block;
}
.process__bar {
  display: none;
  width: 6px;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 45px;
}
.process__dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  position: absolute;
  top: calc(50% - 4px);
  left: 44px;
}
.process__number {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: 600;
  margin-right: 3em;
}
.submit-type {
  font-weight: 500;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.submit-type__inner {
  padding: 1.5em;
}
.submit-type__list {
  display: flex;
  font-size: 14px;
  overflow-x: auto;
  cursor: pointer;
  padding: 1.5em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.submit-type__list::-webkit-scrollbar {
  display: none;
}
.submit-type__item {
  margin-right: 2em;
  padding-bottom: 8px;
  white-space: nowrap;
  position: relative;
  user-select: none;
  letter-spacing: 0.1em;
}
.submit-type__item:last-child {
  margin-right: 0;
}
.submit-type__item.selected::after {
  content: "";
  display: inline-block;
  width: 80%;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: -4px;
  left: 10%;
  transition: 0.4s;
}
@media screen and (max-width: 768px) {
  .submit-type__list {
    padding-bottom: 1em;
  }
}
.process__item--end {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding: 1.5em;
  font-weight: 400;
  padding-left: 2.5em;
  text-indent: -1.5em;
}
.submit-btn--qr {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  text-align: center;
  background-color: #fafafa;
  padding: 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  transition: all 0.2s ease;
}
.submit-type__url {
  background-color: #fafafa;
  font-weight: 400;
  padding: 8px;
  width: 100%;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 1em;
}
.submit-type__btn--copy {
  display: block;
  font-size: 1.4rem;
  margin-right: 0;
  margin-left: auto;
  text-align: center;
  background-color: #fafafa;
  padding: 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  transition: all 0.2s ease;
}
.submit-type__cont {
  display: none;
}
.submit-type__cont.show {
  display: block;
}
.export {
  max-width: 600px;
  background-color: #fff;
  font-weight: 500;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin: 25px auto 0;
}
.export-item {
  padding: 25px;
}
.export-item + .export-item {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.export-item__inner {
  display: flex;
  align-items: center;
}
.export-item__inner:hover {
  opacity: 0.7;
}
.export-item__inner p {
  line-height: 1.3;
}
.export-item__icon {
  display: inline-block;
  width: 60px;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin-right: 30px;
  flex-shrink: 0;
}
.export-item__note {
  font-size: 1.2rem;
  opacity: 0.5;
  line-height: 1.5;
  text-align: left;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .export-item {
    pointer-events: none;
  }
  .export-item__inner p {
    opacity: 0.5;
  }
  .export-item__icon {
    opacity: 0.5;
  }
}
.member {
  padding: 40px 10%;
}
.member__filter {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.04);
  z-index: 10;
}
.member__filter__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1em;
}
.member__filter__item {
  padding: 0 1em;
  cursor: pointer;
  position: relative;
}
.member__filter__item.active::after {
  content: "";
  display: inline-block;
  width: 50%;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: -10px;
  left: 26%;
}
.member__filter__text {
  padding: 0 1em;
  flex-shrink: 0;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .member {
    padding: 50px 5%;
  }
  .member__filter {
    overflow-x: scroll;
  }
}
.member__btn-add {
  display: flex;
  width: 100%;
  max-width: 700px;
  margin: 40px auto 0;
  padding: 20px 15px;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  transition: all 0.2s ease;
}
.member__btn-add:hover {
  border-color: #000;
}
.icon-plus {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 1em;
  margin-right: 2em;
  position: relative;
}
.icon-plus::before,
.icon-plus::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 100%;
  background-color: #000;
  position: absolute;
}
.icon-plus::after {
  transform: rotate(90deg);
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .member__btn-add {
    width: 100%;
  }
  .icon-plus {
    width: 12px;
    height: 12px;
    margin-right: 1em;
  }
}
.name-list {
  max-width: 700px;
  margin: 50px auto 0;
}
.name-list__title {
  font-size: 2.8rem;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  white-space: nowrap;
  font-weight: 500;
}
.name-list__title::after {
  content: "";
  display: inline-block;
  height: 1px;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  margin-left: 1.5em;
}
.name-list__list {
  display: flex;
  flex-direction: column;
}
.name-list__inner {
  width: 50%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
}
.name-list__item {
  display: flex;
  justify-content: space-between;
  row-gap: 5px;
  column-gap: 15px;
  align-items: center;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0);
  padding: 1em;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.name-list__item:hover {
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.name-list__info {
  display: flex;
  align-items: center;
  gap: 15px;
}
.name-list__name {
  width: 11em;
  word-break: break-all;
  line-height: 1.3;
}
.name-list__name.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.name-list__icon {
  width: 40px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  border-width: 1px;
  border-style: solid;
  flex-shrink: 0;
}
.name-list__icon--square {
  width: 40px;
  aspect-ratio: 1/1;
  background: no-repeat center/cover;
  border-radius: 4px;
  flex-shrink: 0;
  overflow: hidden;
}
.name-list__message {
  width: 20em;
  font-size: 1.4rem;
  opacity: 0.5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.name-list__status {
  font-size: 1.4rem;
  padding: 0.5em 1em;
  border-radius: 20px;
  border-width: 1px;
  border-style: solid;
  white-space: nowrap;
}
.name-list__status--pnding {
  color: #fff;
}
.name-list__status--absent {
  color: #878787;
  background-color: #e3e3e3;
  border-color: #878787;
}
@media screen and (max-width: 1280px) {
  .name-list__inner {
    width: 100%;
  }
  .name-list__message {
    width: 100%;
  }
  .page-party-present-user .name-list__item {
    flex-wrap: wrap;
  }
  .page-party-present-user .guest-status {
    justify-content: left;
  }
  .page-party-present-user .guest-status span {
    margin: 0;
  }
  .page-party-present-user .name-list__name {
    width: 9em;
  }
}
@media screen and (max-width: 768px) {
  .name-list {
    margin-top: 30px;
  }
  .name-list__title {
    font-size: 2.4rem;
  }
  .name-list__item {
    font-size: 1.4rem;
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .name-list__status {
    flex-shrink: 0;
    font-size: 1.2rem;
    padding: 0.5em;
  }
}
.modal__profile p {
  line-height: 1.4;
}
.modal-reply__detail {
  margin-top: 30px;
}
.js-modal-email {
  word-break: break-all;
}
.modal-reply__title {
  width: 9em;
  flex-shrink: 0;
}
.modal-reply__status {
  width: 100%;
  height: 250px;
  border-radius: 10px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 15px;
  display: none;
}
.modal-reply__status.active {
  display: flex;
}
.modal-reply__text {
  font-size: 1.8rem;
  font-weight: 600;
}
.modal-reply__status--pending {
  color: #fff;
}
.modal-reply__status--absent {
  color: #878787;
  background-color: #e3e3e3;
}
.modal-reply__email {
  word-break: break-all;
}
.modal-reply-detail {
  margin-top: 90px;
}
.modal-reply-detail__row:not(:first-child) {
  margin-top: 40px;
}
.modal-reply-detail__row dt {
  margin-bottom: 0.8em;
}
.modal-reply-detail__row p + p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .modal-reply-detail {
    margin-top: 0;
  }
  .modal-reply-detail__row {
    margin-top: 10px;
  }
  .modal-reply-detail__row:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (max-width: 1000px) {
  .modal-reply__status {
    height: auto;
    padding: 30px;
  }
  .modal-reply__status svg {
    width: 30px;
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .modal-reply__status {
    gap: 10px;
    padding: 25px;
  }
  .modal-reply__status svg {
    width: 20px;
  }
  .modal-reply__text {
    font-size: 1.4rem;
  }
}
.edit-answer {
  padding: 80px 10%;
}
.edit-answer__inner {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.edit-answer__inner:first-of-type {
  margin-top: 0;
}
.edit-answer__group {
  width: 46%;
}
.edit-answer__img {
  aspect-ratio: 3/2;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  position: relative;
}
.edit-answer__img img {
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.edit-answer__file {
  display: none;
}
.edit-answer__filelabel {
  display: inline-block;
  border-radius: 5px;
  background-color: #fafafa;
  padding: 0.5em 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  position: absolute;
  bottom: 10px;
  right: 10px;
  transition: all 0.2s ease;
}
.edit-answer__filelabel:hover {
  background: #e3e3e3;
}
.edit-answer__row.sep {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 30px;
  margin-bottom: 30px;
}
.edit-answer__head {
  display: block;
  font-weight: 600;
  margin-bottom: 12px;
}
.edit-answer__required {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  color: #f50000;
  float: right;
}
.edit-answer__input {
  width: 100%;
}
.edit-answer__textarea {
  width: 100%;
}
.edit-answer__radio {
  padding: 8px 0;
}
.edit-answer__radio label {
  margin-right: 3em;
}
.edit-answer__radio input[type="radio"] {
  margin-right: 0.5em;
}
.edit-answer__select {
  position: relative;
}
.edit-answer__select select {
  width: 100%;
  cursor: pointer;
}
.edit-answer__select::after {
  content: "";
  display: inline-block;
  border-top: 8px solid #000;
  border-left: 7px solid rgba(0, 0, 0, 0);
  border-right: 7px solid rgba(0, 0, 0, 0);
  position: absolute;
  right: 15px;
  top: 22px;
}
.edit-answer__roll {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}
.edit-answer__roll span {
  max-width: 12em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 8px 12px;
  border-radius: 30px;
}
.page-replies-edit .error-message {
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .edit-answer {
    padding: 50px 5%;
  }
  .edit-answer__inner {
    flex-direction: column;
    gap: 25px;
  }
  .edit-answer__group {
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
  }
  .edit-answer__row:nth-child(1) {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    padding-top: 25px;
  }
  .edit-answer__head {
    font-size: 1.4rem;
  }
  .edit-answer__required {
    font-size: 1.2rem;
  }
  .page-replies-edit .error-message {
    margin-top: 5px;
  }
}
.edit-answer__attendance {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  aspect-ratio: 3/2;
}
.attendance-form__textarea {
  width: 100%;
}
.edit-answer__note {
  font-size: 1.4rem;
  margin-top: 0.5em;
  opacity: 0.6;
}
.edit-answer__btn-box {
  margin: 80px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.edit-answer__btn-cancel {
  display: block;
  width: 250px;
  font-weight: 500;
  text-align: center;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 1.2em;
  transition: all 0.2s ease;
  margin: 0 1em;
}
.edit-answer__btn-cancel:hover {
  opacity: 0.7;
}
.edit-answer__btn-save {
  display: block;
  width: 300px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  border-radius: 4px;
  padding: 1.2em;
  transition: all 0.2s ease;
  margin: 0 1em;
  box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.04);
}
.edit-answer__btn-save:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .edit-answer__attendance {
    aspect-ratio: initial;
  }
  .attendance-form__textarea {
    font-size: 1.4rem;
  }
  .edit-answer__btn-box {
    margin-top: 40px;
  }
  .edit-answer__btn-cancel {
    font-size: 1.4rem;
    padding: 1em;
  }
  .edit-answer__btn-save {
    font-size: 1.4rem;
    padding: 1em;
  }
}
.payment-wrapper {
  max-width: 500px;
  margin: 0 auto;
}
.billing {
  display: block;
  background-color: #fafafa;
}
.billing + .billing {
  margin-top: 30px;
}
.billing__inner {
  font-size: 2.1rem;
  display: flex;
  align-items: center;
  padding: 30px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px 10px 0 0;
}
.billing__img {
  width: 60px;
  aspect-ratio: 1/1;
  border-radius: 8px;
  margin-right: 30px;
}
.billing__text {
  display: flex;
  flex-direction: column;
}
.billing__small {
  font-size: 1.4rem;
  opacity: 0.8;
  margin-top: 1em;
}
.billing__sum {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px;
  border-radius: 0 0 10px 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-top: none;
}
.billing__price {
  display: inline-block;
  margin-right: 1em;
}
.billing__radio {
  padding: 30px;
  border-radius: 0 0 10px 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-top: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.billing__radio label + label {
  margin-top: 1em;
}
.billing__radio input[type="radio"] {
  margin-right: 0.5em;
}
input[type="text"].billing__input {
  max-width: 8em;
  margin-right: 10px;
  background-color: #fff;
}
.link-tokusyo {
  margin-top: 40px;
}
.link-tokusyo a {
  display: inline-block;
  padding-bottom: 10px;
  position: relative;
}
.link-tokusyo a::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: #707070;
  position: absolute;
  left: 0;
  bottom: 0;
}
.link-tokusyo a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .billing__inner {
    padding: 20px;
    font-size: 1.8rem;
  }
  .billing__img {
    width: 50px;
    margin-right: 20px;
  }
  .billing__sum {
    padding: 20px;
  }
  .billing__small {
    margin-top: 0.5em;
  }
  .link-tokusyo {
    font-size: 1.4rem;
    margin-top: 30px;
  }
}
.payment {
  background-color: #fafafa;
  padding: 50px 10%;
}
.payment__inner {
  max-width: 500px;
  margin: 0 auto;
}
.payment__title {
  font-weight: 600;
}
.payment__metod {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.payment__img--card {
  width: 200px;
  mix-blend-mode: multiply;
}
.payment__term {
  display: flex;
  justify-content: center;
  align-items: center;
}
.payment__term__item + .payment__term__item {
  margin-left: 2em;
}
.payment__links {
  margin-top: 50px;
}
.payment__term__item:hover {
  text-decoration: underline;
}
.payment__btn {
  display: block;
  width: 100%;
  padding: 1em;
  border-radius: 4px;
  text-align: center;
  transition: all 0.2s ease;
}
.payment__btn:hover {
  opacity: 0.8;
}
.payment__btn--paypal {
  background-color: #ffc439;
  margin-bottom: 20px;
}
.payment__img--paypal {
  width: 80px;
}
.payment__btn--debit {
  color: #fff;
  background-color: #2c2e2f;
  line-height: 30px;
}
.payment__btn--debit::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 15px;
  border-radius: 4px;
  border: 1px solid #fff;
  vertical-align: middle;
  margin-right: 1em;
  flex-shrink: 0;
}
.payment__credit {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .payment__metod {
    flex-direction: column;
  }
  .payment__title {
    margin-bottom: 1em;
  }
  .payment__term {
    flex-direction: column;
  }
  .payment__term__item + .payment__term__item {
    margin-left: 0;
    margin-top: 0.5em;
  }
  .payment__btn--debit {
    line-height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.protection {
  max-width: 450px;
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 30px 10px rgba(0, 0, 0, 0.04);
  margin: 0 auto;
  padding: 40px;
  overflow: hidden;
}
.protection__txt {
  font-size: 1.4rem;
  font-weight: 600;
}
.protection__pw {
  margin: 20px 0 40px;
}
.protection__pw input[type="text"] {
  width: 100%;
}
.protection__show {
  display: block;
  width: 200px;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  border-width: 1px;
  border-radius: 8px;
  padding: 1em;
  margin: 0 auto;
}
.protection__show:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .protection {
    padding: 25px;
  }
  .protection__show {
    font-size: 1.4rem;
  }
}
.modal-security {
  width: 100%;
  height: 100vh;
  font-size: 1.4rem;
  position: relative;
}
.modal-security__bg {
  position: fixed;
  inset: 0;
  cursor: pointer;
  background: linear-gradient(
    to bottom,
    transparent 0,
    rgba(0, 0, 0, 0.1) 100%
  );
  transition: all 0.2s ease;
}
.modal-security__close {
  display: inline-block;
  width: 60px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  top: -30px;
  right: -30px;
}
.modal-security__close::before,
.modal-security__close::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 30px;
  background-color: #fff;
  position: absolute;
  top: 16px;
  left: 50%;
  transition: all 0.2s ease;
}
.modal-security__close::before {
  transform: rotate(45deg);
}
.modal-security__close::after {
  transform: rotate(-45deg);
}
.modal-security__close:hover::before {
  transform: rotate(135deg);
}
.modal-security__close:hover::after {
  transform: rotate(45deg);
}
.modal-security__title {
  font-size: 2.1rem;
  margin-bottom: 1em;
}
.modal-security__box {
  max-width: 800px;
  background-color: #fff;
  padding: 50px;
  border-radius: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.2s ease;
}
.modal-security__card {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-top: 30px;
}
.payment-thanks {
  text-align: center;
  font-weight: 500;
}
.payment-thanks p {
  font-family: "Playfair Display", serif;
}
.payment-thanks p + p {
  margin-top: 1em;
}
.payment-thanks__large {
  font-size: 3.2rem;
  margin-bottom: 1em;
}
.payment-thanks__btn {
  text-align: center;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .payment-thanks__large {
    font-size: 2.4rem;
  }
}
.fixed-btn {
  width: 100%;
  height: 150px;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.1) 0%,
    rgba(102, 102, 102, 0) 100%
  );
  position: fixed;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
}
.btn-back {
  min-width: 250px;
  text-align: center;
  background-color: #fff;
  border-radius: 2em;
  padding: 1.5em 3em;
  font-weight: 600;
  transition: all 0.2s ease;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.btn-back:hover {
  background-color: #2c2e2f;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .fixed-btn {
    height: 120px;
  }
  .btn-back {
    width: 220px;
    padding: 1em;
  }
}
.host__inner--1col {
  max-width: 900px;
  margin: 0 auto;
}
.fixed-btn--bottom {
  width: 100%;
  height: 150px;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(102, 102, 102, 0.1) 100%
  );
  position: fixed;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .fixed-btn--bottom {
    height: 120px;
  }
}
.icon-pin {
  display: flex;
  align-items: center;
  gap: 7px;
  line-height: 1.3;
}
.icon-pin::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(/images/main/icon/pin.svg);
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}
.tmp-event-map,
.invitation__map {
  filter: grayscale(100%);
  aspect-ratio: 16/9;
}
.tmp-event-map iframe,
.invitation__map iframe {
  width: 100%;
  height: 100%;
}
.tmp-event-map .gm-style .place-card-large,
.invitation__map .gm-style .place-card-large {
  display: none;
}
.invitation-info {
  word-wrap: break-word;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  margin-top: 20px;
}
.invitation-info a {
  text-decoration: underline;
}
.invitation-info a:hover {
  opacity: 0.8;
}
.tmp-text-box p + p {
  margin-top: 1em;
}
@media screen and (max-width: 480px) {
  .invitation-info {
    font-size: 1.4rem;
  }
}
.greeting-design__content--a {
  font-family: "Noto Serif JP", serif;
}
.tmp-sec-width--a {
  max-width: 650px;
  margin: 0 auto;
}
.tmp-sec-title--a {
  font-family: "Playfair Display", serif;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 1em;
  text-align: center;
}
.tmp-sec-title__sub {
  font-size: 1.4rem;
  letter-spacing: 0;
  margin-top: 0.5em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .tmp-sec-title--a {
    font-size: 2.8rem;
  }
}
.tmp-mv--a {
  height: 50vh;
  min-height: 400px;
}
@media screen and (max-width: 768px) {
  .tmp-mv--a {
    height: 40vh;
    min-height: 350px;
  }
}
.tmp-bgphoto--a {
  width: 300px;
  aspect-ratio: 2/1;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  margin: -75px auto 0;
  position: relative;
}
.tmp-bgphoto__inner--a {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .tmp-bgphoto--a {
    width: 200px;
    margin-top: -50px;
  }
}
.tmp-greeting--a {
  padding-top: 40px;
  padding-bottom: 80px;
}
.tmp-greeting__text--a {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  letter-spacing: 0.05em;
}
.tmp-greeting__text--a p {
  line-height: 2;
}
.tmp-greeting__text--a p + p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .tmp-greeting--a {
    padding-top: 20px;
    padding-bottom: 60px;
  }
  .tmp-greeting__text--a {
    font-size: 1.4rem;
  }
}
.event-info--a,
.invitation__card {
  font-family: "Noto Serif JP", serif;
  max-width: 650px;
  margin: 0 auto;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  overflow: hidden;
}
.event-info__img--a,
.invitation__card__thumb {
  aspect-ratio: 2/1;
}
.event-info__detail--a {
  padding: 0 80px;
}
.event-info__box--a {
  padding: 40px 0;
}
.event-info__box--a + .event-info__box--a {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.event-skd--a {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
}
.event-skd__yyyy--a {
  font-family: "Playfair Display", serif;
  font-size: 3rem;
}
.event-skd__mmdd--a {
  font-family: "Playfair Display", serif;
  font-size: 6rem;
}
.event-skd__date--a {
  padding: 0.5em 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 30px;
}
.invitation__schedule {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
}
.invitation__schedule__yyyy {
  font-family: "Playfair Display", serif;
  font-size: 3rem;
}
.invitation__schedule__mmdd {
  font-family: "Playfair Display", serif;
  font-size: 6rem;
}
.invitation__schedule__date {
  padding: 0.5em 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 30px;
}
.event-time--a {
  display: flex;
  justify-content: center;
  align-items: center;
}
.event-time__inner--a {
  margin: 0 20px;
}
.event-time__time--a {
  display: inline-block;
  font-family: "Playfair Display", serif;
  font-size: 3.6rem;
  margin-left: 10px;
}
.invitation__hours {
  display: flex;
  justify-content: center;
  align-items: center;
}
.invitation__hours__inner {
  margin: 0 20px;
}
.invitation__hours__time {
  display: inline-block;
  font-family: "Playfair Display", serif;
  font-size: 3.6rem;
  margin-left: 10px;
}
.event-name--a,
.invitation__event {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}
.event-venue--a,
.invitation__place__name {
  font-size: 2.8rem;
  margin-bottom: 10px;
}
.event-address--a,
.invitation__place__address {
  line-height: 2;
}
.event-address--a a,
.invitation__place__address a {
  display: block;
}
@media screen and (max-width: 768px) {
  .event-name--a,
  .invitation__event {
    font-size: 1.8rem;
  }
  .event-skd__yyyy--a {
    font-size: 2.4rem;
  }
  .event-skd__mmdd--a {
    font-size: 4rem;
  }
  .invitation__schedule {
    margin-bottom: 40px;
  }
  .invitation__schedule__yyyy {
    font-size: 2.8rem;
  }
  .invitation__schedule__mmdd {
    font-size: 4.2rem;
  }
  .invitation__schedule__date {
    font-size: 1.4rem;
  }
  .invitation__hours {
    justify-content: space-between;
  }
  .invitation__hours__time {
    font-size: 2.4rem;
  }
}
.event-fee--a {
  font-family: "Noto Serif JP", serif;
  max-width: 650px;
  height: 125px;
  margin: 30px auto 0;
  letter-spacing: 0.05em;
  text-align: center;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
}
.event-fee__title--a {
  font-size: 2.2rem;
  width: 33.3333333333%;
  height: 100%;
  flex-shrink: 0;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  display: grid;
  place-content: center;
}
.fee-detail--a {
  font-size: 1.8rem;
  width: 66.6666666667%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.fee-detail__inner--a {
  width: 50%;
}
.fee-detail__price--a {
  font-family: "Playfair Display", serif;
}
.host--a {
  text-align: center;
  padding-left: 10%;
  padding-right: 10%;
  margin-top: 180px;
}
.host__inner--a {
  display: flex;
  justify-content: space-between;
}
.host-profile--a {
  width: 50%;
}
.host-profile--a.type-groom {
  color: #fff;
}
.host-profile__img--a {
  width: 200px;
  aspect-ratio: 1/1;
  border-radius: 20px;
  margin: -100px auto 0;
  position: relative;
}
.host-profile__info--a {
  padding: 40px 30px 65px;
}
.host-name--a {
  font-size: max(2vw, 2.4rem);
  margin-bottom: 10px;
}
.host-name__rome--a {
  font-size: 0.5em;
}
.host-data__txt--a {
  font-size: max(1vw, 1.6rem);
  margin: 2em auto;
}
.host-data__row--a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
}
.host-data__row--a:not(:first-child) {
  margin-top: 20px;
}
.host-data__detail--a {
  display: inline-block;
  width: 5em;
  flex-shrink: 0;
}
.host-data__bar--a {
  display: inline-block;
  width: 80px;
  height: 1px;
  background-color: #fff;
}
@media (1000px <= width < 1280px) {
  .host--a {
    padding-left: 0;
    padding-right: 0;
  }
  .host__inner--a {
    flex-direction: column;
    gap: 150px;
  }
  .host-profile--a {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .host--a {
    padding-left: 0;
    padding-right: 0;
    margin-top: 100px;
  }
  .host__inner--a {
    flex-direction: column;
    gap: 100px;
  }
  .host-profile--a {
    width: 100%;
  }
  .host-profile__img--a {
    width: 140px;
    margin: -70px auto 0;
  }
  .host-profile__info--a {
    padding: 40px 20px;
  }
}
.tmp-contact--a {
  margin-top: 50px;
}
.video {
  text-align: center;
  margin-bottom: 50px;
}
.video iframe {
  max-width: 100%;
  max-height: 70vh;
}
.video video {
  max-width: 100%;
  max-height: 70vh;
  margin: 0 auto;
}
.message {
  padding-left: 10%;
  padding-right: 10%;
}
.message__inner {
  max-width: 650px;
  margin: 0 auto;
}
.message__text {
  line-height: 2;
  margin-bottom: 3em;
}
.message__text:last-child {
  margin-bottom: 0;
}
.due-date--a {
  font-size: 2.8rem;
  display: flex;
  font-weight: 500;
  justify-content: center;
  padding: 50px;
  gap: 30px;
  border-radius: 20px;
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.due-date--a dt {
  font-weight: 500;
}
@media screen and (max-width: 1200px) {
  .due-date--a {
    padding: 40px;
    font-size: 2.4rem;
    flex-direction: column;
    gap: 15px;
  }
}
@media screen and (max-width: 768px) {
  .video {
    margin-bottom: 30px;
  }
  .message {
    padding: 0 5%;
    margin: 50px auto;
  }
  .message__text {
    margin-bottom: 1.5em;
  }
}
@media screen and (max-width: 480px) {
  .due-date--a {
    padding: 30px;
    font-size: 1.6rem;
    gap: 10px;
  }
}
.greeting-design--b {
  overflow: hidden;
}
.tmp-sec-width--b {
  max-width: 550px;
  margin: 0 auto;
}
.tmp-sec-title--b {
  font-family: "Roboto", sans-serif;
  font-size: 4rem;
  letter-spacing: 0.2em;
  margin-bottom: 1em;
  text-align: center;
  font-weight: 700;
}
.tmp-sec-title--b h2 {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .tmp-sec-title--b {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 480px) {
  .greeting-design__content--b {
    font-size: 1.4rem;
  }
}
.tmp-mv--b {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 5% 0;
  margin-bottom: 80px;
}
.tmp-mv--b::before {
  content: "";
  display: block;
  height: 200%;
  aspect-ratio: 1/1;
  background-image: url(/images/main/pages/invitation/greeting/main-bg_b.png);
  background-position: left;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.tmp-mv--b::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.tmp-mv__txt--b {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 6.5rem;
  letter-spacing: 0.4em;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .tmp-mv--b {
    padding: 10% 0;
  }
  .tmp-mv__txt--b {
    font-size: 3.2rem;
  }
}
.tmp-greeting__text--b {
  letter-spacing: 0.1em;
}
.tmp-greeting__text--b p {
  line-height: 2;
}
.tmp-greeting__text--b p + p {
  margin-top: 1em;
}
.host-profile--b:first-of-type {
  margin-bottom: 50px;
}
.host-profile__img--b {
  width: 100%;
  aspect-ratio: 16/9;
  margin-bottom: 30px;
}
.host-profile__info--b {
  font-family: "Noto Serif JP", serif;
  display: flex;
  justify-content: space-between;
}
.host-profile--b:nth-child(2) .host-profile__info--b {
  flex-direction: row-reverse;
}
.host-name--b {
  writing-mode: vertical-lr;
  font-size: 3.2rem;
  letter-spacing: 0.1em;
}
.host-name__kana--b {
  font-size: 1.4rem;
}
.host-data--b {
  width: calc(100% - 120px);
}
.host-data__txt--b {
  margin-bottom: 40px;
}
.host-data__inner--b {
  display: flex;
  gap: 25px;
  margin-top: 1em;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.host-data__inner--b span:first-child {
  width: 6em;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .host-name--b {
    font-size: 2.8rem;
  }
  .host-name__kana--b {
    font-size: 1.2rem;
  }
  .host-data__txt--b {
    margin-bottom: 25px;
  }
  .host-data--b {
    width: calc(100% - 100px);
    font-size: 1.4rem;
  }
}
.event-info--b {
  font-family: "Roboto", sans-serif;
  max-width: 750px;
  margin: 0 auto;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.event-info__inner--b {
  width: 80%;
  padding: 50px;
  margin: 0 auto;
}
.event-info__box--b {
  margin-top: 40px;
}
.event-info__title--b {
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  padding-bottom: 6px;
  margin-left: -1em;
  position: relative;
}
.event-info__title--b::before {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 2px solid #000;
  position: absolute;
  right: 0;
  bottom: 0;
}
.event-skd--b {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
}
.event-skd__mmdd--b {
  font-size: 4rem;
  margin-left: 1em;
}
.event-time--b {
  display: flex;
  align-items: center;
  line-height: 2;
}
.event-time__time--b {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin-left: 1em;
}
.fee-detail--b {
  display: flex;
  align-items: center;
  margin-top: 20px;
}
.fee-detail__price--b {
  display: inline-block;
  margin-left: 40px;
}
.event-venue--b {
  font-size: 2.1rem;
  margin: 20px 0;
}
.event-address--b {
  line-height: 2;
  font-weight: 500;
}
.event-address--b a {
  text-decoration: underline;
}
.event-address--b a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .event-info__inner--b {
    width: 100%;
    padding: 30px;
  }
  .event-info__box--b {
    margin-top: 30px;
  }
  .event-info__title--b {
    margin-left: 0;
  }
  .event-skd--b {
    margin: 15px 0;
  }
  .event-skd__mmdd--b {
    font-size: 2.1rem;
  }
  .event-time__time--b {
    font-size: 1.8rem;
  }
  .event-venue--b {
    font-size: 1.8rem;
    margin: 15px 0;
  }
  .event-address--b {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 480px) {
  .event-info__inner--b {
    font-size: 1.4rem;
  }
}
.message__video--b {
  text-align: center;
  margin-bottom: 50px;
}
.message__video--b iframe {
  max-width: 100%;
  max-height: 70vh;
}
.message__video--b video {
  max-width: 100%;
  max-height: 70vh;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .message__video--b {
    margin-bottom: 30px;
  }
}
.due-date--b {
  font-size: 3.2rem;
  max-width: 750px;
  margin: 0 auto;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 50px;
  margin-top: 50px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .due-date--b {
    padding: 25px;
    font-size: 1.8rem;
    font-weight: 600;
  }
}
@media screen and (max-width: 768px) {
  .due-date--b {
    font-size: 1.6rem;
  }
}
.tmp-sec-width--c {
  max-width: 600px;
  margin: 0 auto;
}
.tmp-sec-title--c {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .tmp-sec-title--c {
    font-size: 2rem;
  }
}
@media screen and (max-width: 480px) {
  .tmp-sec-title--c {
    font-size: 1.8rem;
  }
}
.tmp-mv--c {
  background: linear-gradient(to bottom, #f7f7f7 80%, #fff 80%);
}
.tmp-mv__inner--c {
  width: 100%;
  min-height: 75vh;
  word-break: break-all;
  color: #fff;
  padding: 50px 10% 100px;
  border-radius: 0 0 300px 300px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.tmp-mv__inner--c::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
}
.tmp-mv__txt--c {
  font-size: 7.5rem;
  letter-spacing: 0.2em;
  line-height: 1.5;
  position: relative;
  z-index: 1;
}
.tmp-mv__skd--c {
  position: relative;
  z-index: 1;
  font-size: 2.5rem;
  letter-spacing: 0.2em;
}
.tmp-mv__day--c {
  font-size: 7rem;
  margin: 0 15px;
}
@media screen and (max-width: 768px) {
  .tmp-mv__inner--c {
    min-height: 55vh;
    border-radius: 0 0 200px 200px;
  }
  .tmp-mv__txt--c {
    font-size: 3rem;
  }
  .tmp-mv__skd--c {
    font-size: 1.8rem;
  }
  .tmp-mv__day--c {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 480px) {
  .tmp-mv__inner--c {
    min-height: 380px;
    justify-content: flex-start;
    border-radius: 0 0 150px 150px;
  }
}
.tmp-greeting__text--c {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 50px;
}
.host-imgs--c {
  font-family: "Roboto", sans-serif;
  max-width: 400px;
  display: flex;
  margin: -100px auto 0;
}
.host-imgs__inner--c {
  width: 50%;
  position: relative;
}
.host-imgs__inner--c:first-child {
  margin-top: 100px;
}
.host-imgs__inner--c:first-child .host-imgs__photo--c {
  border-radius: 100px 0 100px 100px;
}
.host-imgs__photo--c {
  aspect-ratio: 3/4;
  border-radius: 100px 100px 100px 0;
}
.host-imgs__txt--c {
  text-align: center;
  font-size: 3.7rem;
  letter-spacing: 0.1em;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .host-imgs--c {
    max-width: 250px;
  }
  .host-imgs__txt--c {
    font-size: 2.1rem;
    margin-top: 1em;
  }
}
.host-profile--c {
  font-family: "Noto Serif JP", serif;
  display: flex;
  justify-content: space-between;
}
.host-data--c {
  width: 45%;
}
.host-data--c:first-child {
  margin-top: 80px;
}
.host-data__name--c {
  font-size: 3.2rem;
  margin-bottom: 1em;
}
.host-data__kana--c {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
.host-data__txt--c {
  margin-bottom: 40px;
}
.host-data__inner--c {
  line-height: 2;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.host-data__inner--c span:first-child {
  width: 6em;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .host-data__name--c {
    font-size: 2.4rem;
    font-weight: 500;
  }
  .host-data__txt--c,
  .host-data__inner--c {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 480px) {
  .host-data--c:first-child {
    margin-top: 50px;
  }
  .host-data__txt--c,
  .host-data__inner--c {
    font-size: 1.1rem;
  }
  .host-data__txt--c {
    margin-bottom: 25px;
  }
}
.event-info__img--c {
  font-family: "Roboto", sans-serif;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 3% 5%;
  aspect-ratio: 2/1;
  border-radius: 100px;
  color: #fff;
  font-size: 4rem;
  letter-spacing: 0.1em;
  display: flex;
  align-items: flex-end;
}
.event-info__box--c {
  font-family: "Noto Serif JP", serif;
  background-color: #fafafa;
  border-radius: 0 100px 100px 100px;
  overflow: hidden;
  margin-top: 50px;
}
.event-info__inner--c {
  padding: 50px 80px;
}
.event-skd--c {
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
}
.event-skd__mmdd--c {
  font-size: 4rem;
  margin-left: 40px;
}
.event-time--c {
  display: flex;
  align-items: center;
  line-height: 2;
}
.event-time__time--c {
  letter-spacing: 0.2em;
  margin-left: 40px;
}
.event-info__place--c {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 2.4rem;
  column-gap: 1.5em;
  row-gap: 5px;
  margin-bottom: 50px;
}
.fee-detail--c {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
  line-height: 1.4;
}
.fee-detail__price--c {
  display: inline-block;
  margin-left: 40px;
}
.fee-detail__free--c {
  font-size: 2.4rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .event-info__img--c {
    border-radius: 50px;
    padding: 10%;
    aspect-ratio: 3/2;
    font-size: 2.8rem;
  }
  .event-info__box--c {
    border-radius: 0 50px 50px 50px;
    margin-top: 20px;
  }
  .event-info__inner--c {
    padding: 35px;
  }
  .event-skd__mmdd--c {
    font-size: 2.4rem;
  }
  .event-info__place--c {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  .fee-detail__free--c {
    font-size: 1.8rem;
  }
  .fee-detail--c {
    margin-top: 20px;
    gap: 8px;
    flex-direction: column;
  }
  .fee-detail__price--c {
    margin: 0;
  }
}
@media screen and (max-width: 480px) {
  .event-info__place--c {
    font-size: 1.6rem;
  }
}
.event-info__bikou--c {
  margin-top: 1.5em;
}
.tmp-contact--c {
  margin-top: 70px;
}
.tmp-contact__ttl--c {
  font-family: "Roboto", sans-serif;
  font-size: 4rem;
  letter-spacing: 0.2em;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .tmp-contact__ttl--c {
    font-size: 2.8rem;
  }
}
.message__video--c {
  text-align: center;
  margin-bottom: 50px;
}
.message__video--c iframe {
  max-width: 100%;
  max-height: 70vh;
}
.message__video--c video {
  max-width: 100%;
  max-height: 70vh;
  margin: 0 auto;
}
.due-date--c {
  font-size: 3.2rem;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 50px;
  margin-top: 50px;
  text-align: center;
  border-radius: 100px;
}
@media screen and (max-width: 768px) {
  .due-date--c {
    font-size: 1.8rem;
    padding: 20px;
    margin-top: 35px;
  }
}
@media screen and (max-width: 480px) {
  .due-date--c {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .invitation__place__name {
    font-size: 1.8rem;
    margin-bottom: 0.5em;
  }
  .invitation__place__address {
    font-size: 1.4rem;
  }
}
.bride-groom {
  width: 400px;
  aspect-ratio: 2/1;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  position: relative;
  margin: -100px auto 50px;
}
.bride-groom__img {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .bride-groom {
    width: 250px;
    margin-top: -63px;
  }
}
.swiper-slide {
  height: auto;
}
.dashboard-mv {
  position: relative;
}
.dashboard-mv__inner {
  height: 65vh;
}
@media screen and (max-width: 768px) {
  .dashboard-mv__inner {
    height: 45vh;
    min-height: 400px;
  }
}
.dash-idx {
  width: 100%;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
.dash-idx__inner {
  width: 400px;
  aspect-ratio: 2/1;
  margin: 0 auto;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
}
.dash-idx__img {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .dash-idx__inner {
    width: 230px;
  }
}
.dashboard__nav {
  width: 95%;
  max-width: 1200px;
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 40px 0px rgba(0, 0, 0, 0.04);
  padding: 0.5em;
  margin: -34px auto 0;
  z-index: 20;
  position: relative;
  overflow: hidden;
}
.dashboard__nav__list {
  display: flex;
  justify-content: center;
}
.dashboard__nav__item {
  width: auto;
  position: relative;
}
.dashboard__nav__item::after {
  content: "";
  display: inline-block;
  width: calc(100% - 3em);
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 1.5em;
  transform: scale(0, 1);
  transition: all 0.2s ease;
}
.dashboard__nav__item.active::after {
  transform: scale(1, 1);
}
.dashboard__nav__item:hover::after {
  transform: scale(1, 1);
}
@media screen and (max-width: 768px) {
  .dashboard__nav {
    margin: -15px auto 0;
  }
  .dashboard__nav__list {
    font-size: 1.2rem;
  }
  .dashboard__nav__list .sub-navi__link {
    padding: 1em 0.5em;
  }
  .dashboard__index__sub-navi {
    margin-top: -120px;
  }
}
@media screen and (max-width: 480px) {
  .dashboard__nav__list {
    font-size: 1rem;
  }
  .dashboard__nav__list .sub-navi__link {
    padding: 1em 0.7em;
  }
}
@media screen and (max-width: 374px) {
  .dashboard__nav__list {
    justify-content: left;
  }
}
.dash-flow__list {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}
.dash-flow__item {
  width: 30%;
  border-radius: 10px;
  border-width: 1px;
  border-style: solid;
  position: relative;
}
.dash-flow__item a {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 25px;
}
.dash-flow__item:hover {
  opacity: 0.8;
}
.dash-flow__item:nth-child(2) .dash-flow__icon {
  max-height: 50px;
}
.dash-flow__arrow {
  display: inline-block;
  width: 12px;
  aspect-ratio: 1/1;
  border-style: solid;
  border-top-width: 1px;
  border-right-width: 1px;
  transform: rotate(45deg);
  position: absolute;
  right: -9%;
  top: calc(50% - 5px);
}
.dash-flow__icon {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
}
.dash-flow__icon svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.dash-flow__txt {
  font-weight: 700;
  font-size: 2rem;
}
.dash-flow__txt span {
  display: block;
  font-size: 1.2rem;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .dash-flow__list {
    flex-direction: column;
    gap: 40px;
    max-width: 500px;
    margin: 30px auto 0;
  }
  .dash-flow__item {
    width: 100%;
  }
  .dash-flow__arrow {
    right: calc(50% - 6px);
    top: auto;
    bottom: -25px;
    transform: rotate(135deg);
  }
  .dash-flow__txt {
    font-size: 1.8rem;
  }
  .dash-flow__icon {
    width: 45px;
    height: 45px;
  }
}
.answer__list {
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 30px;
}
.answer__item {
  font-size: 1.4rem;
  width: 30%;
  padding: 2em 1em;
  border-radius: 8px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.answer__item--pending {
  color: #fff;
}
.answer__item--absent {
  color: #878787;
  background-color: #fafafa;
  outline: 1px solid rgba(0, 0, 0, 0.1);
  outline-offset: -1px;
}
.answer__item--absent svg {
  stroke: #878787;
}
.answer__status {
  margin: 1em 0;
}
.answer__numbers {
  font-size: 1.8rem;
  font-family: "Roboto", sans-serif;
  margin-bottom: 5px;
}
.count-people {
  font-weight: 600;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 15px;
}
.count-people__inner {
  width: 50%;
  font-size: 1.8rem;
  padding: 1.5em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.count-people__inner:first-child {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.count-people__num {
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 768px) {
  .answer__list {
    width: 100%;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
  }
  .answer__item {
    width: 100%;
    padding: 1em;
    flex-direction: row;
    gap: 25px;
    text-align: left;
  }
  .answer__item svg {
    width: 25px;
    height: 25px;
  }
  .answer__status {
    margin: 0;
  }
  .answer__numbers {
    font-size: 2.1rem;
    margin: 0;
  }
  .count-people {
    margin-top: 10px;
  }
  .count-people__inner {
    font-size: 1.4rem;
    padding: 1.2em;
  }
}
.today__list {
  font-size: 1.4rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.today__item {
  width: 31%;
  border-radius: 8px;
  padding: 20px 0;
  font-weight: 600;
  text-align: center;
}
.today__icon {
  width: 65px;
  height: 65px;
  background-color: #fff;
  border-radius: 50%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.today__icon__svg {
  height: 35px;
  max-width: 30px;
}
.today__status {
  text-align: center;
  margin: 1em 0;
}
.count-number__num {
  font-family: "Roboto", sans-serif;
  font-size: 1.8rem;
  white-space: nowrap;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .today__list {
    width: 100%;
    flex-direction: column;
    gap: 10px;
  }
  .today__item {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }
  .today__icon {
    width: 50px;
    height: 50px;
    margin: 0;
    flex-shrink: 0;
  }
  .today__inner {
    width: 120px;
  }
  .today__icon__svg {
    height: 30px;
    max-width: 25px;
  }
  .today__status {
    font-size: 1.2rem;
    margin: 0 0 5px 0;
  }
  .count-number {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 8px;
  }
  .count-number__num {
    font-size: 2.1rem;
    margin: 0;
  }
}
.amount-table {
  margin-top: 40px;
  width: 100%;
}
.amount-table__row {
  padding: 0.8em 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.amount-table__row:first-child {
  padding-top: 0;
}
.amount-table__row:last-child {
  padding-bottom: 0;
}
.amount-table__sep {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 1.6em;
  margin-top: 0.8em;
}
.amount-table__sum {
  font-family: "Roboto", sans-serif;
  font-size: 2.1rem;
  font-weight: 600;
  text-align: right;
}
.amount-table__sum span {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  display: inline-block;
  margin-left: 5px;
}
@media screen and (max-width: 768px) {
  .amount-table__title {
    font-size: 1.4rem;
  }
}
.dash-sammary {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.setting-status {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 50px;
}
.setting-status__box {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.setting-status__body {
  padding: 30px;
}
.setting-status__title {
  font-size: 2.1rem;
  font-weight: 600;
  padding: 20px 30px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.setting-status__item {
  font-size: 1.2rem;
}
.setting-status__item + .setting-status__item {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.setting-status__link {
  display: block;
  padding: 1.5em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: 0.2s;
}
a.setting-status__link:hover {
  background-color: #fafafa;
}
.setting-status__check {
  display: inline-block;
  width: 25px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border-width: 1px;
  border-style: solid;
  margin-right: 15px;
  vertical-align: middle;
  position: relative;
  flex-shrink: 0;
}
.setting-status__check::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 10px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 5px;
  left: 8px;
}
.setting-status__check.non-active {
  background-color: #fff !important;
}
.setting-status__txt {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.setting-status__note {
  opacity: 0.5;
  text-align: right;
}
.setting-status__note.trim {
  width: 10em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.setting-status__detail {
  font-size: 1.4rem;
  font-weight: 500;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  text-align: right;
  margin-top: auto;
  margin-bottom: 0;
  transition: 0.2s;
}
.setting-status__detail a {
  display: block;
  padding: 30px;
}
.setting-status__detail a:hover {
  background: #fafafa;
}
.setting-status__about {
  font-size: 1.4rem;
  font-weight: 500;
  text-align: right;
  margin-top: 1em;
}
.setting-status__about a {
  text-decoration: underline;
}
@media screen and (max-width: 960px) {
  .dash-sammary {
    gap: 50px;
  }
  .setting-status__body {
    padding: 20px;
  }
  .setting-status {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-top: 15px;
  }
  .setting-status__title {
    font-size: 1.8rem;
  }
  .setting-status__check {
    width: 20px;
    margin-right: 10px;
  }
  .setting-status__check::before {
    height: 9px;
    top: 3px;
    left: 6px;
  }
  .setting-status__item {
    align-items: flex-start;
  }
  a.setting-status__link {
    padding-right: 3em;
    position: relative;
  }
  a.setting-status__link::after {
    content: "";
    display: inline-block;
    width: 8px;
    aspect-ratio: 1/1;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: rotate(45deg);
    position: absolute;
    top: 30px;
    right: 1.5em;
    transition: 0.2s;
  }
  a.setting-status__link:hover::after {
    right: 1.3em;
  }
  .setting-status__txt {
    flex-wrap: wrap;
  }
  .setting-status__task {
    width: 100%;
  }
  .setting-status__note {
    text-align: left;
    margin-top: 5px;
  }
  .setting-status__note.trim {
    width: auto;
    max-width: 200px;
  }
  .setting-status__detail a {
    padding: 20px;
  }
}
@media screen and (max-width: 480px) {
  .setting-status__title {
    font-size: 1.6rem;
  }
}
.dashboard__service {
  padding: 50px 0;
  border-radius: 4px;
  color: #f86456;
  background-color: #fafafa;
  position: relative;
}
.dashboard__service__inner {
  overflow: hidden;
}
.dashboard__service__list {
  margin: 0 50px;
}
.dashboard__service__item {
  background-color: #fff;
  border-width: 1px;
  border-style: solid;
  border-radius: 5px;
  padding: 30px;
  max-width: 200px;
}
.dashboard__service__img {
  width: 80px;
  margin: 0 auto 1em;
}
.dashboard__menu {
  color: #000;
  opacity: 0.8;
  margin-top: 30px;
  font-size: 14px;
  line-height: 2;
}
.dashboard__menu__item:hover {
  text-decoration: underline;
}
.dashboard__service__title {
  text-align: center;
}
.dashboard__service__text {
  font-size: 14px;
  text-align: center;
  opacity: 0.5;
}
.dashboard__btn-add {
  cursor: pointer;
  border: 1px solid rgba(255, 47, 27, 0.4);
  background-color: #fff;
  height: 350px;
  width: 30px;
  border-radius: 5px;
  position: absolute;
  right: -20px;
  bottom: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  display: none;
}
.dashboard__icon-plus::before,
.dashboard__icon-plus::after {
  background-color: #f86456;
}
.dashboard__icon-plus {
  margin: 0 0 0 13px;
}
@media screen and (max-width: 768px) {
  .dashboard__service {
    padding: 30px 0;
    margin: 50px auto;
  }
}
.dashboard-sub-mv {
  min-height: 45vh;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 3%;
}
.dashboard-event {
  max-width: 1000px;
  background-color: #fff;
  border-radius: 10px;
  padding: 30px;
  display: grid;
  grid-template-columns: auto 300px;
  align-items: center;
  gap: 40px;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0);
  border-color: rgba(0, 0, 0, 0.1);
}
.dashboard-event__left {
  display: grid;
  grid-template-columns: 220px auto;
  align-items: center;
  gap: 40px;
}
.dashboard-event__right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  gap: 25px;
}
.dashboard-event__bride-groom {
  width: 220px;
  height: 110px;
  margin: 0 auto;
}
.dashboard-event__type {
  font-size: 1.2rem;
  margin-bottom: 0.5em;
}
.dashboard__title {
  font-size: min(4.3vw, 1.8rem);
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 0.8em;
}
.dashboard__schedule {
  font-family: "Roboto", sans-serif;
  flex-direction: row;
  display: flex;
  align-items: flex-end;
  flex-wrap: nowrap;
}
.dashboard__schedule__yyyy {
  font-size: 2.4rem;
  font-weight: 600;
}
.dashboard__schedule__mmdd {
  font-size: min(5vw, 5.6rem);
  margin: 0 15px;
}
.dashboard__schedule__date {
  font-size: 1.4rem;
  opacity: 0.8;
  padding: 0.5em 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 25px;
}
.dashboard__place__name {
  font-size: 1.4rem;
}
.dashboard__hours {
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 1000px) {
  .dashboard-event {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 30px;
  }
  .dashboard-event__left {
    gap: 30px;
  }
  .dashboard-event__right {
    flex-direction: row;
    align-items: flex-end;
    justify-content: center;
  }
  .dashboard__schedule__yyyy {
    font-size: 1.8rem;
  }
  .dashboard__schedule__mmdd {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 768px) {
  .dashboard-sub-mv {
    min-height: 260px;
    height: auto;
    padding: 5% 5% 7% 5%;
  }
  .dashboard-event {
    padding: 20px 50px;
  }
  .dashboard-event__left {
    grid-template-columns: 1fr;
    justify-content: center;
    gap: 20px;
  }
  .dashboard-event__right {
    font-size: 1.4rem;
    flex-direction: column;
    align-items: center;
    gap: 5px;
  }
  .dashboard-event__bride-groom {
    max-width: 100%;
    width: 220px;
    height: 110px;
  }
}
.cover {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.cover__item {
  width: 50%;
  padding: 40px;
  display: flex;
  align-items: flex-start;
}
.cover__item:first-child {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.cover__ttl {
  min-width: 8em;
  font-weight: 600;
}
.cover__upload {
  width: calc(100% - 8em);
  max-width: 500px;
}
.cover__preview {
  aspect-ratio: 2/1;
  border-radius: 10px;
  margin-bottom: 30px;
  overflow: hidden;
  position: relative;
}
.cover__preview img {
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.cover__video {
  aspect-ratio: 2/1;
  border-radius: 10px;
  margin-bottom: 30px;
  overflow: hidden;
}
.cover__video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 1000px) {
  .cover__item {
    width: 100%;
    flex-wrap: wrap;
  }
  .cover__item:first-child {
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .cover__item {
    padding: 20px;
  }
  .cover__upload {
    width: 100%;
  }
  .cover__ttl {
    font-size: 1.6rem;
    margin-bottom: 1em;
  }
}
.connect-item:not(:first-child) {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.connect-item__link {
  font-size: 1.8rem;
  font-weight: 600;
  text-decoration: underline;
}
.connect-item__link:hover {
  opacity: 0.8;
}
.modal-account .modal__inner {
  max-width: 800px;
  padding: 0;
}
.modal-form__row {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  row-gap: 10px;
  margin-top: 35px;
}
.modal-form__ttl {
  width: 10em;
  font-weight: 600;
}
.modal-form__input {
  width: calc(100% - 10em);
}
.modal-form__input input {
  max-width: 100%;
}
.modal-form__radio {
  width: calc(100% - 10em);
  display: flex;
  column-gap: 40px;
}
.modal-form__radio label {
  user-select: none;
}
.modal-form__radio input[type="radio"] {
  margin-right: 10px;
}
.total {
  font-size: 1.4rem;
  font-weight: 600;
  margin-top: 20px;
}
.total th,
.total td {
  padding: 0.5em 1.5em;
}
.total th:first-child,
.total td:first-child {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  padding-left: 0;
}
.total td:last-child {
  opacity: 0.4;
}
@media screen and (max-width: 768px) {
  .modal-form__row {
    margin-top: 20px;
  }
  .modal-form__input,
  .modal-form__radio {
    width: 100%;
  }
  .connect-item__link {
    font-size: 1.6rem;
  }
  .total tr {
    display: flex;
    flex-wrap: wrap;
  }
  .total th,
  .total td {
    width: 100%;
    padding: 0.5em;
  }
}
.page-dash3 {
  background-color: #fafafa;
}
.edit-detail__inner {
  max-width: 1200px;
  margin: 50px auto;
  display: flex;
  justify-content: space-between;
}
.edit-detail__inner__left {
  width: 20%;
  padding: 50px 20px;
  height: 100%;
  text-align: center;
}
.edit-detail__inner__right {
  width: 80%;
  padding: 50px;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}
.edit-detail__inner label {
  user-select: none;
}
.dashboard__btn-save {
  display: block;
  width: 250px;
  margin: 40px auto 100px;
  font-weight: 500;
  padding: 1.5em;
  color: #fff;
  text-align: center;
  border-radius: 10px;
  transition: all 0.4s ease;
}
.dashboard__btn-save:hover {
  opacity: 0.7;
}
.dashboard__btn-save--fixed {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 1.5em;
  color: #fff;
  text-align: center;
  position: fixed;
  left: 0;
  bottom: 0;
  transition: all 0.4s ease;
  z-index: 10;
}
.dashboard__btn-save--fixed:hover {
  opacity: 0.7;
}
.edit-detail__title {
  font-size: 1.8rem;
  font-weight: 600;
}
.edit-detail__item {
  display: flex;
  align-items: flex-start;
  margin-top: 50px;
}
.edit-detail__item:first-of-type {
  margin-top: 0;
}
.edit-detail__item--center {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 50px;
}
.edit-detail__item--center input[type="text"] {
  width: 60%;
  margin-right: 15px;
}
.switch-content {
  display: none;
}
.switch-content.show {
  display: flex;
}
@media screen and (max-width: 768px) {
  .edit-detail__title {
    font-size: 1.6rem;
  }
}
.edit-detail__item.non-active .edit-detail__item__title,
.edit-detail__item.non-active .edit-detail__input-box {
  opacity: 0.5;
  pointer-events: none;
}
.edit-detail__item__title {
  flex-shrink: 0;
  font-weight: 600;
  line-height: 1.7;
  width: 20%;
  min-width: 120px;
}
@media screen and (max-width: 768px) {
  .edit-detail {
    margin: 50px auto 100px;
  }
  .edit-detail__inner {
    flex-direction: column;
  }
  .edit-detail__inner__left {
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 20px;
    text-align: left;
  }
  .edit-detail__inner__right {
    width: 100%;
    font-size: 1.4rem;
    border-left: none;
    padding: 20px;
  }
  .edit-detail__item {
    flex-direction: column;
    align-items: flex-start;
  }
  .edit-detail__item + .edit-detail__item {
    margin-top: 40px;
  }
  .edit-detail__item--center {
    margin-top: 30px;
  }
  .edit-detail__item--center input[type="text"] {
    width: 85%;
  }
  .edit-detail__item__title {
    width: 100%;
    margin-bottom: 1em;
  }
}
.edit-detail__input-box {
  width: 50%;
  margin-right: 2em;
}
@media screen and (max-width: 768px) {
  .edit-detail__input-box {
    width: 100%;
    order: 3;
  }
  .edit-detail__check-label {
    order: 2;
    margin-bottom: 1em;
  }
}
.edit-detail__date {
  width: 50%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-right: 2em;
}
@media screen and (max-width: 768px) {
  .edit-detail__date {
    width: 100%;
    margin-right: 0;
  }
}
.select-style {
  width: 100%;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 2px;
  padding: 16px;
  margin-bottom: 0;
  line-height: 1.7;
  cursor: pointer;
}
.select-arrow {
  width: 50%;
  position: relative;
}
.select-arrow::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  transform: rotate(45deg);
  position: absolute;
  right: 1em;
  top: calc(50% - 4px);
}
.edit-detail__textarea {
  width: 80%;
}
@media screen and (max-width: 768px) {
  .edit-detail__textarea {
    width: 100%;
  }
}
.edit-detail__map {
  width: 80%;
}
.edit-detail__map iframe {
  width: 100%;
  height: 300px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  filter: grayscale(100%);
}
.location {
  display: inline-block;
  border-width: 2px;
  border-style: solid;
  border-radius: 30px;
  padding: 0.5em 1em;
  margin-top: 1em;
  cursor: pointer;
}
.location:hover {
  filter: brightness(0.5);
}
@media screen and (max-width: 768px) {
  .edit-detail__map {
    width: 100%;
  }
}
.edit-detail__time {
  width: 5em;
  margin: 0 1em;
}
.edit-detail__time:first-child {
  margin-left: 0;
}
.edit-detail__header {
  max-width: 1400px;
  margin: 100px auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.edit-detail__header__inner {
  width: 40%;
  padding: 50px;
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.edit-detail__link {
  width: 40%;
  padding: 50px;
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s ease;
  background-color: #fff;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  margin-right: 10px;
  overflow: hidden;
}
@media screen and (max-width: 1140px) {
  .edit-detail__header {
    margin: 50px auto;
    flex-direction: column;
    align-items: flex-start;
  }
  .edit-detail__header__inner {
    width: 100%;
    margin-bottom: 30px;
  }
  .edit-detail__link {
    width: 100%;
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 768px) {
  .edit-detail__header__inner {
    padding: 30px;
  }
}
.edit-detail__radio {
  margin-right: 0.5em;
}
.edit-detail__radio-label {
  display: inline-block;
  margin-right: 50px;
  margin-bottom: 1em;
  font-weight: 600;
}
.edit-detail__check {
  margin-right: 0.5em;
}
.edit-detail__check-label {
  display: inline-block;
  margin-right: 50px;
  margin-bottom: 1em;
}
.transfer__date {
  font-weight: 500;
  margin-bottom: 35px;
}
.question-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 30px;
  padding: 1em 2em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  background-color: #fafafa;
  position: relative;
}
.question-item + .question-item {
  margin-top: 0.8em;
}
.question-item__box {
  display: flex;
  align-items: center;
  column-gap: 30px;
  row-gap: 10px;
}
.question-item__input input[type="text"] {
  width: 100%;
}
.question-item__inner {
  width: 95%;
}
.grab-bar {
  display: inline-block;
  width: 16px;
  height: 12px;
  position: relative;
  cursor: grab;
  flex-shrink: 0;
}
.grab-bar:active {
  cursor: grabbing;
}
.grab-bar::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
}
.grab-bar::after {
  content: "";
  display: inline-block;
  width: 100%;
  height: 2px;
  background-color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
}
input[type="text"].question-item__input {
  width: 100%;
}
.question-item__check-label {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  font-size: 14px;
  cursor: pointer;
  user-select: none;
}
.question-item__check {
  margin-right: 0.5em;
}
.question-item__btn-delete {
  font-size: 14px;
  opacity: 0.7;
  flex-shrink: 0;
}
.question-item__btn-delete:hover {
  text-decoration: underline;
}
.question-item.add {
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: all 0.2s ease;
}
.question-item.add p {
  width: 100%;
  text-align: center;
}
.question-item.add:hover {
  border-color: #000;
}
.question-item__icon-plus {
  flex-shrink: 0;
  margin-left: 8px;
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .transfer__date {
    margin-bottom: 20px;
  }
  .question-item {
    flex-wrap: wrap;
    justify-content: start;
    padding: 1em;
    padding-left: 3em;
    gap: 15px;
  }
  .question-item__box {
    flex-direction: column;
    align-items: flex-end;
  }
  .grab-bar {
    position: absolute;
    left: 1em;
    top: calc(50% - 7px);
  }
  .question-item__btn-delete {
    margin-left: auto;
  }
  .question-item.add {
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    padding-left: 1em;
  }
}
.page-dash5 {
  background-color: #fafafa;
}
.plan__lead {
  margin: 50px 0;
}
.scroll-hint-icon {
  z-index: 10;
}
.is-scrollable {
  cursor: grab;
}
.is-scrollable:active {
  cursor: grabbing;
}
.table-price {
  font-size: 1.4rem;
  width: 100%;
  margin-top: 50px;
  border-collapse: collapse;
  border-spacing: 0;
  border-bottom-width: 2px;
  border-bottom-style: solid;
}
.table-price th,
.table-price td {
  padding: 20px;
  text-align: center;
  vertical-align: middle;
  line-height: 1.4;
}
.table-price__head {
  font-weight: 700;
}
.table-price__yen {
  display: block;
  font-size: 2.8rem;
  margin-top: 5px;
}
.table-price__body {
  background-color: #fff;
}
.table-price__body tr {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
tr.table-price__border {
  border-top-width: 2px;
  border-top-style: solid;
}
th.table-price__ttl {
  color: #fff;
  vertical-align: top;
  text-align: left;
  vertical-align: middle;
}
th.table-price__subttl {
  width: 250px;
  color: #313131;
  background: #f5f5f5;
  text-align: left;
  font-size: 1.4rem;
}
th.table-price__childttl {
  width: 250px;
  color: #7a7a7a;
  background: #f5f5f5;
  text-align: left;
  font-size: 1.4rem;
  font-weight: 400;
}
.table-price__link {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 400;
  opacity: 0.7;
  text-decoration: underline;
  margin-top: 1em;
}
.table-price__link:hover {
  opacity: 1;
}
.table-price__circle {
  display: inline-block;
  width: 1em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #000;
}
.table-price__trial {
  text-decoration: underline;
}
.table-price__trial:hover {
  opacity: 0.8;
}
.help-hover {
  color: #707070;
  margin-top: 1em;
  font-size: 1.2rem;
  position: relative;
}
.help-hover__inner {
  cursor: pointer;
}
.help-hover__inner::after {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 1/1;
  background: url(/images/main/icon/help.svg) no-repeat center/contain;
  margin-left: 10px;
  vertical-align: middle;
  transform: translateY(-1px);
}
.help-hover__open {
  width: 160px;
  text-align: left;
  background: #707070;
  color: #fff;
  padding: 1em;
  font-size: 1rem;
  line-height: 1.5;
  position: absolute;
  right: 10%;
  bottom: 150%;
  display: none;
}
.help-hover:hover .help-hover__open,
.help-hover:active .help-hover__open {
  display: block;
}
@media screen and (max-width: 768px) {
  .table-wrapper {
    position: relative;
  }
  .table-wrapper::before {
    content: "";
    display: inline-block;
    width: 2px;
    height: 100%;
    background: #fff;
    position: absolute;
    left: -1px;
    top: 0;
    z-index: 11;
  }
  .table-price {
    font-size: 1.2rem;
  }
  .table-price th,
  .table-price td {
    padding: 10px;
    min-width: 92px;
  }
  .table-price__yen {
    font-size: 2.1rem;
  }
  .table-price__head td,
  th.table-price__ttl,
  th.table-price__subttl,
  th.table-price__childttl {
    position: sticky;
    left: 0;
    z-index: 10;
  }
  .table-price__head td {
    background: #fafafa;
  }
  th.table-price__subttl,
  th.table-price__childttl {
    width: 130px;
    font-size: 1.2rem;
    left: 92px;
  }
}
.extensions {
  border-radius: 10px;
  border-width: 1px;
  border-style: solid;
  background: #fff;
  padding: 40px;
  display: flex;
  justify-content: space-between;
  margin-top: 80px;
}
.extensions__head {
  width: 37%;
}
.extensions__head .btn-base {
  min-width: initial;
  max-width: 400px;
}
.btn-base.disabled {
  pointer-events: none;
  cursor: inherit;
  opacity: 0.4;
  user-select: none;
}
.extensions__ttl {
  font-size: 1.8rem;
}
.extensions__price {
  display: inline-block;
  font-size: 3em;
  line-height: 1;
  font-weight: 700;
  margin-right: 5px;
  position: relative;
}
.extensions__s {
  display: inline-block;
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  top: 50%;
}
.extensions__campaign {
  font-size: 2rem;
  font-weight: 700;
}
.extensions__body {
  width: 55%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.modal-extensions__link {
  text-align: center;
  margin-top: 50px;
}
.extensions.--ver2 {
  position: relative;
  padding-top: 50px;
}
.extensions__unit {
  font-weight: normal;
  font-size: max(0.55em, 12px);
  opacity: 0.8;
  margin-left: 5px;
}
.extensions__label {
  display: inline-block;
  font-weight: 500;
  color: #fff;
  padding: 0.8em 1em;
  border-radius: 10px 10px 10px 0;
  position: absolute;
  top: 0;
  left: -1px;
  z-index: 1;
  transform: translateY(-50%);
}
.extensions__block {
  position: relative;
  margin-top: 10px;
}
.extensions__block .extensions__price {
  font-size: 2.2rem;
}
.extensions__block:nth-child(3) {
  margin-top: 15px;
  padding-top: 15px;
}
.extensions__block:nth-child(3)::before {
  content: "";
  display: inline-block;
  border-top: 7px solid #000;
  border-left: 6px solid rgba(0, 0, 0, 0);
  border-right: 6px solid rgba(0, 0, 0, 0);
  position: absolute;
  top: 0;
  left: 10%;
}
.extensions__block:nth-child(3) .extensions__price {
  font-size: 3.2rem;
}
@media screen and (max-width: 1280px) {
  .extensions {
    flex-direction: column;
    gap: 40px;
  }
  .extensions__head {
    width: 100%;
  }
  .extensions__body {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .extensions {
    font-size: 1.4rem;
    padding: 25px;
    margin-top: 60px;
  }
  .extensions__price {
    font-size: 2.8rem;
  }
  .extensions__campaign {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .extensions {
    margin-top: 50px;
    gap: 25px;
  }
}
.payment-log {
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 50px;
}
.payment-log__inner {
  max-width: 800px;
  margin: 0 auto;
}
.log-table {
  width: 100%;
  border-collapse: collapse;
}
.log-table__cap {
  font-weight: 600;
  margin-bottom: 30px;
}
.log-table__inner {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.log-table__inner:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.log-table__inner td {
  padding: 25px;
  width: 20%;
}
.log-table__inner td:nth-child(2) {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .payment-log {
    padding: 25px;
  }
  .log-table__inner {
    font-size: 1.4rem;
    padding: 20px 0;
  }
  .log-table__inner td {
    padding: 0;
    width: 50%;
  }
  .log-table__inner td:nth-child(-n + 2) {
    margin-bottom: 10px;
  }
  .log-table__inner td:nth-child(odd) {
    width: 25%;
  }
  .log-table__inner td:nth-child(even) {
    width: 70%;
  }
}
.set-member__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.set-member__title {
  font-size: 2.1rem;
}
@media screen and (max-width: 768px) {
  .set-member__title {
    font-size: 1.8rem;
  }
}
.set-member__add {
  width: 100%;
  display: flex;
  align-items: center;
  padding: 1.3em 0.8em;
  margin-top: 40px;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  transition: all 0.2s ease;
}
.set-member__add:hover {
  border-color: #000;
}
@media screen and (max-width: 768px) {
  .set-member__add {
    margin-top: 30px;
    padding: 0.8em;
  }
}
.set-member__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8em;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0);
  margin-top: 15px;
}
.member-profile {
  width: 65%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 10px;
  column-gap: 25px;
}
.member-profile__inner {
  display: flex;
  align-items: center;
  gap: 25px;
}
.member-profile__img {
  width: 45px;
  aspect-ratio: 1/1;
  border-radius: 4px;
  background: no-repeat center/cover;
  flex-shrink: 0;
}
.member-profile__name {
  font-size: 1.8rem;
  font-weight: 400;
}
.member-profile__roll {
  font-size: 1.4rem;
  display: inline-block;
  padding: 0.7em 1em;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 30px;
  flex-shrink: 0;
}
.member-info {
  width: 30%;
  font-size: 1.4rem;
  color: #707070;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  column-gap: 40px;
}
.member-info__item {
  width: 50%;
}
.set-member__edit {
  text-decoration: underline;
}
.set-member__edit:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .set-member__item {
    padding: 0;
    margin-top: 30px;
    align-items: flex-start;
  }
  .member-profile__inner {
    width: 100%;
    gap: 15px;
  }
  .member-profile__name {
    font-size: 1.6rem;
  }
  .member-profile__roll {
    padding: 0.5em 1em;
    font-size: 1.2rem;
  }
  .member-info {
    font-size: 1.2rem;
    column-gap: 20px;
  }
  .member-info__item {
    width: auto;
  }
}
@media screen and (max-width: 480px) {
  .member-profile__img {
    width: 40px;
  }
  .member-profile__name {
    font-size: 1.4rem;
  }
  .member-info {
    row-gap: 10px;
    flex-wrap: wrap;
  }
}
.page-member-edit {
  background: #fafafa;
}
.member-edit-error {
  max-width: 700px;
  margin: 0 auto;
}
.member-edit-box {
  max-width: 700px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 10px;
  padding: 40px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.member-edit-box + .member-edit-box {
  margin-top: 50px;
}
.member-edit-box__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
}
.member-edit-box__row {
  max-width: 650px;
  margin: 0 auto;
  padding: 30px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.member-edit-box__row input[type="text"] {
  width: 100%;
}
.image-square {
  width: 180px;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.image-square img {
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}
.member-edit-box__info {
  max-width: 10em;
  word-wrap: break-word;
}
.member-edit-box__name {
  font-size: 2.6rem;
  margin-bottom: 10px;
}
.member-edit-box__btn {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 0.8em 1.2em;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.member-edit-box__btn:hover {
  border-color: #000;
}
.member-edit-box__ttl {
  margin-bottom: 0.8em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
}
.member-edit-box__radio {
  display: flex;
  align-items: center;
  gap: 50px;
  margin-top: 15px;
}
.member-edit-box__radio label {
  display: flex;
  align-items: center;
  gap: 10px;
  user-select: none;
}
.member-edit-box__btns {
  display: flex;
  justify-content: center;
  gap: 25px;
  margin-top: 30px;
}
.member-edit-box__delete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .member-edit-box__head {
    column-gap: 25px;
    row-gap: 10px;
    flex-wrap: wrap;
  }
  .image-square {
    width: 120px;
  }
  .member-edit-box__info {
    max-width: calc(100% - 145px);
  }
  .member-edit-box {
    padding: 20px;
  }
  .member-edit-box__name {
    font-size: 1.8rem;
  }
  .member-edit-box__ttl {
    font-size: 1.4rem;
  }
  .member-edit-box__btn {
    font-size: 1.2rem;
  }
  .member-edit-box__row {
    padding: 20px 0;
  }
  .member-edit-box__radio {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 15px;
  }
  .member-edit-box__btns {
    font-size: 1.4rem;
    max-width: 300px;
    margin: 30px auto 0;
    flex-direction: column;
    gap: 10px;
  }
  .member-edit-box__btns .btn-cancel {
    order: 1;
  }
  .member-edit-box__delete {
    flex-direction: column;
    align-items: flex-start;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 480px) {
  .member-edit-box + .member-edit-box {
    margin-top: 30px;
  }
  .member-edit-box__info {
    max-width: 100%;
  }
  .member-edit-box__name {
    font-size: 1.6rem;
  }
}
.page-member-add {
  background: #fafafa;
}
.member-edit-box--add {
  max-width: 1000px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 20px;
  padding: 50px 80px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.member-edit-box__caption {
  font-size: 2.1rem;
  font-weight: 700;
  margin-bottom: 1em;
}
.dashboard-event--inbox {
  width: 100%;
  background: #fff;
  border-radius: 10px;
  padding: 25px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-width: 1px;
  border-style: solid;
}
@media screen and (max-width: 1000px) {
  .dashboard-event--inbox {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .member-edit-box--add {
    padding: 40px;
  }
  .dashboard-event--inbox .dashboard-event__title {
    display: block;
  }
  .dashboard-event--inbox .dashboard-event__right {
    display: flex;
  }
}
@media screen and (max-width: 480px) {
  .member-edit-box__caption {
    font-size: 1.8rem;
  }
  .member-edit-box--add {
    padding: 40px 20px;
  }
  .dashboard-event--inbox {
    padding: 15px;
  }
}
.page-mv--checkin .page-mv__img--left {
  background-image: url(/images/main/pages/checkin/index/main-l.jpg);
}
.page-mv--checkin .page-mv__img--right {
  background-image: url(/images/main/pages/checkin/index/main-r.jpg);
}
@media screen and (max-width: 768px) {
  .page-mv--checkin .page-mv__img--left {
    background-image: url(/images/main/pages/checkin/index/main-l-sp.jpg);
  }
  .page-mv--checkin .page-mv__img--right {
    background-image: url(/images/main/pages/checkin/index/main-r-sp.jpg);
  }
}
.checkin-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  margin-top: 50px;
}
.checkin-func {
  max-width: 500px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}
.checkin-func__text {
  width: 55%;
  padding: 25px;
  font-size: 1.4rem;
}
.checkin-func__num {
  display: inline-block;
  width: 1em;
  font-family: "Roboto", sans-serif;
  font-style: italic;
  font-size: 5rem;
  opacity: 0.6;
}
.checkin-func__title {
  font-size: 1.8rem;
  font-weight: 500;
  margin: 15px 0 20px;
}
.checkin-func__img {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .checkin-list {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .checkin-func__num {
    font-size: 4rem;
  }
}
@media screen and (max-width: 480px) {
  .checkin-func {
    flex-direction: column-reverse;
  }
  .checkin-func__text {
    width: 100%;
  }
  .checkin-func__img {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .checkin-func:last-of-type .checkin-func__img {
    background-size: contain;
  }
}
.checkin-status {
  width: calc(100% - 246px);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 15px;
  row-gap: 10px;
  font-size: 1.4rem;
  padding: 10px 0;
}
.checkin-icon {
  display: inline-block;
  color: #fff;
  padding: 0.5em 1em;
  border-radius: 30px;
  position: relative;
}
.checkin-icon--car {
  background-color: #878787;
}
.checkin-icon--yen {
  padding-left: 2em;
}
.icon-yen {
  position: absolute;
  top: 12px;
  left: 11px;
}
@media screen and (max-width: 768px) {
  .checkin-status {
    font-size: 1.2rem;
    width: 100%;
  }
  .icon-yen {
    top: 8px;
    left: 9px;
  }
  .checkin-status__arrival,
  .checkin-status__car {
    margin-right: 20px;
  }
}
.checkin-modal__list {
  display: flex;
  justify-content: space-between;
}
.checkin-modal__item {
  width: 31%;
  height: 250px;
  border-radius: 5px;
  color: #f86456;
  background-color: rgba(248, 100, 86, 0.1);
  border-width: 1px;
  border-style: solid;
  padding: 20px;
  font-weight: 500;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.checkin-modal__item.inactive {
  background-color: #fafafa !important;
  color: #000 !important;
  border-color: rgba(0, 0, 0, 0.2) !important;
}
.checkin-modal__item.inactive .icon-wrapper {
  display: none;
}
.checkin-modal__item.inactive .today__status {
  color: #000 !important;
}
.checkin-modal__item.inactive .js-change-stroke {
  stroke: #878787 !important;
}
.checkin-modal__item.inactive .js-change-fill {
  fill: #878787 !important;
}
.icon-wrapper {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.icon-check {
  width: 16px;
  height: 9px;
  border-left: 3px solid;
  border-bottom: 3px solid;
  transform: rotate(-45deg);
}
.checkin-modal__status {
  display: flex;
  align-items: center;
  column-gap: 15px;
  justify-content: left;
  font-size: 14px;
}
.checkin-modal__message:not(:first-child) {
  margin-top: 40px;
}
.checkin-modal__message dt {
  margin-bottom: 0.8em;
}
.checkin-modal__message p + p {
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  .checkin-modal__item {
    gap: 10px;
    height: auto;
  }
  .checkin-modal__message {
    margin-top: 10px;
  }
  .checkin-modal__message:not(:first-child) {
    margin-top: 20px;
  }
}
.edit-list {
  display: flex;
  justify-content: space-between;
  height: 100%;
}
.edit-list__item {
  width: 31%;
  border-radius: 10px;
  padding: 20px;
  font-weight: 600;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
}
.edit-list__icon {
  width: 65px;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  margin: 0 auto;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.edit-list__icon svg {
  height: 35px;
  max-width: 30px;
}
.edit-list__item.inactive {
  background-color: #fafafa !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}
.edit-list__item.inactive .edit-radio__label {
  color: #000 !important;
}
.edit-list__item.inactive .icon-wrapper {
  visibility: hidden;
}
.edit-list__item.inactive .js-change-stroke {
  stroke: #878787 !important;
}
.edit-list__item.inactive .js-change-fill {
  fill: #878787 !important;
}
@media screen and (max-width: 768px) {
  .edit-list__icon {
    width: 50px;
  }
  .edit-list__icon svg {
    height: 30px;
    max-width: 25px;
  }
}
.webapp {
  max-width: 1400px;
  margin: 100px auto;
}
.webapp__inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
.webapp__image {
  width: 50%;
  background-image: url(/images/main/pages/checkin/app/image1.jpg);
}
.webapp__content {
  font-size: 1.4rem;
  width: 50%;
  padding: 40px;
}
.webapp__title {
  font-size: 2.4rem;
  margin-bottom: 1em;
}
@media screen and (max-width: 1000px) {
  .webapp__inner {
    flex-direction: column;
    margin-bottom: 25px;
  }
  .webapp__image {
    width: 100%;
    padding-top: 56.25%;
  }
  .webapp__content {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .webapp {
    margin: 50px auto;
  }
  .webapp__qr {
    flex-direction: column-reverse;
  }
  .webapp__content {
    padding: 30px;
  }
  .webapp__title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 480px) {
  .webapp__content {
    padding: 20px;
  }
}
.app-qr {
  margin-top: 3%;
}
.app-qr p {
  margin-bottom: 1em;
  font-weight: 500;
}
.app-qr__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.app-qr__btn {
  font-size: 1.4rem;
  max-width: 300px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.app-qr__btn .link-btn {
  margin-top: 0;
  width: 100%;
}
.app-qr__img {
  width: 150px;
  flex-shrink: 0;
}
.app-qr-copy {
  background-color: #fafafa;
  word-break: break-all;
  border-radius: 4px;
  padding: 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
}
.button-copy {
  width: 13em;
  font-size: 14px;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .app-qr {
    margin-top: 25px;
  }
  .app-qr__btn {
    gap: 10px;
    flex-wrap: wrap;
    order: 2;
  }
  .app-qr__inner {
    justify-content: left;
    flex-wrap: wrap;
  }
  .app-qr__img {
    width: 160px;
  }
  .app-qr-copy {
    font-size: 1.4rem;
    margin-top: 25px;
  }
}
.checkin-event {
  max-width: 1400px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  padding: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.checkin-event__left {
  width: 55%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.checkin-event__right {
  width: 35%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}
.checkin-event__bride-groom {
  width: 300px;
  height: 150px;
  margin: 0;
  margin-right: 50px;
}
.checkin-event__title {
  font-size: 2.8rem;
  line-height: 1.3;
  margin-bottom: 1em;
}
.checkin-event__schedule {
  font-family: "Roboto", sans-serif;
  margin-bottom: 28px;
  flex-direction: row;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
.checkin-event__yyyy {
  font-size: 2.4rem;
}
.checkin-event__mmdd {
  font-size: 7.2rem;
  font-weight: 400;
  margin: 0 18px;
}
.checkin-event__date {
  opacity: 0.8;
  padding: 0.5em 1em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 25px;
}
.dashboard__hours {
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 1000px) {
  .checkin-event {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
  }
  .checkin-event__left {
    width: 100%;
  }
  .checkin-event__right {
    width: 100%;
    align-items: flex-start;
    margin-top: 30px;
  }
  .checkin-event__title {
    font-size: 2.1rem;
  }
  .checkin-event__yyyy {
    font-size: 1.8rem;
  }
  .checkin-event__mmdd {
    font-size: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .checkin-event__left {
    flex-direction: column;
  }
  .checkin-event__bride-groom {
    margin: 0;
    margin-bottom: 30px;
  }
  .checkin-event__schedule {
    margin: 0 auto 10px;
  }
  .checkin-event__hours {
    margin: 0 auto;
  }
}
.page-bingo-text.container {
  padding-top: 40px;
  padding-bottom: 40px;
}
.party-header {
  height: 300px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  background-color: #fbf8ee;
  padding-left: 60px;
  margin: 50px 50px 0 50px;
  border-radius: 4px;
}
.party-header__inner {
  width: 35%;
}
.party-header__title {
  font-size: 2.4rem;
  margin-bottom: 15px;
}
.party-header__guest {
  display: inline-block;
  min-width: 80px;
  color: #fff;
  padding: 15px;
  border-radius: 30px;
  font-size: 1.8rem;
  text-align: center;
}
.party-header__img {
  width: 65%;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  mix-blend-mode: darken;
}
.party-lead {
  margin: 1em 50px 0;
  font-size: 1.2rem;
}
.present-lead {
  font-size: 1.2rem;
}
.img-guest {
  background-image: url(/images/main/party/guest.png);
}
@media screen and (max-width: 768px) {
  .party-header {
    width: 90%;
    margin: 30px auto 0;
    height: auto;
    flex-direction: column;
    padding: 25px;
  }
  .party-header__inner {
    width: 100%;
  }
  .party-header__title {
    font-size: 2.4rem;
  }
  .party-header__guest {
    font-size: 1.4rem;
    min-width: 65px;
  }
  .party-header__img {
    width: 100%;
    aspect-ratio: 2/1;
  }
  .party-lead {
    width: 90%;
    margin: 1em auto 0;
    font-size: 1.4rem;
  }
}
.bingo-2col {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 80px 0;
}
.bingo-2col.reverse {
  flex-direction: row-reverse;
}
.bingo-2col__txt {
  width: 45%;
}
.bingo-2col__num {
  display: inline-block;
  width: 1em;
  font-family: "Roboto", sans-serif;
  font-size: 5rem;
  opacity: 0.6;
  font-style: italic;
  margin-bottom: 10px;
}
.bingo-2col__img {
  width: 50%;
}
.bingo-2col__img img {
  object-fit: cover;
  border-radius: 10px;
  overflow: hidden;
}
.bingo-2col__img img + img {
  margin-top: 50px;
}
.bingo-2col__img--mini {
  width: 250px;
  border-radius: 10px;
  overflow: hidden;
  margin-top: 30px;
}
.bingo-2col__title {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 1.5em;
}
.bingo-2col__title:not(:first-of-type) {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .bingo-2col {
    margin: 50px 0;
  }
  .bingo-2col__txt {
    width: 100%;
    font-size: 1.4rem;
  }
  .bingo-2col__num {
    font-size: 4rem;
  }
  .bingo-2col__img {
    width: 100%;
    margin-top: 20px;
  }
  .bingo-2col__img img + img {
    margin-top: 20px;
  }
  .bingo-2col__img--mini {
    margin: 20px auto 0;
  }
  .bingo-2col__title {
    font-size: 2.1rem;
    margin-bottom: 1em;
  }
  .bingo-2col__title:not(:first-of-type) {
    margin-top: 20px;
  }
}
.bingo-banner {
  color: #fff;
  background: #d6beb0;
  padding-top: 50px;
  padding-bottom: 50px;
}
.bingo-banner__box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.bingo-banner__ttl {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 1.5em;
}
.bingo-banner__txt {
  width: 55%;
}
.bingo-banner__img {
  width: 45%;
}
@media screen and (max-width: 768px) {
  .bingo-banner__txt {
    width: 100%;
  }
  .bingo-banner__ttl {
    font-size: 2.1rem;
  }
  .bingo-banner__img {
    width: 100%;
    margin-top: 20px;
  }
}
.how-to__img--bingo {
  margin: 15px auto;
}
.how-to__img--bingo img {
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .how-to__img--bingo {
    margin: 15px;
  }
}
.roulette {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
.roulette__item {
  width: 47%;
  display: flex;
  flex-direction: column;
}
.roulette__ttl {
  font-size: 2.4rem;
  font-weight: 600;
}
.roulette__txt {
  margin: 20px 0;
}
.roulette__img {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 0;
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .roulette {
    margin-bottom: 50px;
  }
  .roulette__item {
    width: 100%;
    font-size: 1.4rem;
  }
  .roulette__item:first-child {
    margin-bottom: 50px;
  }
  .roulette__ttl {
    font-size: 1.8rem;
  }
}
.wrapper--bingo {
  max-width: 750px;
  margin: 0 auto;
}
.game-setting__icon {
  width: 150px;
  height: 150px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 auto;
}
.game-setting__title {
  font-size: 2.8rem;
  text-align: center;
  margin-bottom: 40px;
}
.game-setting__subttl {
  font-size: 1.8rem;
  margin-top: 40px;
  margin-bottom: 1em;
}
.game-setting__list {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}
.game-setting__item {
  position: relative;
  transition: all 0.2s ease;
  border-right: 3px solid rgba(0, 0, 0, 0);
}
.game-setting__item + .game-setting__item {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.game-setting__item.active,
.game-setting__item:hover {
  border-right-color: #333;
}
.game-setting__item::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.3);
  border-right: 1px solid rgba(0, 0, 0, 0.3);
  transform: rotate(45deg);
  position: absolute;
  right: 1em;
  top: calc(50% - 4px);
}
.game-setting__link {
  padding: 1em 4em 1em 2em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.game-setting__text {
  font-size: 1.4rem;
  opacity: 0.6;
}
.usefulInfo {
  margin-top: 1em;
}
.usefulInfo__item {
  margin-top: 0.8em;
  list-style: disc inside;
  text-indent: -18px;
  padding-left: 18px;
  line-height: 1.4;
}
.usefulInfo__item::marker {
  margin-right: 10px;
  color: #707070;
}
.usefulInfo__link {
  color: #707070;
  text-decoration: underline;
}
.usefulInfo__link:hover {
  opacity: 0.7;
}
.game-schedule {
  border-radius: 4px;
  padding: 1.5em;
  font-size: 1.2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
}
.btn-start-game {
  width: 100%;
  color: #fff;
  border-radius: 4px;
  padding: 1.5em;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  margin-top: 20px;
  transition: all 0.2s ease;
}
.btn-start-game:hover {
  opacity: 0.8;
}
.game-sub-text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  opacity: 0.6;
  font-size: 1.4rem;
  margin-top: 1em;
}
.btn-reset {
  text-decoration: underline;
}
.guest-status {
  width: 60%;
  display: flex;
  flex-wrap: wrap;
  justify-content: right;
  align-items: center;
  row-gap: 8px;
  font-size: 1.4rem;
}
.guest-status span {
  display: inline-block;
  padding: 0.5em 1em;
  border-radius: 30px;
  white-space: nowrap;
  margin-left: 1em;
  color: #fff;
  background-color: #878787;
}
.name-list__item.dummy {
  display: none;
}
.name-list__item.dummy.show {
  display: flex;
}
.my-check {
  display: none;
  width: 18px;
  height: 18px;
  background: #1b7afc;
  border-radius: 4px;
  overflow: hidden;
  position: absolute;
  top: 2px;
  left: 0;
}
.my-check::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 11px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  bottom: 5px;
  left: 6px;
}
.dummy-check {
  margin-top: 40px;
  display: flex;
  align-items: center;
  gap: 40px;
}
.dummy-check__input {
  user-select: none;
  position: relative;
}
.dummy-check__input input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  vertical-align: middle;
}
.dummy-check__input input[type="checkbox"]:checked ~ .my-check {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .guest-status {
    width: 100%;
    justify-content: left;
    margin-top: 10px;
  }
  .guest-status span {
    font-size: 1.2rem;
    margin-left: 0;
    margin-right: 1em;
  }
}
.img-text {
  background-image: url(/images/main/party/text.png);
}
.party-container {
  max-width: 800px;
  margin: 50px auto;
  padding: 0 50px;
}
.party-list {
  margin-top: 30px;
}
.party-item {
  display: flex;
  align-items: center;
  column-gap: 20px;
  padding: 1em;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0);
  cursor: pointer;
  transition: all 0.2s ease;
}
.party-item + .party-item {
  margin-top: 30px;
}
.party-item:hover {
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.party-item__img {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  border-radius: 4px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.party-item__title {
  font-weight: 600;
}
.party-item__text {
  font-size: 1.4rem;
  opacity: 0.6;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .party-container {
    width: 90%;
    font-size: 1.4rem;
    padding: 0;
    margin: 50px auto;
  }
}
.modal-game .modal__inner {
  max-width: 800px;
}
.modal-game__img {
  width: 48%;
  aspect-ratio: 3/2;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.modal-game__layout {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 25px;
}
.modal-game__labels {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.2rem;
  margin-top: 0.5em;
}
.modal-game__labels span {
  background-color: #878787;
  display: inline-block;
  padding: 0.5em 1em;
  border-radius: 30px;
  white-space: nowrap;
  color: #fff;
}
@media screen and (max-width: 1000px) {
  .modal-game__img {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 10px;
  }
  .modal-game__layout {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 20px;
  }
}
.img-vs {
  background-image: url(/images/main/party/vs.png);
}
.vs-list {
  margin-top: 30px;
}
.vs-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 5px;
  padding: 1em;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0);
  cursor: pointer;
  transition: all 0.2s ease;
}
.vs-item:hover {
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.vs-photo {
  width: 50%;
  display: flex;
  align-items: center;
  column-gap: 25px;
}
.vs-photo__img {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  border-radius: 4px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.vs-item__title {
  width: 50%;
  font-size: 1.8rem;
}
@media screen and (max-width: 1280px) {
  .vs-item {
    flex-direction: column-reverse;
  }
  .vs-photo,
  .vs-item__title {
    width: 100%;
  }
}
@media screen and (max-width: 1000px) {
  .vs-item {
    flex-direction: row;
  }
  .vs-photo,
  .vs-item__title {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  .vs-item {
    flex-direction: column-reverse;
  }
  .vs-photo {
    width: 100%;
  }
  .vs-item__title {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 500;
  }
}
.modal-vs .modal__inner {
  max-width: 800px;
}
.modal-vs__title {
  font-size: 2.8rem;
  font-weight: 600;
  margin-bottom: 1em;
}
.modal-vs__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 40px;
}
.modal-vs__img {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 1em;
}
@media screen and (max-width: 1000px) {
  .modal-vs__list {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 15px;
  }
  .modal-vs__img {
    max-width: 120px;
    margin: 0 auto;
  }
  .modal-vs__title {
    font-size: 2rem;
    margin-bottom: 1em;
  }
  .modal-vs__name {
    text-align: center;
  }
}
.edit-cont {
  padding: 0 5%;
}
.edit-cont__inner {
  display: flex;
  justify-content: space-between;
}
.edit-cont__inner + .edit-cont__inner {
  margin-top: 50px;
}
.edit-cont__title {
  font-size: 2.4rem;
  margin-bottom: 60px;
  text-align: center;
}
.edit-cont__img {
  width: 100%;
  aspect-ratio: 3/2;
  border-radius: 10px;
  overflow: hidden;
  padding: 15px;
  display: flex;
  justify-content: right;
  align-items: flex-end;
  position: relative;
}
.edit-cont__img img,
.edit-cont__img video {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}
.change-photo-btns {
  display: flex;
  align-items: center;
  gap: 10px;
}
.change-photo-btns__item {
  display: inline-block;
  font-size: 1.4rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  padding: 7px 10px;
  position: relative;
  transition: all 0.2s ease;
}
.change-photo-btns__item:hover {
  background: #fafafa;
  border-color: #000;
}
.change-photo-btns__item.type-delete {
  padding-right: 25px;
  position: relative;
}
.change-photo-btns__item.type-delete::before,
.change-photo-btns__item.type-delete::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 1px;
  background: #000;
  position: absolute;
  right: 8px;
  top: 50%;
}
.change-photo-btns__item.type-delete::before {
  transform: rotate(45deg);
}
.change-photo-btns__item.type-delete::after {
  transform: rotate(-45deg);
}
.edit-cont__head {
  width: 30%;
  padding-right: 2em;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.edit-cont__body {
  width: 70%;
}
.edit-cont__input {
  width: 100%;
}
.edit-cont__check {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 8px;
}
.edit-cont__btn {
  margin-top: 80px;
  row-gap: 10px;
  column-gap: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .edit-cont {
    padding: 0 10%;
  }
  .edit-cont__inner {
    display: block;
  }
  .edit-cont__inner + .edit-cont__inner {
    margin-top: 25px;
  }
  .edit-cont__head,
  .edit-cont__body {
    width: 100%;
    padding: 0;
  }
  .edit-cont__title {
    font-size: 2.1rem;
    margin-bottom: 40px;
  }
  .edit-cont__img {
    max-width: 500px;
  }
  .edit-cont__head {
    width: 100%;
    margin-bottom: 0.5em;
  }
  .edit-cont__check {
    width: 100%;
  }
  .edit-cont__btn {
    margin-top: 50px;
  }
}
.edit-cont__upload {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .edit-cont__guest {
    display: block;
  }
  .edit-cont__upload {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 30px;
  }
}
.edit-vs {
  display: flex;
  flex-wrap: wrap;
  margin: 40px 0;
}
.edit-vs__label {
  width: 15%;
  font-weight: 600;
}
.edit-vs__img {
  width: 25%;
  aspect-ratio: 3/2;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.edit-vs__img img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}
.edit-vs__set {
  width: 55%;
  display: flex;
  flex-direction: column;
  row-gap: 15px;
  margin-right: 0;
  margin-left: auto;
}
.edit-vs__set input {
  width: 100%;
}
.edit-vs__btns {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .edit-vs__label {
    width: 100%;
    margin-bottom: 0.5em;
  }
  .edit-vs__img {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 15px;
  }
  .edit-vs__set {
    width: 100%;
  }
  .edit-vs__labels {
    font-size: 1.2rem;
    margin-top: 15px;
  }
}
.party-navi {
  font-weight: 600;
  max-width: 700px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 12px;
  margin: -2em auto 0;
  position: relative;
}
.party-navi__list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.party-navi__item {
  position: relative;
}
.party-navi__item::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 1em;
  top: 22px;
}
.party-navi__link {
  display: block;
  padding: 1em 3em;
}
.party-navi__link:hover {
  opacity: 0.7;
}
.game-rule__detail input[type="checkbox"]:checked {
  color: red;
}
@media screen and (max-width: 768px) {
  .party-navi {
    max-width: 80%;
    font-size: 1.4rem;
  }
  .party-navi__item::after {
    right: 0.5em;
    top: 15px;
  }
  .party-navi__link {
    padding: 0.5em 2em;
  }
}
.game-rule__item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 30px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.game-rule__item:first-child {
  padding-top: 0;
}
.game-rule__item--team {
  display: none;
}
.game-rule__title {
  width: 20rem;
  font-size: 1.8rem;
  font-weight: 600;
  flex-shrink: 0;
}
.game-rule__detail {
  width: calc(100% - 20rem);
  display: flex;
  align-items: center;
}
.game-rule__detail label {
  user-select: none;
}
.game-rule__input {
  width: 100%;
}
.game-rule__date {
  margin-right: 2em;
}
.game-rule__select {
  width: 80px;
  font-size: 14px;
  padding: 1em;
  border-radius: 4px;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  cursor: pointer;
  appearance: auto;
}
.game-rule__calendar {
  width: 180px;
  margin-right: 20px;
}
.game-rule__color {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.game-rule__color a {
  text-decoration: underline;
}
.game-rule__color a:hover {
  opacity: 0.7;
}
.game-rule__current {
  width: 40px;
  height: 40px;
  border-radius: 10px;
}
.game-rule__logo {
  width: 60px;
  height: 60px;
  background-color: #fafafa;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin-right: 20px;
}
.game-rule__upload {
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 1em 2em;
}
.game-rule__upload:hover {
  border-color: #000;
}
.game-rule__file {
  display: none;
}
.game-rule__item--team {
  display: none;
}
.game-rule__item--team.show {
  display: flex;
}
input[type="text"].game-rule__team {
  width: 4em;
  margin-right: 15px;
}
p.game-rule__txt {
  font-size: 1.4rem;
  margin-top: 1.5em;
}
@media screen and (max-width: 768px) {
  .game-rule__item {
    flex-wrap: wrap;
    padding: 20px 0;
  }
  .game-rule__title {
    width: 100%;
    font-size: 1.6rem;
    margin-bottom: 0.5em;
  }
  .game-rule__detail {
    width: 100%;
  }
  p.game-rule__txt {
    font-size: 1.2rem;
  }
}
.img-device {
  background-image: url(/images/main/party/device.png);
  align-self: end;
  width: 70%;
  height: 250px;
}
.device__control {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.device__switch {
  width: 200px;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 30px;
  overflow: hidden;
  margin-right: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  position: relative;
}
.device__slider {
  display: inline-block;
  width: 50%;
  height: 100%;
  border-radius: 25px;
  position: absolute;
  z-index: -1;
  transition: 0.4s;
  transform: translateX(0);
  z-index: 10;
}
.device__slider.slide-right {
  transform: translateX(100%);
}
.device__switch__inner {
  width: 50%;
  display: inline-block;
  padding: 1em;
  text-align: center;
  cursor: pointer;
  z-index: 20;
  color: rgba(0, 0, 0, 0.4);
  transition: 0.4s;
}
.device__switch__inner.active {
  color: #fff;
}
.party-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 50px;
  border-top: #fafafa;
}
.party-btn__cancel {
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 1em;
  width: 200px;
  text-align: center;
  margin-right: 30px;
}
.party-btn__save {
  color: #fff;
  border: #fafafa;
  border-radius: 4px;
  padding: 1em;
  width: 300px;
  text-align: center;
  box-shadow: 0 0 25px 15px rgba(0, 0, 0, 0.04);
  transition: all 0.2s ease;
}
.party-btn__save:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .device__control p {
    line-height: 1.5;
  }
  .device__switch {
    width: 220px;
    margin-right: 0;
    margin-left: 20px;
  }
}
#design.conteiner {
  padding-top: 0;
}
.bingo-design {
  max-width: 1200px;
  padding: 80px;
  background-color: #fbf8ee;
  margin: 0 auto 50px;
}
.bingo-design__ttl {
  font-size: 3.2rem;
  text-align: center;
  margin-bottom: 40px;
}
.bingo-set {
  font-size: 1.4rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 40px;
  border-radius: 4px;
  margin-top: 50px;
}
.bingo-set__inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 70px;
}
.bingo-set__item {
  display: flex;
  justify-content: center;
  width: 45%;
}
.bingo-set__ttl {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 30px;
}
.bingo-set__block + .bingo-set__block {
  margin-top: 30px;
}
.bingo-set__label {
  display: block;
  cursor: pointer;
  margin-top: 1em;
  user-select: none;
  position: relative;
}
.bingo-set__check {
  font-weight: 500;
  white-space: nowrap;
}
.bingo-set__check input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}
.bingo-set__check input[type="checkbox"]:checked ~ .my-check {
  display: inline-block;
}
.bingo-set__img {
  max-width: 300px;
  margin-left: 50px;
}
.bingo-set__cap {
  display: block;
  aspect-ratio: 16/9;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  overflow: hidden;
  margin: 0.5em 0;
}
.bingo-set__cap img {
  height: 100%;
  object-fit: cover;
}
.bingo-set__device {
  display: flex;
  margin-left: 50px;
}
.bingo-set__cap--sp {
  max-width: 125px;
  margin-right: 40px;
}
.bingo-set__cap--sp img {
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1550px) {
  .bingo-design {
    padding: 50px;
  }
  .bingo-set__item {
    width: 100%;
    justify-content: left;
  }
}
@media screen and (max-width: 768px) {
  #design {
    background-color: #fbf8ee;
  }
  .bingo-design {
    padding: 30px 15px 30px;
  }
  .bingo-design__ttl {
    font-size: 2.4rem;
    margin-bottom: 0.5em;
  }
  .bingo-design__txt {
    font-size: 1.4rem;
  }
  .bingo-set {
    padding: 20px;
    margin-top: 25px;
  }
  .bingo-set__inner {
    gap: 40px;
    flex-wrap: wrap;
  }
  .bingo-set__ttl {
    font-size: 1.6rem;
  }
  .bingo-set__check {
    width: 4em;
  }
  .bingo-set__img {
    width: calc(100% - 4em);
    max-width: 400px;
  }
  .bingo-set__device {
    display: block;
  }
  .bingo-set__cap--sp {
    margin-right: 0;
  }
  .bingo-set__cap--sp:first-child {
    margin-bottom: 30px;
  }
}
.present-header {
  min-height: 240px;
  height: 30vh;
  background: no-repeat center/cover;
  text-align: center;
  color: #fff;
  border-radius: 10px;
  padding: 20px;
  margin: 50px 50px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.present-header__ttl {
  font-size: 2.4rem;
}
.modal-presesnt__flex {
  display: flex;
  justify-content: space-between;
}
.modal-presesnt__inner {
  width: 45%;
}
.modal-presesnt__inner::after {
  content: "";
  display: inline-block;
  width: 6%;
  height: 1px;
  background-color: #000;
  position: absolute;
  top: 32%;
  left: 50%;
  transform: translateX(-50%);
}
.modal-presesnt__img {
  aspect-ratio: 3/2;
  border-radius: 10px;
  background: no-repeat center/cover;
  margin-bottom: 10px;
}
.modal-presesnt__ttl {
  display: flex;
  flex-direction: column;
  font-size: 2.8rem;
  font-weight: 600;
  word-break: break-all;
  margin-bottom: 20px;
}
@media screen and (max-width: 1000px) {
  .modal-presesnt__ttl {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .present-header {
    min-height: 180px;
    height: 25vh;
    width: 90%;
    margin: 30px auto 0;
  }
  .present-header__ttl {
    font-size: 2.1rem;
  }
  .modal-presesnt {
    font-size: 1.4rem;
  }
  .modal-presesnt__flex {
    flex-direction: column;
    gap: 60px;
  }
  .modal-presesnt__inner {
    width: 100%;
  }
  .modal-presesnt__inner::after {
    width: 1px;
    height: 35px;
    top: calc(50% + 30px);
    left: 50%;
  }
  .modal-presesnt__ttl {
    font-size: 1.8rem;
  }
}
.file-upload-box {
  width: 100%;
  max-width: 350px;
  aspect-ratio: 3/2;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background-color: #f2f2f2;
  padding: 10px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
}
.file-upload-box img {
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.file-upload-box__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  position: relative;
}
.file-upload-box__btn {
  font-size: 1.4rem;
  display: inline-block;
  font-weight: 700;
  background: #fff;
  border-radius: 6px;
  padding: 0.6em 0.8em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}
.file-upload-box__btn:hover {
  border-color: #000;
}
@media screen and (max-width: 480px) {
  .present-header__ttl {
    font-size: 1.8rem;
  }
}
.sub-navi.navi-contents .sub-navi__item {
  border-right: 1px solid rgba(0, 0, 0, 0.15);
}
.sub-navi.navi-contents .sub-navi__item:first-child,
.sub-navi.navi-contents .sub-navi__item:last-child {
  border: none;
}
.sub-navi.navi-contents .sub-navi__item:first-child {
  position: relative;
  padding-right: 0.5em;
  margin-right: 0.5em;
}
.sub-navi.navi-contents .sub-navi__item:first-child::before,
.sub-navi.navi-contents .sub-navi__item:first-child::after {
  content: "";
  display: inline-block;
  height: 50%;
  border-right: 1px solid rgba(0, 0, 0, 0.15);
  position: absolute;
  right: 0;
}
.sub-navi.navi-contents .sub-navi__item:first-child::before {
  transform: rotate(-25deg);
  top: 1px;
}
.sub-navi.navi-contents .sub-navi__item:first-child::after {
  transform: rotate(25deg);
  bottom: 1px;
}
.contents-wrapper {
  max-width: 800px;
  margin: 0 auto;
}
.contents-head {
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  border-radius: 4px;
  height: 20vh;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 5% 5% 0;
  padding: 20px;
}
.contents-ttl {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
}
.contents-ttl--select {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.contents-ttl--level2 {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 1.5em;
}
.contents-btns {
  font-size: 1.4rem;
  width: calc(100% - 500px);
  background: #fff;
  padding: 15px 0;
  display: flex;
  justify-content: center;
  position: fixed;
  gap: 20px;
  bottom: 0;
  z-index: 100;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 1000px) {
  .contents-btns {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .contents-head {
    height: 15vh;
    margin: 10% 5% 0;
  }
  .contents-ttl,
  .contents-ttl--select {
    font-size: 2.1rem;
  }
  .contents-ttl--level2 {
    font-size: 1.8rem;
  }
}
.count-box {
  border-radius: 8px;
  padding: 20px 0;
  font-weight: 600;
  text-align: center;
}
.count-box__ttl {
  margin: 0.5em 0;
}
.count-box__icon {
  width: 65px;
  height: 65px;
  background: #fff;
  border-radius: 50%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .count-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    text-align: left;
  }
  .count-box__icon {
    width: 50px;
    height: 50px;
    margin: 0;
    flex-shrink: 0;
  }
  .count-box__inner {
    width: 120px;
  }
  .count-box__ttl {
    font-size: 1.4rem;
    margin-top: 0;
  }
}
.page-addon .page-mv__img--left {
  background-image: url(/images/main/pages/contents/index/main-l.jpg);
}
.page-addon .page-mv__img--right {
  background-image: url(/images/main/pages/contents/index/main-r.jpg);
}
.addon-spacer {
  margin-top: 50px;
}
.addon-box {
  margin-top: 80px;
}
.addon-box__inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.addon-box__inner .imgWrapper {
  width: 50%;
}
.addon-box__inner:not(:first-child) {
  margin-top: 40px;
}
.addon-box__content {
  width: 45%;
}
.addon-box__content .idx-title {
  margin-bottom: 40px;
}
.addon-box__content .about-process {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .addon-box {
    margin-top: 60px;
  }
  .addon-box .imgWrapper {
    margin-top: 20px;
  }
  .addon-box__content {
    width: 100%;
  }
  .addon-box__content .idx-title {
    font-size: 21px;
    margin-bottom: 0.5em;
  }
  .addon-box__inner .imgWrapper {
    width: 100%;
  }
}
.page-contents-list .content__2col__right {
  margin-bottom: 51px;
}
.contents-list-option {
  font-size: 1.4rem;
  margin-bottom: 2em;
}
.contents-list-option .extensions {
  margin-top: 0;
}
.extra-box {
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
}
.extra-box.show {
  opacity: 1;
  visibility: visible;
}
.on-off-box {
  width: 190px;
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 30px;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  position: relative;
}
.on-off-box__slider {
  display: inline-block;
  width: 50%;
  height: 100%;
  border-radius: 25px;
  position: absolute;
  z-index: -1;
  transition: 0.4s;
  transform: translateX(100%);
  z-index: 10;
}
.on-off-box__label {
  font-size: 1.4rem;
  width: 50%;
  display: inline-block;
  padding: 0.8em;
  text-align: center;
  cursor: pointer;
  z-index: 20;
  color: rgba(0, 0, 0, 0.4);
  transition: 0.4s;
}
.on-off-box__label.active {
  color: #fff;
}
.on-off-box__label.disable {
  color: #fff;
}
.contents-navi-list {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}
.contents-navi-item {
  position: relative;
  transition: all 0.2s ease;
  border-right: 3px solid rgba(0, 0, 0, 0);
}
.contents-navi-item:not(:first-child) {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.contents-navi-item.js-contents-navi {
  display: none;
}
.contents-navi-item.active,
.contents-navi-item:hover {
  border-right-color: #333;
}
.contents-navi-item::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.3);
  border-right: 1px solid rgba(0, 0, 0, 0.3);
  transform: rotate(45deg);
  position: absolute;
  right: 1em;
  top: calc(50% - 4px);
}
.contents-navi-item.show {
  display: block;
}
.contents-navi-item__link {
  padding: 1em 4em 1em 2em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contents-box {
  max-width: 750px;
  margin: 0 auto;
}
.contents-box__ttl {
  text-align: center;
  font-size: 2.4rem;
  margin: 2.5em 0 1em;
}
.contents-box__inner {
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  overflow: hidden;
}
.contents-item {
  display: flex;
  padding: 25px;
}
.contents-item:not(.child) {
  background: #fff;
}
.contents-item.child {
  margin-left: 75px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
a.contents-item,
a.contents-item.child {
  transition: 0.2s;
}
a.contents-item:hover,
a.contents-item.child:hover {
  opacity: 0.7;
}
.contents-item__icon {
  mix-blend-mode: darken;
  width: 150px;
  flex-shrink: 0;
}
.contents-item__inner {
  padding-left: 25px;
  width: calc(100% - 150px);
}
.contents-item__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 20px;
  row-gap: 10px;
  margin-bottom: 30px;
}
.contents-item__ttl {
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.contents-item__label {
  display: inline-block;
  padding: 4px 10px;
  font-size: 1.2rem;
  font-weight: 400;
  border-width: 1px;
  border-style: solid;
  border-radius: 20px;
}
.contents-item__link {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 20px;
  text-decoration: underline;
  position: relative;
  z-index: 1;
}
.contents-item__link a:hover {
  opacity: 0.8;
}
.contents-item__hide {
  visibility: hidden;
  opacity: 0;
  transition: all 0.2s ease;
}
.contents-item__btn {
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.3;
  color: rgba(0, 0, 0, 0.4);
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 30px;
  padding: 0.8em 1.2em;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.2s ease;
  position: relative;
  z-index: 1;
}
a.contents-item__btn:hover {
  color: #000;
  border-color: #000;
}
.contents-item.disable {
  position: relative;
}
.contents-item.disable::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.5);
}
.contents-item.active .on-off-box__label.enable {
  color: #fff;
}
.contents-item.active .on-off-box__label.disable {
  color: rgba(0, 0, 0, 0.4);
}
.contents-item.active .on-off-box__slider {
  transform: translateX(0);
}
.contents-item.active .contents-item__hide {
  visibility: visible;
  opacity: 1;
}
@media (1000px <= width < 1280px) {
  .contents-item__head {
    flex-wrap: wrap;
  }
  .contents-item__ttl {
    font-size: 1.6rem;
    width: 100%;
  }
  .on-off-box__label {
    font-size: 1.2rem;
  }
  .contents-item__icon {
    width: 100px;
  }
  .contents-item__inner {
    padding: 0 20px;
    width: calc(100% - 100px);
  }
}
@media screen and (max-width: 1000px) {
  .page-contents-list .content__2col__right {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .contents-item__head {
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
  .extra-box {
    height: 0;
  }
  .extra-box.show {
    height: 100%;
  }
  .contents-box__ttl {
    font-size: 1.8rem;
  }
  .contents-item__ttl {
    font-size: 1.6rem;
    width: 100%;
  }
  .on-off-box__label {
    font-size: 1.2rem;
  }
  .contents-item {
    flex-direction: column;
  }
  .contents-item.child {
    margin-left: 30px;
  }
  .contents-item__head {
    justify-content: center;
    margin-bottom: 15px;
  }
  .contents-item__icon {
    width: 100px;
    margin: 0 auto;
  }
  .contents-item__inner {
    padding: 0;
    width: 100%;
  }
  .contents-item__link {
    font-size: 1.4rem;
  }
  .contents-item__ttl {
    flex-direction: column;
  }
}
.page-contents-table .content__2col__right {
  margin-bottom: 51px;
}
.contents-set + .contents-set {
  padding-top: 30px;
}
.contents-set__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px;
}
.contents-set__inner.separation {
  padding-bottom: 30px;
}
.contents-sec + .contents-sec {
  padding-top: 50px;
}
.contents-set__col {
  width: 47%;
}
.contents-table-img {
  position: relative;
}
.contents-table-img__inner {
  background: #e9e9e9;
  text-align: center;
  aspect-ratio: 16/9;
  border-radius: 10px;
  overflow: hidden;
}
.contents-table-img__inner img,
.contents-table-img__inner video {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.contents-table-img__zoom {
  display: inline-block;
  width: 25px;
  height: 25px;
  border: 1px solid #707070;
  border-radius: 50%;
  background: url(/images/main/icon/search.svg) no-repeat center/12px;
  background-color: #fff;
  position: absolute;
  bottom: -5px;
  right: -10px;
}
.contents-table-img__zoom:hover {
  border-color: #000;
  background-color: #fafafa;
}
.modal-zoom {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 1000;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  transition: 0.2s ease-out;
}
.modal-zoom.open {
  visibility: visible;
  opacity: 1;
}
.modal-zoom__bg {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}
.modal-zoom__content {
  background: #fff;
  width: 90%;
  max-width: 800px;
  height: 90dvh;
  padding: 20px;
  border: 1px solid #707070;
  border-radius: 10px;
  position: relative;
}
.modal-zoom__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.modal-zoom__close {
  color: #fff;
  position: absolute;
  top: -35px;
  right: 0px;
  font-size: 28px;
  font-weight: bold;
  transition: all 0.2s ease;
}
.modal-zoom__close:hover,
.modal-zoom__close.close:focus {
  text-decoration: none;
  cursor: pointer;
  transform: rotate(90deg);
}
.contents-set__btns {
  width: 250px;
}
.contents-set__pdf-box {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  column-gap: 50px;
  row-gap: 15px;
  margin-top: 30px;
}
.contents-set__pdf-btn {
  color: #fff;
  display: inline-block;
  padding: 0.8em 2em;
  border-radius: 30px;
  filter: grayscale(0.9);
  opacity: 0.7;
  pointer-events: none;
}
.contents-set__pdf-btn.uploaded {
  filter: grayscale(0);
  pointer-events: initial;
  opacity: 1;
  transition: all 0.2s ease;
}
.contents-set__pdf-btn.uploaded:hover {
  opacity: 0.85;
}
.table-message__txt {
  margin-bottom: 1em;
  font-size: 1.4rem;
}
.table-message__txt a {
  text-decoration: underline;
}
.table-message__txt a:hover {
  opacity: 0.8;
}
.table-message__textarea {
  width: 100%;
}
.table-message__select {
  position: relative;
}
.table-message__select select {
  cursor: pointer;
  width: 100%;
  transition: all 0.2s ease;
}
.table-message__select select:hover {
  opacity: 0.8;
}
.table-message__select::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  position: absolute;
  top: 19px;
  right: 15px;
}
@media (1000px <= width < 1280px) {
  .contents-set__inner {
    gap: 30px;
  }
  .contents-set__col {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .page-contents-table .content__2col__right {
    margin-bottom: 0;
  }
  .contents-set__inner {
    gap: 30px;
  }
  .contents-set__col {
    width: 100%;
  }
  .contents-set__btns {
    width: 100%;
    max-width: 300px;
  }
  .contents-set__pdf-btn {
    font-size: 1.4rem;
  }
}
.allocationCounter {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 2em 0;
  font-weight: 600;
  gap: 20px;
}
.allocationCounter__inner {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.allocationCounter__icon {
  width: 65px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
}
#navi-table-no {
  scroll-margin-top: 120px;
}
.table-container {
  padding-top: 80px;
  padding-bottom: 80px;
  min-height: 40dvh;
}
.add-table {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  border-radius: 4px;
  padding: 25px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.add-table:hover {
  border-color: #000;
}
.add-table:hover .add-table__arrow {
  border-color: #000;
}
.add-table + .add-table {
  margin-top: 25px;
}
.add-table__ttl {
  font-size: 1.8rem;
  word-break: break-all;
}
.add-table__icon {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}
.add-table__icon .icon-plus {
  margin: 0;
}
.add-table__arrow {
  display: inline-block;
  width: 10px;
  aspect-ratio: 1/1;
  border-top: 1px solid rgba(0, 0, 0, 0.3);
  border-right: 1px solid rgba(0, 0, 0, 0.3);
  transform: rotate(45deg);
  position: absolute;
  right: 25px;
  top: calc(50% - 5px);
  transition: all 0.2s ease;
}
.add-table--new {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  border-radius: 4px;
  padding: 25px;
  transition: all 0.2s ease;
  margin: 25px 0;
  position: relative;
}
.add-table--new:hover {
  border-color: #000;
}
.add-table--new .add-table__ttl {
  font-size: 1.6rem;
  font-weight: 400;
}
.add-table--new .icon-plus {
  position: absolute;
  left: 20px;
  top: 30px;
}
.add-new-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  border-radius: 60px;
  padding: 25px 40px;
  transition: all 0.2s ease;
  margin: 25px 0;
}
.add-new-item:hover {
  border-color: #000;
}
.add-new-item::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  border-right: 1px solid rgba(0, 0, 0, 0.4);
  transform: rotate(45deg);
  flex-shrink: 0;
}
.add-new-item__ttl {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1em;
  line-height: 1.3;
  word-break: break-all;
}
@media screen and (max-width: 768px) {
  .allocationCounter__inner {
    font-size: 1.4rem;
  }
  .table-container {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .add-table {
    padding: 15px;
    flex-direction: column;
    gap: 10px;
  }
  .add-table + .add-table {
    margin-top: 15px;
  }
  .add-table__icon {
    align-self: flex-end;
  }
  .add-table__ttl {
    font-size: 1.6rem;
  }
  .add-table--new {
    padding: 15px;
    margin: 15px 0;
  }
  .add-table--new .icon-plus {
    left: 15px;
    top: 20px;
  }
  .add-new-item {
    padding: 15px 30px;
  }
  .add-new-item__ttl {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  .table-container {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .add-table__ttl {
    font-size: 1.4rem;
  }
}
.page-contents-list-select .content__2col__right {
  margin-bottom: 81px;
}
.check-name {
  max-width: 700px;
  margin: 45px auto 0;
}
.check-name-item__table {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 15px;
}
.check-name-item {
  display: flex;
  align-items: center;
  margin-top: 15px;
}
input[type="checkbox"].check-name-item__input {
  width: 18px;
  height: 18px;
  margin-right: 1em;
  flex-shrink: 0;
}
.check-name-item__box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0);
  transition: all 0.2s ease;
}
.check-name-item__box:hover {
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
}
.check-name-item__info {
  display: flex;
  align-items: center;
  gap: 35px;
}
.check-name-item__icon {
  width: 35px;
  aspect-ratio: 1/1;
  border-radius: 4px;
  flex-shrink: 0;
}
.check-name-item__name {
  width: 8em;
  flex-shrink: 0;
  line-height: 1.3;
  word-wrap: break-word;
  font-weight: 400;
}
.check-name-item__txt {
  font-size: 1.4rem;
  max-width: 10em;
  line-height: 1.3;
}
.check-name-item__mark {
  display: inline-block;
  font-size: 1rem;
  background: #ff8d8d;
  color: #fff;
  font-weight: 700;
  border-radius: 20px;
  padding: 8px 15px;
}
.check-name-item.selected .check-name-item__box {
  background: #ffecec;
  border: 1px solid #f86456;
}
.check-name-item input[type="checkbox"]:checked + .check-name-item__box {
  background: #ffecec;
  border: 1px solid #f86456;
}
@media screen and (max-width: 1000px) {
  .page-contents-list-select .content__2col__right {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .check-name-item__box {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
  .check-name-item__txt {
    max-width: 100%;
    padding-left: 60px;
  }
  .check-name-item__mark {
    margin-left: 60px;
  }
  .check-name-item__info {
    width: 100%;
    row-gap: 5px;
    column-gap: 25px;
    flex-wrap: wrap;
  }
  .check-name-item__name {
    width: calc(100% - 60px);
  }
}
.page-contents-menu .content__2col__right {
  margin-bottom: 51px;
}
.page-contents-menu-edit .content__2col__right {
  margin-bottom: 81px;
}
.customized-menu {
  display: flex;
  gap: 15px;
  margin-top: 25px;
}
.customized-menu .add-table {
  flex: 1;
}
.customized-menu__delete {
  color: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  border-radius: 4px;
  padding: 25px;
  transition: all 0.2s ease;
}
.customized-menu__delete:hover {
  border-color: #000;
}
.menu-cover__inner {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
.menu-cover__preview {
  width: 50%;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 16/9;
}
.menu-cover__preview img {
  height: 100%;
  object-fit: cover;
}
.menu-cover__btns {
  width: 45%;
}
.edit-menu-box {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  margin-top: 40px;
}
.edit-menu-box__inner {
  display: flex;
  flex-wrap: wrap;
}
.edit-menu-box__inner:not(:first-child) {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.edit-menu-box__head {
  font-weight: 700;
  width: 25%;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
.edit-menu-box__head.border-r {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}
.edit-menu-box__body {
  width: 75%;
  padding: 40px;
}
.edit-menu-child__box {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  padding: 25px;
  margin-top: 40px;
}
.edit-menu-child__head {
  font-size: 18px;
  margin-bottom: 5px;
}
.edit-menu-child__delete {
  text-align: right;
  margin-top: 2em;
  font-size: 1.4rem;
}
.edit-menu-child__delete button {
  text-decoration: underline;
}
.edit-menu-child__delete button:hover {
  opacity: 0.8;
}
.edit-menu-child__row {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.edit-menu-child__row:not(:first-child) {
  margin-top: 40px;
}
.edit-menu-child__ttl {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.edit-menu-child__radio {
  display: flex;
  flex-wrap: wrap;
  column-gap: 40px;
  row-gap: 22px;
}
.edit-menu-child__radio input[type="radio"] {
  margin-right: 10px;
}
.edit-menu-child__new {
  font-size: 1.4rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  border-radius: 4px;
  padding: 20px;
  transition: all 0.2s ease;
  position: relative;
}
.edit-menu-child__new:hover {
  border-color: #000;
}
.edit-menu-child__new .icon-plus {
  position: absolute;
  left: 15px;
  top: 21px;
}
.page-contents-menu-list-select .content__2col__right {
  margin-bottom: 81px;
}
@media screen and (max-width: 1080px) {
  .page-contents-menu .content__2col__right,
  .page-contents-menu-edit .content__2col__right {
    margin-bottom: 0;
  }
  .page-contents-menu-list-select .content__2col__right {
    margin-bottom: 0;
  }
  .menu-cover__inner {
    max-width: 400px;
    flex-direction: column;
    row-gap: 20px;
  }
  .menu-cover__preview,
  .menu-cover__btns {
    width: 100%;
  }
}
@media (1000px <= width < 1280px) {
  .edit-menu-box__head,
  .edit-menu-box__body {
    width: 100%;
  }
  .edit-menu-box__head {
    padding-bottom: 0;
  }
  .edit-menu-box__head.border-r {
    border-right: none;
  }
}
@media screen and (max-width: 768px) {
  .customized-menu {
    gap: 10px;
  }
  .customized-menu__delete {
    padding: 15px;
    font-size: 1.4rem;
  }
  .edit-menu-child__box {
    margin-top: 25px;
  }
  .edit-menu-child__head {
    font-size: 16px;
    margin-bottom: 0;
  }
  .edit-menu-box__head,
  .edit-menu-box__body {
    width: 100%;
    padding: 25px;
  }
  .edit-menu-box__head {
    padding-bottom: 0;
  }
  .edit-menu-box__head.border-r {
    border-right: none;
  }
  .edit-menu-child__row {
    font-size: 1.4rem;
  }
  .edit-menu-child__row:not(:first-child) {
    margin-top: 25px;
  }
  .edit-menu-child__new {
    padding: 15px;
  }
  .menu-list-head {
    margin-bottom: 30px;
  }
}
.page-contents-message .content__2col__right {
  margin-bottom: 51px;
}
.contents-set__message {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 50px;
  row-gap: 15px;
  margin-top: 30px;
}
.contents-set__message.separation {
  padding-bottom: 30px;
}
.contents-message-img {
  width: 150px;
  position: relative;
}
.contents-message-img__inner {
  background: #e9e9e9;
  text-align: center;
  aspect-ratio: 4/3;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.contents-message-img__inner img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.contents-message-img__zoom {
  display: inline-block;
  width: 22px;
  height: 22px;
  border: 1px solid #707070;
  border-radius: 50%;
  background: url(/images/main/icon/search.svg) no-repeat center/10px;
  background-color: #fff;
  position: absolute;
  bottom: -5px;
  right: -10px;
}
.contents-message-img__zoom:hover {
  border-color: #000;
  background-color: #fafafa;
}
@media screen and (max-width: 1000px) {
  .page-contents-message .content__2col__right {
    margin-bottom: 0;
  }
}
.modal-message__box {
  padding: 30px;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.modal-message__box p + p {
  margin-top: 1em;
}
.modal-message__edit {
  display: block;
  width: 100%;
  padding: 1.2em;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  text-align: center;
  transition: all 0.2s ease;
  margin-top: 60px;
}
.modal-message__edit:hover {
  border-color: #000;
}
@media screen and (max-width: 768px) {
  .modal-message__box {
    padding: 20px;
  }
  .modal-message__edit {
    margin-top: 40px;
  }
}
.gift-wrapper {
  max-width: 700px;
  margin: 0 auto;
}
.gift-lead a {
  text-decoration: underline;
}
.gift-lead a:hover {
  opacity: 0.8;
}
.gift-add {
  display: flex;
  width: 100%;
  max-width: 700px;
  margin: 40px auto 0;
  padding: 20px 15px;
  background-color: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  transition: all 0.2s ease;
}
.gift-add:hover {
  border-color: #000;
}
.gift-list {
  margin-top: 20px;
}
.gift-item {
  display: flex;
  align-items: flex-start;
  column-gap: 20px;
  padding: 1em;
  border-radius: 4px;
  transition: all 0.2s ease;
  border: 1px solid rgba(0, 0, 0, 0);
  cursor: pointer;
}
.gift-item:hover {
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.gift-item__info {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.gift-item__ttl {
  font-weight: 400;
  word-break: break-all;
}
.gift-item__icon {
  width: 40px;
  aspect-ratio: 1/1;
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  flex-shrink: 0;
  background: no-repeat center/cover;
}
.gift-item__label {
  display: flex;
  align-items: center;
  gap: 15px;
}
.gift-item__label span {
  display: inline-block;
  font-size: 1.2rem;
  padding: 0.6em 1.2em;
  border-radius: 30px;
  white-space: nowrap;
  color: #fff;
  background-color: #878787;
}
.modal-gift__layout {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.modal-gift__link {
  font-size: 1.4rem;
  color: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 1.5em;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  margin: 15px 0;
  transition: all 0.2s ease;
}
.modal-gift__link::after {
  content: "";
  display: inline-block;
  width: 25px;
  aspect-ratio: 2/1;
  background: url(/images/main/icon/link.svg) no-repeat center/contain;
  flex-shrink: 0;
}
.modal-gift__link:hover {
  border-color: #000;
}
.modal-gift__txt {
  font-size: 1.4rem;
  color: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 1.5em;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin: 15px 0;
}
.edit-gift__row {
  display: flex;
  row-gap: 10px;
}
.edit-gift__row:not(:first-child) {
  margin-top: 60px;
}
.edit-gift__head {
  width: 250px;
  padding-right: 30px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.edit-gift__body {
  width: calc(100% - 250px);
}
.edit-gift__body input[type="text"],
.edit-gift__body select,
.edit-gift__body textarea {
  width: 100%;
}
.edit-gift__img {
  width: 100%;
  max-width: 350px;
  aspect-ratio: 3/2;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background-color: #f2f2f2;
  position: relative;
}
.edit-gift__img img {
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.edit-gift__upload {
  font-size: 1.4rem;
  display: inline-block;
  font-weight: 700;
  background: #fff;
  border-radius: 7px;
  padding: 0.8em;
  border: 1px solid rgba(0, 0, 0, 0.1);
  position: absolute;
  bottom: 10px;
  right: 10px;
  transition: all 0.2s ease;
}
.edit-gift__upload:hover {
  border-color: #000;
}
.edit-gift__btns {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 10px;
  margin-top: 60px;
}
.add-gift {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 25px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  border-radius: 4px;
  padding: 25px;
  transition: all 0.2s ease;
  margin-top: 25px;
}
.add-gift:hover {
  border-color: #000;
}
.add-gift__inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.add-gift__thumb {
  width: 100px;
  aspect-ratio: 1/1;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  background: no-repeat center/cover;
  background-color: #f2f2f2;
  flex-shrink: 0;
}
.add-gift__ttl {
  font-size: 1.8rem;
  word-break: break-all;
}
.add-gift__plus {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}
.add-gift__plus .icon-plus {
  margin: 0;
}
.add-gift__label {
  margin-top: 10px;
  margin-bottom: 30px;
}
.add-gift__label span {
  display: inline-block;
  font-size: 1.2rem;
  padding: 0.6em 1.2em;
  border-radius: 30px;
  white-space: nowrap;
  color: #fff;
  background-color: #878787;
}
.page-contents-gift-list-select .content__2col__right {
  margin-bottom: 81px;
}
.use-coupon-link {
  display: flex;
  align-items: center;
  gap: 15px;
  font-weight: 700;
  text-decoration: underline;
  margin-top: 1.5em;
}
.use-coupon-link::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: rotate(45deg);
  flex-shrink: 0;
}
.use-coupon-link:hover {
  opacity: 0.8;
}
.yui-flow-list {
  margin-top: 60px;
}
.yui-flow-item {
  padding: 20px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  column-gap: 50px;
  row-gap: 15px;
  counter-increment: flow;
}
.yui-flow-item__inner {
  display: flex;
  gap: 25px;
  color: #707070;
  line-height: 1.8;
}
.yui-flow-item__inner::before {
  font-family: "Roboto", sans-serif;
  content: counter(flow);
  flex-shrink: 0;
}
.yui-flow-item__txt {
  max-width: 350px;
}
.yui-flow-item__txt a {
  display: inline-block;
  text-decoration: underline;
}
.yui-flow-item__txt a:hover {
  color: #000;
}
.yui-flow-item__thumb {
  width: 150px;
  aspect-ratio: 16/9;
  background: no-repeat center/cover;
  background-color: #f2f2f2;
  border-radius: 10px;
  flex-shrink: 0;
}
@media screen and (max-width: 1000px) {
  .page-contents-gift-list-select .content__2col__right {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .gift-item {
    font-size: 1.4rem;
  }
  .gift-item__ttl {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .modal-gift__layout {
    flex-direction: column-reverse;
    gap: 1em;
  }
  .modal-gift__link,
  .modal-gift__txt {
    margin: 5px 0;
  }
  .edit-gift__row {
    flex-wrap: wrap;
  }
  .edit-gift__row:not(:first-child) {
    margin-top: 45px;
  }
  .edit-gift__head,
  .edit-gift__body {
    width: 100%;
    padding: 0;
  }
  .add-gift {
    padding: 15px;
    flex-direction: column;
    gap: 10px;
  }
  .add-gift + .add-table {
    margin-top: 15px;
  }
  .add-gift__plus {
    align-self: flex-end;
  }
  .add-gift__ttl {
    font-size: 1.6rem;
  }
  .yui-flow-list {
    margin-top: 40px;
  }
  .yui-flow-item {
    flex-wrap: wrap;
  }
  .yui-flow-item__inner {
    width: 100%;
  }
  .yui-flow-item__txt {
    font-size: 1.4rem;
  }
  .yui-flow-item__thumb {
    width: 80%;
    max-width: 500px;
    margin: 0 auto;
  }
}
.album-head {
  font-size: 2.1rem;
  display: flex;
  align-items: center;
  word-break: break-all;
}
.album-box + .album-box {
  margin-top: 80px;
}
.album-head__time {
  font-size: 2.6rem;
  font-family: "Roboto", sans-serif;
  width: 100px;
  flex-shrink: 0;
}
.album-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 30px;
  padding-left: 100px;
  margin-top: 30px;
}
.album-item {
  aspect-ratio: 1/1;
  background: no-repeat center/cover;
  background-color: #f2f2f2;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.album-item:hover {
  opacity: 0.8;
}
.modal-album__inner {
  display: flex;
  justify-content: space-between;
}
.modal-album__img {
  width: 40%;
  height: auto;
}
.modal-album__img img {
  border-radius: 10px;
  height: 100%;
  object-fit: cover;
}
.modal-album__main {
  width: 55%;
}
.modal-album__head {
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 20px;
}
.modal-album__icon {
  width: 45px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  flex-shrink: 0;
  background: no-repeat center/cover;
}
.modal-album__date {
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 1.8rem;
  margin-top: 20px;
}
.modal-album__txt {
  margin-top: 50px;
}
.modal-album__box {
  font-size: 1.4rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 20px;
  row-gap: 10px;
  column-gap: 20px;
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
}
.modal-album__box .contents-item {
  padding: 0;
  border: none;
}
@media screen and (max-width: 1000px) {
  .modal-album__inner {
    flex-direction: column;
    gap: 20px;
  }
  .modal-album__img,
  .modal-album__main {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .album-head {
    font-size: 1.8rem;
  }
  .album-head__time {
    font-size: 2.1rem;
    width: 70px;
  }
  .album-list {
    padding-left: 0;
    gap: 15px;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  }
  .modal-album__head,
  .modal-album__date {
    font-size: 1.6rem;
  }
  .modal-album__main {
    font-size: 1.4rem;
  }
  .modal-album__txt,
  .modal-album__box {
    margin-top: 20px;
  }
  .modal-album__box {
    padding: 15px;
  }
}
.timeflow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 20px;
  row-gap: 15px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  border-radius: 4px;
  padding: 25px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  margin-top: 25px;
}
.timeflow:hover {
  border-color: #000;
}
.timeflow.unregistered {
  background: #ffecec;
}
.timeflow.unregistered:hover {
  border-color: #f50000;
}
.timeflowNew {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fafafa;
  border-radius: 4px;
  padding: 25px;
  transition: all 0.2s ease;
  margin-top: 50px;
  margin-bottom: 20px;
  position: relative;
}
.timeflowNew:hover {
  border-color: #000;
}
.timeflowNew .icon-plus {
  position: absolute;
  left: 20px;
  top: 27px;
}
.timeflow__inner {
  flex: 1;
  display: flex;
  align-items: center;
  column-gap: 40px;
  row-gap: 10px;
}
.timeflow__bikou {
  font-size: 1.4rem;
  min-width: 180px;
  color: #f50000;
  margin-left: auto;
  line-height: 1.5;
}
.timeflow__time {
  width: 40px;
  flex-shrink: 0;
}
.timeflow__txt {
  width: 60px;
  font-weight: 500;
  color: #f50000;
  flex-shrink: 0;
}
.timeflowMemo {
  display: flex;
  align-items: center;
  gap: 10px;
}
.timeflowMemo span {
  display: inline-block;
  color: #fff;
  font-size: 12px;
  padding: 5px 15px;
  border-radius: 30px;
}
.timeflow__edit {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
}
.timeflow__edit .icon-plus {
  margin: 0;
}
.timeflowMemo__gray {
  background: #878787;
}
.addProgramTxt {
  font-size: 1.4rem;
  margin-top: 5rem;
}
.timeflow__ttl {
  width: 140px;
  flex-shrink: 0;
  word-break: break-all;
}
.recommendTask {
  max-width: 450px;
  margin: 60px auto 0;
}
.recommendTask__ttl {
  font-size: 2.1rem;
  text-align: center;
}
.recommendTask__btn {
  display: block;
  margin: 40px auto 0;
  max-width: 250px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 1.2em;
  border-radius: 10px;
  transition: all 0.2s ease;
  box-shadow: 0 10px 40px 0 rgba(0, 0, 0, 0.05);
}
.recommendTask__btn:hover {
  opacity: 0.8;
}
.recommendTask__list {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  margin-top: 30px;
}
.recommendTask__list li {
  padding: 20px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  gap: 16px;
}
.recommendTask__list li::before {
  content: "";
  display: inline-block;
  width: 7px;
  aspect-ratio: 1/1;
  background: #f86456;
  border-radius: 50%;
  flex-shrink: 0;
}
.modalTime__ttl {
  font-size: 3.2rem;
  margin-top: 5px;
}
.modalTime__body {
  margin-top: 40px;
  line-height: 1.5;
}
.modalTime__body dt {
  margin-top: 2em;
  margin-bottom: 0.5em;
}
.modalTime__role {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 1em;
  row-gap: 10px;
}
.modalTime__unregistered {
  color: #f50000;
  font-size: 2.1rem;
}
.program-warning-box {
  color: #e65100;
  font-weight: 500;
  background: #fff3e0;
  border-radius: 10px;
  padding: 30px;
}
.program-warning-box__txt {
  padding-left: 30px;
  position: relative;
}
.program-warning-box__txt::before {
  content: "";
  display: inline-block;
  width: 21px;
  aspect-ratio: 1/1;
  background: no-repeat center/contain;
  background-image: url(/images/main/icon/warning.svg);
  position: absolute;
  top: 5px;
  left: 0;
}
.modalRecommended {
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
  padding: 20px;
}
.modalRecommended__ttl {
  font-size: 2.1rem;
  font-weight: 400;
  margin-bottom: 15px;
}
.modalRecommended__ttl:not(:first-of-type) {
  margin-top: 50px;
}
.modalRecommended__list {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  margin-top: 30px;
  text-align: left;
}
.modalRecommended__list li {
  padding: 20px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  gap: 16px;
}
.modalRecommended__list li::before {
  content: "";
  display: inline-block;
  width: 7px;
  aspect-ratio: 1/1;
  background: #f86456;
  border-radius: 50%;
  flex-shrink: 0;
}
.modalRecommended__btn {
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: bold;
  margin-top: 40px;
}
.modalRecommended__cancel {
  display: block;
  padding: 1.2em;
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  transition: all 0.2s ease;
}
.modalRecommended__cancel:hover {
  border: 1px solid #f5f5f5;
  border-color: #000;
}
.modalRecommended__add {
  display: block;
  max-width: 250px;
  color: #fff;
  padding: 1.2em;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.modalRecommended__add:hover {
  opacity: 0.8;
}
.addTaskBtns {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 5rem;
}
.addTaskBtns__note {
  font-size: 1.2rem;
  text-align: center;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  padding: 1.2em 1.5em;
  border-radius: 50px;
  transition: all 0.2s ease;
  margin-left: auto;
}
.addTaskBtns__note:hover {
  opacity: 0.8;
}
.addTaskBtns__recommend {
  position: relative;
  text-decoration: underline;
}
.addTaskBtns__recommend:hover {
  opacity: 0.8;
}
.edit-timeflow__hide {
  display: none;
  padding-top: 50px;
  margin-top: 50px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.edit-timeflow__hide.show {
  display: block;
}
.edit-timeflow__row {
  display: flex;
  row-gap: 10px;
  margin-top: 50px;
}
.edit-timeflow__head {
  width: 250px;
  padding-right: 30px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.edit-timeflow__body {
  width: calc(100% - 250px);
}
.edit-timeflow__body input[type="text"],
.edit-timeflow__body select,
.edit-timeflow__body textarea {
  width: 100%;
}
.edit-timeflow__body .contents-item {
  padding: 0;
  border: none;
}
.edit-timeflow__start {
  display: flex;
  align-items: center;
  gap: 10px;
}
.edit-timeflow__start input[type="text"] {
  max-width: 60px;
}
.edit-timeflow__btns {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 10px;
  margin-top: 60px;
}
.select2-container .select2-selection--multiple {
  background-color: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 5px;
  line-height: 1.7;
}
.select2-container--default
  .select2-selection--multiple
  .select2-selection__choice {
  background: #fff;
}
.select2-container--default
  .select2-selection--multiple
  .select2-selection__choice__remove {
  height: 100%;
}
.select2-container {
  max-width: 100%;
}
.select2-container--default
  .select2-selection--multiple
  .select2-selection__choice__display {
  display: inline-block;
  padding: 2px 8px;
}
.select2-container--default .select2-search--inline .select2-search__field {
  line-height: 1;
  margin: 3px;
}
.notApplied__txt {
  font-size: 1.4rem;
  line-height: 1.4;
  color: #f50000;
  display: none;
  margin-bottom: 10px;
}
.notApplied__txt a {
  text-decoration: underline;
}
.notApplied__txt a:hover {
  opacity: 0.7;
}
.edit-timeflow__row.notApplied {
  display: flex;
}
.edit-timeflow__row.notApplied .select-label {
  user-select: none;
  pointer-events: none;
  cursor: unset;
}
.edit-timeflow__row.notApplied .notApplied__txt {
  display: block;
}
.edit-timeflow__row.notApplied .select2-container .select2-selection--multiple {
  background: #b7b7b7;
}
.edit-timeflow__row.notApplied ::placeholder {
  color: #fff;
  opacity: 1 !important;
}
.modal-edit-time__ttl {
  font-size: 2.1rem;
  margin-bottom: 1em;
}
@media screen and (max-width: 1180px) {
  .timeflow {
    padding: 1em;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 1em;
  }
  .timeflow__inner {
    column-gap: 10px;
    flex-wrap: wrap;
  }
  .timeflow__ttl {
    font-size: 1.4rem;
    width: 100%;
    max-width: calc(100% - 50px);
  }
  .timeflow .timeflow__ttl {
    max-width: calc(100% - 70px);
  }
  .timeflow__bikou {
    font-size: 1.2rem;
    width: 100%;
    margin: 0;
  }
  .timeflowMemo {
    width: 100%;
    padding-left: 50px;
  }
  .timeflow__edit {
    align-self: flex-end;
  }
}
@media screen and (min-width: 1000px) and (max-width: 1080px) {
  .addTaskBtns {
    flex-wrap: wrap;
    justify-content: center;
  }
  .addTaskBtns__note {
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .edit-timeflow__hide {
    padding-top: 35px;
    margin-top: 35px;
  }
  .addTaskBtns {
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 20px;
  }
  .addTaskBtns__note {
    margin: 0 auto;
  }
  .timeflowNew {
    font-size: 1.4rem;
    margin-top: 30px;
  }
  .edit-timeflow__row {
    flex-wrap: wrap;
    margin-top: 35px;
  }
  .edit-timeflow__head,
  .edit-timeflow__body {
    width: 100%;
    padding: 0;
  }
  .edit-timeflow__btns {
    margin-top: 40px;
  }
  .modalTime__ttl {
    font-size: 2.1rem;
  }
  .timeflow__time,
  .modalTime__body,
  .modal-edit-time__body {
    font-size: 1.4rem;
  }
  .modalTime__body dt {
    margin-top: 1.5em;
  }
  .modal-edit-time__ttl {
    font-size: 1.6rem;
  }
  .modalTime__unregistered {
    font-size: 1.6rem;
  }
  .modalRecommended__btn {
    flex-direction: column-reverse;
  }
  .modalRecommended__add,
  .modalRecommended__cancel {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .timeflowMemo span {
    font-size: 10px;
    padding: 5px 10px;
  }
}
.page-mv--coupon .page-mv__img--left {
  background-image: url(/images/main/pages/coupon/index/main-l.jpg);
}
.page-mv--coupon .page-mv__img--right {
  background-image: url(/images/main/pages/coupon/index/main-r.jpg);
}
.code-ttl {
  text-align: center;
}
.code-ttl .sec-title {
  text-align: center;
  margin-top: 16px;
}
.code-list {
  margin-top: 80px;
}
.code-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.code-item + .code-item {
  margin-top: 50px;
}
.ticket {
  display: flex;
  width: 50%;
}
.ticket__img {
  width: 45%;
  object-fit: cover;
}
.ticket__txt {
  width: 55%;
  font-weight: 500;
  color: #fff;
  text-align: center;
  padding: 60px 30px;
  border-radius: 0 0 40px 0;
}
.ticket__discount {
  display: inline-block;
  font-size: 4rem;
  font-family: "Roboto", sans-serif;
  margin-top: 5px;
}
.ticket__arrow {
  display: block;
  width: 60px;
  height: 2px;
  background: #fff;
  margin-top: 25px;
  margin-left: 35%;
  position: relative;
  transition: 0.2s;
}
.ticket__arrow::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 0;
  bottom: -4px;
}
a.ticket {
  transition: 0.2s;
}
a.ticket:hover {
  opacity: 0.8;
}
a.ticket:hover .ticket__arrow {
  width: 75px;
}
.code-item__txt {
  width: 45%;
  font-size: 1.4rem;
}
.code-item__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.code-item__btn {
  font-weight: 600;
  color: #fff;
  background: #f86456;
  padding: 1em 1.5em;
  border-radius: 30px;
}
.code-item__ttl {
  font-size: 3rem;
  font-weight: 500;
  margin-bottom: 0.5em;
}
.code-item__sply {
  display: block;
  margin: 10px 0 15px;
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .code-list {
    margin-top: 40px;
  }
  .code-item {
    max-width: 500px;
    margin: 0 auto;
  }
  .ticket {
    width: 100%;
  }
  .ticket__txt {
    padding: 30px;
  }
  .ticket__discount {
    font-size: 3rem;
  }
  .code-item__txt {
    width: 100%;
    margin-top: 20px;
  }
  .code-item__ttl {
    font-size: 2.1rem;
    margin-bottom: 0;
  }
  .ticket__arrow {
    width: 50px;
    margin-top: 20px;
    margin-left: 30%;
  }
  a.ticket:hover .ticket__arrow {
    width: 60px;
  }
}
.sec-cont-coupon {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .sec-cont-coupon {
    margin-bottom: 0;
  }
}
.coupon-mv {
  background: #ffecec;
  display: flex;
  padding-bottom: 80px;
}
.coupon-mv__img {
  width: 50%;
  height: 60vh;
  border-radius: 0 0 120px 0;
}
.coupon-mv__dtl {
  max-width: 420px;
  margin-left: 90px;
  margin: auto auto 0 90px;
}
.coupon-mv__label {
  display: inline-block;
  font-weight: 600;
  color: #fff;
  background: #f86456;
  padding: 0.8em 1.5em;
  border-radius: 30px;
}
.coupon-mv__ttl {
  font-size: 2vw;
  margin: 15px 0 25px;
}
.coupon-mv__box {
  background: #fff;
  font-size: max(1.1vw, 1.4rem);
  font-weight: 500;
  text-align: center;
  padding: 1.5em;
  border-radius: 10px;
  margin-top: 3em;
}
.coupon-mv__discount {
  display: inline-block;
  font-size: 6rem;
  font-size: 3.1vw;
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 768px) {
  .coupon-mv {
    display: block;
  }
  .coupon-mv__img {
    width: 100%;
    height: 35vh;
    border-radius: 0 0 90px 0;
  }
  .coupon-mv__dtl {
    font-size: 1.4rem;
    margin: 30px 5% 0;
  }
  .coupon-mv__label {
    font-size: 1.4rem;
  }
  .coupon-mv__ttl {
    font-size: 2.4rem;
    font-weight: 600;
  }
  .coupon-mv__box {
    margin-top: 30px;
    padding: 30px;
    font-weight: 500;
  }
  .coupon-mv__off {
    max-width: 170px;
  }
  .coupon-mv__discount {
    font-size: 4rem;
  }
}
.coupon-desc {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.coupon-desc__txt {
  width: 43%;
}
.coupon-desc__ttl {
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 50px;
}
.coupon-desc__img {
  width: 52%;
  height: 100%;
  aspect-ratio: 16/9;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .coupon-desc__txt {
    width: 100%;
    margin-bottom: 30px;
  }
  .coupon-desc__ttl {
    font-size: 2.1rem;
    font-weight: 600;
    margin-bottom: 30px;
  }
  .coupon-desc__img {
    width: 100%;
  }
}
.coupon-point {
  display: flex;
  margin-top: 50px;
}
.coupon-point__item {
  font-size: 1.4rem;
  padding: 0 40px;
  width: 33.3333333333%;
}
.coupon-point__icon {
  max-height: 150px;
  aspect-ratio: 16/9;
  background-size: contain;
}
.coupon-point__ttl {
  font-size: 1.8rem;
  font-weight: 600;
  margin: 15px 0;
}
@media screen and (max-width: 768px) {
  .coupon-point {
    display: block;
    margin-top: 40px;
  }
  .coupon-point__item {
    width: 100%;
    padding: 0 30px;
  }
  .coupon-point__item + .coupon-point__item {
    margin-top: 30px;
  }
  .coupon-point__ttl {
    font-size: 1.6rem;
  }
}
.gift {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px;
  margin-top: 50px;
}
.gift__img {
  border-radius: 10px;
}
.gift__name {
  font-size: 2rem;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .gift {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 40px;
  }
  .gift__name {
    font-size: 1.6rem;
    margin-top: 0.5em;
  }
}
.nijikai {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 45px;
  margin-top: 50px;
}
.nijikai__img {
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .nijikai {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 40px;
  }
}
.get-code {
  background: #f2f2f2;
}
.get-code__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 40px;
  row-gap: 30px;
}
.get-code__ttl {
  font-size: 3rem;
}
.get-code__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: 4px;
  padding: 25px 30px;
  line-height: 1.3;
  margin-top: 30px;
  transition: 0.1s;
}
.get-code__btn::after {
  content: "";
  display: inline-block;
  width: 10px;
  aspect-ratio: 1/1;
  transform: rotate(45deg);
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  margin-left: 3em;
}
.get-code__btn:hover {
  background: #000;
  color: #fff;
}
.get-code__btn:hover::after {
  border-color: #fff;
}
.get-code__pw {
  max-width: 350px;
  margin: 20px 0;
}
.show-code {
  margin-top: 30px;
  display: grid;
  grid-template-columns: auto 70px;
  align-items: center;
  column-gap: 25px;
  row-gap: 15px;
}
.show-code__txt {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}
.show-code__item {
  background: #fff;
  font-weight: 500;
  text-align: center;
  padding: 15px 0;
  border-radius: 4px;
}
.show-code__copy {
  color: #fff;
  background: #000;
  font-size: 1.4rem;
  padding: 0.8em 1em;
  border-radius: 4px;
  transition: 0.1s;
}
.show-code__copy:hover {
  opacity: 0.7;
}
.ticket--desc {
  display: flex;
}
.ticket--desc .ticket__txt {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 900px) {
  .get-code__inner {
    max-width: 500px;
    margin: 0 auto;
    grid-template-columns: 1fr;
  }
  .get-code__ttl {
    font-size: 2.4rem;
    margin-top: 0;
  }
  .get-code__btn {
    justify-content: space-between;
    width: 100%;
    margin: 25px auto 0;
  }
  .show-code {
    grid-template-columns: 1fr;
    margin-top: 15px;
  }
  .show-code__item:last-child {
    margin-right: 0;
  }
  .show-code__copy {
    width: 100%;
    padding: 1em;
    margin-left: 0;
    text-align: center;
  }
  .ticket--desc {
    margin-top: 30px;
  }
  .ticket--desc .ticket__txt {
    padding: 30px;
  }
}
.coupon-end {
  width: 100%;
  height: 12px;
}
.info-title {
  margin: 15px 0 50px;
}
@media screen and (max-width: 768px) {
  .info-title {
    margin: 15px 0 30px;
  }
}
.info-box {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  margin-bottom: 50px;
}
.info-box__inner {
  padding: 40px;
}
.info-box__inner + .info-box__inner {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.info-box__inner p {
  margin-top: 1em;
}
.info-box__inner p:first-of-type {
  margin-top: 0;
}
.info-item__title {
  font-size: 2.1rem;
  font-weight: 600;
  margin-bottom: 1.5em;
}
.info-box__inner:nth-child(n + 2) {
  counter-increment: title;
}
.info-box__list {
  line-height: 1.8;
}
.info-box__list li {
  counter-increment: list;
}
.info-box__list li::before {
  display: inline-block;
  margin-right: 10px;
}
.info-box__list .info-box__list {
  padding-left: 1.5em;
  margin-top: 1em;
}
.list-type-dot li::before {
  content: counter(list) ".";
  font-family: "Roboto", sans-serif;
  font-weight: 700;
}
.list-type-circle li {
  counter-increment: list2;
}
.list-type-circle li::before {
  content: counter(list2);
  font-size: 12px;
  font-weight: 700;
  width: 18px;
  line-height: 16px;
  text-align: center;
  border: 1px solid #000;
  border-radius: 50%;
}
.list-brackets {
  text-indent: -14px;
  padding-left: 40px;
}
.list-brackets li::before {
  content: "(" counter(list) ")";
  display: inline-block;
  margin-right: 0.5em;
}
.info-item__link {
  text-decoration: underline;
  line-height: 1.7;
}
.info-date {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .info-box {
    margin-bottom: 30px;
  }
  .info-box__inner {
    padding: 25px;
    font-size: 1.4rem;
  }
  .info-item__title {
    font-size: 1.8rem;
  }
}
.page-info {
  background-color: #fafafa;
}
.info-about {
  display: flex;
  flex-wrap: wrap;
}
.info-about__inner {
  width: 50%;
  padding-left: calc((100vw - 1200px) / 2);
  padding-right: 100px;
  padding-top: 150px;
  padding-bottom: 150px;
}
.info-about__img {
  width: 50%;
}
.info-about__copy {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 1em;
  margin-bottom: 80px;
}
.info-about__text p {
  line-height: 2;
}
.info-about__text p + p {
  margin-top: 1em;
}
@media screen and (max-width: 1200px) {
  .info-about {
    flex-direction: column-reverse;
  }
  .info-about__inner {
    width: 100%;
    padding-right: 5%;
    padding-left: 5%;
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .info-about__img {
    width: 100%;
    aspect-ratio: 16/9;
  }
}
@media screen and (max-width: 768px) {
  .info-about__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .info-about__copy {
    font-size: 2.1rem;
    margin-bottom: 40px;
  }
}
.tokusyou {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.tokusyou__title {
  width: 20%;
  font-weight: 400;
  line-height: 1.5;
}
.tokusyou__detail {
  width: 75%;
  line-height: 1.5;
}
@media screen and (max-width: 499px) {
  .tokusyou__title {
    width: 100%;
    margin-bottom: 1em;
    font-weight: 500;
  }
  .tokusyou__detail {
    width: 100%;
  }
}
.info-box__inner:nth-child(n + 2) .policy-title::before {
  content: counter(title) ".";
  display: inline-block;
  margin-right: 1em;
}
.info-box__inner:nth-child(n + 2) .terms-title::before {
  content: "第" counter(title) "条";
  display: inline-block;
}
.list-number li::before {
  content: counter(list) ".";
  display: inline-block;
  margin-right: 0.5em;
}
.new-event {
  background: #fff;
  border-radius: 10px;
  padding: 30px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 40px;
}
.new-event:hover {
  border-color: #000;
  outline: 1px solid #000;
  opacity: 0.8;
}
.new-event__group {
  width: 220px;
  height: 110px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  border-radius: 20px;
}
.new-event__plus {
  width: 20px;
  height: 20px;
  position: relative;
}
.new-event__plus::before,
.new-event__plus::after {
  content: "";
  display: inline-block;
  background: #000;
  position: absolute;
}
.new-event__plus::before {
  width: 2px;
  height: 100%;
  top: 0;
  left: calc(50% - 1px);
}
.new-event__plus::after {
  height: 2px;
  width: 100%;
  top: calc(50% - 1px);
  left: 0;
}
.new-event__txt {
  font-weight: 700;
}
.event-select {
  display: block;
  margin-top: 25px;
  transition: all 0.2s ease;
}
.event-select:hover {
  opacity: 0.8;
}
.event-select__radio:checked ~ .dashboard-event {
  border-color: #000;
  outline: 1px solid #000;
}
.event-select__info {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
}
.event-select__color {
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 5px;
}
.event-select__plan {
  font-size: 1.2rem;
  display: inline-block;
  background: #000;
  color: #fff;
  border-radius: 20px;
  padding: 5px 10px;
}
@media screen and (max-width: 1000px) {
  .new-event {
    max-width: 500px;
    margin: 0 auto;
    padding: 20px;
    gap: 20px;
  }
  .new-event__group {
    width: 30%;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 10px;
  }
  .new-event__plus {
    width: 20px;
    height: 20px;
  }
  .new-event__txt {
    font-size: 1.4rem;
  }
}
.page-contact {
  background-color: #fafafa;
}
.contact-mv {
  height: 45vh;
  min-height: 450px;
  color: #fff;
  line-height: 2;
  letter-spacing: 0.15em;
  display: flex;
  flex-wrap: wrap;
}
.contact-mv__logo {
  padding-right: 50px;
  margin-right: 0;
  margin-left: auto;
}
.contact-mv__txt {
  font-size: 20px;
  font-weight: 600;
  padding-left: 50px;
  line-height: 2;
  margin-top: 1.5em;
}
.contact-mv__inner {
  width: 50%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .contact-mv {
    flex-direction: column;
  }
  .contact-mv__logo {
    padding-right: 0;
    padding-bottom: 20px;
    margin: auto auto 0;
  }
  .contact-mv__txt {
    padding-left: 0;
    padding-top: 20px;
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
  }
  .contact-mv__inner {
    width: 100%;
    height: 50%;
    justify-content: center;
    align-items: initial;
  }
}
.form-box {
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.contact-info {
  width: 100%;
  font-weight: 700;
}
.contact-info__row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 1em;
}
.contact-info__row dt {
  width: 5em;
  flex-shrink: 0;
}
.progress-box {
  font-weight: 500;
  padding: 40px;
  display: flex;
  justify-content: space-between;
}
.progress-box__title {
  letter-spacing: 0.05em;
}
.progress-box__title h2 {
  font-size: 2.8rem;
  margin-bottom: 10px;
}
.progress__status {
  width: 65%;
  font-size: 14px;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.progress__status::after {
  display: inline-block;
  content: "";
  width: calc(100% - 28px);
  height: 1px;
  background-color: #000;
  position: absolute;
  left: 14px;
  bottom: 11px;
}
.progress__txt {
  position: relative;
}
.progress__txt.non-active .circle {
  background-color: rgba(0, 0, 0, 0) !important;
}
.circle {
  display: inline-block;
  width: 25px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0);
  position: absolute;
  bottom: 0;
  left: 3px;
}
.circle::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  top: 10px;
  left: calc(50% - 3px);
}
@media screen and (max-width: 768px) {
  .progress-box {
    flex-direction: column;
    padding: 30px;
  }
  .progress-box__title h2 {
    font-size: 2.1rem;
  }
  .progress__status {
    margin-top: 20px;
    width: 100%;
    padding-bottom: 40px;
  }
  .circle {
    bottom: -40px;
  }
}
.form-box__inner {
  padding: 0 40px;
}
.separation {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.form-row {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 40px 0;
}
.form-row__title {
  font-weight: 700;
  display: flex;
  flex-direction: column;
  row-gap: 5px;
  width: 30%;
}
.form-row__inner {
  width: 70%;
  position: relative;
  word-wrap: break-word;
}
.form-row__email {
  display: flex;
  align-items: center;
  column-gap: 20px;
  row-gap: 5px;
}
.form-row .note {
  margin-left: 1em;
}
@media screen and (max-width: 768px) {
  .form-box {
    font-size: 1.4rem;
  }
  .form-box__inner {
    padding: 0 30px;
  }
  .form-row {
    padding: 25px 0;
  }
  .form-row__title {
    width: 100%;
    margin-bottom: 10px;
  }
  .form-row__email {
    flex-wrap: wrap;
  }
  .form-row__inner {
    width: 100%;
  }
}
.form-row__input {
  width: 60%;
}
@media screen and (max-width: 768px) {
  .form-row__input {
    width: 100%;
    max-width: 500px;
  }
}
.form-radio {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 15px;
  column-gap: 50px;
}
.label-radio input[type="radio"] {
  margin-right: 5px;
}
.label-radio:hover {
  opacity: 0.9;
}
.form-checkbox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 15px;
  column-gap: 50px;
}
.label-checkbox {
  display: flex;
  align-items: center;
  user-select: none;
  position: relative;
}
.label-checkbox:hover {
  opacity: 0.9;
}
.label-checkbox input[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}
.label-checkbox input[type="checkbox"]:checked ~ .my-check {
  display: inline-block;
}
.label-checkbox .my-check {
  top: 0;
}
.form-row__textarea {
  width: 100%;
}
.btn-arrow {
  width: 100%;
  max-width: 300px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  padding: 1.5em 2em;
  border-radius: 10px;
  position: relative;
  transition: all 0.2s ease;
}
.btn-arrow::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 25px;
  top: calc(50% - 5px);
  transition: all 0.2s ease;
}
.btn-arrow:hover {
  opacity: 0.8;
}
.btn-arrow:hover::after {
  right: 22px;
}
@media screen and (max-width: 768px) {
  .form-checkbox,
  .form-radio {
    flex-direction: column;
    align-items: flex-start;
  }
  .btn-arrow {
    font-size: 14px;
  }
}
.form-row--btns {
  justify-content: center;
}
.btn-correct {
  display: inline-block;
  background: #fafafa;
  min-width: 200px;
  max-width: 300px;
  text-align: center;
  font-weight: 500;
  padding: 1.5em 2em;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  margin-right: 30px;
}
.btn-correct:hover {
  border-color: #000;
}
@media screen and (max-width: 768px) {
  .btn-correct {
    font-size: 14px;
    margin-right: 0;
    margin-top: 15px;
    width: 100%;
  }
  .form-row--btns {
    flex-direction: column-reverse;
    align-items: center;
  }
}
.thanks-txt {
  padding: 40px 0;
}
.thanks-txt p + p {
  margin-top: 1em;
}
.thanks-txt a {
  text-decoration: underline;
}
.thanks-txt a:hover {
  opacity: 0.7;
}
.thanks-txt__lg {
  font-size: 2.1rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .thanks-txt {
    padding: 30px 0;
  }
  .thanks-txt__lg {
    font-size: 1.8rem;
  }
}
.faq {
  background-color: #fafafa;
  scroll-margin-top: 150px;
}
.faq-list {
  margin-top: 50px;
}
.faq-item {
  background-color: #fff;
  border-radius: 10px;
  line-height: 1.5;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.faq-item + .faq-item {
  margin-top: 20px;
}
.faq-item__q {
  padding: 20px 30px 20px 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  position: relative;
}
.faq-item__q::after {
  content: "";
  display: inline-block;
  width: 10px;
  aspect-ratio: 1/1;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  transition: 0.25s;
  position: absolute;
  top: 35px;
  right: 30px;
}
.faq-item__q.close::after {
  transform: rotate(225deg);
}
.faq-item__a {
  padding: 20px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: flex-start;
}
.faq-item__a p + p {
  margin-top: 1em;
}
.faq-item__a img {
  margin-top: 1em;
}
.js-open-a {
  display: none;
}
.faq-item__icon {
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-size: 2.8rem;
  opacity: 0.5;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .faq-list {
    margin-top: 40px;
  }
  .faq-item + .faq-item {
    margin-top: 14px;
  }
  .faq-item__q {
    padding: 15px 35px 15px 15px;
    align-items: flex-start;
  }
  .faq-item__q::after {
    width: 8px;
    right: 15px;
    top: 30px;
  }
  .faq-item__a {
    font-size: 1.4rem;
    padding: 15px;
  }
  .faq-item__icon {
    font-size: 2.1rem;
    margin-right: 15px;
  }
}
.page-faq .content__2col__left {
  background: #fff;
  height: 100dvh;
  top: 0;
}
.page-faq .content__2col__left::-webkit-scrollbar-track {
  background: #fff;
}
.faq-category {
  padding-top: 81px;
}
.faq-category__ttl {
  font-size: 2.8rem;
}
.faq-category__list {
  margin-top: 20px;
}
.faq-category__item {
  position: relative;
}
.faq-category__item::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 100%;
  background: #000;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s ease;
  opacity: 0;
}
.faq-category__item.current::after,
.faq-category__item:hover::after {
  opacity: 1;
}
.faq-category__link {
  display: block;
  padding: 1em 0;
  position: relative;
}
.faq-category__link::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  position: absolute;
  right: 25px;
  top: calc(50% - 5px);
  transition: all 0.2s ease;
}
.faq-content {
  padding: 50px 0;
  background: #fafafa;
}
.faq-group {
  scroll-margin-top: 100px;
}
.faq-group + .faq-group {
  margin-top: 80px;
}
.faq-group__title {
  font-size: 2.4rem;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .page-faq .content__2col__left,
  .page-faq .content__2col__right {
    height: 100dvh;
    top: 0;
  }
  .page-faq .content__2col__right {
    padding-top: 65px;
    padding-bottom: 67px;
  }
  .faq-category {
    padding: 50px 0;
  }
  .faq-category__ttl {
    font-size: 2rem;
  }
  .faq-group {
    scroll-margin-top: 0;
  }
  .faq-group + .faq-group {
    margin-top: 50px;
  }
  .faq-group__title {
    font-size: 2rem;
  }
}
.print-show {
  display: none;
}
@media print {
  .print-hide,
  header,
  footer,
  .footer-login {
    display: none;
  }
  .print-show {
    display: block;
  }
}
@media print {
  body {
    -webkit-print-color-adjust: exact;
  }
  .page-inv-replies .header-height,
  .page-inv-replies .member {
    padding-top: 0;
  }
  .page-inv-replies .member__btn-add,
  .page-inv-replies .member__filter {
    display: none;
  }
  .page-inv-replies .content__2col__left {
    display: none;
  }
  .page-inv-replies .content__2col__right {
    width: 100%;
  }
  .page-inv-replies .name-list__title {
    font-size: 2rem;
    margin-bottom: 1em;
  }
  .page-inv-replies .name-list__icon {
    width: 30px;
    height: 30px;
  }
  .page-inv-replies .name-list__inner {
    width: 40%;
  }
  .page-inv-replies .name-list__message {
    width: 55%;
    font-size: 1.2rem;
  }
  .page-inv-replies .name-list__name {
    font-size: 1.4rem;
  }
  .page-inv-replies .name-list__status {
    font-size: 1.2rem;
  }
}
.gnavi__info {
  display: flex !important;
}
.spnavi .spnavi__sns {
  display: none;
}
.footer .link-sns {
  display: none;
}
