@charset "utf-8";

:root {
  --color-brown: #1A245E;
  --color-lightbrown: #6A9AE1;
  --color-red: #fd1600;
  --color-orange: #fe6400;
  --color-palebrown: #f3eee8;

  --color-brown-hover: #aa8e6c;
}

/*
** fix
*/
.l-body .lh-150 {
  line-height: 150%;
}

@media screen and (max-width:360px) {
  .l-wrapper {
    min-width: 0px;
    max-width: 100%;
    width: 100%;
  }
}

/*
** 全体制限
*/
html {
  min-height: 100%;
  height: 100%;
  background: #f7f7f7;
}

.l-wrapper {
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
  min-height: 100%;
}

.l-wrapper.page_meeting-admin {
  max-width: 100%;
}

/*
** フォント修正（明朝の制限）
*/
.theme__login {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.theme__login .p-message__auth {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
}

/*
** 細いスクロールバー
*/
.thin_scrollbar {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) rgba(0, 0, 0, 0.0);
  position: relative;
  z-index: 1;
}

.thin_scrollbar::-webkit-scrollbar {
  width: 6px;
}

.thin_scrollbar::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.0);
  border-radius: 5px;
}

.thin_scrollbar::-webkit-scrollbar-track {
  background: transparent;
}

/*
** ヘッダー
*/
.header_logo {
  display: flex;
  height: 60px;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}

.header_logo a {
  display: inline-block;
}

.header_logo a span {
  display: inline-block;
  text-align: center;
  font-size: 1.8rem;
  color: #112D6F;
  font-weight: 700;
  line-height: 1.2;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  /*padding: 10px 10px 10px 41px;
  background: no-repeat url('../img/logo_2002.svg') left 10px center / 24px auto;*/
}

@media screen and (max-width:400px) {
  .header_logo {
    height: 50px;
  }

  .header_logo a span {
    font-size: 1.5rem;
    /*padding: 5px 5px 5px 30px;
    background: no-repeat url('../img/logo_2002.svg') left 5px center / 20px auto;*/
  }
}

.l-header {
  box-shadow: none;
  min-height: 40px;
  height: auto;
  color: #ffffff;
  background: #112D6F;
  font-weight: normal;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.l-header--back {
  top: 50%;
  margin-top: -10px;
}

.l-header--reload {
  top: 50%;
  margin-top: -10px;
}

.l-header h1 {
  line-height: 130%;
  padding: 5px;
}

/*
** モーダル（フルサイズ）外枠
*/
#full_modal_base {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}

.full_modal_wrap {
  position: relative;
  width: 100vw;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fcf8f4;
  opacity: 0;
  transition: .2s;
  flex-direction: column;
}

.full_modal_wrap.active {
  opacity: 1;
}

.full_modal_unit {
  display: block;
  width: 100%;
  max-width: 500px;
  padding: 10px;
}

/*
** slick
*/
.full_modal_body {
  font-size: 16px;
}

.slick_unit img {
  width: 100%;
  max-width: 100%;
}

.slick_unit {
  display: none;
}

.slick_unit.slick-initialized {
  display: block;
}

.slick-dotted.slick-slider {
  padding-bottom: 60px;
  margin-bottom: 0px;
}

/*
** #full_modal_guide
*/
#full_modal_guide .btn_skip {
  padding: 5px 5px 0px;
  text-align: right;
}

#full_modal_guide .btn_skip a {
  display: inline-block;
  position: relative;
  width: 55px;
  height: 70px;
  color: #1362a3;
  text-indent: -9999px;
  background: no-repeat url('../img/btn_guide_close.png') center center / 40px auto;
  text-align: left;
  overflow: hidden;
}

#full_modal_guide .btn_skip a:hover {
  background: no-repeat url('../img/btn_guide_close_hover.png') center center / 40px auto;
}

.full_modal_unit_slide {
  padding: 0px 10px;
}

.full_modal_unit_slide>div {
  background: #ffffff;
  border: 2px solid #5b4529;
  text-align: center;
}

#full_modal_guide .item_title {
  color: #5b4529;
  line-height: 100%;
  font-weight: bold;
  font-size: 18px;
}

#full_modal_guide .item_title span {
  font-size: 20px;
  font-size: 20px;
  padding-top: 18px;
  display: inline-block;
}

#full_modal_guide .item_img {
  padding: 20px 5px 25px;
  width: 50%;
  margin: 0 auto;
}

#full_modal_guide .item_text {
  background: #f4eee8;
  padding: 10px 5px;
  color: #5b4529;
  line-height: 180%;
  min-height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-weight: bold;
}

@media screen and (max-width:400px) {
  #full_modal_guide .item_text {
    font-size: 14px;
  }
}

/* ページャー */
#full_modal_guide .slick-dots li button::before {
  content: '';
  background: #ffffff;
  border: 1px solid #5b4529;
  border-radius: 20px;
  width: 12px;
  height: 12px;
  opacity: 1;
}

#full_modal_guide .slick-dots li.slick-active button::before {
  background: #5b4529;
}

#full_modal_guide .slick-dots {
  bottom: 20px;
}

#full_modal_guide .slick-dots li {
  width: 16px;
}

/* 矢印 */
#full_modal_guide .slick-prev {
  left: 20px;
}

#full_modal_guide .slick-prev::before {
  background: no-repeat url('../img/icon_gray_arrow_left.png') center center / 100% auto;
}

#full_modal_guide .slick-next {
  right: 20px;
}

