@import "/css/font-awesome/css/font-awesome.min.css";

/* ********** 共通 ********** */    
section{
    margin: 0 auto;
    padding: 0;
    }

h2.font1{
    font-size: 3rem;
     font-family:"Noto Serif JP",serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
    text-align: center;
    font-weight: bold;
    color: #fff;
    margin: 0.5em 0 0;
    } 
    
h2.font1 + div{
    font-size: 1rem;
    font-weight: normal;
    color: #fff;
    margin-bottom: 1em;
    }
    
@media only screen and (min-width: 769px) {
    h2.font1{
    font-size: 3rem;
     font-family:"Noto Serif JP",serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;
    text-align: center;
    font-weight: bold;
    margin: 0;        
    } 
    
    h2.font1 + div{
    font-size: 1.2rem;
    }
}     

h3{
    font-size: 1.2rem;
    text-align: center;
    line-height: 2;
    font-weight: bold;
    padding: 0.5em 0 0 0;
    }

@media only screen and (min-width: 768px) {       
    h3{
    font-size: 1.5rem;
    line-height: 2.6;
    padding: 0.5em 0 0 0;    
    }     
}    
    
section{
    //text-align: center;
    }

.note{
    font-size: 0.9rem !important;
    color: #222;
    text-align: left;
    display: inline-block !important;
    margin: 0 1em 1.5em 0.9em !important;
	padding-left:1em;
	text-indent:-1em;    
}

@media only screen and (min-width: 768px) {      
    .note{
    font-size: 0.9rem !important;
    color: #222;
    text-align: left;
    display: inline-block !important;
    margin-left: -20px !important;
    }
}

@media only screen and (min-width: 768px) {   

.note{
    font-size: 1rem !important;
    color: #222;
    text-align: left;
    display: inline-block;
    }
}

/* ********** トップ ********** */
.lead {
    font-size: 0.9rem;    
	margin: 0.5em 1em 2em;
	line-height: 1.2;
    line-height: 1.7;      
}

@media only screen and (min-width: 768px) {
	.lead {
        font-size: 1rem;
        line-height: 1.5;
        margin: 0 auto;
        text-align: left;
        }        
}

.mv_top{
    margin: 0;
    padding: 0.6em 0 0.9em;
    background: #222;
    color: #fff;
    font-weight: bold;
    font-size: 1.4rem;
    } 

.mv_top span{
    font-size: 1.15rem;  
    line-height: 1.1;
}

@media only screen and (min-width: 768px) {
    .mv_top{
    padding:0.1em 0 0.8em;
    } 
    
    .mv_top span{
    font-size: 1.2rem;  
    line-height: 1.1;
    }    
}     

img.camera_icon{
   width: 80px !important;
   margin: 0.2em 0.1em -0.3em 0;   
}

@media only screen and (min-width: 768px) {
    img.camera_icon{
    width: 160px !important;
    margin: 0.2em 0.1em -0.6em 0;     
    }
}    

.balloon {
  position: relative; /* 三角の位置を固定するために設定 */
  // width: 300px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
    .balloon {
      margin: 0 auto;
    }
}

@media only screen and (min-width: 768px) {
    .mv_top{
    font-size: 3rem;
    } 
    
    .mv_top span{
    font-size: 1.9rem;
    line-height: 2;
    }
}

.mv_wrap{
    margin: 0; 
    text-align: center;
    }

.mv_wrap .lead{
    margin: -10% auto 0; 
    }
    
.mv{
    margin: -440px auto 0;
    background: url(/hapinavi/images/main.jpg) center center / cover no-repeat;
    background-position: auto 100%;
    }
    
.mv .title{    
    width: 38%;
    margin: 5.5% 0 0;
    padding: 2em 0 4em;
    }

@media only screen and (min-width: 769px) {
    .mv {
    margin: -7% auto 0;
    background: url(/hapinavi/images/main.jpg) center center / 40% 50% cover no-repeat;
    background-size:100% auto;
    height: 118vh;
	}
    
    .mv .title{    
    width: 44%;
    margin-top: 80px; 
    padding: 0;    
    }
}

@media only screen and (max-width: 768px) {
    .mv {
    margin: -13% auto 0;      
    background:url(/hapinavi/images/main.jpg) no-repeat center center;
    background-size:100% auto; 
    position: relative;
    padding: 0; 
    height: 400px;
    }
}    

