@charset "utf-8";
body {
  font-size: 16px;
  font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  line-height: 1.75;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  font-feature-settings: "palt";
  letter-spacing: .01em;
}

/************↓↓↓汎用CSS↓↓↓************/

.pc{display: none!important;}
.sp {display: block!important;}

.hd_inner--right .sp {
    width: 100%;
    margin-bottom: 15px;
    order: 2;
}

@media screen and (min-width:780px) {
  .sp {display: none!important;}
  .pc {display: block!important;}
  a {transition: all .3s ease-out;}

.hd_inner--right .pc {
    width: 100%;
    margin-bottom: 15px;
    order: 2;
}


}
/* デスクトップのみ :hover を有効化 */
@media (hover: hover) and (pointer: fine) {
  a:hover,
  button:hover{
    opacity: .5;
    text-decoration: none;
  }
}
img {
  pointer-events: none;
  user-select: none;
}
/*** background color ***/
.bg-light,
.photo_table table,
.digicon_table table,
.product .flex_list > li,
.product .box,
.result_block dd,
.modal .photo_result--bib span,
.photo_result .result_block,
.modal_search_block,
.form_inner,
.heading_band,
.info,
.side .side_list,
.my_box a,
.my_btn_area p a,
.my_btn_area p button,
.cart .main_column .table_block,
.cart .main_column .total_block,
.blog-detail__textarea,
.cart_confirm .cart_address dl,
.subscription_manage .cart_address dl,
.purchase_history .table_top_block,
.purchase_history .table_btm_block,
.subscription_payment{
  background: rgba(245, 246, 249, 0.2);
}
.bg-white,
.hd,
.goog-te-gadget .goog-te-combo,
.modal_scroll .btn_close,
.btn_close,
.result_block button,
.photo_navigation__prev a,
.photo_navigation__next a,
.modal_cont,
.form_input,
.form_textarea,
.side_pay .flort_list li,
.form_pay .heading_block ul,
.form_input:focus-visible,
.selectbox::before,
.checkbox label::before,
.radio_icon,
.blog-tile .blog__link,
.toggle:after,
.back_top a,
.gacha_modal_cont,
.gacha_m-box,
.gacha_text,
.form_step li.incomplete:before,
.receipt .table_inner,
.modal_scroll .modal_cont,
.photo .photo_select .product_img .icn_cart,
.photo-gacha .box_logo dd{
  background: #fff;
}
.bg-dark,
.pagination li,
.result_block dt,
.photo_popup .heading_block,
.photo_cart_delivery .shipping input[type="radio"]:checked + .radio-label {
  background: #323232;
}
.cart_pay_list .able,
.ticket_detail thead,
.ticket-bonus dt{
  background: rgba(0,0,0,0.02);
}
.bg-muted,
.responsive-table th,
.responsive-table td.photo_size,
.funclub_payment_history .responsive-table td::before,
.digicon .responsive-table td::before{
  background: rgba(245, 246, 249, 0.8);
}

/***font color ***/
body,
label,
.form_input,
.form_textarea,
.cart .main_column .delete button,
.cart .main_column .tclear button,
.purchase_history .table_block .paid,
.btn_close:after,
.lb-closeContainer .lb-close:after,
.sp_hd_menu a,
.hd_link li a,
.photo_compose,
.result_block button,
.photo_navigation__prev a,
.photo_navigation__next a,
.photo_date{
  color: #323232;
}
.photo_cart_delivery .shipping input[type="radio"]:checked + .radio-label,
.loader_text{
  color: #fff;
}
.emp,
.alert,
.red,
.sp_hd_menu b,
input.parsley-error,
select.parsley-error,
textarea.parsley-error,
.parsley-errors-list{
  color: #ff7777;
}
.parsley-errors-list{
  line-height: 1.4;
}
.ft_red,
.bdr_red{
  color: #ff6565;
}
.ft_gr{
  color: #33cc99;
}
.ft_gy{
  color: #c7c8c9;
}
/*** font-wight ***/
.ft_bold,
.talent_list .product_name,
.photo_detail--title,
.photo .product_name,
.photo_list .product_img .tag{
  font-weight: bold;
  line-height: 1.5;
}

/*** 注意事項 ***/
.notes{
  font-size: 0.750rem;
}
.note{
  margin-top: 10px;
  font-size: 0.750rem;
}

/*** テキストリンク ***/
.text_link{
  display: inline;
  color: #0080ff;
  text-decoration: underline;
}
@media screen and (min-width:780px) {
  .text_link:hover{
    text-decoration: none;
  }
}
/*** リスト ***/
.ul_dot {
  list-style-type: disc;
  padding-left: 20px;
}

/*** アラート ***/
.alert_box{
  padding: 20px;
  background: #ffeae9;
}
@media screen and (min-width:780px) {
  .alert_box{
    padding: 20px 30px;
  }
}
.alert_ico {
  display: flex;
  align-items: center;
}
.alert_ico img{
  width: 17px;
  border-radius: 50px;
  display: inline-block;
  margin-right: 5px;
  margin-bottom: 1px;
  background: #ff6666;
}
/*** border color ***/
.bdr,
.hd-trans select,
.goog-te-gadget select,
.hd_link li a,
.product .flex_list > li,
.product .box,
.product .option_1 .box_item,
.product .note_block,
.lot_img,
.product .slider.swiper-backface-hidden .swiper-slide p,
.product .slider-thumbnail.swiper-backface-hidden .swiper-slide p,
.product .box_item.option label,
.result_block dd,
.modal .photo_result--bib span,
.photo_navigation__prev a,
.photo_navigation__next a,
.modal_search_block,
.photo_cart_delivery .radio-label,
.photo_history_list .flex_list > li .photo_thumb,
.ticket_detail .table,
.ticket-bonus li,
.blog-detail__textarea,
.form_inner,
.form_input,
.form_textarea,
.selectbox::before,
.radio_icon,
.heading_band,
.btn_wh,
.info,
.form_step li.incomplete:before,
.side_pay .flort_list li,
.side_inquiry .flex_list .btn_wh,
.my_box a,
.my_btn_area p a,
.my_btn_area p button,
.blog-tile .blog__category li a,
.blog-detail textarea,
.news_detail textarea,
.radio-item label:after,
.cart .main_column .table_block,
.cart .main_column .delete button,
.cart .main_column .tclear button,
.cart .main_column .table_note,
.cart .main_column .total_block,
.cart_confirm .cart_address dl,
.subscription_manage .cart_address dl,
.cart_address_cardlist img,
.purchase_history .table_top_block,
.purchase_history .table_btm_block,
.login_top .btn_wrap .submit_btn:nth-child(2) a,
.back_top a,
.form_pay .heading_block ul,
.info_table tr,
.b_label_gr,
.subscription_payment,
.product-set_img,
.photo-gacha_prob .row,
.photo-gacha .box_logo dd{
  border: 1px solid rgba(0,0,0,0.1);
}
.hd,
.bdr_btm,
.ticket-bonus dt,
.ticket_detail .table tr,
.ticket-detail_list li,
#blog-comment__list li,
.photo_result .result_block,
.product .box_item,
.product .heading_border,
.product-set_heading,
.special-message{
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.photo_table table,
.digicon_table table,
.bdr_top,
.photo_result .result_block,
.photo-gacha_prob .prob_grid{
  border-top: 1px solid rgba(0,0,0,0.1);
}
.photo_table table,
.digicon_table table{
  border-left: 1px solid rgba(0,0,0,0.1);
}
.photo_table table,
.digicon_table table,
.bdr_right,
.ticket_detail .start-time,
.ticket_detail .start-date{
  border-right: 1px solid rgba(0,0,0,0.1);
}
@media screen and (min-width:600px) {
  .ticket_detail tbody tr:nth-child(odd) td{
    border-right: 1px solid rgba(0,0,0,0.1);
  }
}
@media screen and (max-width:779px) {
  .photo_table tr,
  .digicon_table tr{
    border-bottom: 1px solid rgba(0,0,0,0.1);
  }
}
@media screen and (min-width:780px) {
  .photo_result .result_block{
    border: 1px solid rgba(0,0,0,0.1);
  }
  .photo_table th,
  .photo_table td,
  .digicon_table th,
  .digicon_table td {
    border-bottom: 1px solid rgba(0,0,0,0.1);
  }
}
.bdr_red{
  border: 1px solid #ff6565;
}

/*** border radius ***/
.bdr_rad,
.product .box,
.product .flex_list > li,
.ticket.product .time .border,
.lot_img,
.product .slider.swiper-backface-hidden .swiper-slide p,
.product .slider-thumbnail.swiper-backface-hidden .swiper-slide p,
.product .box_item.option label,
.modal .photo_result--bib span,
.modal_scroll .btn_close,
.btn_close,
.modal_search_block,
.photo_cart_delivery .radio-label,
.photo_history_list .flex_list > li .photo_thumb,
.ticket_detail .table,
.ticket-bonus li,
.form_inner,
.form_input,
.form_textarea,
.info,
.side_pay .flort_list li,
.blog-detail__btn a,
.blog-detail textarea,
.news_detail textarea,
.radio-item label,
.blog__survey--answer,
.cart .main_column .total_block,
.cart_confirm .cart_address dl,
.subscription_manage .cart_address dl,
.my_btn_area p a,
.my_btn_area p button,
.form_pay .heading_block ul,
.ticket-article_notes,
.photo_cert,
.photo_table table,
.digicon_table table,
.photo .photo_album li,
.photo .photo_album li:before,
.photo .photo_album .product_link,
.blog-tile__photo img,
.blog-tile .member.lock .blog-tile__photo:before,
.subscription_payment,
.product-set_img,
.photo-gacha_prob .row,
.photo-gacha_prob .prob_grid .tile img{
  border-radius: 6px;
}
@media screen and (min-width:780px) {
  .photo_result .result_block{
    border-radius: 6px;
  }
}

/*** fill color ***/
.photo_purchase svg,
.photo_cert svg,
.photo_popup .heading_block svg,
.modal_cutout-photo .btn_wrap .btn_bl svg,
.modal_cutout-photo .btn_wrap .btn_gl svg{
  fill: #fff;
}
.photo .photo_select .icn_expand,
.photo .photo_select .icn_cart,
.modal_cutout-photo .btn_wrap .btn_wh svg,
.icon-calendar svg,
.icon-clock svg{
  fill: #323232;
}

/*** loader ***/
.loader {
  background: rgba(0, 0, 0, 0.5);
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.loader-inner.ball-clip-rotate {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.ball-clip-rotate > div {
  border-radius: 100%;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  border: 2px solid #fff;
  border-bottom-color: transparent;
  height: 70px;
  width: 70px;
  background: transparent !important;
  display: block;
  margin: 0 auto;
  -webkit-animation: rotate 0.75s 0s linear infinite;
          animation: rotate 0.75s 0s linear infinite; 
}
.loader_text{
  margin-top: 10px;
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1); }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
            transform: rotate(180deg) scale(0.6); }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
            transform: rotate(360deg) scale(1); } }
