* { font-family: -apple-system-body, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans Japanese", "メイリオ", "meiryo", "游ゴシック  Medium", "Yu Gothic Medium", sans-serif; }
.seikai.wrp{
    background: url("./img/bg-seikai.jpg");
}
.huseikai.wrp{
    background: url("./img/bg-huseikai.png");
}
body{ 
    background: #eee;
}
#ending .wrp { min-height: 760px;}
.wrp.bg-20 { background: url("./img/bg-20.png");}
.wrp.bg-50 { background: url("./img/bg-40.png");}
.wrp.bg-70 { background: url("./img/bg-60.png");}   
.wrp.bg-90 { background: url("./img/bg-80.jpg");} 
.wrp.bg-100 { background: url("./img/bg-100.png");}

.endbox-l{
    margin: 400px 0 0 50px;
    padding: 1rem;
    float: left;
    background: #f377bc;
    color: #fff;
    text-align: center;
    width: 30%;
    border: solid 5px #000000;
    border-radius: 20px;
}
.endbox-r{
    margin: 400px 50px 0 0;
    padding: 1rem;
    float: right;
    background: #f377bc;
    color: #fff;
    text-align: center;
    width: 30%;
    border: solid 5px #000000;
    border-radius: 20px;
}
.endbox-l a, .endbox-r a{
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 30px;
    text-decoration: none;
    line-height: 1;
}
section {
    background: black;
    border-radius: 1em;
    padding: 1.5em;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
    width: 920px;
}

.wrp{
    background: url("./img/okaken-bg.png");
    background-repeat:  no-repeat;
    background-position: top center;
    overflow: hidden;
    min-height: 760px;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

#ending .qes{
    border-radius: 10px;
    margin-top: 2rem;
    font-size: 36px;
    min-height: initial;
    min-height: auto;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
#ending h3{
    width: 140px;
    padding-left: 20px;
}




ul.snsbtniti {list-style: none;}
.box-no {
	background-color: #000;
	font-weight: 400;
	font-size: 24px;
	color: #FFF;
	width: 124px;
	height: 30px;
	text-align: center;
	border: solid 7px #000;
	display: block;
	line-height: 1.25rem;
	border-radius: 8px 8px 0px 0px;
    margin-left: 5%;
    margin-top: 1rem;
}
.box-no span {
	display: inline-block;
	background: #FFF;
	color: #000;
    font-weight: bold;
	padding: 5px;
    margin-left: 8px;
    margin-right: 8px;
	height: 21px;
}
.qes {
	background-color: #FFF;
	border: solid 7px #000000;
	/*display: block;*/
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center; 
	border-radius: 0px 10px 10px 10px;
	font-size: 30px;
	font-weight: bold;
    line-height: 1.25;
	text-align: left;
    min-height: 110px;
    padding: 15px 20px;
	margin-left: 5%;
    margin-right: 5%;
}
ul.box-kaitou{
    width: 90%;
	margin: 0 5% 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    list-style: none;
    background: url("img/kaitouran.png");
    background-repeat:  no-repeat;
    background-position: center center;
    background-size: 100% 100%;                             
}

ul.box-kaitou li{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
	font-weight: bold;
    display: block;
    overflow: hidden;
}

input[type=radio] {
	/*-webkit-transform: scale(1.5);
	transform: scale(1.5);
	margin-right: 10px;*/
    display: none;
}
*,html {margin: 0;padding: 0;}
#start .wrp {
    background: url("./img/bg-start.jpg");
    background-repeat:  no-repeat;
    background-position: top center;
    padding: 0;
    overflow: hidden;
    min-height: 760px;
}
#start a {
    display:flex;
    justify-content:center;
    align-items:center;
    min-height: 80px;
	margin: 360px auto 0;
	font-size: 36px;
    font-weight: bold;
	width: 60%;
	padding: 0;
	color: #fff;
	text-align: center;
	line-height: 50px;
	cursor: pointer;
	border: 5px solid #f377bc;
	border-radius: 50px;
	background: #f377bc;
	overflow: hidden;
    text-decoration: none;
}


.seikai .qes{ 
    display: block;
    overflow: hidden;
    border-radius: 10px; 
    width: 45%;
    margin-top: 8rem;
    margin-left: 40%;
    padding: 25px 20px;
    
}