@media only screen and (max-width: 640px) {
    .mv {
    margin: -37% auto 0;      
    background:url(/hapinavi/images/main.jpg) no-repeat center center;
    background-size:100% auto; 
    position: relative;
    padding: 0; 
    height: 250px;
    }
}

/* ********** 告知 ********** */
.info_wrap{
    padding: 0.8em 0 2.2em;
    background: #313131;
    color: #fff;
    text-align: center;
}

.info_wrap h2 a{
    text-decoration: underline !important;
    color: #fff;
}

.info_wrap a:hover{
    opacity: 0.8 !important;
}

.info_wrap img{
    width: 65%;
    margin: 2em auto 1em;
}
 
.info_wrap h2{
    font-size: 1.2rem;
    text-align: center;
    font-weight: bold;
    color: #fff;
    margin: 0.5em 0 0;
    line-height: 2;
    }

.info_wrap h2 span{
    font-size: 1.05rem;
    }

@media only screen and (min-width: 769px) {
    .info_wrap{
    padding: 1.5em 0 0;   
    }
    
    .info_wrap img{
    width: 40% !important;
    margin: 1em auto 0.5em;
    }
    
    .info_wrap h2{
    font-size: 2rem;
    padding: 0 0 0.8em 1.5em;        
    } 
    
    .info_wrap h2 span{
    font-size: 1.8rem;
    }    
}     

@media only screen and (max-width: 769px) {
    .info_wrap img{
    width: 60% !important;
    margin: 1.8em auto 0.5em;
    font-size: 0.9rem;    
    }
} 

@media only screen and (min-width: 768px) {
    .info_wrap{
    font-size: 1rem;
    } 
}    
    
/* ********** BACKNUMBER ********** */
.backnumber_wrap{
    padding: 0.8em 0 2.2em;
    color: #fff;
    text-align: center;
    background: #313131;
}

@media only screen and (min-width: 768px) {
    .backnumber_wrap{
    padding: 1em 0 2em;    
    }
}


.backnumber_wrap a{
    display: block;
    position: relative;
    color: #fff;
    text-decoration: underline !important;
}

.backnumber_wrap .fa {
	color: #fff;
    margin-left: 0.5em;
    font-size: 0.7rem;
    position: absolute;
    top:0.5em;
    font-weight: normal;
}


/* ********** YOUTUBE ********** */
.youtube{
    background-color: #292929;
    padding: 3rem;
    margin-top: 0;
    }
    
.video {
    position: relative;
    height: 0;
	padding-top:56.25%;
    overflow: hidden;
    margin-bottom: 2em;
	z-index: 10;
    }

.video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
	z-index: 10;
    }

.video_col {
	width: 70%;
    margin: 0 auto;
	z-index: 10;
	}    

/* リード文章 */
.lead_wrap{
    text-align: center;
    padding: 0 0 0.5em 0;
    font-weight: bold;
    } 

.lead_wrap .lead{
    line-height: 2.1;
    font-size: 0.9rem;
    } 

@media only screen and (min-width: 768px) {
    .lead_wrap .lead{
    text-align: center;
    padding: 2.5em 0;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 2.3;
    } 
}    

@media only screen and (max-width: 414px) {
    .lead_wrap .lead{
    padding: 1.8em 0 1.1em;
    }
}

.stripe {
  position: relative;
  padding: 0.3em;
}
.stripe:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: repeating-linear-gradient(-45deg, orange, orange 2px, white 2px, white 4px);
}

.stripe2:after {
  background: repeating-linear-gradient(-45deg, black, black 1px, white 1px, white 2px);
}

@media only screen and (min-width: 768px) { 
    .stripe {
      position: relative;
      padding: 0.3em;
    }
    .stripe:after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 7px;
      background: repeating-linear-gradient(-45deg, orange, orange 2px, white 2px, white 4px);
    }
    
    .stripe2:after {
      background: repeating-linear-gradient(-45deg, black, black 2px, white 2px, white 4px);
    }
}

/* ********** コンセプト ********** */    
.concept_wrap{
    text-align: center;
    background: #222;
    color: #fff;
    margin-top: 0;
    padding: 2em 0 0;
    } 
.concept_wrap .lead{    
    margin: 1em 1em 4em;
    }    
.concept_wrap img{    
    opacity: .8;
    }    
.concept_wrap .col2 { 
    display: flex;
    flex-direction: column;
}   

.concept_wrap .col2 .lead{
   margin: 0 2em 5em;
   text-align: left;
   line-height: 2;
}

.right_col{
    
}