@keyframes scale {
  30% {
    -webkit-transform: scale(0.3);
            transform: scale(0.3); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

/*** 点滅アニメーション ***/
.blink {
	animation: blink 0.8s ease-in-out infinite alternate;
}
@keyframes blink {
	0% {opacity: 0.3;}
	100% {opacity: 1;}
}
/*** pagination ***/
.pagination {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}
.pagination ul {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 40px 0;
}
.pagination li {
  margin: 0 4px;
  display: inline-block;
  text-align: center;
  position: relative;
  background:#323232;
  border-radius: 50px;
  color: #fff;
}
.pagination li{
  display: none;
}
.pagination li.first,
.pagination li.last{
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination li a span{
  display:table-cell;
  vertical-align:middle;
}
.pagination li.first a,
.pagination li.last a{
  width: 100%;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 5px;
  font-size: 1.8rem;
  font-weight: 100;
  position: relative;
}
.pagination-simple li .arw{
  position: absolute;
  top: 45%;
  transform: translateY(-50%);
  font-size: 2.4rem;
  font-weight: 100;
}
.pagination-simple li.first .arw{
  left: 15px;
}
.pagination-simple li.last .arw{
  right: 15px;
}
.pagination li a .arw{
  margin-bottom: 5px;
}
.pagination li a .linear{
  font-size: 0.875rem;
}
@media only screen and (min-width: 780px){
  .pagination ul {
    margin: 60px 0;
  }
  .pagination li {
    margin: 0 2px;
    display: inline-block;
    width: 50px;
    height: 50px;
    text-align: center;
    position: relative;
    border-radius: 50px;
    background: none;
    color: inherit;
  }
  .pagination li a{
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    display:table;
  }
  .pagination li .active{
    background:#323232;
    border-radius: 50px;
    color: #fff;
  }
  .pagination li.first,
  .pagination li.last{
    width: 50px;
    height: 50px;
  }
  .pagination li.first a,
  .pagination li.last a{
    width: 100%;
    height: 100%;
  }
  .pagination li a .linear{
    display: none;
  } 
}
@media only screen and (min-width: 780px){
  .pagination .first:hover:before,
  .pagination .last:hover:before{
    opacity: .5;
  }
}
.pagination.small{
  margin: 0;
  padding-top: 20px;
  border-top: 1px solid rgba(0,0,0,0.1);
}
.pagination-simple{
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.pagination.small ul{
  margin: 0 auto;
}
.pagination-simple ul{
  margin: 0 auto;
  max-width: 500px;
}
@media only screen and (min-width: 780px){
  .pagination-simple{
    padding-top: 60px;
  }
  .pagination.small ul{
    margin-top: 20px;
    justify-content: flex-start;
    margin: 0;
  }
}
@media only screen and (min-width: 780px){
  .pagination.small li{
    width: 30px;
    height: 30px;
    font-size: 0.75rem;
  }
  .pagination.small li.first,
  .pagination.small li.last{
    width: 30px;
    height: 30px;
  }
  .pagination.small li.first a,
  .pagination.small li.last a{
    height: 26px;
  }
}
.pagination-simple ul{
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  gap: 7px;
}
.pagination-simple li{
  width: calc((100% - 14px) / 3);
}
.pagination-simple li a {
  position: relative;
  font-size: 0.875rem;
  text-align: center;
  font-weight: normal;
}
@media only screen and (min-width: 780px){
  .pagination-simple ul{
    gap: 20px;
  }
  .pagination-simple li a {
    font-size: 1.0rem;
  }
}
.pagination-simple li:first-child,
.pagination-simple li:last-child{
  /*width: 60%;*/
}
.pagination-simple li:first-child{
  margin: 0 0 0 auto;
}
.pagination-simple li:last-child{
  margin: 0 auto;
}
.pagination-simple li.first, .pagination-simple li.last{
  margin:0
}
@media only screen and (min-width: 780px){
  .pagination-simple li{
    width: calc((100% - 40px) / 3);
  }
}
/********フォーム共通********/
@keyframes radio {
  0% {opacity: 0.8;transform: scale3d(1, 1, 1);}
  100% {opacity: 0;transform: scale3d(4, 4, 1);
  }
}
.form_inner{
  padding: 25px;
  margin-bottom: 20px;
}
@media screen and (min-width:600px) {
  .form_inner{
    padding: 50px;
    margin-bottom: 30px;
  }
}
.form_block {
  margin-bottom: 30px;
}
.form_input,
.form_textarea {
  position: relative;
  display: block;
  padding: 6px 12px;
  width: 100%;
  max-width: 100%;
  font-size: 1rem;
}
@media screen and (min-width:780px) {
  .form_input {
    padding: 10px 17px;
  }
}
.form_input:focus-visible {
  outline: none;
}
::placeholder{
  color: #d7d8d9;
  font-size: 1.0rem;
}
input.parsley-error,
select.parsley-error,
textarea.parsley-error {
  background: #fff5f5;
  border: 1px solid #ff9999;
}
input.parsley-success,
select.parsley-success,
textarea.parsley-success {
  color: #468847;
  background-color: #DFF0D8;
  border: 1px solid #D6E9C6;
}
.parsley-errors-list {
  margin: 10px 0;
  padding: 0;
  list-style-type: none;
  font-size: 0.9em;
  line-height: 0.9em;
  opacity: 0;
  transition: all .3s ease-in;
  -o-transition: all .3s ease-in;
  -moz-transition: all .3s ease-in;
  -webkit-transition: all .3s ease-in;
  text-align: left;
}
.parsley-errors-list.filled {
  opacity: 1;
}
/********フォーム見出し********/
.form_block dt {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-weight: 700;
}
.form_inner.confirm .form_block dt {
  font-size: 0.82rem;
  opacity: 0.2;
}
.form_notes {
  display: block;
  margin-top: -5px;
  margin-bottom: 10px;
  font-size: 0.750rem;
  font-weight: 400;
  color: #9d9d9d;
}
.form_block dt .required {
  margin-right: 5px;
  padding: 0 8px;
  background: #ff7777;
  border-radius: 999999px;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
}
.form_block dt .any {
  margin-right: 5px;
  padding: 0 8px;
  background: #d7d8d9;
  border-radius: 999999px;
  font-size: 0.78rem;
  font-weight: 700;
}
/********テキストエリア********/
textarea {
  width: 100% !important;
  min-height: 200px;
  outline: none;
}
/********セレクトボックス********/
.selectbox {
  position: relative;
  display: block;
}
.selectbox::before, .selectbox::after {
  position: absolute;
  content: '';
  pointer-events: none;
}
.selectbox::before {
  display: block;
  right: 0;
  width: 30px;
  height: 100%;
  border-radius: 0 6px 6px 0;
  z-index: 2;
}
.selectbox::after {
  position: absolute;
  top: 45%;
  right: 15px;
  transform: translate(50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #d7d8d9;
  border-right: 2px solid #d7d8d9;
  z-index: 3;
}
.selectbox select{
  padding: 10px 12px;
  height: 100%;
}
@media screen and (min-width:780px) {
  .selectbox::before {
    width: 40px;
  }
  .selectbox::after {
    right: 20px;
  }
  .selectbox select{
    cursor: pointer;
    padding: 10px 17px;
  }
  .input_short {
    width: 210px;
  }
}
/********チェックボックス********/
.checkbox label {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap:0 10px;
  cursor: pointer;
}
.checkbox input[type="checkbox"]:checked {
  background: #fff;
  border-color: #313233;
  position: relative;
}
.checkbox input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 8px;
  top: 2px;
  width: 9px;
  height: 14px;
  border: solid #323232;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg); /* チェックマークの斜線 */
}
.checkbox input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 28px;
  height: 28px;
  border: 2px solid rgba(0,0,0,0.1);
  border-radius: 3px;
  background-color: #fff;
  display: inline-block;
  cursor: pointer;
  transition: all 0.3s ease;
}
.tos-error{
  text-align: center;
}

/********ラジオボタン********/
.radio {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-right: 20px;
  margin-bottom: 10px;

  cursor: pointer;
}
.radio_icon {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  vertical-align: middle;
}
.radio_icon::before, .radio_icon::after {
  content: "";
  width: 13px;
  height: 13px;
  margin: auto;
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
}
.radio_icon::before {
  background: #313233;
  transition: #313233 0.5s, opacity 0.5s;
}
.form_radio:checked + .radio_icon {
  border-color: #313233;
}
.form_radio:checked + .radio_icon::before {
  background: #313233;
  opacity: 1;
}
.form_radio:checked + .radio_icon::after {
  animation: radio 0.8s cubic-bezier(0.075, 0.82, 0.165, 1) forwards;
  background: #313233;
  pointer-events: none;
}
.radio_text {
  position: relative;
  display: inline-block;
  letter-spacing: 0.01em;
  line-height: 1.6;
  transition: all .3s ease-out;
  vertical-align: middle;
}
/********ファイル********/
.file .form_input{
  padding: 4px;
}
.file label {
  width: 100%;
  text-align: center;
}
.file input {
  width: 100%;
}
@media screen and (min-width:600px) {
 .file {
    position: relative;
    display: flex;
    justify-content: space-between;
  }
  .file label {
    width: 20%;
    text-align: center;
  }
  .file input {
    width: 78%;
    font-size: 0.875rem;
  }
}
input[type="file"] {
  display: none;
}
/********パスワード********/
.form_pass {
  position: relative;
}
.js-pass {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 999;
  cursor: pointer;
}
.fa-eye {
  background: url("../img/img_eye_op.svg") no-repeat;
  background-size: cover;
  width: 24px;
  height: 24px;
}
.fa-eye-slash {
  background: url("../img/img_eye_cl.svg") no-repeat;
  background-size: cover;
  width: 24px;
  height: 24px;
}
/********姓名********/
.name .flex_list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 10px;
}
.name .flex_item {
  width: calc(100% / 2);
}
/********住所********/
.postal_code {
  width: 210px;
}
/********見出し********/
.heading{
  margin-bottom: 10px;
  font-size: 1.125rem;
  font-weight: bold;
}
.heading_border{
  margin-bottom: 10px;
  font-size: 1.25rem;
  font-weight: bold;
}
.heading_band{
  width: 100%;
  padding: 14px;
  font-weight: bold;
}
.main_column h2.heading_band{
  padding: 14px 24px;
  font-size: 1.245rem;
}
@media screen and (min-width:780px) {
  .heading{
    margin-bottom: 20px;
    font-size: 1.125rem;
  }
  .heading_border{
    margin-bottom: 25px;
    font-size: 1.75rem;
  }
  p.heading_border{
    margin-bottom: 60px!important;
    font-size: 1.6rem!important;
  }
  .heading_band{
    font-size: 1.125rem;
  }
}
.modal_scroll .heading_border{
  margin-bottom: 0!important;
  padding: 20px 25px;
  border: none;
}
@media screen and (min-width:780px) {
  .modal .heading_border{
    margin-bottom: 25px;
  }
  .modal_scroll .heading_border{
    padding: 50px 60px;
  }
  .product_modal p.heading_border,
  .modal_login p .heading_border{
    margin-bottom: 60px;
  }

}
.product h1.heading_border,
.product_set .heading_border{
  padding-bottom: 20px;
  margin-bottom: 30px;
}
@media screen and (min-width:960px) {
  .product h1.heading_border,
  .product_set .heading_border{
    padding-bottom: 30px;
    margin-bottom: 60px;
  }
}
.photo.photo_list .heading_block{
  margin-bottom: inherit;
}

/********ボタン********/
.btn_wrap{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap:0 30px;
}
@media screen and (min-width:600px) {
  .btn_wrap{
    flex-wrap: nowrap;
  }
  .signup .btn_wrap {
    flex-wrap: wrap;
    gap: 30px;
  }
}
.submit_btn,
.back_btn,
.down_btn,
.next_btn{
  width: 100%;
  margin-bottom: 20px;
  position: relative;
}
.back_btn{
  margin-bottom: 0!important;
}
.submit_btn:after,
.back_btn:after,
.down_btn:after,
.next_btn:after{
  content: '';
  position: absolute;
  top: 50%;
  left: 40px;
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border-radius: 1px;
}
.submit_btn:after{
  left: inherit;
  right: 18px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.next_btn:after{
  left: inherit;
  right: 18px;
  border-top: solid 2px #313233;
  border-right: solid 2px #313233;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.back_btn:after{
  left: 18px;
  border-top: solid 2px #313233;
  border-right: solid 2px #313233;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.down_btn:after{
  top: 45%;
  left: inherit;
  right: 18px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
@media screen and (min-width:600px) {
  .submit_btn,
  .back_btn,
  .next_btn{
    width: 70%;
    margin: 0 auto;
  }
  .cart .btn_wrap p:first-child {
    margin-bottom: 0!important;
  }
}
@media screen and (min-width:1260px) {
  .submit_btn,
  .back_btn,
  .next_btn{
    width: 50%;
    margin: 0 auto;
  }
}
.btn_bl,
.btn_wh,
.btn_ye,
.btn_no,
.btn_added,
.btn_gl{
  line-height: 1.5;
  display: block;
  width: 100%;
  padding: 18px 25px 20px;
  border-radius: 999999px;
  text-align: center;
  font-weight: 700;
}
.btn_bl{
  background: #313233;
  color: #fff;
}
.btn_wh{
  background: #fff;
  color: #323232;
}
.btn_ye{
  background: #ffbc1c;
  color: #313233;
}
.btn_no{
  background: #e1e2e3;
  border: 1px solid #e1e2e3;
  color: #313233;
}
.btn_gl{
  background: #c9ab6a;
  color: #fff;
}
.btn_gl.next_btn{
  margin-bottom: 0;
}
.btn_gl.next_btn:after{
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.btn_auto{
  width: max-content;
}
@media screen and (min-width:600px) {
  .submit_btn,
  .back_btn{
    transition: all .3s ease-out;
  }
  .submit_btn:hover,
  .next_btn:hover,
  .back_btn:hover,
  .submit_btn:hover:after,
  .back_btn:hover:after{
    opacity: .5;
  }
  .btn_order{
    order: 2;
  }
}
.info{
  margin-top: 30px;
  padding: 25px;
  font-size: 0.8rem;
}
.info_heading{
  font-size: 0.8rem;
  font-weight: bold;
}
@media screen and (min-width:780px) {
  .info{
    padding: 40px;
  }
}

/********ラベル********/
.b_label_red{
  border: 1px solid #ff6565;
  color: #ff6565;
}
.b_label_gn{
  border: 1px solid #3cc873;
  background: #eff9f3;
  color: #3cc873;
}
.label_red{
  background: #ff6565;
  color: #fff;
}
.label_gr{
  background: rgba(0,0,0,0.4);
  color: #fff;
}
.b_label_gn,
.b_label_gr,
.b_label_red,
.label_red,
.label_gr{
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 0.85rem;
}
@media screen and (min-width:780px) {
  .b_label_gn,
  .b_label_gr,
  .b_label_red,
  .label_red,
  .label_gr{
    padding: 6px 10px;
  }
}
.icn{
  border-radius: 9999px;
  padding: 5px 10px 3px;
  font-size: 0.820rem;
  font-weight: bold;
}
.raffle {
  background: #3bc3d3;
  color: #fff;
}
.limit {
  background: #f37895;
  color: #fff;
}
.bto {
  background: #c9ab6a;
  color: #fff;
}
.subsc {
  background: #ff7d50;
  color: #fff;
}
.subsc_text,
.cart .main_column .title.subsc_text{
  color: #ff7d50;
}
.done {
  background: #323232;
  color: #fff;
}
/********リストボックス********/
.list_box{
  padding-left: 1em;
}
.list_box li{
  list-style-type: disc;
  list-style-position: outside;
}
.list_box li{
  margin-bottom: 8px;
}
.list_box li:last-child{
  margin-bottom: 0;
}
/********ステップバー********/
.form_step {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 40px;
  margin-left: -20px;
  margin-right: -20px;
}
.form_step li {
  position: relative;
  width: 16%;
  letter-spacing: 0;
  font-weight: bold;
  font-size: 0.75rem;
  display: block;
  text-align: center;
  line-height: 1.2;
  counter-increment: steps;
}
.form_step li:before {
  content: '';
  width: 20px;
  height: 20px;
  margin: 7px auto 14px auto;
  border-radius: 50%;
  background: #323232;
  color: #fff;
  line-height: 1.6;
  text-align: center;
  content: counter(steps);
  display: flex;
  align-items: center;
  justify-content: center;
}
.form_step li:after {
  position: absolute;
  z-index: -1;
  top: 15px;
  left: -45%;
  width: 94%;
  height: 2px;
  content: '';
  background: #323232;
}
@media screen and (max-width:320px) {
  .form_step li {
    font-size: 0.68rem;
  }
}
@media screen and (min-width:780px) {
  .form_step {
    margin-bottom: 60px;
  }
  .form_step li {
    line-height: 1.6;
    font-size: 0.85rem;
  }
  .form_step li:before {
    margin: 7px auto 20px auto;
    width: 28px;
    height: 28px;
    font-size: 1.0rem;
    line-height: 1.8;
  }
  .form_step li:after {
    top: 20px;
  }
}
.form_step li:first-child:after {
  content: none;
}
.form_step li.active {
  color: #323232;
}
.form_step li.incomplete:before {
  color: inherit;
}
.form_step li.incomplete:after {
  background: rgba(0,0,0,0.1);
}
.sup {
  padding: 0 0 30px;
}
.side_sup {
  padding: 0 0 20px;
  font-size: 0.75rem;
}
@media screen and (min-width:420px) {
  .sup {
    padding: 0 0 40px;
  }
  .side_sup {
    font-size: 0.82rem;
  }
}
/******** シェアボタン ********/
.utility_bar{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
.share-buttons {
  display: flex;
  gap: 10px;
}
.share-button a {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.share-button {
  border-radius: 4px;
}
.share-button img {
  width: 16px;
  height: 16px;
}
@media only screen and (min-width: 768px) {
  .utility_bar{
    justify-content: flex-end;
    gap: 30px;
    margin-bottom: 26px;
  }
  .share-button a {
  width: 40px;
  height: 40px;
  }
  .share-button img {
    width: 22px;
    height: 22px;
  }
}
.share-button--x{
  background-color: #000000;
}
.share-button--fb{
  background-color: #1877f2;
}
.share-button--line{
  background-color: #00B900;
}
/************↑↑↑汎用CSSここまで↑↑↑************/


/********header********/
.hd {
  width: 100%;
  height: 60px;
  z-index: 9999;
  position: sticky;
  top: 0;
  font-weight: bold;
}
.hd_layout--sp {
  position: relative;
  height: 60px;
}
.hd_order--sp {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 100px;
}
.hd_top {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  order: 2;
}
.hd_btm {
  width: 100%;
  order: 1;
}
@media screen and (min-width:960px) {
  .hd {
    height: initial;
  }
  .hd_layout--sp {
    height: auto;
    padding: 0;
  }
  .hd_order--sp {
    margin-bottom: 0;
    background: initial;
  }
  .hd_top {
    padding: 15px 0 5px;
  }
  .hd_btm {
    order: 2;
  }

.hd_inner--right .pc {
    margin-bottom: 0px;
}

}
.hd_inner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
.hd_inner--right {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (min-width:960px) {
  .hd_inner {
    justify-content: space-between;
    gap: 20px;
  }
  .hd_inner--right {
    width: initial;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    margin: initial;
    padding: 0;
    gap: 0 25px;
  }
}
.hd-logo {
  padding-left: 10px;
  line-height: 0;
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 100%;
  max-width: 120px;
}
.hd-logo--pc{
  display: none;
}
.hd-logo--pc a img{
  max-height: 100px;
}
.hd-logo--sp a img{
  object-fit: cover;
  max-height: 59px;
}
@media screen and (min-width:960px) {
  .hd-logo {
    padding-left: 10px;
    z-index: 1;
    position: initial;
    transform: initial;
    max-width: 200px;
  }
  .hd-logo--pc{
    display: block;
  }
  .hd-logo--sp{
    display: none;
  }
}
.hd-trans {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  order: 3;
}
.hd-trans .goog-te-gadget {
  display: flex;
  align-items: center;
  font-size: 0.625rem;
}
.translated-ltr {
  position: sticky;
}
.goog-te-gadget .goog-te-combo {
  margin: 0!important;
}
.goog-te-combo,
.VIpgJd-ZVi9od-ORHb *,
.VIpgJd-ZVi9od-SmfZ *,
.VIpgJd-ZVi9od-xl07Ob *,
.VIpgJd-ZVi9od-vH1Gmf *,
.VIpgJd-ZVi9od-l9xktf * {
  font-size: 10px;
  letter-spacing: -0.05em;
}
.VIpgJd-ZVi9od-l4eHX-hSRGPd,
.VIpgJd-ZVi9od-l4eHX-hSRGPd:link,
.VIpgJd-ZVi9od-l4eHX-hSRGPd:visited,
.VIpgJd-ZVi9od-l4eHX-hSRGPd:hover,
.VIpgJd-ZVi9od-l4eHX-hSRGPd:active {
  font-size: 0.625rem!important;
}
.hd-trans .goog-te-combo {
  height: 34px;
}
.hd-trans select {
  padding: 5px;
  border-radius: 3px;
}
.goog-te-gadget select {
  border-radius: 0.2rem;
  width: 140px;
  font-size: 0.8rem;
  margin: 0.3rem 0;
}
.VIpgJd-ZVi9od-ORHb-OEVmcd {
  box-shadow: none!important;
}
.goog-te-gadget div:first-of-type {
  display: block !important;
}
.hd_link {
  width: 100%;
  order: 1;
  margin: 0 auto 40px auto;
}
.sp_hd_menu {
  width: 120px;
  height: 60px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  position: absolute;
  right: 60px;
  top: 0;
  z-index: 9999;
}
.sp_hd_menu a {
  position: relative;
  width: 60px;
  height: 60px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  font-size: 0.58rem;
}
.sp_hd_menu svg {
  width: 25px;
  height: 25px;
}
.sp_hd_menu b {
  position: absolute;
  top: 5px;
  padding-left: 1.5px;
  font-size: 0.8rem;
}
@media screen and (min-width:960px) {
  .hd_link {
    min-width: 220px;
    width: initial;
    margin: initial;
    margin-bottom: 0;
    order: 4;
  }
  .hd-trans {
    width: auto;
    min-width: 240px;
    order: 2;
  }
  .sp_hd_menu {
    display: none;
  }
}
.hd_link ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 10px;
}
.hd_link li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  border-radius: 999999px;
  font-size: 0.8125rem;
}
@media screen and (min-width:960px) {
  .hd_link li a {
    padding: 4px 20px;
  }
  .hd_link li a:hover {
    background: #323232;
    color: #fff;
    opacity: 1;
  }
}
.hd_menu {
  width: 100%;
  order: 0;
  margin-bottom: 40px;
}
.hd_menu li a {
  text-align: left;
  display: block;
  padding: 20px;
  border-bottom: 1px solid #e7e8e9;
  position: relative;
  color: #323232;
}
.hd_menu li a:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  border-top: solid 2px #323232;
  border-right: solid 2px #323232;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width:960px) {
  .hd_menu {
    margin-bottom: 0;
    order: 4;
  }
  .hd_menu ul {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    text-align: center;
    gap: 0 30px;
  }
  .hd_menu li a {
    white-space: nowrap;
    border-bottom: 0;
    padding: 15px 0 15px;
  }
  .hd_menu li:last-child a {
    padding-right: 5px;
  }
  .hd_menu li a:after {
    display: none;
  }
}
.btn_area p {
  width: 100%;
}
header + .btn_area p a,
.full_view + .btn_area p a{
  display: flex;
  align-items: center;
  background: #324155;
  padding: 13px 18px;
  width: 100%;
  font-weight: bold;
  color: #fddf67;
}
.btn_area p a img {
  padding-right: 10px;
  width: 40px;
}
.btn_area p a span {
  border-radius: 50%;
  margin-left: 5px;
  height: 25px;
  width: 25px;
  line-height: 25px;
  background: #ff7777;
  text-align: center;
  color: #fff;
  font-size: 0.74rem;
}
.btn_area p a:after {
  content: '';
  position: absolute;
  right: 12px;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width:960px) {
  .btn_area p a:hover {
    opacity: .8!important;
  }
  .btn_area p a {
    padding: 15px 18px 15px 30px;
  }
  .btn_area p a img {
    width: 50px;
  }
  .btn_area p a span {
    height: 28px;
    width: 28px;
    line-height: 28px;
    font-size: 0.78rem;
  }
}
/********footer********/
.ft_cts {
  border-top: 1px solid rgba(0,0,0,0.1);
  padding: 0 0 30px;
}
.ft_cts p {
  font-size: 0.75rem;
  text-align: center;
}
@media screen and (min-width: 780px) {
  .ft_cts {
    padding: 60px 0;
  }
}
.ft-sns_list {
  margin-bottom: 0px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 10px;
}
.ft-sns_list li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 8px;
  border-radius: 9999px;
  background: #000;
}
.ft-sns_list li .ft-icn_tw {
  background: #1d9bf0;
}
.ft-sns_list li .ft-icn_fb {
  background: #1877f2;
}
.ft-sns_list li .ft-icn_ln {
  background: #4CC764;
}
.ft-menu_list {
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
}
.ft-menu_list li {
  width: 100%;
  text-align: left;
}
.ft-menu_list li a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 10px 20px;
  border-bottom: 1px solid #e7e8e9;
}
.ft-menu_list li a:after {
  content: '';
  position: absolute;
  right: 12px;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  border-top: solid 2px #313233;
  border-right: solid 2px #313233;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width: 780px) {
  .ft-menu_list {
    justify-content: center;
    gap: 30px;
  }
  .ft-menu_list li {
    width: inherit;
  }
  .ft-menu_list li:first-child a {
    border: none;
  }
  .ft-menu_list li a {
    padding: 0;
    border: none;
  }
  .ft-menu_list li a:after {
    display: none;
  }
}
.ft_cts small {
  display: block;
  margin-top: 20px;
  font-size: 0.6875rem;
  text-align: center;
}
.ft_cts small span {
  display: block;
}
@media screen and (min-width:960px) {
  .ft_cts small span {
    display: inline;
  }
}

/********ハンバーガーメニュー********/
.hd .js-nav {
  width: 100%;
  height: 140px;
}
@media screen and (max-width:959px) {
  .hd .js-toggle {
    width: 60px;
    height: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 9999;
  }
  .hd .js-nav {
    background: #fff;
  }
  .hd .js-hbg {
    position: relative;
    width: 22px;
    height: 13px;
    margin: 3px 0 8px;
  }
  .hd .js-hbg span {
    background-color: #323232;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 2px;
    margin: auto;
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
    z-index: 999999;
  }
  .hd .js-hbg span:nth-child(1) {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
  .hd .js-toggle.open .js-hbg span:nth-child(2) {
    display: none;
  }
  .hd .js-hbg span:nth-child(3) {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
  .hd .toggle_line {
    position: relative;
    color: #323232;
    font-size: 0.75rem;
    letter-spacing: .05em;
    line-height: 1;
    -webkit-transform: scale(.8);
    transform: scale(.8);
  }
  .hd .js-toggle.open {
    transform: translateX(0);
  }
  .hd .js-toggle.open .js-hbg span:nth-child(1) {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    background-color: #323232;
  }
  .hd .js-toggle.open .js-hbg span:nth-child(3) {
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg);
    background-color: #323232;
  }
  .hd .toggle_line-close {
    display: none;
  }
  .hd .open .toggle_line-open {
    display: none;
  }
  .hd .open .toggle_line-close {
    display: block;
    color: #323232;
  }
  /* ハンバーガー背景固定 */
  .noscroll {
    overflow: hidden;
  }
  .hd .js-nav {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 60px;
    left: 0;
    display: none;
  }
  .hd .js-nav.open {
    display: block;
    animation: appear .3s ease;
    overflow-y: auto;
  }
}
@media screen and (min-width:960px) {
  .hd .js-toggle {
    display: none;
  }
}
/********container********/
.container {
  margin: 30px auto;
  width: 100%;
  height: auto;
}
.container.top-f-cts {
  margin: 0 auto 30px;
}
body.font-color .login.login_top .main_column {
  margin-bottom:0;
}
@media screen and (min-width:960px) {
  .container.top-f-cts {
    margin: 0px auto 30px;
  }
}
.main_column ,
.left_column {
  text-align: left;
  margin-bottom: 30px;
  padding: 0 25px;
}
.main_column h1 ,
.main_column p.heading_border {
  text-align: left;

  font-weight: bold;
  font-size: 1.125rem;
}
.main_column h2 {
  text-align: left;
  margin: 40px 0 20px;
  font-weight: bold;
  font-size: 1.125rem;
}
.main_column h1,
.product .heading_block,
.photo .heading_block,
.cart .heading_block,
.blog h1{
  margin-bottom: 20px;
}
.modal_scroll .product .heading_block,
.modal_scroll .photo .heading_block{
  margin-bottom: 0;
}
@media screen and (min-width:780px) {
  .main_column h1,
  .product .heading_block,
  .photo .heading_block,
  .cart .heading_block,
  .blog h1{
    margin-bottom: 40px;
  }
}
@media screen and (min-width:960px) {
  .container {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 0 40px;
    width: 100%;
    max-width: 1540px; /*ここの数値をカスタマイズ画面で好みのサイズに変更できる*/
    height: auto;
  }
  .main_column,
  .left_column {
    padding: 0 40px;
  }
  .main_column {
    order:2;
    padding: 0 0 0 40px;
    width: 100%;
    min-width: 660px;
    height: auto;
  }
  .left_column {
    order:1;
    padding: 0;
    width: 300px; /*ここの数値をカスタマイズ画面で好みのサイズに変更できる*/
    min-width: 180px; /*ここの数値をカスタマイズ画面で好みのサイズに変更できる*/
    height: auto;
  }
  .main_column h1 {
    line-height: 1.4;
    font-size: 1.6rem;
  }
}
@media screen and (min-width:1200px) {
  .main_column {
    padding: 0 0 0 40px;
  }
}

/********サイドカラム共通********/

.side .heading_border {
  font-weight: bold;
  font-size: 1.125rem; 
}
.side h2 {
  margin: 40px 0 20px;
  font-weight: bold;
  font-size: 1.125rem; 
}
@media screen and (min-width:960px) {
  .side h2 {
    margin: 40px 0 20px;
  }
}
.side .side_list li a {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
}
.side .side_list li a:after {
  content: '';
  position: absolute;
  right: 12px;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  border-top: solid 2px #313233;
  border-right: solid 2px #313233;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.side .side_list li:first-child {
  border-top: 1px solid rgba(0,0,0,0.1);
}
.side .side_list li {
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.side .side_list li a {
  line-height: 1.64;
  position: relative;
  padding: 16px 34px 16px 14px;
}
.side .side_list .badge {
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  border-radius: 50%;
  height: 26px;
  width: 26px;
  line-height: 27px;
  background: #ff7777;
  text-align:center;
  color: #fff;
  font-size: 0.8125rem;
}
.hd_menu a {
  position: relative;
}
.hd_menu .badge {
    position: absolute;
    bottom: 4px;
    right: 50px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    border-radius: 50%;
    height: 30px;
    width: 30px;
    line-height: 30px;
    background: #ff7777;
    text-align: center;
    color: #fff;
    font-size: 0.78rem;
}
@media screen and (min-width:960px) {
  .hd_menu .badge {
    bottom: 20px;
    left: -15px;
    height: 22px;
    width: 22px;
    line-height: 22px;
    font-size: 0.75rem;
  }
}
.side .badge span {
  margin-left: 1px;
  display: block;
}
_::-webkit-full-page-media, _:future, :root .side .badge span {
  line-height: 2.3;
  margin-left: 1px;
}

/*side_pay*/
.side_pay .flort_list li {
  float: left;
  width: 17.5%;
  padding: 6px;
  margin: 0 3.12% 3.12% 0;
  overflow: hidden;
}
.side_pay .flort_list li:nth-child(5n) {
  margin: 0 0 3.12% 0;
}
@media screen and (min-width: 480px) {
  .side_pay .flort_list li {
    max-width: 70px;
    padding: 9px; 
    margin: 0 10px 10px 0;
  }
  .side_pay .flort_list li:nth-child(5n) {
      margin: 0 10px 10px 0;
  }
}
@media screen and (min-width: 960px) {
  .side_pay .flort_list li {
    width: 17.8%;
    padding: 4px; 
    margin: 0 2.67% 2.67% 0;
  }
  .side_pay .flort_list li:nth-child(5n) {
    margin: 0 0 2.67% 0;
  }
}

/*side_inquiry*/

.side_inquiry .heading_band {
  text-align: center;
  line-height: 1.6;
  margin-bottom: 20px;
  padding: 10px 15px;
  font-weight: bold;
  font-size: 0.875rem;
}
.side_sup {
  font-size: 0.82rem;
}
@media screen and (min-width: 780px) {
  .side_inquiry .heading_band {
    text-align: center;
    margin-bottom: 20px;
    padding: 15px 20px;
    font-size: 0.82rem;
  }
}
.side_inquiry .flex_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0 40px;
}
.side_inquiry .flex_list li {
  width: 100%;
}
.side_inquiry .flex_list li:last-child {
  margin-bottom: 0;
}
.side_inquiry .flex_list .heading {
  width: 100%;
  margin-bottom: 20px;
  font-size: 0.9375rem;
}
.side_inquiry .flex_list dl {
  margin-bottom: 20px;
}
.side_inquiry .flex_list dd {
  text-align: center;
  width: 100%;
  margin-bottom: 15px;
}
.side_inquiry .flex_list li:last-child dd:last-child {
  margin-bottom: 0;
}
.side_inquiry .flex_list dd span {
  position: relative;
}
.side_inquiry .flex_list .call .btn_wh {
  margin-top: 15px;
}
@media screen and (min-width: 780px) {
  .side_inquiry .flex_list dd {
    width: 100%;
    margin-bottom: 10px;
  }
}
.side_inquiry .flex_list .btn_wh {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  padding: 10px 10px;
  font-weight: bold;
  font-size: 1.0rem;
}
.side_inquiry .back_btn {
  margin: inherit;
}
.side_inquiry .flex_list .back_btn:after {
  width: 8px;
  height: 8px;
  right: 20px;
  left: inherit;
  -webkit-transform: rotate(455deg);
  transform: rotate(45deg);
}
@media screen and (min-width: 780px) {
  .side_inquiry .flex_list .btn_wh {
    padding: 10px;
    font-size: 1.0rem;
  }
} 
.side_inquiry .flex_list .mail svg,
.side_inquiry .flex_list .call svg {
  padding-right: 5px;
  width: 32px;
}
@media screen and (min-width: 780px) {
  .side_inquiry .flex_list .tel a {
    background: none;
    border: none;
    font-weight: bold;
  }
  .side_inquiry .flex_list .tel:after {
    border: none;
  }
  .side_inquiry .flex_list .tel:hover {
    opacity: 1!important;
  }
}
.side_inquiry .flex_list .shop,
.side_inquiry .flex_list .time {
  margin-top: 10px;
  text-align: center;
  width: 100%;
  font-weight: normal;
  font-size: 0.82rem;
}
@media screen and (min-width: 960px) {
  .side_inquiry .flex_list .mail svg,
  .side_inquiry .flex_list .call svg {
    width: 28px;
  }
  .side_inquiry .flex_list .btn_wh {
    padding: 5px 0;
    font-size: 0.82rem;
  }
  .side_inquiry .flex_list .call .btn_wh{
    padding-right: 10px;
    font-weight: bold;
    font-size: 1.0rem;
  }
  .side_inquiry .flex_list .call.back_btn:after {
    display: none;
  }
}
.my_box a {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  border-radius: 5px;
  margin-bottom: 30px;
  padding: 20px;
}
.my_box a dl {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
}
.my_box a dl:after {
  content: '';
  position: absolute;
  right: 12px;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  border-top: solid 2px #313233;
  border-right: solid 2px #313233;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.my_box dt {
  width: 50px;
}
.my_box dt img {
  border-radius: 100px;
}
.my_box dd {
  text-align: left;
  padding-left: 10px;
  width: 75%;
}
.my_box dd .user_name {
  font-weight: bold;
  font-size: 0.9rem;
}
.my_box dd .user_mail {
  font-size: 0.78rem;
  color: #b1b2b3;
}
@media screen and (min-width: 600px) {
  a .my_box{
    flex-direction: column;
    padding: 15px 20px;
  }
  .my_box a dl {
    flex-wrap: wrap;
  }
  .my_box dt {
    margin-bottom: 10px;
    width: 40px;
  }
  .my_box dd {
    padding-left: 0;
    width: 100%;
  }
}


/******** news ********/
.news ol {
  border-top: 1px solid rgba(0,0,0,0.1);
}
.news ol li a {
  position: relative;
  display: block;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  padding: 15px 25px 15px 15px;
}
.news ol li a:after {
  content: '';
  position: absolute;
  top: 48%;
  right: 12px;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  border-top: solid 2px #313233;
  border-right: solid 2px #313233;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.news ol li a span {
  display: block;
}
@media screen and (min-width: 960px) {
  .news ol li a {
    padding: 30px;
  }
  .news ol li a span {
    display: inline-block;
    padding-right: 20px;
  }
  .news ol li a:hover {
    background: rgba(245,246,249,0.2);
  }
}
/*****news/blog*****/
.time_kate {
  margin-bottom: 30px;
}
.time_kate dt ,
.time_kate dd {
  display: inline-block;
}
.time_kate a {
  text-decoration: underline;
    font-size: 0.82rem;
  opacity: .6;
}
.time_kate,
.time_kate ul{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 10px;
}
.time_kate p{
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .time_kate{
    margin-bottom: 60px;
  }
  .time_kate a:hover{
    text-decoration: none;
    opacity: .3;
  }
}

/******** blog ********/
/*リスト式+タイル式共通*/
.category-list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.category-list .btn_wh{
  padding: 6px 16px;
  font-size: 0.9rem;
  font-weight: normal;
  line-height: 1.0;
}
.new_tag{
  padding: 4px 12px;
  font-size: 0.8rem;
  font-weight: normal;
  line-height: 1.0;
  border-radius:99999px;
  margin: 0 0 0 0.5rem;
}
.blog-list .new_tag{
  margin: 0;
}
.comment_login_btn{
  display: flex;
  align-items: center;
  gap: 3px;
  font-weight: normal;
  line-height: 1.5;
  width: 100%;
  padding: 18px 25px 20px;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.blog-list,
.blog-tile{
  margin-top: 20px;
}
@media screen and (min-width: 960px) {
  .blog-list,
  .blog-tile{
    margin-top: 40px;
  }
}
.blog-list .blog__title,
.blog-tile .blog__title{
  margin: 0;
  font-size: 1.0rem;
  font-weight: normal;
}
.blog__link {
  position: absolute;
  inset: 0;
  z-index: 3;
}
.member.lock .blog__link {
  z-index: 5;
}
@media screen and (min-width: 960px) {
  /*PC--hover時*/
  .blog__link:hover + .blog__content .blog__category a{
    opacity: .5;
  }
  .member.lock .blog__link:hover + .blog__content figure{
    opacity: 1;
    transition: all .3s ease-out;
  }
}
.blog__details{
  display: flex;
  flex-wrap: wrap;
  margin-top: 5px;
  font-size: 0.75rem;
  align-items: center;
}
@media screen and (min-width: 960px) {
  .blog__details{
    margin-top: 5px;
    font-size: 0.85rem;
  }
}
.blog__category{
  display: flex;
  width: auto;
  position: relative;
  z-index: 4;
  gap: 0 20px;
}
.blog__entry,
.blog__deadline,
.blog__survey{
  width: 100%;
}
@media screen and (min-width: 960px) {
  .blog__entry,
  .blog__deadline,
  .blog__survey{
    width: auto;
  }
}
.blog__comments{
  display:flex;
  align-items: center;
  gap: 3px;
}
.blog__comments img{
  width: 16px;
}
.blog__survey--pending{
  display: flex;
  align-items: center;
  color: #ff6666;
}
.blog__survey--completed{
  display: flex;
  align-items: center;
  color: #33cc99;
}
.blog__survey--pending img,
.blog__survey--completed img{
  width: 17px;
  border-radius: 50px;
  display: inline-block;
  margin-right: 5px;
  margin-bottom: 1px;
}
.blog__survey--pending img{
  background: #ff6666;
}
.blog__survey--completed img{
  background: #33cc99;
}
.blog__member,
.blog__prmember{
  position: relative;
  display: inline-block;
  margin-bottom: 0px;
  padding: 6px 14px;
  border-radius: 50px;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.0;
  z-index: 2;
  transition: all .3s ease-out;
}
.blog__member{
  background: #35316c;
}
.blog__prmember{
  background: #cabc8f;
}
.member.lock .lock_img{
  background: url(../img/lock_ico.svg) center no-repeat;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 3;
}
.member.lock .lock_img{
  width: 50px;
  height: 50px;
}
/******リスト式******/

.blog-list__item:first-child {
  border-top: 1px solid rgba(0,0,0,0.1);
}
.blog-list__item{
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  margin: 0 -25px;
  padding: 20px 30px 20px 30px;
}
.blog-list__item:after {
  content: '';
  position: absolute;
  top: 48%;
  right: 12px;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  border-top: 2px solid rgba(0,0,0,0.5);
  border-right: 2px solid rgba(0,0,0,0.5);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (min-width: 960px) {
  .blog-list__item {
    margin: 0;
    padding: 30px;
  }
}
.blog-list .blog__link + .blog__content:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: rgba(245, 246, 249, 0);
  transition: all .3s ease-out;
}

.blog-list .blog__link + .blog__content .blog__tag{
  display: flex;
  gap: 0 15px;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
}

@media screen and (min-width: 960px) {
  .blog-list .blog__link:hover + .blog__content:after {
    background: rgba(245, 246, 249, .5);
  }
}
.blog-list .member.lock{
  background: rgba(245, 246, 249, .3);
}
.blog-list .blog__details{
  gap: 6px 20px;
  font-size: 0.75rem;
}
.blog-list .blog__entry,
.blog-list .blog__deadline,
.blog-list .blog__survey{
  width: 100%;
}
@media screen and (min-width: 960px) {
  .blog-list .blog__details{
    gap: 20px 60px;
    font-size: 0.85rem;
  }
  .blog-list .blog__entry{
    width: 10%;
    min-width: 100px;
  }
  .blog-list .blog__deadline{
    width: 20%;
    min-width: 200px;
  }
  .blog-list .blog__survey{
    width: 14%;
    min-width: 140px;
  }
}
.blog-list .blog__category{
  margin-top: 0px;
  font-size:0.85rem;
}
.blog-list .blog__category li a{
  text-decoration: underline;
  opacity: .6;
}
@media screen and (min-width: 960px) {
  .blog-list .blog__category{
    width: auto;
    min-width: 240px;
    margin-top: 0;
    font-size:0.9rem;
  }
  .blog-list .blog__category li a:hover{
    text-decoration: none;
    opacity: .3;
  }
}
/******タイル式******/
.blog-tile{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 25px;
}
.blog-tile__item{
  position: relative;
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 960px) {
  .blog-tile{
    justify-content: flex-start;
    gap: 30px;
  }
  .blog-tile__item{
    width: calc((100% - 30px * 2) / 3);
  }
}
.blog-tile .blog__link{
  position: absolute;
  z-index: 2;
  inset: 0;
  opacity: 0;
}
.blog-tile__photo{
  position: relative;
}
.blog-tile__photo img{
  width: 100%;
  object-fit: cover;
  aspect-ratio: 3 / 2;
}
.blog-tile .member.lock .blog-tile__photo:before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .5);
  z-index: 1;
}
@media screen and (min-width: 960px) {
  .blog-tile__photo img{
    object-fit: cover;
    aspect-ratio: 3 / 2;
  }
  .blog-tile .blog__link:hover + .blog__content{
    opacity: 0.5;
  }
  .blog-tile .blog__content{
    transition: all .3s ease-out;
  }
}
.blog-tile .blog__title{
  margin-top: 10px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.5em;
  max-height: 3em;
}
@media screen and (min-width: 960px) {
  .blog-tile .blog__title{
    font-size: 1.0rem;
  }
}
.blog-tile .blog__details{
  margin-top: 6px;
  gap: 2px 20px;
}
.blog-tile .blog__entry,
.blog-tile .blog__deadline,
.blog-tile .blog__survey{
  width: 100%;
}
.blog-tile .blog__category{
  width: 100%;
  flex-wrap: wrap;
  margin-top: 6px;
  gap: 5px;
  z-index: 4;
}
.blog-tile .blog__category li a{
  padding: 0 8px;
  background: rgba(255, 255, 255, .5);
  border-radius: 50px;
}
@media screen and (min-width: 960px) {
  .blog-tile .blog__category{
    margin-top: 8px;
  }
}
.blog-tile .blog__member,
.blog-tile .blog__prmember{
  position: absolute;
  bottom: 5px;
  left: 5px;
  margin: 0;
  font-size: 0.75rem
}
@media screen and (min-width: 960px) {
  .blog-tile .blog__member,
  .blog-tile .blog__prmember{
    bottom: 10px;
    left: 10px;
    font-size: 0.85rem;
  }
}
/******ブログギャラリー追加css******/
.gallery-item{
  border:1px solid #cccccc;
  border-radius:10px;
}
.gallery_details{
  justify-content: center;
  padding:0.5rem 1rem;
}
.btn-download{
  
  
}

/******ブログ詳細******/
.blog-detail .blog__prmember{
  margin-bottom: 30px;
}
.blog-detail section,
.news_detail section{
  margin: 20px 0;
}
@media screen and (min-width: 960px) {
  .blog-detail section,
  .news_detail section{
    margin: 40px 0;
  }
}
.blog-detail__btn{
  margin-top: 5px;
  display: inline-block;
}
.blog-detail__btn a{
  display: flex;
  align-items: center;
  gap: 3px;
  font-weight: normal;
}
.blog-detail__btn a img{
  width: 16px;
}
.blog-detail__btn a span{
  margin-right: 30px;
}
.blog-detail__textarea {
  margin: 25px 0;
  padding: 20px 25px;
}
.blog-survey__detail{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.answer_tag{
  padding:0.5rem 1rem;
  background-color:#eeeeee;
}


@media screen and (min-width: 960px) {
  .blog-detail__textarea {
    margin: 40px 0 60px 0;
    padding: 25px 40px;
  }
}
.blog-detail__textarea h3{
  margin-bottom: 10px;
  font-weight: bold;
}
.blog-detail textarea,
.news_detail textarea{
  width: 100%;
  height: 100px;
  min-height: 100px;
  margin: 0;
  padding: 10px;
  box-sizing: border-box;
  background: rgba(255,255,255,1);
  resize:vertical;
}
.blog__video{
  position: relative;
  padding-bottom: 56.25%; /* 16:9 ratio */
  height: 0;
  overflow: hidden;
  max-width: 100%;
        }
.blog__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.blog__audio audio {
  width: 100%;
  vertical-align: bottom;
}
/* アンケート*/
.blog-detail .radio_block {
  display: flex;
  justify-content: flex-start;
  gap: 10px 0;
  flex-wrap: wrap;
  margin: 0;
}
.radio-item {
  width: 100%;
}
@media screen and (min-width: 960px) {
  .blog-detail .radio_block {
    gap: 20px;
  }
  .radio-item {
    width: calc((100% - 20px * 2) / 3);
  }
}
.radio-item input[type="radio"] {
  display: none;
}
.radio-item label {
  cursor: pointer;
  text-align: left;
  font-weight: normal;
  user-select: none;
  background: rgba(245, 246, 249, 0.2);
  position: relative;
}
.radio-item label:after {
  content:"";
  display: inline-block;
  vertical-align: sub;
  width: 25px;
  height: 25px;
  background-color: #fff;
  background-size: 25px;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.radio-item input[type="radio"]:checked + label {
  background-color: #33cc99;
  color: #fff;
}
.radio-item input[type="radio"]:checked + label::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-color: #fff;
    border-radius: 50px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.radio-item input[type="radio"]:checked + label::after {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-color: #5050ff; /* チェックアイコンの色 */
    mask-image: url(../img/check_ico_gr.svg);
    mask-size: 25px;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-image: url(../img/check_ico_gr.svg);
    -webkit-mask-size: 25px;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    border-radius: 50px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}


.radio_block.radio-other{
  margin-top: 20px;
}
.radio-other textarea{
  width: 100%;
  display: none;
}
.radio-other .radio-item{
  width: 100%;
}
.radio-item input[type="radio"]:checked + label + textarea {
  display: block;
  margin-top: 10px;
}
@media screen and (min-width: 960px) {
  .radio_block.radio-other{
    margin-top: 20px;
  }
  .radio-other .radio-item label{
    width: calc((100% - 20px* 2) / 3);
  }
  .radio-item input[type="radio"]:checked + label + textarea {
    margin-top: 20px;
  }
}
.blog__survey--answer{
  display: flex;
  gap: 40px;
  background: rgba(255, 255, 255, 1);
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 20px 25px;
}
.blog-detail_content{
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 20px;
}
.blog-detail_btn.btn_bl {
  width: 100%;
  padding: 10px;
}
@media screen and (min-width: 960px) {
  .blog-detail_content{
    gap: 40px;
    margin-top: 20px;
  }
  .blog-detail_btn.btn_bl{
    width: 200px;
    padding: 10px;
  }
}
.blog-detail__note li:before{
  content: "※";
  margin-right: 0.5em;
}
.blog-detail__note li{
  font-size: 0.75rem;
  opacity: .5;
  text-indent: -1em;
  padding-left: 1em;
}
#blog-comment__list {
    margin-top: 20px;
}
#blog-comment__list ol {
  list-style-type: none;
  list-style-position:inside;
}
#blog-comment__list li:first-child{
  padding-top: 0;
}
#blog-comment__list li:last-child{
  border-bottom: 0;
}
#blog-comment__list li{
  padding: 15px 0;
}
@media screen and (min-width: 960px) {
  #blog-comment__list li{
    padding: 30px 0;
  }
}
#blog-comment__list span:not(:nth-of-type(3)){
  margin-right: 20px;
}
.blog-comment__name{
  font-weight: bold;
}
.blog-comment__text {
  width: 100%;
}

