
:root {
  --color-black-text: #231815;
  --color-menu: #00b8e7;
  --color-menu-current: #004191;
  --color-menu-red: #e4006a;
  --color-btn-blue: #0056a7;
  --color-btn-skyblue: #00b8ee;
  --color-footer-mail: #00a0e9;

  --color-text-skyblue: #009FE3;
}

html {
  font-size: 1px !important;
}
body {
  font-size: 16rem;
  width: 100%;
  color: var(--color-black-text);
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}
#wrapper {
  min-height: 100vh;
  min-height: 100dvh;
  position: relative;
}

/* スクロールバー */
.scroll-bar{
  background-color: #f0f0f0;
  overflow-y: scroll;
}
.scroll-bar::-webkit-scrollbar{
  width: 8px;
}
.scroll-bar::-webkit-scrollbar-track{
  background-color: #f0f0f0;
}
.scroll-bar::-webkit-scrollbar-thumb{
  background-color: #CDCDCD;
}
.scroll-bar{
  scrollbar-width: thin;
  scrollbar-color: #CDCDCD #f0f0f0;
}

/* pc/sp 出し分け */
.for-sp {
  display: none;
}
@media screen and (max-width:600px) {
  .for-sp {
    display: inline-block;
  }
  .for-pc {
    display: none !important;
  }
}

/* ヘッダー */
header {
  position: relative;
}
#branding {
  width: 100%;
  height: 391px;
  text-align: center;
  background: #000000 no-repeat url('./images/bg_rainbow.jpg') top center / 100% 100%;
  display: block;
  position: relative;
}
#site-title {
  aspect-ratio: 1118 / 391;
  width: 1118px;
  height: 100%;
  max-width: 1118px;
  min-height: 391px;
  display: inline-block;
  text-align: left;
  color: #ffffff;
  padding: 10px 10px;
  background: no-repeat url('./images/bg_top.png') top center / 100% auto;
  position: relative;
  vertical-align: top;
  margin: 0 10px;
}
#site-title h1 {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 0 0 #ffffff);
}
#site-title h1 a {
  display: inline-block;
  position: relative;
  aspect-ratio: 550 / 258;
  width: 550px;
  height: 258px;
  background: no-repeat url('./images/logo_main_title.png') center center / 100% auto;
  transform: scale(1);
  transition: .1s;
}
#site-title h1 a:hover {
  transform: scale(1.08);
}
#site-title h1 a span {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
}
@media screen and (max-width: 1138px) {
  #branding {
    height: 100%;
    min-height: 100%;
    padding: 0 10px;
  }
  #site-title {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    height: 0;
    padding: 34.97% 0 0;
    margin: 0;
  }
}
@media screen and (max-width: 1000px) {
  #site-title h1 a {
    width: 50vw;
    height: 0;
    min-height: 0;
    padding: 46.91% 0 0;
  }
  #site-title h1 a span {
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 600px) {
  header {
    margin-bottom: 16vw;
  }
}

/* メニュー */
#menu {
  width: 100%;
  padding-top: 160px;
  text-align: center;
}
#menu > div {
  width: 100%;
  max-width: 1220px;
  display: inline-block;
  padding: 10px 10px;
}
#menu > div ul {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#menu > div li {
  margin: 0 20px;
}
#menu > div li a {
  color: var(--color-menu);
  text-decoration: none;
  font-size: 20rem;
  padding: 10px;
  display: block;
}
#menu > div li a:hover,
#menu > div li.current_page_item a {
  color: var(--color-menu-current);
}
#menu > div li a span {
  font-weight: bold;
  display: inline-block;
  vertical-align: top;
  padding: 5px 5px;
  line-height: 100%;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 20px;
  width: 96px;
}
#menu > div li.current_page_item a span {
  box-shadow: 0 -3px 0 0 inset var(--color-menu-current);
}
#menu > div li.member-only a span {
  color: #ffffff;
  padding: 6px 15px;
  border-radius: 20px;
  background-color: var(--color-menu-red);
  width: 122px;
}
#menu > div li.member-only.current_page_item a span {
  background-color: var(--color-menu-current);
  box-shadow: none;
}
#menu > div li#menu-item-36 a span {background-image: url('./images/menu_top.png');}
#menu > div li#menu-item-37 a span {background-image: url('./images/menu_member.png');}
#menu > div li#menu-item-38 a span {background-image: url('./images/menu_movie.png');}
#menu > div li#menu-item-41 a span {background-image: url('./images/menu_sign-up.png');}
#menu > div li#menu-item-61 a span {background-image: url('./images/menu_special.png');}

#menu > div li#menu-item-36 a:hover span {background-image: url('./images/menu_top_.png');}
#menu > div li#menu-item-37 a:hover span {background-image: url('./images/menu_member_.png');}
#menu > div li#menu-item-38 a:hover span {background-image: url('./images/menu_movie_.png');}
#menu > div li#menu-item-41 a:hover span {background-image: url('./images/menu_sign-up_.png');}

#menu > div li#menu-item-36.current_page_item a span {background-image: url('./images/menu_top_.png');}
#menu > div li#menu-item-37.current_page_item a span {background-image: url('./images/menu_member_.png');}
#menu > div li#menu-item-38.current_page_item a span {background-image: url('./images/menu_movie_.png');}
#menu > div li#menu-item-41.current_page_item a span {background-image: url('./images/menu_sign-up_.png');}
@media screen and (max-width:1000px) {
  #menu {
    padding-top: 13vw;
  }
}
@media screen and (max-width:840px) {
  #menu > div li a {
    padding: 8px;
  }
  #menu > div li a span {
    background-size: auto 16px;
    width: 70px;
  }
}
@media screen and (max-width:700px) {
  #menu > div li {
    margin: 0 10px;
  }
  #menu > div li#menu-item-36 a span {
    width: 50px;
  }
}