@media only screen and (min-width: 768px) {   
    .concept_wrap{
        margin-top: 0 !important;
        padding: 0;
    }
    
    .concept_wrap .lead{   
    margin: 0 7% 15% 4% !important;
    }    
    
    .concept_wrap .col2 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        margin: 0 auto;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    
    .concept_wrap .col2 li:first-child{
        padding-top: 13%;
    }
    
    .concept_wrap .col2 > * {
        //width: calc((100% - 1.5em) / 2);
        width: 48%;
    }
    
    .concept_wrap .col2 > *:nth-child(2n) {
        // margin-left: 1.5em;
    }
    
    .concept_wrap .col2 .lead{
        //height: 3.5em;
    }
    
    .right_col h2{
        margin-top:0; 
    }
}        
      

@media only screen and (max-width: 768px) {  
    .concept_wrap .col2 {
        flex-direction: column;
    } 
    
    .concept_wrap .col2 > * {
         width: 100%;
    }
    
    .concept_wrap .col2 li:first-child{
        padding: 8% 1em 14% 2em;
    }
    
    .concept_wrap .lead{   
    margin: 0 7% 0 4% !important;
    }    
}        
     
@media only screen and (max-width: 411px) {  
    .concept_wrap .col2 li:first-child{
        padding: 2% 0 6%;
    }
    
    .concept_wrap .lead{   
    margin: 0 7% 14% 7% !important;
    }        
    
}   


@media only screen and (max-width: 1024px) {  
    .concept_wrap .col2 > * {
        width: 100%;
    }
}

@media only screen and (min-width: 1024px) {  
    .concept_wrap .col2 > * {
        width: 48%;
    }
}


/* ********** プログラム ********** */    
.program_wrap{
    text-align: center;
    background: #313131;
    color: #fff;
    padding: 2.5em 0 2em;
    margin-top: -10px;
    }

.program_wrap div.title_p{
     margin: 2em 0 1em;   
    }

.program_wrap ul{
    display: block;
    font-family:monospace;
    transform: rotate(0.028deg);
    font-size: 0.9rem;
    text-align: center;
    margin-left: 2em;
    }  
    
.program_wrap li{
    text-align: left;
    margin: 0 auto;
    }  
    
@media only screen and (min-width: 768px) {  
    .program_wrap{
    padding: 4em 0 5em;
    margin-top: -5px;    
    }
    
    .program_wrap div.title_p{
    margin: 3em 0 1em;
    font-size: 1.1rem;
    }
    
    .program_wrap ul.date_list{
    font-size: 1.5rem;
    margin-left: 0;        
    }  
    .program_wrap ul.date_list li{
    width: 640px;
    text-align: left;
    margin: 0 auto;
    }      
} 
    
.program_wrap ul.date_list li div{
    display: inline-block;
    font-family: "Courier New", Consolas, monospace;
    transform: rotate(0.028deg);
    }       
    
.program_wrap span{    
    font-size: 85%;
    }
    
@media only screen and (min-width: 768px) {      
   .program_wrap ul.date_list li div{
    width: 11em;
    } 
}    
    
.program_wrap ul.date_list li div:after {
    content:"～　";
    }
    
.program_wrap ul.date_list li div span{
    text-align: right;
    }
.program_wrap ul.date_list li div span:first-child,
.program_wrap ul.date_list li div span:nth-child(2){
    }
    
.program_wrap ul.date_list li div span:first-child{
    margin-right: 1em; 
    text-align: right;
    }
    
/* ********** プレゼント ********** */   
.present_col {
    font-size: 1rem !important;
    margin: 1.5em auto;
    padding: 0 0 0.5em 0;
    //background: #f1f1f1;
    background: #f6e6e8;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
    width: 97%;
    text-align: center;
}
.present_col .box-title {
    font-size: 1.2em;
    font-family: 'Lobster', cursive;    
    background: #A54050;
    padding: 0;
    text-align: center;
    color: #fff;
    letter-spacing: 0.05em;
    line-height: 1.8;
    text-align: center;
}
    
.present_col p {
    font-size: 0.8rem;
    line-height: 1.7;
    font-size: 0.8rem !important;
    padding: 1em;
    margin: 0;
    color: #222;
}

.present_col span {
    font-weight: bold;
    font-size: 0.95rem;
} 
    