/********カートテーブル********/
.cart .main_column .block{
  margin-bottom: 30px;
}
.cart .main_column .alert_box{
  padding-left: 35px;
  margin-bottom: 30px;
}
@media screen and (min-width:780px) {
  .cart .main_column .alert_box{
    padding-left: 50px;
    margin-bottom: 45px;
  }
  .cart .main_column .block{
    margin-bottom: 60px;
  }
}
.cart .main_column .alert_box p{
	position:relative;
}
.cart .main_column .alert_box p:before{
  content: "※";
	position:absolute;
	left:-18px;
	top:0;
}
.cart .main_column .alert_box p:before{
  display: none;
}
.form_error .alert_ico{
  display: inline-block;
  vertical-align: 5px;
}
.form_error .alert_wrap .heading{
  font-size: 1.125rem;
}
@media screen and (min-width:960px) {
  .form_error .alert_wrap .heading{
    font-size: 1.3rem;
  }
}
.cart .main_column table{
  width: 100%;
}
.cart .main_column .table{
  margin-bottom: 30px;
  font-size: 0.875rem;
}
.cart .main_column .table_block{
  display: block;
  padding: 20px;
}
.cart .main_column .table_block:not(:last-child){
  margin-bottom: 20px;
}
.cart .main_column .table_block td.size .detail .form_block {
  margin: 10px 0!important;
}
@media screen and (min-width:780px) {
  .cart .main_column .table{
    font-size: 1.0rem;
  }
  .cart .main_column .table_block{
    display: table;
    width: 100%;
  }
  .cart .main_column thead tr{
    display: contents!important;
  }
  .cart .main_column .table_body{
    display: table-row;
  }
  .cart .main_column .table thead tr .pc{
    display: table-cell!important;
  }
  .cart .main_column .table td{
    display: table-cell;
    vertical-align: middle;
  }
  .cart .main_column .table_block td.size .detail .form_block {
    margin: 0!important;
  }
}
.cart .main_column .flex{
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.cart .main_column .thumb{
  text-align:center;
  width: 100%;
  max-width: 250px;
  margin: 0 auto 20px auto;
  display: block;
}
@media screen and (min-width:780px) {
  .cart.gacha .main_column .thumb{
    width: 100px;
    padding: 30px 0 30px 30px;
  }
  .cart .main_column .thumb{
    margin: 0;
    padding: 40px;
  }
  .cart.gacha .main_column .thumb img{
    max-width: 100px;
  }
  .cart .main_column .thumb img{
    max-width: 100%;
  }
}
.cart .main_column .size{
  display: block;
}
.cart .main_column .size .flex:first-child,
.cart .main_column .size .flex.ms,
.cart .main_column .size .flex.flex-start{
  margin-bottom: 10px;
  align-items: flex-start;
}
.cart .main_column .size .flex{
  margin-bottom: 10px;
}
@media screen and (min-width:780px) {
  .cart .main_column .size{
    position: relative;
    display: inherit;
    padding: 40px 40px 40px 0;
    border-right: 1px solid rgba(0,0,0,0.1);
  }
  .cart .main_column .size .flex:first-child{
    margin-bottom: 10px;
  }
  .cart .main_column .size .flex:last-child{
    margin-bottom: 0;
  }
}
.cart .main_column .size .detail{
  font-size: 0.8rem;
  line-height: 1.5;
}
.cart .main_column .number.detail,
.cart .main_column .photo_cart_logo.detail{
  width: 100%;
  max-width: 120px;
  font-size: 0.8rem;
}
.cart .main_column .title{
  width: 100%;
  max-width: 60px;
  flex-shrink: 0;
  margin-right: 10px;
  font-size: 0.8rem;
  font-weight: bold;
  color: #c7c8c9;
  line-height: 1.2;
}
.cart .main_column .size .name{
  line-height: 1.4em;
  font-weight: bold;
  font-size: 1.0rem;
  word-break:break-word;
}
.cart .main_column .subtotal{
  display: block;
  width: 100%;
  font-weight: bold;
  position: relative;
}
.cart .main_column .subtotal .flex .paid{
  color: #3cc873!important;
}
.cart .main_column .subtotal .flex .unpaid{
  color: #c7c8c9!important;
}
.cart .main_column .subtotal .flex .opened{
  color: inherit;
}
.cart .main_column .subtotal .detail {
  font-size: 1.2rem;
}
.cart .main_column .delete {
  position: relative;
  text-align: right;
}
.cart .main_column .delete button {
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  background: #f9fafb;
  border-radius: 15px;
  padding: 5px 10px;
  font-weight: normal;
}
.cart .main_column .delete button.paid {
  border: 1px solid #3cc873;
  background: #eff9f3;
  color: #3cc873!important;
}
.cart .main_column .tclear {
  text-align: right;
}
.cart .main_column .tclear button {
  display: inline-block;
  background: #f9fafb;
  border-radius: 15px;
  margin: -10px 20px 20px 0;
  padding: 5px 10px;
  font-weight: normal;
  font-size: 0.8rem;
}
.cart .main_column .table_note{
  margin: 15px 0 0 0;
  padding: 20px 20px 20px 0;
  background: #f7f8f9;
  border-radius: 5px;
  font-size: 0.8rem;
  display: flex!important;
  align-items: flex-start;
  justify-content: space-between;
}
.cart .main_column .table_note span{
  width: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cart .main_column .table_note img{
  width: 25px;
}
.cart .main_column .table_note p{
  width: fit-content;
}
.cart .main_column .icn {
  display: inline-block;
  margin: 10px 10px 10px 0;
  padding: 2px 10px 1px;
  font-size: 0.8rem;
  font-weight: normal;
}
@media screen and (min-width:780px) {
  .cart .main_column .title{
    max-width: 100px;
    margin-right: 30px;
    font-size: 0.8rem;
    text-align: right;
    color: #c7c8c9;
  }
  .cart .main_column .size .name{
    padding-bottom: 0;
  }
  .cart .main_column .detail{
    width: 100%;
    padding: 0;
  }
  .cart .main_column .size .detail{
    width: 80%;
  }
  .cart .main_column .size .detail.select{
    width: 50%;
  }
  .cart .main_column .table_note{
    margin-bottom: 0;
  }
  .cart .main_column .table_note span{
    width: 90px;
  }
  .cart .main_column .raffle {
    background: #3bc3d3;
    color: #fff;
  }
  .cart .main_column .limit {
    background: #f37895;
    color: #fff;
  }
  .cart .main_column .subtotal{
    width: 150px;
    padding: 20px;
    text-align: center;
  }
  .cart .main_column .subtotal .flex{
    align-items: center;
    flex-direction: column;
  }
  .cart .main_column .subtotal .flex .title{
    margin: 0!important;
    text-align: center;
  }
  .cart .main_column .delete {
    padding-left: 4px;
  }
  .cart .main_column .delete button {
    position: inherit;
    margin: 0 auto;
    padding: 5px 15px;
    font-size: 0.89rem;
  }
  .cart .main_column .tclear button {
    margin: 0 20px 10px 0;
  }
}
.cart .main_column .total_block{
  padding: 25px;
}
.cart .main_column .total_block .table_block{
  border: 0;
  padding: 0;
  margin-bottom: 0;
  background: none;
}
.cart .main_column .total_block tr:last-child{
  font-size: 1.2rem;
  font-weight: bold;
  color: #f66;
}
.cart .main_column .total_block tr{
  display: flex;
  justify-content: flex-end;
}
.cart .main_column .total_block td{
  width: 45%;
  text-align: right;
  font-weight: 700;
}
.cart .main_column .total_block .accounting_memo{
  border-bottom: 1px solid rgba(0,0,0,0.1);
  margin-bottom: 20px;
  padding-bottom: 10px;
  font-size: 0.8rem;
}
.cart .main_column .total_block .accounting_memo li{
  line-height: 1.6em;
  list-style-type: disc;
  margin-left: 20px;
  margin-bottom: 10px;
}
@media screen and (min-width:780px) {
  .cart .main_column .total_block{
    margin-top: 20px;
    padding: 50px;
  }
  .cart .main_column .total_block tr{
    justify-content:flex-end;
    padding: 20px;
  }
  .cart .main_column .total_block td{
    width: 20%;
    text-align: right;
  }
  .cart .main_column .total_block .accounting_memo{
    font-size: 0.9rem;
  }
}
.cart .main_column .info .heading{
  margin: 0 0 30px 0;
}
.cart .main_column .form_block{
  margin-bottom: 30px;
}
.cart .main_column .form_input {
  font-size: 0.85rem;
}
@media screen and (min-width:600px) {
  .cart .main_column .form_input {
    padding: 10px;
  }
  .cart .main_column .form_input.sm {
    padding: 2px 8px;
  }
}
.cart .main_column .list_box, .cart .info dl {
  padding-left: 1.4em;
  line-height: 1.6;
  font-size: 0.8rem;
}
.cart .main_column .list_second p {
  display: inline-block;
  margin-bottom: 8px;
  font-weight: bold;
}
.cart .main_column .list_second {
  padding-top: 20px;
  padding-bottom: 8px;
  padding-left: 20px;
}
.cart .main_column .list_second li {
  margin-bottom: 6px;
  list-style-type: circle;
}
.cart .main_column .list_box li > ul {
  padding-left: 40px;
  text-indent: 0;
}
/***thanks***/
.cart .main_column .form_inner h1 {
  margin-bottom: 20px;
  font-size: 1.2rem;
  font-weight: 700;
}
.cart .main_column .form_inner p ,
.form_inner.thanks p {
  margin-bottom: 20px;
  text-align: center;
}
.cart .main_column .thanks h1 {
  text-align: center;
  padding: 20px 0;
  font-size: 1.2rem;
}
.cart .main_column .thanks p.text {
  margin-bottom: 50px;
}
.form_inner.thanks h1 {
  text-align: center;
  margin-bottom: 20px;
  padding: 20px 0;
  font-size: 1.2rem;
}
.form_inner.thanks .text {
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (min-width:600px) {
  .cart .form_inner h1 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  .cart .main_column .thanks h1 {
    font-size: 1.8rem;
  }
  .form_inner.thanks h1 {
    font-size: 1.8rem;
  }
  .cart .main_column .thanks p.text {
    margin-bottom: 50px;
  }
}

/********cart_pay********/
.cart_pay .info {
  font-size: 0.8rem;
}
.cart_pay .info > ul {
  margin-top: 10px;
  margin-bottom: 30px;
  padding-left: 1em;
  line-height: 1.6;
  font-size: 0.8rem;
}
.cart_pay .list_box .cart .info dl {
  font-size: 0.8rem;
}
.cart_pay .heading {
  font-size: 1.25rem;
}
.cart_pay_list > li {
  border-top: 1px solid rgba(0,0,0,0.1);
  padding: 30px 0;
}
.cart_pay_list > li:last-child {
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.cart_pay_list dl > dt {
  margin-bottom: 15px;
  font-size: 1.125rem;
}
.cart_pay_list dl > dt span {
  font-weight: normal;
}
.cart_pay_list dl .btn_wrap {
  max-width: 85%;
  margin: 0 auto;
}
.cart_pay_list dl .btn {
  width: 100%;
}
@media screen and (min-width:780px) {
  .cart_pay_list > li {
    padding: 60px 0;
  }
  .cart_pay_list dl {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 20px;
  }
  .cart_pay_list dl > dt {
    width: 18%;
    text-align: center;
    font-size: 1.0rem;
  }
  .cart_pay_list dl > dd {
    width: 42%;
  }
  .cart_pay_list dl .btn_wrap {
    width: 40%;
    max-width: 300px;
    margin: 0;
    display: flex;
    justify-content: flex-end;
  }
}
.cart_pay .btn_wrap p {
  margin-bottom: 0 !important;
}
.cart_pay_list .btn_wrap button {
  padding: 12px;
  font-size: 0.9rem;
}
@media screen and (min-width:600px) {
  .cart_pay_list .btn_wrap {
    width: 50%;
    margin: 0 auto;
    display: block;
  }
  .cart_pay_list .btn_wrap button {
    font-size: 0.875rem;
  }
}
@media screen and (min-width:780px) {
  .cart_pay_list .btn_wrap {
    width: 100%;
  }
}
.cart_pay_list dl dd p {
  margin-bottom: 20px;
  font-size: 0.875rem;
}
.cart_pay_list .able {
  display: block;
  margin-bottom: 25px;
  padding: 14px;
}
@media screen and (min-width:780px) {
  .cart_pay_list .able {
    margin-bottom: 0;
    padding: 20px;
  }
}
.cart_pay_list .able p {
  margin-bottom: 0;
}
.cart_pay_list .able dt {
  width: 100%;
  margin-bottom: 10px;
  text-align: left;
  font-size: 0.8rem;
}
.cart_pay_list .able dd,
.cart_pay_list .able > ul {
  width: 100%;
}
.cart_pay_list .able ul {
  width: 100%;
  display: flex;
  gap: 0 10px;
}
.cart_pay_list .able li {
  width: calc(80% / 6);
  max-width: 50px;
}
@media screen and (min-width:780px) {
  .cart_pay_list .able li {
    width: calc(65% / 6);
    max-width: 50px;
  }
}
.cart_pay .next_btn {
  width: 100%;
}
.cart_pay .next_btn:after {
  width: 8px;
  height: 8px;
  right: 20px;
} 
.cart_pay .info .alert {
  padding-left: 1em;
}
.cart_pay .info .alert dt {
  margin-bottom: 5px;
  font-size: 1rem;
}
.cart_pay .info .alert dd {
  font-size: 0.8rem;
}
.cart_pay .info .alert ul {
  line-height: 1em;
  margin-top: 10px;
  padding-left: 1em;
}
/********cart_delivery********/
.cart_delivery .form_block {
  margin-bottom: 25px;
}
@media screen and (min-width:600px) {
  .cart_delivery .form_block {
    margin-bottom: 30px;
  }
  .cart_delivery .btn_wrap {
    margin-top: 50px;
  }
  .cart_delivery .btn_wrap p:first-child {
    order: 2;
  }
}
/********cart_confirm********/
.cart_confirm .form_block {
  margin-bottom: 0;
}
.cart_confirm .info {
  margin-bottom: 30px;
  font-size: 0.8rem;
}
.cart_confirm .info .note{
  text-indent: -0.6em;
  padding-left: 0.6em;
  display: inline-block;
}
.cart_confirm .heading {
  font-size: 1.25rem;
}
.cart_confirm .cart_address {
  margin-bottom: 40px;
}
.cart_confirm .cart_address dl {
  margin-bottom: 20px;
  padding: 20px;
  position: relative;
}
.cart_confirm .cart_address dt,
.subscription_manage .subscription_payment dt {
  margin-bottom: 10px;
}
.cart_confirm .cart_address dd,
.subscription_manage .subscription_payment dd {
  font-size: 0.85rem;
}
.cart_confirm .cart_address .form_block {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
}
@media screen and (max-width:420px) {
.cart_confirm .cart_address .form_block {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding-bottom: 10px;
}
}
.cart_confirm .cart_address .btn:after {
  width: 8px;
  height: 8px;
}
.cart_confirm .cart_address .submit_btn button {
  padding: 10px;
  font-size: 0.8125rem;
}
.cart_confirm .coupon_wrap .form_block{
  margin-bottom: 0;
}
@media screen and (min-width:600px) {
  .cart_confirm .coupon_wrap .form_block{
    max-width: 500px;
  }
  .cart_confirm .coupon_wrap .notes {
    margin-top: 20px;
  }
}

.cart_address_card li {
  display: flex;
}
.cart_address_card span{
  display: flex;
  justify-content: space-between;
  width: 100px;
  margin-right: 20px;
}
.cart_address_card span:after{
  content: "：";
}
.cart_address_cardlist{
  display: inline-block;
  margin-left: 10px;
}
.cart_address_cardlist img{
  width: 30px;
}
.cart_address_alter.next_btn {
  width: max-content;
  margin: 20px 0 auto auto;
}
.cart_address_alter a{
  padding: 5px 45px;
  font-weight: bold;
}
.subscription_manage .subscription_payment .next_btn {
  margin: 20px 0 auto auto;
}
@media screen and (min-width:600px) {
  .cart_confirm .cart_address dl {
    display: flex;
    align-items: center;
    padding: 30px;
  }
  .cart_confirm .cart_address dt,
  .subscription_manage .subscription_payment dt {
    width: 180px;
    margin-bottom: 0;
  }
  .cart_address_alter,
  .subscription_manage .subscription_payment .next_btn {
    position: absolute;
    right: 40px;
    margin: 0;
  }
  .cart_address_alter.next_btn {
    margin: 0;
  }
  .cart_address_alter.next_btn:hover {
    opacity: .5;
  }
  
  .cart_confirm .cart_address .submit_btn button {
    padding: 10px;
  }
}
.cart_confirm .cart_address .form_block p:nth-child(2) {
  width: 100%;
  max-width: 200px;
  min-width: 150px;
}
.cart_confirm .cart_address .submit_btn {
  margin: 0;
}
.cart_confirm .cart_address .submit_btn:after {
  right: 14px;
}
.cart_confirm .cart_address .note {
  display: inline-block;
}
.main_column .cart_confirm .heading_band {
  border-top: 1px solid #e7e8e9;
  font-size: 1.125rem;
}

@media screen and (min-width:780px) {
  .main_column .cart_confirm .heading_band {
    font-size: 1.25rem;
  }
}
.cart_confirm .alert {
  margin-bottom: 20px;
  padding: 20px;
  background: #ffefef;
  font-size: 0.85rem;
}
/********subscription_manage********/
.subscription_manage .subscription_payment dl{
  padding: 20px;
  position: relative;
}
.subscription_manage .table_block .next_btn{
  margin: 10px 0 0 0;
  margin-right: auto;
}
.subscription_manage .detail .next_btn:after{
  right: 7%;
}
.subscription_manage .detail button{
  width: max-content;
  padding: 4px 25px;
  font-size: 0.75rem;
}
@media screen and (min-width:600px) {
  .subscription_manage .subscription_payment dl{
    display: flex;
    align-items: center;
    padding: 30px;
  }
  .subscription_manage .detail .next_btn:after{
    right: 18px;
  }
  .subscription_manage .detail button{
    width: max-content;
    padding: 4px 35px;
    font-size: 0.85rem;
  }
  .modal_subscription_change .{
    
  }
}
/********ticket_cart********/
.ticket_cart .form_inner.thanks h1{
  margin-bottom: 0;
  padding-top: 0;
  line-height: 1.4;
}
.ticket_cart .form_inner.thanks .text{
  margin-bottom: 25px;
}
@media only screen and (min-width: 780px){
  .ticket_cart .form_inner.thanks h1{
    margin-bottom: 20px;
    padding-top: 0;
  }
  .ticket_cart .form_inner.thanks .text{
    margin-bottom: 50px;
  }
}
.ticket_cart .form_block:last-child{
  margin-bottom: 0;
}
.ticket_cart .main_column .table{
  margin-bottom: 0;
}
.ticket_cart .main_column .block{
  margin-bottom: 25px;
}
.ticket_cart .main_column .table_block{
  margin-bottom: 0;
  border-bottom: 0;
}
.ticket_cart .main_column .total_block{
  border-radius: 0;
}
.ticket_cart .subtotal .flex{
  align-items: center;
}
.ticket_cart .cart_pay_list .able{
  margin-bottom: 0;
}
.ticket_cart .cart_pay_list > li{
  padding: 18px 18px 25px;
}
.ticket_cart .size .flex{
  margin-bottom: 10px;
  align-items: flex-start;
}
@media only screen and (min-width: 780px){
  .ticket_cart .main_column .block{
    margin-bottom: 50px;
  }
  .ticket_cart .main_column .total_block{
    margin-top: 0;
  }
  .ticket_cart .cart_pay_list > li{
    padding: 50px;
  } 
  .ticket_cart .cart_pay_list dl{
    justify-content: space-between;
  }
  .ticket_cart .cart_pay_list li > dl > dt{
    width: 30%;
  }
  .ticket_cart .cart_pay_list dl > dd{
    width: 60%;
  }
  .ticket_cart .btn_wrap p:first-child{
    order: 2;
  }
  .modal_ticket-credit_card .btn_wrap p:first-child{
    order: 1;
  }
  .modal_ticket-credit_card .btn_wrap p:last-child{
    order: 2;
  }
}
.modal_ticket-credit_card .form_pay .heading_block p{
  text-align: left;
}
/********ticket_history********/
.ticket_history .main_column .table_block,
.ticket_history .main_column .block{
  margin-bottom: 0;
}
.ticket_history .main_column .flex{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (min-width:780px) {
  .ticket_history .main_column .flex{
    flex-wrap: nowrap;
  }
  .ticket_history .main_column .size{
    padding: 40px 20px;
  }
}
.ticket_history .main_column .size .detail{
  width: calc(80% - 20px);
}
.ticket_history .main_column .title{
  width: 20%;
  margin-right: 0;
}
.ticket_history .main_column .subtotal .detail {
  line-height: 1.0;
}
.ticket_history .main_column .failed{
  color: rgba(0,0,0,0.2);
}
.ticket_history .main_column .size .next_btn{
  width: max-content;
  margin: 10px 0;
}
.ticket_history .main_column .size .btn_wh,
.subscription_manage .btn_auto a{
  width: max-content;
  padding: 4px 35px;
  font-size: 0.85rem;
}
@media screen and (min-width:780px) {
  .ticket_history .main_column .title{
    max-width: 60px;
  }
  .ticket_history .main_column .size .detail{
    width: 70%;
  }
  .ticket_history .main_column .size .next_btn{
    margin-bottom: 0;
  }
}
.ticket_history .main_column .total_block{
  margin-top: 0;
  padding: 25px;
  border-top: 0;
  border-radius: 0;
}
.ticket_history .main_column .btn_area{
  margin-top: 25px;
}
.ticket_history .main_column .btn_area tr{
  flex-wrap: wrap;
  justify-content: center;
  gap:25px;  
}
.ticket_history .main_column .btn_area td{
  width: 100%;
  text-align: center;
  font-size: 1rem;
}
.ticket_history .main_column .btn_area .next_btn{
  margin-bottom: 0;
}
.ticket_history .main_column .btn_area .alert_box{
  width: 100%;
  font-size: 0.85rem;
  font-weight: normal;
  margin-bottom: 0;
  padding: 6px 10px;
}
.ticket_history .main_column .btn_area .alert_box span{
  display: inline-block;
  margin-right: 15px;
  font-weight: bold;
}
@media screen and (min-width:600px) {
  .ticket_history .main_column .btn_area{
    margin-top: 0;
  }
  .ticket_history .main_column .btn_area tr{
    padding: 0;
    padding-top: 25px;
  }
  .ticket_history .main_column .total_block{
    padding: 40px;
  }
  .ticket_history .main_column td.table_label,
  .subscription_manage .main_column td.table_label{
    width: 100px;
    padding: 20px 0 20px 40px;
    text-align: center;
  }
  .ticket_history .main_column td.table_label span,
  .subscription_manage .main_column td.table_label span{
    display: block;
    min-width: 100px;
  }
  .ticket_history .main_column .btn_area td{
    width: 50%;
    text-align: center;
  }
  .ticket_history .main_column .btn_area .alert_box{
    margin: 0 auto;
    font-size: 1rem;
  }
}
.ticket_history .btn_wrap p,
.subscription_manage .btn_wrap p{
  width: 100%;
  }
@media only screen and (min-width: 600px){
  .ticket_history .btn_wrap p,
  .subscription_manage .btn_wrap p{
    width: 60%;
    margin: 0 auto;
  }
}
/********purchase_history********/
.purchase_history .ticket-registered,
.modal_ticket-register form{
    padding-left: 30px;
}
@media only screen and (min-width: 600px){
  .purchase_history .ticket-registered{
    display: flex;
    gap: 40px;
  }
  .purchase_history .main_column .size{
    border-right: 0;
  }
}
.purchase_history .ticket-register_list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: li;
}
.purchase_history .ticket-register_list > li {
  position: relative;

  line-height: 1.5;
}
.purchase_history .ticket-register_list > li::before {
  counter-increment: li;
  content: counter(li);
  position: absolute;
  left: 0;
  top: 2px;
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(0,0,0,0.2);
  font-size: 12px;
  color: #fff;
  line-height: 20px;
  text-align: center;
}
.purchase_history .ticket-register_list > li{
  margin-bottom: 25px;
}
.purchase_history .ticket-register_list .btn_wrap p{
  width: 100%;
  }
@media only screen and (min-width: 600px){
  .purchase_history .ticket-register_list .btn_wrap p{
    width: 60%;
    margin: 0 auto;
  }
}

/******** purchase_history ********/
.purchase_history .table_top_block{
  display: block;
  padding: 20px;
  border-radius: 10px 10px 0 0;
  font-size: 0.85rem;
}
.purchase_history .table_top_block td{
  display: inline-block!important;
  width: 100%;
  margin-bottom: 10px;
}
.purchase_history .table_top_block td:last-child {
  margin-bottom: 0;
}
.purchase_history .table_top_title{
  font-weight: bold;
}
@media screen and (min-width:780px) {
  .purchase_history .table_top_block{
    padding: 30px;
  }
  .purchase_history .table_top_block td{
    width: auto;
    margin-bottom: 0;
    margin-right: 60px;
  }
}
.purchase_history .main_column .size .detail{
  width: 100%;
  margin-bottom: 10px;
  line-height: 1.6;
}
.detail_tax{
  display: inline-block;
  margin-right: 10px;
}
.purchase_history .table_block{
  margin-bottom: 0!important;
  border-top: 0!important;
  border-bottom: 0!important;
}

@media screen and (min-width:780px) {
  .purchase_history .table .size{
    vertical-align: top!important;
    padding: 30px;
  }
  .purchase_history .table .btn_area{
    padding: 30px;
  }
  .purchase_history .table_block .thumb,
  .subscription_manage .table_block .thumb,
  .cart .main_column .thumb{
    max-width: 300px;
    min-width: 122px;
    width: 22%;
    padding: 30px;
  }
  .purchase_history .main_column .size .detail{
    margin-bottom: 0;
  }
}
.purchase_history .table_block .detail_size{
  margin-right: 10px;
  display: inline-block;
}
.purchase_history .table_block .paid {
  display: inline-block;
  margin: 10px auto 0 auto;
  padding: 5px 15px;
  border-radius: 50px;
  background: #ffbc1d;
  font-size: 0.89rem;
}
.purchase_history .table_btm_block{
  display: block;
  padding: 10px 20px;
  border-radius: 0 0 10px 10px;
}
@media screen and (min-width:780px) {
  .purchase_history .table_btm_block{
    padding: 20px 30px;
  }
}
.purchase_history .table_btm_block td{
  display: block!important;
  text-align: right;
}
.purchase_history .table_btm_status a{
  position: relative;
  display: inline-block;
  padding: 0 20px;
  text-decoration: underline;
}
.purchase_history .table_btm_status a:after{
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 8px;
  height: 8px;
  margin-top: -5px;
  border-radius: 1px;
  border-top: solid 2px #313233;
  border-right: solid 2px #313233;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.purchase_history .btn_area{
  display: block;
  width: 100%;
}
.purchase_history .btn_area_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.purchase_history .btn_area_inner .next_btn{
  margin-bottom: 0;
}
.purchase_history .btn_area_inner button{
  padding: 6px;
  font-weight: normal;
  font-size: 0.85rem;
}
.purchase_history .btn_area_inner .btn_ye{
  padding: 8px 6px;
}
@media screen and (min-width:780px) {
  .purchase_history .btn_area{
    width: 30%;
  }
  .purchase_history .btn_area_inner {
    width: 80%;
    margin: 0 auto;
  }
}
.modal_ticket-register .modal_list{
  display: flex;
  gap: 10px;
  margin-bottom: 25px; 
}
.modal_ticket-detail .modal_list:first-child{
  margin-top: 25px;
}
.modal_ticket-detail .modal_list{
  margin-bottom: 25px;
  padding-bottom: 30px;
}
.modal_ticket-detail .modal_list:last-child{
  margin-bottom: 0;
}
.modal_ticket-detail .modal_list dt{
  margin-bottom: 10px;
  font-weight: bold;
}
.ticket_detail.modal_ticket-detail .heading_block{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 0;
}
.ticket_detail.modal_ticket-detail .heading_block h1{
  width: calc(80% - 20px);
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.4;
  margin-right: 0;
}
.modal_ticket-detail .modal-summary_img{
  width: 100%;
}
@media screen and (min-width:600px) {
  .modal_ticket-detail .heading_block{
    flex-wrap: nowrap;
  }
  .modal_ticket-detail .modal-summary_img{
    width: 20%;
  }
}
.modal_ticket-detail.ticket_detail .heading_block,
.modal_ticket-detail.ticket_detail .table {
  margin-bottom: 25px;
}
.modal_ticket-detail .modal-summary_text dl{
  width: 100%;
  padding: 20px;
  margin-bottom: 25px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
}
.modal_ticket-detail .modal-summary_text dl{
  width: 100%;
}
.modal_ticket-detail .modal-summary_text dt{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  line-height: 1.4;
}
.modal_ticket-detail .modal-summary_text dt span{
  flex-shrink: 0;
}
.modal_ticket-detail .modal-summary_text dt span:before{
  content: "… ";
  vertical-align: text-bottom;
}
.modal_ticket-detail .modal-summary_text dd{
  font-size: 0.85rem;
}
.modal_ticket-detail .modal-summary_text .alert{
  text-indent: -0.6em;
  padding: 10px;
  padding-left: 1.5em;
  font-size: 0.85rem;
  line-height: 1.4;
}
.modal_ticket-detail .modal-summary_text .alert:before{
  content: "※";
}
.modal_ticket-detail .modal-list_link {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  word-break: break-all;
}
.modal_ticket-detail .modal-list_link a{
  text-decoration: underline;
}
.modal_ticket-detail .ft_red{
 margin-bottom: 25px;
}
@media screen and (min-width:780px) {
  .modal_ticket-detail .alert{
    text-align: center;
  }
  .modal_ticket-detail .modal-list_link a{
    pointer-events: none;
    text-decoration: none;
  }
  .modal_ticket-detail .ft_red{
    text-align: center;
  }
}

/******** photo ********/
.photo .form_heading{
  margin-bottom: 20px;
  padding: 20px;
  background: rgba(245, 246, 249, 0.2);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 6px
}
.photo .form_heading .heading_title{
  font-weight: bold;
}
.photo .form_heading .sup{
  padding-bottom: 20px;
  opacity: .5;
  font-size: .85rem;
}
.photo .form_heading .flex_list{
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  width: 100%;
}
.photo .form_heading .form_block{
  width: 100%;
  margin-bottom: 20px;
}
.photo .form_heading .btn_wrap{
  width: 100%;
}
.photo .form_heading .btn_bl{
  padding: 12px;
}
.photo .tag_btm{
  margin-top: 5px;
}
@media screen and (min-width:780px) {
  .photo .form_heading{
    margin-bottom: 40px;
    padding: 40px;
  }
  .photo .form_heading .flex_list{
    align-items: center;
    gap: 0 30px;
    width: 100%;
  }
  .photo .form_heading .form_block{
    width: 35%;
    margin-bottom: 0;
  }
  .photo .form_heading .btn_wrap{
    width: 45%;
  }
  .photo .form_heading .submit_btn{
    margin: 0;
  }
}
.photo .tag_album{
  bottom: 5px;
  right: 5px;
}
.tag_wh{
  position: absolute;
  padding: 0px 5px;
  background: rgba(255, 255, 255, .8);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  display: inline-block;
  width: auto;
  height: auto;
  font-size: 0.7rem;
  z-index: 1;
}
.talent_list .tag_sheets,
.photo .tag_sheets{
  bottom: 5px;
  left: 5px;
}
.photo .tag_date{
  bottom: 5px;
  left: 5px;
}
@media screen and (min-width:780px) {
  .photo .tag_album{
    bottom: 10px;
    right: 10px;
  }
  .talent_list .tag_wh,
  .photo .tag_wh{
    padding: 2px 15px;
  }
  .talent_list .tag_sheets,
  .photo .tag_sheets{
    bottom: 10px;
    left: 10px;
  }
  .photo .tag_date{
    bottom: 10px;
    left: 10px;
  }
}
.photo .tag_gl{
  display: inline-block;
  background: #323232;
  color: #fff;
  border-radius: 5px;
}
.talent_list .product_img,
.photo .product_img{
  display: grid;
  padding-bottom: 100%;
  position: relative;
  width: 100%;
  background: #f7f7f8;
  overflow: hidden;
}
.talent_list .product_img .photo_thumb,
.photo .product_img .photo_thumb{
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.photo_thumb_img{
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.talent_list .product_img .photo_thumb img,
.photo .product_img .photo_thumb img {
  width: 100%;
  height: 100%;
  transition-duration: .1s;
  transition-property: opacity;
  transition-timing-function: ease-in-out;
}
.talent_list .product_img .photo_thumb img{
  object-fit: contain;
}
.photo .product_img .photo_thumb img,
.photo_list .product_img .photo_thumb img,
.photo_album .product_img .photo_thumb img{
  object-fit: contain;
}
.photo .photo_event_block .product_img .photo_thumb img{
  object-fit: cover;
}
.talent_list .product_img,
.photo_list .product_img,
.photo_summary .product_img,
.photo .photo_album .product_img,
.photo_history.photo .product_img,
.modal_exp-photo .product_img{
  padding-bottom:66.67%;
}
.modal_exp-photo .product_img{
  padding-bottom:71.428%;
}
.photo_history.photo .product_img{
  background: none;
}
.photo_history.photo .table_block .thumb img{
  max-width: 100%;
}
.photo_history .btn_area_inner a{
  padding: 6px;
  font-weight: normal;
  font-size: 0.85rem;
}
.photo_history_list .flex_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  align-items: flex-start;
  gap: 20px;
}
.photo_history_list .flex_list > li{
  width: 100%;
  position: relative;
  border: none;
}
@media screen and (min-width:1056px) {
  .photo_history_list.product .flex_list{
    gap: 20px;
  }
  .photo_history_list.product .flex_list > li{
    width: calc((100% - 20px* 3) / 4);
    position: relative;
  }
}
.photo_history_list .tag_wh,
.photo_history_list .tag_gl{
  padding: 0 10px;
}
.photo_history_list .tag_gl{
  position: absolute;
  bottom:10px;
  font-size: 0.8rem;
}
.photo_history_list .tag_wh{
  position: inherit;
  border: none;
}
.photo_history_list .tag_trim{
  right: 10px;
  z-index: 1;
}
.photo_dl_btn{
  padding: 0.5rem;
  margin: 0.5rem 0 0;
}
.photo_dl_text{
  font-size: 0.7rem;
  text-align: right;
}

/******** cart_confirm ********/
.cart_confirm .total_block .btn_wrap {
  margin-top: 20px;
}
.cart_confirm .clear {
  display: block;
  margin-left: auto;
}
.cart_confirm .text_link {
  padding: 15px 0;
  font-size: 0.8rem;
}
@media screen and (min-width:600px) {
  .cart_confirm .btn_wrap p:first-child {
    order: 2;
  }
}
.cart_confirm .total_block tr:last-child {
  color: #f66;
}
.cart .total_block .btn_wrap {
  margin-top: 20px;
}
.cart .clear {
  display: block;
  margin-left: auto;
}
.cart .text_link {
  font-size: 0.8rem;
}
@media screen and (min-width:600px) {
  .cart .btn_wrap p:first-child{
    order: 2;
  }
}
.photo_cart .table_block .product_img,
.photo_cart_confirm .table_block .product_img,
.photo_history .table_block .product_img{
  height: 0;
}
/********form********/
.form .btn{
  width: 100%;
}
.form .radio_text{
  margin-left: 10px;
}
.form .form_block:last-of-type{
  margin-bottom: 25px;
}
.form .la:last-of-type{
  margin-bottom: 0!important;
}
@media screen and (min-width:600px) {
  .form .form_block:last-of-type{
    margin-bottom: 60px;
  }
}
/********form_thanks********/
.form_thanks .form_inner{
  width: 100%;
  background: none;
}
.form_thanks .form_inner h1 {
  margin: 20px 0;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width:600px) {
  .form_thanks .form_inner h1 {
    font-size: 1.6rem ;
    margin: 0 0 10px;
  }
}
.form_thanks .form_inner p {
  margin-top: 20px;
  text-align: center;
}
.form_thanks .btn{
  margin-bottom: 0;
}
@media screen and (min-width:600px) {
  .form_thanks .form_inner p{
    margin-top: 40px;
    text-align: center;
  }
}
/********form_confirm********/
.form_confirm .form_block {
  padding-bottom: 25px;
}
.form_confirm .fs {
  padding-top: 25px;
}
.form_confirm form dl {
  border-bottom: 1px solid #e7e8e9;
}
.form_confirm form dl.fs {
  border-top: 1px solid #e7e8e9;
}
.form_confirm .btn_wrap {
  flex-direction: column-reverse;
}
@media screen and (min-width:600px) {
  .form_confirm .form_block {
    padding-bottom: 30px;
  }
  .form_confirm form dl.fs {
    padding-top: 30px;
  }
  .form_confirm form dl {
    display: flex;
    justify-content: flex-start;
  }
  .form_confirm form dt {
    width: 25%;
  }
  .form_confirm form dd {
    width: 80%;
  }
  .form_confirm .btn_wrap {
    flex-direction: row;
  }
}
.form_confirm .form_block dt {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-weight: 700;
}
@media screen and (min-width:600px) {
  .form_confirm .form_block dt {
    margin-bottom: 0;
  }
}
.form_block .file img{
  display: block;
  max-width: 100%;
}
@media screen and (min-width:600px) {
  .form_block .file img{
    display: block;
    max-width: 50%;
  }
}
/********mypage********/
.mypage .my_photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.mypage .my_photo dt ,
.mypage .my_photo dd {
  width: 100%;
  display: contents;
}
.mypage .my_photo dd img {
  padding: 15px;
  width: 120px;
}
.mypage .my_photo dd .file {
  width: 60%;
}
.mypage .form_block {
  border-bottom: 1px solid #e7e8e9;
  margin-bottom: 30px;
  padding-bottom: 30px;
}
.mypage .form_block:last-of-type{
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
@media screen and (min-width:600px) {
  .mypage .my_photo {
    display: flex;
    align-items: center;
    flex-direction: row;
    margin-bottom: 30px;
  }
  .mypage .my_photo dt {
    display: block;
    width: 160px;
  }
  .mypage .my_photo dd .file label {
    margin-left: 20px;
    width: 200px;
  }
  .mypage .my_photo dd img {
    padding: 20px;
    width: 160px;
  }
  .mypage .my_photo dd .file {
    width: 100%;
  }
}
.mypage .btn_wrap.quit{
  justify-content: flex-end;
}
.mypage .quit_button{
  width: max-content;
  margin: 0;
  padding: 6px 40px 6px 20px;
  font-weight: normal;
  font-size: 0.875rem;
  background: #e1e2e3;
  border: 1px solid #e1e2e3;
  color: #313233;
}
.my_btn_area {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  border-top: 1px solid rgba(0,0,0,0.1);
  margin-top: 25px;
  padding-top: 25px;
}
.my_btn_area p {
  width: 100%;
}
.my_btn_area p a,
.my_btn_area p button{
  display: flex;
  align-items: center;
  position: relative;
  padding: 15px 20px;
  width: 100%;
}
.my_btn_area p a:after,
.my_btn_area p button:after{
  content: '';
  position: absolute;
  right: 12px;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  border-top: solid 2px #313233;
  border-right: solid 2px #313233;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width:600px) {
  .my_btn_area {
    margin-top: 40px;
    padding-top: 40px;
  }
  .my_btn_area p {
    width: calc(100% / 2 - 10px);
  }
}
.special-message__title,
.member-card__title{
  margin: 20px 0!important;
}
.special-message__text{
  padding: 0 0 20px 0;
}
.member-card__content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
}
.member-card__left{
  width: 100%;
  position: relative;
}
.member-card__right {
  flex: 1;
}
@media screen and (min-width:780px) {
  .member-card__content {
    gap: 40px;
  }
  .member-card__left{
    width: 40%;
  }
}
.member-card__image {
  width: 100%;
}
.member-card__image img {
  width: 100%;
}
.member-card__info .nickname,
.member-card__info .name,
.member-card__info .id{
  position: absolute;
}
.member-card__info .nickname{
  top: 20px;
  left: 20px;
  font-size: 1.4rem;
  color: #7C43B8;
}
.member-card__info .name {
  top: 60px;
  left: 20px;
  font-size: 1rem;
  color: #FF35A0;
}
.member-card__info .id {
  bottom: 20px;
  left: 20px;
  font-size: 0.875rem;
  color: #fff;
}
.member-card__button {
  display: block;
  width: 100%;
  margin: 0 auto;
  margin-top: 20px; 
  padding: 10px 20px;
  font-weight: bold;
}
@media screen and (min-width:780px) {
  .member-card__button {
    margin: 0;
    margin-top: 40px; 
    width: max-content;
  }
}
/********退会手続き********/
.funclub_quit .btn_wrap{
  margin-top: 40px;
}

/********ログイン・登録個別********/ 
.login_authcode .btn_wrap{
  display: block;
  text-align: center;
}
.login_authcode .next_btn{
  display: inline-block;
  width: auto;
  margin-top: 20px;
}
.login_authcode .next_btn button{
  padding: 10px 50px;
}
.login_authcode .text_link{
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 600px) {
  .login_authcode .text_link{
    margin: 35px auto 0 auto;
  }
}
.login_forget .info {
  margin-bottom: 20px;
  padding: 0;
  background: none;
  font-size: 0.875rem;
}
.form .info {
  margin-top: 0!important;
  margin-bottom: 30px;
  padding: 25px;
  background: none;
}
.login_forget .list_box{
  margin-left: 1.0em;
  padding: 30px;
}
@media screen and (min-width: 780px) {
  .login_forget .info ,
  .form .info {
    margin-bottom: 30px;
  }
  .login_forget .list_box{
    margin-left: 1.4em;
    padding: 50px;
  }
  .login_top{
    color: #323232
  }
  .login_top .js-modal-open{
    display: block;
  }
  .login_top .modal_cont{
    top: 5%;
    transform: translate(-50%, 0%);
    max-height: 90vh;
    overflow-y: auto
  }
}
.login_top .form_inner{
  padding: 25px;
}
.form_block .text_link{
  display: inline-block;
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
}
.login_top .toggle_wrap{
  padding-bottom: 20px;
}
.modal_cont .form_inner .form_block:last-child ,
.login_box .form_block:last-child {
  margin-bottom: 0!important;
}
@media screen and (min-width: 600px) {
  .login_top .form_inner{
    padding: 50px;
  }
  .login_top .toggle_wrap{
    padding-bottom: 35px;
  }
}
@media screen and (min-width: 1025px) {
  .login_top .btn_wrap {
    margin-bottom: 35px;
  }
}
.login_top .btn_wrap .submit_btn:nth-child(2) a {
  background: #fff;
  color: #313233;
}
.login_top .btn_wrap .btn:nth-child(2) {
  margin-bottom: 0;
}
.login_top .btn_wrap .submit_btn:nth-child(2):after {
  border-top: solid 2px #313233;
  border-right: solid 2px #313233;
}
.login_top .link .form_block dt{
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
}
.login .modal_cont .link{
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid #ddd;
}
@media screen and (min-width: 600px) {
  .login .modal_cont .link .form_block dt{
    margin-bottom: 40px;
  }
  .login .modal_cont .link{
    margin-top: 40px;
    padding-top: 40px;
  }
}
.login .modal_cont .link_list{
  width: 85%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (min-width: 600px) {
  .login .modal_cont .link_list{
    width: 60%;
  }
}
.login .modal_cont .link_list li .btn_link:before{
  content: "";
  width: 25px;
  height: 25px;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: center center;
}
.login_top .link_list .btn_link{
  width: 50px;
  height: 50px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.login .modal_cont .link_list li:nth-child(1) .btn_link{
  background: #000;
}
.login .modal_cont .link_list li:nth-child(1) .btn_link:before{
  background-image:url("../img/img_ap.svg");
  margin-left: -2px;
  margin-top: -2px;
}
.login .modal_cont .link_list li:nth-child(2) .btn_link{
  background: #1877F2;
}
.login .modal_cont .link_list li:nth-child(2) .btn_link:before{
  background-image:url("../img/img_fb.svg");
}
.login .modal_cont .link_list li:nth-child(3) .btn_link{
  background: #1DA1F2;
}
.login .modal_cont .link_list li:nth-child(3) .btn_link:before{
  background-image:url("../img/img_tw.svg");
}
.login .modal_cont .link_list li:nth-child(4) .btn_link{
  background: #fff;
  border: 1px solid #ddd;
  color: inherit;
}
.login .modal_cont .link_list li:nth-child(4) .btn_link:before{
  background-image:url("../img/img_gg.svg");
}
.login .modal_cont .link_list li:nth-child(5) .btn_link{
  background: #fff;
  border: 1px solid #ddd;
  color: inherit;
}
.login .modal_cont .link_list li:nth-child(5) .btn_link:before{
  background-image:url("../img/img_yh.png");
}
/********登録個別********/ 
@media screen and (min-width: 600px) {
  .regist .modal_cont{
    top: 5%;
    transform: translate(-50%, 0%);
  }
}
.regist .form_step {
  margin-bottom: 40px;
}
.add .list {
  margin-top: 10px;
}
.add .list ,
.birth .list {
  display: flex;
  flex-direction: column;
}
.add .list_item ,
.birth .list_item {
  margin-bottom: 10px;
}
.add .list.name{
  align-items: center;
  justify-content: space-between;
  gap: 0 10px;
  flex-wrap: nowrap;
  flex-direction: row;
}
.add .list.name .list_item{
  width: calc(100% / 2);
}
@media screen and (min-width: 780px) {
  .add .list {
    margin: 10px 0;
  }
  .add .list ,
  .birth .list {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .add .list_item ,
  .birth .list_item {
    margin-bottom: 0;
    width: calc(97.5% / 3);
  }
}
.regist .gender.form_block {
  margin-bottom: 40px;
}
.regist .radio {
  margin-bottom: 0;
  display: inline-block;
}
.regist .kiyaku {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.regist .kiyaku #terms{
  height: 220px;
  overflow-y: scroll;
  font-size: 0.78rem;
}
.checkbox_lock {
  opacity: .5;
}
.regist .text_link{
  margin-top: 0;
}
.regist .checkbox label {
  width: 100%;
  cursor: inherit;
  margin-top: 20px;
  cursor: pointer;
}
.regist .checkbox label a {
  margin-left: 10px;
}
.regist_thanks .form_step {
  margin-bottom: 50px;
}

@media screen and (min-width: 600px) {
  .regist_confirm .modal_cont{
    top: 5%;
    transform: translate(-50%, 0%);
  }
}
.regist_confirm .form_step {
  margin-bottom: 40px;
}
.regist_confirm .sex.form_block {
  margin-bottom: 0;
}
/********modal********/
body.modal-open{
  overflow: hidden;
}
.modal {
  display: none;
}
.product_modal.modal,
.modal_login.modal{
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  height: 100svh;
  width: 100%;
  z-index: 999999;
}
.product_modal .modal_bg,
.modal_login .modal_bg{
  position: absolute;
  height: 100vh;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  z-index: 1;
}
.product_modal .modal_cont,
.modal_login .modal_cont{
  position: fixed;
  width: 100%;
  padding: 20px 25px;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  z-index: 7;
  border: none;
  height: 100%;
  overflow-y: auto;
}
.product_modal .modal_cont .lot_img{
  margin: 0;
}
/* モーダルウィンドウ内の閉じるボタン */
.btn_close{
  position: absolute;
  top: 10px;
  right: 12px;
  cursor: pointer;
  width: 50px;
  height: 50px;
  font-size: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
  z-index: 99999;
}
.btn_close:after {
  content: "×";
  display: block;
  height: 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width:780px) {
  .btn_close {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
  }
}
.modal .heading_border{
  text-align: left;
  font-weight: bold;
  font-size: 1.125rem!important;
  border: none;
  width: 90%;
}
@media screen and (min-width:780px) {
  .modal .heading_border{
    font-size: 1.6rem!important
  }
}

.product_modal .sup,
.modal_login{
  text-align: left;
}
.product_modal#modal_pass .form_block{
  margin-bottom: 30px;
}
@media screen and (max-width:799px) {
  .product .lot_list .js-modal-open{
    pointer-events: none;
  }
}
@media screen and (min-width:780px) {
  .modal {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    height: 100svh;
    width: 100%;
    z-index: 999999;
  }
  .modal_bg {
    position: absolute;
    height: 100vh;
    height: 100svh;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 1;
  }
  .modal_cont,
  .product_modal .modal_cont,
  .modal_login .modal_cont{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 760px;
    min-height: auto;
    padding: 50px 60px;
    border-radius: 6px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.10);
    z-index: 7;
    border: 1px solid #d7d8d9;
  }
  .product_modal .modal_cont,
  .modal_login .modal_cont{
    height: auto;
    max-height: 90vh;
  }
  .modal_cont .lot_img{
    margin: 0;
  }
  .modal_login .heading_border{
    font-size: 1.75rem;
  }
  .modal_login p .heading_border{
    font-size: 1.6rem;
  }
}
  /********body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    overflow-y: scroll;
  }********/

/********スライドトグル********/
.toggle_wrap{
  padding-bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
}
.toggle_switch {
  position: relative;
}
.toggle {
  position: relative;
  width: 55px;
  height: 26px;
  border-radius: 50px;
  overflow: hidden;
  cursor: pointer;
}
.toggle:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: #d7d8d9;
  transition: 0.2s ease-out;
}
.toggle:after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 18px;
  height: 18px;
  display: block;
  border-radius: 50px;
  box-shadow: 0 9px 28px -6px rgba(0, 0, 0, 0.3);
  transition: 0.2s ease-out;
}
.toggle_switch.checked .toggle:after {
  left: 31px;
}
.toggle_switch.checked .toggle:before{
  background: #313233;
}
.r_text {
  text-indent: 1em;
}

.notfound {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0 30px;
}
.notfound dl {
  line-height: 1.1;
  margin: 40px 0 50px;
}
.notfound dl dt {
  font-weight: bold;
  font-size: 6.0rem;
}
.notfound dl dd {
  font-weight: bold;
  font-size: 2.0rem;
}
.back_top a{
  text-align: center;
  border-radius: 999999px;
  margin: 50px auto 0;
  padding: 18px 10px;
  font-weight: 700;
  width: 300px;
  color: #313233;
}

/********ガチャモーダル********/
.gacha .main_column .size{
  padding: 30px 30px 30px 0;
}
.gacha .modal-open {
  overflow: hidden;
}
.gacha .modal_bg {
  background: rgba(255, 255, 255, 0.9);
}
.gacha_modal_cont{
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  transform: none;
  overflow-y: auto;
  z-index: 9999;
}
@media screen and (min-width:1025px) {
  .gacha_modal_cont{
    position: absolute;
    top: 50%;
    left: 50%;
    height: auto;
    transform: translate(-50%, -50%);
    border-radius: 6px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.10);
    border: 1px solid rgba(0,0,0,0.1);
    overflow: hidden;
  }
}
.gacha_skip.fade-out {
  animation: fade-out 0.5s ease-out;
  opacity: 0;
  pointer-events: none;
}
.gacha_container.fade-out {
  animation: fade-out 0.5s ease-out;
  opacity: 0;
  pointer-events: none;
}
.gacha_video{
  width: 100vw;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
@media screen and (min-width:1025px) {
  .gacha_video{
    width: 100%;
    height: auto;
    border-radius: 6px;
    top: 0;
  }
}
.gacha_skip{
  position: absolute;
  right: 0;
  bottom: 40px;
}
.gacha_skip button{
  display: flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.6);
  padding: 6px 40px;
  color: #fff;
  font-size: 0.85rem;
}
.gacha_skip button:after{
  content: '';
  position: absolute;
  right: 20px;
  width: 8px;
  height: 8px;
  border-radius: 1px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (min-width:1025px) {
  .gacha_skip button{
    padding: 10px 60px;
    font-size: 1.0rem;
  }
}
@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}
.gacha_container {
  height: 100%;
}
.gacha_m-box,
.gacha_text{
  opacity: 0;
  position: relative;
  overflow: hidden;
  animation: none;
  max-width: 100%;
  width: 100vw;
  height: 100%;
  z-index: 1;
  overflow-y: auto;
}
.gacha_m-box{
  display: flex;
  align-items: center;
  justify-content: center;
}
.gacha_left_column.pc,
.gacha_text .pc{
  display: none!important;
}
.gacha_right_column .sp{
  display: block!important;
}
@media screen and (min-width:1025px) {
  .gacha_m-box,
  .gacha_text{
    animation: none;
    width: 90vw;
    max-width: 1408px;
    height: auto;
    aspect-ratio: 16 / 9;
    padding: 11%; 
  }
  .gacha_left_column.pc,
  .gacha_text .pc{
    display: block!important;
  }
  .gacha_right_column .sp{
    display: none!important;
  }
}
#particles-js{ 
	position:fixed;
	z-index: 2;
	width: 100%;
	height: 100%;
  top: 0;
  left: 0;
}
.gacha_text.fade-in {
  opacity: 1;
  visibility: visible;
  animation: fade-in 0.5s ease-in;
}
.gacha_text .flex{
  padding: 0 25px 40px 25px;
}
.gacha_m-box .gacha_movie{
  padding: 0 25px;
}
.gacha_text .gacha_right_column{
  position: sticky;
  z-index: 3;
}
@media screen and (min-width:1025px) {
  .gacha_text .flex{
    height: 100%;
    position: relative;
    display: flex;
    justify-content: space-between;
    padding: 0;
  }
  .gacha_text .gacha_right_column{
    overflow-y: auto;
    padding: 0 40px 0 20px;
    width: 48%;
    position: sticky;
    z-index: 3;
  }
  .gacha_text .gacha_left_column{
    width: 48%;
    display: flex!important;
    align-items: center;
  }
}
.gacha_text img{
  display: block;
  margin: 0 auto 25px auto;
}
@media screen and (min-width:1025px) {
  .gacha_text img{
    max-height: 100%;
    margin-bottom: 0;
  }
}
.gacha_text .award{
  margin: 20px 0;
  line-height: 1.4;
  font-size: 2rem;
  font-weight: bold;
}
.gacha_text .heading{
  margin-bottom: 20px;
  font-size: 1.2rem;
  font-weight: bold;
}
.gacha_text .description{
  margin-bottom: 20px;
}
/* モーダルウィンドウ内の閉じるボタン */

.gacha .fade-in .btn_close {
  display: block;
}
.gacha_text .back_btn{
  display: inline-block;
  width: auto;
  margin: 25px 25px 0 25px;
  padding: 0.5vh 35px;
}
.gacha_text .back_btn:after{
  left: 15px;
}
@media screen and (min-width:1025px) {
  .gacha_text .back_btn{
    position: absolute;
    left: 2vw;
    top: 2vw;
  }
  .gacha_text .flex_item img{
    margin: 0 auto;
  }
  .gacha_text .award{
    margin-top: 0;
    margin-bottom: 40px;
    font-size: 2.6rem;
  }
  .gacha_text .heading{
    margin-bottom: 40px;
    font-size: 1.375rem;
  }
  .gacha_text .description{
    margin-bottom: 40px;
  }
}
.gacha_lastone_btn{
  width: 100%;
  margin: 0 auto 20px auto;
  padding: 1vh;
  border-radius: 999px;
  background: linear-gradient(to right, #ff8a47,#f6c633,#82d646,#5ed6dd,#62aaea,#d897f8,#ff8a47) 0% center/200%;
  animation: huerotator 7s linear infinite;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gacha_movie_btn{
  width: 100%;
  margin: 25px auto 20px auto;
  padding: 1vh;
  border-radius: 999px;
  background: linear-gradient(to right, #f3aa37,#f8e297,#f3aa37) 0% center/200%;
  animation: huerotator 3s linear infinite;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  z-index: 999;
}
@media screen and (min-width:1025px) {
  .gacha_lastone_btn{
    width: 20vw;
    margin: 0;
    position: absolute;
    bottom: 2.5vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .gacha_movie_btn{
    width: 20vw;
  }
}
@media screen and (min-width:1270px) {
  .gacha_lastone_btn,
  .gacha_movie_btn{
    bottom: 3vw;
  }
}
@keyframes huerotator {
  0% {
    background-position: 0% center;
  }
  100% {
    background-position: 200% center;
  }
}
.gacha_lastone_btn:after{
  content: '';
  position: absolute;
  right: 20px;
  width: 12px;
  height: 12px;
  border-radius: 1px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.gacha_movie{
  text-align: center;
}
.gacha_movie_start{
  font-size: 1.4rem;
  font-weight: bold;
}
@media screen and (min-width:780px) {
  .gacha_movie_start{
    font-size: 1.8rem;
  }
}
@media screen and (min-width:1025px) {
  .gacha_movie_start{
    font-size: 2.2rem;
  }
}
/* lightbox */
.lightbox{
  height: 100vh;
}
.lightbox .lb-image{
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.10);
}
.lightboxOverlay{
  background-color: rgba(255, 255, 255, 0.9);
}
.lb-outerContainer{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.lb-closeContainer {
  position: absolute;
  top: -25px;
  right: 0;
  color: #fff;
  font-weight: bold;
}
.lb-closeContainer .lb-close:after{
  content: "×";
  display: block;
  font-size: 40px;
  font-weight: normal;
}
.lb-closeContainer .lb-close:hover {
    cursor: pointer;
    opacity: 1;
}

/* 領収書印刷 */
@media print {
  
}
/* 個人情報保護方針など */
.general .main_column h2{
  font-size: 1rem;
}
@media screen and (min-width:780px) {
  .general .main_column h2{
    font-size: 1.125rem;
  }
}
.general .main_column ul,
.general .main_column ol{
  margin: 40px 0;
  padding-left: 20px;
}
.general .main_column ul li ol,
.general .main_column ol li ul{
  margin: 10px 0;
}
.general .main_column ul{
  list-style-type: disc;
}
.general .main_column ol{
  list-style-type: decimal;
}
.general .main_column ul li,
.general .main_column ol li{
  padding-left: 10px;
}
/* 領収書 */
.receipt .container{
  display: block;
  max-width: 1180px;
  margin: 0 auto;
  padding: 100px 20px;
}
.receipt .logo{
  max-width: 120px;
  min-width: 120px;
}
.receipt h1{
  font-size: 1.3125rem;
  font-weight: bold;
  text-align: center;
}
.receipt_date{
  font-size: 0.8rem;
}
.receipt table {
  width: 100%;
}
.receipt tr {
  width: 100%;
  display: inline-table;
}
.receipt_product .table_inner {
  border-bottom: 3px solid;
}
.receipt_product tr:last-child .table_inner {
  border-bottom: 0;
}
.receipt .table th{
  padding: 5px;
  border-bottom: 3px solid;
  background: #d7d8d9;
  text-align: center;
  font-size: 1rem;
  position: relative;
}
.receipt .table th span{
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translate(-0%, -50%);
  font-size: 0.5rem;
  font-weight: normal;
}
@media screen and (min-width:375px) {
  .receipt .table th span{
    font-size: 0.6rem;
  }
}
@media screen and (min-width:780px) {
  .receipt .table th span{
    font-size: 0.8rem;
  }
}
.receipt .table td{
  font-size: 0.8rem;
}
.receipt .table_inner {
  display: grid;
  padding: 10px;
}
.receipt .table_block {
  margin-bottom: 20px;
}
.receipt .table_block {
  border: 3px solid;
}
.receipt .quantity,
.receipt .subtotal,
.receipt .shipping,
.receipt .shipping_total{
  text-align: right;   
  }
.receipt .receipt_total th{
  width: 80%;
  background: none;
  border: none;
  padding: 0;
  text-align: right;
  font-weight: normal;
  font-size: 0.8rem;
}
.receipt_total td{
  text-align: right;
}
.receipt_print {
  text-align: center;
}
.receipt_print a{
  position: relative;
  display: inline;
  text-decoration: underline;
  color: #0080ff;
}
.receipt_print a:before{
  content: "";
  background: url("../img/print_ico.svg") center center no-repeat;
  background-size: cover;
  width: 30px;
  height: 30px;
  display: inline-block;
  position: absolute;
  left: -35px;
  }
@page {
  margin: 10mm;
  size: 210mm 297mm; /* A4縦サイズの場合 */
}
@media print{
  body {
    zoom: 0.8;
  }
  .receipt .container{
    padding: 0;
  }
  .receipt_print{
    display: none;
  }
}
 /* パンくず */
.bc {
  display: flex;
  gap: 0 16px;
  margin: 0 25px;
  font-size: 0.8rem;
  overflow-x: scroll;
  word-break: keep-all;
  white-space: nowrap;
}
@media screen and (min-width:960px) {
  .bc {
    margin: 0;
  }
}
.bc::-webkit-scrollbar {
  display: none;
}
.bc li {
  display: flex;
  align-items: center;
}
.bc li:not(:last-child)::after {
  display: inline-block;
  transform: rotate(45deg);
  width: .3em;
  height: .3em;
  margin-left: 10px;
  border-top: 1px solid;
  border-right: 1px solid;
  content: '';
}
.form_pay .container{
  padding-top: 40px;
  padding-bottom: 40px;
}
.form_pay .heading_block h1{
  margin: 40px 0 20px 0;
 }
.form_pay .heading_block h1,
.form_pay .heading_block p{
  text-align: center;
 }
.form_pay .heading_block ul{
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 20px auto;
  padding: 5px 10px;
 }
.form_pay-logo{
  text-align: center;
}
.form_pay .two_clm{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap:0 10px;
}
.form_pay dl{
  width: 100%;
}
.form_pay dl .two_clm{
  flex-wrap: nowrap;
}
.form_pay .two_clm dl:last-child.form_block{
  margin-bottom: 0;
}
.form_pay .btn_wrap {
  flex-direction: column-reverse;
}
@media screen and (min-width:600px) {
  .form_pay br.sp{
    display: none!important;
  }
  .form_pay .main_column h1{
    margin: 60px 0 20px 0;
   }
  .form_pay .heading_block ul{
    margin: 40px auto 20px auto;
   }
  .form_pay .heading_block ul li{
    width: calc(50% / 6 - 10px);
  }
  .form_pay .two_clm dl{
    width: calc(100% / 2 - 10px);
  }
  .form_pay .two_clm .form_block{
    margin-bottom: 0;
  }
  .form_pay .btn_wrap {
    flex-direction: row;
  }
}
@media screen and (min-width: 900px) {
  .form_pay .container{
    min-height: 100vh;
    height: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 60px;
    background: rgba(245,246,249,0.2);
    border: 1px solid rgba(0,0,0,0.1);
    border-top: 0;
    border-bottom: 0;
  }
  .form_pay .main_column{
    padding: 0;
  }
}

.editor_area {
  line-height: 1.85;
}
.editor_area a {
  display: inline-block;
  text-decoration: underline;
}
.editor_area .ql-size-huge {
  line-height: 1.6;
  font-size: 2.2rem;
}
.editor_area .ql-size-large {
  line-height: 1.6;
  font-size: 1.8rem;
}
.editor_area .ql-size-small {
  line-height: 0.9;
  font-size: 0.8rem;
}
.editor_area ul li,
.editor_area ol li{
	display: list-item;
  line-height: 1.85;
	margin-left: 18px;
  margin-bottom: 10px;
}
.editor_area ul li{
	list-style: disc outside;
}
.editor_area ol li {
	list-style: decimal;
}
.editor_area ul li span.ql-size-huge,
.editor_area ol li span.ql-size-huge{
  vertical-align: -0.23em;
}
.editor_area ul li span.ql-size-large,
.editor_area ol li span.ql-size-large{
  vertical-align: -0.2em;
}
.block-video-youtube-iframe{
  height:100%!important;
  aspect-ratio:16/9!important;
  max-width:100%;
}
pre.ql-syntax{
  white-space: break-spaces;
}

/********スクロールありのモーダル********/
.modal_scroll{
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  height: 100svh;
  width: 100%;
  z-index: 999999;
}
.modal_scroll .modal_bg {
  height: 100dvh;
}
.modal_scroll .modal_cont{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100vh;
  height: 100dvh;
  transform: none;
  border-radius: 0;
  text-align: left;
  z-index: 999;
}
.modal_scroll .modal_inner{
  max-height: calc(100vh - 100px);
  max-height: calc(100dvh - 100px);
  padding: 0 25px 20px 25px;
  overflow-y: auto;
}
@media screen and (min-width:780px) {
  .modal_scroll .modal_cont{
    width: 100%;
    height: auto;
    max-width: 805px;
    max-height: 100vh;
    margin: auto;
    padding: 0;
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%);
    position: absolute;
  }
  .modal_scroll .modal_inner{
    max-height: calc(100vh - 30vh);
    padding: 0 60px 60px 60px;
    overflow-y: auto;
  }
}
.ticket_detail .heading_block{
  margin-bottom: 10px;
}
.ticket_detail .heading_block h1{
  display: inline;
  margin-right: 10px;
  vertical-align: middle;
}
.ticket_detail .heading_block span{
  display: inline-block;
  margin-top: 5px;
  padding: 2px 6px;
  font-size: 0.75rem;
}
@media only screen and (min-width: 780px){
  .ticket_detail .heading_block{
    margin-bottom: 20px;
  }
  .ticket_detail .heading_block h1{
    margin-right: 20px;
  }
  .ticket_detail .heading_block span{
    margin-top: 10px;
    padding: 3px 8px;
  }
}
.ticket_detail .selectbox select{
  padding: 5px 12px;
}
.ticket_detail .table{
  font-size: 0.85rem;
  line-break: anywhere;
  margin-top: 25px;
}
.ticket_detail .table,
.ticket_detail thead{
  width: 100%;
  display: block;
}
.ticket_detail tbody{
  display: flex;
  flex-wrap: wrap;
}
.ticket_detail tbody tr{
  width: 50%;
}
.ticket_detail .table tr{
  display: flex;
  align-items: center;
}
.ticket_detail tbody .start-date,
.ticket_detail tbody .end-date{
  border-bottom: 0;
}
.ticket_detail .table th,
.ticket_detail .table td{
  padding: 15px;
}
.ticket_detail .table th{
  width: 10%;
  min-width: 61px;
  padding-right: 0;
  font-weight: bold;
}
.ticket_detail .table td{
  width: 85%;
  padding-left: 5px;
}
.ticket_detail .table tbody tr th,
.ticket_detail .table tbody tr td{
  padding-top: 10px;
  padding-bottom: 10px;
}
@media only screen and (min-width: 780px){
  .ticket_detail .table{
    font-size: 1rem;
    margin-top: 40px;
  }
  .ticket_detail tbody .start-date,
  .ticket_detail tbody .end-date{
    width: 50%;
  }
  .ticket_detail .start-time,
  .ticket_detail .start-date{
  border-right: 0;
  }
  .ticket_detail .table th,
  .ticket_detail .table td{
    padding: 25px;
  }
  .ticket_detail .table th{

    min-width: 75px;
    padding-right: 0;
  }
  .ticket_detail .table thead th{
    width: 7.5%;
  }
  .ticket_detail .table thead td{
    width: auto;
  }
.ticket_detail .table tbody tr th,
.ticket_detail .table tbody tr td{
  padding-top: 15px;
  padding-bottom: 15px;
}
}
.ticket_detail .flex,
.ticket_detail .table,
.ticket-article_img,
.ticket-article_notes,
.ticket-article_text,
h2.ticket_title,
.ticket-detail_list,
.ticket-article,
.ticket-detail,
.ticket-caution{
  margin-bottom: 25px;
}
.ticket-article_img{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ticket-article_img img{
  max-width: 100%;
  max-height: 100%;
}
@media screen and (min-width:600px) {
  .ticket-article{
    flex-wrap: nowrap;
    align-items: flex-start;
  }
  .ticket_detail .table,
  .ticket-article_img,
  .ticket-article_notes,
  .ticket-article_text,
  h2.ticket_title,
  .ticket-detail_list,
  .ticket-article,
  .ticket-detail,
  .ticket-caution{
    margin-bottom: 40px;
  }
}
.ticket-article_notes {
  padding: 20px 20px 20px 35px;
  font-size: 0.85rem;
}
.ticket-article_notes ul{
  list-style: disc;
}
.ticket-article_notes ul li{
  line-height: 1.5;
}
.ticket-article_notes ul li:not(:last-child){
  margin-bottom: 10px;
}
.ticket-article_link a{
  display: inline-block;
  margin-bottom: 0;
  padding: 10px;
  padding-right: 25px;
  font-size: 0.78rem;
  text-align: center;
}
@media screen and (min-width:375px) {
  .ticket-article_link a{
    font-size: 0.85rem;
  }
}
.ticket-article_link .next_btn:after{
  transform: rotate(135deg);
  border-color: #ff6565;
  right: 5%;
}
@media screen and (min-width:600px) {
  .ticket-article_notes {
    padding: 25px 25px 25px 45px;
  }
  .ticket-article_link{
    text-align: center;
  }
  .ticket-article_link a{
    font-size: 0.85rem;
  }
}
h2.ticket_title{
  margin-top: 0;
  padding: 10px;
  background: rgba(0,0,0,0.7);
  text-align: center;
  color: #fff;
}
.ticket-detail_list li{
  padding: 40px 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 15px;
}
.ticket-detail_list li:nth-child(1){
  margin-top: -25px;
}
.ticket-detail_left,
.ticket-detail_right{
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px 10px;
}
.ticket-detail_title{
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.4;
}
@media screen and (min-width:600px) {
  .ticket-detail_list li:nth-child(1){
    margin-top: -40px;
  }
  .ticket-detail_left{
    width: calc(70% - 15px);
  }
  .ticket-detail_right{
    width: 30%;
    max-width: 230px;
    align-self: self-end;
  }
}
.ticket-detail_label{
  display: flex;
  align-items: center;
  justify-content: center;
  gap :4px;
}
.ticket-detail_label img{
  display: inline-block;
  width: 22px;
}
.ticket-detail_label.next_btn{
  width: 100%;
  padding-right: 30px;
  margin-bottom: 0;
}
.ticket-detail_label.next_btn:after{
  border-top: solid 2px #3cc873;
  border-right: solid 2px #3cc873;
  right: 15px;
}
.ticket-detail_type{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.ticket-detail_period{
  font-weight: bold;
}
.ticket-detail_period span{
  display: inline-block;
  margin-left: 10px;
  font-weight: normal;
}
.ticket-detail_entry{
  width: 100%;
}
.ticket-detail_lottery,
.ticket-detail_general{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.75rem;
  line-height: 1.4;
}
@media screen and (min-width:780px) {
  .ticket-detail_type{
    margin-top: 0;
  }
  .ticket-detail_period{
    width: inherit;
  }
  .ticket-detail_lottery,
  .ticket-detail_general{
    margin-bottom: 0;
  }
}
.ticket-detail_lottery span,
.ticket_history .table_label span,
.subscription_manage .table_label span{
  flex-shrink: 0;
}
.ticket_history .table_label span,
.subscription_manage .table_label span{
  display: block;
  margin-bottom: 20px;
}
@media screen and (min-width:780px) {
  .ticket_history .table_label span,
.subscription_manage .table_label span{
    margin-bottom: 0;
  }
}
.ticket-detail_cart{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 15px 10px;
}
.ticket-detail_price{
  width: calc(40% - 10px);
  font-weight: bold;
  font-size: 1.45rem;
  line-height: 1.4;
  text-align: right;
  order: 2;
}
.ticket-detail_cart dl{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 60%;
  order: 1;
}
.ticket-detail_cart dt{
  flex-shrink: 0;
  }
.ticket-detail_cart dd{
  width: 80%;
}
@media screen and (min-width:600px) {
  .ticket-detail_price{
    width: 100%;
    text-align: right;
    order: 1;
  }
  .ticket-detail_cart dl{
    width: 100%;
    margin-top: -5px;
    justify-content: space-between;
    order: 2;
  }
}
.ticket-detail_cart .next_btn,
.ticket-detail_cart .btn_no{
  width: 100%;
  margin: 0;
  order: 3;
}
.ticket-detail_cart .btn_no:after{
  display: none!important;
}
@media screen and (min-width:780px) {
  .ticket-detail_cart .btn_ye,
  .ticket-detail_cart .btn_no{
    padding: 10px 10px;
  }
  .ticket-detail_cart .btn_no:hover{
    opacity: 1;
    cursor: default;
  }
}
.ticket-caution_text{
  margin-top: 25px;
  padding: 25px;
  font-size: 0.85rem;
}

.ticket-bonus ul li:not(:last-child){
  margin-bottom: 25px;
}
.ticket-bonus dl{
  position: relative;
}
.ticket-bonus dt{
  padding: 18px 18px 18px 45px;
  position: relative;
}
.ticket-bonus dt:before{
  content: "";
  width: 30px;
  height: 30px;
  display: inline-block;
  background-image: url(../img/bonus_ico.svg);
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  left: 5px;
  top: 45%;
  transform: translateY(-50%);
}
.ticket-bonus dd{
  padding: 20px 25px;
}
@media only screen and (min-width: 780px){
  .ticket-bonus dt{
    padding: 20px 20px 20px 65px;
  }
  .ticket-bonus dt:before{
    width: 40px;
    height: 40px;
    left: 10px;
  }
  .ticket-bonus dd{
    padding: 25px 30px;
  }
}
.photo .lock .product_img:before{
  height: 100%;
}
.talent_list .product_name,
.photo .product_name{
  margin-bottom: 6px;
}
.photo_detail--notes{
  font-size: 0.625rem;
  font-weight: normal;
  width: 100%;
}
.photo_detail .product_img{
  position: relative;
}
@media screen and (min-width:780px) {
  .digicon_exp--title,
  .photo_detail--title{
    font-size: 1.3rem;
  }
  .talent_list .product_name,
  .photo .product_name{
    margin-bottom: 8px
  }
  .photo_detail--notes,
  .photo_detail .product_img .tag{
    font-size: 0.820rem;
    font-weight: normal;
  }
}
.photo_list .product_img .tag{
  bottom: 20px;
  left: 20px;
}
.photo_detail .product_img .tag{
  bottom: 10px;
  left: 10px;
}
.product.photo_detail .heading_subblock{
  position: relative;
  margin-bottom: 18px;
  font-weight: bold;
}
.product.photo_detail .heading_sub_flex{
  display:flex;
  flex-wrap:wrap;
}
@media screen and (max-width:420px) {
  .product.photo_detail .heading_sub_flex{
    margin:0 0 18px;
  }
  .product.photo_detail .heading_sub_flex .heading_subblock{
    margin:0;
  }
}
.photo_detail .photo_unit,
.photo_detail .photo_table{
  position: relative;
  padding-top: 18px;
  margin-top: -18px;
}
.photo_detail .photo_album .flex_list > li{
  padding: 10px;
}
.photo_detail .photo_select .flex_list > li{
  background: none;
  border: none;
  border-radius: 0;
}
.photo_detail .photo_select .flex_list .product_link{
  position: inherit;
  background: none;
  opacity: 1;
}
.photo_detail .photo_select .flex_list .product_link:hover{
  opacity: 0.5;
}
@media screen and (min-width:780px) {
  .photo_detail .photo_unit,
  .photo_detail .photo_table{
    padding-top: 30px;
    margin-top: -30px;
  }
  .photo_detail .flex_list{
    gap: 30px;
  }
  .photo_detail .photo_unit .flex_list > li{
    width: calc((100% - 30px* 2) / 3);
  }
  .product.photo_detail .heading_subblock{
    margin-bottom: 30px;
  }
}
.photo_summary{
  margin-bottom: 20px;
}
.photo_summary .product_img_wrap,
.photo_summary .product_detail{
  width: 100%;
  padding: 0!important;
}
.photo_summary .product_name{
  line-height: 1.6;
  border-bottom: none;
  margin-bottom: 10px!important;
  padding-bottom: 0;
}
@media screen and (min-width:780px) {
  .photo_summary{
    margin-bottom: 30px;
  }  
  .photo_summary .product_img_wrap{
    width: 24%;
    min-width: 200px;
  }
  .photo_summary .product_detail{
    flex: 1;
    padding: 0!important;
  }
  .photo_summary .product_name{
    font-size: 1.4rem;
  }
  .photo_summary .product_detail ~ p{
    width: 100%;
  }
}
.photo_summary .product_detail_inner{
  margin-bottom: 10px;
}
.photo_cert{
  margin-bottom: 20px;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  background: #f9f7ef;
  border: 1px solid #e3dbc7;
  font-weight: bold;
}
.photo_cert .btn_area{
  width: 100%;
}
.photo_cert .btn_area a{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px;
}
.photo_cert svg{
  width: 20px;
}
@media screen and (min-width:780px) {
  .photo_cert{
    gap: 40px;
    padding: 40px;
    flex-wrap: nowrap;
  }
  .photo_cert .btn_area{
    width: 30%;
    min-width: 260px;
  }
}
.photo_search .form_inner{
  margin-bottom: 0;
  padding: 20px;
}
.photo_search .form_block{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 20px;
}
.photo_search .form_block:last-of-type{
  margin-bottom: 20px;
}
.photo_search .form_block dt{
  width: 100%;
  margin-bottom: 0;
}
.photo_search .form_block dd{
  width: 100%;
}
.photo_search .btn_wrap .next_btn{
  margin-bottom: 0;
}
@media screen and (min-width:780px) {
  .photo_search .form_inner{
    padding: 40px;
  }
  .photo_search .form_block{
    gap: 20px;
    margin-bottom: 30px
  }
  .photo_search .form_block dt{
    width: 20%;
  }
  .photo_search .form_block dd{
    width: calc(100% - 20% - 20px);
  }
}
.form_block .photo_search--face {
  width: 100%;
  padding: 10px 20px 10px 10px;
  margin-bottom: 0;
  font-size: 0.875rem;
}
@media screen and (min-width:780px) {
  .form_block .photo_search--face {
    width: 35%;
    min-width: 288px;
    margin: 0;
    font-size: 1rem;
  }
}
.photo_search .bib_number .form_box{
  width: 100%;
  font-size: 0.750rem;
}
.photo_search .bib_number .flex_list{
  gap: 10px;
  align-items: center;
}
.photo_search .photo_date .form_box{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 5px;
}
.photo_search .photo_date .title{
  width: 22%;
  font-size: 0.85rem;
}
.photo_search .photo_date .flex_list{
  width: calc(78% - 10px);
  gap: 5px;
}
.photo_search .input_wrapper{
  position: relative;
  width: 100%;
}
@media screen and (min-width:780px) {
  .photo_search .photo_date dt{
    margin-bottom: 28px;
  }
  .photo_search .input_wrapper{
    width: calc(100% / 2 - 5px);
  }
  .photo_search .photo_date .title{
    width: 100px;
  }
  .photo_search .photo_date .flex_list{
    width: calc(100% - 150px);
  }
}
.icon-calendar,
.icon-clock {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  fill: #323232;
}
/* SVGアイコンの色指定 */
.icon-calendar svg,
.icon-clock svg {
  width: 16px;
  height: 16px;
}
input[type=date]::-webkit-calendar-picker-indicator,
input[type=time]::-webkit-calendar-picker-indicator{
  background: transparent;
  z-index: 1;
}
input[type=date],
input[type=time]{
  position: relative;
  min-height: 42px;
  display: flex;
}
@media screen and (min-width:780px) {
  input[type=date],
  input[type=time]{
    min-height: inherit;
  }
}
input[type=date]::-webkit-date-and-time-value,
input[type=time]::-webkit-date-and-time-value {
  text-align: left !important;
}
input[type=date]::-webkit-inner-spin-button,
input[type=time]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  
}
input[type=date]::-webkit-clear-button,
input[type=time]::-webkit-clear-button{
  -webkit-appearance: none;
}
input[type=date]::-webkit-calendar-picker-indicator,
input[type=time]::-webkit-calendar-picker-indicator{
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  color: #d7d8d9;
}
.result_block{
  margin-top: 20px;
  font-weight: normal;
  font-size: 0.85rem;
}
.result_block dl:not(:last-child){
  margin-bottom: 20px;
}
.result_block dt{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px;
  border-radius: 6px 6px 0 0;
  color: #fff;
}
.result_block dl p{
  display: flex;
  flex-wrap: wrap;
}
.result_block dl p:nth-child(1){
  margin-right: 10px;
  white-space: nowrap;
}
.result_block dl p:nth-child(2){
  flex-grow: 1;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
.result_block button{
  width: max-content;
  white-space: nowrap;
  padding: 5px 16px;
  border-radius: 50px;
  text-align: center;
  font-weight: normal;
}
.result_block dd{
  padding: 10px;
  border-radius: 0 0 6px 6px;
}
@media screen and (min-width:780px) {
  .result_block{
    font-size: 1.0rem;
  }
  .result_block dt{
    padding: 10px 20px;
  }
  .result_block dd{
    padding: 20px;
  }
}
.photo_purchase{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap:20px;
}
.photo_purchase li{
  width: 100%;
  border: 0;
  background: none;
}
.photo_purchase a{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 0;
}
@media screen and (min-width:780px) {
  .photo_purchase li{
    width: calc((100% - 20px * 2) / 3);
  }
}
.photo_purchase svg{
  width: 20px;
}
.photo_table table,
.digicon_table table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}
.photo_table .photo_detail--notes img{
  width: 2.4%;
  display: inline-block;
  margin-left: 5px;
  vertical-align: middle;
}
.photo_table .photo_btn a,
.digicon_table .digicon_btn button{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  min-width: 140px;
}
@media screen and (max-width:779px) {
  .photo_table tr,
  .digicon_table tr{
    padding: 20px;
  }
  .photo_table th,
  .photo_table td,
  .digicon_table th,
  .digicon_table td {
    vertical-align: middle;
  }
  .photo_table th,
  .digicon_table th{
    padding-bottom: 5px;
  }
  .digicon_table .digicon_detail{
    line-height: 1.5;
    padding-bottom: 12px;
  }
  .photo_table tr,
  .photo_table th,
  .digicon_table tr,
  .digicon_table th,
  .digicon_table .digicon_detail,
  .digicon_play .digicon_table td{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .photo_table .photo_price,
  .digicon_table .digicon_price{
    width: 48%;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    word-break: break-all;
  }
  .photo_table td:nth-child(3),
  .digicon_live .digicon_table td:nth-child(3),
  .digicon_table td:nth-child(4){
    width: 50%;
    margin-left: auto;
  }
  .photo_table tr:last-child th,
  .photo_table tr:last-child td,
  .digicon_table tr:last-child th,
  .digicon_table tr:last-child td{
    border-bottom: 0;
  }
}
@media screen and (max-width:374px) {
  .photo_table .photo_btn a,
  .digicon_table .digicon_btn button{
    font-size: 0.85rem;
    min-width: 130px;
  }
}
@media screen and (min-width:780px) {
  .photo_table th,
  .photo_table td,
  .digicon_table th,
  .digicon_table td{
    padding: 20px 0;
    vertical-align: middle;
  }
  .photo_table th,
  .digicon_live .digicon_table th,
  .digicon_play .digicon_table th{
    width: 40%;
    padding-left: 40px;
  }
  .digicon_play .digicon_table .bonus_title{
    margin-bottom: 5px;
  }
  .digicon_play .digicon_table .bonus_details{
    line-height: 1.4;
    font-weight: normal;
  }
  .photo_table td,
  .digicon_table td{
    width: 20%;
    margin: 0 auto;
  }
  .digicon_table th{
    width: 25%;
    padding-left: 40px;
    padding-right: 40px;
  }
  .digicon_table .digicon_detail{
    width: auto;
  }
  .photo_table td:last-child,
  .digicon_table td:last-child{
    padding-right: 40px;
    padding-left: 40px;
  }
}
.photo_table .toggle_switch{
  display: inline-flex;
  margin-left: 10px;
}
.photo_price,
.digicon_price{
  font-weight: bold;
}
.photo_price span,
.digicon_price span{
  font-weight: normal;
  font-size: 0.6rem;
}
@media screen and (min-width:780px) {
  .photo_price,
  .digicon_price{
    text-align: right;
  }
  .photo_price span,
  .digicon_price span{
    font-size: 0.8rem;
  }
}
.photo .photo_album li{
  border: 0;
  background: none;
  overflow: visible;
  display: flex;
  flex-wrap: wrap;
}
.photo .photo_album li:before{
  content: "";
  background: rgba(245,246,249,0.8);
  width: 100%;
  height: 100%;
  background-size: cover;
  z-index: -9999999;
  position: absolute;
  bottom: 0;
  left: 0;
}
.photo .photo_album .product_img{
  order: 2;
}
.photo .photo_album .product_link{
  inset: 0;
  background: rgba(255, 255, 255, 1);
  opacity: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.product .photo_album .product_detail{
  padding: 0;
  width: 100%;
}
@media screen and (min-width:780px) {
  .product .photo_album .product_detail{
    padding: 10px;
  }
}
.photo .photo_album .product_name{
  margin-bottom: 10px;
  text-indent: -1.4em;
  padding-left: 1.4em;
  line-height: 1.4;
}
.photo .photo_album .product_name svg{
  width: 14px;
  vertical-align: baseline;
  display: inline-block;
  margin-right: 10px;
  opacity: .5;
}
@media screen and (min-width:780px) {
  .photo .photo_album .product_name{
    text-indent: -1.8em;
    padding-left: 1.8em;
  }
  .photo .photo_album .product_name svg{
    width: 20px;
    vertical-align: text-top;
  }
}
.photo .photo_select .product_img .icn_expand,
.photo .photo_select .product_img .icn_cart,
.photo .photo_select .product_img .tag_match{
  position: absolute;
  z-index: 999;
  line-height: 1;
}
.photo .photo_select .product_img .icn_expand{
  top: 3%;
  left: 3%;
}
.photo .photo_select .product_img .icn_cart{
  padding: 4px;
  border-radius: 3px;
  top: 3%;
  right: 3%;
}
.photo .photo_select .product_img .tag_match{
  top: 2%;
  left: 10%;
  padding: 6px 10px;
}
.photo_detail #multi01:checked ~ .photo_select .flex_list li .product_img .icn_expand,
.photo_detail #multi02:checked ~ .photo_select .flex_list li .product_img .icn_expand,
.photo_detail #multi03:checked ~ .photo_select .flex_list li .product_img .icn_expand,
.photo_detail #multi01:checked ~ * .photo_select .flex_list li .product_img .icn_expand,
.photo_detail #multi02:checked ~ * .photo_select .flex_list li .product_img .icn_expand,
.photo_detail #multi03:checked ~ * .photo_select .flex_list li .product_img .icn_expand{
  width: 15px;
}
.photo_detail #multi01:checked ~ .photo_select .flex_list li .product_img .icn_cart,
.photo_detail #multi02:checked ~ .photo_select .flex_list li .product_img .icn_cart,
.photo_detail #multi03:checked ~ .photo_select .flex_list li .product_img .icn_cart,
.photo_detail #multi01:checked ~ * .photo_select .flex_list li .product_img .icn_cart,
.photo_detail #multi02:checked ~ * .photo_select .flex_list li .product_img .icn_cart,
.photo_detail #multi03:checked ~ * .photo_select .flex_list li .product_img .icn_cart{
  width: 25px;
  height: 25px;
}
.photo_detail #multi03:checked ~ .photo_select .flex_list li .product_img .tag_match{
  top: 2%;
  left: 16%;
  padding: 4px 10px;
}
@media screen and (min-width:780px) {
  .photo_detail #multi03:checked ~ .photo_select .flex_list li .product_img .tag_match{
    top: 3%;
  }
}
.photo_detail #single01:checked ~ .photo_select .flex_list li .product_img .icn_expand,
.photo_detail #single02:checked ~ .photo_select .flex_list li .product_img .icn_expand,
.photo_detail #single03:checked ~ .photo_select .flex_list li .product_img .icn_expand,
.photo_detail #single01:checked ~ * .photo_select .flex_list li .product_img .icn_expand,
.photo_detail #single02:checked ~ * .photo_select .flex_list li .product_img .icn_expand,
.photo_detail #single03:checked ~ * .photo_select .flex_list li .product_img .icn_expand{
  width: 20px;
}
.photo_detail #single01:checked ~ .photo_select .flex_list li .product_img .icn_cart,
.photo_detail #single02:checked ~ .photo_select .flex_list li .product_img .icn_cart,
.photo_detail #single03:checked ~ .photo_select .flex_list li .product_img .icn_cart,
.photo_detail #single01:checked ~ * .photo_select .flex_list li .product_img .icn_cart,
.photo_detail #single02:checked ~ * .photo_select .flex_list li .product_img .icn_cart,
.photo_detail #single03:checked ~ * .photo_select .flex_list li .product_img .icn_cart{
  width: 30px;
  height: 30px;
}
.photo_detail #single03:checked ~ .photo_select .flex_list li .product_img .tag_match{
  font-size: 0.875rem;
  top: 2%;
  left: 12%;
}
.photo_detail #single01:checked ~ .photo_select .flex_list li .product_img .tag_date,
.photo_detail #single02:checked ~ .photo_select .flex_list li .product_img .tag_date,
.photo_detail #single03:checked ~ .photo_select .flex_list li .product_img .tag_date,
.photo_detail #single01:checked ~ * .photo_select .flex_list li .product_img .tag_date,
.photo_detail #single02:checked ~ * .photo_select .flex_list li .product_img .tag_date,
.photo_detail #single03:checked ~ * .photo_select .flex_list li .product_img .tag_date{
  font-size: 0.875rem;
}
.photo .photo_select .product_detail{
  padding: 12px 0 0 0;
}
.photo .photo_select_cart{
  margin-top: 15px;
  padding: 5px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 0.7rem;
}
.photo .photo_select_cart span{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.photo .photo_select_cart .icn_cart{
  width: 16px;
  height: auto;
  flex-shrink: 0; 
}
@media screen and (min-width:780px) {
  .photo_detail #multi01:checked ~ .photo_select .flex_list li .product_img .icn_expand,
  .photo_detail #multi02:checked ~ .photo_select .flex_list li .product_img .icn_expand,
  .photo_detail #multi03:checked ~ .photo_select .flex_list li .product_img .icn_expand,
  .photo_detail #multi01:checked ~ * .photo_select .flex_list li .product_img .icn_expand,
  .photo_detail #multi02:checked ~ * .photo_select .flex_list li .product_img .icn_expand,
  .photo_detail #multi03:checked ~ * .photo_select .flex_list li .product_img .icn_expand{
    width: 20px;
  }
  .photo_detail #multi01:checked ~ .photo_select .flex_list li .product_img .icn_cart,
  .photo_detail #multi02:checked ~ .photo_select .flex_list li .product_img .icn_cart,
  .photo_detail #multi03:checked ~ .photo_select .flex_list li .product_img .icn_cart,
  .photo_detail #multi01:checked ~ * .photo_select .flex_list li .product_img .icn_cart,
  .photo_detail #multi02:checked ~ * .photo_select .flex_list li .product_img .icn_cart,
  .photo_detail #multi03:checked ~ * .photo_select .flex_list li .product_img .icn_cart{
    width: 30px;
    height: 30px;
  }
  .photo_detail #single01:checked ~ .photo_select .flex_list li .product_img .icn_expand,
  .photo_detail #single02:checked ~ .photo_select .flex_list li .product_img .icn_expand,
  .photo_detail #single03:checked ~ .photo_select .flex_list li .product_img .icn_expand,
  .photo_detail #single01:checked ~ * .photo_select .flex_list li .product_img .icn_expand,
  .photo_detail #single02:checked ~ * .photo_select .flex_list li .product_img .icn_expand,
  .photo_detail #single03:checked ~ * .photo_select .flex_list li .product_img .icn_expand{
    width: 30px;
  }
  .photo_detail #single01:checked ~ .photo_select .flex_list li .product_img .icn_cart,
  .photo_detail #single02:checked ~ .photo_select .flex_list li .product_img .icn_cart,
  .photo_detail #single03:checked ~ .photo_select .flex_list li .product_img .icn_cart,
  .photo_detail #single01:checked ~ * .photo_select .flex_list li .product_img .icn_cart,
  .photo_detail #single02:checked ~ * .photo_select .flex_list li .product_img .icn_cart,
  .photo_detail #single03:checked ~ * .photo_select .flex_list li .product_img .icn_cart{
    width: 40px;
    height: 40px;
  }
  .photo_detail #single03:checked ~ .photo_select .flex_list li .product_img .tag_match{
    font-size: 1.75rem;
    top: 2.5%;
    left: 8.5%;
  }
  .photo_detail #multi03:checked ~ .photo_select .flex_list li .product_img .tag_match{
    padding: 4px 10px;
    left: 12%;
  }
  .photo_detail #single01:checked ~ .photo_select .flex_list li .product_img .tag_date,
  .photo_detail #single02:checked ~ .photo_select .flex_list li .product_img .tag_date,
  .photo_detail #single03:checked ~ .photo_select .flex_list li .product_img .tag_date,
  .photo_detail #single01:checked ~ * .photo_select .flex_list li .product_img .tag_date,
  .photo_detail #single02:checked ~ * .photo_select .flex_list li .product_img .tag_date,
  .photo_detail #single03:checked ~ * .photo_select .flex_list li .product_img .tag_date{
    font-size: 1.75rem;
  }
  .photo_detail #single01:checked ~ .photo_select .flex_list .photo_select_cart,
  .photo_detail #single02:checked ~ .photo_select .flex_list .photo_select_cart,
  .photo_detail #single03:checked ~ .photo_select .flex_list .photo_select_cart,
  .photo_detail #single01:checked ~ * .photo_select .flex_list .photo_select_cart,
  .photo_detail #single02:checked ~ * .photo_select .flex_list .photo_select_cart,
  .photo_detail #single03:checked ~ * .photo_select .flex_list .photo_select_cart{
    padding: 20px;
  }
  .photo .photo_select .product_detail{
    padding: 20px 0 0 0;
  }
  .photo .photo_select_cart{
    margin-top: 26px;
    padding: 10px 20px;
    font-size: 0.9rem;
  }
  .photo .photo_select_cart .icn_cart{
    width: 20px;
    height: 20px;
  }
}
.photo .photo_select_cart.btn_no span{
  opacity: .5;
}
.photo .photo_select .photo_area a{
  display: inline-block;
  text-decoration: underline;
}

