@charset "utf-8";

/*PCSP共通設定*/
html {scroll-behavior: smooth}/*smooth scroll*/
main {
    background:url(../../images/allbg.png);
    color: #333
}
main * { font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif}
section.bg_white .inner {
    background: #FFF;
    border-radius: 10px;
}
#particles-js{ 
  position:fixed;
  z-index:1;
  width: 100%;
  height: 100%;
}
#pc_header {
    z-index: 3;
    position: sticky;
}
#dirPathBlock a,
#anchorLinkBlock a,
main a,
main .inner,
#nta_footer {
    z-index: 2;
    position: sticky;
}

/*ボタン*/
#lbtn {
    display: block;
    width: 70%;
    min-height: 60px;
    line-height: 72px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #e30035;
    box-shadow: 5px 5px 0px #ac1449;
    transition: .3s;
    border-radius: 999px;
    margin: 24px auto;
    font-size: 20px;
    z-index: 10;
}
#lbtn a {color: #fff;}
#lbtn:hover {
    box-shadow: unset;
    transform: translate(4px, 4px);
}

/*759px以下*/
@media screen and (max-width: 759.9px) {
#wrapper {line-height: 1.4}
.spnone{display:none}
main article {
    background: url(../../images/bg_side.png) repeat-y -1% -105px, url(../../images/bg_side2.png) repeat-y 105% -55px;
    background-size: 25%;
    padding-bottom: 1%;
}

/* CSS */
#dirPathBlock,
#anchorLinkBlock {
	font-size: 10px;
	margin: 1% 1% 0 1%
}
#dirPathBlock {
	overflow-x: scroll;
	overflow-y: hidden
}
#dirPathBlock p,
#anchorLinkBlock a{
	width: max-content;
	font-size: 12px
}
#wrapper > h1 {margin: 0 1%}
h2 {
	width: fit-content;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 25px;
	padding: 0 10px 5px
}
.inner{
	width: 96%;
	margin: 0 2% 5%;
	padding: 25px 0;
	box-sizing: border-box;
	color: #222
}
section{
	font-size:16px;
	line-height: 1.5
}
p.endcontents{
    width: 95%;
    color: #F00;
    margin: 15px auto;
    padding: 10px;
    border: 1px solid #ff0000;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    border-radius: 5px;
    box-sizing: border-box
}

/*title*/
.mv figure {
	margin: 0;
	padding: 0;
}
figure#mainphoto img {width: 100%;}

/*first-txt*/
#first-txt {background: #013a91}
#first-txt p {
	color: #FFF;
	text-align: center
}

/*景品一覧*/
#prizelist dt h2 {
    color: #e30035;
    font-size: 1.2em
}


/*期限*/
#prizelist dd.detailDay {margin-bottom: 25px}
.detailDay p {
    width: fit-content;
    margin: auto;
    text-align: center
}
.detailDay p small {
    width: 100%;
    text-align: right;
    display: inline-block;
    margin-bottom: 3%;
}

/*note*/
.note {margin: 0 auto 25px}