/* メニュー（SP） */
@media screen and (max-width:600px) {
  #menu {
    position: fixed;
    top: -100vh;
    top: -100dvh;
    left: 0;
    width: 100%;
    z-index: 10;
    transition: .3s;
    padding-top: 0;
  }
  .menu-active #menu {
    top: 0;
  }
  #menu > div {
    display: flex;
    padding: 80px 20px 20px;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: no-repeat url('./images/bg_menu_sp.jpg') left top / 100% 100%;
    align-items: flex-start;
    justify-content: center;
  }
  ul#menu-menu-1 {
    flex-direction: column;
    width: 100%;
  }
  ul#menu-menu-1 li {
    width: 100%;
    margin-bottom: 10px;
  }
  ul#menu-menu-1 li a {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-btn-skyblue);
    height: 80px;
    position: relative;
  }
  ul#menu-menu-1 li a:hover::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: inline-block;
    background: #ffffff33;
  }
  ul#menu-menu-1 li.current_page_item a {
    background-color: var(--color-btn-blue);
  }
  ul#menu-menu-1 li a span,
  #menu > div li#menu-item-36 a span {
    display: inline-block;
    width: 100%;
    height: 100%;
    color: #ffffff;
    text-indent: -9999px;
    background-size: auto 24px;
    box-shadow: none !important;
  }
  #menu > div li.member-only a span {
    background-color: transparent !important;
    width: 100%;
  }
  #menu > div li#menu-item-36 a span {background-image: url('./images/menu_top_sp.png') !important;}
  #menu > div li#menu-item-37 a span {background-image: url('./images/menu_member_sp.png') !important;}
  #menu > div li#menu-item-38 a span {background-image: url('./images/menu_movie_sp.png') !important;}
  #menu > div li#menu-item-41 a span {background-image: url('./images/menu_sign-up_sp.png') !important;}
  #menu > div li#menu-item-61 a span {background-image: url('./images/menu_special_sp.png') !important;}

  #menu > div li.menu-close {
    display: inline-block;
    margin: 0;
  }
  #menu > div li.menu-close a {
    display: inline-block;
    background-color: transparent !important;
    height: 50px;
  }
}

/* メニューボタン */
#menu-trigger {
  display: none;
  position: absolute;
  top: 100%;
  right: 20px;
  width: 50px;
  height: 50px;
  background: #000000 no-repeat url('./images/btn_menu.jpg') center center / 100% auto;
  z-index: 9;
  transform: translate(0, -50%);
}
#menu-trigger > div {
  width: 100%;
  height: 100%;
  text-indent: -9999px;
}
@media screen and (max-width:600px) {
  #menu-trigger {
    display: inline-block;
  }
  .menu-fixed #menu-trigger {
    position: fixed;
    top: 20px;
    transform: translate(0);
  }
}
/* メニューボタン（閉じる） */
#menu > div li.menu-close {
  display: none;
  position: absolute;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  background: #000000 no-repeat url('./images/btn_menu_close.jpg') center center / 100% auto;
}
#menu > div li.menu-close span {
  text-align: left;
  text-indent: -9999px;
}
@media screen and (max-width:600px) {
  #menu > div li.menu-close {
    display: inline-block;
  }
}

/* フッター */
#footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #000000;
  text-align: center;
}
#footer > div {
  width: 100%;
  max-width: 1220px;
  display: inline-block;
  text-align: center;
  color: #ffffff;
  padding: 10px 10px;
  font-size: 12px;
}

/* フッターコンテンツ */
#footer-content {
  padding-bottom: 50px;
  text-align: center;
}
#footer-content > div {
  margin: 0 auto;
  text-align: left;
  width: 100%;
  max-width: 920px;
  padding: 0 10px;
}
.footer-banner ul {
  display: flex;
  justify-content: space-between;
  padding: 30px 0 15px;
}
.footer-banner ul.user-login {
  justify-content: center;
}
.footer-banner ul li {
  width: 282px;
  max-width: calc((100% - 30px) / 3);
}
.footer-banner ul li img {
  width: 100%;
  max-width: 100%;
}
.footer-banner ul li:hover a {
  opacity: .7;
}
@media screen and (max-width:600px) {
  .footer-banner ul {
    width: 100%;
    flex-wrap: wrap;
    flex-direction: column;
  }
  .footer-banner ul li {
    width: 100%;
    max-width: 100%;
    margin-top: 15px;
  }
  .footer-banner ul li:nth-child(1) {
    margin-top: 0;
  }
}
/* footer-link */
.footer-link ul {
  display: flex;
  justify-content: flex-end;
  margin-right: -10px;
}
.footer-link ul li {
  margin-right: 2px;
}
.footer-link ul li:nth-last-child(1) {
  margin-right: 0;
}
.footer-link ul li a,
.footer-link ul li.delete-account p {
  display: inline-block;
  padding: 5px 10px;
  color: var(--color-black-text);
}
.footer-link ul li.delete-account p a {
  padding: 0;
}
@media screen and (max-width:700px) {
  .footer-link ul li a,
  .footer-link ul li.delete-account p {
    font-size: 14rem;
  }
}
/* footer-contact */
.footer-contact > div {
  border-top: 1px solid #bbbbbb;
  margin-top: 15px;
  padding-top: 20px;
  line-height: 130%;
  word-wrap: break-word;
  word-break: break-all;
  overflow: hidden;
}
.footer-contact a {
  display: inline-block;
  color: var(--color-footer-mail);
}
@media screen and (max-width:700px) {
  .footer-contact {
    font-size: 14rem;
  }
}

/* メインコンテンツ */
.entry-content {
  padding-bottom: 50px;
}
.wp-block-group {
  width: 100%;
  text-align: center;
}
.wp-block-group > div {
  width: 100%;
  max-width: 920px;
  display: inline-block;
  margin: 0 auto;
  padding: 0 10px;
  text-align: left;
  font-size: 16rem;
}
.wp-block-group.w-900 > div {
  max-width: 900px;
  padding: 0 0;
}

/* メインコンテンツ（内容） */
.page-title {
  line-height: 140%;
  font-size: 20rem;
  font-weight:bold;
  padding: 20px 20px 30px;
}
.page-title img {
  max-width: 100%;
}
.wp-block-group video {
  max-width: 100%;
}

#wpmem_restricted_msg {
  text-align: center;
}
#wpmem_restricted_msg p {
  width: 100%;
  max-width: 920px;
  display: inline-block;
  padding: 0 10px;
  text-align: left;
}

/* 虹枠 */
.frame-rainbow {
  padding: 20px;
  background: repeat-y url('./images/bar_blue_to_yellow.png') left top / 100% auto;
}
@media screen and (max-width:700px) {
  .frame-rainbow {
    padding: 15px;
  }
}