.huseikai .qes{ 
    display: block;
    overflow: hidden;
    border-radius: 10px;
    padding: 25px 20px;
    margin-top: 20px;
}
.clear {clear: both;}
.seikai h3,
.huseikai h3{
    text-align: center;
}
h3{
    display: block;
    font-size: 42px;
    font-weight: bold;
    line-height: 1.25;
    text-align: left;
width: 100%;
}
.txt-nll .ans label{
	font-size: 24px;
	font-weight: bold;
    line-height: 1.35;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center; 
    padding: 12px 20px 6px;
    text-align: left;
    width: 65%;
    min-height: initial;
}
.txt-nl .ans label{
	font-size: 26px;
	font-weight: bold;
    line-height: 1.45;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center; 
    padding: 14px 20px 10px;
    text-align: left;
    min-height: initial;
}
.txt-xxx.qes {
	font-size: 30px;
	font-weight: bold;
    line-height: 1;
    display: block;
    text-align: left;
    min-height: initial;
    overflow: hidden;
}
.txt-xxx .chs{
    width: 33%;
    margin-top: 10px;
    float: left;
}
.ans label{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height: 60px;
	margin: 10px auto;
	font-size: 28px;
	width: 60%;
	padding: 0;
	color: #000;
	text-align: center;
	line-height: 50px;
	cursor: pointer;
	border: 5px solid #f377bc;
	border-radius: 5px;
	background: #fff;
	overflow: hidden;
}
.ans label.checked {background: #f377bc;color: #ffffff;}
input[type="submit"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
    &::-webkit-search-decoration {
    display: none;
    }
    &::focus {
    outline-offset: -2px;
    }
    }
input[type="submit"] {
	font-size: 24px;
	font-weight: bold;
	display: block;
	margin: 0 auto 40px;
	width: 60%;
	height: 60px;
	padding: 0;
	color: #fff;
	text-align: center;
	line-height: 60px;
	cursor: pointer;
	border: 2px solid #2CA35E;
	border-radius: 30px;
	background: #2CA35E;
	overflow: hidden;
}
#finish .seikai .btn a{
	margin: 30px auto 0;
	width: 100%;
}
.seikai .btn a{
	margin: 30px auto 0;
	width: 80%;
}
.huseikai .btn a{ width: 70%; }
.btn a{
	font-size: 32px;
	font-weight: bold;
	display: block;
	margin: 30px auto 0;
	width: 50%;
	height: 60px;
	padding: 0;
	color: #fff;
    text-decoration: none;
	text-align: center;
	line-height: 60px;
	cursor: pointer;
	border: 2px solid #2CA35E;
	border-radius: 30px;
	background: #2CA35E;
	overflow: hidden;
}

.txt-link{
    text-align: center;
    margin-top: 1rem;
}
.momo {
	width: 200px;
}
.yure{
	width: 200px;
	animation: yure 2.2s infinite;	
}
.psn-r{
    position: relative;
    margin-top: -360px;
    bottom: -80px;
    right: 0;
    z-index: 999;
    float: right;
}
.psn-l{
    position: relative;
    float: left;
    margin-top: -360px;
    left: 0;
    bottom: -80px;
    z-index: 9999;
}
    

.yure_div4{
	width: 409px;
	height:679px;
	overflow: hidden;
	animation: yure 1.5s infinite;
} 
.yure_div4 img{
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	position: absolute;
}
.yure_div5{
	width: 750px;
	height:1060px;
	overflow: hidden;
	animation: yure 1.5s infinite;
	transform-origin: top center;
}
.yure_div5 img{
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	position: absolute;
}
@keyframes yure {
    0% {transform: rotateZ(5deg)}
    50% {transform: rotateZ(-5deg)}
    100% {transform: rotateZ(5deg)}
}


/* ボタン全体 */
.flowbtn9{
display:inline-block;	
font-size:40px;
text-decoration:none;
transition:.5s;
}

#ss { 
    flex-wrap: wrap;
    text-align: center;
    margin: 0.5rem auto 0;
}
#ss i{ font-size: 1.5rem; min-width: 30px;margin-right:0;}

#ss a /*.flowbtn9 .fa-twitter-square*/ {
color:#fff;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 3rem;
}
/* Twitter */
.sstw /*.flowbtn9 .fa-twitter-square*/ {
background:#74c1f8; border-radius: 6px; padding: 0.1rem 1.5rem;
width: 140px;
float: left;
margin-right: 2rem;
}

