@charset "euc-jp";

/* common
------------------------------ */
.ippaikuji {
    background-color: #fed808;
    background-image: url("../img/bg_main.png");
    background-repeat: no-repeat;
    background-position: center 0px;
    font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 14px;
    line-height: 1.4;
    min-width: 1300px;
}
.ippaikuji a {
    cursor: pointer;
    text-decoration: none;
}
.ippaikuji img {
    box-sizing: border-box;
    vertical-align: bottom;
}
.ippaikuji h2 {
    width: 450px;
    padding: 15px 0 18px;
    margin: 0 auto 30px;
    background: #d11919;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}
.opensans {
    font-family: 'Open Sans', sans-serif;
}

/* main visual
------------------------------ */
.main_visual {
    padding: 20px 0;
}
.main_visual .main_wrap {
    width: 590px;
    padding-left: 210px;
    margin: 0 auto 15px;
    text-align: center;
}
.main_visual h1 {
    margin-bottom: 10px;
}
.main_visual .lead {
    font-size: 15px;
    line-height: 1.7;
}
.main_visual div a {
    text-decoration: underline;
}
.main_visual div span {
    font-weight: bold;
    color: #d11919;
}
.main_visual .prize {
    text-align: center;
}
.period {
    padding: 10px 0;
    background: #17b0a3;
    color: #fff;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
}

/* kuji
------------------------------ */
.kuji_tabs {
}
.kuji {
    margin-top: 50px;
    width: 850px;
    margin: 0 auto;
}
.tab_item {
    display: inline-block;
    width: 270px;
    height: 50px;
    box-sizing: border-box;
    margin-right: 14px;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    border-top: 1px solid #d5c04c;
    border-right: 1px solid #d5c04c;
    border-left: 1px solid #d5c04c;
    background-color: #f6eec4;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #000;
    font-weight: bold;
    vertical-align: bottom;
}
.tab_item:nth-last-of-type(1) {
    margin-right: 0;
}

input[name="tab_item"] {
  display: none;
}
.tab_content {
    height: 300px;
    display: none;
    padding: 0 20px;
    clear: both;
    overflow: auto;
    border-top: 5px solid #d11919;
}
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content {
  display: block;
    background: #fff;
}
.tab_content li {
    display: table;
    padding: 15px 0;
    border-bottom: 1px solid #7a7a7a;
}
.tab_content li:last-child {
    border-bottom: none;
}
.tab_content li div {
    display: table-cell;
    width: 600px;
    padding-right: 10px;
    vertical-align: middle;
}
.tab_content li div p:nth-of-type(1) {
    width: 590px;
    margin-bottom: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tab_content li div p:nth-of-type(2) {
    color: #e13838;
}
#tab1_content li a {
    display: table-cell;
    width: 200px;
    padding: 15px 0;
    border-radius: 5px;
    background: #13a03e;
    color: #fff;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    box-shadow: 0px 4px 0 #0a6c28;
}
#tab1_content li div p:nth-of-type(2) span {
    display: inline-block;
    padding: 2px 4px;
    margin-right: 6px;
    font-size: 12px;
    border: 1px solid #e13838;
}
#tab2_content li div p:nth-of-type(2) {
    display: inline-block;
    padding: 2px 5px;
    margin-right: 5px;
    font-size: 12px;
    border: 1px solid #b5b5b5;
    color: #b5b5b5;
}
#tab2_content li > p {
    display: table-cell;
    width: 200px;
    height: 48px;
    color: #555;
    border: 2px solid #555;
    border-radius: 5px;
    text-align: center;
    font-weight: bold;
    font-size: 15px;
    vertical-align: middle;
}
#tab2_content li > p span {
    font-size: 20px;
}
#tab3_content li div p:nth-of-type(2) {
    display: inline-block;
    padding: 2px 5px;
    margin-right: 5px;
    font-size: 12px;
    border: 1px solid #b5b5b5;
    color: #b5b5b5;
}
#tab3_content li > p {
    display: table-cell;
    width: 200px;
    height: 48px;
    color: #d11919;
    border: 2px solid #d11919;
    border-radius: 5px;
    text-align: center;
    font-weight: bold;
    font-size: 15px;
    vertical-align: middle;
}
#tab3_content li > p.expired {
    background: #e1e1e1;
    color: #a1a1a1;
    border: 2px solid #e1e1e1;
    font-size: 18px;
}
#tab3_content li > p span {
    font-size: 22px;
}
.kuji input:checked + .tab_item {
    height: 60px;
    line-height: 66px;
    background-color: #d11919;
    color: #fff;
    border-top: 1px solid #d11919;
    border-right: 1px solid #d11919;
    border-left: 1px solid #d11919;
}
.kuji .caution {
    margin: 10px 0 20px;
    text-align: center;
    font-size: 12px;
}
.tab_content .no_list {
    padding: 20px 0 35px;
    text-align: center;
    background: #eee;
    margin: 20px 0 0;
    line-height: 3.0;
}
.tab_content .no_list a {
    position: relative;
    padding: 10px 35px 10px 20px;
    border-radius: 50px;
    border: 1px solid #888;
    font-weight: bold;
    color: #000;
    background: #Fff;
    box-shadow: 0px 2px 0 #888;
}
.no_list a::before,.no_list a::after {
    position: absolute;
    top: 50%;
    right: 16px;
    display: block;
    content: '';
    width: 8px;
    height: 2px;
    background: #555;
    border-radius: 4px;
}
.no_list a::before {
    margin-top: -1px;
    margin-right: 5px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.no_list a::after {
    margin-top: -1px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* login
------------------------------ */
.login {
    margin: 0 0 20px;
    padding: 20px 0;
    background: #e0c845;
    text-align: center;
    color: #52470b;
    font-weight: bold;
}
.login p {
    margin-bottom: 10px;
}
.login a {
    display: inline-block;
    width: 500px;
    padding: 20px 0;
    border-radius: 10px;
    text-decoration: none;
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    box-shadow: 0px 4px 0 rgb(244, 114, 153);
    background-color: #fa92af;
}


/* ad
------------------------------ */
.ad {
    width: 746px;
    margin: 0 auto 60px;
    overflow: hidden;
}
.ad span {
    float: left;
    height: 90px;
    box-sizing:border-box;
    padding: 26px 4px;
    text-align: center;
    vertical-align: middle;
    background: #fff;
    font-size: 12px;
}

/* target
------------------------------ */
.target {
    padding: 0 0 30px;
    border-top: 5px solid #d11919;
}
.target > div {
    width: 720px;
    padding: 20px 30px;
    margin: 0 auto 40px;
    overflow: hidden;
    box-sizing: border-box;
    background: #fff;
}
.target > div div:nth-child(1) {
    float: left;
}
.target > div div:nth-child(2) {
    float: right;
    margin: 60px 15px 0 0;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.7;
    text-align: center;
}
.target > div div:nth-child(2) p {
    margin-bottom: 15px;
}
.target > div span {
    color: #d11919;
    background: #fff959;
}
.target h3 {
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}
.target ul {
    width: 720px;
    margin: 0 auto;
    text-align: center;
}
.target ul li {
    position: relative;
    width: 220px;
    margin: 0 7px;
    box-sizing: border-box;
    display: inline-block;
    background: #fff;
    border: 1px solid #393939;
    border-radius: 5px;
    box-shadow: 2px 2px 2px #d1b725;
}
.target ul li a {
    display: block;
    padding: 15px 25px 15px 0;
    font-size: 18px;
    font-weight: bold;
    color: #393939;
}
.target a::before,.target a::after {
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    content: '';
    width: 14px;
    height: 3px;
    background: #d11919;
    border-radius: 4px;
}
.target a::before {
    margin-top: -5px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.target a::after {
    margin-top: 3px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* note
------------------------------ */
.note {
    padding: 0 0 40px;
    border-top: 5px solid #d11919;
    background: #fff;
}
.note a {
    text-decoration: underline;
}
.note .block {
    margin: 0 auto;
    width: 900px;
    line-height: 1.6;
}
.note .block p {
    margin-bottom: 30px;
}
.note .block .ex {
    display: inline-block;
    margin-bottom: 30px;
    margin-top: -20px; 
    padding: 15px;
    border: 1px solid #3b3b3b;
    text-indent: 0;
}
.note .block span {
    font-weight: bold;
}
.note .block em {
    font-weight: bold;
    color: #ff2d2d;
}

/* result
------------------------------ */
.ippaikuji.kuji_result {
    background: none;
}
.result {
    position: relative;
    height: 550px;
    margin: 0 auto 60px;
    background-color: #fed808;
    text-align: center;
    z-index: 0;
    overflow: hidden;
}
.result .halo {
    text-align: center;
    height: 1000px;
    width: 1000px;
    position: absolute;
    z-index: -1;
    top: -170px;
    left: 0;
    right: 0;
    margin: auto;
    background-image: url(../img/halo.png);
    background-position: center center;
    background-repeat: no-repeat;
    animation: spin 100s linear infinite;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.result_inner {
    width: 950px;
    height: 550px;
    margin: 0 auto;
    background: url("../img/bg_result.png") no-repeat center center;
}
.result h3 {
    padding: 80px 0 60px;
}
.result .result_inner > div {
    margin-bottom: 20px;
}
.result > div p {
    display: inline-block;
}
.result > div p:first-child {
    width: 128px;
    height: 62px;
}
.result > div p:last-child {
    color: #d11919;
    font-size: 46px;
    vertical-align: top;
    font-weight: bold;
}
.result > div p:last-child .fs_s {
    font-size: 32px;
}
.result .result_inner > p {
    margin-bottom: 10px;
    font-size: 13px;
}
.result a {
    display: block;
    width: 350px;
    margin: 0 auto 20px;
    padding: 15px 0;
    color: #393939;
    font-size: 18px;
    font-weight: bold;
    background: #fff;
    border: 1px solid #393939;
    border-radius: 50px;
    
}

/* fade animation
------------------------------ */
body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color:#fff;  /* 背景カラー */
  z-index: 9999;  /* 一番手前に */
  pointer-events: none;  /* 他の要素にアクセス可能にするためにポインターイベントは無効に */
  opacity: 0;  /* 初期値では非表示 */
  -webkit-transition: opacity .8s ease;  /* アニメーション時間は 0.8秒 */
  transition: opacity .8s ease;
}
 body.fadeout::after {
  opacity: 1;
}
 