/*step*/
.step > li {
    /*border: 2px solid #00499f;*/
    border-radius: 10px;
    margin: 0 auto 25px;
	background: #FFF;
    padding: 15px;
    position: relative
}
.step > li dt {
    font-size: 20px;
    margin-bottom: 15px
}
.step > li dt p {
    width: 200px;
    text-align: center;
    background: #00499f;
    color: #FFF;
    margin: 0 auto 15px;
    padding: 0 15px;
    border-radius: 1em
}
.step > li dt h3{
    text-align: center;
    font-weight: bold;
    color: #0074c1
}
.step > li dd.twpoint {
    border: 2px dotted #0074c1;
    padding: 10px
}
.step > li dd.twpoint b {color: #0074c1}
.step > li dd.twpoint .blue_btn {margin: 15px 0 10px}
.step > li dd.twpoint .blue_btn a h4 {
    color: #fff !important;
    font-weight: lighter;
    text-align: center;
    margin: 0;
    padding: 0
}

/*omikuji*/
#prizelist_omikuji ol {
    width: 96%;
    margin: auto;
    background: #f57190;
    border-radius: 10px;
    padding: 10px;
    box-sizing: border-box;
}
#prizelist_omikuji ol > li {
    margin: 0 auto 25px;
    padding: 10px;
    align-items: center;
    font-size: 14px;
    background: #fff;
    border-radius: 5px;
    position: relative;
}
#prizelist_omikuji ol > li .fuki {
    width: 100px;
    height: 50px;
    position: absolute;
    top: 25%;
    right: -15px;
    transform: rotate(20deg);
    font-weight: bold;
    text-align: center;
    color: #FFF;
    line-height: 1.2;
    border-radius: 40px;
    align-content: center;
    background: #00499f;
}
#prizelist_omikuji ol > li .fuki::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 10px solid #00499f;
    border-bottom: 0;
    position: absolute;
    top: 48px;
    right: 48px;
}
#prizelist_omikuji ol > li .circle {
    width: 125px;
    height: 125px;
    margin: 0 auto 10px;
    background: #e30035;
    border-radius: 70px;
    text-align: center;
    align-content: center;
}
#prizelist_omikuji ol > li .circle p {
    color: #FFF;
    font-size: 1.2em;
    font-weight: bold;
}
#prizelist_omikuji ol > li .circle img{
    width: 92px;
    height: auto;
}
#prizelist_omikuji ol > li .prizelist h3 {
    text-indent: 8vw;
    font-weight: bold;
    font-size: 1.5em;
    background: #f2c352;
    margin-bottom: 5%;
}
#prizelist_omikuji ol > li .prizelist li {
    text-align: center;
    font-size: 1.1em;
    margin-bottom: 5%;
}
#prizelist_omikuji ol > li .prizelist li b {
    font-size: 1.4em;
    text-decoration: underline 2px #f2c352;
    text-underline-position: under;
    text-decoration-skip-ink: none;
    color: #e30035;
}
#prizelist_omikuji ol > li .prizelist li span {
    font-size: 1.1em;
    color: #e30035;
}
#prizelist_omikuji ol > li .prizelist li b,
#prizelist_omikuji ol > li .prizelist li small {
    width: 100%;
    display: inline-block;
}
#prizelist_omikuji ol > li:nth-of-type(2) {margin-bottom: 0;}

/*cp*/
.cp_Wrap {
    font-size: 14px;
    margin-bottom: 50px;
    padding: 0 10px
}
.cp_Wrap > li{margin: 0 auto 15px}
.cp_Wrap > li p{
	width: 95%;
	margin: 0 auto
}
.cp_Wrap li h3 {
	background: #E1E1E1;
	margin-bottom: 10px;
	padding: 3px 10px 4px;
	font-weight: bold;
	border-radius: 3px
}
.waribiki_img {
    width: 100%;
    height: auto;
    display: block;
    margin: auto
}
dl.target_plan {
	border: 3px solid #00499f;
	border-radius: 10px;
	margin: 0 auto 25px;
	padding: 25px;
}

/*btn*/
.target_plan h4 {
    width: fit-content;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #0074c1;
    margin: 0 auto 15px;
    position: relative
}
.target_plan h4:before,
.target_plan h4:after {
    content: "|";
    display: inline-block;
    font-size: 18px
}
.target_plan h4:before {
    transform: rotate(-25deg);
    position:absolute;
    bottom: 2px;
    left: -24px
}
.target_plan h4:after {
    transform: rotate(25deg);
    position:absolute;
    bottom: 2px;
    right: -24px  
}
.blue_btn{
	display:flex;
	margin-bottom: 20px
}
.blue_btn a{
	width: 96%;
	color: #fff!important;
	background: #00499f;
	margin: 0 auto;
	padding-bottom: 3px;
	line-height: 3;
	box-shadow: 1px 1px 5px #aaa;
    background: #F29A16;
    border-radius: 3rem
}
.blue_btn h5{
	display: flex;
	margin: auto;
    font-weight: lighter;
	width: fit-content
}
.blue_btn svg{
	width: 32px;
	margin-right: 12px
}
.blue_btn a svg circle,
.blue_btn a svg line{
	fill:none;
	stroke:#fff;
	stroke-width:6
}

}