#full_modal_guide .slick-next::before {
  background: no-repeat url('../img/icon_gray_arrow_right.png') center center / 100% auto;
}

#full_modal_guide .slick-prev,
#full_modal_guide .slick-next {
  width: 30px;
  height: 30px;
  z-index: 5;
}

#full_modal_guide .slick-prev::before,
#full_modal_guide .slick-next::before {
  content: '';
  width: 30px;
  height: 30px;
  display: block;
  opacity: 0.8;
}

#full_modal_guide .slick-prev:hover::before,
#full_modal_guide .slick-next:hover::before {
  opacity: 0.4;
}

/*
** 戻るボタン
*/
.btn_backlink_unit {
  text-align: center;
}

.btn_backlink_unit a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 1.12px;
  color: #112D6F;
  opacity: 1;
  background-color: #ffffff;
  border: none;
  -webkit-box-shadow: 0px 0px 6px #00000029;
  box-shadow: 0px 0px 6px #00000029;
  border-radius: 4px;
  height: 5rem;
  width: 100%;
  max-width: 250px;
  font-size: 1.6rem;
  margin-bottom: 1.6rem;
}

/*
** ログインボタン
*/
[name="swpm-login-form"] .swpm-login-submit input[type="submit"] {
  width: 100%;
  max-width: 250px;
}

/*
** 戻るボタンほか（reserve）
*/
#booking-package_schedulePage:not(.hidden_panel) #returnToCalendarButton {
  width: 100%;
  max-width: 250px;
}

#booking-package_inputFormPanel .returnButton {
  width: 100% !important;
  max-width: 250px;
}

/*
** 更新ボタン（profile）
*/
[name="swpm-editprofile-form"] [name="swpm_editprofile_submit"],
[name="swpm-registration-form"] [name="swpm_editprofile_submit"] {
  width: 100%;
  max-width: 250px;
}

/*
** 登録ボタン（regist）
*/
[name=swpm-registration-form] [name=swpm_registration_submit] {
  width: 100%;
  max-width: 250px;
}

/*
** フォーム修正（#swpm-registration-form, #swpm-editprofile-form）
*/
#swpm-editprofile-form tr,
#swpm-registration-form tr {
  position: relative;
  transform: scale(1);
  display: table;
  margin: 0 auto;
  width: 100%;
  max-width: 480px;
}

#swpm-editprofile-form tr td:nth-child(2),
#swpm-registration-form tr td:nth-child(2) {
  position: relative;
  padding-bottom: 18px;
}

[name="swpm-registration-form"] .swpm-registration-membership-level-row {
  display: none !important;
}

[name=swpm-editprofile-form] .swpm-profile-username-row,
[name=swpm-editprofile-form] .swpm-profile-membership-level-row,
[name=swpm-editprofile-form] .swpm-profile-country-row,
[name=swpm-editprofile-form] .swpm-profile-company-row,
[name=swpm-registration-form] .swpm-profile-username-row,
[name=swpm-registration-form] .swpm-profile-membership-level-row,
[name=swpm-registration-form] .swpm-profile-country-row,
[name=swpm-registration-form] .swpm-profile-company-row {
  display: none !important;
}

#swpm-editprofile-form tr::after,
#swpm-registration-form tr::after {
  position: absolute;
  top: 55px;
  left: 0px;
  font-size: 12px;
  text-align: left;
  line-height: 130%;
}

#swpm-registration-form tr.swpm-registration-username-row::after {
  content: "半角英数、数字、ピリオドを使用できます。";
}

#swpm-registration-form tr.swpm-registration-password-row::after {
  content: "半角英数、数字を組み合わせて8文字以上20文字以内で入力してください。";
}

#swpm-editprofile-form tr.swpm-profile-password-row::after,
#swpm-editprofile-form tr.swpm-profile-password-retype-row::after {
  content: "半角英字、数字を組み合わせて8文字以上20文字以内で入力してください。現在のパスワードのままにする場合は、空欄にしてください。";
}

#swpm-registration-form tr.swpm-registration-company-row::after {
  content: "「紹介者名」欄に、紹介者の名前の記載をお願いいたします。\Aわからない場合は、会社名等分かる情報をご記載ください。";
  white-space: pre;
}

@media screen and (max-width:450px) {
  #swpm-registration-form tr.swpm-registration-company-row::after {
    content: "「紹介者名」欄に、紹介者の名前の記載をお願いいたします。わからない場合は、会社名等分かる情報をご記載ください。";
    white-space: normal;
  }
}

#swpm-editprofile-form .formError,
#swpm-registration-form .formError {
  left: auto !important;
  right: -30px !important;
}

/*
** フォーム修正（#swpm-registration-form 送信時）
*/
.regist_form_notice {
  padding: 0px 10px;
}

.status_success .regist_form_notice {
  display: none;
}

@media screen and (max-width:600px) {
  .regist_form_notice>div {
    display: inline-block;
    margin: 0 auto;
    text-align: left;
    padding: 0px 10px;
  }
}

.swpm-fb-profile-update-success {
  padding: 20px 10px;
}

.swpm-fb-profile-update-success {
  line-height: 140%;
}

.swpm-fb-profile-update-success>div {
  display: inline-block;
  margin: 0 auto;
  text-align: left;
}

/*
** フォーム修正（パスワード表示/非表示）
*/
.swpm-item-password>div>div {
  position: relative;
}