.photo_detail .layout_radio {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 152px;
  height: 26px;
  margin-left: auto;
  /*position: absolute;*/
  top: 18px;
  right: 0;
}
.photo_detail .layout_text {
  font-size: 0.75rem;
  margin-right: 3px;
}
@media screen and (min-width:780px) {
  .photo_detail .layout_radio {
    width: 165px;
    top: 30px;
  }
  .photo_detail .layout_text {
    font-size: 0.85rem;
    margin-right: 5px;
  }
}
.photo .btn_multi,
.photo .btn_single {
  width: 26px;
  height: 26px;
  cursor: pointer;
}
.photo .btn_multi span,
.photo .btn_single span {
  display: block;
  background: #ccc;
  border-radius: 2px;
  transition: all .3s ease;
}
.photo .btn_multi:hover span,
.photo .btn_multi:hover span:after,
.photo .btn_single:hover span,
.btn_single:hover span:after {
  background: #aaa;
}
.photo_detail .btn_multi {
  position: relative;
}
.photo_detail .btn_multi span {
  display: block;
  width: 12px;
  height: 12px;
}
.photo_detail .btn_multi span:first-child {
  margin-bottom: 2px;
}
.photo_detail .btn_multi span:after {
  content: "";
  position: absolute;
  right: 0;
  width: 12px;
  height: 12px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
  transition: all .3s ease;
}
.photo_detail .btn_single span {
  width: 26px;
  height: 12px;
}
.photo_detail .btn_single span:first-child {
  margin-bottom: 2px;
}
.photo_detail #single01:checked ~ .photo_select .flex_list li,
.photo_detail #single02:checked ~ .photo_select .flex_list li,
.photo_detail #single03:checked ~ .photo_select .flex_list li,
.photo_detail #single01:checked ~ * .photo_select .flex_list li,
.photo_detail #single02:checked ~ * .photo_select .flex_list li,
.photo_detail #single03:checked ~ * .photo_select .flex_list li{
  width: 100%;
}
.photo_detail #multi01:checked ~ .layout_radio .btn_multi span,
.photo_detail #multi02:checked ~ .layout_radio .btn_multi span,
.photo_detail #multi03:checked ~ .layout_radio .btn_multi span,
.photo_detail #multi01:checked ~ .layout_radio .btn_multi span:after,
.photo_detail #multi02:checked ~ .layout_radio .btn_multi span:after,
.photo_detail #multi03:checked ~ .layout_radio .btn_multi span:after,
.photo_detail #single01:checked ~ .layout_radio .btn_single span,
.photo_detail #single02:checked ~ .layout_radio .btn_single span,
.photo_detail #single03:checked ~ .layout_radio .btn_single span,
.photo_detail #multi01:checked ~ * .layout_radio .btn_multi span,
.photo_detail #multi01:checked ~ * .layout_radio .btn_multi span:after,
.photo_detail #single01:checked ~ * .layout_radio .btn_single span,
.photo_detail #single02:checked ~ * .layout_radio .btn_single span,
.photo_detail #single03:checked ~ * .layout_radio .btn_single span{
  background: #3B4144;
}
.photo .logo{
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 20%;
}
.talent_list .detail,
.talent_list .time,
.photo .detail,
.photo .time{
  width: 100%;
  font-size: 0.625rem;
  word-break: break-all;
  line-height: 1.4;
}
.talent_list .product_name{
  font-size: 1.125rem;
}
.talent_detail .product_name{
  font-size: 1rem;
}
.talent_list .profile{
  line-height: 1.6;
  font-size: 0.85rem;
}
.photo .detail .photo_file{
  margin-bottom: 5px;
}
@media screen and (min-width:780px) {
  .talent_list .detail,
  .talent_list .time,
  .photo .detail,
  .photo .time{
    font-size: 0.85rem;
  }
  .photo .detail .photo_file{
    margin-bottom: 8px;
  }
  .talent_list .product_name{
    font-size: 1.25rem;
  }
  .talent_list .profile{
    font-size: 1rem;
  }
  .talent_detail .product_name{
    font-size: 1rem;
  }
}
.talent_list .product_detail_inner .pending,
.photo .product_detail_inner .pending{
  display: inline-block;
}
.talent_list .product_detail_inner,
.photo .product_detail_inner{
  display: flex;
  flex-wrap: wrap;
}