/*760px以上*/
@media screen and (min-width: 760px),print {
/* CSS */
#wrapper {line-height: 1.231}
.pcnone{display:none}
main article {
    background:url(../../images/bg_side.png) repeat-y -100px -105px,url(../../images/bg_side2.png) repeat-y 109% -55px;
    padding-bottom: 1%;
}

#dirPathBlock,
#wrapper > h1,
#anchorLinkBlock{
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: auto
}

/*panlist&back*/
#dirPathBlock,
#anchorLinkBlock {
	width: 100%;
	margin: 0 auto;
	display: block;
	font-size: 12px
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px}
#wrapper > h1 {
	width: auto;
	max-width:1080px;
	margin: 0 auto 5px
}
h2 {
	width: fit-content;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 25px;
	padding: 0 10px 5px
}
.inner{
	width: 96%;
	max-width:1080px;
	margin: 0 auto 3%;
	padding:25px 0;
	display: block;
	color: #222
}
section{
	font-size:18px;
	line-height: 1.6
}
p.endcontents{
	width: 100%;
	max-width:1060px;
	min-width: 740px;
	margin: 25px auto;
	padding: 10px;
	border: 1px solid #ff0000;
	font-size: 18px;
	font-weight: bold;
	color: #F00;
    text-align: center;
	border-radius: 5px;
	box-sizing: border-box
}

/*title*/
.mv {width: 100%;}
figure#mainphoto {
	margin: 0;
	padding: 0;
}
figure#mainphoto img {width: 100%;}

/*first-txt*/
#first-txt {background: #013a91}
#first-txt p {
	font-size: 1.4em;
	color: #FFF;
	text-align: center
}

/*景品一覧*/
#prizelist dt h2 {
    color: #e30035;
    font-size: 1.4em
}


/*期限*/
#prizelist dd.detailDay {margin-bottom: 25px}
.detailDay p {
    width: fit-content;
    margin: auto;
    font-size: 1.2em
}
.detailDay p small {
    width: 100%;
    text-align: right;
    display: inline-block;
    margin-bottom: 3%;
}

/*note*/
.note {
    margin: 0 auto 50px;
    width: 660px
}
.note > li {margin-bottom: 5px}

/*step*/
.step > li {
    border: 3px solid #00499f;
    border-radius: 10px;
    margin: 0 auto 25px;
    padding: 25px;
	background: #FFF;
    position: relative
}
.step > li dt {
    font-size: 22px;
    margin-bottom: 15px
}
.step > li dt p {
    position: absolute;
    background: #00499f;
    color: #FFF;
    padding: 0 25px;
    border-radius: 1em
}
.step > li dt h3{
    text-indent: 140px;
    font-weight: bold;
    color: #0074c1
}
.step > li dd.twpoint {
    border: 2px dotted #0074c1;
    padding: 10px;
    position: relative
}
.step > li dd.twpoint b {color: #0074c1}
.step > li dd.twpoint .blue_btn {
    width: 240px;
    position: absolute;
    bottom: 0;
    right: 1%
}
.step > li dd.twpoint .blue_btn a h4 {
    color: #fff !important;
    font-weight: lighter;
    text-align: center;
    margin: 0;
    padding: 0
}

/*omikuji*/
#prizelist_omikuji ol {
    width: 95%;
    margin: auto;
    background: #f57190;
    border-radius: 20px;
    padding: 20px;
    box-sizing: border-box
}
#prizelist_omikuji ol > li {
    margin: 0 auto 75px;
    padding: 20px;
    align-items: center;
    display: flex;
    font-size: 16px;
    background: #fff;
    border-radius: 10px;
    position: relative
}
#prizelist_omikuji ol > li .fuki {
    width: 150px;
    height: 80px;
    position: absolute;
    top: 0;
    right: -15px;
    transform: rotate(20deg);
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
    color: #FFF;
    line-height: 1.2;
    border-radius: 40px;
    align-content: center;
    background: #00499f;
}
#prizelist_omikuji ol > li .fuki::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 20px solid #00499f;
    border-bottom: 0;
    position: absolute;
    top: 75px;
    right: 70px;
}
#prizelist_omikuji ol > li .circle {
    width: 140px;
    height: 140px;
    margin-right: 20px;
    background: #e30035;
    border-radius: 70px;
    text-align: center;
    align-content: center;
}
#prizelist_omikuji ol > li .circle p {
    color: #FFF;
    font-size: 1.2em;
    font-weight: bold;
}
#prizelist_omikuji ol > li .circle img{
    width: 100px;
    height: auto;
}
#prizelist_omikuji ol > li .prizelist {width: calc(100% - 160px);}
#prizelist_omikuji ol > li .prizelist h3 {
    font-weight: bold;
    font-size: 2em;
    background: #f2c352;
    text-align: center;
    margin-bottom: 2%;
}
#prizelist_omikuji ol > li .prizelist ul {

}
#prizelist_omikuji ol > li .prizelist li {font-size: 1.2em}
#prizelist_omikuji ol > li .prizelist li b {
    font-size: 1.5em;
    text-decoration: underline 3px #f2c352;
    text-underline-position: under;
    text-decoration-skip-ink: none;
    color: #e30035;
}
#prizelist_omikuji ol > li .prizelist li span {
    font-size: 1.1em;
    color: #e30035;
}
#prizelist_omikuji ol > li:nth-of-type(2) {margin-bottom: 0;}
#prizelist_omikuji ol > li:nth-of-type(2) .fuki {
    position: absolute;
    top: -50px;
    right: -15px;
}