/* 404 */
.title-for-404 {
  font-size: 20rem;
  font-weight: bold;
  padding: 30px 0;
}
.body-for-404 {
  padding: 0 0;
}

/* TOP */
.about-cjb {
  text-align: center;
  background: no-repeat url('./images/bg_rainbow.jpg') center center / cover;
  padding: 40px 20px;
  margin-bottom: 50px;
}
.about-cjb > div {
  margin: 0 auto;
  width: 100%;
  max-width: 900px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 40px 20px 30px;
  background: #00000055;
}
@media screen and (max-width:600px) {
  .about-cjb {
    background: no-repeat url('./images/bg_rainbow_sp.jpg')
  }
}
.about-cjb > div img {
  max-width: 100%;
}
/* TOP（membership-bonus） */
.membership-bonus {
  text-align: center;
}
.membership-bonus > div {
  margin: 0 auto;
  max-width: 900px;
  padding: 0 0;
}
.membership-bonus > div img {
  max-width: 100%;
}
.membership-bonus.in-special {
  margin-top: 50px;
}
/* TOP（join-member） */
.join-member {
  text-align: center;
}
.logged-in .join-member {
  display: none;
}
.join-member > div {
  margin: 0 auto;
  max-width: 900px;
  padding: 30px 0 0;
}
.join-member > div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 80px;
  border-radius: 50px;
  background: repeat-y url('./images/bar_blue_to_yellow.png') top left / 100% auto;
}
.join-member > div a:hover {
  opacity: .7;
}
@media screen and (max-width:920px) {
  .membership-bonus > div {
    padding: 0 10px;
  }
  .join-member > div {
    padding: 30px 10px 0;
  }
}
@media screen and (max-width:600px) {
  .join-member > div a {
    height: 60px;
  }
  .join-member > div a img {
    height: 28px;
    width: auto;
  }
}

/* MEMBER */
ul.boat-member {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 30px 0;
  background: #ffffff;
}
/*
ul.boat-member::before{
  content:"";
  display: block;
  width:23%;
  order:1;
}
ul.boat-member::after{
  content:"";
  display: block;
  width:23%;
}
*/
ul.boat-member li {
  min-width: 200px;
  margin: 0 20px;
  position: relative;
}
ul.boat-member li:hover::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: inline-block;
  background: #ffffff33;
}
ul.boat-member li.bar {
  min-width: 100%;
  width: 100%;
  height: 40px;
  margin: 0;
}
ul.boat-member li img {
  width: 100%;
}
ul.boat-member li div {
  color: #ffffff;
  font-weight: bold;
  min-height: 50px;
  margin-bottom: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
ul.boat-member li div span {
  font-size: 14rem;
}
@media screen and (max-width:840px) {
  ul.boat-member li {
    min-width: auto;
    width: calc((100% - 90px)/ 3);
    max-width: 217px;
    margin: 0 15px;
  }
}
@media screen and (max-width:600px) {
  ul.boat-member li {
    width: 100%;
    max-width: 100%;
    margin: 10px 15px;
  }
  ul.boat-member li.bar {
    display: none;
  }
}

/* member（モーダル） */
#modal-member-wrap {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
#modal-member-wrap > div {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #00000033;
}
#modal-member {
  display: flex;
  width: 900px;
  max-width: calc(100% - 30px);
  max-height: calc(100% - 30px);
  background: #000000cc;
  border: 1px solid #cccccc;
  padding: 50px;
  position: relative;
  overflow-y: auto;
}
#modal-member li {
  display: flex;
  width: 100%;
  align-items: flex-start;
}
.member-image {
  aspect-ratio: 336/464;
  width: 336px;
  min-width: 336px;
  max-width: 50%;
  overflow: hidden;
}
.member-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.member-detail {
  color: #ffffff;
  padding-left: 15px;
}
.member-detail .detail1 {
  padding: 0;
}
.member-detail .detail2 {
  padding: 15px 0 30px;
  line-height: 140%;
}
.member-detail .sns-list {
  display: inline-flex;
  justify-content: flex-start;
}
.member-detail .sns-list li {
  margin-left: 15px;
  width: 50px;
  height: 50px;
}
.member-detail .sns-list li:nth-child(1) {
  margin-left: 0;
}
.member-detail .sns-list li a {
  display: block;
  position: relative;
  width: 58px;
  height: 58px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  text-indent: -9999px;
}
.member-detail .sns-list li.instagram a {
  background-image: url('./images/icon_color_instagram.png');
}
.member-detail .sns-list li.twitter a {
  background-image: url('./images/icon_color_x.png');
}
.member-detail .sns-list li.tiktok a {
  background-image: url('./images/icon_color_tiktok.png');
}
.member-detail .sns-list li a:hover::after {
  content: '';
  background: #ffffff33;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border-radius: 15px;
}
.modal-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  color: #ffffff;
  cursor: pointer;
  text-indent: -9999px;
  background: transparent no-repeat url('./images/icon_white_close.png') center center / 40px auto;
}
.modal-close:hover {
  background-color: #ffffff11;
}
@media screen and (max-width:800px) {
  #modal-member {
    padding: 30px;
    position: relative;
    overflow-y: auto;
  }
  .modal-close {
    width: 60px;
    height: 60px;
    background-size: 30px auto;
  }
}
@media screen and (max-width:700px) {
  .member-image {
    min-width: 50%;
    width: 50%;
  }
  .member-detail .detail1 img {
    height: 80px;
  }
  .member-detail .sns-list li a {
    width: 46px;
    height: 46px;
  }
}
@media screen and (max-width:600px) {
  #modal-member {
    max-width: calc(100% - 20px);
    max-height: calc(100% - 20px);
    padding: 2%;
  }
  .member-image {
    min-width: 40%;
    width: 40%;
  }
  .member-detail .detail1 {
    width: 60%;
  }
  .member-detail .detail2 {
    font-size: 14rem;
  }
}
@media screen and (max-width:500px) {
  #modal-member li {
    flex-direction: column;
  }
  .member-image {
    min-width: 100%;
    width: 100%;
    margin-bottom: 20px;
  }
  .member-detail .sns-list {
    padding-bottom: 20px;
  }
}

