@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');
*{
  margin:0;
  padding:0;
  list-style: none;
  box-sizing: border-box;
  text-decoration: none;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

*::before,
*::after{
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  box-sizing: border-box;
}

html {
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

input,
select,
textarea{
  font-family:'メイリオ', 'Meiryo', sans-serif;
  color:#4d4d4d;
  -webkit-font-smoothing: antialiased;
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  font-feature-settings: 'palt';
  touch-action: manipulation;
  resize: none;
  display: block;
}

input[type="number"]{
  -moz-appearance:textfield; 
}

input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
} 

select,
input[type="checkbox"],
input[type="radio"]{
  cursor: pointer;
}


select{
  background-color: #fff;
}

button{
  border: none;
  background: none;
  border-radius: 0;
  cursor: pointer;
}

body{
  color: #4d4d4d;
  font-size: 16px;
  font-family:'メイリオ', 'Meiryo', sans-serif;
  -webkit-font-smoothing: antialiased;
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

body.fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

img{
  display: block;
  object-position: center;
  width: 100%;
}


#body_wrap{
  overflow: hidden;
}


a{
  color: #4d4d4d;
}

.fax a{
  pointer-events: none;
}

@media (any-hover:hover){
  a[href^="tel:"] {
    pointer-events: none;
  }
}

main{
  padding-top: 55px;
}

/*
------------------------------------
共通パーツ
------------------------------------
*/

.hide{
  display: none!important;
}

.container{
  max-width: 1000px;
  margin:0 auto;
}

.common_page_head{
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.common_token_err{
  text-align: center;
  color:#ff0000;
  font-weight: bold;
  margin:20px 0;
}

/*ボタンクリック時のローディング処理*/
.js_loading_button{
  position: relative;
  cursor: pointer;
  border:none;
  background: none;

}

.js_click_rock{
  pointer-events: none!important;
  box-shadow:none!important;
  transform: translateY(3px);
  opacity: 0.5;
}

.js_loader_frame{
  position: absolute;
  right:-20px;
  top:-20px;
  opacity:0;
}

.js_click_rock .js_loader_frame{
  opacity:1;
}

.js_loader {
  margin: auto;
  font-size: 6px;
  width:8px;
  height:8px;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  -webkit-animation: load5 1.1s infinite ease;
  animation: load5 1.1s infinite ease;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  pointer-events: none;
}
@-webkit-keyframes load5 {
  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #000000, 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.5), -1.8em -1.8em 0 0em rgba(0,0,0, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.7), 1.8em -1.8em 0 0em #000000, 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.5), 1.8em -1.8em 0 0em rgba(0,0,0, 0.7), 2.5em 0em 0 0em #000000, 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.5), 2.5em 0em 0 0em rgba(0,0,0, 0.7), 1.75em 1.75em 0 0em #000000, 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.5), 1.75em 1.75em 0 0em rgba(0,0,0, 0.7), 0em 2.5em 0 0em #000000, -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.5), 0em 2.5em 0 0em rgba(0,0,0, 0.7), -1.8em 1.8em 0 0em #000000, -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.5), -1.8em 1.8em 0 0em rgba(0,0,0, 0.7), -2.6em 0em 0 0em #000000, -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.5), -2.6em 0em 0 0em rgba(0,0,0, 0.7), -1.8em -1.8em 0 0em #000000;
  }
}
@keyframes load5 {
  0%,
  100% {
    box-shadow: 0em -2.6em 0em 0em #000000, 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.5), -1.8em -1.8em 0 0em rgba(0,0,0, 0.7);
  }
  12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.7), 1.8em -1.8em 0 0em #000000, 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.5);
  }
  25% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.5), 1.8em -1.8em 0 0em rgba(0,0,0, 0.7), 2.5em 0em 0 0em #000000, 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.5), 2.5em 0em 0 0em rgba(0,0,0, 0.7), 1.75em 1.75em 0 0em #000000, 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  50% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.5), 1.75em 1.75em 0 0em rgba(0,0,0, 0.7), 0em 2.5em 0 0em #000000, -1.8em 1.8em 0 0em rgba(0,0,0, 0.2), -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.5), 0em 2.5em 0 0em rgba(0,0,0, 0.7), -1.8em 1.8em 0 0em #000000, -2.6em 0em 0 0em rgba(0,0,0, 0.2), -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  75% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.5), -1.8em 1.8em 0 0em rgba(0,0,0, 0.7), -2.6em 0em 0 0em #000000, -1.8em -1.8em 0 0em rgba(0,0,0, 0.2);
  }
  87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(0,0,0, 0.2), 1.8em -1.8em 0 0em rgba(0,0,0, 0.2), 2.5em 0em 0 0em rgba(0,0,0, 0.2), 1.75em 1.75em 0 0em rgba(0,0,0, 0.2), 0em 2.5em 0 0em rgba(0,0,0, 0.2), -1.8em 1.8em 0 0em rgba(0,0,0, 0.5), -2.6em 0em 0 0em rgba(0,0,0, 0.7), -1.8em -1.8em 0 0em #000000;
  }
}

.common_orange_button{
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  min-width: 135px;
  min-height: 40px;
  padding:4px 8px;
  border-radius: 8px;
  background-color: rgb(146, 165, 188);
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  color:#fff;
  transition: 0.4s;
}

@media (any-hover:hover){
  .common_orange_button:hover{
    opacity: 0.6;
  }
}


.select_frame{
  position: relative;
}

.select_frame::after{
  content:"";
  width:0;
  height:0;
  border-style:solid;
  border-width: 8px 8px 0 8px;
  border-color: #4d4d4d transparent transparent transparent;
  pointer-events: none;
  position: absolute;
  right:24px;
  top:0;
  bottom:0;
  margin:auto;
}

.select_frame select{
  width:100%;
  height:40px;
  border: 1px solid #424242;
  padding: 0 48px 0 12px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.common_preview_button{
  margin:24px auto 0;
  width: fit-content;
  padding:6px 24px;
  border-radius: 40px;
  border: 1px solid #000000;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
}


/*モーダル*/
.common_modal{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  background-color: rgba(0,0,0,0.6);
  pointer-events: none;
  transition-duration: 0.4s;
  opacity: 0;
}

.common_modal.show{
  opacity: 1;
  pointer-events: auto;
}


.common_modal .modal_frame{
  position: relative;
  background-color: #fff;
}

.common_modal .modal_close{
  
  position: absolute;
  cursor: pointer;
  width:32px;
  height:32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_delete_black.png');
}


/*完了モーダル*/
.complete_modal{

}

.complete_modal .modal_frame{
  min-width:170px;
  padding:40px 56px;
}

.complete_modal .modal_close{
  top:16px;
  right:16px;
}

.complete_modal .complete_text{
  font-size: 18px;
  font-weight: bold;
}



/*エラーモーダル*/
.err_modal{

}

.err_modal .modal_frame{
  min-width:170px;
  padding:40px 56px;
}

.err_modal .modal_close{
  top:16px;
  right:16px;
}

.err_modal .err_text{
  font-size: 18px;
  font-weight: bold;
}

/*QRモーダル*/
.qr_modal{

}

.qr_modal .modal_frame{
  min-width:170px;
  padding:48px 64px;
}

.qr_modal .modal_close{
  top:12px;
  right:12px;
}

.qr_modal .qr_frame{
  margin: 0 auto;
  width: fit-content;
}

.qr_modal .qr_frame canvas{
  width: 250px;
  height:250px;
}

.qr_modal .qr_button{
  margin:24px auto 0;
}


/*テンプレートモーダル*/
.template_modal{

}

.trapezoid {
  width: 200px;
  height: 100px;
  border-top:1px solid #000;
  border-radius: 10px 10px 0 0;

}



.template_modal .modal_frame{
  width:1200px;
  max-width: 95%;
  height: 90vh;
  padding:40px 24px;
}

.template_modal .modal_close{
  width:40px;
  height:40px;
  top:16px;
  right:16px;
}

.template_modal .modal_contents{
  height:100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.template_modal .template_modal_head{
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  flex-shrink: 0;
  margin-bottom: 40px;
}

.template_modal .temp_save_button{
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 140px;
  height: 50px;
  border-radius: 70px;
  background-color: rgb(146,165,188);
  font-weight: bold;
  font-size: 24px;
  line-height:1;
  color: #fff;
  cursor: pointer;
  margin-top: 32px;
  cursor: pointer;
}

.template_modal .temp_select_area{
  width: 100%;
  height:100%;
  position: relative;
}

.template_modal .temp_select_contents{
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.template_modal .temp_select_head{
  width: 100%;
}

.template_modal .temp_tab_list{
  display: flex;
  justify-content: center;
}

.template_modal .temp_tab_list .temp_tab{
  width: 20%;
  height:32px;
  position: relative;
  
}

.template_modal .temp_tab_list .js_temp_tab,
.template_modal .temp_tab_list .js_temp_tab span{
  cursor: pointer;
}

.template_modal .temp_tab_list .temp_tab span{
  position: absolute;
  width:100%;
  height:100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  z-index: 3;
}

.template_modal .temp_tab_list .temp_tab::before,
.template_modal .temp_tab_list .temp_tab::after{
  content:'';
  width:50%;
  height:100%;
  position: absolute;
  top:0;
  background-size: cover;
}

.template_modal .temp_tab_list .temp_tab::before{
  left:0;
  background-position: top left;
  background-image: url('../img/common/radi_tab_left_off.png');
}
.template_modal .temp_tab_list .temp_tab::after{
  right:0;
  background-position: top right;
  background-image: url('../img/common/radi_tab_right_off.png');
}
.template_modal .temp_tab_list .temp_tab.active::before{
  left:0;
  background-position: top left;
  background-image: url('../img/common/radi_tab_left_on.png');
}
.template_modal .temp_tab_list .temp_tab.active::after{
  right:0;
  background-position: top right;
  background-image: url('../img/common/radi_tab_right_on.png');
}

.template_modal .temp_select_body{
  height:100%;
  width: 100%;
  overflow-y: scroll;
  border:6px solid #e3d8c6;
  border-top:20px solid #e3d8c6;
}

.template_modal .temp_select_body .temp_sample_img{
  padding:24px 80px;
}

.template_modal .temp_select_body .temp_sample_img img{
  width:100%;
}




/*決済のモーダル*/
.common_pay_modal{
  position: fixed;
  width: 100%;
  height: 100vh;
  min-width: 1200px;
  top: 0;
  left: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.common_pay_modal.show{
  pointer-events: auto;
  opacity: 1;
}

.common_pay_modal .pay_modal_inner{
  min-height: 100%;
  width: 100%;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.common_pay_modal .pay_modal_frame {
  min-width: 600px;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0, 0, 0, 0.3);
  padding: 48px 32px;
}

.common_pay_modal .pay_modal_close{
  position: absolute;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');
  right: 0;
  bottom: calc(100% + 6px);
}


.common_pay_modal p{
  font-weight: bold;
  
}

.common_pay_modal .pay_button{
  position: relative;
  margin:40px auto 0;
  cursor: pointer;
  width: fit-content;
}

.common_pay_modal .pay_button button{
  opacity: 0;
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}


/*料金設定のモーダル*/
.common_price_modal{
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.common_price_modal.show{
  pointer-events: auto;
  opacity: 1;
}

.common_price_modal .price_modal_inner{
  min-height: 100%;
  width: 100%;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.common_price_modal .price_modal_frame {
  min-width: 400px;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0, 0, 0, 0.3);
  padding: 48px 32px;
}

.common_price_modal .price_modal_close{
  position: absolute;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');
  right: 0;
  bottom: calc(100% + 6px);
}


.common_price_modal .price_button{
  position: relative;
  margin:40px auto 0;
  cursor: pointer;
  width: fit-content;
}

.common_price_modal .input_frame{
  display: flex;
  justify-content: center;
  align-items: center;
}

.common_price_modal .input_frame input{
  width:200px;
  height:40px;
  padding:0 12px;
  font-size: 18px;
}


/*退会のモーダル*/
.common_retire_modal{
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.common_retire_modal.show{
  pointer-events: auto;
  opacity: 1;
}

.common_retire_modal .retire_modal_inner{
  min-height: 100%;
  width: 100%;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.common_retire_modal .retire_modal_frame {
  min-width: 400px;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0, 0, 0, 0.3);
  padding: 48px 32px;
}

.common_retire_modal .retire_modal_close{
  position: absolute;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');
  right: 0;
  bottom: calc(100% + 6px);
}


.common_retire_modal p{
  font-weight: bold;
  font-size: 20px;
  text-align: center;
}

.common_retire_modal .retire_button{
  position: relative;
  margin:24px auto 0;
  cursor: pointer;
  width: fit-content;
}

.common_retire_modal .retire_button button{
  opacity: 0;
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

/*
------------------------------------
アニメーション関係
------------------------------------
*/


a{
  transition-duration: 0.4s;
}

.common_hover_opa{
  transition: 0.4s;
}


@media (any-hover:hover){
  .common_hover_opa:hover{
    opacity: 0.7;
  }
  a:hover{
    opacity: 0.6;
  }
  
}


/*
------------------------------------
ヘッダー
------------------------------------
*/

header{
  position: absolute;
  top:0;
  left: 0;
  width:100%;
  z-index: 20;
  /* background-image: url('../img/common/header_bg.png'); */
  background-color: rgb(146,165,188);
  background-size: cover;
  box-shadow: 0 0 5px rgba(0,0,0,0.35);
}

header .header_inner{
  padding-left: 160px;
  padding-right: 160px;
}

header .drawer_open{
  display: flex;
  justify-content: center;
  align-items: center;
  min-width:30px;
  min-height:24px;
  cursor: pointer;
}

header .drawer_open_inner{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

header .drawer_open .bar{
  width:30px;
  height:5px;
  background-color: #685a4b;
  /* background-color: #fff; */
  transition-duration: 0.3s;
}

header .drawer_open .bar02{
  margin:4px 0;
}


header .header_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  height:55px;
}

header .header_left{
  display: flex;
  align-items: center;
}

header .header_logo{
  display: flex;
  align-items: center;
  margin-left: 32px;
}

header .header_logo01{
  /* width:216px; */
  width:140px;
}
header .header_logo02{
  width:120px;
  margin-left: 36px;
}

header .header_menu{
  display: flex;
  align-items: center;
}

header .header_menu li{
  margin-left: 56px;
}

header .header_menu a{
  display: flex;
  align-items: center;
  line-height: 1;
}

header .header_menu .setting .icon{
  width:26px;
  height:26px;
  margin-left: 16px;
}

header .header_menu .setting .icon img{
  width:100%;
  height:100%;
  object-fit: cover;
  border-radius: 50%;
}
/* header .header_menu .setting::after{
  content:'';
  width:24px;
  height:24px;
  background-image:url('../img/common/icon_setting_brown.png');
  margin-left: 16px;
}  */

header .header_menu .logout::after{
  content:'';
  width:24px;
  height:24px;
  background-image:url('../img/common/icon_logout_brown.png');
  margin-left: 16px;
} 

#drawer_menu{
  position: fixed;
  top:0;
  left:0;
  z-index:90;
  width:100%;
  max-width: 400px;
  height: calc(100vh );
  height: calc(var(--vh2, 1vh) * 100);
  background-color: #fff;
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

#drawer_menu.show{
  opacity: 1;
  pointer-events: auto;
}

#drawer_menu .drawer_menu_inner{
  padding:40px 24px;
  position: relative;
}

#drawer_menu .drawer_menu_contents{
  position: relative;
}

#drawer_menu .drawer_close{
  position: absolute;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url(../img/common/icon_delete_black.png);
  top:-20px;
  right:0;
}

#drawer_menu .drawer_title{
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

#drawer_menu .drawer_title img{
  max-width: 100%;
  width:137px;
  margin-inline: auto;
}

#drawer_menu .drawer_nav{
  margin-top: 40px;
}

#drawer_menu .drawer_nav li + li{
  margin-top: 16px;
}

#drawer_menu .drawer_nav li.logout_line{
  margin-top: 32px;
}

#drawer_menu .drawer_nav .drawer_link{
  cursor: pointer;
  line-height: 1.3;
}
/*
------------------------------------
ログイン、ログアウト共通
------------------------------------
*/

.common_form_section{
  padding-top: 56px;
  padding-bottom: 80px;
}