.swpm-form-builder .toggle_view {
  position: absolute;
  display: block;
  top: 0px;
  right: 0px;
  width: 50px;
  height: 40px;
  text-indent: -9999px;
  z-index: 5;
  background: no-repeat url('../img/icon_black_eye_off.svg') center center / 20px auto;
  cursor: pointer;
}

.swpm-form-builder .toggle_view.toON {
  background-image: url('../img/icon_black_eye_on.svg');
}

.swpm-fb-profile-update-success {
  padding-top: 10px;
}

/*
** フォーム修正（新・登録フォーム）
*/
.swpm-yellow-box {
  margin: 10px 10px;
}

.swpm-section-div {
  width: 100%;
}

.form_unit {}

.form_unit .swpm-form-builder fieldset {
  border-width: 0px;
  background-color: transparent;
}

.form_unit .swpm-section-div {
  background: ##E6ECF5;
  border: 2px solid var(--color-brown)
}

.form_unit .swpm-form-builder .swpm-section-div h4 {
  margin-bottom: 5px !important;
  padding: 8px !important;
  border-bottom-width: 0px;
  font-weight: bold;
}

.form_unit .swpm-legend {
  display: none;
}

.form_unit h4 {
  display: block;
}

.form_unit .swpm-form-builder ul li {
  text-align: left;
}

.form_unit .swpm-form-builder ul li input {
  width: 100%;
  padding: 10px;
  background: #ffffff;
}

.form_unit .swpm-form-builder ul li select {
  width: 100%;
  padding: 10px;
  -webkit-appearance: menulist;
  appearance: menulist;
}

.form_unit input[type="checkbox"].swpm-checkbox {
  -webkit-appearance: checkbox;
  appearance: checkbox;
  display: inline-block;
  width: auto;
  width: 16px;
  height: 16px;
}

.form_unit .swpm-form-builder label.swpm-choice {
  line-height: 100%;
  margin: -16px 8px 0px 26px;
}

.form_unit input[type="radio"].swpm-radio {
  -webkit-appearance: radio;
  appearance: radio;
  width: auto;
  line-height: 150%;
  width: 16px;
  height: 16px;
}

.form_unit input[type="radio"].swpm-radio+label {
  padding-top: 3px;
}

.form_unit_in_regist .memberinfo_kantei {
  display: none;
}

.form_unit .swpm-verification li:nth-child(1) {
  display: none !important;
}

.form_unit #swpm-form-5 #item-swpm-212,
.form_unit #swpm-form-6 #item-swpm-228,
.form_unit #swpm-form-6 #item-swpm-229,
.form_unit #swpm-form-6 #item-swpm-213 {
  display: none !important;
}

/* 会員レベル隠蔽 */
.form_unit #swpm-form-5 #item-swpm-70 {
  display: none !important;
}
/* 相談上の登場人物 */
.form_unit #swpm-form-6 #item-swpm-239 label {
  position: relative;
  padding-bottom: 22px;
}
.form_unit #swpm-form-6 #item-swpm-239 label::after {
  content: "※複数人いる場合は、複数人記載をお願いいたします。";
  display: block;
  position: absolute;
  bottom: 2px;
  left: 0;
  font-size: 12px;
  font-weight: normal;
}

/* パスワード欄注意書き */
.form_unit #swpm-form-5 .form_swpm_regist_edit,
.form_unit #swpm-form-6 .form_swpm_regist_edit {
  line-height: 130%;
}
.form_unit #swpm-form-5 .swpm-form-builder .form_swpm_regist_edit br,
.form_unit #swpm-form-6 .swpm-form-builder .form_swpm_regist_edit br {
  display: inline-block;
}
.form_unit #swpm-form-5 .swpm-form-builder .form_swpm_regist_edit .only_regist {
  padding-top: 10px;
}
.form_unit #swpm-form-6 .swpm-form-builder .only_regist {
  display: none;
}


/* 送信ボタン */
.form_unit [name="swpm-fb-submit"] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 1.12px;
  color: #112D6F;
  opacity: 1;
  background-color: #ffffff;
  border: none;
  -webkit-box-shadow: 0px 0px 6px #00000029;
  box-shadow: 0px 0px 6px #00000029;
  border-radius: 4px;
  height: 5rem;
  width: 100%;
  max-width: 250px;
  font-size: 1.6rem;
  margin-bottom: 1.6rem;
  cursor: pointer;
}

/* 必須タグ */
.swpm-form-builder label .swpm-required-asterisk {
  display: inline-block;
  text-indent: -9999px;
  padding-right: 60px;
  background: no-repeat url('../img/text_red_hissu.png') center right / 50px auto;
  min-height: 16px;
}

/* アコーディオン開閉リンク */
.swpm-form-builder .toggle_uketsuke_unit {
  padding-top: 15px;
  clear: both;
}

.swpm-form-builder .toggle_uketsuke_trigger {
  color: #0075ff;
  text-decoration: underline;
  cursor: pointer;
}

/* profile: 会員レベル隠蔽 */
.form_unit #edit_for_all_level-6 #item-swpm-78,
.form_unit #edit_for_all_level-6 #item-swpm-209 {
  display: none;
}

/* 登録解除 隠蔽 */
.form_unit #edit_for_all_level-6 .swpm-profile-account-delete-section {
  display: none;
}

/*
** フッター
*/
#footer {
  clear: both;
  padding-top: 25px;
  text-align: center;
}

.footer_list li a {
  display: inline-block;
  padding: 5px 15px;
  font-size: 1.6em;
  color: #112D6F;
  text-decoration: underline !important;
}