/* Facebook*/
.ssfb /*.flowbtn9 .fa-facebook-square*/ {
background:#3b5998; border-radius: 6px; padding: 0.1rem 1.5rem; 
width: 140px;
float: left;
}




/* Instagram */
.flowbtn9 .fa-instagram{
color:#c6529a;
}

/* Feedly */
.flowbtn9 .fa-rss-square{
color:#6cc655;
}
/* Pocket */
.flowbtn9 .fa-get-pocket{
color:#ef3f56;
}
/* はてブ */
.flowbtn9 .fa-bootstrap{
color:#1ba5dc;	
}
/* YouTube */
.flowbtn9 .fa-youtube-square{
color:#fc0d1c;
}
/* LINE@ */
.flowbtn9 .fa-line{
color:#00c300;
}
/* お問い合わせメール */
.flowbtn9 .fa-envelope-square{
color:#f3981d;	
}
/* ulタグの内側余白を０にする */
ul.snsbtniti{
padding:0!important;
}
/* アイコン全体の位置 */
.snsbtniti{
display:flex;
flex-flow:row wrap;
justify-content:space-between;
}
/* アイコン同士の余白 */
.snsbtniti li{
text-align:center!important;
}
/* アイコンにマウスを乗せた時 */
.flowbtn9:hover{
-webkit-transform: translateY(-5px);
-ms-transform: translateY(-5px);
transform: translateY(-5px);
}

.wrp.m-huseikai{
    background: url("./img/bg-m-fuseikai.gif");
    background-position: top center;background-size: 100%;}

.m-huseikai .txt {
    border: solid 6px #f377bc;
    border-radius: 8px;
    background: #fff;
    padding: 1rem;
    font-size: 72px;
    font-weight: bold;
    text-align: center;
    margin: -10px auto 0;
    line-height: 1;
    color: #f377bc;
    width:70%;
}
/* モーション -------------- */
.furu{
    width: 70%;
    margin: 20% auto 0;
	animation: furu 2.2s infinite;
}	
@keyframes furu {
    0% {transform: translate(0px, 0px) rotateZ(0deg)}
    2% {transform: translate(2px, 2px) rotateZ(5deg)}
    4% {transform: translate(0px, 2px) rotateZ(0deg)}
    6% {transform: translate(2px, 0px) rotateZ(-5deg)}
    8% {transform: translate(0px, 0px) rotateZ(0deg)}
    10% {transform: translate(2px, 2px) rotateZ(5deg)}
    12% {transform: translate(0px, 0px) rotateZ(0deg)}
    14% {transform: translate(2px, 0px) rotateZ(-5deg)}
    16% {transform: translate(0px, 2px) rotateZ(0deg)}
    18% {transform: translate(0px, 0px) rotateZ(0deg)}
    100% {transform: translate(0px, 0px) rotateZ(0deg)}
}
.momo img,.yure img,.furu img{
	width: 100%;
	left: 0;
	bottom: 0;
    right: 0;
    top: 0;
    display: block;
}