/* movie */
.movie-info {
  margin-bottom: 50px;
}
.movie-schedule {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 70px;
  background: #bbda9f;
  font-size: 20rem;
  font-weight: bold;
}
.movie-body {
  text-align: center;
  padding: 15px;
  background: #f4f9f2;
  width: 100%;
  max-height: 280px;
  overflow: auto;
}
.movie-body > div {
  text-align: center;
}
.movie-body ul {
  margin: 0 auto;
  display: inline-block;
  text-align: left;
}
.movie-body li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 10px 10px;
  min-height: 120px;
}
.movie-body li > div {
  display: flex;
}
.movie-title {
  color: var(--color-text-skyblue);
  padding-right: 20px;
  font-weight: bold;
  width: 110px;
  min-width: 110px;
  max-width: 110px;
  line-height: 140%;
}
.movie-content {
  line-height: 140%;
}
@media screen and (max-width:600px) {
  .movie-body li {
    padding: 10px 0;
  }
  .movie-body li > div {
    flex-direction: column;
  }
  .movie-title {
    padding: 0 0 5px 0;
  }
}

/* movie（リスト） */
.page-title-movie {
  background: #ffffff;
}
.movie-list {
  background: #ffffff;
  padding: 0 30px 30px;
}
.movie-list-title {
  color: #ffffff;
  padding-bottom: 20px;
}
.movie-list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
.movie-list.movie-youtube ul::after{
  content:"";
  display: block;
  width: calc((100% - 20px) / 2);
}
.movie-list li {
  width: calc((100% - 20px) / 2);
  margin: 0 0 30px;
  max-width: 368px;
  cursor: pointer;
  margin-left: 20px;
}
.movie-list li:nth-child(2n+1) {
  margin-left: 0;
}
.movie-list li:hover {
  opacity: .7;
}
.movie-list li img {
  width: 100%;
  max-width: 100%;
}
.movie-list li .movie-name p {
  padding-top: 10px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  /* -webkit-line-clamp: 2; */
  word-wrap: break-word;
  word-break: break-all;
  line-height: 130%;
}
.movie-list li.coming-soon {
  cursor: default;
}
.movie-list li.coming-soon:hover {
  opacity: 1;
}
.movie-list li.coming-soon > div {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F9F9F9;
  border: 1px solid lightGrey;
  height: 207px;
}
.movie-list li.coming-soon > div span {
  font-weight: bold;
}
@media screen and (max-width:700px) {
  .movie-list {
    padding: 0 20px 20px;
  }
}
@media screen and (max-width:600px) {
  .movie-list ul {
    justify-content: center;
  }
  .movie-list li {
    width: 100%;
    max-width: 368px;
    margin-left: 0;
  }
  .movie-list li .movie-name p {
    font-size: 14rem;
  }
}

/* movie（モーダル） */
#movie-modal-wrap {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  transition: .3s;
  background: #000000dd;
}
#movie-modal-wrap.close {
  filter: opacity(0);
  visibility: hidden;
}
#movie-modal-wrap.open {
  filter: opacity(1);
  visibility: visible;
}

/* モーダルを閉じる（共通） */
.movie-close {
  position: absolute;
  display: inline-block;
  top: 20px;
  right: 20px;
  width: 80px;
  height: 80px;
  cursor: pointer;
}
.movie-close:hover {
  background-color: #ffffff33;
}
.movie-close span {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  background: no-repeat url('./images/icon_white_close.png') center center / 40px auto;
}
@media screen and (max-width: 800px) {
  .movie-close {
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
  }
  .movie-close span {
    background-size: 30px auto;
  }
}
@media screen and (max-width: 800px) {
  .movie-close {
    width: 60px;
    height: 60px;
  }
  .movie-close span {
    background-size: 30px auto;
  }
}

/* 部員専用 */
#special-modal-wrap {
  display: none;
}
.page-title-special-list {
  background: #ffffff;
}
.special-list {
  background: #ffffff;
  padding: 0 30px 20px;
  text-align: center;
}
.special-list ul {
  margin: 0 auto;
  display: inline-flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
}
.special-list ul::after{
  content: "";
  display: block;
  width: 100%;
  max-width: calc((100% - 60px) / 3);
}
.special-list li {
  width: 100%;
  max-width: calc((100% - 60px) / 3);
  margin: 0 0 30px;
  cursor: pointer;
  text-align: left;
}
.special-list li:hover {
  opacity: .7;
}
.special-list li.coming-soon {
  cursor: default;
  min-width: 300px;
}
.special-list li.coming-soon:hover {
  opacity: 1;
}
.special-list li img {
  width: 100%;
  max-width: 100%;
  border-radius: 10px;
}
.special-list li.coming-soon > div {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F9F9F9;
  border: 1px solid lightGrey;
  height: 207px;
}
.special-list li.coming-soon > div span {
  font-weight: bold;
}
.special-list li .movie-name p {
  padding-top: 10px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  /*-webkit-line-clamp: 2;*/
  word-wrap: break-word;
  word-break: break-all;
  line-height: 130%;
}
@media screen and (max-width:700px) {
  .special-list ul::after,
  .special-list li {
    max-width: calc((100% - 30px) / 2);
  }
}
@media screen and (max-width:600px) {
  .special-list li .movie-name p {
    font-size: 14rem;
  }
}
@media screen and (max-width:500px) {
  .special-list ul {
    max-width: 220px;
  }
  .special-list ul.ul-coming-soon {
    max-width: 100%;
    width: 100%;
  }
  .special-list ul::after,
  .special-list li {
    max-width: 100%;
  }
}
@media screen and (max-width:430px) {
  .special-list li.coming-soon {
    min-width: 100%;
  }
}
/* 部員専用（モーダル） */
#special-modal-wrap {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  transition: .3s;
}
#special-modal-wrap > div {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background: #000000dd;
}
#special-modal {
  position: relative;
  max-width: calc(100% - 40px);
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  overflow: hidden;
}
#special-modal.tate {
  height: 100%;
}
#special-modal.yoko {
  width: 100%;
}
#special-modal video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 部員専用（非会員デザイン） */
.nonmember-special-body {
  text-align: center;
  padding: 0 30px 50px;
}
.nonmember-special-body p {
  line-height: 140%;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width:600px) {
  .nonmember-special-body p {
    font-size: 18px;
  }
}
@media screen and (max-width:540px) {
  .nonmember-special-body {
    padding: 0 15px 50px;
  }
  .nonmember-special-body p {
    text-align: left;
  }
  .nonmember-special-body p br {
    display: none;
  }
}