@media only screen and (min-width: 768px) {       
    .present_col{
    font-size: 1.1rem !important;
    /*line-height: 2.3;*/
    /*width: 760px;*/
    }  
    
    .present_col p {
    font-size: 1rem !important;
    line-height: 2;
    padding: 1em 2em;
    margin: 0;
    color: #222;
    }
      
    .present_col span {
    font-weight: bold;
    font-size: 1.2rem;
    }    
    
    .present_col .box-title {
    font-size: 2rem !important;
    padding: 0;    
    }
} 
    
/* ********** 出演者 ********** */   
.staff_wrap{ 
    text-align: center; 
    background: #222;
    padding: 3em 0;
    color: #fff;
    }  

.staff_wrap h3 span{ 
    font-size: 70%;
    font-weight: normal;
    }  

.staff_wrap .title{ 
    font-size: 1.5rem;
    line-height: 2;
    font-weight: bold;
    }

.staff_wrap .s_title{ 
    font-size: 1rem;
    line-height: 2;
    font-weight: normal !important;
    margin-bottom: 1em;
    }


.staff_wrap img{
   width: 90%;
   margin: 0 auto;    
}      

.staff_wrap .lead{
    text-align: center;
    margin-bottom: 1em;
    }    
    
.staff_wrap .txt{
    text-align: center;
    margin:3em auto 1em;
    font-size: 0.75rem;
    line-height: 1.8;
    width: 90%;
    }    

.staff_wrap .col2 { 
    display: flex;
    flex-direction: column;
}   

.staff_wrap .col2 li{
    background: #333;
    padding: 2.5em 1em 1em;
} 
    
.staff_wrap dl.col2{    
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 2em;
}     
    
.staff_wrap .col2 dl{
    width: 100%;
    font-size:0.8rem !important;
}   
    
.staff_wrap .col2 dt{  
    width: 28%;
    align-self:flex-start;
    padding-left: 0.8em;
}    

.staff_wrap .col2 dd{  
    width: 70%;
    padding-right: 0.8em;    
}     
     
.staff_wrap .col2 dt,
.staff_wrap .col2 dd{     
   text-align: left;
   line-height: 1.8;
}      
    
@media only screen and (min-width: 768px) { 
    .staff_wrap{ 
    padding: 4em 0 5em;    
        }  
    
    .staff_wrap .txt{
    font-size: 0.9rem;
    } 
    
    .staff_wrap .title{ 
    font-size: 1.5rem;
    line-height: 2;
    font-weight: bold;
    }

    .staff_wrap .s_title{ 
    font-size: 1rem;
    line-height: 2;
    font-weight: bold;
    }
    
    .staff_wrap img{
        margin: 0;
    }      
    
    .staff_wrap .col2 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        // align-items: center;
        // width: 1200px;
        margin: 0 auto;
        justify-content:space-around;
    }
    
    .staff_wrap .col2 li{
        margin-bottom: 2em;
    }
    
    .staff_wrap .col2 .lead{
    }
    
    .staff_wrap .col2 dl{
        font-size:12px;
        margin-bottom: 4em;
    }   

    .staff_wrap .col2 > * {
        width: calc((100% - 1.5em) / 2);
    }
    .staff_wrap .col2 > *:nth-child(2n) {
        margin-left: 1.5em;
    }
    
    .staff_wrap .col2 dt{  
    width: 23%;
    }    

    .staff_wrap .col2 dd{  
        width: 65%;
    }   
}    

.menu ul {
    margin: 0;
    padding: 0;
    background :#505050;
    list-style: none;
}

.menu li {
    max-height: 0;
    border-bottom: none;

    /*はみ出た文字を非表示にする*/
    overflow: hidden;
    transition-property: all;
    transition-duration: 0.5s;
}
      

/* ******** スタート時　*******　*/
     
.cp_actab_start {
    width: 92%;
    margin: 0 auto 1.5em;
    color: #fff;
    padding: 2em 0 0;  
    background: #444;
}

.cp_actab_start img{
    width: 80%;
}


@media only screen and (min-width: 768px) {        
  .cp_actab_start {
    padding: 2em 0 0;  
    position: relative;
    overflow: hidden;
    width: 760px; 
    }
}    
    
.cp_actab_start input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.cp_actab_start label {
    font-weight: bold;
    line-height: 3;
    position: relative;
    display: block;
    padding: 0 0 0 1em;
    cursor: pointer;
    margin: 0 0 1px 0;
    font-size:1.2rem;
}

.cp_actab_start .cp_actab_start-content {
    color: #fff;
    background: #505050;
    padding: 0.5em 1em 1em;
}

