@charset "utf-8";

/* MAIN CORE: copied in from instawin.core.css */

/* all error messages */
.error-warn,
.error-warning {
	text-align: left;
	color: #7b5000; /* was orange */
	font-size: 1.1em;
	line-height: 1.2em;
}
.error-error {
	text-align: left;
	color: red;
	font-size: 1.1em;
	line-height: 1.2em;
}
.error-abort {
	text-align: center;
	color: #000000;
	background-color: #ff0000;
	font-weight: bold;
	font-size: 1.4em;
	line-height: 1.5em;
	padding: 2px;
	margin: 2px 0 2px 0;
}
.error-crash {
	text-align: center;
	color: #fbffe0;
	background-color: #a00000;
	font-weight: bold;
	font-size: 1.6em;
	line-height: 1.7em;
	border: 2px solid #000000;
	padding: 2px;
	margin: 2px 0 2px 0;
}
.error-info, .error-ok {
	text-align: center;
	color: green;
	font-size: 1.1em;
	line-height: 1.2em;
}

/* for scroll back top */
.pageTop {
	z-index: 100;
	position: fixed;
	bottom: 10px;
	right: 10px;
	text-align: center;
	display: block;
	width: 70px;
	color: black;
	background: #adadad;
	border-radius: 5px;
	border: 2px solid #d4d4d4;
	outline: none;
	padding: 5px;
	cursor: pointer;
}
.pageTop:hover {
	background-color: #c2c2c2;
	border: 2px solid #d6d6d6;
}

/* cursor type pointer/hand */
.cur-point {
	cursor: pointer;
}

/* standard hide */
.hide {
	display: none;
}

/* text align */
.tac {
	text-align: center;
}

/* colors */
.font-red {
	color: #EC0A0E;
}
.font-purple {
	color: #4b0082;
}
.font-blue {
	color: #0450D5;
}
.font-green {
	color: #008000;
}

/* the overlay background black cover */
.overlayBoxElement {
	background-color: rgba(0, 0, 0, 0.7);
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 98;
}
/* white change */
.overlayBoxElementResult {
	background-color: rgba(255, 255, 255, 0.6);
}

/* Progress animation large */
.progress {
	width: 100px;
	height: 100px;
	background: rgba(255, 255, 255, 0.6);
	border: 20px solid rgba(255, 255, 255 ,0.25);
	border-left-color: rgba(3, 155, 229 ,1);
	border-top-color: rgba(3, 155, 229 ,1);
	border-radius: 50%;
	display: inline-block;
	animation: progress-move 600ms infinite linear;
	/* align */
	left: 0;
	top: 0;
	position: absolute;
	z-index: 1000;
}
/* Animation for above progress */
@keyframes progress-move {
	to {
		transform: rotate(1turn)
	}
}

/* MAIN CORE: copied in from instawin.core.css */

/* *********************************************************
 * MASTER
 * *********************************************************
 */
html {
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: メイリオ, Meiryo, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 62.5%;/*10px相当*/
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	/* avoid scroll bar width change */
	/* scrollbar-gutter: stable; */
	box-sizing: border-box;
}