/* 非会員共通 */
#non-member .non-member-notice {
  width: 100%;
  max-width: 920px;
  padding: 0 10px;
  margin: 0 auto;
}
#non-member .non-member-notice > div {
  text-align: center;
  background: #F9F9F9;
  border: 1px solid lightGrey;
  border-radius: 3px;
  padding: 20px 0;
  margin: 15px 0;
}
#non-member .non-member-notice > div a {
  color: var(--color-black-text);
}
#wpmem_restricted_msg #non-member .about-cjb p {
  display: none;
}
/* 無効ユーザーは非表示 */
body.banuser #non-member {
  display: none;
}

/* フォーム（標準デザインを上書き） */
#wpmem_msg, 
.wpmem_msg {
	text-align: center;
	background: #F9F9F9;
	border:1px solid lightGrey;
	border-radius: 3px;
	padding: 20px 0;
	margin: 15px 0 15px;
  line-height: 140%;
}
#wpmem_reg input[type="text"],
#wpmem_reg input[type="password"],
#wpmem_reg input[type="email"],
#wpmem_reg input[type="url"],
#wpmem_reg input[type="number"],
#wpmem_reg input[type="date"],
#wpmem_reg input[type="tel"],
#wpmem_reg textarea,
#wpmem_login input[type="text"],
#wpmem_login input[type="password"] {
  border: 2px solid #aaaaaa;
	border-radius: 2px;
	padding: 8px 10px 8px;
  font-size: 18rem;
	background: none repeat scroll 0% 0% #fff;
  width: 100%;
}
#wpmem_reg input:focus,
#wpmem_reg textarea:focus,
#wpmem_login input:focus {
  border: 2px solid #cccccc;
	outline: 0px none;
}
#wpmem_login .div_text,
#wpmem_reg .div_text, 
#wpmem_reg .div_textarea, 
#wpmem_reg .div_select, 
#wpmem_reg .div_checkbox,
#wpmem_reg .div_multiselect,
#wpmem_reg .div_multicheckbox,
#wpmem_reg .div_radio,
#wpmem_reg .div_image,
#wpmem_reg .div_file,
#wpmem_reg .div_url,
#wpmem_reg .div_number,
#wpmem_reg .div_date,
#wpmem_reg .div_membership { 
	margin:0 0 30px 0;
  width: 100%;
}
#wpmem_login input[type="checkbox"] {
	margin: 12px 2px;
}
#wpmem_reg .div_textarea textarea,
#wpmem_reg .textbox,
#wpmem_login .textbox,
#wpmem_reg .username,
#wpmem_reg .password,
#wpmem_reg .file,
#wpmem_reg .image,
#wpmem_login .username,
#wpmem_login .password {
	width:100%;
}
@media screen and (max-width:600px) {
  #wpmem_reg input[type="text"],
  #wpmem_reg input[type="password"],
  #wpmem_reg input[type="email"],
  #wpmem_reg input[type="url"],
  #wpmem_reg input[type="number"],
  #wpmem_reg input[type="date"],
  #wpmem_reg input[type="tel"],
  #wpmem_reg textarea,
  #wpmem_login input[type="text"],
  #wpmem_login input[type="password"] {
    font-size: 16rem;
  }
}

/* フォーム（共通変更） */
.page-title .page-title-text {
  font-weight: bold;
  font-size: 28rem;
  letter-spacing: 1px;
  line-height: 150%;
}
.entry-form-unit {
  background: #ffffff;
  padding: 15px 50px 50px;
}
.entry-form-unit fieldset {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#wpmem_reg fieldset legend, 
#wpmem_login fieldset legend {
	font-size: 24rem;
	line-height: 1;
	font-weight: 700;
	margin-bottom: 10px;
	width: 100%;
  display: none;
}
/* シンプルなリンク */
.entry-form-unit > ul > li > a {
  display: inline-block;
  padding: 5px 0;
  color: var(--color-black-text);
}
  
#wpmem_reg .button_div,
#wpmem_login .button_div {
	width: 100%;
	text-align: center;
}
#wpmem_reg .button_div input[type="submit"],
#wpmem_login .button_div input[type="submit"] {
  width: 50%;
  height: 80px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  font-size: 28rem;
  font-weight: bold;
  letter-spacing: 1px;
  border: none;
  background-color: var(--color-btn-blue);
  margin-top: 20px;
}
#wpmem_reg .button_div input[type="submit"]:hover,
#wpmem_login .button_div input[type="submit"]:hover  {
  opacity: .8;
}
@media screen and (max-width:700px) {
  .entry-form-unit {
    padding: 15px 30px 50px;
  }
}
@media screen and (max-width:600px) {
  #wpmem_reg .button_div input[type="submit"],
  #wpmem_login .button_div input[type="submit"] {
    width: 100% !important;
    height: 60px;
    font-size: 20rem;
  }
  .page-title .page-title-text {
    font-size: 24rem;
  }
}
@media screen and (max-width:500px) {
  .entry-form-unit {
    padding: 15px 15px 50px;
  }
  .page-title .page-title-text {
    font-size: 20rem;
  }
}
@media screen and (max-width:420px) {
  .page-title {
    padding: 20px 15px 30px;
  }
  .page-title .page-title-text {
    font-size: 18rem;
  }
}

/* フォーム（エラー、必須） */
.error-balloon {
  color: #ffffff;
  background: #ff0000;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 20px;
  padding: 0 10px;
  font-size: 12px;
  position: relative;
  top: -8px;
}
.entry-form-unit .req,
.entry-form-unit .req-text {
  display: none;
}

/* フォーム（追加リンク） */
#mypage-bottom {
  padding: 20px 0 0;
}
#mypage-bottom ul {
  width: calc(100% + 10px);
  display: flex;
  justify-content: flex-end;
  margin-right: -10px;
}
#mypage-bottom li a,
#mypage-bottom li p {
  display: inline-block;
  padding: 5px 10px;
  color: var(--color-black-text);
}
#mypage-bottom li p a {
  padding: 0;
}

/* フォーム（不要パーツ） */
#wpmem_login_form .link-text-register,
#wpmem_pwdreset_form .link-text-username {
  display: none;
}