.footer_copyright {
  font-size: 12px;
  padding: 20px 5px;
}

/*
** 特定商取引法に基づく表示
*/
.law_list {
  padding: 30px 10px 30px;
  max-width: 600px;
  margin: 0 auto;
}

.law_list ul {
  border-top: 1px solid #cccccc;
}

.law_list li {
  display: flex;
  border-bottom: 1px solid #cccccc;
}

.law_list li>div {
  padding: 10px;
  text-align: left;
  font-size: 14px;
  line-height: 140%;
  word-wrap: break-word;
  word-break: break-all;
}

.law_list li>div.item_name {
  width: 160px;
  border-right: 1px solid #cccccc;
  font-weight: bold;
  width: 150px;
  min-width: 150px;
}

@media screen and (max-width:365px) {
  .law_list li {
    display: block;
  }

  .law_list li>div.item_name {
    width: 100%;
    border-right-width: 0px;
    padding-bottom: 0px;
  }
}

/*
** 予約申し込み（iOS で、選択時にチェックボックスが消える）
*/
#booking-package_inputFormPanel #booking_package_input_terms input[type='checkbox'] {
  -webkit-appearance: checkbox !important;
  border-radius: 0px;
}

/* 確認画面で「免責事項」を表示しない */
#booking-package_inputFormPanel.booking_completed_panel>div:nth-of-type(7) {
  display: none;
}

/* 予約から profile に誘導 */
.guide_to_profile {
  padding: 30px 10px 40px;
}

.btn_white_normal {
  text-align: center;
}

.notice_to_profile {
  line-height: 160%;
  padding-bottom: 40px;
}

.btn_white_normal a,
button[name="swpm_do_cancel_sub"] {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 1.12px;
  color: #112D6F;
  opacity: 1;
  background-color: #ffffff;
  border: none;
  -webkit-box-shadow: 0px 0px 6px #00000029;
  box-shadow: 0px 0px 6px #00000029;
  border-radius: 4px;
  height: 5rem;
  max-width: 100%;
  min-width: 250px;
  font-size: 1.6rem;
  margin-bottom: 1.6rem;
  padding: 0px 20px;
}

/*
** お問い合わせ（contact）
*/
.l-body.page_contact_lbody {
  max-width: 800px;
  margin: 0 auto;
}

.page_contact_text {
  line-height: 140%;
}

.page_contact_title {
  margin-bottom: 15px;
}

.page_contact_title span {
  font-weight: bold;
  font-size: 20px;
}

.module_menu_link.p-message__consul {
  padding: 0px;
}

.module_menu_link.p-message__consul a {
  display: block;
  padding: 1.0rem 1rem;
  width: 100%;
}

.page_contact_lbody .p-message__consul {
  padding: 0px;
}

.page_contact_lbody .p-message__consul a {
  display: block;
  padding: 1.0rem 1rem;
  width: 100%;
}

/*
** ログイン画面
*/
.swpm-login-widget-action-msg {
  display: inline-block;
  border: 1px solid #ff5656;
  line-height: 140%;
  margin: 0px 10px 50px;
  padding: 5px 5px;
}

.swpm-login-widget-action-msg:empty {
  border-width: 0px;
  margin-bottom: 0px;
}

/*
** ミーティング画面（管理側）
*/
.page_meeting-admin .header_logo,
.page_meeting-admin .footer_list {
  display: none;
}

.meeting_unit {
  display: flex;
  padding: 50px 10px 0px;
  width: 100%;
  max-width: 1620px;
  margin: 0 auto;
}

.meeting_view {
  min-width: 600px;
}

.meeting_info {
  padding-left: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
  width: 100%;
}

@media screen and (max-width:1100px) {
  .meeting_unit {
    flex-direction: column;
  }

  .meeting_info {
    padding-left: 0px;
    padding-top: 40px;
  }
}

/* 切替タブ */
.userinfo_tab ul {
  display: flex;
}

.userinfo_tab li {
  display: flex;
  align-items: center;
}

.userinfo_tab li .btn_userinfo {
  display: inline-block;
  text-align: center;
  font-size: 20px;
  font-weight: normal;
  padding: 10px;
  min-width: 131px;
  color: var(--color-lightbrown);
  background: #ffffff;
  border: 1px solid var(--color-brown);
  border-bottom-width: 0px;
}

.userinfo_tab li .btn_userinfo.current {
  font-weight: bold;
  color: #ffffff !important;
  background: var(--color-brown) !important;
}

.userinfo_tab li>span {
  display: inline-block;
  padding-left: 30px;
  color: var(--color-brown);
  font-size: 14px;
}

.userinfo_tab li .btn_userinfo:hover {
  color: #ffffff;
  background: var(--color-brown-hover);
}

.userinfo_tab li.member_status {
  margin-left: auto;
  align-items: flex-start;
}

.userinfo_tab li.member_status span {
  display: inline-block;
  background: #ffffff;
  border: 2px solid var(--color-brown);
  padding: 6px 20px;
  color: var(--color-brown);
  font-weight: bold;
  font-size: 16px;
}

@media screen and (max-width:1550px) {
  .userinfo_tab li:nth-child(3) {
    display: none;
  }
}

@media screen and (max-width:800px) {
  .meeting_view {
    min-width: 100%;
    width: 100%;
  }
}

@media screen and (max-width:450px) {
  .userinfo_tab {
    padding-top: 50px;
    position: relative;
  }

  .userinfo_tab li.member_status {
    position: absolute;
    top: 0;
    right: 0;
  }
}