.mt1{ margin-top: 1rem;}
.mt2{ margin-top: 2rem;}
.mt3{ margin-top: 3rem;}
.mt4{ margin-top: 4rem;}
.mt5{ margin-top: 5rem;}


    
/* スマホ用CSS -------------- */
/* 画面サイズが720pxまで適用 */
@media screen and (max-width:721px){
body{max-height: 760px;background: #000000;}
section {
    background: black;
    border-radius: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
.sstw {width: 110px; margin-right: 1rem; padding: 0.5rem 0.5rem 0.25rem; height: 32px;}
.ssfb {width: 110px; padding: 0.5rem 0.5rem 0.25rem; height: 32px;}

#ending .wrp { 
    min-height: 590px;
    overflow: hidden;
}
.wrp.bg-20 { background: url("./img/bg-20sp.jpg")top center / auto 100% no-repeat;}
.wrp.bg-50 { background: url("./img/bg-40sp.jpg")top center / auto 100% no-repeat;}
.wrp.bg-70 { background: url("./img/bg-60sp.jpg")top center / auto 100% no-repeat;}   
.wrp.bg-90 { background: url("./img/bg-80sp.jpg")top center / auto 100% no-repeat;} 
.wrp.bg-100 { background: url("./img/bg-100sp.jpg")top center / auto 100% no-repeat;}
.endbox-l{
    float: left;
    border: solid 3px #000000;
    position: absolute;
    padding: 0.5rem;
    bottom: 15px;
    left: 12px;
    width: 37%;
    margin: 0;
}
.endbox-r{
    float: right;
    border: solid 3px #000000;
    position: absolute;
    padding: 0.5rem;
    bottom: 15px;
    right: 12px;
    width: 37%;
    margin: 0;
}
.endbox-l a, .endbox-r a{ }
#ending h3 {
    width: 100%;
    padding: 0;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    font-size: 30px;
}
#ending .qes {
    border-radius: 10px;
    margin-top: 1rem;
    font-size: 20px;
    overflow: hidden;
    display: flex;
    margin-left: 3%;
    margin-right: 3%;
}
.endbox-l a, .endbox-r a{
    font-size: 18px;
}
#ss a {
    line-height: 2rem;
    text-decoration: none;
    font-size: 1rem;
    font-weight: bold;
    z-index: 99999;
}
.wrp {
    background: url("./img/okaken-bg-sp.png") top center / auto 100% no-repeat;
    min-height: 590px;
    overflow: hidden;
}
.seikai.wrp{
    background: url("./img/bg-seikai-sp.jpg") top center / auto 100% no-repeat;
    min-height: 590px;
    overflow: hidden;
}
.m-huseikai.wrp{
    background: url("./img/bg-m-fuseikai-sp.gif") center bottom / auto 100% no-repeat;
    min-height: 590px;
    overflow: hidden;
}
.huseikai.wrp{
    background: url("./img/bg-huseikai-sp.png") center bottom / auto 100% no-repeat;
    min-height: 590px;
    overflow: hidden;
}
.seikai .qes {
    border-radius: 10px;
    width: 70%;
    margin: 1rem auto;
    padding: 30px 20px;
}
.seikai .qes h3{
    font-size: 28px;
}
.seikai .btn a,
.huseikai .btn a{ 
    font-size: 22px;
    margin: 20px auto 0;
    width: 95%;
    }

.huseikai .qes { font-size: 18px; }
.huseikai .qes h3{ font-size: 28px; text-align: left; }
h3 .txt-link{ font-size: 20px; }
.box-no {
	font-size: 20px;
	width: 100px;
	height: 24px;
	border: solid 3px #000;
	display: block;
	line-height: 1;
	border-radius: 8px 8px 0px 0px;
}
.box-no span {
	padding: 5px;
    margin-left: 8px;
    margin-right: 8px;
	height: 17px;
}
.txt-xxx.qes {
	font-size: 16px;
}
.qes {
display: block;
min-height: initial;
border: solid 3px #000000;
font-size: 20px;
line-height: 1.25;
padding: 10px 12px;
}
.ans label {
    margin: 5px auto;
    font-size: 20px;
    text-align: center;
    line-height: 1;
    min-height: 45px;
    width: 85%; 
    border: 3px solid #f377bc;
}
input[type="submit"] {
    width: 50%!important;
}
.txt-nll .ans label{font-size: 14px!important;text-align: left;width: 65%;padding: 10px;padding: 10px; min-height: initial; }
.txt-nl .ans label{font-size: 18px!important;text-align: left;width: 65%;padding: 10px;padding: 10px; min-height: initial; }
.txt-ll li:nth-child(1) label,
.txt-ll li:nth-child(2) label,
.txt-ll li:nth-child(3) label,
.txt-nll li:nth-child(1) label,
.txt-nll li:nth-child(2) label,
.txt-nll li:nth-child(3) label,
.txt-nl li:nth-child(1) label,
.txt-nl li:nth-child(2) label,
.txt-nl li:nth-child(3) label{ width:80%!important;}
 
    
.psn-r{
    position: absolute;
    float: right;
    bottom: -40px;
    right: 0;
    z-index: 999;
    overflow: hidden;
}
.psn-l{
    position: absolute;
    float: left;
    left: -10px;
    bottom: -20px;
    z-index: 999;
    overflow: hidden;
}  
.momo {
	width: 30%;
}
.furu{
	width: 100%;
    margin: 40% auto 0;
	animation: furu 2.2s infinite;	
}

.yure{
    width: 30%;
	overflow: hidden;
	animation: yure 2s infinite; 
}
.m-huseikai .txt {
    border: solid 6px #f377bc;
    border-radius: 8px;
    background: #fff;
    padding: 1rem;
    font-size: 48px;
    font-weight: bold;
    text-align: center;
    margin: 90px auto 0;
    line-height: 1;
    color: #f377bc;
    width:70%;
}
}/* //スマホ用CSS -------------- */



