/* フォーム（個別指定） */
#wpmem_login .div_text,
#wpmem_reg .div_text {
  padding: 30px 0 0;
}
#wpmem_reg, 
#wpmem_login {
	font-size: 16rem;
	line-height: 1.5;
}
#wpmem_reg input,
#wpmem_reg button,
#wpmem_reg select,
#wpmem_reg textarea,
#wpmem_login input,
#wpmem_login button {
	margin: 0px;
	max-width: 100%;
	vertical-align: baseline;
}

/* フォーム（項目タイトル） */
#wpmem_reg label,
#wpmem_login label {
	display: none;
}
.entry-form-unit fieldset .div_text {
  position: relative;
}
.entry-form-unit fieldset .div_text::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 23px;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: auto 23px;
}
@media screen and (max-width:600px) {
  .entry-form-unit fieldset .div_text::before {
    background-size: auto 20px;
  }
}

/* フォーム（ページ独自設定：登録情報変更）  */
#wpmem_profile_form fieldset .div_text:nth-of-type(1)::before {background-image: url('./images/form_name.png');}
#wpmem_profile_form fieldset .div_text:nth-of-type(3)::before {background-image: url('./images/form_kana.png');}
#wpmem_profile_form fieldset .div_text:nth-of-type(5)::before {background-image: url('./images/form_zip.png');}
#wpmem_profile_form fieldset .div_text:nth-of-type(6)::before {background-image: url('./images/form_address.png');}
#wpmem_profile_form fieldset .div_text:nth-of-type(7)::before {background-image: url('./images/form_tel.png');}
#wpmem_profile_form fieldset .div_text:nth-of-type(8)::before {background-image: url('./images/form_mail.png');}
#wpmem_profile_form fieldset .div_text:nth-of-type(9)::before {background-image: url('./images/form_teleboat.png');}
#wpmem_profile_form fieldset .div_text:nth-of-type(1),
#wpmem_profile_form fieldset .div_text:nth-of-type(2),
#wpmem_profile_form fieldset .div_text:nth-of-type(3),
#wpmem_profile_form fieldset .div_text:nth-of-type(4) {
  width: calc((100% - 20px) / 2);
}
#wpmem_profile_form fieldset #user_email {
  border-color: transparent;
  padding-left: 0;
}
#wpmem_profile_form fieldset .div_text:nth-of-type(8) {
  padding-bottom: 20px;
  position: relative;
}
#wpmem_profile_form fieldset .div_text:nth-of-type(8)::after {
  content: '※メールアドレスは変更できません。変更が必要な場合は、退会後に再登録となります。';
  position: absolute;
  display: inline-block;
  font-size: 14rem;
  line-height: 140%;
  left: 0;
  bottom: 0;
}
.entry-form-notice {
  padding-top: 30px;
  font-weight: bold;
  text-align: center;
  line-height: 130%;
}
@media screen and (max-width:730px) {
  #wpmem_profile_form fieldset .div_text:nth-of-type(8) {
    padding-bottom: 32px;
  }
}
@media screen and (max-width:500px) {
  #wpmem_profile_form fieldset .div_text:nth-of-type(8)::after {
    font-size: 12rem;
  }
  #wpmem_profile_form fieldset .div_text:nth-of-type(1),
  #wpmem_profile_form fieldset .div_text:nth-of-type(2),
  #wpmem_profile_form fieldset .div_text:nth-of-type(3),
  #wpmem_profile_form fieldset .div_text:nth-of-type(4) {
    width: calc((100% - 10px) / 2);
  }
  .entry-form-notice {
    text-align: left;
  }
}
/* 登録情報の変更 完了ページ */
#post-15 .entry-form-unit .wpmem_msg+ul {
  display: none;
}

/* フォーム（ページ独自設定：部員登録）  */
#wpmem_register_form fieldset .div_text:nth-of-type(1)::before {background-image: url('./images/form_name.png');}
#wpmem_register_form fieldset .div_text:nth-of-type(3)::before {background-image: url('./images/form_kana.png');}
#wpmem_register_form fieldset .div_text:nth-of-type(5)::before {background-image: url('./images/form_zip.png');}
#wpmem_register_form fieldset .div_text:nth-of-type(6)::before {background-image: url('./images/form_address.png');}
#wpmem_register_form fieldset .div_text:nth-of-type(7)::before {background-image: url('./images/form_tel.png');}
#wpmem_register_form fieldset .div_text:nth-of-type(8)::before {background-image: url('./images/form_mail.png');}
#wpmem_register_form fieldset .div_text:nth-of-type(9)::before {background-image: url('./images/form_teleboat.png');}
#wpmem_register_form fieldset .div_text:nth-of-type(1),
#wpmem_register_form fieldset .div_text:nth-of-type(2),
#wpmem_register_form fieldset .div_text:nth-of-type(3),
#wpmem_register_form fieldset .div_text:nth-of-type(4) {
  width: calc((100% - 20px) / 2);
}
#wpmem_register_form fieldset .div_text:nth-of-type(8) {
  padding-bottom: 20px;
  position: relative;
}
#wpmem_register_form fieldset .div_text:nth-of-type(8)::after {
  content: '※メールアドレスは変更できません。変更が必要な場合は、退会後に再登録となります。';
  position: absolute;
  display: inline-block;
  font-size: 14rem;
  line-height: 140%;
  left: 0;
  bottom: 0;
}
@media screen and (max-width:730px) {
  #wpmem_register_form fieldset .div_text:nth-of-type(8) {
    padding-bottom: 38px;
  }
}
@media screen and (max-width:500px) {
  #wpmem_register_form fieldset .div_text:nth-of-type(8)::after {
    font-size: 12rem;
  }
  #wpmem_register_form fieldset .div_text:nth-of-type(1),
  #wpmem_register_form fieldset .div_text:nth-of-type(2),
  #wpmem_register_form fieldset .div_text:nth-of-type(3),
  #wpmem_register_form fieldset .div_text:nth-of-type(4) {
    width: calc((100% - 10px) / 2);
  }
}
/* 部員登録（テレボート） */
#about-teleboat {
  margin-bottom: 50px;
}
#about-teleboat > div {
  text-align: center;
  padding: 50px 20px;
  background: #ffffff;
}
.teleboat-text {
  font-size: 18rem;
  font-weight: bold;
  line-height: 140%;
}
.teleboat-text span {
  color: var(--color-text-skyblue);
}
.teleboat-link {
  padding-top: 30px;
}
.teleboat-link a {
  width: 70%;
  height: 80px;
  display: inline-block;
  color: #ffffff;
  font-size: 28rem;
  font-weight: bold;
  letter-spacing: 1px;
  border: none;
  text-indent: -9999px;
  background: #0056a7 no-repeat url('./images/btn_entry_teleboat.png') center center / auto 28px;
  text-decoration: none;
}
.teleboat-link a:hover {
  opacity: .8;
}
@media screen and (max-width:740px) {
  .teleboat-link a {
    width: 100%;
    height: 60px;
    background-size: auto 24rem;
  }
}
@media screen and (max-width:670px) {
  .teleboat-text p {
    text-align: left;
  }
  .teleboat-text p br {
    display: none;
  }
}
@media screen and (max-width:600px) {
  .teleboat-text {
    font-size: 16rem;
  }
}
@media screen and (max-width:500px) {
  #about-teleboat > div {
    padding: 30px 15px;
  }
  .teleboat-link a {
    background-size: calc(100% - 20px) auto;
  }
}