/* 会員情報 */
.userinfo_table {
  display: none;
  background: #ffffff;
  border: 2px solid var(--color-brown);
}

.userinfo_table.show {
  display: block;
}

.userinfo_table li {
  display: flex;
  border-top: 1px solid var(--color-brown);
}

.userinfo_table li:nth-child(1) {
  border-top-width: 0px;
}

.userinfo_table li>div {
  display: flex;
  width: 100%;
}

.userinfo_table li.col3>div:nth-child(1),
.userinfo_table li.col3>div:nth-child(2) {
  width: 33%;
}

.userinfo_table li.col3>div:nth-child(3) {
  width: 34%;
}

.userinfo_table li.col3.col3b>div:nth-child(2) {
  width: 21%;
}

.userinfo_table li.col3.col3b>div:nth-child(3) {
  width: 46%;
}

.userinfo_table li .item_name {
  background: ##E6ECF5;
  border-left: 1px solid var(--color-brown);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  white-space: nowrap;
  min-width: 130px;
  min-height: 46px;
}

.userinfo_table li .item_name.item_name_mail {
  min-width: 210px;
}

.userinfo_table li .item_name.item_name_person {
  min-width: 240px;
}

.userinfo_table li .item_name>div {
  text-align: center;
}

.userinfo_table li .item_name span {
  display: block;
  font-size: 12px;
  padding-bottom: 5px;
}

.userinfo_table li>div:nth-of-type(1) .item_name {
  border-left-width: 0px;
}

.userinfo_table li .item_body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 10px;
  width: 100%;
}

.userinfo_table li .item_body.with_furi {
  padding: 0px;
}

.userinfo_table li .item_body span {
  padding: 10px;
}

.userinfo_table li .item_body span.furi {
  display: block;
  border-bottom: 1px dotted var(--color-brown);
  padding: 4px;
  font-size: 14px;
}

.userinfo_table li .item_body.item_body_request {
  max-height: 300px;
  justify-content: flex-start;
  padding: 15px 10px;
}

@media screen and (max-width:1550px) {
  .userinfo_table li {
    flex-direction: column;
  }

  .userinfo_table li .item_name {
    border-left-width: 0px;
  }

  .userinfo_table li.col3>div {
    width: 100% !important;
  }

  .userinfo_table li.col3>div:nth-child(2),
  .userinfo_table li.col3>div:nth-child(3) {
    border-top: 1px solid var(--color-brown);
  }

  .userinfo_table li.col2 {
    flex-direction: row;
  }

  .userinfo_table li.col2 .item_name {
    border-left-width: 1px;
  }
}

@media screen and (max-width:1300px) {
  .userinfo_table li.col2 {
    flex-direction: column;
  }

  .userinfo_table li.col2 .item_name {
    border-left-width: 0px;
  }

  .userinfo_table li.col2>div:nth-child(2) {
    border-top: 1px solid var(--color-brown);
  }
}

@media screen and (max-width:500px) {
  .userinfo_table li>div.request_unit {
    flex-direction: column;
  }
}

@media screen and (max-width:450px) {
  .userinfo_table li .item_name.item_name_mail {
    min-width: 130px;
    white-space: normal;
    font-size: 15px;
  }

  .userinfo_table li .item_name.item_name_person {
    min-width: 130px;
    width: 130px;
    white-space: normal;
  }
}

/* ご請求 */
.meeting_info_action {
  background: #ffffff;
  border: 2px solid var(--color-brown);
  border-top-width: 0px;
  margin: 20px 0px 3px;
}

.meeting_info_action h4 {
  background: var(--color-brown);
  color: #ffffff;
  padding: 10px;
  font-size: 20px;
  font-weight: bold;
  display: flex;
  align-items: center;
}

.meeting_info_action h4 span {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  margin-left: 20px;
}

.meeting_info_action .request_unit {
  text-align: center;
  padding: 20px 20px 30px 20px;
}

.meeting_info_action .item_notice {
  color: var(--color-red);
  padding: 0px 0px 0px 23px;
  background: no-repeat url('../img/icon_red_triangle_alert.png') left center / 20px auto;
  display: inline-block;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 20px;
}

.meeting_info_action .request_unit li {
  display: inline-block;
}

.meeting_info_action .request_unit li:nth-child(2) {
  margin-left: 40px;
}

.meeting_info_action .request_unit li button {
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  height: 60px;
  box-shadow: 0px 4px 4px -2px rgba(0, 0, 0, 0.4);
  font-size: 18px;
  font-weight: bold;
  border: none;
}

.meeting_info_action .request_unit li button.with_purification {
  background: #ff6600;
}

.meeting_info_action .request_unit li button.without_purification {
  background: #3877d4;
}

.meeting_info_action .request_unit li button.with_purification:hover {
  background: #f68f4a;
}

.meeting_info_action .request_unit li button.without_purification:hover {
  background: #7daaef;
}

@media screen and (max-width:1200px) {
  .meeting_info_action h4 span {
    display: none;
  }

  .meeting_info_action .request_unit li {
    display: block;
  }

  .meeting_info_action .request_unit li:nth-child(2) {
    margin-left: 0px;
    margin-top: 25px;
  }
}

@media screen and (max-width:1100px) {
  .meeting_info_action .request_unit li {
    display: inline-block;
  }

  .meeting_info_action .request_unit li:nth-child(2) {
    margin-left: 40px;
    margin-top: 0px;
  }
}