/*cp*/
.cp_Wrap {margin-bottom: 50px}
.cp_Wrap > li{
	width: 96%;
	margin: 0 auto 25px
}
.cp_Wrap li h3 {
	background: #E1E1E1;
    margin-bottom: 15px;
    padding: 8px 10px;
	font-weight: bold;
	border-radius: 3px
}
.waribiki_img {
    display: block;
    margin: auto;
}
dl.target_plan {
	border: 2px solid #00499f;
	border-radius: 10px;
	margin: 0 auto 25px;
	padding: 15px;
}

/*btn*/
.target_plan h4 {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    color: #0074c1;
    margin-bottom: 15px;
    position: relative
}
.target_plan h4:before,
.target_plan h4:after {
    content: "|";
    display: inline-block
}
.target_plan h4:before {
    transform: rotate(-25deg);
    margin-right: 15px
}
.target_plan h4:after {
    transform: rotate(25deg);
    margin-left: 15px
}
.search_btn {display: flex}
.blue_btn {
	width: 64%;
	display: flex;
	margin: 0 auto 10px
}
.blue_btn a{
	width: 96%;
	color: #fff!important;
	background: #00499f;
	margin: 0 auto;
	padding-bottom: 3px;
	line-height: 2.4;
	box-shadow: 1px 1px 5px #aaa;
    background: #F29A16;
    border-radius: 3rem
}
.blue_btn h5{
	display: flex;
	margin: auto;
    font-weight: lighter;
	width: fit-content
}
.blue_btn svg{
	width: 32px;
	margin-right: 12px
}
.blue_btn a svg circle,
.blue_btn a svg line{
	fill:none;
	stroke:#fff;
	stroke-width:6
}
.step > li {border: none;}


}

/*underbox anim*/
.fadeIn {
	width: 100%;		/* 横幅いっぱい */
	opacity: 0;		 /* 初期値は透明にしておく */
	transition: .5s;	/* 動くスピードを0.5秒に指定 */
	position: relative; /* 相対位置の設定 */
	top: 50px		  /* 事前に下に50pxずらしておく */
}
.active {
	opacity: 1;
	top: 0
}

/*important-red*/
.JSimportant{
	word-break: keep-all;
	position: relative
}
.JSimportant.important-red{transition: all 0.3s}
.JSimportant::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 1px;
	background: #F00;
	transition: all 1.0s;
	transform: scale(0, 1);
	transform-origin: left top;
	transition-delay: 0.1s
}
.JSimportant.important-red::after {transform: scale(1, 1)}

/*underline*/
.JSunderline{
	word-break: keep-all;
	position: relative
}
.JSunderline::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: #00499f;
	transition: all 0.5s;
	transform: scale(0, 1);
	transform-origin: left top;
	transition-delay: 0.1s
}
.JSunderline.lineaction::after {transform: scale(1, 1)}