/******** 拡大写真モーダル ********/
.modal_exp-photo.modal_scroll .modal_cont{
  max-width: 1000px;
}
.modal_exp-photo.modal_scroll .modal_inner{
  max-height: calc(100vh - 230px);
  max-height: calc(100dvh - 230px);
  padding: 0;
}
@media screen and (min-width:780px) {
  .modal_exp-photo.modal_scroll .modal_inner{
    max-height: calc(100vh - 140px);
    max-height: calc(100dvh - 140px);
    padding-bottom: 40px;
  }
}
.modal_exp-photo.modal .block{
  padding: 0 20px 20px;
  margin-bottom: 20px;
}
.photo_explain{
  padding: 60px 20px 0px 20px;
  font-size: 0.7rem;
}
.product .modal_exp-photo .block:not(:last-child),
.product .product_modal .block:not(:last-child){
  margin-bottom: 0;
}
.modal_exp-photo .photo_table{
  margin-top: 0;
}
.photo_navigation{
  display: flex;
  justify-content: space-between;
  padding: 10px 20px 20px;
}
.photo_navigation__next.next_btn{
  display: flex;
  justify-content: end;
  width: 100%;
  margin-bottom: 0;
}
.photo_navigation__prev.back_btn {
  margin:0;
}
.photo_navigation__prev a,
.photo_navigation__next a{
  width: max-content;
  border-width: 1px;
  border-style: solid;
  border-radius: 50px;
  margin: 0;
}
.photo_navigation__prev a{
  padding: 5px 30px 5px 40px;
}
.photo_navigation__next a{
  padding: 5px 40px 5px 30px;
}
@media screen and (min-width:780px) {
  .modal_exp-photo.modal .block{
    padding: 0px 60px 20px 60px;

  }
  .photo_explain{
    padding: 30px 75px 0px 60px;
    font-size:0.8rem;
  }

  .photo_navigation{
    padding: 15px 75px 15px 60px;
  }
  .photo_navigation__prev a{
    padding: 5px 40px 5px 50px;
  }
  .photo_navigation__next a{
    padding: 5px 50px 5px 40px;
  }
}
.modal_exp-photo.modal h2.photo_detail--title{
  margin: 0;
}
.modal_exp-photo.modal .photo_thumb{
  width: max-content;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.photo_popup .product_img,
.photo_cart_confirm.modal .product_img{
  max-height: 80vh;
  width: 100%;
  padding-bottom: 0;
}
.photo_popup .product_img .photo_thumb,
.photo_cart_confirm.modal .product_img .photo_thumb{
  position: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  height: auto;
  margin: 0 auto;
}
.photo_popup .product_img .photo_thumb img,
.photo_cart_confirm.modal .product_img .photo_thumb img{
  max-height: 80vh;
  width: auto;
  height: auto;
  object-fit: contain;
}
.modal_exp-photo .photo_compose{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px;
  background: #ffffff;
}
.modal_exp-photo .photo_compose .flex_list{
  width: 50%;
  justify-content: flex-start;
  margin-bottom: 0;
  gap: 5px;
  font-size: 0.875rem;
  font-weight: bold;
}
.modal_exp-photo .photo_compose .photo_detail--notes{
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}
.modal_exp-photo .photo_detail--notes a{
  text-decoration: underline;
}
.modal_exp-photo .photo_compose .photo_detail--notes img{
  width: 8%;
}
.photo_search_list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.modal_exp-photo.modal .photo_result--bib span{
  display: block;
  border-width: 1px;
  border-style:  solid;
  padding: 10px 20px;
}
@media screen and (min-width:780px) {
  .modal_exp-photo .photo_compose{
    padding: 10px 20px;
  }
  .modal_exp-photo .photo_compose .flex_list{
    font-size: 1rem;
  }
  .modal_exp-photo .photo_compose .photo_detail--notes img{
    width: 4%;
  }
}
.modal_exp-photo.modal .photo_summary th{
  width: 30%;
}
.modal_exp-photo.modal .photo_summary td{
  width: 70%;
}
@media screen and (min-width:780px) {
  .modal_exp-photo.modal .photo_summary th{
    width: 12%;
  }
  .modal_exp-photo.modal .photo_summary td{
    width: 85%;
  }
}
.modal_search_block{
  padding: 14px 20px 20px 20px;
  margin-bottom: 20px;
}
.modal_search_block .file{
  display: flex;
  gap:10px;
}
.modal_search_block .file label{
  width: 80%;
  cursor: pointer;
  font-size: 0.875rem;
}
.modal_search_block .file input{
  font-size: 0.875rem;
}
.modal_search_title{
  font-weight: bold;
}
.modal_search_box{
  margin-bottom: 30px;
}
.photo_result--face li {
  display: block;
  position: relative;
  width: calc((100% - 10px * 3) / 4);
  max-width:  calc((100% - 10px * 3) / 4);
}
.photo_result--face li::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.photo_result--face li img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;

}
@media screen and (min-width:780px) {
  .modal_search_block{
    padding: 30px 40px 40px;
    margin-bottom: 40px;
  }
  .modal_search_title{
    font-size: 1.3rem;
  }
  .photo_result--face li {
    width: calc((100% - 10px * 7) / 8);
    max-width:  calc((100% - 10px * 7) / 8);
  }
  .modal_search .photo_result--face li{
    width: calc((100% - 10px * 4) / 5);
    max-width:  calc((100% - 10px * 4) / 5);
  }
  .modal_search_block .file label{
    width: 40%;
  }
}