@media screen and (max-width:600px) {
  .meeting_info_action .request_unit li {
    display: block;
  }

  .meeting_info_action .request_unit li:nth-child(2) {
    margin-left: 0px;
    margin-top: 25px;
  }
}

/* 時計 */
.clock_unit {
  text-align: right;
}

#RealtimeClockArea {
  display: inline-block;
  padding: 10px;
}

/*
** ご請求（モーダル）
*/
#modal_kantei_wrap {
  position: fixed;
  display: flex;
  top: 0px;
  left: 0px;
  width: 100vw;
  height: 100vh;
  z-index: 9;
  background: rgba(0, 0, 0, .5);
  align-items: center;
  justify-content: center;
}

#modal_kantei {
  display: block;
  position: relative;
  width: 96%;
  max-width: 800px;
  border: 6px solid var(--color-brown);
  background: #ffffff;
  font-size: 16px;
  box-shadow: 0px 4px 4px -2px rgba(0, 0, 0, 0.6);
}

#modal_kantei .km_head h3 {
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #ffffff;
  padding: 15px 5px 21px 5px;
  background: var(--color-brown);
}

#modal_kantei .kmClose {
  position: absolute;
  display: block;
  top: 5px;
  right: 5px;
  width: 40px;
  height: 40px;
  border: 1px solid #ffffff;
  background: transparent;
}

#modal_kantei .kmClose:hover {
  background: #ffffff;
}

#modal_kantei .kmClose span {
  display: block;
  position: absolute;
  width: 30px;
  height: 3px;
  top: 50%;
  left: 5px;
  margin-top: -1px;
}

#modal_kantei .kmClose span::before,
#modal_kantei .kmClose span::after {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 3px;
  background: #ffffff;
}

#modal_kantei .kmClose:hover span::before,
#modal_kantei .kmClose:hover span::after {
  background: var(--color-brown);
}

#modal_kantei .kmClose span::before {
  transform: rotate(45deg);
}

#modal_kantei .kmClose span::after {
  transform: rotate(-45deg);
}

#modal_kantei .km_body {
  padding: 30px 15px;
  max-height: calc(100vh - 100px);
  overflow: auto;
}

#modal_kantei .kmb_submit ul {
  text-align: center;
}

#modal_kantei .kmb_submit li {
  display: inline-block;
}

#modal_kantei .kmb_submit li:nth-child(2) {
  margin-left: 30px;
}

#modal_kantei .kmb_submit li button {
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  height: 60px;
  box-shadow: 0px 4px 4px -2px rgba(0, 0, 0, 0.4);
  font-size: 18px;
  font-weight: bold;
  border: none;
}

#modal_kantei .kmb_submit li button.btn_send {
  background: #ff6600;
}

#modal_kantei .kmb_submit li button.btn_send:hover {
  background: #f68f4a;
}

#modal_kantei .kmb_submit li button.btn_cancel {
  background: #3877d4;
}

#modal_kantei .kmb_submit li button.btn_cancel:hover {
  background: #7daaef;
}

/* 右下：送信完了 */
.meeting_info_action .after_sendmail_title {
  color: #ff0000;
  font-size: 24px;
  font-weight: bold;
  padding-bottom: 20px;
}

.meeting_info_action .after_sendmail_text p {
  font-size: 18px;
  line-height: 140%;
}

.meeting_info_action .after_sendmail {
  display: none;
}

.meeting_info_action.sendmail .before_sendmail {
  display: none;
}

.meeting_info_action.sendmail .after_sendmail {
  display: block;
}

/* 請求金額 */
#modal_kantei .kmb_title {
  text-align: center;
}

#modal_kantei .kmb_title h5 {
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 10px;
}

#modal_kantei .kmb_notice {
  color: var(--color-red);
  padding: 0px 0px 0px 23px;
  background: no-repeat url('../img/icon_red_triangle_alert.png') left center / 20px auto;
  display: inline-block;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 20px;
}

#modal_kantei .kmb_oharai {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 700px;
  margin: 0 auto;
}

#modal_kantei .kmb_oharai li {
  font-size: 18px;
  font-weight: bold;
  min-width: 210px;
  margin-bottom: 15px;
}

#modal_kantei .kmb_oharai li span {
  font-size: 16px;
  font-weight: normal;
}

#modal_kantei .kmb_oharai li input {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  margin: 0px 5px 0px 0px;
  top: 2px;
}

#modal_kantei .kmb_oharai li input::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 1px solid #000000;
  border-radius: 20px;
}

#modal_kantei .kmb_oharai li input:checked::before {
  background: #ff6600;
  border: 1px solid #ff6600;
  box-shadow: 0px 0px 0px 3px #ffffff inset;
}

#modal_kantei .kmb_total_title {
  background: #ff6600;
  color: #ffffff;
  font-size: 20px;
  font-weight: bold;
  padding: 10px 11px 7px 20px;
  display: inline-block;
  margin-top: 20px;
}

#modal_kantei .kmb_total_body {
  border: 3px solid #ff6600;
  padding: 30px 20px;
  margin-bottom: 34px;
  display: flex;
  align-items: center;
}

#modal_kantei .kmb_total_body div {
  display: flex;
  align-items: center;
}

#modal_kantei .kmb_total_body span {
  display: inline-block;
}

#modal_kantei .kmb_total_body span.price {
  font-size: 22px;
  font-weight: bold;
  color: #ff6600;
  margin-left: 5px;
}