/*gradientmove*/
@keyframes gradientmove {
  0% {
	background-position: 150% 50%;
  }
  50% {
	background-position: 150% 50%;
  }
  100% {
	background-position: -25% 50%;
  }
}

/*おみくじアニメ*/
        /* カセット全体のコンテナ */
        .omikuji-cassette {
            width: 100%;
            height: 320px;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: transparent;
            overflow: hidden;
        }

        /* アニメーション定義 
  初期角度を30度にし、10度〜30度の間を行き来させます
*/
        @keyframes omikuji-shake-tilted {

            /* --- 1回目 --- */
            0% {
                transform: translate(0, 0) rotate(30deg);
            }

            /* スタート：大きく右上に傾ける */
            12.5% {
                transform: translate(-20px, 20px) rotate(5deg);
            }

            /* 振り下ろす：左下に移動しつつ角度を浅く */
            25% {
                transform: translate(0, 0) rotate(30deg);
            }

            /* 戻す */

            /* --- 2回目 --- */
            37.5% {
                transform: translate(-20px, 20px) rotate(5deg);
            }

            /* 振り下ろす */
            50% {
                transform: translate(0, 0) rotate(30deg);
            }

            /* 戻す */

            /* --- 停止 (待機) --- */
            50.1% {
                transform: translate(0, 0) rotate(30deg);
            }

            100% {
                transform: translate(0, 0) rotate(30deg);
            }
        }

        /* アニメーション適用部分 */
        .omikuji-shaker {
            position: relative;
            width: 100px;
            height: 200px;
            /* 2.5秒1セット（動き1.25秒 + 停止1.25秒）で調整 */
            /*animation: omikuji-shake-tilted 2s infinite ease-in-out;*/
            /* アニメーションが無効な場合でも傾いて表示されるように初期値を設定 */
            transform: rotate(30deg);
        }

        /* --- 六角柱の描画スタイル --- */
        .hex-prism {
            position: relative;
            width: 100%;
            height: 100%;
            perspective: 600px;
            transform-style: preserve-3d;
        }

        .hex-prism .face {
            position: absolute;
            top: 0;
            height: 100%;
            background-color: #e74c3c;
            border: 2px solid #c0392b;
            box-sizing: border-box;
        }

        .hex-prism .front {
            width: 60px;
            left: 20px;
            z-index: 10;
            display: flex;
            justify-content: center;
            align-items: center;
            transform: translateZ(15px);
        }

        .hex-prism .front .text {
            font-weight: bold;
            font-size: 20px;
            writing-mode: vertical-rl;
            letter-spacing: 5px;
            background: #fff;
            color: #c0392b;
            padding: 12px 8px;
            border-radius: 2px;
            border: 2px solid #550000;
        }

        .hex-prism .left-side {
            width: 30px;
            left: 0;
            background-color: #c0392b;
            transform: rotateY(-60deg);
            transform-origin: right center;
        }

        .hex-prism .right-side {
            width: 30px;
            right: 0;
            background-color: #b93426;
            transform: rotateY(60deg);
            transform-origin: left center;
        }

        .hex-prism .lid {
            position: absolute;
            top: -8px;
            left: 10px;
            width: 80px;
            height: 16px;
            background-color: #550000;
            border-radius: 50%;
            transform: rotateX(60deg);
            z-index: 5;
        }

/*btn*/
#lbtn,
#endbtn,
#endbtn_grey {
    display: block;
    width: 90%;
    min-height: 60px;
    line-height: 72px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #e30035;
    box-shadow: 5px 5px 0px #ac1449;
    transition: .3s;
    border-radius: 999px;
    margin: 24px auto;
    font-size: 28px;
    z-index: 10
}
#lbtn a,
#endbtn a,
#endbtn_grey a {color: #fff}
#lbtn:hover,
#endbtn:hover {
    box-shadow: unset;
    transform: translate(4px, 4px)
}
#endbtn_grey {
    background-color: #555;
    box-shadow: 5px 5px 0px #444;
}

@media screen and (max-width: 759.9px) {
    #endbtn,#endbtn_grey {font-size: 24px !important}
    .lottery-container {transform: scale(0.85)}
}