.cp_actab_start .cp_actab_start-content p {
    margin: 1em;
    font-size: 0.8rem !important;
    line-height: 2;
    text-align: center;    
}
   
@media only screen and (min-width: 768px) {   
    .cp_actab_start label {
    font-size:1.4rem;
    }  
    
    .cp_actab_start .cp_actab_start-content p {
    margin: 1em;
    font-size: 1.05rem !important;
    line-height: 2;
    padding: 0; 
    }    
}
.cp_actab_start p{
    margin-bottom:0px;
}

.bn_list{
    text-align: center;
    margin: 0 auto !important;
}

.bn_list li{    
    text-align: center;
}

.bn_list a{
    color: #fff;
    font-size: 1.1rem;
    text-decoration: underline !important;
    position: relative;
    line-height: 2;
}

.bn_list a::before {
    content: url(/hapinavi/images/tv_icon.png);
    color: #fff;
    position: absolute;
    top:-0.2em;
    left:-2em;
}

@media only screen and (min-width: 768px) {    
    .bn_list a{
    color: #fff;
    font-size: 1rem;
    line-height: 2; 
    }    
}

@media only screen and (min-width: 768px) {    
.bn_list a{
    color: #fff;
    font-size: 1.3rem;
    line-height: 2;
    }
}



/* ******** バックナンバー　*******　*/
.cp_actab {
    position: relative;
    overflow: hidden;
    width: 92%;
    margin: 0 auto;
    color: #fff;
    border-bottom: 1px dotted #fff;
}

@media only screen and (min-width: 768px) {        
  .cp_actab {
    position: relative;
    overflow: hidden;
    width: 760px; 
    }
}    
    
.cp_actab input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.cp_actab label {
    font-weight: bold;
    line-height: 3;
    position: relative;
    display: block;
    padding: 0 0 0 1em;
    cursor: pointer;
    margin: 0 0 1px 0;
    font-size:1.2rem;
}

.cp_actab .cp_actab-content {
    overflow: hidden;
    max-height: 0;
    -webkit-transition: max-height 0.5s;
    transition: max-height 0.5s;
    color: #fff;
    background: #505050;
}

.cp_actab .cp_actab-content p {
    margin: 1em;
    font-size: 0.8rem !important;
    line-height: 2;
    text-align: center;    
}
   
@media only screen and (min-width: 768px) {   
    .cp_actab label {
    font-size:1.4rem;
    }  
    
    .cp_actab .cp_actab-content p {
    margin: 1em;
    font-size: 1.05rem !important;
    line-height: 2;
    padding: 0; 
    }    
}
.cp_actab p{
    margin-bottom:0px;
}

/* :checked */
    .cp_actab input:checked ~ .cp_actab-content {
    max-height: 20em;
}

/*チェックのアイコン（↓）*/
.cp_actab label:after{
    font-family:"FontAwesome";
    content:" \f078 MORE";
    position: absolute;
    top: 1em;
    right: 0.5em;
    height: 3em;
    font-weight: normal;
    font-size: 0.8rem;
    color: #fe617a;
    letter-spacing: 1px;
}

@media only screen and (min-width: 768px) { 
    .cp_actab label:after{
    top: 1em;
    right: 6em;  
    content:"\f078　もっと見る";
    font-size: 0.9rem;   
    color: #222;     
    }
}

/*チェックのアイコン（↑）*/
.cp_actab input:checked ~ label::after {
    font-family:"FontAwesome";
    content:"\f077 CLOSE";
    font-size: 0.8rem;
    color: #fe617a;
    letter-spacing: 1px;
} 

@media only screen and (min-width: 768px) { 
.cp_actab input:checked ~ label::after {
    font-size: 0.9rem;
    content:"\f077　閉じる";
    color: #222;
    } 
} 
         
.u-alpha,
.u-alpha img {
    -webkit-transition: 1s;
    transition: 1s;
}
.u-alpha:hover,
.u-alpha:hover > img {
    opacity: .7;
}    
    
/* ********** 商品アイテム ********** */    
.item_wrap{
    text-align: center;
    background:#eee !important;
    margin-top: 0;
    padding: 3em 2em 5em;
    color: #222 !important;
    } 

.item_wrap　img{
     max-width: 100%;
    }     
    
.item_wrap h2{
    color: #222;
    }

.item_wrap h2 + div{
    color: #222 !important;
    }