#modal_kantei .kmb_total_body span.price_sub {
  font-size: 14px;
  color: #ff6600;
  margin-left: 3px;
}

#modal_kantei .kmb_total_body span.price_border {
  font-size: 22px;
  font-weight: bold;
  color: #ff6600;
  border: 1px solid #ff6600;
  min-width: 100px;
  text-align: right;
  padding: 7px 3px;
}

#modal_kantei .kmb_confirm_note {
  text-align: center;
  font-size: 14px;
}

#modal_kantei .kmb_confirm_btn {
  padding: 15px 10px 40px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}

#modal_kantei .kmb_confirm_btn input[type=checkbox] {
  display: none;
}

#modal_kantei .checkbox01 {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
}

#modal_kantei .checkbox01::before {
  background: #fff;
  border: 1px solid #231815;
  content: '';
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}

#modal_kantei .checkbox01::after {
  border-right: 3px solid #8dd255;
  border-bottom: 3px solid #8dd255;
  content: '';
  display: block;
  height: 9px;
  left: 10px;
  margin-top: -7px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 5px;
}

#modal_kantei input[type=checkbox]:checked+.checkbox01::after {
  opacity: 1;
}

@media screen and (max-width:720px) {
  #modal_kantei .kmb_oharai {
    max-width: 460px;
  }

  #modal_kantei .kmb_total_body {
    flex-direction: column;
  }

  #modal_kantei .kmb_total_body>div:nth-child(1) {
    margin-bottom: 10px;
  }
}

@media screen and (max-width:540px) {
  #modal_kantei .kmb_submit ul li {
    width: 100%;
  }

  #modal_kantei .kmb_submit li:nth-child(2) {
    margin-left: 0px;
    padding-top: 10px;
  }
}

@media screen and (max-width:500px) {
  #modal_kantei .kmb_oharai {
    max-width: 210px;
  }

  #modal_kantei .kmb_total_body div {
    width: 220px;
    justify-content: flex-start;
  }

  #modal_kantei .kmb_total_body>div:nth-child(1) {
    flex-direction: column;
  }

  #modal_kantei .kmb_total_body>div:nth-child(1)>div:nth-child(1) {
    margin-bottom: 10px;
  }
}

@media screen and (max-width:500px) {
  #modal_kantei .km_head h3 {
    padding-right: 48px;
    font-size: 18px;
  }
}

/* 送信完了（モーダル） */
#modal_kantei .after_send {
  display: none;
}

#modal_kantei.sendmail .after_send {
  display: block;
}

#modal_kantei.sendmail .before_send {
  display: none;
}

#modal_kantei.sendmail .kmb_after_unit {
  padding: 20px 0px 0px;
  text-align: center;
}

#modal_kantei .kmb_close li button {
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  height: 60px;
  box-shadow: 0px 4px 4px -2px rgba(0, 0, 0, 0.4);
  font-size: 18px;
  font-weight: bold;
  border: none;
  background: var(--color-brown);
}

#modal_kantei .kmb_after_image span {
  display: inline-block;
  width: 80px;
  height: 80px;
  background: no-repeat url('../img/icon_green_check.png') center center /100% auto;
  text-indent: -9999px;
}

#modal_kantei .kmb_after_unit h5 {
  color: #8dd255;
  font-size: 22px;
  font-weight: bold;
  padding: 20px 10px;
}

#modal_kantei .kmb_after_note p {
  font-size: 16px;
  line-height: 150%;
  padding-bottom: 30px;
}

/* ミーティング画面（簡易MTG） */
.meeting-no-room {
  padding: 50px 0;
}

/* 予約カレンダー修正 */
#booking-package_calendarPage:not(.hidden_panel) .calendar .dayPanel {
  width: 100%;
}

/*
** 予約申し込み
*/
#booking-package_inputFormPanel {
  margin-top: 5px;
}

#booking-package_calendarPage .pointer.idou {
  cursor: default;
}

#booking-package_calendarPage .pointer.idou:hover {
  background-color: #ffffff;
}

#booking-package_calendarPage:not(.hidden_panel) .calendar .symbolPanel.no_line {
  text-decoration: none;
}

#booking-package_schedulePage:not(.hidden_panel) .courseListPanel .selectPanel .timeSlot::before,
#booking-package_schedulePage:not(.hidden_panel) .courseListPanel .selectPanelError .timeSlot::before {
  content: "〇";
  display: inline-block;
  font-size: 20px;
  margin-right: 10px;
  top: 1px;
  position: relative;
}

#booking-package_schedulePage:not(.hidden_panel) .courseListPanel .selectPanel.closed .timeSlot::before,
#booking-package_schedulePage:not(.hidden_panel) .courseListPanel .selectPanelError.closed .timeSlot::before {
  content: "×";
}

#booking-package_inputFormPanel .kanteiPrice {
  padding: 1.7rem 3.5rem 3.5rem;
}
#booking-package_inputFormPanel .kanteiPrice span {
  display: inline-block;
  font-size: 1.4rem;
  padding-top: 8px;
  line-height: 140%;
}

/* 予約送信 */
#booking-package_inputFormPanel>div:nth-child(4) {
  position: relative;
}

#booking-package_inputFormPanel>div:nth-child(4) .value {
  position: relative;
  padding-bottom: 50px;
}

#booking-package_inputFormPanel>div:nth-child(4) .value #booking_package_input_terms {
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 25px;
}

/* 予約送信完了 */
#booking-package_inputFormPanel.booking_completed_panel>div:nth-child(3) .value {
  padding: 30px 15px;
}

