@charset "UTF-8";

/* WordPress が出力する class の設定 */
.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.alignright {
  float: right;
  margin-bottom: 20px;
  margin-left: 20px;
}
.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
.wp-caption,
[class*='wp-image'] {
  display: block;
  max-width: 100% !important;
  margin-top: 1.5em;
  text-align: center;
}
.wp-caption-text {
  margin-top: 0;
}
/* WordPress が出力する class の設定 */

a:hover{
    opacity: 0.5 ;
}

.pc_disp{
display:block;
}
.sp_disp{
display:none;
}
.link_jump{
display:block;
}

@media (max-width: 1140px) {
    .pc_disp{
    display:none;
    }
    .sp_disp{
    display:block;
    }
}

#nav-wrapper{
width: 100%;
position: relative;
}
.navi_sp_head{
display: flex;
flex-direction: column;    
}
/* 2024.03.04 */
.logo_sp_wrap img{
max-width: 150px;
max-height: 55px;
}
/* 2024.03.04 */
.navi_sp_name{
width: 100%;
display: flex;
justify-content: center;
align-items: center;
height: 30px;
}
.navi_sp_name h1{
font-size: 16px;
}

/* 
hamburger(ハンバーガーアイコン)
=================================== */
.hamburger {
  position: absolute;
  right: 0px;
  top: 0px;
  width: 60px;
  height: 60px;
  cursor: pointer;
  z-index: 300;
}

.hamburger__line {
  position: absolute;
  width: 22px;
  height: 2px;
  right: 0;
  background-color: #000;
  transition: all 0.5s;
}

.hamburger__line--1 {
top: 24px;
right: 20px;
}

.hamburger__line--2 {
top: 30px;
right: 20px;
}

.hamburger__line--3 {
top: 36px;
right: 20px;
}

/*ハンバーガーがクリックされたら*/
.open .hamburger__line--1 {
  transform: rotate(-45deg);
  top: 24px;
}

.open .hamburger__line--2 {
  opacity: 0;
}

.open .hamburger__line--3 {
  transform: rotate(45deg);
  top: 24px;
}

/* 
sp-nav(ナビ)
=================================== */
.sp-nav {
display:none;
width: 100%;
background-color: #fff;
/* 閉じるアニメーション */
transition:
border-top     .3s ease-out,
padding-top    .3s ease-out,
padding-bottom .3s ease-out;
z-index: 200;
overflow-y: auto;
}
.sp-nav li{
border-top: 1px solid #c8c8c8;
}
.sp-nav a{
display: block;
padding: 3%;
}
.sp-nav a i{
margin-right: 5px;
}

/* 
black-bg(ハンバーガーメニュー解除用bg)
=================================== */
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  z-index: 2;
}

/*ハンバーガーメニューが開いたら表示*/
.open .black-bg {
  opacity: 0.3;
  visibility: visible;
}


/*topへ戻る*/
#page_top {
    position: fixed;
    bottom: 0px;
    right: 0px;
}
#page_top a {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#page_top a:hover {
    text-decoration: none;
}

.lb-nav a.lb-prev{
    opacity:1 !important;
}
.lb-nav a.lb-next{
    opacity:1 !important;
}

@media (min-width: 1141px) {
    #nav-wrapper {
        display: none;
    }
}

@media (max-width: 1140px) {
    #nav-wrapper {
    display: block;
    }
    #page_top {
        bottom: 50px;
    }
    #page_top a{
        width: 50px;
        height: 50px;
    }
}
/*2026.10.13 start*/
._survey{
    max-width: 580px;
    margin:40px auto;
    padding:0 1rem;
    min-height: 50svh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
}
._survey .site-content-container{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
._survey h1{
    font-size: 1.3rem;
    font-weight: bold;
}
._survey .alert-box{
    padding:20px;
    background:#fff3cd;
    color:#856404;
    text-align:center;
    border-radius:5px;
    line-height: 1.6;
}
._survey .copyrights{
    font-size: 12px;
    color: #CCCCCC;
    text-align: center;
}
._lottery_list{
    width: 100%;
    border: 4px solid #0073aa;
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}
._lottery_list h2{
    font-weight:bold;
    color:#0073aa;
    margin-top:0;
}
._action_btn{
    padding: 15px 45px;
    font-size: 18px;
    font-weight: bold;
    background: #d9534f;
    color: #fff;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(217,83,79,0.4);
    margin-top: 1rem;
}
.slot-container{
    width: 100%;
    border: 4px solid #0073aa;
    background: #fff;
    padding: 1rem;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    margin-bottom: 20px;
    overflow: hidden;
}
._slot_wrap{
    width: 100%;
    min-width: 300px;
}
.slot-display{
    width: 100%;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.6;
    color: #d9534f;
    height: 60px;
    /*line-height: 60px;*/
    display: flex;
    justify-content: center;
    align-items: center;
}
.coupon-display{
    margin-top: 15px;
    padding-top: 15px;
    border-top: 2px dashed #0073aa;
    font-size: 16px;
    color: #333;
}
.lose-message{
    margin-top: 15px;
    padding-top: 15px;
    border-top: 2px dashed #ccc;
    font-size: 15px;
    color: #555;
    line-height: 1.8;
}
.lose-txt{
    text-align: center;
    font-size: 0.9rem;
}
._coupon_wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
._period{
    font-weight: bold;
    color: #d9534f;
}
.use-coupon-btn{
    padding: 12px 30px;
    font-size: 16px;
    font-weight: bold;
    background: #28a745;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    box-shadow: 0 3px 6px rgba(0,0,0,0.1);
}
.used-badge{
    display: none;
    padding: 12px;
    background: #6c757d;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    border-radius: 6px;
}
.note-text{
    font-size: 13px;
    color: #666;
}
#code-text{
    color: #d9534f;
}
.confirm-dialog{
    border: none;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    max-width: 90%;
    width: 400px;
    text-align: center;
}
.confirm-dialog p{
    font-size: 15px;
    color: #333;
    margin: 15px 0;
}
.confirm-dialog_inner{
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 10px;
}
.dialog-cancel-btn{
    padding: 10px 20px;
    font-size: 14px;
    background: #6c757d;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}
.dialog-confirm-btn{
    padding: 10px 20px;
    font-size: 14px;
    background: #28a745;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
}
/*2026.10.13 end*/