/******** 切り抜きモーダル ********/
.modal_cutout-photo.modal_scroll .modal_cont{
  max-width: 1000px;
}
.modal_cutout-photo .one_clm .info,
.modal_cutout-photo .two_clm .info{
  height: 200px;
  overflow-y: scroll;
  margin: 0;
  order: 2;
}
.modal_cutout-photo .one_clm .btn_wrap{
  order: 1;
}
.modal_cutout-photo .one_clm,
.modal_cutout-photo .two_clm{
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 40px 10px;
}
@media screen and (min-width:780px) {
  .modal_cutout-photo .one_clm .info,
  .modal_cutout-photo .two_clm .info{
    padding: 30px;
  }
  .modal_cutout-photo .two_clm .product_img{
    width: 65%;
  }
  .modal_cutout-photo .two_clm .info{
    height: 55vh;
    flex: 1;
    order: inherit;
  }
  .modal_cutout-photo .two_clm .btn_wrap{
    flex-grow: 1;
  }
}
.modal_cutout-photo .product_img{
  width: 100%;
  padding-bottom: 0;
}
.modal_cutout-photo .product_img .photo_thumb{
  position: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  height: auto;
  margin: 0 auto;
}
.modal_cutout-photo .product_img img{
  max-height: 65vh;
  width: auto;
  height: auto;
  object-fit: contain;
}
@media screen and (min-width:780px) {
  .modal_cutout-photo .product_img{
    padding: 0;
  }
  .modal_cutout-photo .two_clm .product_img img{
    max-height: 55vh;
  }
}
.modal_cutout-photo .btn_wrap,
.photo_memorial_position .btn_wrap{
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.modal_cutout-photo .btn_wrap{
  gap: 10px;
}
.modal_cutout-photo .btn_wrap li{
  flex-basis: calc(50% - 5px);
}
@media screen and (min-width:780px) {
  .modal_cutout-photo .btn_wrap li {
    flex-grow: 1;
    flex-basis: 0;
  }
}
.modal_cutout-photo .btn_wrap button,
.photo_memorial_position .btn_wrap button{
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.modal_cutout-photo .btn_wrap button{
  padding: 10px;
}
.modal_cutout-photo .btn_wrap button svg {
  width: 20px;
}
.modal_cutout-photo .btn_wrap .cutout_btn_rotate svg{
  width: 15px;
}
.modal_cutout-photo .btn_wrap .cutout_btn_cancel svg{
  width: 16px;
}
.modal_cutout-photo .btn_wrap .cutout_btn_close svg{
  width: 13px;
}

/******** photo_popup ********/
.photo_popup_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  height: 100dvh;
}
.photo_popup_inner{
  width: 90%;
}
.photo_popup_inner .photo_compose{
  width: 100%;
  margin: 20px auto;
}
.photo_popup_inner .photo_compose .flex_list{
  justify-content: center;
}
/******** photo_result ********/
.photo_result .layout_radio {
  top: 0;
}
.photo_result .result_block{
  margin-top: 20px;
  margin-right: -25px;
  margin-left: -25px;
  padding: 10px 25px;
}
.photo_result .heading_block .btn_wrap{
  width: max-content;
  border-radius: 50px;
}
.photo_result .heading_block .flex_list{
  align-items: center;
  gap: 10px;
}
.photo_result .heading_block .result_img{
  flex-grow: 1;
}
.photo_result .heading_block h1{
  margin-bottom: 0;
  padding-bottom:0;
  border: none;
  font-size: 1rem;
}
@media screen and (min-width:780px) {
  .photo_result .result_block{
    margin: 0;
    margin-top: 20px;
    padding: 30px 40px;
  }
.photo_result .heading_block .flex_list{
  gap: 20px;
}
  .photo_result .heading_block h1{
    font-size: 1.75rem;
  }
}
.photo_result .photo_unit{
  padding-top: 50px;
  margin-top: 25px;
}

/********　写真販売カート  ********/ 
.photo.cart_confirm .thumb .icn{
  margin: 10px 0;
}
.photo_cart_delivery .shipping{
  display: flex;
  justify-content: center;
  gap: 20px;
}
.photo_cart_delivery .radio-label{
  display: inline-block;
  padding: 10px 20px;
  cursor: pointer;
}
.photo_cart_delivery .radio-label:hover {
  opacity: .5;
  transition: 0.3s ease;
}

#domestic_shipping{
  display: block;
}
#international_shipping{
  display: none;
}