#booking-package_inputFormPanel.booking_completed_panel>div:nth-child(4) {
  display: none;
}

/*
** 会誌閲覧
*/
.c-list--body li:nth-child(1) .selected {
  margin-top: 5px;
}

/*
** 料金お支払い完了（pay-member-success）
*/
.p-message__pay-success {
  padding: 0px 10px;
}
.p-message__pay-success a {
  color: #5b4529;
  text-decoration: underline;
}

/*
** FAQ
*/
.faq_content {
  margin-top: 10px;
}

.faq_content section {
  margin-bottom: 40px;
  text-align: left;
  border-bottom: 1px solid var(--color-brown);
}

.faq_content h3 {
  background: var(--color-lightbrown);
  color: #ffffff;
  padding: 10px;
  border-top: 1px solid var(--color-brown);
  border-bottom: 1px solid var(--color-brown);
  text-align: center;
}

.faq_content li>div {
  padding: 10px 10px 10px 50px;
  position: relative;
  line-height: 160%;
}

.faq_content li>div>span {
  position: absolute;
  top: 10px;
  left: 10px;
  font-weight: bold;
  letter-spacing: 2px;
}

.faq_content li>div.faq_q {
  border-top: 1px solid var(--color-brown);
  cursor: pointer;
  padding-right: 28px;
}

.faq_content li>div.faq_q::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  top: 50%;
  right: 13px;
  margin-top: -7px;
  display: inline-block;
  border-top: 1px solid var(--color-brown);
  border-right: 1px solid var(--color-brown);
  transform: rotate(135deg);
  transition: .2s;
}

.faq_content li>div.faq_q.open::after {
  margin-top: -2px;
  transform: rotate(-45deg);
}

.faq_content li:nth-child(1)>div.faq_q {
  border-top-width: 0px;
}

.faq_content li>div.faq_a {
  padding-bottom: 20px;
  background: #ffffff;
}

.faq_content li>div.faq_a a {
  text-decoration: underline;
}

/*
** エラー表示
*/
.simple_error_unit {
  padding: 30px;
  font-size: 14px;
}

.simple_error_unit a {
  display: inline-block;
  padding-left: 20px;
}

/*
** pay_reserve
*/
#payment_list_for_kantei {
  padding: 10px;
}

#payment_list_for_kantei li {
  display: flex;
  border: 1px solid #707070;
  background: #ffffff;
  padding: 10px;
  border-radius: 4px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
  width: 100%;
}

#payment_list_for_kantei li .kantei_detail {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  line-height: 140%;
  width: 100%;
}

#payment_list_for_kantei li .kantei_btn {
  width: 100%;
  text-align: right;
}

#payment_list_for_kantei li .kantei_payment {
  display: inline-block;
  border: 1px solid #dddddd;
  padding: 5px 15px;
  background: #eeeeee;
  border-radius: 4px;
  cursor: pointer;
}

#payment_list_for_kantei li .kantei_payment:hover {
  background: #dddddd;
}

#payment_list_for_kantei .pay_reserve_note {
  padding-top: 15px;
  font-size: 14px;
  line-height: 145%;
  text-align: left;
}

#payment_list_for_kantei .pay_reserve_note a {
  text-decoration: underline;
}

/* pay_reserve（モーダル） */
#modal_payment_reserve_wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: none;
  background: rgba(0, 0, 0, .8);
  z-index: 5;
  display: none;
}

#modal_payment_reserve_wrap>div {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#modal_payment_reserve button.c-button__member.c-button__member__short {
  margin: 10px auto;
  min-width: 200px;
}

#modal_payment_reserve button.c-button__member.c-button__member__short:hover {
  background: #dddddd;
}

/* info（会報QRからの遷移先） */
.info_select a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
	letter-spacing: 1.12px;
	opacity: 1;
	-webkit-box-shadow: 0px 0px 6px #00000029;
	box-shadow: 0px 0px 6px #00000029;
	border-radius: 4px;
	font-size: 1.6rem;
	color: #ffffff;
	background-color: #0074D4;
	border: none;
	width: 100%;
	height: 4.7rem;
  margin-bottom: 40px;
}

/* パスワードリセット */
#swpm-pw-reset-form input[type="text"] {
  max-width: 83%;
}
.password-forgot-unit {
	position: relative;
	font-size: 12px;
	top: -47px;
	width: 83%;
	text-align: right;
	margin: 0 auto;
}
.password-forgot-unit a {
	display: inline-block;
  text-decoration: underline;
  color: var(--color-brown);
}
.swpm-pw-reset-email-input::after {
	content: "登録時のメールアドレスをご入力ください。\A登録メールアドレス宛にパスワードリセットのメールをお送りいたします。";
	white-space: pre-wrap;
	display: block;
	font-size: 12px;
	color: var(--color-brown);
	width: 83%;
	margin: 5px auto 20px;
	text-align: left;
	line-height: 140%;
	word-break: break-all;
	word-wrap: break-word;
}
.swpm-pw-reset-submit-button input {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	text-align: center;
	letter-spacing: 1.12px;
	color: #112D6F;
	opacity: 1;
	background-color: #ffffff;
	border: none;
	-webkit-box-shadow: 0px 0px 6px #00000029;
	box-shadow: 0px 0px 6px #00000029;
	border-radius: 4px;
	height: 5rem;
	width: 100%;
	max-width: 250px;
	font-size: 1.6rem;
	margin-bottom: 1.6rem;
  cursor: pointer;
}