.common_form_section .page_head{
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.common_form_section .must_text{
  text-align: center;
  margin-bottom: 20px;
}

.common_form_section .form_frame{
  max-width: 410px;
  margin:44px auto 0;
  position: relative;
}

.common_form_section .form_line{
  position: relative;
}

.common_form_section .form_line + .form_line{
  margin-top: 32px;
}
.common_form_section .form_line label{
  position: absolute;
  top: 10px;
  right:calc(100% + 40px);
  white-space: nowrap;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}

.common_form_section .form_line label .must{
  position: relative;
}

.common_form_section .form_line label .must::after{
  content:'*';
  color:#ff0000;
  position: absolute;
  top:-3px;
  left:calc(100% + 4px);
}
.common_form_section .form_line input{
  display: block;
  width:100%;
  height:40px;
  border:1px solid #424242;
  padding:0 12px;
}

.common_form_section .submit_frame{
  margin-top: 32px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.common_form_section .reset_link{
  position: absolute;
  padding:0 16px 2px;
  border-bottom:1px solid #424242;
  bottom:4px;
  right:calc(100% + 24px);
  white-space: nowrap;
  display: flex;
  justify-content: center;
}

.common_form_section .cancel_link{
  position: absolute;
  padding:0 16px 2px;
  border-bottom:1px solid #424242;
  bottom:4px;
  left:calc(100% + 24px);
  white-space: nowrap;
  min-width: 144px;
  display: flex;
  justify-content: center;
}

/*
------------------------------------
ログイン
------------------------------------
*/
body.login_body{
  background-color: #faf9f6;
  min-height: 100vh;
}
main.login_main{

}

.login_section{

}

/*
------------------------------------
ログアウト確認
------------------------------------
*/

body.logout_body{
  background-color: #faf9f6;
  min-height: 100vh;
}
main.logout_main{

}

.logout_section{

}

.logout_section .p01{
  font-size: 18px;
  font-weight: bold;
  display: flex;
  justify-content: center;
}


.logout_section .logout_button{
  margin:64px auto 0;
}

/*
------------------------------------
新規会員登録（認証メール送信）
------------------------------------
*/

body.pre_register_body{
  background-color: #faf9f6;
  min-height: 100vh;
}
main.pre_register_main{

}

.pre_register_section{

}

.pre_register_section .submit_frame p{
  text-align: center;
  margin-bottom: 16px;
}

.pre_register_section .remark_text{
  margin-top: 36px;
  text-align: center;
}

/*
------------------------------------
新規会員登録（認証メール送信）
------------------------------------
*/

body.regist_body{
  background-color: #faf9f6;
  min-height: 100vh;
}
main.regist_main{

}

.regist_section{

}

.regist_section .agree_area{
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  margin-top: 64px;
}

.regist_section .agree_area .agree_head{
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.regist_section .agree_area .agree_box{
  margin-top: 20px;
  padding:24px;
  height:210px;
  border:1px solid #424242;
  line-height: 2;
  overflow-y: scroll;
}

.regist_section .agree_area .agree_text{

}

.regist_section .agree_area .agree_flex{
  display: flex;
  align-items: center;
  width:fit-content;
  margin:40px auto 0;
  cursor: pointer;
  
}


.regist_section .agree_area .agree_flex input{
  width:15px;
  height:15px;
  margin-right: 16px;
}
.regist_section .submit_frame p{
  text-align: center;
  margin-bottom: 16px;
}

.regist_section .remark_text{
  margin-top: 36px;
  text-align: center;
}

/*
------------------------------------
マイページ
------------------------------------
*/

body.mypage_body{
  background-color: #faf9f6;
  min-height: 100vh;
}
main.mypage_main{
  
}

.mypage_section{

}

.mypage_section01{
  padding-top: 40px;
  padding-bottom: 120px;
}

.mypage_section01 .mypage_inner{
  position: relative;
}

.mypage_section01 .menu_list{
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap:40px 0;
  position: relative; 
  max-width: 430px;
  margin:40px auto 0;
}

.mypage_section01 .menu_block{
  width:200px;
  position: relative;
}


.mypage_section01 .menu_block .paid_text{
  text-align: center;
  font-weight: bold;
  line-height: 1;
  color:#685a4b;
  width: 100%;
  white-space: nowrap;
  position: absolute;
  bottom:calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}


.mypage_section01 .menu_card{
  display: block;
  width:100%;
  /* box-shadow: 10px 10px 5px rgba(0,0,0,0.2); */
  position: relative;
  cursor: pointer;
}

.mypage_section01 .menu_card:active{
  box-shadow: none;
  transform: translateY(10px);
}

.mypage_section01 .menu_card.off{
  pointer-events: none;
}
.mypage_section01 .menu_card img{
  width: 100%;
}

.mypage_section01 .menu_card .stripe-button-el{
  position: absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  opacity: 0;
}

.mypage_section01 .pay_area{
  width: 100%;
  white-space: nowrap;
}

.mypage_section01 .pay_area .pay_head{
  text-align: center;
  font-weight: bold;
  line-height: 1;
  color:#685a4b;
  text-align: center;
}

.mypage_section01 .pay_area .pay_list{
  margin-top: 32px;
}


.mypage_section01 .pay_area .pay_button{
  min-width:280px;
  width: fit-content;
  min-height:40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  padding:4px 10px;
  margin:0 auto;
  border:1px solid #685a4b;
  cursor: pointer;
  color:#685a4b;
}

.mypage_section01 .pay_area .pay_button + .pay_button{
  margin-top: 28px;
}
.mypage_section01 .pay_area .pay_text{
  min-width: 245px;
  text-align: center;
  padding:0 4px 2px;
  border-bottom:1px solid #685a4b;
  margin:0 auto;
  width: fit-content;
  color:#685a4b;
}

.mypage_section01 .pay_area .pay_text + .pay_text{
  margin-top: 24px;
}

.mypage_section01 .pat_result{
  display: flex;
  justify-content: center;
  margin-top: 32px;
  font-weight: bold;
  color:#ff0000;
}

.mypage_section01 .logo{
  /* position: absolute;
  left:calc(50% + 340px);
  bottom:-145px; */
  width:330px;
  margin:10px auto 0;
}

.mypage_section01 .logo img{
  width:100%;
}
/*
------------------------------------
プロフィール情報設定
------------------------------------
*/

body.setting_body{
  background-color: #faf9f6;
  min-height: 100vh;
}
main.setting_main{

}

.setting_section{

}

.setting_section01{
  padding-top: 72px;
  padding-bottom: 96px;
}

.setting_section01 .select_frame::after{
  right:12px;
}

.setting_section01 .select_frame select{
  cursor: pointer;
  font-size: 20px;
  padding-right: 30px;
  padding-left: 8px;
  text-align: left;
}

.setting_section01 .setting_frame{
  max-width: 800px;
  margin:0 auto;
  position: relative;
}

.setting_section01 .setting_frame .save_frame{
  position: absolute;
  top:-10px;
  right:-40px;
}

.setting_section01 .setting_frame .save_button{
  display: flex;
  justify-content: center;
  align-items: center;
  width:128px;
  height:48px;
  border-radius: 50px;
  background-color: rgb(146,165,188);
  font-size: 24px;
  font-weight: bold;
  color:#fff;
  box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
  margin:40px auto 0;
}

.setting_section01 .setting_block{
  margin-top: 48px;
}

.setting_section01 .setting_line{
  display: flex;
  align-items: flex-start;
}

.setting_section01 .setting_line + .setting_line{
  margin-top: 28px;
}

.setting_section01 .setting_label{
  flex-shrink: 0;
  width:160px;
  min-height: 40px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-right: 48px;
  font-size: 18px;
  font-weight: bold;
  white-space: nowrap;
}

.setting_section01 .setting_right{
  width:100%;
}

.setting_section01 .setting_right.move{
  padding-left:90px;
}

.setting_section01 .icon_area .upload_label{
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: 210px;
  height:40px;
  background: #ebe6e0;
  font-weight: bold;
  line-height: 1;
  color: #685a4b;
  border-radius: 100px;
}

.setting_section01 .icon_area .upload_label input{
  display: none;
}

.setting_section01 .icon_area img{
  width:100px;
  margin-top: 4px;
}

.setting_section01 .preview_area{
  margin-top: 6px;
  position: relative;
  padding-left: 48px;
}

.setting_section01 .preview_area .prof_icon_delete{
  position: absolute;
  white-space: nowrap;
  cursor: pointer;
  left:0;
  top:0;
}

.setting_section01 .name_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.setting_section01 .name_flex .input_frame{
  width: 48%;
}

.setting_section01 .input_frame{
  max-width: 520px;
}
.setting_section01 .tel_frame{
  max-width: 320px;
}

.setting_section01 .input_frame input{
  display: block;
  width:100%;
  height:40px;
  border:1px solid #424242;
  padding:0 12px;
}

.setting_section01 .pass_flex{
  min-height: 40px;
  max-width: 520px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.setting_section01 .pass_chenge_link{
  width:82px;
  height:25px;
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border:1px solid #4d4d4d;
} 

.setting_section01 .birth_flex{
  display: flex;
  align-items: center;
}

.setting_section01 .birth_flex .birth_year{
  width:95px;
}
.setting_section01 .birth_flex .birth_month{
  width:95px;
  margin-left: 17px;
}
.setting_section01 .birth_flex .birth_day{
  width:95px;
  margin-left: 17px;
}

.setting_section01 .birth_flex .age{
  margin-left: 28px;
  font-size: 18px;
  font-weight: bold;
}

.setting_section01 .place_flex{
  display: flex;
  align-items: center;
}

.setting_section01 .place_flex .prefecture{
  width:140px;
}

.setting_section01 .place_flex .city_area{
  display: flex;
  align-items: center;
  margin-left: 88px;
}

.setting_section01 .place_flex .city_head{
  min-width: 90px;
  padding-right: 8px;
  font-size: 18px;
  font-weight: bold;
}

.setting_section01 .place_flex .city_frame{
  width: 200px;
}

.setting_section01 .reprint_flex{
  display: flex;
  align-items: center;
}

.setting_section01 .reprint_flex .reprint{
  width:18px;
  height:18px;
  flex-shrink: 0;
}

.setting_section01 .partner_area{
  display: flex;
  align-items: center;
  margin-left: 36px;
} 

.setting_section01 .partner_area .partner{
  width:180px;
  margin:0 30px;
}

.setting_section01 .partner_area p{
  font-size: 18px;
  font-weight: bold;
}

/*
------------------------------------
Wedding Websitesの作成と編集
------------------------------------
*/

body.edit_body{
  min-width: 1200px;
  background-color: #faf9f6;
  min-height: 100vh;
}
main.edit_main{
  
}

.edit_section{
  padding-top: 32px;
  padding-bottom: 40px;
}


.edit_section .edit_container{
  max-width: 1400px;
  width:92%;  
  margin:0 auto;
}

.edit_section .page_title{
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
  text-align: center;
  color: #665b4c;
}

.edit_section .edit_button{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 304px;
  height: 56px;
  border-radius: 30px;
  background-color: rgb(146,165,188);
  font-weight: bold;
  font-size: 27px;
  line-height: 1;
  color: #fff;
  box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
  margin:32px auto 0;
}

.edit_section .result_text{
  margin-top: 16px;
  text-align: center;
  font-weight: bold;
  color:#F78B6E;
}
.edit_remark{
  width: fit-content;
  margin:24px auto 0;
}
.edit_section .edit_area{
  margin-top: 64px;
}

.edit_section .edit_area .text_left_count{
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}

.edit_section .edit_area input[type="text"],
.edit_section .edit_area input[type="number"],
.edit_section .edit_area input[type="email"],
.edit_section .edit_area input[type="tel"],
.edit_section .edit_area input[type="date"],
.edit_section .edit_area input[type="time"],
.edit_section .edit_area input[type="text"]{
  display: block;
  height: 40px;
  background: transparent;
  border: 1px solid #424242;
  padding:0 24px;
  font-size: 18px;
}

.edit_section .edit_area select{
  font-size: 18px;
  padding-left: 12px;
  padding-right: 32px;
}

.edit_section .edit_area .select_frame::after {
  border-width: 8px 8px 0 8px;
  right: 10px;
}

.edit_section .edit_area textarea{
  display: block;
  background: transparent;
  border: 1px solid #424242;
  padding:24px;
  font-size:18px;
  line-height: 1.5;
}


.edit_section .edit_area .line_plus{
  display: flex;
  align-items: center;
  cursor: pointer;
  width:fit-content;
  font-size: 20px;
  line-height: normal;
}

.edit_section .edit_area .line_plus::before{
  content:'';
  width:20px;
  height:20px;
  margin-right: 20px;
  background-image: url('../img/common/icon_plus_black.svg');
}



.edit_section .edit_area .edit_line{
  padding:30px 0;
  border-bottom: 1px solid #665b4c;
}

.edit_section .edit_area .edit_inner{
  max-width: 1150px;
  margin:0 auto;
}

.edit_section .edit_area .edit_head{
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
  color: #665b4c;
}

.edit_section .edit_area .edit_head::before{
  content:'';
  transform: translateY(-2px);
  width: 22px;
  height: 22px;
  background-color: #665b4c;
  flex-shrink: 0;
  margin-right: 20px;
}

.edit_section .edit_area .edit_head.check::before{
  content:none;
}

.edit_section .edit_area .edit_head input{
  transform: translateY(-2px);
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-right: 20px;
  cursor: pointer;
}


.edit_section .edit_area .edit_sub_head{
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size:18px;
  line-height: 1;
  color: #665b4c;
}

.edit_section .edit_area .edit_sub_head input{
  transform: translateY(-2px);
  width:14px;
  height:14px;
  flex-shrink: 0;
  margin-right: 32px;
  cursor: pointer;
}

.edit_section .edit_area .free_line_delete{
  transform: translateY(-2px);
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-right: 20px;
  cursor: pointer;
  background-image: url('../img/common/icon_delete_black.png');
}


.edit_section .edit_area .edit_upload_label{
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: 210px;
  height:40px;
  background: #ebe6e0;
  font-weight: bold;
  line-height: 1;
  color: #685a4b;
  border-radius: 100px;
  /* box-shadow: 3px 3px 3px rgba(0,0,0,0.35); */
}

.edit_section .edit_area .edit_upload_label input{
  display: none;
}

.edit_section .edit_area .edit_img_list li{
  display: flex;
  align-items: flex-start;
  line-height: 1.2;
}

.edit_section .edit_area .edit_img_list li + li{
  margin-top: 12px;
}

.edit_section .edit_area .edit_img_list .img_line_delete{
  flex-shrink: 0;
  cursor: pointer;
  margin-right:16px;
  font-size: 14px;
  padding-top: 2px;
  /* width:14px;
  height:14px;
  background-image: url('../img/common/icon_img_line_delete.svg'); */
}

.edit_section .edit_area .edit_img_list p{
  width:100%;
  /* text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; */
}

.edit_section .edit_area .edit_img_list img{
  width:100px;
  margin-top: 4px;
}


.edit_section .temp_area{
  display: flex;
  align-items: center;
  padding:16px 0;
  position: relative;
}

.edit_section .temp_area::before{
  content:'';
  width:1320px;
  height:100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background: linear-gradient(to right , #e3d8c6 0%, #e2d7cc 14.19%, #e2d7d1 37.48%, #cab2a9 78.45%, #e5d1b9 100%);
  z-index: -1;
}

.edit_section .temp_open_button{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 136px;
  height: 40px;
  border-radius: 40px;
  background-color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  margin-left: 48px;
}

.edit_section .temp_name{
  margin-left: 64px;
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  color: #665b4c;

}

.edit_section .fv_area{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.edit_section .fv_area .fv_left{
  width:800px;
}

.edit_section .fv_area .fv_right{
  flex-shrink: 0;
  margin-left: 24px;
  width: 100%;
  max-width: 330px;
}

.edit_section .fv_area .fv_head_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
}



.edit_section .fv_area .fv_img_upload{
  display: none;
}

.edit_section .fv_area .fv_remark{
  margin-top: 12px;
  line-height: 1.3;
  padding-left: 24px;
}

.edit_section .fv_area .fv_remark li + li{
  margin-top: 8px;
}

.edit_section .fv_area .fv_img_alert{
  margin-top: 8px;
  font-size: 13px;
}

.edit_section .title_area{
  display: flex;
  align-items: center;
}

.edit_section .title_area .title_left{
  flex-shrink: 0;
  width:420px;
}

.edit_section .title_area .title_right{
  display: flex;
  align-items: center;
}

.edit_section .title_area .title_right input{
  width:305px;
  margin-right: 32px;
}

.edit_section .greeting_area{
  display: flex;
  align-items: flex-start;
}

.edit_section .greeting_area .greeting_left{
  flex-shrink: 0;
  width:420px;
}

.edit_section .greeting_area .greeting_right{
  display: flex;
  align-items: flex-end;
}

.edit_section .greeting_area .greeting_right textarea{
  width:305px;
  height:420px;
  margin-right: 32px;
}

.edit_section .color_area{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.edit_section .color_left{
}

.edit_section .color_right{
  /* margin-left: 24px; */
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.edit_section .color_right .color_list{
  display: flex;
  align-items: center;
  margin-left: 56px;
}

.edit_section .color_right label{
  cursor: pointer;
}
.edit_section .color_right .color_item + .color_item{
  margin-left: 20px;
}

.edit_section .color_right .color_box{
  display: block;
  width:24px;
  height:24px;
  position: relative;
}

.edit_section .color_right input{
  display: none;
}

.edit_section .color_right input:checked + .color_box::after{
  content:'';
  width:36px;
  height:36px;
  border: 1px solid #665B4C;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.edit_section .prof_area{
  width: 100vw;
  margin: 40px calc(50% - 50vw) 0;
}


.edit_section .prof_area .prof_flex{
  display: flex;
  justify-content: center;
}

.edit_section .prof_area .prof_flex .prof_block{
  width: 550px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.edit_section .prof_area .head_text{
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  color:#665B4C;
}

.edit_section .prof_area .edit_upload_label{
  margin:30px auto 0;
}

.edit_section .prof_area .edit_img_list{
  padding:0 12px;
  margin-top: 20px;
}


.edit_section .prof_area .prof_flex .prof_center{
  flex-shrink: 0;
  width:190px;
}

.edit_section .prof_area .prof_alert{
  text-align: center;
  pointer-events: none;
  font-size: 18px;
  font-weight: bold;
  margin-top: -20px;
}

.edit_section .prof_area .prof_list{
  margin-top: 32px;
}

.edit_section .prof_area .prof_line{
  display: flex;
  justify-content: center;
  align-items: center;
}

.edit_section .prof_area .prof_line + .prof_line{
  margin-top: 32px;
}

.edit_section .prof_area .prof_line.line_first{
  margin-top: 56px;
}

.edit_section .prof_area .prof_line p{
  font-size: 18px;
  font-weight: bold;
}

.edit_section .prof_area .prof_left,
.edit_section .prof_area .prof_right{
  width:545px;
  display: flex;
  align-items: center;
}

.edit_section .prof_area .prof_left input,
.edit_section .prof_area .prof_left select,
.edit_section .prof_area .prof_right input,
.edit_section .prof_area .prof_right select{
  width: 100%;
}

.edit_section .prof_area .prof_left{
  justify-content: flex-end;
}



.edit_section .prof_area .prof_center{
  width:150px;
  flex-shrink: 0;
  margin:0 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.edit_section .prof_area .prof_center p{
  text-align: center;
  padding:0 6px;
  width:100%;
}

.edit_section .prof_area .prof_center span{
  position: relative;
  flex-shrink: 0;
  width:16px;
}

.edit_section .prof_area .prof_center input[type="checkbox"],
.edit_section .prof_area .prof_center input[type="radio"]{
  width: 16px;
  display: block;
  transform: translateY(-2px);
}

.edit_section .prof_area .prof_center .show_guide_text{
  position: absolute;
  white-space: nowrap;
  text-align: center;
  position: absolute;
  bottom:calc(100% + 20px);
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}


.edit_section .prof_area .name_flex{
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.edit_section .prof_area .name_block{
  width: 48%;
  position: relative;
}

.edit_section .prof_area .name_block04{
  width: 100%;
}

.edit_section .prof_area .name_block p{
  position: absolute;
  white-space: nowrap;
  text-align: center;
  position: absolute;
  bottom:calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.edit_section .prof_area .date_flex{
  display: flex;
  align-items: center;
  gap:0 16px;
}

.edit_section .prof_area .date_flex .date_select_area{
  display: flex;
  align-items: center;
  gap:0 16px;
}

.edit_section .prof_area .date_flex .date_text_area{
  display: flex;
  align-items: center;
  gap:0 16px;
}

.edit_section .prof_area .date_flex p{
  padding:0 3px;
  font-size: 16px;
  white-space: nowrap;
}

.edit_section .prof_area .pre_flex{
  display: flex;
  align-items: center;
}

.edit_section .prof_area .pre_flex p{
  flex-shrink: 0;
  margin-left:24px;
  margin-right: 16px;
}

.edit_section .prof_area .pre_flex .prefecture_frame{
  width: 140px;
}
.edit_section .prof_area .pre_flex .city_frame{
  width: 200px;
}

.edit_section .prof_area .job_frame{
  width: 100%;
}

.edit_section .prof_area .prof_line_free input[type="text"]{
  width: 100%;
  padding:0 12px;
}

.edit_section .prof_area .prof_line_free .free_title_frame{
  width: 100%;
}

.edit_section .prof_area .prof_line_free .free_frame{
  width: 100%;
}

.edit_section .prof_area .line_plus{
  margin:32px auto 0;
}

.edit_section .deco_area{
  display: flex;
  align-items: flex-start;
  padding-left: 40px;
  margin-top: 32px;
}

.edit_section .deco_area .deco_left{
  
}

.edit_section .deco_area .deco_left_flex{
  display: flex;
  align-items: center;
}
.edit_section .deco_area .deco_left .select_frame{
  width:400px;
  margin-left: 40px;
}

.edit_section .deco_area .deco_remark{
  margin-top: 12px;
}

.edit_section .deco_area .deco_remark li + li{
  margin-top: 6px;
}

.edit_section .deco_area .deco_right{
  margin-left: 90px;
}

.edit_section .deco_area .deco_img_frame{
  transform: translateY(-50px);
  min-height: 125px;
}

.edit_section .deco_area .deco_img_frame img{
  width:250px;
  /* aspect-ratio: 1/1; */
  /* object-fit: cover; */
}

.edit_section .question_area{
  padding-left: 40px;
  margin-top: 40px;
}

.edit_section .question_area .question_line {
  
}

.edit_section .question_area .question_line + .question_line{
  margin-top: 40px;
} 

.edit_section .question_area .question_line01{
  display: flex;
  align-items: center;
}

.edit_section .question_area .question_line01 .question_title{
  margin-left: 88px;
  display: flex;
  align-items: center;
}

.edit_section .question_area .question_line01 .question_title p{
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  margin-right: 24px;
}

.edit_section .question_area .question_line01 .question_title .select_frame{
  width:350px;
}

.edit_section .question_area .question_line01 .question_title select{
  font-weight: bold;
}

.edit_section .question_area .question_line01 .question_free_title{
  margin-left: 24px;
}

.edit_section .question_area .question_line01 .question_free_title input{
  width:300px;
  
}

.edit_section .question_area .question_line02{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 20px;
  margin-top: 32px;
}

.edit_section .question_area .question_line02 .answer_block{
  display: flex;
  align-items: center;
}

.edit_section .question_area .question_line02 .answer_block p{
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  margin-right: 16px;
}

.edit_section .question_area .question_line02 .answer_block input{
  width:470px;
}

.edit_section .question_area .line_plus{
  margin-top: 32px;
}

.edit_section .info_area{
  margin-top: 24px;
  padding-left: 40px;
}

.edit_section .info_area .info_line{
  display: flex;
  align-items: flex-start;
}

.edit_section .info_area .info_line + .info_line{
  margin-top: 24px;
}

.edit_section .info_area .info_left{
  width:165px;
  margin-right: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding-top:12px;
}

.edit_section .info_area .info_right{
  width:100%;
}

.edit_section .info_area .info_right input[type="text"],
.edit_section .info_area .info_right input[type="time"],
.edit_section .info_area .info_right textarea{
  width: 100%;
  max-width: 870px;
}

.edit_section .info_area .info_left input{
  transform: translateY(-2px);
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-right: 20px;
  cursor: pointer;
}

.edit_section .info_area .info_left p{
  width:100%;
  display: flex;
  justify-content: flex-end;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
}

.edit_section .info_area .info_deco_flex{
  display: flex;
  align-items: flex-start;
}

.edit_section .info_area .info_deco_frame{
  width:395px;
  margin-right: 88px;
}

.edit_section .info_area .info_deco_image{
  transform: translateY(-50px);
} 
.edit_section .info_area .info_deco_img_frame img{
  width:250px;
  /* height:250px; */
  object-fit: cover;
}

.edit_section .info_area .info_date_area{
  display: flex;
  align-items: center;
}

.edit_section .info_area .info_date_flex{
  display: flex;
  align-items: center;
}

.edit_section .info_area .info_year_frame{
  width:95px;
}
.edit_section .info_area .info_month_frame{
  width:72px;
  margin:0 16px;
}
.edit_section .info_area .info_day_frame{
  width:72px;
}

.edit_section .info_area .info_rokuyo_flex{
  display: flex;
  align-items: center;
  margin-left: 72px;
}

.edit_section .info_area .info_rokuyo_flex input{
  flex-shrink: 0;
  width:14px;
  height:14px;
  margin-right: 20px;
}

.edit_section .info_area .info_rokuyo_flex .info_rokuyo_frame{
  width: 95px;
}

.edit_section .info_area .info_time_flex{
  margin-left: 40px;
  display: flex;
  align-items: center;
}

.edit_section .info_area .info_time_flex p{
  font-size: 18px;
  font-weight: bold;
}

.edit_section .info_area .info_time_frame{
  width:120px;
  margin-left: 12px;
}

.edit_section .info_area .info_time_frame input{
  padding:0 12px;
}

.edit_section .info_area .info_tel_frame{
  max-width: 390px;
}

.edit_section .info_area .info_map_frame p{
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 4px;
}

.edit_section .info_area .info_access_frame textarea{
  height:115px;
} 

.edit_section .info_area .info_fee_flex{
  display: flex;
  align-items: center;
}

.edit_section .info_area .info_fee_flex p{
  font-size: 18px;
  font-weight: bold;
}

.edit_section .info_area .info_fee_frame{
  width:225px;
  
} 

.edit_section .info_area .info_fee01{
  margin-left: 32px;
}
.edit_section .info_area .info_fee02{
  margin-left: 72px;
}

.edit_section .info_area .info_remark_frame textarea{
  height:115px;
  width: 100%;
} 

.edit_section .sche_area{
  margin-top: 60px;
}

.edit_section .sche_area .sche_flex{
  margin-top: 56px;
  display: flex;
  align-items: flex-start;
  padding-left: 12px;
}

.edit_section .sche_area .sche_left{
  margin-right: 132px;
}

.edit_section .sche_area .box_head{
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}

.edit_section .sche_area .sche_deco_frame{
  width:395px;
  margin-top: 24px;
}

.edit_section .sche_area .sche_deco_img_frame{
  display: flex;
  justify-content: center;
  margin-top: 56px;
}

.edit_section .sche_area .sche_deco_img_frame img{
  width:338px;
  /* height:474px; */
  /* object-fit: cover; */
}

.edit_section .sche_area .sche_text_head{
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 18px;
  line-height:1;
}

.edit_section .sche_area .sche_text_head::before{
  transform: translateY(-2px);
  content:'';
  width:16px;
  height:16px;
  border-radius: 50%;
  background-color: #4D4D4D;
  flex-shrink: 0;
  margin-right: 24px;
}

.edit_section .sche_area .sche_text_head span{
  font-size: 16px;
  font-weight: bold;
  color:#FF7B00;
  margin-left: 32px;
}

.edit_section .sche_area .sche_title_frame{
  width: 300px;
  margin-top: 12px;
}

.edit_section .sche_area .sche_free_title_frame{
  width: 300px;
  margin-top: 24px;
}

.edit_section .sche_area .sche_free_title_frame input{
  width:100%;
  padding:0 12px;
}

.edit_section .sche_area .sche_text_block{
  /* margin-top: 40px; */
  margin-top: 32px;
}

.edit_section .sche_area .sche_text_block + .sche_text_block{
  /* margin-top: 48px; */
  margin-top: 56px;
}

.edit_section .sche_area .sche_text_block textarea{
  margin-top: 32px;
  width: 560px;
  height: 292px;
}

.edit_section .menu_area{
  margin-top: 88px;
}

.edit_section .menu_area .menu_flex{
  margin-top: 56px;
  display: flex;
  align-items: flex-start;
  padding-left: 12px;
}

.edit_section .menu_area .menu_left{
  margin-right: 132px;
}

.edit_section .menu_area .box_head{
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
}

.edit_section .menu_area .menu_deco_frame{
  width:395px;
  margin-top: 24px;
}

.edit_section .menu_area .menu_deco_img_frame{
  display: flex;
  justify-content: center;
  margin-top: 56px;
}

.edit_section .menu_area .menu_deco_img_frame img{
  width:338px;
  /* height:330px; */
  /* object-fit: cover; */
}

.edit_section .menu_area .menu_text_block textarea{
  margin-top: 32px;
  width: 560px;
  height: 292px;
}

.edit_section .seat_area{
  margin-top: 120px;
  padding-bottom: 80px;
}

.edit_section .seat_area .seat_flex{
  display: flex;
  align-items: center;
}

.edit_section .seat_area .seat_edit_open{
  margin-left: 140px;
  width: 316px;
  height: 56px;
  border-radius: 40px;
  border:1px solid #000000;
  color:#000;
  cursor: pointer;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.edit_section .seat_deco_area{
  margin-top: 40px;
}

.edit_section .seat_deco_area .box_head{
  font-size: 18px;
  font-weight: bold;
}

.edit_section .seat_deco_area .seat_deco_frame{
  max-width: 400px;
  margin-top: 16px;
}

.edit_section .seat_deco_area .seat_deco_img_frame{
  width: 100%;
  max-width: 400px;
  margin-top: 24px;
}


.edit_section .faq_area{
  padding-left: 40px
}

.edit_section .faq_area .faq_list{
  margin-top: 48px;
}

.edit_section .faq_area .faq_line:first-child .free_line_delete{
  pointer-events: none;
  opacity: 0;
}

.edit_section .faq_area .faq_line + .faq_line{
  margin-top: 40px;
}

.edit_section .faq_area .faq_line01 {
  display: flex;
  align-items: center;
}

.edit_section .faq_area .faq_line01 .faq_title {
  margin-left: 88px;
  display: flex;
  align-items: center;
}

.edit_section .faq_area .faq_line01 .faq_title p {
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  margin-right: 24px;
}

.edit_section .faq_area .faq_line01 .faq_title .select_frame {
  width: 350px;
}

.edit_section .faq_area .faq_line01 .faq_free_title {
  margin-left: 24px;
}

.edit_section .faq_area .faq_line01 .faq_free_title input {
  width: 300px;
}

.edit_section .faq_area .faq_line02 {
  padding-left: 32px;
  margin-top: 32px;
}

.edit_section .faq_area .faq_line02 input{
  width:100%;
}

.edit_section .faq_area .line_plus{
  margin-top: 40px;
}

.edit_section .album_area{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.edit_section .album_area .album_left {
  width: 800px;
  flex-shrink: 0;
  margin-right: 40px;
}

.edit_section .album_area .album_head_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.edit_section .album_area .album_img_upload {
  display: none;
}

.edit_section .album_area .album_remark {
  margin-top: 12px;
  line-height: 1.3;
  padding-left: 24px;
}

.edit_section .album_area .album_remark li + li {
  margin-top: 8px;
}

.edit_section .album_area .album_right{
  width: 100%;
}

.edit_section .movie_area{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.edit_section .movie_area .movie_left {
  width: 100%;
  flex-shrink: 0;
}

.edit_section .movie_area .movie_head_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.edit_section .movie_area .movie_img_upload {
  display: none;
}
.edit_section .movie_area .movie_video_upload {
  display: none;
}

.edit_section .movie_area .label_frame{
  position: relative;
  display: flex;
  align-items: flex-start;
  z-index: 1;
}

.edit_section .movie_area .label_frame .span_label{
  font-weight: bold;
  font-size: 16px;
  line-height: 1;
  color: #685a4b;
  position: absolute;
  top: 12px;
  right:calc(100% + 18px);

  white-space: nowrap;
}
.edit_section .movie_area .label_frame + .label_frame{
  margin-top: 30px;
}

.edit_section .movie_area .label_frame label{
  flex-shrink: 0;
  margin-right: 40px;
}

.edit_section .movie_area .img_list_area{
  /* width: 100%; */
  width: 310px;
  flex-shrink: 0;
  padding-top: 10px;
}

.edit_section .movie_area .movie_remark {
  transform: translateY(-26px);
  line-height: 1.3;
  padding-left: 24px;
  font-weight: bold;
  color:#FF7B00;
  width: fit-content;
  pointer-events: none;
}

.edit_section .movie_area .movie_remark li + li {
  margin-top: 8px;
}

.edit_section .party_area{

}

.edit_section .party_area .party_frame{
  margin-top: 36px;
  padding-left: 40px;
}

.edit_section .party_area textarea{
  width: 100%;
  height:345px;
}

.edit_section .party_area .party_map_frame{
  margin-top: 24px;
}

.edit_section .party_area .party_map_frame input{
  width:100%;
}

.edit_section .post_area{
  display: flex;
  align-items: center;
}

.edit_section .post_area .post_left{
  margin-right: 160px;
}

.edit_section .post_area .post_edit_open{
  width: 316px;
  height: 56px;
  border-radius: 40px;
  border:1px solid #000000;
  color:#000;
  cursor: pointer;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.edit_section .edit_submit_area{
  padding-top: 40px;
  position: relative;
  padding-bottom: 120px;
}

.edit_section .reset_area{
  display: flex;
  justify-content: flex-end;
  padding-right: 32px;
}

.edit_section .reset_area .reset_block{
  transform: translateY(-44px);
}

.edit_section .reset_area .reset_open{
  width: 240px;
  height: 40px;
  border-radius: 40px;
  background-color: #A6A6A6;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 1;
  font-size: 20px;
  color: #fff;
  cursor: pointer;
  margin:0 auto;
}

.edit_section .reset_area ul{
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.3;
}
.edit_section .reset_area li + li{
  margin-top: 4px;
}


.edit_section .post_delete_modal{

}

.edit_section .post_delete_modal .modal_frame{
  width:90%;
  max-width: 1400px;
  
  position: relative;
  
}


.edit_section .post_delete_modal .modal_close{
  background-image: url('../img/common/icon_pop_close_white.png');
  width:32px;
  height:32px;
  bottom:calc(100% + 6px);
  right:0;
}

.edit_section .post_delete_modal .modal_inner{
  overflow-y: auto;
  height:75vh;
  padding:24px;
}

.edit_section .post_delete_modal .delete_post_list{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  height:100%;
  gap:15px;
}

.edit_section .post_delete_modal .delete_post_item{
  position: relative;
  width: calc(20% - 15px);
  aspect-ratio:1/1.65 ;
}

.edit_section .post_delete_modal .delete_post_item img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.edit_section .post_delete_modal .delete_post_item::before{
  content:'';
  width: 100%;
  height:100%;
  background-color: rgba(255,255,255,0.4);
  pointer-events: none;
  position: absolute;
  top:0;
  left:0;
}

.edit_section .post_delete_modal .delete_post_item .post_delete_button{
  cursor: pointer;
  /* width:45%;
  aspect-ratio: 1/1;
  border-radius:50% ;
  background-image: url('../img/common/icon_delete_post.svg'); */
  font-size: 24px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}




/*ウェディングのリセットモーダル*/
.edit_section .wedding_reset_modal{
  position: fixed;
  width: 100%;
  height: 100vh;
  min-width: 1200px;
  top: 0;
  left: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.edit_section .wedding_reset_modal.show{
  pointer-events: auto;
  opacity: 1;
}

.edit_section .wedding_reset_modal .modal_inner{
  min-height: 100%;
  width: 100%;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.edit_section .wedding_reset_modal .modal_frame {
  min-width: 600px;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0, 0, 0, 0.3);
  padding: 48px 32px;
}

.edit_section .wedding_reset_modal .wedding_reset_modal_close{
  position: absolute;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');
  right: 0;
  bottom: calc(100% + 6px);
}


.edit_section .wedding_reset_modal p{
  font-weight: bold;
  text-align: center;
  font-size: 24px;
}

.edit_section .wedding_reset_modal .wedding_reset_button{

  margin:40px auto 0;
  cursor: pointer;
}
/*
------------------------------------
ウエディングページ共通
------------------------------------
*/

body.wedding_body{
 
}


#wedding_header{
  position: fixed;
  width: 100%;
  top:0;
  left:0;
  z-index: 20;
}

#wedding_header .header_frame{
  position: relative;
}

#wedding_header .header_frame::before{
  content:'';
  width:100%;
  height:100%;
  background-color: rgba(255,255,255,0.6);
  position: absolute;
  top:0;
  left:0;
  transition-duration: 0.4s;
  opacity: 0;
}


#wedding_header.bg_show .header_frame::before{
  opacity: 1;
}

#wedding_header .header_inner{
  min-width: 1400px;
  width: 1400px;
  padding: 24px 16px 0;
  margin: 0 auto;
  position: relative;
  z-index: 30;
}

#wedding_header .parent_list{
  display: flex;
  /* justify-content: space-between; */
  justify-content: center;
  align-items: flex-start;
}

#wedding_header .parent_list li{
  margin:0 20px;
}

#wedding_header .parent_link{

}

#wedding_header .parent_link .en_title{
  font-family: "Cormorant Garamond", serif;
  color:#000;
  font-size: 24px;
}

#wedding_header .parent_link .en_title img{
  height:22px;
}

#wedding_header .parent_link .ja_title{
  font-size: 12px;
  color:#000000;
  white-space: nowrap;
  line-height: 1;
  text-align: center;
  margin-top: 6px;
  padding-top: 6px;
  transition-duration: 0.4s;
  opacity: 0;
  pointer-events:none;
  position: relative;
}

#wedding_header .parent_link .ja_title::before{
  content:'';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width:calc(100% + 24px);
  height:1px;
  background-color: #000000;
}


@media(any-hover:hover){
  #wedding_header .parent_link:hover{
    opacity: 1;
  }
  #wedding_header .parent_link:hover .ja_title{
    opacity: 1;
    pointer-events: auto;
  }
}



.js_gal_pop_open{
  cursor: zoom-in;
}

.gal_popup{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  z-index: 50;
  background-color: rgba(0,0,0,0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: zoom-out;
}

.gal_popup .gal_popup_frame{
  position: relative;
}

.gal_popup .gal_popup_frame .pic{
  width:80vw;
  height:75vh;
  max-width: 800px;
  object-fit: contain;
}

.gal_popup.show{
  opacity: 1;
  pointer-events: auto;
}



main.wedding_main .wedding_pop{
  position: fixed;
  width:100%;
  height:100vh;
  top:0;
  left:0;
  z-index: 50;
  background-color: rgba(0,0,0,0.6);
  transition-duration:0.7s ;
  opacity: 0;
  pointer-events: none;
}

main.wedding_main .wedding_pop.show{
  pointer-events: auto;
  opacity: 1;
}



main.wedding_main .wedding_pop_close{
  position: absolute;
  cursor: pointer;
  width:32px;
  height:32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');
  right:0;
  bottom:calc(100% + 6px);
}
/*
------------------------------------
ウエディングパターン1
------------------------------------
*/

body.wedding01_body{
  min-width: 1400px;
  font-family: "Sawarabi Mincho", serif;
  font-weight: 400;
}



main.wedding01_main{
  padding-top: 0;
  position: relative;
}

main.wedding01_main .wedding_deco{
  position: absolute;
  z-index: -20;
  width:450px;
  height:100%;
  background-repeat: repeat-y; /* Y方向のみリピート */
  background-size: contain; /* 必要に応じて調整 */
  background-position: center;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);

  display: none;
}




main.wedding01_main{
  font-size: 15px;
  color:#000;
  
}

main.wedding01_main .sec_title_area{
  width: fit-content;
  margin:0 auto;
  /*  */
}

main.wedding01_main .sec_title_area .sec_title_en{
  position: relative;
  /* border-bottom: 1px solid #656565; */
  height:80px;
  font-size: 80px;
  font-family: "Cormorant Garamond", serif;
  text-align: center;
  font-weight: 300;
  color:#000;
  line-height: 1;
  width: 775px!important;
}

main.wedding01_main .sec_title_area .sec_title_en::after{
  content:'';
  width: 100%;
  height:14px;
  background-image: url('../img/common/title_border_ivy.png');
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
}


main.wedding01_main .sec_title_area .sec_title_en img{
  position: absolute;
  left:0;
  right:0;
  margin:auto;
  bottom:0;
  width: auto;
  z-index: 2;
}

main.wedding01_main .sec_title_area .sec_title_ja{
  margin-top: 12px;
  text-align: right;
  padding-right: 4px;
  font-size: 20px;
  position: relative;
  z-index: 2;
}


main.wedding01_main .wedding_edit{
  position: absolute;
  z-index: 20;
  display: flex;
  flex-direction: column;
  align-items: center;
  white-space: nowrap;

  /* display: none; */
}


main.wedding01_main .wedding_edit:hover{
  opacity: 1;
}

main.wedding01_main .wedding_edit::before{
  content:'';
  width:50px;
  height:50px;
  background-image: url('../img/wedding/pattern01/page_top.svg');
  background-size: contain;
  background-repeat: no-repeat;
  margin-bottom: 16px;
  transform:rotateZ(-90deg);
}

main.wedding01_main .wedding_edit_top{
  top:110px;
  right:64px;
}

main.wedding01_main .wedding_edit_bottom{
  bottom:90px;
  right:64px;
}


main.wedding01_main .deco_area{
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

main.wedding01_main .deco_area .deco_frame{
  flex-shrink: 0;
  width:1300px;
  /* height:650px; */
  position: relative;
  /* padding:80px 0; */
  /* padding:25px 0; */
}

main.wedding01_main .deco_area .deco_img{
  width:100%;
  /* height:100%;
  object-fit: cover;
  position: absolute;
  top:0;
  left:0; */
  /* opacity: 0.5; */
}


main.wedding01_main .deco_area .deco_inner{
  
  width: 100%;
  height:calc(100% - 160px);
  overflow-y: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

main.wedding01_main .deco_area .deco_contents{
  min-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding:0 80px;
}

.wedding01_mv_section{
  position: relative;
  min-height:760px;
  max-width: 1920px;
  margin:0 auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 130px;
}

.wedding01_mv_section .black_bg{
  content:'';
  width:100%;
  height:100%;
  background-color: rgba(0,0,0,0.3);
  z-index: 1;
  position: absolute;
  top:0;
  left:0;
}

.wedding01_mv_section::after{
  content:'';
  width:100%;
  height:130px;
  position: absolute;
  bottom:-2px;
  bottom:-65px;
  z-index: 2;
  background-image: url('../img/wedding/pattern01/mv_gra.png');
  background-size: cover;
  background-position: center;
}


.wedding01_mv_section .mv_bg{
  position: absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  z-index: 1;
  opacity: 0.5;
}

/* .wedding01_mv_section .mv_frame{
  position: absolute;
  width:100%;
  height:100%;
  z-index: 0;

} */


.wedding01_mv_section .mv{
  position: absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  z-index: 0;
  transition-duration: 0.7s;
  opacity: 0;
}

.wedding01_mv_section .mv.show{
  opacity: 1;
}


.wedding01_mv_section .mv img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.wedding01_mv_section .mv video{
  display: block;
  width:100%;
  height:100%;
  object-fit: cover;
}

.wedding01_mv_section .mv_text_area{
  max-width: 1350px;
  margin:0 auto;

  min-height: 320px;
  /* padding-bottom: 80px; */
  position: relative;
  z-index: 4;
}

.wedding01_mv_section .mv_text_block{

  /* color:#fff; */
}

.wedding01_mv_section .count_down_area{
  display: flex;
  align-items: center;
  justify-content: center;
  /* margin-bottom: 40px; */
  margin-bottom: 24px;
  font-size: 21px;
  /* text-shadow: 7px 7px 3px rgba(0,0,0,0.3); */
}

.wedding01_mv_section .count_down_area span{
  font-size: 50px;
  margin:0 16px;
}

.wedding01_mv_section .mv_text_block .mv_text_contents{
  width: fit-content;
  margin-inline: auto;
  /* max-width: 90%; */
}

.wedding01_mv_section .mv_text_block .wedding_title{
  padding-bottom: 12px;
  border-bottom: 1px solid #000;
  /* font-size: 20px; */
  font-size: 40px;
  text-align: center;

  font-family: "Cormorant Garamond", 'Sawarabi Mincho' , serif;
}


.wedding01_mv_section .mv_text_block .wedding_greeting{
  text-align: center;
  line-height: 1.5;
  margin-top: 16px;
  margin-inline: auto;
  max-width: 520px;
}

/*以下、FV画像ある際のcss*/
.wedding01_mv_section.fv_on .mv_text_block{
  color:#fff;
}

.wedding01_mv_section.fv_on .mv_text_block .wedding_title{
  border-bottom: 1px solid #fff;
  color:#fff;
}

/*以上、FV画像ある際のcss*/

.wedding01_space_section{
  height:100px;
  background-color: #fff;
}

.wedding01_prof_section{
  z-index: 2;
  position: relative;
}

.wedding01_prof_section::before{
  content:'';
  width:790px;
  height:100%;
  background-image: url('../img/wedding/pattern01/prof_gra.png');
  position: absolute;
  background-size: cover;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: -2;
}

.wedding01_prof_section .prof_img{
  position: absolute;
  width:50%;
  max-width: 960px;
  height:100%;
  z-index: -4;
  top:0;
}

.wedding01_prof_section .prof_img img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.wedding01_prof_section .prof_img01{
  right: 50%;
}
.wedding01_prof_section .prof_img02{
  left: 50%;
}

.wedding01_prof_section .prof_section_inner{
  position: relative;
  overflow-y: auto;
  height:1030px;
  max-height:1030px;
}


.wedding01_prof_section .prof_contents{
  padding-top: 80px;
  padding-bottom: 80px;
  
}

.wedding01_prof_section .sec_title_area .sec_title_en{
  width:350px;
}

.wedding01_prof_section .sec_title_area .sec_title_en img{
  transform: translateY(10px);
}

.wedding01_prof_section .prof_list{
  margin-top: 110px;
  color:#000000;
}


.wedding01_prof_section .prof_list li{
  display: flex;
  justify-content: center;
  line-height: 1.5;
}

.wedding01_prof_section .prof_list li + li{
  margin-top: 24px;
}

.wedding01_prof_section .prof_list .title{
  flex-shrink: 0;
  width:150px;
  text-align: center;
  padding:0 4px;
}

.wedding01_prof_section .prof_list .partner{
  width:50%;
}
.wedding01_prof_section .prof_list .partner01{
  text-align: right;
}


.wedding01_question_section{
  position: relative;
  padding-top: 60px;
  padding-bottom: 90px;
}

.wedding01_question_section .sec_title_area .sec_title_en{
  width:575px;
}

.wedding01_question_section .sec_title_area .sec_title_en img{
  transform: translateY(15px);
}


.wedding01_question_section .question_frame{
  position: relative;
  max-width: 1300px;
  margin:0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
  padding:80px 100px;
}

.wedding01_question_section .question_bg{
  content:'';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.wedding01_question_section .question_bg01{
  width:100%;
  height:100%;
  z-index: -4;
  opacity: 0.1;
}
.wedding01_question_section .question_bg02{
  width:calc(100% - 50px);
  height:calc(100% - 50px);
  z-index: -2;
  opacity: 0.1;
}

.wedding01_question_section .question_deco{
  width:132px;
  height:132px;
  position: absolute;
  z-index: -1;
  background-image: url('../img/wedding/pattern01/question_deco.svg');
  display: block;
}

.wedding01_question_section .question_deco01{
  top:40px;
  left:40px;
}
.wedding01_question_section .question_deco02{
  top:40px;
  right:40px;
  transform: rotateY(180deg);
}
.wedding01_question_section .question_deco03{
  bottom:40px;
  left:40px;
  transform: rotateX(180deg);
}
.wedding01_question_section .question_deco04{
  bottom:40px;
  right:40px;
  transform: rotateZ(180deg);
}


.wedding01_question_section .question_contents{
  min-height: 240px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wedding01_question_section .question_list{
  width: 100%;
}

.wedding01_question_section .question_list li{
  display: flex;
  justify-content: center;
  line-height: 1.5;
}

.wedding01_question_section .question_list .parter_line{
  margin-bottom: 40px;
  font-size: 20px;
  font-weight: 500;
  /* font-weight: bold; */
}

.wedding01_question_section .question_list li + li{
  margin-top: 24px;
}

.wedding01_question_section .question_list .title{
  flex-shrink: 0;
  width:280px;
  text-align: center;
  padding:0 8px;
}

.wedding01_question_section .question_list .partner{
  width:50%;
}
.wedding01_question_section .question_list .partner01{
  text-align: right;
}


.wedding01_info_section {
  padding-top: 40px
}

.wedding01_info_section .info_inner{
  padding-top: 40px;
  padding-bottom: 80px;
  position: relative;
  margin-top: 32px;
}

.wedding01_info_section .info_inner::after{
  content:'';
  width: 960px;
  height:100%;
  background-color: rgba(255,255,255,0.5);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -2;
  
}


.wedding01_info_section .info_bg{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index:-4;
  width:100%;
  height:100%;
  object-fit: cover;
}




.wedding01_info_section .sec_title_area .sec_title_en{
  width:730px;
}

.wedding01_info_section .sec_title_area .sec_title_en img{
  transform: translateY(15px);
}

.wedding01_info_section .info_contents{
  max-width: 730px;
  margin:0 auto;
}

.wedding01_info_section .info_list{
  margin-top: 40px;
}

.wedding01_info_section .info_list li{
  display: flex;
  align-items: flex-start;
  line-height: 1.5;
}

.wedding01_info_section .info_list li + li{
  margin-top: 24px;
}

.wedding01_info_section .info_list li .info_title{
  flex-shrink: 0;
  width:140px;
  display: flex;
  justify-content: flex-end;
  margin-right: 60px;
}

.wedding01_info_section .info_list li .info_text{
  width: 100%;
}

.wedding01_info_section .info_list li .info_text p + p{
  margin-top: 6px;
}

.wedding01_info_section .info_list .access_flex{
  display: flex;
  align-items: flex-start;
}

.wedding01_info_section .info_list .access_left{
  width: 100%;
}

.wedding01_info_section .info_list .access_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width:88px;
  height:24px;
  border-radius: 20px;
  border:1px solid #000;
  flex-shrink: 0;
  margin-left: 20px;
}

.wedding01_info_section .pop_list{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap:40px 80px;
  margin-top: 40px;
}

.wedding01_info_section .pop_list li{
  width:320px;
  position: relative;
}

.wedding01_info_section .pop_list li:first-child{
  margin:0 40px;
}

.wedding01_info_section .pop_list .pop_open{
  padding:8px;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
  height: 60px;
}

.wedding01_info_section .pop_list .pop_open_frame{
  opacity: 0.5;
  content:'';
  width:100%;
  height:100%;
  border:3px solid;
  position: absolute;
  top:0;
  left:0;
  border-radius: 100px;
  padding:8px;
}

.wedding01_info_section .pop_list .pop_open_bg{
  width: 100%;
  height:100%;
  border-radius: 100px;
}

.wedding01_info_section .pop_list .pop_open span{
  position: relative;
  z-index: 3;
  height:100%;
  display: flex;
  justify-content: center;
  align-items: center;
}


.wedding01_faq_section{
  position: relative;
  padding-top: 60px;
  padding-bottom: 90px;
}

.wedding01_faq_section .sec_title_area .sec_title_en{
  width:1040px;
}

.wedding01_faq_section .sec_title_area .sec_title_en img{
  transform: translateY(15px) translateX(60px);
}


.wedding01_faq_section .faq_frame{
  max-width: 1040px;
  margin: 56px auto 0;
  position: relative;
  padding:50px 88px;
  min-height: 240px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wedding01_faq_section .faq_deco{
  width:80px;
  height:88px;
  position: absolute;
  z-index: -1;
  background-image: url('../img/wedding/pattern01/faq_deco.svg');
  display: block;
}

.wedding01_faq_section .faq_deco01{
  top:0px;
  left:0px;
}
.wedding01_faq_section .faq_deco02{
  top:0px;
  right:0px;
  transform: rotateY(180deg);
}
.wedding01_faq_section .faq_deco03{
  bottom:0px;
  left:0px;
  transform: rotateX(180deg);
}
.wedding01_faq_section .faq_deco04{
  bottom:0px;
  right:0px;
  transform: rotateZ(180deg);
}

.wedding01_faq_section .faq_list li{
  display: flex;
  align-items: flex-start;
  line-height: 1.5;
}

.wedding01_faq_section .faq_list li + li{
  margin-top: 20px;
}

.wedding01_faq_section .faq_list .question{
  flex-shrink: 0;
  width:300px;
  padding-right: 10px;
  font-weight: bold;
}

.wedding01_faq_section .faq_list .answer{
  width:100%;
}


.wedding01_album_section{
  padding-top: 60px;
}

.wedding01_album_section .sec_title_area .sec_title_en{
  width:1045px;
}

.wedding01_album_section .sec_title_area .sec_title_en img{
  transform: translateY(0);
}

.wedding01_album_section .album_nav{
  position: absolute;
  cursor: pointer;
  width:40px;
  height:40px;
  border-radius: 50%;
  bottom:-20px;
}

.wedding01_album_section .album_prev{
  background-image: url('../img/wedding/album_prev.svg');
  right:calc(100% + 32px);
}

.wedding01_album_section .album_next{
  background-image: url('../img/wedding/album_next.svg');
  left:calc(100% + 32px);
}

.wedding01_album_section .album_swiper_area{
  max-width: 1920px;
  margin:0 auto;
  margin-top: 40px;
  overflow: hidden;
}

.wedding01_album_section .album_slide{
  width:255px;
  height:860px;
}

.wedding01_album_section .album_slide img{
  width:100%;
  height:100%;
  object-fit: cover;
}


.wedding01_movie_section{
  padding-top: 100px;
  padding-bottom: 60px;
}

.wedding01_movie_section .sec_title_area .sec_title_en{
  width:1045px;
}

.wedding01_movie_section .sec_title_area .sec_title_en img{
  transform: translateY(10px);
}


.wedding01_movie_section .movie_frame{
  position: relative;
  max-width: 1500px;
  margin:40px auto 0;
  aspect-ratio: 1/0.56;
}

.wedding01_movie_section .movie_frame video{
  display: block;
  width:100%;
  height:100%;
  object-fit: cover;
}

.wedding01_movie_section .movie_frame .movie_thumb{
  position: absolute;
  width:100%;
  height:100%;
  object-fit: cover;
  z-index: 3;
  transition-duration: 0.4s;
}

.wedding01_movie_section .movie_frame .movie_thumb.vanish{
  opacity: 0;
  pointer-events: none;
}

.wedding01_movie_section .movie_frame .movie_thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.wedding01_movie_section .movie_frame .js_movie_start{
  cursor: pointer;
}

.wedding01_movie_section .movie_frame .movie_start{
  width:200px;
  height:200px;
  border-radius: 50%;
  border: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  transition-duration: 0.4s;
  z-index: 5;
  cursor: pointer;
}

.wedding01_movie_section .movie_frame .movie_start::after{
  content:'';
  width:0;
  height:0;
  border-style:solid;
  border-width: 30px 0 30px 52px;
  border-color: transparent transparent transparent #fff;
  margin-left: 10px;
}

.wedding01_movie_section .movie_frame .movie_start.vanish{
  opacity: 0;
  pointer-events: none;
}


.wedding01_party_section{
  padding-top: 100px;
  padding-bottom: 60px;
}

.wedding01_party_section .sec_title_area .sec_title_en{
  width:1045px;
}

.wedding01_party_section .sec_title_area .sec_title_en img{
  width: 380px!important;
  transform: translateY(10px);
}


.wedding01_party_section .party_content{
  width: fit-content;
  margin:40px auto 0;
  padding-bottom: 90px;
  position: relative;
}


.wedding01_party_section .party_deco{
  width:240px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.wedding01_party_section .party_map_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 88px;
  height: 24px;
  border-radius: 20px;
  border: 1px solid #000;
  flex-shrink: 0;
  margin:20px auto 0;

}

.wedding01_post_section{
  padding-top: 80px;
}

.wedding01_post_section .sec_title_area .sec_title_en{
  width:1045px;
}

.wedding01_post_section .sec_title_area .sec_title_en img{
  /* width: 380px!important; */
  transform: translateY(10px);
}


.wedding01_post_section .post_label_frame{
  border-radius: 100px;
  position: relative;
  margin:40px auto 0;
  width: fit-content;
  display: block;
}

.wedding01_post_section .post_label_border{
  opacity: 0.5;
  content:'';
  width:100%;
  height:100%;
  border:3px solid;
  position: absolute;
  top:0;
  left:0;
  border-radius: 100px;
  padding:8px;
}

.wedding01_post_section .post_label_frame .post_label_bg{
  width: 100%;
  height:100%;
  border-radius: 100px;
}

.wedding01_post_section .post_img_upload_label{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
  width:320px;
  height:60px;
  cursor: pointer;
  border-radius: 100px;
}

.wedding01_post_section .post_label_frame input{
  display: none;
}

.wedding01_post_section .post_img_upload_label.js_click_rock{
  cursor: default;
}

.wedding01_post_section .post_list{
  max-width: 1920px;
  margin:0 auto;
  -webkit-column-count: 4;
  -webkit-column-gap:   0px;
  -moz-column-count:    4;
  -moz-column-gap:      0px;
  column-count:         4;
  column-gap:           0px;
  margin-top: 64px;
}

.wedding01_post_section .post_item{
  /* width: 25%; */
}

.wedding01_post_section .post_item img{
  object-fit: cover;
}


.wedding01_bottom_section{
  padding:80px 0;
}

.wedding01_bottom_section .wedding_top{
  display: flex;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  width: fit-content;
  margin:0 auto;
}

.wedding01_bottom_section .wedding_top::before{
  content:'';
  width:50px;
  height:50px;
  border-radius: 50%;
  background-image:url('../img/wedding/pattern01/page_top.svg')
}

.wedding01_bottom_section .wedding_top p{
  margin-top: 16px;
}


/*式次第のポップアップ*/
.wedding01_main .wedding_sche_pop{
  overflow-y: auto;
}

.wedding01_main .wedding_sche_pop .pop_inner{
  min-height:100%;
  width: 100%;
  padding:100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}


.wedding01_main .wedding_sche_pop .pop_frame{
  width:530px;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0,0,0,0.3);
  /* padding:48px 40px; */
}

.wedding01_main .wedding_sche_pop .sec_title_area .sec_title_en{
  /* width:330px; */
  width: 330px!important;
  font-size: 54px;
}

.wedding01_main .wedding_sche_pop .sec_title_area .sec_title_en img{
  width: 290px!important;
  transform: translateY(10px);
}

.wedding01_main .wedding_sche_pop .pop_frame_inner{
  position: relative;
  min-height: 450px;
}

.wedding01_main .wedding_sche_pop .pop_frame_block{
  position: absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  padding:32px 0;
}

.wedding01_main .wedding_sche_pop .pop_frame_scroll{
  height:100%;
  overflow-y: auto;
  
}

.wedding01_main .wedding_sche_pop .sche_block_list{
  margin-top: 48px;
}


.wedding01_main .wedding_sche_pop .sche_block + .sche_block{
  margin-top: 60px;
}

.wedding01_main .wedding_sche_pop .sche_head{
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}

.wedding01_main .wedding_sche_pop .sche_head_deco{
  width:204px;
  margin:16px auto 0;
}

.wedding01_main .wedding_sche_pop .sche_body{
  position: relative;
  margin-top: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: auto;
}


.wedding01_main .wedding_sche_pop .sche_list{
  position: relative;
  z-index: 1;
  text-align: center;
  /* line-height: 1.5; */
  line-height: 1.5;
}

.wedding01_main .wedding_sche_pop .sche_list li + li{
  margin-top: 24px;
}

.wedding01_main .wedding_sche_pop .sche_deco{
  position: absolute;
  /* width:100%;
  height:100%; */
  width:360px;
  height:380px;
  object-fit: contain;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}


/*メニューのポップアップ*/
.wedding01_main .wedding_menu_pop{
  overflow-y: auto;
}


.wedding01_main .wedding_menu_pop .pop_inner{
  min-height:100%;
  width: 100%;
  padding:100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wedding01_main .wedding_menu_pop .pop_frame{
  width:920px;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0,0,0,0.3);
  /* padding:40px 50px 60px; */
}



.wedding01_main .wedding_menu_pop .pop_frame_inner{
  position: relative;
  z-index:3;
  min-height: 450px;
}

.wedding01_main .wedding_menu_pop .pop_frame_inner::after{
  content:'';
  width:100%;
  height:100%;
  background-color: #fff;
  opacity: 0.4;
  top:0;
  left:0;
  position: absolute;
  z-index: 3;
  display: none;
}

.wedding01_main .wedding_menu_pop .wedding_menu_deco{
  /* opacity: 0.5; */
}

.wedding01_main .wedding_menu_pop .pop_frame_scroll{
  position: absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  overflow-y: scroll;
  z-index: 5;
}

.wedding01_main .wedding_menu_pop .pop_contents{
  position: relative;
  padding:72px; 
}

.wedding01_main .wedding_menu_pop .menu_frame{
  position: absolute;
  pointer-events: none;
  width: 100%;
  height:50%;
  left:0;
}

.wedding01_main .wedding_menu_pop .menu_frame_top{
  background-position: top;
  top:0;
}
.wedding01_main .wedding_menu_pop .menu_frame_bottom{
  background-position: bottom;
  bottom:0;
}

.wedding01_main .wedding_menu_pop .sec_title_area .sec_title_en{
  width:330px;
}

.wedding01_main .wedding_menu_pop .sec_title_area .sec_title_en img{
  width: 120px!important;
  transform: translateY(-4px);
}

.wedding01_main .wedding_menu_pop .menu_list{
  padding-top: 60px;
  padding-bottom: 60px;
  position: relative;
}

.wedding01_main .wedding_menu_pop .menu_list li{
  line-height: 1.5;
  text-align: center;
  position: relative;
  z-index: 3;
}

.wedding01_main .wedding_menu_pop .menu_list .menu_deco{
  pointer-events: none;
  width:67%;
  height:100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  object-fit: contain;
}




/*席次表のポップアップ*/
.wedding_main .wedding_seat_pop{
  overflow-y: auto;
  overflow-x: auto;
  transition-property: opacity;
  /* min-width: 1400px; */
  /* padding:0 ; */
}


.wedding_main .wedding_seat_pop .pop_inner{
  min-height:100%;
  /* min-width: 100%; */
  padding:100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  flex-shrink: 0;
}

.wedding_main .wedding_seat_pop .pop_frame{
  width:1350px;
  max-width: 100%;
  /* min-width: 1350px; */
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0,0,0,0.3);
  padding:56px 24px 56px;
  
}

.wedding_main .wedding_seat_pop .pop_contents{
  position: relative;
  max-width:1210px ;
  margin:0 auto;
  padding:56px 50px 72px; 
  min-height: 400px;
  overflow: hidden;
}


.wedding_main .wedding_seat_pop .seat_frame{
  position: absolute;
  pointer-events: none;
  width: 100%;
  height:50%;
  left:0;
  z-index: 2;
  object-fit: cover;
}

.wedding_main .wedding_seat_pop .seat_frame_top{
  object-position: top;
  top:0;
}

.wedding_main .wedding_seat_pop .seat_frame_bottom{
  object-position: bottom;
  bottom:0;
}

.wedding_main .wedding_seat_pop .sec_title_area{
  z-index: 4;
}

.wedding_main .wedding_seat_pop .sec_title_area .sec_title_en{
  width:770px;
}

.wedding_main .wedding_seat_pop .sec_title_area .sec_title_en img{
  transform: translateY(10px);
}

.wedding_main .wedding_seat_pop .seat_deco{
  position: absolute;
  width:622px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

}
.wedding_main .wedding_seat_pop .front_area{
  position: relative;
  z-index: 5;
  margin-top: 24px;
}

.wedding_main .wedding_seat_pop .front_area p{
  font-weight: normal;
  font-size: 32px;
  line-height:1.2;
  text-align: center;
  color: #000;
}


.wedding_main .wedding_seat_pop .seat_head_deco{
  width: 410px;
  margin:0 auto;
}

.wedding_main .wedding_seat_pop .table_area{
  margin-top: 50px;
  position: relative;
  z-index: 10;
}

.wedding_main .wedding_seat_pop .line_list{
  padding:0 60px;
}

.wedding_main .wedding_seat_pop .line{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.wedding_main .wedding_seat_pop .table_list{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
}


.wedding_main .wedding_seat_pop .table_list.move{
  margin-left: -100px;
}

.wedding_main .wedding_seat_pop .table_block_item {
  width: 140px;
  /* position: relative; */
}

/* .wedding_main .wedding_seat_pop .table_block_item::before{
  content:'';
  width:2px;
  height:200px;
  bottom:100%;
  left:0;
  right:0;
  margin:auto;
  position: absolute;
  background-color: red;
} */


.wedding_main .wedding_seat_pop .table_block{
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-top: 30px;
  padding:0 12px;
}

.wedding_main .wedding_seat_pop .table_block.radius{
  aspect-ratio: 1/1;
}

.wedding_main .wedding_seat_pop .table_block.wide{
  aspect-ratio: 1/1.32;
}

.wedding_main .wedding_seat_pop .table_block.verti{
  aspect-ratio: 1/3.24;
}

.wedding_main .wedding_seat_pop .table_block .table_bg{
  position: absolute;
  width:100%;
  height:100%;
  object-fit: contain;
  top:0;
  left:0;
  pointer-events: none;
}

.wedding_main .wedding_seat_pop .table_block .table_bg_on{
  opacity: 0;
}
.wedding_main .wedding_seat_pop .table_block.active .table_bg_on{
  opacity: 1;
}

.wedding_main .wedding_seat_pop .table_block.active .table_bg_off{
  opacity: 0;
}

.wedding_main .wedding_seat_pop .table_name_list_frame{
  position: absolute;
  top: calc(50%);
  left: calc(50%);
  z-index: 20;
  cursor: default;
  opacity: 0;
  pointer-events: none;
  transition-property: opacity;
  transition-duration: 0.3s;
}

.wedding_main .wedding_seat_pop .table_name_list_frame.show{
  opacity: 1;
  pointer-events: auto;
}

@media(any-hover:hover){
  .wedding_main .wedding_seat_pop .table_name_list_frame.show{
    opacity: 0;
    pointer-events: none;
  }
  .wedding_main .wedding_seat_pop .table_block:hover .table_name_list_frame{
    opacity: 1;
    pointer-events: auto;
  }
}

.wedding_main .wedding_seat_pop .table_name_list{
  background-color: #fff;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  padding: 20px 12px;
  width: 240px;
  position: relative;
  font-size: 14px;
}

.wedding_main .wedding_seat_pop .table_name_list li + li{
  margin-top: 6px;
}
.wedding_main .wedding_seat_pop .teble_name{
  font-size: 24px;
  line-height: 1.3;
  text-align: center;
  width: 100%;
}

.wedding_main .wedding_seat_pop .bottom_area{
  position: relative;
  z-index: 4;
  margin-top: 56px;
}

.wedding_main .wedding_seat_pop  .remark_text{
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
  margin-top: 40px;
  /* color:#FF6E00; */
  font-size: 18px;
  text-align: center;
}


.wedding_main .wedding_seat_pop .seat_button{
  border-radius: 100px;
  position: relative;
  margin:0 auto;
  width: fit-content;
  display: block;
  cursor: pointer;
}

.wedding_main .wedding_seat_pop .seat_button_border{
  opacity: 0.5;
  content:'';
  width:100%;
  height:100%;
  border:3px solid;
  position: absolute;
  top:0;
  left:0;
  border-radius: 100px;
  padding:8px;
}

.wedding_main .wedding_seat_pop .seat_button_border .seat_button_bg{
  width: 100%;
  height:100%;
  border-radius: 100px;
}

.wedding_main .wedding_seat_pop .bottom_area span{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 8;
  width:320px;
  height:60px;
  border-radius: 100px;
}


.wedding_main .wedding_seat_pop .seat_search_button{
  margin-top: 48px;
}

.wedding_main .wedding_seat_pop .seat_search_frame{
  width: 470px;
  margin: 24px auto 0;
}

.wedding_main .wedding_seat_pop .seat_search_frame input{
  display: block;
  width:100%;
  height:50px;
  border:1px solid #656565;
  padding:0 16px;
  font-family: "Sawarabi Mincho", serif;
  font-weight: normal;
  font-size: 20px;
  line-height: 1.2;
}

.wedding_main .wedding_seat_pop .seat_search_err_text{
  margin-top: 12px;
  color:#ff0000;
  text-align: center;
}


/*以下、席次表印刷用のポップアップ*/

@page {
  margin: 10mm;
  size: 210mm 297mm; /* A4縦サイズの場合 */
}


@media print {
  body.wedding_body {
    -webkit-print-color-adjust: exact; /* 印刷時でも背景色や背景画像を表示 */
    width: 1300px; /* 印刷時の全ページ幅を統一（px数値はお好みで） */
    margin: 0mm auto;
    size: A4 portrait; 
    zoom: 0.8; /* なるべく多くのブラウザで切れないようにするため */
    min-height: auto;
  }

  body.wedding_body .wedding_section{
    display: none;
  }

  body.wedding_body #wedding_header{
    display: none;
  }
  body.wedding_body #wedding_drawer{
    display: none;
  }

  .wedding_main .wedding_seat_pop {
    position: static;
    width: 100%;
    height: auto;
    background-color: rgba(0, 0, 0, 0.6);
    opacity: 1;
    overflow-y: visible;
    overflow-x: visible;
  }

  .wedding_main .wedding_seat_pop .pop_inner{
    padding:0;
  }


  .wedding_main .wedding_seat_pop .remark_text{
    display: none;
  }

  /* main.wedding_main .wedding_pop {

  } */

  main.wedding_main .wedding_pop_close{
    display: none;
  }
}/*@media print {*/


/*
------------------------------------
Wedding Websitesの作成と編集
------------------------------------
*/

body.seat_body{
  min-width: 1200px;
  margin:0 auto;
  background-color: #faf9f6;
  min-height: 100vh;
}
main.seat_main{
  
}

.seat_section{
  padding-top: 40px;
  padding-bottom: 140px;
}


.seat_section .seat_container{
  max-width: 1070px;
  margin:0 auto;
}

.seat_section .page_title{
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.seat_section .csv_err{
  color:#ff0000;
  width: fit-content;
  margin:16px auto 0;
}

.seat_section .csv_remark{
  width: fit-content;
  margin:16px auto 0;
  font-weight: bold;
  font-size: 18px;
}

.seat_section .front_area{
  position: relative;
  margin-top: 32px;
}

.seat_section .front_box{
  width: 345px;
  height: 68px;
  background: #ebe6e0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
  color: #656565;
  margin:0 auto;
}

.seat_section .front_box input{
  width:90%;
  height:50px;
  border:none;
  background: none;
  text-align: center;
  border-bottom:1px solid #4d4d4d;
  font-size: 18px;
}

.seat_section .table_set_area{
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  
  padding:16px;
  border:1px solid #4d4d4d;
}

.seat_section .table_set_area .table_set_flex{
  display: flex;
  justify-content: center;
  align-items: center;
}

.seat_section .table_set_area p{
  font-weight: bold;
  flex-shrink: 0;
  margin-right: 24px;
}

.seat_section .table_set_area li + li{
  margin-top: 16px;
}

.seat_section .table_set_area label{
  cursor: pointer;
  font-weight: bold;
  line-height: 1;
  display: flex;
  align-items: center;
}

.seat_section .table_set_area label input{
  margin-right: 6px;
  pointer-events: none;
}

.seat_section .table_set_area .table_type_alert{
  margin-top: 16px;
  color:#ff0000;
  font-size: 14px;
}

.seat_section .detail_set_area{
  position: absolute;
  display: flex;
  justify-content: center;
  right:0;
  top:0;
}

.seat_section .detail_set_area .manual_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 210px;
  height: 30px;
  border-radius: 30px;
  border: 1px solid #656565;
  font-size: 18px;
  line-height: 1;
}

.seat_section .detail_set_area p{
  margin-right: 24px;
  font-size: 18px;
  line-height: 1.5;

}

.seat_section .detail_set_area label{
  cursor: pointer;
  border-radius: 100px;
}

.seat_section .detail_set_area .table_detail_icon{
  width: 50px;
  height: 24px;
  border-radius:100px ;
  background-size: contain;
  background-image: url('../img/wedding/icon_table_detail_on.svg');

}

.seat_section .detail_set_area input{
  display: none;
}

.seat_section .detail_set_area input:checked + .table_detail_icon{
  background-image: url('../img/wedding/icon_table_detail_off.svg');
}

.seat_section .table_area{
  margin-top: 80px;
  position: relative;
}

.seat_section .line{
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

.seat_section .line:nth-child(1){
  z-index: 10;
}
.seat_section .line:nth-child(2){
  z-index: 9;
}
.seat_section .line:nth-child(3){
  z-index: 8;
}
.seat_section .line:nth-child(4){
  z-index: 7;
}
.seat_section .line:nth-child(5){
  z-index: 6;
}
.seat_section .line:nth-child(6){
  z-index: 5;
}

.seat_section .line + .line{
  margin-top: 24px;
}

.seat_section .table_pos_switch{
  width: 48px;
  height: 32px;
  background-size: contain;
  background-image:url('../img/common/icon_arrow_seat_off.svg');
  cursor: pointer;
}

.seat_section .table_pos_switch.move{
  background-image:url('../img/common/icon_arrow_seat_on.svg');
}

.seat_section .table_list{
  width:910px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transform: translateX(80px);
}

.seat_section .table_list.move{
  transform: translateX(0);
}

.seat_section .table_list li{
  position: relative;
}

.seat_section .table_block_item{
  opacity: 0.2;
}

.seat_section .table_block{
  width: 122px;
  background-color: #C7BBAB;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 0;
}

.seat_section .table_block .table_mark{
  font-weight: bold;
  font-size: 40px;
  line-height: 1;
  color: #656565;
}

.seat_section [data_table_shape="radius"] .table_block{
  aspect-ratio:1 / 1 ;
  border-radius: 50%;
}

.seat_section [data_table_shape="wide"] .table_block{
  aspect-ratio:1 / 1 ;
}

.seat_section [data_table_shape="verti"] .table_block{
  aspect-ratio:1 / 3;
}

.seat_section .table_block_item .table_delete_open_min{
  cursor: pointer;
  width: 28px;
  height: 28px;
  position: absolute;
  bottom:10px;
  right:6px;
  display: none;
  background-image: url('../img/common/icon_delete_table.svg');
  z-index: 3;
}


.seat_section .table_block_item .table_amount{
  position: absolute;
  display: none;
  left:6px;
  top:2px;
  pointer-events: none;
  z-index: 2;
}

.seat_section .table_block_item .table_amount_inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
  color: #656565;
}

.seat_section .table_block_item .table_amount .border{
  width: 32px;
  height: 1px;
  background: #656565;
  margin:2px 0;
}

.seat_section .table_block_item.active{
  opacity: 1;
}

.seat_section .table_block_item.active .table_delete_open_min{
  display: block;
}
.seat_section .table_block_item.active .table_amount{
  display: block;
}

.seat_section .table_remark{
  width: fit-content;
  margin:24px auto 0;
}


.seat_section .table_detail_modal{
  position: absolute;
  top:calc(100% - 20px);
  left:calc(100% - 40px);
  z-index: 5;
  cursor: default;
  /* transform: translate3d(0 , 0 , 1); */
  opacity: 0;
  pointer-events: none;
  transition-duration: 0.3s;
  display: none;
}


.seat_section [data_table_detail_hide="hide"] .table_detail_modal{
  /* display: none!important; */
} 

.seat_section .table_block_item.active .table_detail_modal{
  display: block;
}

@media(any-hover:hover){
  .seat_section .table_block_item.active:hover .table_detail_modal{
    opacity: 1;
    pointer-events: auto;
  }

  .seat_section .table_block_item.active:hover .table_delete_open_min{
    z-index: 10;
  }
}


.seat_section .table_detail_modal .table_detail_modal_inner{
  background-color: #fff;
  box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
  padding:24px 16px ;
  width: 240px;
  position: relative;
  z-index: 2;
}

.seat_section .table_detail_modal .table_detail_modal_head{
  font-weight: bold;
  text-align: center;
}

.seat_section .table_detail_modal .table_detail_list{
  margin-top: 16px;
}

.seat_section .table_detail_modal .table_detail_list li{
  display: flex;
  align-items: flex-start;
  font-size: 14px;
}

.seat_section .table_detail_modal .table_detail_list li span{
  flex-shrink: 0;
  min-width:55px;
  padding-right: 4px;
}

.seat_section .table_detail_modal .table_detail_list li + li{
  margin-top: 8px;
}

.seat_section .csv_area{
  margin:72px auto 0;
  position: relative;
}

.seat_section .csv_area .seat_csv_label{
  margin:0 auto;
  position: relative;
  cursor: pointer;
  width: 268px;
  height: 42px;
  border-radius: 42px;
  border: 1px solid #000;
  overflow: hidden;
  font-weight: normal;
  font-size: 18px;
  line-height: 1.2;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
}

.seat_section .csv_area .csv_upload{
  position: absolute;
  width:100%;
  height:100%;
  cursor: pointer;
  opacity: 0;
}

.seat_section .csv_area.js_click_rock .csv_upload{
  display: none;
}

.seat_section .csv_area .csv_name{
  width: fit-content;
  margin:12px auto 0;
  font-size: 18px;
  color:#000;
}

.seat_section .csv_area .total_num_area{
  position: absolute;
  top:4px;
  right:calc(50% + 250px);
  font-weight: bold;
  font-size: 22px;
  line-height: 1.2;
  white-space: nowrap;
}


.seat_section .submit_area{
  margin-top: 48px;
}

.seat_section .save_button{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 188px;
  height: 70px;
  border-radius: 70px;
  background-color: rgb(146,165,188);
  margin:0 auto;
  font-size: 34px;
  font-weight: bold;
  color:#fff;
}


.seat_section .sample_area{
  position: absolute;
  top:4px;
  left:calc(50% + 250px);
  font-size: 18px;
  line-height: 1.2;
  color:#000;
  white-space: nowrap;
}

.seat_section .sample_area .csv_samle_button{
  cursor: pointer;
  padding:0 3px;
  border-bottom: 1px solid #000;
}


.seat_section .csv_download_modal{
  position: fixed;
  width: 100%;
  height: 100vh;
  min-width: 1200px;
  top: 0;
  left: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.seat_section .csv_download_modal.show{
  pointer-events: auto;
  opacity: 1;
}

.seat_section .csv_download_modal .modal_inner{
  min-height: 100%;
  width: 100%;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.seat_section .csv_download_modal .modal_frame {
  width: auto;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0, 0, 0, 0.3);
  padding: 48px 100px;
}

.seat_section .csv_download_modal .csv_download_modal_close{
  position: absolute;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');
  right: 0;
  bottom: calc(100% + 6px);
}

.seat_section .csv_download_modal p{
  text-align: center;
  font-weight: bold;
  font-size: 18px;
}

.seat_section .csv_download_modal .csv_download_button{
  margin:32px auto 0;
}

.seat_section .csv_download_modal .csv_download_complete{
  min-height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin:32px auto 0;
  font-weight: bold;
}


.seat_section .table_modal{
  position: fixed;
  width: 100%;
  height: 100vh;
  min-width: 1200px;
  top: 0;
  left: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.seat_section .table_modal.show{
  pointer-events: auto;
  opacity: 1;
}

.seat_section .table_modal .modal_inner{
  min-height: 100%;
  width: 100%;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.seat_section .table_modal .modal_frame {
  width: 1100px;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0, 0, 0, 0.3);
  padding: 48px 100px;
}

.seat_section .table_modal .table_modal_close{
  position: absolute;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');
  right: 0;
  bottom: calc(100% + 6px);
}

.seat_section .table_modal .set_flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.seat_section .table_modal .set_left{
  width: 460px;
}

.seat_section .table_modal .set_right{
  width: 410px;
}

.seat_section .table_modal .set_head{
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
  text-align: center;
  color: #656565;
}


.seat_section .table_modal .table_num_list{
  width: fit-content;
  margin:24px auto 0;
}

.seat_section .table_modal .table_num_list li{
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 18px;
}

.seat_section .table_modal .table_num_list li + li{
  margin-top: 20px;
}

.seat_section .table_modal .table_num_list .label{
  flex-shrink: 0;
  width:80px;
  padding-right: 6px;
}

.seat_section .table_modal .table_num_list .min_label{
  flex-shrink: 0;
  width:32px;
}

.seat_section .table_modal .table_num_list .num_right{
  display: flex;
  align-items: center;
}

.seat_section .table_modal .table_num_list .num_block{
  display: flex;
  align-items: center;
}

.seat_section .table_modal .table_num_list .num_block + .num_block{
  margin-left: 18px;
}

.seat_section .table_modal .table_num_list .num_frame{
  width:50px;
}

.seat_section .table_modal .table_num_list input[type="text"],
.seat_section .table_modal .table_num_list input[type="number"]{
  width: 100%;
  height:36px;
  border:1px solid #656565;
  font-weight: bold;
  font-size: 18px;
}

.seat_section .table_modal .table_num_list input[type="number"]{
  padding:0 3px; 
  text-align: center;
}

.seat_section .table_modal .table_num_list input[type="text"]{
  padding:0 12px;
}


.seat_section .table_modal .table_num_list .num_unit{
  margin-left: 8px;
}

.seat_section .table_modal .table_num_list .name_frame{
  width: 175px;
}

.seat_section .table_modal .table_num_list .tentative_button{
  cursor: pointer;
  width:98px;
  height:36px;
  border-radius: 40px;
  background-color: #EBE6E0;
  border:1px solid #656565;
  margin:16px auto 0;
  font-size: 18px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.1;
}

.seat_section .table_modal .attend_line{
  margin-top: 20px;
}

.seat_section .table_modal .attend_line{
  display: flex;
  align-items: center;
}

.seat_section .table_modal .attend_line + .attend_line{
  margin-top: 16px;
}

.seat_section .table_modal .attend_line p{
  flex-shrink: 0;
  width:72px;
  font-weight: bold;
  font-size: 18px;
}

.seat_section .table_modal .attend_line .attend_frame{
  width: 100%;
  min-height:68px;
  background-color: #fff;
  border:1px solid #656565;
  padding: 4px 16px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}

.seat_section .table_modal .attend_line .attend_frame input{
  margin:4px 0;
  height: 22px;
  display: block;
  width: 100%;
  border: none;
  border-bottom:1px solid #4d4d4d;
  padding:0 3px;
  font-weight: bold;
}

.seat_section .table_modal .attend_line .attend_frame input:focus{
  outline:none;
}

.seat_section .table_modal .attend_line .attend_frame input::placeholder{
  opacity: 0.3;
}

.seat_section .table_modal .button_area{
  position: relative;
  margin-top: 64px;
}

.seat_section .table_modal .table_set_button{
  cursor: pointer;
  width:98px;
  height:36px;
  border-radius: 40px;
  background-color: #EBE6E0;
  border:1px solid #656565;
  font-size: 18px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.1;
  margin: 0 auto;
}

.seat_section .table_modal .talble_delete_flex{
  position: absolute;
  right:0;
  bottom:0;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
}

.seat_section .table_modal .talble_delete_flex p{
  margin-right: 16px;
}


.seat_section .table_modal .table_frame{
  position: relative;
  background-color: #EBE6E0;
  margin-top:88px;
}

.seat_section .table_modal .table_frame .table_name{
  position: absolute;
  width: 100%;
  height:100%;
  padding:6px 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  top:0;
  left:0;
  z-index: 5;
  font-size: 46px;
  font-weight: bold;
  word-break: break-all;
}

.seat_section .table_modal .table_frame .seat_box{
  position: absolute;
  z-index: 2;
  aspect-ratio: 1/1;
  background: #fff;
  border: 1px solid #000;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  /* font-size: 18px; */
  font-size: 16px;
  line-height: 1;
  color: #656565;
}

.seat_section .table_modal .table_frame_radius .seat_box{
  -webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
  width: 80px;
  aspect-ratio: 1/1;
}

/*以下、丸型テーブル*/
.seat_section .table_modal .table_frame_radius{
  width: 350px;
  height:350px;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
}


/*以下、四角テーブル*/
.seat_section .table_modal .table_frame_square{
  width: 350px;
  aspect-ratio: 1/1;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.seat_section .table_modal .table_frame_square.verti{
  width: 145px;
  aspect-ratio: 1/5.13;
}

.seat_section .table_modal .table_frame_square .seat_box_list{
  display: flex;
  justify-content: space-around;
  position: absolute;
}

.seat_section .table_modal .table_frame_square .seat_box{
  position: static;
}


.seat_section .table_modal .table_frame_square .seat_box_list_top .seat_box,
.seat_section .table_modal .table_frame_square .seat_box_list_bottom .seat_box{
  width: 80px;
  margin:0 2px;
}

.seat_section .table_modal .table_frame_square .seat_box_list_left .seat_box,
.seat_section .table_modal .table_frame_square .seat_box_list_right .seat_box{
  height: 80px;
  margin:2px 0;
}


.seat_section .table_modal .table_frame_square .seat_box_list_top{
  top:0;
  left:0;
  width:100%;
  transform: translateY(-50%);
}

.seat_section .table_modal .table_frame_square .seat_box_list_right{
  flex-direction: column;
  top:0;
  right:0;
  height:100%;
  max-height: 100%;
  transform: translateX(50%);
}

.seat_section .table_modal .table_frame_square .seat_box_list_bottom{
  flex-direction: row-reverse;
  bottom:0;
  right:0;
  width:100%;
  
  transform: translateY(50%);
}

.seat_section .table_modal .table_frame_square .seat_box_list_left{
  flex-direction: column-reverse;
  bottom:0;
  left:0;
  height:100%;
  transform: translateX(-50%);
}



/*テーブル削除モーダル*/
.seat_section .table_delete_modal{
  position: fixed;
  width: 100%;
  height: 100vh;
  min-width: 1200px;
  top: 0;
  left: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.seat_section .table_delete_modal.show{
  pointer-events: auto;
  opacity: 1;
}

.seat_section .table_delete_modal .modal_inner{
  min-height: 100%;
  width: 100%;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.seat_section .table_delete_modal .modal_frame {
  min-width: 600px;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0, 0, 0, 0.3);
  padding: 48px 32px;
}

.seat_section .table_delete_modal .table_delete_modal_close{
  position: absolute;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');
  right: 0;
  bottom: calc(100% + 6px);
}


.seat_section .table_delete_modal p{
  font-weight: bold;
  text-align: center;
  font-size: 24px;
}

.seat_section .table_delete_modal .table_delete_button{

  margin:40px auto 0;
  cursor: pointer;

}

.seat_section .table_delete_modal .table_delete_text{
  margin:40px auto 0;
  min-height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
}


/*テーブ変更確認モーダル*/
.seat_section .table_change_modal{
  position: fixed;
  width: 100%;
  height: 100vh;
  min-width: 1200px;
  top: 0;
  left: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.seat_section .table_change_modal.show{
  pointer-events: auto;
  opacity: 1;
}

.seat_section .table_change_modal .modal_inner{
  min-height: 100%;
  width: 100%;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.seat_section .table_change_modal .modal_frame {
  min-width: 600px;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0, 0, 0, 0.3);
  padding: 48px 32px;
}

.seat_section .table_change_modal .table_change_modal_close{
  position: absolute;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');
  right: 0;
  bottom: calc(100% + 6px);
}


.seat_section .table_change_modal p{
  font-weight: bold;
  text-align: center;
  font-size: 24px;
}

.seat_section .table_change_modal .table_change_button{
  margin:40px auto 0;
  cursor: pointer;

}

/*
------------------------------------
席次表　確認
------------------------------------
*/

body.wedding_body.seat_view_body{
  background-color: transparent;
  /* min-width: 1400px; */
}

main.wedding_main.seat_view_main{
  padding-top: 80px;
  padding-bottom: 80px;
}

main.wedding_main.seat_view_main .wedding_pop{
  opacity: 1;
  pointer-events: auto;
  position: static;
  background-color: transparent;
  overflow: visible;
  height:auto;
  padding:0 20px;
}

main.wedding_main.seat_view_main .seat_pop_close{
  display: none;
}

main.wedding_main.seat_view_main .pop_inner{
  padding:0;
  margin-top: 24px;
  display: block;
  max-width: 1340px;
  margin-inline: auto;
}

main.wedding_main.seat_view_main .pop_frame {
  width: 100%;
  max-width: 100%;
  position: relative;
  background-color: transparent;
  box-shadow: none;
  padding: 0;
  margin: 0 auto;
}


main.wedding_main.seat_view_main .pop_frame_inner{
  position: relative;
  z-index: 3;
}

main.wedding_main.seat_view_main .pop_frame_inner::after {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0.4;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 3;
  display: none;
}

main.wedding_main.seat_view_main .pop_frame_scroll{
  
}

main.wedding_main.seat_view_main .pop_frame_scroll.scroll{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow-y: scroll;
  z-index: 5;
}


main.wedding_main.seat_view_main .pop_contents {
  position: relative;
  max-width: none;
  min-height: 400px;
  margin: 0px auto;
  padding: 40px 0;
  overflow: hidden;
  border:none;
}

main.wedding_main.seat_view_main .line_list {
  padding: 0 100px;
}


/*印刷時*/
@media print {
  main.wedding_main.seat_view_main .wedding_seat_deco{
    display: none;
  }

  main.wedding_main.seat_view_main .pop_frame_scroll.scroll{
    position: static;
    overflow-y: visible;
  }

}


/*
------------------------------------
テーブル詳細モーダル
------------------------------------
*/

.guest_modal{
  position: fixed;
  width: 100%;
  top: 0px;
  left: 0px;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
}

.guest_modal.show{
  opacity: 1;
  pointer-events: auto;

}

.guest_modal .guest_modal_close{
  position: absolute;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  bottom: calc(100% + 6px);
  right:0;
}

.guest_modal .guest_modal_close::after{
  content:'';
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');  
}

.guest_modal .guest_modal_inner{
  height: 100vh;
  height: calc(var(--vh2, 1vh) * 100);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  padding: 70px 0px;
}

.guest_modal .guest_modal_frame{
  position: relative;
  height:100%;
  background-color: #fff;
}



.guest_modal .guest_modal_scroll{
  height:100%;
  overflow: auto;
}

.guest_modal .guest_modal_contents_frame{
  min-height: 100%;
}

.guest_modal .guest_modal_contents{
  padding-top: 70px;
  padding-bottom: 70px;
  flex-shrink: 0;
}

.guest_modal .guest_table_frame{
  position: relative;
  margin:0 auto;
}

.guest_modal .guest_table_frame_inner{
  display: flex;
  justify-content: center;
  align-items: center;
}

.guest_modal .guest_table_name{
  /* position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center; */
  font-family: "Sawarabi Mincho", serif;
  font-size: 28px;
  line-height: 1.2;
  text-align: center;
  color: #779da8;
  opacity: 0.7;

}

.guest_modal .guest_modal_contents_block{
  padding-top: 20px;
  padding-bottom: 20px;
}

.guest_modal .guest_seat_box{
  font-weight: bold;
  font-size: 15px;
  white-space: nowrap;
  /* display: none!important; */
  /* opacity: ; */
}

.guest_modal .guest_seat_info{
  font-weight: 600;
  font-size: 13px;
  white-space: nowrap;

  display: flex;
  flex-direction: column;
}


/*丸型テーブル用*/



.guest_modal .guest_modal_frame.radius{
  max-width: min(90% , 1200px);
  width: 980px;
  max-width: 90%;
}

.guest_modal .guest_modal_contents_frame.radius{
  min-width: max(900px , 100%);
  display: flex;
  justify-content: center;
  align-items: center;
}

.guest_modal .guest_modal_contents_radius{
  position: relative;
}

.guest_modal .guest_table_frame_radius{
  width:360px;
  aspect-ratio: 1/1;
  
  padding:45px;
  margin: 0 auto;
  /* background-image: url('../img/wedding/icon_table_radius_off.png'); */
}

.guest_modal .guest_table_frame_radius .guest_table_bg{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: contain;
  /* opacity: 0.4; */
}

.guest_modal .guest_table_frame_radius .guest_table_frame_inner{
  width:100%;
  height:100%;
  position: relative;
}


.guest_modal .guest_table_frame_radius .guest_seat_box{
  transform: translate(-50%, -50%);
  position: absolute;
  width:40px;
  display:  none;
}


.guest_modal .guest_table_frame_radius .guest_table_frame_outer{
  position: absolute;
  width:calc(100% + 50px);
  height:calc(100% + 50px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.guest_modal .guest_table_frame_radius .guest_table_frame_outer_relative{
  width:100%;
  height:100%;
  position: relative;
  transform: translateY(-20px);
}

.guest_modal .guest_table_frame_radius .js_guest_seat_info:first-child{
  align-items: center;
  transform:translateY(-10px);
}

.guest_modal .guest_table_frame_radius .js_guest_seat_info.adjust_bottom{
  align-items: center;
  transform:translateY(10px);
}

.guest_modal .guest_table_frame_radius .js_guest_seat_info{
  width: 0;
  position: absolute;
  height:40px;
  justify-content: center;
  /* background-color: red;
  width: 3px; */
}


.guest_modal .guest_table_frame_radius .js_guest_seat_info.right{
  align-items: flex-end;
}


/*四角型テーブル用*/

/* .guest_modal .guest_modal_frame.square{
  max-width: min(90% , 1200px);
} */

.guest_modal .guest_modal_frame.square{
  max-width: min(90% , 1200px);
  width: 980px;
  max-width: 90%;
}

.guest_modal .guest_modal_contents_frame.square{
  /* min-width: 980px; */
  /* min-width: max(900px , 100%); */
  display: flex;
  justify-content: center;
  align-items: center;
}


/* .guest_modal .guest_modal_contents_square{
  margin-left: 250px;
  position: relative;
  
}

.guest_modal .guest_modal_contents_square::after{
  content:'';
  width:250px;
  height:1px;
  position: absolute;
  top:0;
  left:100%;
} */


.guest_modal .guest_table_frame_square{
  position: relative;
  width: fit-content;

  margin:0 auto;
}

.guest_modal .guest_table_frame_square .guest_table_bg{
  width:100%;
  height:100%;
  position: absolute;
  top:0;
  left:0;
  object-fit: fill;
  opacity: 0.4;
}


.guest_modal .guest_modal_contents_square{
  padding-top: 0;
  margin-top: 24px;
  padding-bottom: 70px;
}

.guest_modal .guest_table_frame_square .guest_table_frame_inner{
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
  position: relative;
  z-index: 2;
  margin: 0;
  
}

.guest_modal .guest_table_frame_square .guest_seat_box_mark{
  opacity: 0;
  pointer-events: none;
  width:60px;
}


.guest_modal .guest_table_frame_square .guest_table_seat_line{
  display: flex;
  align-items: flex-start;
  justify-content: center;
}


.guest_modal .guest_table_frame_square .guest_table_seat_line_wide{
  min-width: 100px;
  padding:0 40px;
}

.guest_modal .guest_table_frame_square .guest_table_seat_line_wide .guest_seat_box{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap:10px 0;
  width:140px;
  padding:0 4px;
}

.guest_modal .guest_table_frame_square .guest_table_seat_line_wide .guest_seat_info{
  white-space: normal;
}


.guest_modal .guest_table_frame_square .guest_table_seat_line_verti{
  min-height: 300px;
  flex-direction: column;
  padding:40px 0;
}

.guest_modal .guest_table_frame_square .guest_table_seat_line_verti .guest_seat_box{
  height:60px;
  display: flex;
  align-items: center;
  gap:0 10px;
}

.guest_modal .guest_table_frame_square .guest_table_seat_line_verti .guest_seat_info{
  position: absolute;
}


.guest_modal .guest_table_frame_square .guest_table_seat_line.top .guest_seat_box{
  flex-direction: column-reverse;
}

.guest_modal .guest_table_frame_square .guest_table_seat_line.bottom{
  position: absolute;
  width:100%;
  top:100%;
  left:0;
  flex-direction: row-reverse;
}

.guest_modal .guest_table_frame_square .guest_table_seat_line.left{
  flex-direction: column-reverse;
}

.guest_modal .guest_table_frame_square .guest_table_seat_line.left .guest_seat_box{

}

.guest_modal .guest_table_frame_square .guest_table_seat_line.left .guest_seat_info{
  position: absolute;
  right:calc(100% + 10px);
}

.guest_modal .guest_table_frame_square .guest_table_seat_line.right{
  position: relative;
  right:0;
  position: absolute;
  bottom:0;
}

.guest_modal .guest_table_frame_square .guest_table_seat_line.right .guest_seat_info{
  padding-right: 32px;
  left:calc(100% + 10px);
}
/*
------------------------------------
席札デザインの作成
------------------------------------
*/

body.card_body{
  min-width: 1200px;
  margin:0 auto;
  background-color: #faf9f6;
  min-height: 100vh;
}
main.card_main{
  
}

.card_section{
  padding-top: 64px;
  padding-bottom: 80px;
}


.card_section .select_area{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
}

.card_section .select_area p{
  font-size: 18px;
  font-weight: bold;
}

.card_section .select_area .select_frame{
  margin-left: 40px;
  width:400px;
}

.card_section .head_text{
  font-weight: bold;
  font-size: 26px;
  line-height: 1.2;
  text-align: center;
}

.card_section .front_area{
  margin-top: 64px;
}

.card_section .back_area{
  margin-top: 112px;
}

.card_section .card_border{
  border: 1px solid;
}

.card_section .card_frame{
  position: relative;
  width:1000px;
  margin:0 auto;
  margin-top: 28px;
  height:480px;
  position: relative;
  
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Sawarabi Mincho", serif;
}



.card_section .card_frame .card_deco{
  position: absolute;
  display: block;
}

.card_section .card_frame .card_deco_left_top{
  width: 90px;
  top:14px;
  left:20px;
}
.card_section .card_frame .card_deco_left_bottom{
  width: 60px;
  bottom:14px;
  left:20px;
}

.card_section .card_frame .card_deco_right_top{
  width: 90px;
  top:14px;
  right:20px;
}
.card_section .card_frame .card_deco_right_bottom{
  width: 60px;
  bottom:14px;
  right:20px;
}

.card_section .card_frame .card_contents{
  width:770px;
  height:330px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

.card_section .card_name input{
  display: block;
  background: none;
  border:none;
  border-bottom:1px solid #AD9C87;
  width:650px;
  height:100%;
  padding:0 12px 8px;
  text-align: center;
  font-family: "Sawarabi Mincho", serif;
}

.card_section .card_name01{
  height:50px;
  font-size: 30px;
}

.card_section .card_name01 input{
  font-size: 30px;
}

.card_section .card_name02{
  height:90px;
  font-size: 64px;
  padding-top: 4px;
}

.card_section .card_name02 input{
  font-size: 64px;
}

.card_section .card_frame .card_head_top{
  width:500px;
}
.card_section .card_frame .card_head_bottom{
  width:770px;
}

.card_section .card_frame .card_honor{
  font-weight: normal;
  font-size: 48px;
  line-height: 1;
  color: #4d4d4d;
  right:-24px;
  bottom:94px;
  position: absolute;
}

.card_section .card_frame .card_bg{
  width:885px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.card_section .card_frame .card_flex{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
  width: 700px;
  margin:0 auto;
}

.card_section .card_frame .qr_frame{
  flex-shrink: 0;
}

.card_section .card_frame .qr_frame .qrcode{
  width: 250px;
  height:250px;
}

.card_section .card_frame .qr_frame .qrcode canvas{
  display: block;
  width: 250px;
  height:250px;
}

.card_section .card_frame .card_message{
  /* width:450px; */
  width:100%;
  padding:0 30px;
  text-align: center;
  font-size: 28px;
  line-height: 1.4;
  word-break: break-all;
}

.card_section .input_area{
  margin-top: 48px;
  padding:0 32px;
}

.card_section .check_line{

}

.card_section .check_line li + li{
  margin-top: 30px;
}

.card_section .check_line label{
  cursor: pointer;
  width: fit-content;
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.2;
}

.card_section .check_line input{
  width:18px;
  height:18px;
  margin-right: 24px;
  display: block;
}

.card_section .textarea_frame{
  margin-top: 24px;
  padding-left: 48px;
}

.card_section .textarea_frame textarea{
  width: 100%;
  height:180px;
  padding:16px;
  border:1px solid #000;
  font-size: 18px;
}

.card_section .card_button{
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  margin:56px auto 0;
  min-width: 528px;
  min-height: 70px;
  border-radius: 70px;
  background: rgb(146,165,188);
  font-weight: bold;
  font-size: 34px;
  line-height: 1.3;
  color: #fff;
  padding:4px 8px;
}

.card_section .card_remark{
  margin-top: 16px;
  text-align: center;
  font-size: 20px;
}


/*確認画面*/
.card_section .card_confirm_frame{
  width: 90%;
  max-width:1280px;
  border:2px solid #000000;
  margin:0 auto;
  padding:56px 0;
}

.card_section .card_confirm_frame .card_frame{
  margin-top: 0;
}

.card_section .card_confirm_frame .card_print{
  width: 1000px;
  margin:0 auto;
}

.card_section .card_confirm_frame .card_print_info{
  font-size: 20px;
  line-height: 1.2;
  text-align: center;
  margin-top: 32px;
}

.card_section .card_confirm_frame .card_frame_back{
  transform: rotateZ(180deg);
}

.card_section .return_button{
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  padding:0 4px 4px;
  border-bottom: 1px solid #000;
  margin:24px auto 0;
  font-size: 20px;
}


@page {
  margin: 10mm;
  size: 210mm 297mm; /* A4縦サイズの場合 */
}


@media print {
  body.card_confirm_body {
    -webkit-print-color-adjust: exact; /* 印刷時でも背景色や背景画像を表示 */
    width: 1200px; /* 印刷時の全ページ幅を統一（px数値はお好みで） */
    margin: 0mm auto;
    size: A4 portrait; 
    zoom: 0.8; /* なるべく多くのブラウザで切れないようにするため */
  }

  body.card_confirm_body header{
    display: none;
  }

  .card_section .card_print_info{
    display: none;
  }

  .card_section .card_print_info{
    display: none;
  }

  .card_section .card_button{
    display: none;
  }

}/*@media print {*/


/*
------------------------------------
管理画面共通
------------------------------------
*/

header.manage_header{
  box-shadow:none;
  background: none;
}

header.manage_header{
  box-shadow:none;
  background: none;
}

header.manage_header .header_inner {
  padding-left: 0;
  padding-right: 0;
}

header.manage_header .header_flex{
  height: auto;
  justify-content: flex-start;
}

header.manage_header .header_left{
  padding:0 60px 0 40px;
  background-color: #665B4C;
  box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
  height: 60px;
}


header.manage_header .header_left p{
  color:#fff;
  margin-left: 32px;
}

header.manage_header .drawer_open .bar {
  background-color: #fff;
}


header.manage_header .page_title{
  margin-left: 32px;
  font-weight: bold;
  font-size: 24px;
  line-height: 1.2;
  color: #656565;
}

body.manage_body{
  min-width: 1200px;
}

main.manage_main{
  padding-top: 60px;
}

main.manage_main .pagenation{
  margin-top: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap:16px 28px;
  font-size: 14px;
  line-height: 1.2;
  color:#000000;
}

main.manage_main .pagenation span.current{/*現在のページボタン*/
  padding-bottom: 3px;
  border-bottom:1px solid #000;
}

main.manage_main .pagenation a.page-numbers{/*指定のページ移動ボタン*/
  color:#000000;
  padding-bottom: 3px;
}




.manage_table{
  width: 100%;
  border-collapse: collapse;
}

.manage_table th,
.manage_table td{
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  color:#333333;
}

.manage_table th {
  position: relative;
  padding-bottom: 8px;
  padding-left: 4px;
  padding-right: 4px;
  border: none;
  white-space: nowrap;
  max-width:none!important;
}


.manage_table th p {
  width: fit-content;
  margin: 0 auto;
  white-space: nowrap;
}

.manage_table th .th_remark{
  position: absolute;
  bottom:100%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  white-space: nowrap;
  display: flex;
  justify-content: center;
}

.manage_table th .th_head_info{
  position: absolute;
  bottom:calc(100% + 2px);
  left:-4px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.3;
  color: #333;

}

.manage_table .js_cell_wide_switch {
  width: 9px;
  height: 15px;
  background-image: url('../img/manage/icon_extend.svg');
  background-size: contain;
  position: absolute;
  right: 4px;
  bottom: 10px;
  cursor: pointer;
  transform: rotateZ(180deg);
}

.manage_table .js_cell_wide_switch.extend {
  transform: rotateZ(0);
}


.manage_table td{
  border:1px solid #333333;
  padding: 4px;
}

.manage_table td.center{
  text-align: center;
}

.manage_table td.no_border{
  border:none;
}

.manage_table td.shrink p {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.manage_table td.extend {
  width: auto !important;
  max-width: none !important;
  white-space: nowrap;
}

.manage_table td br{
  display: none;
}

.manage_table .w_30{
  width: 30px;
  min-width: 30px;
  max-width: 30px;
}
.manage_table .w_40{
  width: 40px;
  min-width: 40px;
  max-width: 40px;
}
.manage_table .w_60{
  width: 60px;
  min-width: 60px;
  max-width: 60px;
}
.manage_table .w_85{
  width: 85px;
  min-width: 85px;
  max-width: 85px;
}
.manage_table .w_100{
  width: 100px;
  min-width: 100px;
  max-width: 100px;
}
.manage_table .w_130{
  width: 130px;
  min-width: 130px;
  max-width: 130px;
}
.manage_table .w_155{
  width: 155px;
  min-width: 155px;
  max-width: 155px;
}
.manage_table .w_190{
  width: 190px;
  min-width: 190px;
  max-width: 190px;
}

.manage_table .link_icon{
  display: block;
  width:12px;
  height:15px;
  background-image: url('../img/manage/icon_link.svg');
  margin:0 auto;
}

.manage_table input[type="checkbox"]{
  display: block;
  width:15px;
  height:15px;
  margin:0 auto;
}

.manage_table .text_input{
  padding:0;
}

.manage_table .text_input input{
  width: 100%;
  height:100%;
  border:none;
  padding:0 6px;
  font-size: 14px;
  
}
/*
------------------------------------
管理画面トップ
------------------------------------
*/


body.manage_top_body{

}

main.manage_top_main{

}

.manage_top_section01{
  padding-top: 88px;
  padding-bottom: 120px;
}

.manage_top_section01 .menu_list {
  display: flex;
  flex-wrap: wrap;
  gap: 70px;
  position: relative;
  max-width: 740px;
  margin: 0 auto;
}

.manage_top_section01 .menu_block {
  width: 200px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.manage_top_section01 .menu_card {
  display: block;
  width: 100%;
  box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.2);
  position: relative;
}

.manage_top_section01 .menu_card:active{
  box-shadow: none;
  transform: translateY(10px);
}

.manage_top_section01 .menu_card img {
  width: 100%;
}

.manage_top_section01 .price_modal_open{
  width: 130px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 40px;
  cursor: pointer;
  border:1px solid #685A4B;
  padding-top: 2px;
}

.manage_top_section01 .complete_text,
.manage_top_section01 .err_text{
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 24px;
}

.manage_top_section01 .err_text{
  color:#ff0000;
}

.manage_top_section01 .sub_link{
  position: absolute;
  white-space: nowrap;
  top: calc(100% + 24px);
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  padding:0 12px 4px;
  font-size: 20px;
  font-weight: bold;
  color:#656565;
  border-bottom:1px solid #656565;
}

/*
------------------------------------
管理画面 会員一覧
------------------------------------
*/


body.manage_member_list_body{

}

main.manage_member_list_main{

}

.manage_member_list_section01{
  padding-top: 32px;
  padding-bottom: 60px;
}

.manage_member_list_section01 .button_area{
  position: relative;
  max-width: 1200px;
  margin:0 auto;
}

.manage_member_list_section01 .save_button{
  margin:0 auto;
}

.manage_member_list_section01 .prof_edit_button{
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 142px;
  min-height: 40px;
  background-color:#EBE6E0;
  padding:4px 6px;
  border-radius: 10px;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.2;
  color: #665b4c;
  z-index: 2;
  right:40px;
  top:0;
}

.manage_member_list_section01 .button_area .remark_text{
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  color: #e87a00;
  margin-top: 16px;
}

.manage_member_list_section01 .table_area{
  margin-top: 24px;
  overflow-x: auto;
}

.manage_member_list_section01 .table_frame{
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding: 0 40px;
}


/*
------------------------------------
管理画面 会員一覧
------------------------------------
*/


body.manage_member_prof_body{

}

main.manage_member_prof_main{

}

.manage_member_prof_section01{
  padding-top: 40px;
  padding-bottom: 60px;
}

.setting_frame .number_area{
  font-weight: bold;
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 24px;
}


.manage_member_prof_section01 .save_area{
  position: relative;
}

.manage_member_prof_section01 .setting_frame .save_frame{
  position: static;
}

.manage_member_prof_section01 .setting_frame .save_button{
  margin:0 auto;
  width: 200px;
  height: 40px;
  border-radius: 10px;
  background: rgb(146, 165, 188);
  font-size: 22px;
  box-shadow: none;
}

.manage_member_prof_section01 .member_delte_modal_oepn{
  min-width: 105px;
  min-height: 36px;
  border-radius: 6px;
  background-color: rgba(77,77,77,0.6);
  position: absolute;
  top: 50%;
  left:56px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  padding:3px 8px;
  font-size: 19px;
  line-height: 1.2;
  color: #fff;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.manage_member_prof_section01 .member_new_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  min-width: 230px;
  min-height: 48px;
  border-radius: 48px;
  background-color: #ebe6e0;
  padding:3px 8px;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.2;
  color: #665b4c;
  position: absolute;
  top: 50%;
  right: -100px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  }

.manage_member_prof_section01 .how_know{
  width: 410px;
}

.manage_member_prof_section01 .remark{
  width: 100%;
  max-width: none;
}
.manage_member_prof_section01 .remark textarea{
  width: 100%;
  height: 130px;
  padding:16px;
}

.manage_member_prof_section01 .setting_right .center_text{
  min-height: 40px;
  display: flex;
  align-items: center;
}

.manage_member_prof_section01 .result_text{
  margin-top: 24px;
  font-size: 18px;
  font-weight: bold;
  display: flex;
  justify-content: center;
}


.manage_member_prof_section01 .member_delete_modal{
  position: fixed;
  width: 100%;
  height: 100vh;
  min-width: 1200px;
  top: 0;
  left: 0;
  z-index: 50;
  background-color: rgba(0, 0, 0, 0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}

.manage_member_prof_section01 .member_delete_modal.show{
  pointer-events: auto;
  opacity: 1;
}

.manage_member_prof_section01 .member_delete_modal .modal_inner{
  min-height: 100%;
  width: 100%;
  padding: 100px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.manage_member_prof_section01 .member_delete_modal .modal_frame {
  min-width: 600px;
  position: relative;
  background-color: #fff;
  box-shadow: 20px 20px 20px rgba(0, 0, 0, 0.3);
  padding: 48px 32px;
}

.manage_member_prof_section01 .member_delete_modal .member_delete_modal_close{
  position: absolute;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-image: url('../img/common/icon_pop_close_white.png');
  right: 0;
  bottom: calc(100% + 6px);
}


.manage_member_prof_section01 .member_delete_modal p{
  font-weight: bold;
  text-align: center;
  font-size: 24px;
}

.manage_member_prof_section01 .member_delete_modal .member_delete_button{

  margin:40px auto 0;
  cursor: pointer;

}

.manage_member_prof_section01 .member_delete_modal .member_delete_text{
  margin:40px auto 0;
  min-height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
}



/*
------------------------------------
管理画面 Weddingページ一覧
------------------------------------
*/


body.manage_wedding_list_body{

}

main.manage_wedding_list_main{

}

.manage_wedding_list_section01{
  padding-top: 60px;
  padding-bottom: 72px;
}


.manage_wedding_list_section01 .table_area{
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding: 24px 40px 0;
}


.manage_wedding_list_section01 .remark_list{
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-top: 32px;
}

.manage_wedding_list_section01 .remark_list li{
  
  color:#333;
  font-size: 14px;
  margin:0 24px;
  line-height: 1.1;
}

.manage_wedding_list_section01 .button_area{
  margin:16px auto 0;
  padding-left: 20px;
}

.manage_wedding_list_section01 .wedding_delete_button{
  width: 142px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ebe6e0;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.2;
  color: #665b4c;
}
/*
------------------------------------
管理画面 各種帳票管理
------------------------------------
*/


body.manage_data_body{

}

main.manage_data_main{

}

.manage_data_section01{
  padding-top: 48px;
  padding-bottom: 72px;
}

.manage_data_section01 .select_area{
  max-width: 720px;
  padding:0 20px;
  margin:0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}


.manage_data_section01 .form_flex{
  display: flex;
  align-items: center;
}

.manage_data_section01 .form_flex .select_frame{
  width: 135px;
}

.manage_data_section01 .form_flex .select_frame select{
  text-align: center;
  height:30px;
  padding-right: 28px;
}

.manage_data_section01 .form_flex .select_frame::after{
  right:8px;
}

.manage_data_section01 .form_flex .data_button{
  width: 108px;
  height: 26px;
  border-radius: 26px;
  box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.2;
}

.manage_data_section01 .form_flex .join{
  font-size: 14px;
  margin:0 16px;
}

.manage_data_section01 .form_flex .data_button.year{
  color: #626473;
  background-color: #EBE6E0;
}

.manage_data_section01 .form_flex .data_button.month{
  background-color: #626473;
  color:#fff;
}

.manage_data_section01 .data_area{
  width: fit-content;
  margin:40px auto 0;
}

.manage_data_section01 .data_table{
  border-collapse: collapse;
}

.manage_data_section01 .data_table th,
.manage_data_section01 .data_table td{
  border:1px solid #333333;
  padding:4px 8px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  text-align: center;
}

.manage_data_section01 .data_table th{

}

.manage_data_section01 .data_table td{
  text-align: right;
}

.manage_data_section01 .data_table td:first-child{
  text-align: left;
}

/*
------------------------------------
管理画面 各種分析
------------------------------------
*/


body.manage_analysis_body{

}

main.manage_analysis_main{

}

.manage_analysis_section01{
  padding-top: 60px;
  padding-bottom: 72px;
}

.manage_analysis_section01 .graph_frame{
  width: 1200px;
  height:500px;
  margin-inline: auto;
}

.manage_analysis_section01 .graph_frame canvas{
  display: block;
  width:100%;
  height:100%;
  object-fit: cover;
}