.item_wrap h3{
    font-size: 1rem;
    margin-top: 0;
    border-bottom: 1px dotted #222;
    }

.item_wrap h3:first-child{
    margin-top: 1em;
   }
    
.item_wrap li:empty{
    background: #eee;
    display: none;
}

.item_wrap .cp_actab{
    color: #222;
}    

@media only screen and (min-width: 768px) { 
.item_wrap h3{
    font-size: 1.2rem;
    margin-top: 0;
    }
    
.item_wrap h3:first-child{
    margin-top: 0;
   }    
    
.item_wrap li:empty{
    background: #eee;
    display: block;
    }
}
    
.item_wrap .lead{    
    margin: 1em 1.5em 4em 0;
    }    

.open_luckey_title{
    background: #A54050;
    color: #fff;
    font-weight: bold;
    padding: 0.2em;
    font-size: 1.65rem;
    line-height: 1.8;
    margin: 4em 0 1em 0;
    border-radius: 80px;
}

.open_luckey{
    position: relative;
    box-sizing: border-box;
    }

.open_luckey h3 {
    font-weight: bold;
    font-size: 1.45rem;
    line-height: 2;
    vertical-align: bottom;
    }

.open_luckey h3 span{
    font-size: 80%;
    }

.open_luckey h3::after {
    content: "＋ もっと見る";
    font-size: 1rem;
    position: absolute;
    top:-10px;
    right:40px;
    color: #222;
    }

.open_luckey h3.active::after {
    content: "× 閉じる";
    position: absolute;
    top:-10px;
    right:40px;
    }

/* ********** iPad ********** */
@media only screen and (max-width: 768px) {
    .open_luckey h3::after {
    content: "＋ もっと見る";
    color: #222;
    font-size: 1rem;
    position: absolute;
    top:-0.5em;
    right:20px;
    }

    .open_luckey h3.active::after{
    content: "× 閉じる";
    color: #222;
    font-size: 1rem;
    position: absolute;
    top:-0.5em;
    right:20px;
    }
}
 
/* ********** iPad Pro 以上 ********** */
@media only screen and (min-width: 768px) {
    .open_luckey h3::after{
    content: "＋ もっと見る";
    color: #222;
    font-size: 1rem;
    position: absolute;
    top:1.4em;
    right:100px;
    }

    .open_luckey h3.active::after{
    content: "× 閉じる";
    color: #222;
    font-size: 1rem;
    position: absolute;
    top:1.4em;
    right:100px;
    }
    
    .open_luckey_title{
    background: #A54050;
    color: #fff;
    font-weight: bold;
    padding: 0.2em;
    font-size: 1.65rem;
    line-height: 1.8;
    margin: 4em 0 1em 0;
    border-radius: 80px;
    }
    
}


/* ********** iPhone6,7,8 ********** */ 
@media only screen and (max-width: 414px) {
    .open_luckey{
    position: relative;
    padding: 0 0.5em;
    box-sizing: border-box;
    }
    
    .open_luckey h3 {
    font-size: 1.2rem;
    }
    
    .open_luckey h3::after,
    figure::after{
    content: "＋MORE";
    font-size: 0.9rem;
    position: absolute;
    color: #D26A7A;    
    top:1.1em;
    right:0.5em;
    }

    .open_luckey h3.active::after,
    figure.active::after{
    content: "×CLOSE";
    font-size: 0.9rem;
    position: absolute;
    color: #D26A7A;      
    top:1.1em;
    right:0.5em;
    }
    
    .open_luckey_title{
    background: #A54050;
    color: #fff;
    font-weight: bold;
    padding: 0.2em;
    font-size: 1.2rem;
    line-height: 1.8;
    margin: 2em 0 1em 0;
    border-radius: 80px;
    }
    
}


/* 福袋開けた中身　*/
article{
    text-align: center;
    margin: 0;
    padding:0;
    background: #fff;    
}

article div{
    padding: 0;
    margin: 0;    
    color: #222;
    }

@media only screen and (min-width: 768px) {
    article div{
    padding: 0;
    margin: 0;  
    color: #222;
    }
}

.moredetail {
	margin: 1em 0 0;
    font-size: 1rem;
}

.moredetail a {
	display: block;
	padding: 0.5em 0;
	background-color: #9a0000;
	color: #fff;
	text-align: center;
	position: relative;
    font-size: 1rem;
}
.moredetail a::after {
	content: "\f105";
	font-family: FontAwesome;
	position: absolute;
	top: 50%;
	right: 0.5em;
	transform: translateY(-50%);
}