/* フォーム（ログイン） */
#wpmem_login_form {
  padding-top: 30px; 
}
#wpmem_login_form fieldset .div_text:nth-of-type(1)::before {background-image: url('./images/form_mail.png');}
#wpmem_login_form fieldset .div_text:nth-of-type(2)::before {background-image: url('./images/form_password.png');}
#wpmem_login_form #rememberme,
#wpmem_login_form label[for="rememberme"] {
  display: none;
}
#wpmem_login_form .button_div input[type="submit"] {
  text-indent: -9999px;
  background: #0056a7 no-repeat url('./images/text_btn_login.png') center center / auto 28px;
}
#wpmem_login_form .link-text {
  width: 100%;
}
#wpmem_login_form .link-text-forgot {
  display: inline-block;
  position: relative;
  width: 100%;
  text-indent: -9999px;
  height: 50px;
}
#wpmem_login_form .link-text-forgot a {
  position: absolute;
  display: inline-block;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 200px;
  height: 30px;
  color: var(--color-btn-blue);
  text-indent: 0;
  text-align: center;
  text-decoration: none;
}
#wpmem_login_form .link-text-forgot a:hover {
  text-decoration: underline;
}
@media screen and (max-width:600px) {
  #wpmem_login_form .button_div input[type="submit"] {
    background-size: auto 20px;
  }
}

/* フォーム（パスワードリセット） */
#wpmem_pwdreset_form fieldset .div_text:nth-of-type(1)::before {background-image: url('./images/form_mail.png');}
#wpmem_pwdreset_form .button_div input[type="submit"] {
	width: 70%;
}

/* フォーム（パスワードの変更） */
#wpmem_login #wpmem_pwdchange_form label {
  display: inline-block;
  font-size: 24rem;
  font-weight: bold;
  letter-spacing: 1px;
  margin-bottom: -30px;
}
#wpmem_pwdchange_form fieldset .div_text:nth-of-type(2) {
  padding-bottom: 26px;
  position: relative;
}
#wpmem_pwdchange_form fieldset .div_text:nth-of-type(2)::after {
  content: '※半角英数字、記号を組み合わせた8文字以上';
  position: absolute;
  display: inline-block;
  font-size: 14rem;
  line-height: 140%;
  left: 0;
  bottom: 0;
}
@media screen and (max-width:400px) {
  #wpmem_pwdchange_form fieldset .div_text:nth-of-type(2)::after {
    font-size: 12rem;
  }
}

/* 部員登録完了 */
.signup-complete-unit {
  background: #ffffff;
  padding: 50px 20px;
  text-align: center;
}
.signup-complete-unit img {
  max-width: 100%;
}
@media screen and (max-width:600px) {
  .signup-complete-unit {
    padding: 50px 15px;
  }
}

/* 抽選応募完了 */
.present-complete-unit {
  background: #ffffff;
  padding: 50px 20px;
  text-align: center;
}
.present-complete-unit img {
  max-width: 100%;
}
@media screen and (max-width:600px) {
  .present-complete-unit {
    padding: 50px 15px;
  }
}

/* 抽選応募 */
.present-title {
  font-size: 28rem;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 140%;
}
.present-title span {
  display: inline-block;
  margin: 0 8px;
}
.present-body {
  padding-bottom: 50px;
  text-align: center;
}
.present-body img {
  margin-top: 15px;
  max-width: 50vw;
}
.present-body img.present-full-width {
  max-width: 100%;
}
.present-body p {
  display: inline-block;
  margin: 0 auto;
  font-size: 24rem;
  font-weight: bold;
  line-height: 140%;
}
.present-body .present-sub {
  display: block;
  text-align: center;
  font-size: 14rem;
  font-weight: normal;
  padding-top: 20px;
}
@media screen and (max-width:800px) {
  .present-body p {
    text-align: left;
  }
  .present-body img {
    max-width: 80%;
  }
  .present-body img.present-full-width {
    max-width: 100%;
  }
}
@media screen and (max-width:600px) {
  .present-body .present-sub {
    text-align: left;
  }
}
@media screen and (max-width:500px) {
  .present-title {
    font-size: 24rem;
  }
  .present-body p {
    font-size: 20rem;
  }
}