.cart_delivery .address_change{
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}
.cart_delivery .address_change .radio-label{
  display: inline-block;
  padding: 0.5rem;
  cursor: pointer;
  font-size:0.825rem;
  border-radius: 6px !important;
}
.cart_delivery .address_change .radio-label:hover {
  opacity: .5;
  transition: 0.3s ease;
}
/********　記念証  ********/
@media screen and (max-width:767px) {
  .photo_memorial_select .layout_radio{
    position: inherit;
    margin-bottom: 10px;
  }
  .photo_memorial .flex_list {
    gap: 25px;
  }
  .photo_memorial .flex_list li{
    width: 100%;
  } 
}
.photo_memorial_position .info{
  margin-top: 0;
}
.photo_memorial_position .slider_wrap{
  margin-top: 20px;
  text-align: center;
}
.photo_memorial_position .product_img{
  max-height: 60vh;
  width: 100%;
  padding-bottom: 0;
  background: none;
}
.photo_memorial_position .product_img .photo_thumb {
  position: inherit;;
  width: auto;
  height: auto;
  margin: 0 auto;
}
.photo_memorial_position .photo_thumb img{
  max-height: 60vh;
  width: auto;
  height: auto;
  object-fit: contain;
}
.photo_memorial_position input[type="range"] {
  -webkit-appearance: none;
  width: 100%;
  height: 8px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  outline: none;
  opacity: 0.8;
  transition: opacity 0.2s;
}
.photo_memorial_position .btn_wrap .back_btn,
.mypage .btn_wrap .back_btn{
  order: 2;
}
@media screen and (min-width:780px) {
  .photo_memorial_position .slider_wrap{
    margin-top: 40px;
  }
  .photo_memorial_position input[type="range"] {
    width: 50%;
  }
  .photo_memorial_position .btn_wrap .next_btn,
  .mypage .btn_wrap .next_btn{
    order: 2;
  }
}
.photo_memorial_position input[type="range"]:hover {
  opacity: 1;
}
.photo_memorial_position input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  background: #323232;
  cursor: pointer;
  border-radius: 50%;
}
.photo_memorial_position input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #323232;
  cursor: pointer;
  border-radius: 50%;
}
@media screen and (min-width:780px) {
  .photo_memorial_position .btn_wrap{
    width: 60%;
    margin: 0 auto;
  }
  .photo_memorial_position .btn_wrap li{
    flex-basis: calc(50% - 5px);
  }
}
.table-responsive {
  width: 100%;
  overflow-x: auto;
}
.responsive-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  table-layout: fixed;
}
.responsive-table th,
.responsive-table td {
  padding: 12px 17px;
  border: 1px solid rgba(0,0,0,0.1);
  vertical-align: middle;
  text-align: center;
}
.responsive-table th {
  font-weight: bold;
}
.responsive-table th.photo_price {
  width: 140px;
}
.responsive-table th.photo_btn{
  width: 200px;
}
.responsive-table td.photo_size{
  text-align: left;
}
.responsive-table td.photo_note{
  text-align: left;
}
.responsive-table td a,
.responsive-table td button{
  padding: 5px 10px;
  cursor: pointer;;
}
/* スマホ向けのレスポンシブ対応 */
@media screen and (max-width:1199px) {
  .responsive-table thead {
    display: none; /* ヘッダーを非表示 */
  }
  .responsive-table,
  .responsive-table tbody,
  .responsive-table tr,
  .responsive-table td {
    display: block;
    width: 100%;
  }
  .responsive-table tr {
    margin-bottom: 25px;
    border: 1px solid rgba(0,0,0,0.1);
  }
  .responsive-table td {
    text-align: left;
    padding-left: 40%;
    width: 100%!important;
    position: relative;
    border: none; 
    border-bottom: 1px solid rgba(0,0,0,0.1);
  }
  .responsive-table td::before {
    content: attr(data-label);
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    width: calc(40% - 20px);
    padding-left: 10px;
    text-align: left;
    font-size: 0.8rem;
    font-weight: bold;
  }
  .responsive-table td.photo_size::before {
    display: none;
  }
  .responsive-table td.photo_size {
    padding-left: 25px;
    text-align: center;
    font-weight: bold;
  }
  .responsive-table td.photo_btn {
    padding-left: 25px;
  }
  .responsive-table td:last-child{
    border-bottom: 0;
  }
}
.funclub_payment_history .mypage_btn_block{
  margin-top: 60px;
}
.funclub_payment_history .info{
  margin-bottom: 30px;
}
@media screen and (max-width:1199px) {
  .funclub_payment_history .responsive-table td::before,
  .digicon .responsive-table td::before{
    height: 100%;
    left: 0;
    border-right: 1px solid rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .funclub_payment_history .mypage_btn_block{
    margin-top: 40px;
  }
}

/******** ファンクラブ支払い ********/
.funclub_pay .plan-change__current,
.funclub_pay .alert_box{
  margin-bottom: 20px;
}
.funclub_pay .main_column h2{
  margin:0;
}
.funclub_pay .info{
  margin-bottom: 30px;
}
@media screen and (min-width:780px) {
  .funclub_pay .plan-change__current,
  .funclub_pay .alert_box{
    margin-bottom: 40px;
  }
  .funclub_pay .info{
    margin-bottom: 60px;
  }
}
/******** ファンクラブプラン ********/

.funclub_plan .info{
  margin-bottom: 20px;
}
@media screen and (min-width:780px) {
  .funclub_plan .info{
    margin-bottom: 40px;
  }
}
.plan-change__title {
  text-align: center;
  margin-bottom: 30px;
}
.plan-change__current,
.plan-change__option {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 6px;
  margin-bottom: 20px;
}
.plan-change__current{
  border: 2px solid #5d5fe8;
}
.plan-change__button{
  padding: 20px 20px 0 20px;
}
.plan-change__current .plan-change__button{
  background-color: #5d5fe8;
  padding: 10px;
  color: #fff;
}
.plan-change__current .plan-change__button,
.plan-change__button{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  font-weight: bold;
}
.plan-change__button button{
  border:1px solid #5d5fe8;
  border-radius: 50px;
  padding: 10px 15px;
  cursor: pointer;
  font-size: 1rem;
  color: #5d5fe8;
}
@media screen and (min-width:780px) {
  .plan-change__current,
  .plan-change__option {
    display: flex;
  }
  .plan-change__button{
    padding: 20px 0 20px 20px;
    width: 26%;
  }
  .plan-change__button button:hover{
    background-color: #5d5fe8;
    color: #fff;
    opacity: 1;
    transition: all .3s ease-out;
  }
}
.plan-change__inner{
  text-align: center;
}
.plan-change__details {
  padding: 20px;
  flex: 1;
}
.plan-change__name {
  font-size: 1.4rem;
  font-weight: bold;
  color: #5d5fe8;
}
.plan-change__price {
  font-weight: bold;
}
.plan-change__price-value{
  font-size: 2.4rem;
}
.plan-change__note {
  display: inline-block;
  padding: 2px 20px;
  border-radius: 50px;
  background: rgba(0, 0, 0, 0.3);
  font-weight: normal;
  font-size: 0.8rem;
}
.plan-change__option .plan-change__note{
  background: rgba(0, 0, 0, 0.07);
}
.modal_funclub_plan_change.modal_scroll .modal_cont {
    max-width: 1000px;
}
.modal_funclub_plan_change.modal_scroll .modal_inner{
  max-height: calc(100vh - 71px);
  max-height: calc(100dvh - 71px);
}
@media screen and (min-width:780px) {
  .modal_funclub_plan_change.modal_scroll .modal_inner{
    max-height: calc(100vh - 144px);
    max-height: calc(100dvh - 144px);
  }
}
.funclub_regist .sup{
  padding: 20px 0 40px 0;
}

/******** デジコン一覧 ********/
.digicon .info{
  margin-bottom: 20px;
}
.digicon .info,
.digicon .info_heading{
  font-size: 0.85rem;
}
.digicon .info .btn_wh{
  width: max-content;
  margin-top: 10px;
  padding: 6px 20px;
}
@media only screen and (min-width: 780px) {
  .digicon .info{
    margin-bottom: 40px;
  }
}
.digicon .tag_schedule{
  position: absolute;
  bottom: 10px;
  left: 10px;
}
.digicon .responsive-table th, 
.digicon .responsive-table td {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .digicon .responsive-table td{
    padding: 12px;
    padding-left: 30%;
  } 
  .digicon .responsive-table td::before {
    width: calc(30% - 10px);
  }
}
.digicon .responsive-table th:nth-child(1), 
.digicon .responsive-table td:nth-child(1) {
  width: 22%;
  min-width: 150px;
}
.digicon .responsive-table th:nth-child(2), 
.digicon .responsive-table td:nth-child(2) {
  width: 45%;
}
.digicon .responsive-table th:nth-child(3), 
.digicon .responsive-table td:nth-child(3) {
  width: 13%;
  min-width: 100px;
}
.digicon .responsive-table th:nth-child(4), 
.digicon .responsive-table td:nth-child(4) {
  width: 20%;
  min-width: 60px;
}
.digicon .responsive-table .product_name{
  display: block;
  margin-bottom: 16px;
  text-align: left;
  font-weight: bold;
}
.digicon .product_detail .tag{
  margin-top: 6px;
}
.digicon .single .product_detail .tag{
  margin-top: 8px;
}
@media only screen and (min-width: 780px) {
  .digicon .product_detail .tag{
    margin-top: 8px;
  }
}
.digicon_exp--title,
.digicon .product_name{
  line-height: 1.5;
}
.digicon_exp--title{
  margin-bottom: 10px;
  font-weight: bold;
}
/******** デジコン詳細 ********/
.digicon_summary{
  margin-bottom: 20px;
}
@media only screen and (min-width: 780px) {
  .digicon_summary{
    margin-bottom: 30px;
  }
  .digicon_summary .flex_list{
    display: grid!important;
    grid-template-columns: 1fr 4fr;
    grid-template-rows: auto auto;
    gap: 10px 20px!important;
  }
  .digicon_summary .product_img_wrap{
    width: 25%;
    min-width: 250px;
    grid-column: 1 / 2;
    grid-row: 1 / 3;
  }
}
.digicon_summary .product_img_wrap{
  width: 100%;
  order: 2;
  }
.digicon_summary .product_img{
  height: 0;
  padding-bottom: 100%;
  position: relative;
}
.digicon_summary .product_img {
  display: grid;
  padding-bottom: 100%;
  position: relative;
  width: 100%;
  background: #f7f7f8;
  overflow: hidden;
}
.digicon_summary .product_img .digicon_thumb{
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.digicon_summary .product_img .digicon_thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition-duration: .1s;
  transition-property: opacity;
  transition-timing-function: ease-in-out;
}
.digicon_summary .product_name{
  margin-bottom: 0;
  order: 1;
}
@media only screen and (min-width: 780px) {
  .digicon_summary .product_name{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }
}
.digicon_summary .product_detail{
  width: 100%;
  padding: 0 !important;
  order: 3;
}
.digicon_summary .info{
  margin: 0;
  margin-bottom: 10px;
  padding: 20px;
}
.digicon_summary .info_list{
  font-size: 0.875rem!important;
  margin-bottom: 10px;
}
.digicon .blog__audio{
  margin-bottom: 20px;
}
.digicon .letter_voice{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 4px;
}
.digicon .letter_voice span{
  padding: 6px 8px;
  font-size: 0.8rem;
  line-height: 1.2;
}
.digicon .date,
.digicon .recipient{
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px 10px;
}
.digicon .recipient span{
  font-size: 0.75rem;
  border-radius: 50px;
  padding: 2px 8px;
}
.digicon_play .bonus_title{
  margin-bottom: 8px;
}
.digicon_play .bonus_details{
  margin-bottom: 10px;
  font-weight: normal;
}
.digicon_play .label_gr{
  margin-left: 6px;
  padding: 2px 6px;
  font-weight: normal;
  font-size: 0.75rem;
}
.digicon_play .recipient{
  justify-content: flex-start;
  font-weight: normal;
}
/******** デジコンモーダル ********/
.modal_digicon_caution dt{
  padding: 18px;
}
.modal_digicon_caution dd{
  padding: 20px 25px;
}
@media only screen and (min-width: 780px) {
  .modal_digicon_caution dt{
    padding: 20px;
  }
  .modal_digicon_caution dd{
    padding: 25px 30px;
  }
}
.modal_digicon_caution_list:not(:last-child){
  margin-bottom: 25px;
}
.digicon_exp--content p,
.modal_digicon_caution_list dd p {
  margin-bottom: 16px;
}
.digicon_exp--content ul,
.modal_digicon_caution_list dd ul {
  margin-bottom: 16px;
}
.digicon_exp--content p:last-child,
.digicon_exp--content ul:last-child,
.modal_digicon_caution_list dd p:last-child,
.modal_digicon_caution_list dd ul:last-child {
  margin-bottom: 0;
}
.modal_digicon_request.modal_scroll .modal_cont{
  max-width: 1000px;
}
.modal_digicon_request .heading_block{
  margin-bottom: 20px!important;
}
.modal_digicon_request .product_name{
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
}
.modal_digicon_request .product_name--sub{
  font-weight: bold;
  text-align: center;
}
.modal_digicon_request .form_block{
  margin-bottom: 16px;
}
@media only screen and (min-width: 780px) {
  .modal_digicon_request .heading_block{
    margin-bottom: 40px!important;
  }
  .modal_digicon_request .product_name{
    margin-bottom: 10px;
    font-size: 1.6rem;
  }
  .modal_digicon_request .form_block{
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 0 10px; 
    align-items: center;
  }
  .modal_digicon_request .form_block dt{
    grid-column: 1;
    margin-bottom: 0;
  }
  .modal_digicon_request .form_block dd {
    grid-column: 2;
  }
}

.modal_digicon_request .form_block textarea{
  min-height: 120px;
}
.modal_digicon_request .form_block .form_notes{
  margin: 0;
}
.modal_digicon_request .input_wrapper{
  display: flex;
  gap: 10px;
}
.modal_digicon_request .input_inner{
  width: 50%;
  position: relative;
}
.modal_digicon_request .checkbox{
  font-size: 0.875rem;
  line-height: 1.4;
}
.modal_digicon_request .checkbox .alert_ico {
  margin-top: 20px;
  justify-content: center;
}
@media only screen and (min-width: 780px) {
  .modal_digicon_request.modal_scroll .modal_inner{
    max-height: calc(100vh - 180px);
    max-height: calc(100dvh - 180px);
  } 
  .modal_digicon_request #caution_error li{
    text-align: center;
  }
}