.moredetail a:hover {
    text-decoration: none;
    color: #fff !important;
    transition: 0.5s;
}
   
@media only screen and (min-width: 768px) { 
    .moredetail {
    font-size: 1rem;
    }    
    
    .item_wrap{
    margin-top: 0 !important;
    padding: 0;
    padding: 3em 2em 5em;        
    }
}      

@media only screen and (max-width: 768px) { 
    .moredetail {
	font-size: 0.9rem;
    }
}   


@media only screen and (max-width: 414px) { 
    .moredetail {
	font-size: 1rem;
    margin-top: 0.8em;
    }
}   


/* **** 4個割り　****/
.lineup {
	margin-top: 1.5em;
    padding: 0 1.5em 1em;
}

.lineup li {
	padding: 0;
    margin: 0;
	//background-color: #fff;
}

.lineup dt {
	text-align: center;
    font-size: 1rem;
	margin: 1em 0 0.6em;
    font-weight: bold;
}

.lineup dt span{
    font-size: 0.9rem;
}

.lineup dt span:before{
    content: "〔";
}

.lineup dt span:after{
    content: "〕";
}

.lineup dd {
	font-size: 100%;
}
.lineup .moredetail {
	margin: 0;
}

@media only screen and (min-width: 640px) {
	.lineup {
        margin-top: 0.5em;
		display: flex;
		flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        padding: 0 1.5em 3em;        
	}
	.lineup li {
		width: calc((100% - 8em) / 4);
        margin-top: 2em;
	}
    
    .lineup dt{
       height: 4.5em;
       margin-bottom: 0.5em;
    }
  
}

@media only screen and (min-width: 768px) {
	.lineup {
        margin-top: 0;
		}
}	

@media only screen and (max-width: 768px) {
    .lineup dt {
	font-size: 0.8rem;
    }

    .lineup li {
		width:44%;
        margin-top: 2em;
	}
}


@media only screen and (max-width: 1024px) {
    .lineup li {
		width: calc((100% - 2em) / 2); 
	}
    
    .lineup li{
		margin: 2em 0;
	}
    
    .lineup li:nth-child(odd){
		margin-right: 0 !important;
	}
    
    .lineup li:empty {
    display: none;
    }
}


@media only screen and (max-width: 414px) {
    .lineup dt {
	font-size: 1rem;
    margin-bottom: 1em !important;
    }
    
    .lineup li {
		width: 100%; 
	}
    
    .lineup li {
    margin: 1em 0 3em;
    }
    
    .lineup li:last-child {
    margin-bottom: 0 !important;
    }
    
}

/* **** 3個割り　****/
.lineup_3col {
	margin-top: 0.5em;
    padding: 0 1.5em;
    box-sizing: border-box;
}

.lineup_3col li {
	padding: 0;
    margin: 0;
	//background-color: #fff;
}

.lineup_3col dt {
	text-align: center;
    font-size: 1rem;
	margin: 1em 0 0.6em;
    font-weight: bold;
}

.lineup_3col dt span{
    font-size: 0.9rem;
}

.lineup_3col dt span:before{
    content: "〔";
}

.lineup_3col dt span:after{
    content: "〕";
}

.lineup_3col dd {
	font-size: 100%;
}
.lineup_3col .moredetail {
	margin: 0;
}

@media only screen and (min-width: 640px) {
	.lineup_3col {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    padding: 0 0 3em;
	}
	.lineup_3col li {
		width: calc((100% - 8em) / 4);
        margin-top: 2em;
	}
    
    .lineup_3col dt{
       height: 4.5em;
       margin-bottom: 0.5em;
    }  
}

@media only screen and (max-width: 768px) {
    .lineup_3col dt {
	font-size: 0.8rem;
    }

    .lineup_3col li {
		width:44%;
        margin-top: 2em;
	}
}


@media only screen and (max-width: 1024px) {
    .lineup_3col li {
		width: calc((100% - 2em) / 3); 
	}
    
    .lineup_3col li{
		margin: 2em 0;
	}
    
    .lineup_3col li:nth-child(odd){
		margin-right: 0 !important;
	}
    
    .lineup_3col li:empty {
    display: none;
    }
}


@media only screen and (max-width: 414px) {
    .lineup_3col dt {
	font-size: 1rem;
    margin-bottom: 1em !important;
    }
    
    .lineup_3col li {
		width: 100%; 
	}
    
    .lineup_3col li {
    margin: 1em 0 3em;
    }
   
    .lineup_3col li:last-child {
    margin-bottom: 3em !important;
    }
}