.present-form-unit {
  padding: 50px 50px;
  background: #ffffff;
  display: none;
}
.present-form-body .mail-title {
  width: 100%;
  height: 30px;
  text-indent: -9999px;
  background: no-repeat url('./images/form_mail.png') top left / auto 23px;
}
.present-form-body .mail-title-text,
.present-form-body .radio-title {
  font-size: 22rem;
  font-weight: bold;
  letter-spacing: 1px;
  padding: 0 0 5px;
}
.present-form-body .radio-title {
  padding: 30px 0 20px;
}
.present-form-body .mail-body input[type="text"],
.present-form-body .mail-body input[type="text"]:focus {
  border: 2px solid #cccccc;
  border-radius: 2px;
  padding: 8px 10px 8px;
  font-size: 18rem;
  background: none repeat scroll 0% 0% #fff;
  width: 100%;
  outline: none;
}
.present-form-body .radio-body .mwform-radio-field-text {
  font-size: 20rem;
}
.present-form-body .radio-body label {
  display: inline-flex;
  align-items: center;
}
.present-form-body .mail-note {
  padding-top: 5px;
  font-size: 14px;
}
.present-form-submit {
  padding-top: 30px;
  text-align: center;
}
.present-form-unit input[type="submit"] {
  width: 50%;
  height: 80px;
  display: inline-block;
  color: #ffffff;
  font-size: 28rem;
  font-weight: bold;
  letter-spacing: 1px;
  border: none;
  text-indent: -9999px;
  background: #0056a7 no-repeat url('./images/text_btn_entry.png') center center / auto 28px;
  text-decoration: none;
}
.present-form-unit input[type="submit"]:hover {
	opacity: .8;
}
.present-form-unit .present-end {
  text-align: center;
  font-size: 24rem;
  font-weight: bold;
  letter-spacing: 1px;
  line-height: 140%;
}
@media screen and (max-width:650px) {
  .present-form-unit .present-end {
    text-align: left;
  }
}
@media screen and (max-width:600px) {
  .present-form-unit {
    padding: 50px 30px;
  }
  .present-form-unit input[type="submit"] {
    width: 100%;
    height: 60px;
    background-size: auto 20px;
  }
}
@media screen and (max-width:500px) {
  .present-form-unit {
    padding: 50px 20px;
  }
}

/* 退会ページ */
.delete-account-body {
  background: #ffffff;
  padding: 15px 50px 50px;
}
#plugin_delete_me_shortcode_form p {
  margin-bottom: 20px;
  line-height: 130%;
}
#plugin_delete_me_shortcode_form p:nth-of-type(3) {
  text-align: center;
}
#plugin_delete_me_shortcode_form label {
  display: inline-block;
  width: 100%;
  font-size: 24rem;
  font-weight: bold;
  letter-spacing: 1px;
  margin-bottom: 10px;
}
#plugin_delete_me_shortcode_password {
  border: 2px solid #aaaaaa !important;
  border-radius: 2px;
  padding: 8px 10px 8px;
  font-size: 18rem;
  background: none repeat scroll 0% 0% #fff;
  width: 100%;
  outline: none;
}
#plugin_delete_me_shortcode_form input[type="submit"] {
  width: 50%;
  height: 80px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  font-size: 28rem;
  font-weight: bold;
  letter-spacing: 1px;
  border: none;
  background-color: var(--color-btn-blue);
  margin-top: 20px;
}
#plugin_delete_me_shortcode_form input[type="submit"]:hover {
	opacity: .8;
}
.delete-account-body {
  line-height: 130%;
}
@media screen and (max-width:700px) {
  .delete-account-body {
    padding: 15px 30px 50px;
  }
}
@media screen and (max-width:600px) {
  #plugin_delete_me_shortcode_form input[type="submit"] {
    width: 100% !important;
    height: 60px;
    font-size: 20rem;
  }
}
@media screen and (max-width:500px) {
  .delete-account-body {
    padding: 15px 15px 50px;
  }
  #plugin_delete_me_shortcode_form label {
    font-size: 20rem;
  }
}
@media screen and (max-width:420px) {
  #plugin_delete_me_shortcode_form label {
    font-size: 18rem;
  }
}
#dialog-shadow {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background: #00000055;
  z-index: 10;
}

/* 無効メンバー対応 */
.for-banmember {
  width: 100%;
  height: 50px;
  max-height: 50px;
  overflow: hidden;
  text-align: center;
  display: none;
}
body.banuser .for-banmember {
  display: block;
}
.for-banmember > div {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: 920px;
  padding: 0 10px;
  margin: 0 auto;
  width: 100%;
  height: 100%;
}
.for-banmember p {
  display: inline-block;
  justify-content: center;
  align-items: center;
  color: var(--color-menu-red);
  font-size: 24rem;
  font-weight: bold;
}
@media screen and (max-width:440px) {
  .for-banmember p {
    font-size: 20rem;
  }
}

/* パスワード保護ページ */
.password-notice-wrap {
  text-align: center;
}
.password-notice {
  display: inline-block;
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  padding: 20px 10px 20px;
  text-align: center;
}
.password-notice p {
	line-height: 140%;
	font-size: 20rem;
	font-weight: bold;
}
.password-notice form {
  margin-top: 30px;
  /*display: inline-flex;*/
}
.password-notice input[type="password"] {
  border: 2px solid #aaaaaa;
  border-radius: 2px;
  padding: 8px 10px 8px;
  font-size: 18rem;
  background: none repeat scroll 0% 0% #fff;
  width: 100%;
  max-width: 380px;
}
.password-notice input[type="submit"],
.download-link {
  width: 100%;
  max-width: 380px;
  height: 80px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  font-size: 28rem;
  font-weight: bold;
  letter-spacing: 1px;
  border: none;
  background-color: var(--color-btn-blue);
  margin-top: 20px;
  text-decoration: none;
}
.password-notice input[type="submit"]:hover,
.download-link:hover {
  opacity: .8;
}
@media screen and (max-width:800px) {
  .present-form-unit.for-download {
    padding: 50px 20px;
  }
}
@media screen and (max-width:600px) {
  .password-notice input[type="submit"],
  .download-link {
    width: 100% !important;
    height: 60px;
    font-size: 20rem;
  }
}

@media screen and (max-width:600px) {
  .present-title.for-download {
    font-size: 24rem;
    padding: 20px 0 20px;
  }
}
@media screen and (max-width:520px) {
  .present-title.for-download {
    font-size: 18rem;
  }
}

.download-btn-notice {
  text-align: center;
}
.download-btn-notice p {
  display: block;
  width: 100%;
  text-align: center;
  line-height: 130%;
}
@media screen and (max-width:600px) {
  .download-btn-notice p {
    text-align: left;
  }
}

.download_end_btn {
	width: 100%;
	max-width: 380px;
	height: 80px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: #ffffff;
	font-size: 18rem;
	font-weight: bold;
	letter-spacing: 1px;
	border: none;
	background-color: #999999;
	margin-top: 20px;
	text-decoration: none;
  line-height: 130%;
}
.download_end_btn br {
  display: none;
}

@media screen and (max-width:460px) {
  .download_end_btn br {
    display: inline-block;
  }
}