.talent_summary{
  margin-bottom: 30px;
}
.talent_summary .flex_list{
  display: flex;
  align-items: center;
}
.talent_summary .product_detail{
  width: 100%;
  padding: 0!important;
}
.talent_summary .product_img_wrap{
  width: calc(100% + 50px);
  margin-left: -25px;
  margin-right: -25px;
}
.talent_summary .product_name{
  font-size: 1.6rem;
  margin-top: 5px;
  margin-bottom: 0;
}
.talent_detail .utility_bar{
  justify-content: flex-end;
}
.talent_summary .share-buttons--btm{
  display: none;
}
.talent_summary .flex_list{
  gap: 16px;
}
@media only screen and (min-width: 780px) {
  .talent_summary{
    margin-bottom: 30px;
  }
  .talent_summary .product_img_wrap{
    width: 30%;
    min-width: 250px;
    margin: 0;
  }
  .talent_summary .product_name{
    font-size: 2.0rem;
    margin-bottom: 20px;
  }
  .talent_summary .profile{
    line-height: 2.0;
  }
  .talent_detail .share-buttons--top{
    display: none;
  }
  .talent_summary .share-buttons--btm{
    display: flex;
    justify-content: flex-start;
  }
  .talent_summary .flex_list{
    gap: 30px;
  }
  .talent_summary .product_detail{
    width: inherit;
  }
}
/******** about law ********/
.info_table{
  width:100%;
}
.info_table tr td{
  padding:1.0rem;
  display: list-item;
  list-style:none;
}
/* iOS対策 */
.info_table tr td *{
  display:inline !important;
  width:initial !important;
}
.info_table tr td:first-child {
  background: rgba(245, 246, 249, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  vertical-align: middle;
  font-weight:600;
}
@media screen and (min-width:600px) {
  .info_table tr td{
    width:initial;
    display: table-cell;
  }
  .info_table tr td:first-child{
    border-bottom:unset;
    border-right:1px solid rgba(0,0,0,0.1);
    background: rgba(245, 246, 249, 0.2);
    width: 30%;
  }
}

/******** custom block ********/
.block-button a{
  max-width:100%;
}

/******** margin class ********/
.mt10{
  margin-top:1.0rem;
}
.mt20{
  margin-top:2.0rem;
}
.mt30{
  margin-top:3.0rem;
}
.mb10{
  margin-bottom:1.0rem;
}
.mb20{
  margin-bottom:2.0rem;
}
.mb30{
  margin-bottom:3.0rem;
}
.ml10{
  margin-left:1.0rem;
}
.ml20{
  margin-left:2.0rem;
}
.ml30{
  margin-left:3.0rem;
}
.mr10{
  margin-right:1.0rem;
}
.mr20{
  margin-right:2.0rem;
}
.mr30{
  margin-right:3.0rem;
}