/* **** 1個割り　****/
.lineup_1col {
	margin-top: 1.5em;
    padding: 0 1.5em 1em;
	text-align: center;
}

.lineup_1col li {
	padding: 0;
    margin: 0;
	//background-color: #fff;
}

.lineup_1col dt {
	text-align: center;
    font-size: 1rem;
	margin: 1em 0 0.6em;
    font-weight: bold;
}

.lineup_1col dt span{
    font-size: 0.9rem;
}

.lineup_1col dt span:before{
    content: "〔";
}

.lineup_1col dt span:after{
    content: "〕";
}

.lineup_1col dd {
	font-size: 100%;
}
.lineup_1col .moredetail {
	margin: 0;
}

@media only screen and (min-width: 640px) {
	.lineup_1col {
        margin-top: 0.5em;
		display: flex;
		flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        padding: 0 1.5em 3em;        
	}
	.lineup_1col li {
		width: calc((100% - 8em) / 4);
        margin-top: 2em;
	}
    
    .lineup_1col dt{
       //height: 4.5em;
       margin-bottom: 0.5em;
    }
  
}

@media only screen and (min-width: 768px) {
	.lineup_1col {
        margin-top: 0;
		}
}	

@media only screen and (max-width: 768px) {
    .lineup_1col dt {
	font-size: 0.8rem;
    }

    .lineup_1col li {
		width:44%;
        margin-top: 2em;
	}
}


@media only screen and (max-width: 1024px) {
    .lineup_1col li {
		width: calc((100% - 2em) / 2); 
	}
    
    .lineup_1col li{
		margin: 2em 0;
	}
    
    .lineup_1col li:nth-child(odd){
		margin-right: 0 !important;
	}
    
    .lineup_1col li:empty {
    display: none;
    }
}


@media only screen and (max-width: 414px) {
    .lineup_1col dt {
	font-size: 1rem;
    margin-bottom: 1em !important;
    }
    
    .lineup_1col li {
	width: 100%; 
	}
    
    .lineup_1col li {
    margin: 1em 0 3em;
    }
    
    .lineup_1col li:last-child {
    margin-bottom: 0 !important;
    }
    
}



/* ********** pageTop ********** */
.pageTop {
    position: fixed;
    height: auto;
    width: 62px;
    right: 30px;
    bottom: 60px;
    z-index: 3;
}
@media only screen and (max-width: 640px) {
    .pageTop {
        width: 12%;
        bottom: 2vw;
        right: 2vw;
    }
}
.pageTop img {
    height: auto;
    width: 100%;
}    
   


/* **********  ********** */
@media only screen and (min-width: 1200px) {
    .top,
    .contents_wrap,
	.footer,
	.staff_wrap .col2,
    .item_wrap .lineup,
    .item_wrap ul,
    .open_luckey,
    .open_luckey_title,
    .shoplist_wrap,
    .snsicon_wrap,
    .campaign div,
    .footer{
		width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
}



/* ********** キャンペーン ********** */

.campaign{
    padding: 0 0 5em;
    margin-top: -30px;
}

.campaign .lead{
     padding: 0 1em 1em;
}

.campaign .lead2{
    padding: 1em 0;
    font-size: 14px;
}

.campaign h2{
    padding: 0.8em 0 0;
}

.campaign h2 + p{
    padding: 0 0 2em;
    color: #333;
}


.campaign dt{
    font-weight: bold;
    line-height: 2;
    margin-bottom: 0.1em;
    margin-top: 2em;
    font-size: 14px;
}
 
.campaign dd{
    margin-bottom: 1em;
    font-size: 14px;    
}
 
.comment{
    margin: 2em 0.5em 0;
}

@media only screen and (min-width: 768px) {

.campaign{
    padding: 0 0 5em;
    margin-top: 0;
    }
    
.campaign h2{
    padding: 0.5em 0 0;
    }

.campaign h2 + p{
    padding: 0 0 2em;
    }
       
.campaign .lead{
     padding: 0 1em 2em;
    }
.comment{
    margin: 2em 6em 0;
    } 
    
.campaign h2.font1 + div{  
    margin-bottom: 0 !important;
    }
}    

.close{
	background: #ccc;
	color: #222;
	padding: 0.8rem 0 !important;
	line-height: 1.6;
	font-size: 0.75rem;
}