body {
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
	line-height: 1.8;
	color: #333;
	background: #fff;
}
/* 599 */
@media only screen and ( max-width: 749px ) {
	body {
		font-size: 1.4rem;
		line-height: 1.4;
	}
}
.left {
	float: left;
}
.right {
	float: right;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
.textC {
	text-align: center;
}
.textL {
	text-align: left;
}
.textR {
	text-align: right;
}
.text_fff {
	color: #fff;
}
.red {
	color: #c3002f;
}

a:link, a:visited {
	color: #005ECF;
	text-decoration: none;
}
a:hover {
	color: #005ECF;
	text-decoration: none;
}
/* IE image map <area onFocus="this.blur();"> */
area {
	border: none;
	outline: none;
}

@media print, screen and (min-width:750px){
	.display_sp {display: none}
}
@media screen and (max-width:749px){
	.display_pc {display: none}
}
@media print, screen and (min-width:1501px){
	.display_1500 {display: none}
}
@media screen and (max-width:1500px){
	.display_1920 {display: none}
}

/* *********************************************************
 * GENERAL CONTENTS/CONTAINER
 * *********************************************************
 */

.error {
	font-size: 20px;
	color: red;
	font-weight: bold;
	padding: 5px 0 5px 0;
	margin: 0 auto 0;
	width: 70%;
}

.contents,
.content {
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.content-padding {
	padding-bottom: 20px;
}

.container-out {
	/* width: calc(800 / 900 * 100%); */
	width: 100%;
	/* max-width: 950px; */
	max-width: 100%;
	min-height: 100%;
	margin: 0 auto;
}
.container-game {
	width: 100%;
	max-width: 850px;
	min-height: 100%;
	margin: 0 auto;
}

.container-background {
	background: rgb(253, 255, 175);
}

.container-error {
	width: 100%;
	max-width: 500px;
	min-height: 100%;
	margin: 0 auto;
	color: #fff;
}

.container-error-text {
	font-size: 1.5em;
	line-height: 1.6em;
	font-weight: bold;
	text-align: left;
	padding: 20px 0 0 0;
}

.container-error-text-small {
	font-size: 1.1em;
	line-height: 1.4em;
	font-weight: bold;
	text-align: left;
	padding: 20px 0 0 0;
}

.title {
	padding: 0;
}

/* *********************************************************
 * HEADER BLOCK
 * *********************************************************
 */

header {
	width: 100%;
	margin: 0;
	padding: 0 0 10px;
	overflow: hidden;
	background: #fff;
}
.header_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 96%;
	max-width: 1080px;
	margin: 0 auto;
}
.header_logo{
	width: 15%;
	text-align: left;
}
.header_logo img {
	max-width: 100px;

}
.header_name {
	text-align: right;
}
.header_name img {
	max-width: 120px;
}
@media only screen and ( max-width: 749px ) {
	header {
		margin: 0 auto 0;
		padding: 10px 0 10px;
	}
	.header_logo {
		width: 50%
	}
	.header_logo img {
		max-width: none;
	}
	/* .header_name {
	} */
	.header_name img {
		width: 90%;
    }
}

/* *********************************************************
 * SMARTPHONE CSS LAYOUT
 * *********************************************************
 */
/*@media screen and (max-width: 639px) {*/
@media screen and (max-width: 770px) {
	.pc-only {
		display: none;
	}
	.sp-only {
		display: inline-block;
	}

	.main {
		min-width: auto;
	}
	.title {
		min-width: auto;
	}
	.title-form {
		min-width: auto;
	}
	.title-form img {
		width: 90%;
	}

	.container-error-text {
		padding: 20px 10px 10px 10px;
	}

	.container-error-text-small {
		padding: 20px 10px 10px 10px;
		font-size: 1.0em;
	}
}

/* *********************************************************
 * GAME PAGE
 * *********************************************************
 */
.game-page {
	margin: 10px 10px 0 10px;
}
.normal-page {
	margin: 10px;
}
.game-wrap {
	display: inline-block;
	margin: 10px 0 0 0;
}
.game-display {
	text-align: center;
}
/* start button */
.button-div {
	padding: 25px 0 80px 0;
}
.start-button,
.button-image {
	background: none;
	border: none;
}

@media only screen and ( max-width: 599px ) {
	.game-page {
		margin: 6px 6px 0 6px;
	}
	.normal-page {
		margin: 6px;
	}
	.game-wrap {
		margin: 10px 5px 0 5px;
	}
	.button-div {
		padding: 20px 0 30px 0;
		margin: 0 6px 6px 6px;
	}
	.start-button {
		width: 80%;
	}
}

/* *********************************************************
 * SLOT GAME
 * *********************************************************
 */
.slot-container {
	width: 100%;
	margin: 0 auto 20px auto;
	max-width: 1000px;
}

.slots-outer {
	width: 710px;
	background: rgb(255,235,160);
	background: radial-gradient(circle, rgba(255,249,217,1) 0%, rgb(247, 238, 202) 67%, rgba(232,190,0,1) 100%);
	border-left: 10px solid rgba(127, 116, 59);
	border-bottom: 10px solid rgba(203, 186, 69);
	border-right: 10px solid rgba(171, 159, 58);
	border-top: 10px solid rgb(233, 220, 108);
	padding: 10px;
	margin: 0 auto;
}
.slots {
	/* width: 650px; */
	background: rgb(131,133,146);
	background: linear-gradient(198deg, rgba(131,133,146,1) 0%, rgba(50,54,57,1) 100%);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 10px 5px 10px 5px;
}
.slot {
	display: inline-block;
	height: 300px;
	overflow: hidden;
	border: 2px solid #000000;
	margin: 0 5px 0 5px;
}
.slot .slot-inner {
	display: block;
	/* MUST BE SET, adjust to width of one slot width */
	width: 210px;
	background-position: 0 0;
}
.slot .slot-inner img {
	width: 100%;
	height: auto;
	display: block;
}
.slot .slot-inner .slot-gradient {
	background: linear-gradient(rgb(213, 213, 213, 0.8) 0%, rgb(255, 255, 255, 0) 20%, rgb(255, 255, 255, 0) 80%, rgb(213, 213, 213, 0.8) 100%);
}

/* slot background image */
.slot-background {
	background-size: 100%;
	background-image: url("../../layout/images/ni_osaka_nimcp/slot_elements.webp");
}

/* random animation-dely, background-position */
.slot.slot1 .slot-inner {
	background-position-y: -250px;
}
.slot.slot2 .slot-inner {
	background-position-y: -45px;
}
.slot.slot3 .slot-inner {
	background-position-y: 55px;
}

/* for all screens smaller -> switch of fixed heights */
@media screen and (max-width: 770px) {
	.flex {
		margin: 0 10px 0 10px;
	}
	.slots-outer {
		width: auto;
	}
	.slot {
		height: auto;
	}
	.slot .slot-inner {
		height: auto;
		width: 100%;
	}
}
/* very small screens get thinner borders */
@media screen and (max-width: 450px) {
	.slots-outer {
		padding: 5px;
		border-width: 5px;
	}
	.slots {
		padding: 5px 2px 5px 2px;
	}
	.slot {
		margin: 0 2px 0 2px;
	}
}

/* *********************************************************
 * RESULT DATA
 * *********************************************************
 */

.result-group {
	position: absolute;
	width: 850px;
	top: 0;
}
.result-group-coupon,
.result-group-lose {
	position: absolute;
	width: 850px;
	top: 0;
}
.result-title {
	min-height: 450px;
}
.result-winner,
.result-lose {
	z-index: 50;
	position: relative;
}
/*RESULT BOX*/
.result_box {
	padding: 0;
}
.game-page-lose {
	z-index: 50;
	position: relative;
}
@media only screen and ( max-width: 599px ) {
	.result-group,
	.result-group-coupon,
	.result-group-lose {
		width: 100%;
		left: 0;
		margin-left: 0;
	}
	.result-title {
		min-height: 220px;
	}
}

/* *********************************************************
 * WIN FADE IN
 * *********************************************************
 */

/* winner fade in */
@keyframes winner-fadein {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}


/* *********************************************************
 * STYLE SHEETS FOR FOOTER
 * *********************************************************
 */

footer {
	width: 100%;
	margin: 0 auto;
	background: #fff;
	padding: 2em 0;
	border-top: 1px solid #666;
}
@media only screen and ( max-width: 749px) {
footer {
	padding-bottom: 100px;
}
}
.copy {
	padding: 0 0 0.2em;
	text-align: center;
}
.copy a {
	text-decoration: underline;
}
@media only screen and ( max-width: 749px) {
	.copy {
		padding: 0.2em 0 0.2em;
	}
}

/* *********************************************************
 * STYLE SHEETS FOR FORM PAGE
 * *********************************************************
 */
.error-msg {
	margin: 10px 0
}

.container {
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}

/*----------------------------------------------------------
　メイン
-----------------------------------------------------------*/
.mvArea h1 {
	padding: 0;
}
.mv_text {
	padding: 0 0 3%;
}

/*----------------------------------------------------------
　計算エリア
-----------------------------------------------------------*/
/*アンケートページ
-----------------------------------------------*/
.check .lineup_title {
	padding: 10% 0 0;
}

.selectArea h2 {
	width: 100%;
	font-size: 2.4rem;
	padding: 2% 0;
	font-weight: 700;
	text-align: left;
}
@media only screen and ( max-width: 749px ) {
	.selectArea h2 {
		font-size: 1.8rem;
	}
}

/* ラジオボタン
---------------------------------------*/
/* animations */
@-webkit-keyframes radio-select {
	0% {
		transform: scale(0, 0);
	}
	65% {
		transform: scale(1.1, 1.1);
	}
	100% {
		transform: scale(1, 1);
	}
}
@keyframes radio-select {
	0% {
		transform: scale(0, 0);
	}
	65% {
		transform: scale(1.1, 1.1);
	}
	100% {
		transform: scale(1, 1);
	}
}

/*メーカー名
-------------------------------------------------*/
.maker_box {
	margin: 0 auto 4%;
	text-align: left;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.maker_box > div {
	width: calc(100% / 2);
	margin: 0 auto;
	font-size: 2.0rem;
}
.maker_box label {
	margin: 1em 1em;
	display: inline-block;
	position: relative;
	padding-left: 40px;
	cursor: pointer;
}

.maker_box input {
	height: 1px;
	width: 1px;
	opacity: 0;
}

.outside {
	display: inline-block;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -15px;
	width: 30px;
	height: 30px;
	border: 2px solid #CCCCCC;
	border-radius: 50%;
	box-sizing: border-box;
	background: #F3F3F3;
}
.lineup_box .outside,
.lineup_box3 .outside {
	width: 45px;
	height: 45px;
}

.inside {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: inline-block;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	background: #444;
	left: 3px;
	top: 3px;
	transform: scale(0, 0);
}
.lineup_box .inside,
.lineup_box3 .inside {
	width: 35px;
	height: 35px;
}
.no-transforms .inside {
	left: auto;
	top: auto;
	width: 0;
	height: 0;
}

input:checked + .outside .inside {
	-webkit-animation: radio-select 0.1s linear;
					animation: radio-select 0.1s linear;
	transform: scale(1, 1);
}
.no-transforms input:checked + .outside .inside {
	width: 20px;
	height: 20px;
}

.form-overlay {
	position: fixed;
	top: 0;
	z-index: 100%;
	width: 100%;
	/* height: 80vh; */
	margin: 5% 0;
	z-index: 200;
}

.form-overlay iframe {
	width: 100%;
	height: 100%;
	/* position: relative; */
}

.form-overlay-inside {
	/* overflow-y: scroll; */
	height: 80vh;
	width: 80%;
	max-width: 900px;
	border: 2px solid #000;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
	background: white;
	margin: auto;
}

.form-overlay div#close-button {
	margin: 10px 0;
	/* position: absolute; */
	/* bottom: 0; */
	width: 100%;
}

.form-overlay .button-close {
	border-radius: 20px;
	border: 0px;
	color: #000000;
	background-color: rgb(212, 211, 211);
	font-weight: bold;
	font-size: 1em;
	padding: 10px 20px;
	cursor: pointer;
}
.form-overlay .button-close:hover {
	background-color: rgb(239, 239, 239);
}

@media only screen and ( max-width: 599px ) {
	.lineup_box label {
		padding-left: 22px;
	}
	.lineup_box2 label {
		padding-left: 22px;
	}
		.maker_box > div {
		font-size: 1.6rem;
	}

	.maker_box label {
		padding-left: 30px;
	}
	.outside,
	.lineup_box .outside,
	.lineup_box3 .outside {
		display: inline-block;
		position: absolute;
		left: 0;
		top: 50%;
		margin-top: -10px;
		width: 20px;
		height: 20px;
		border: 2px solid #CCCCCC;
		border-radius: 50%;
		box-sizing: border-box;
		background: #F3F3F3;
	}

	.inside,
	.lineup_box .inside,
	.lineup_box3 .inside {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		display: inline-block;
		border-radius: 50%;
		width: 14px;
		height: 14px;
		background: #444;
		left: 1px;
		top: 1px;
		transform: scale(0, 0);
	}
	.no-transforms .inside {
		left: auto;
		top: auto;
		width: 0;
		height: 0;
	}

	input:checked + .outside .inside {
		-webkit-animation: radio-select 0.1s linear;
						animation: radio-select 0.1s linear;
		transform: scale(1, 1);
	}
	.no-transforms input:checked + .outside .inside {
		width: 20px;
		height: 20px;
	}
}

/* テキスト
---------------------------------------*/
.carname_text {
	text-align: left;
}
.carname_box {
	text-align: left;
	margin: 2% auto;
}
.carname_box input[type="text"]{
	width: 100%;
	padding: 0.5em;
	border: 1px solid #ccc;
	font-size: 1.8rem;
	border-radius: 6px;
}

.touroku_box {
	display: flex;
	align-items: center;
}
.touroku_box input[type="text"]{
	width: 100%;
	max-width: 200px;
	padding: 0.5em;
	border: 1px solid #ccc;
	font-size: 1.8rem;
	border-radius: 6px;
}
.touroku_nen {
	margin-left: 0.5em;
}
button.submit_btn_box {
	background-color: white;
	border: 0;
}
.submit_btn_box input[type="image"] {
	width: 100%;
	max-width: 860px;
	margin: 6% auto;
}

.submit_btn_box input[type="image"]:hover {
	opacity: 0.8;
	transition: 0.3s;
}
