@charset "shift_jis";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700;900&display=swap');
@import "https://code.highcharts.com/css/highcharts.css";
* {
	margin:0;
	padding:0;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	outline:0;
	vertical-align:baseline;
}
img {
	margin: 0 auto;
	display:block;
	vertical-align:bottom;
	font-size:0;
	line-height:0;
	border:0;
}

html {
	background-color:#FFF;
	background: linear-gradient(45deg, #F5F5F5 25%, transparent 25%, transparent 75%, #F5F5F5 75%),
				linear-gradient(45deg, #F5F5F5 25%, transparent 25%, transparent 75%, #F5F5F5 75%);
	background-size: 40px 40px;
	background-position: 0 0, 20px 20px;
	-webkit-text-size-adjust:none;
	font-size:calc(100vw / 32);
	color: #000;
}
body {
	background-color:transparent;
	font-size:1.6rem;
	line-height:1.25;
	font-family: "ƒqƒ‰ƒMƒmŠpƒS Pro W3", "Hiragino Kaku Gothic Pro", "ƒ�ƒCƒŠƒI", "Meiryo", sans-serif;
}

.iPhoneBody {
	background-color:transparent;
	border-top: solid 2rem #282386;
}

.iPhoneHead {
	padding:1rem 1rem 0;
	height:auto;
	border-bottom:none;
	background-image:none;
	background-color:transparent;
}
.iPhoneHead h1 {
	margin:0;
	padding:1rem;
	text-align:center;
	white-space:nowrap;
	overflow:visible;
	border-top: solid 0.5rem #E51684;
	border-bottom: solid 0.5rem #E51684;
	background-color: #FFF;
}

.wrapper1,
.wrapper2,
.wrapper {
	padding: 0 1rem;
	font-family: 'M PLUS Rounded 1c', sans-serif;
}

.alertBox2,
.alertBox {
    margin: 1.6rem auto;
	text-align: left;
    font-size: 1.2rem;
    color: #666;
}
.unitBox .alertBox2,
.unitBox .alertBox {
    margin: 0.25rem auto;
}
.alertBox2 a,
.alertBox a {
	padding: 0 1.2rem 0 0;
	text-decoration: none;
    font-size: 1.4rem;
    color: #1558d6;
	position: relative;
}
.alertBox2 a::after,
.alertBox a::after {
    position: absolute;
    right: 0.2rem;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    border-top: solid 0.1rem #1558d6;
    border-right: solid 0.1rem #1558d6;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.alertBox p {
    color: #FF0000;
}

/*ƒI�[ƒo�[ƒŒƒC‚ÌCSS*/
.top_com {
    margin-left:1rem;
}
#overlay{
    position: fixed;
    top: 0;
    left: 0; /* 20261011: center on PC (640px layout) */
    z-index: 100;
    width: 100vw;
    height:100vh;
    display: none;
    background: rgba(0,0,0,0.6);
}
.olflex{
    /*ƒI�[ƒo�[ƒŒƒC“à‚Ì—v‘f‚ð�ã‰º�E�¶‰E’†‰›‘µ‚¦*/
    width: 100%;
    height:100%;
    display: flex;
    justify-content: center;
    align-items: center; 
}
.overlay-inner{
    padding:0 1rem;
    background-color:#FFF;  
}
#close-btn{
    width: 100%;
    font-size: 1.5rem;
    line-height: 3.6rem;
    font-weight: bold;
    color: #EA4335;
    background-color: #FFF;
    border: solid 0.1rem #EA4335;
}
.noteBox {
    margin: 1.6rem auto;
	text-align: left;
    font-size: 1.25rem;
    color: #FFF;
	position: relative;
}
.noteBox p {
	position: absolute;
	top: 5.5rem;
	left: 2.5rem;
	right: 0;
	margin: auto;
	width: 60%;
	font-weight: 700;
}

.linkBox {
    margin-top: 1rem;
	text-align: right;
}
.linkBox a {
	padding: 0 0 0 1.2rem;
	text-decoration: none;
    font-size: 1.4rem;
    color: #1558d6;
	position: relative;
}
.linkBox a::before {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    border-top: solid 0.1rem #1558d6;
    border-right: solid 0.1rem #1558d6;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.linkBox a::after {
    position: absolute;
    left: -0.4rem;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    border-top: solid 0.1rem #1558d6;
    border-right: solid 0.1rem #1558d6;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.alertBox a:visited,
.linkBox a:visited,
.resultgraph_ttl .graphswitch_btn a:visited {
    color: #4b11a8;
}
.alertBox a:visited::after,
.linkBox a:visited::before,
.linkBox a:visited::after {
    border-top-color: #4b11a8;
    border-right-color: #4b11a8;
}

.lead {
	text-align: center;
	position: relative;
}
.cloud {
	margin: 0 auto;
	width: 8rem;
	height: 8rem;
	background-color: #282386;
	border-radius: 50%;
	box-shadow: -12.5rem -0.5rem 0 -1.5rem #282386, -9.2rem 0 0 0 #282386, -4.5rem 0 0 -0.2rem #282386, 5rem 0 0 0.2rem #282386, 9.5rem 0 0 -0.4rem #282386, 12.7rem 0.5rem 0 -1.8rem #282386;
}
.lead p {
	display: block;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #FFF;
	font-size:1.4rem;
	font-weight: 700;
}

.sectionBox {
	margin: 1.6rem auto;
}
.sectionBox .ttl {
	font-size:1.8rem;
	font-weight: 700;
	text-align: left;
}
.sectionBox .ttl span {
	font-size:3rem;
	font-weight: 900;
	color: #E51684;
}

.accordion .ttl {
    margin: 2.4rem auto 1.6rem;
    padding: 1.2rem 1.8rem 1.2rem 0.8rem;
    background-color: #CCC;
    cursor: pointer;
	position: relative;
}
.accordion .ttl::after {
    position: absolute;
    right: 0.8rem;
	top: 0;
    bottom: 0;
	margin: auto;
    content: "�¥";
    width: 1rem;
    height: 1rem;
	font-size: 1rem;
	line-height: 1rem;
}
.accordion.bg02 .ttl::after {
    content: "�£";
}
.accordion .ttl span {
	display: block;
	font-size: 1.4rem;
	font-weight: 400;
	color: #000;
}

.accordionBox {
    display: none;
}
.accordionBox > :not(.clearBox_inner):first-child {
	margin-top: 0;
}

.unitBox {
    margin-top: 1rem;
}
.unitBox .ttl {
	font-size:1.6rem;
	font-weight: 700;
	text-align: left;
}
.unitBox_inner,
.inline-radio {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.unitBox_inner > div,
.inline-radio > div {
	width: 48%;
}

.numbers-row0,
.numbers-row {
    margin: 0.5rem auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.unitBox .numbers-row {
    margin: 0;
}

input[type="number"] {
	padding: 0 0.75rem;
	width: 100%;
	font-size: 5rem;
	font-weight: 900;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	text-align: right;
	background-color: #FFF;
	border: solid 0.6rem #CCC;
}
.unitBox input[type="number"] {
	margin: 0 0.5rem;
	padding: 0 0.5rem;
	font-size: 1.8rem;
	border: solid 0.3rem #CCC;
}

.button {
    min-width: 2.5rem;
    min-height: 2.5rem;
	font-size: 2rem;
	line-height: 2.5rem;
	font-weight: 900;
    text-align: center;
	color: #FFF;
	background-color: #E51684;
	border-radius: 50%;
    cursor: pointer;
}

.unitBox .item input {
	/*display: none;*/
    width: 1px;
    height: 1.6rem;
    opacity: 0;
}
.unitBox .item label {
	margin: 0.25rem 0;
    padding-left: 2rem;
	display: inline-block;
    position: relative;
}


.unitBox .item label::before,
.unitBox .item label::after {
    display: block; 
    position: absolute;
    content: "";
}
.unitBox .item label::before {
    left: 0;
    top: 0;
	bottom: 0;
	margin: auto;
    width: 1.6rem;
    height: 1.6rem;
    background-color: #CCC;
    border-radius: 0;
}
.unitBox .item label::after {
    left: 0.35rem;
    top: 0.4rem;
    height: 0.5rem;
    width: 1.1rem;
    border-bottom: solid 0.3rem #E51684;
    border-left: solid 0.3rem #E51684;
    transform: rotate(-45deg) scale(0, 0);
	transition: 0.3s;
}
.unitBox .item input:checked + label::after {
    transform: rotate(-45deg) scale(1, 1);
}



.btnBox {
    margin: 2.4rem -1rem 0;
	padding: 0 1rem 2.4rem;
	background-image:url(../../images/kitac_slot_114/bg_juggler.png);
	background-repeat:no-repeat;
	background-size:100% auto;
	background-position:right bottom;
}
.btnBox.result {
    margin: 2.4rem auto;
	padding: 0;
	display: flex;
	justify-content: space-between;
	background: none;
}
.btnBox.result div {
	width: 47%;
}

.submitBox {
	display: flex;
	width: 50vw;
	height: auto;
}
.btnBox.result .submitBox {
	display: block;
	height: auto;
	background: none;
}

.submitBox button[type="submit"] {
	width: 100%;
    text-align: center;
    background: transparent;
    border: none;
	cursor: pointer;
	position: relative;
}
.submitBox button[type="submit"] p.on {
	position: absolute;
	top: 0;
	left: 0;
	animation: blink 2s infinite;
}
@keyframes blink {
	0% {opacity: 1;}
	30% {opacity: 0;}
	60% {opacity: 1;}
}


.btnBox.result .submitBox button[type="submit"],
.sendBox a {
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	font-size: 1.6rem;
	line-height: 3.6rem;
	font-weight: 700;
	font-family: 'M PLUS Rounded 1c', sans-serif;
    text-decoration: none;
	color: #FFF;
	background: #E51684;
    border: none;
}
.btnBox.result .submitBox button[type="submit"]::before {
    content: "";
    width: 2rem;
    height: 2rem;
    margin-right: 0.1rem;
    background: url(../../images/kitac_slot_114/icon_shuushi.png) no-repeat;
    background-size: contain;
}
.sendBox a::before {
    content: "";
    width: 2rem;
    height: 2rem;
    margin-right: 0.3rem;
    background: url(../../images/kitac_slot_114/icon_mail.png) no-repeat;
    background-size: contain;
}

.clearBox {
	margin-top: 1.6rem;
	width: 50vw;
	text-align: center;
}
.noteBox .clearBox {
	position: absolute;
	bottom: 2.4rem;
	right: 0;
}
.btnBox.result .clearBox {
	margin: 0 auto;
	width: 50vw;
	text-align: center;
}
.clearBox input[type="submit"],
.clearBox input[type="button"] {
    width: 70%;
	font-size: 1.4rem;
	line-height: 3rem;
	font-weight: 700;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	color: #282386;
	background-color: #FFF;
	border: solid 0.1rem #E51684;
	cursor: pointer;
}

.clearBox_inner {
	margin: 1rem auto 0;
	padding: 0.8rem;
	font-size: 1.4rem;
	text-align: center;
	color: #282386;
	background-color: #FAD0E6;
}
.clearBox_inner input[type="button"] {
	margin-top: 0.5rem;
	width: 30%;
	font-size: 1.4rem;
	line-height: 2.6rem;
	font-weight: 700;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	color: #FFF;
	background-color: #E51684;
    border: none;
	cursor: pointer;
}

.resultgraph_ttl {
    margin: 1.6rem auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.resultgraph_ttl .ttl {
	font-size:1.6rem;
	font-weight: 700;
	text-align: left;
}

.resultgraph_ttl .graphswitch_btn {
	text-align: right;
}
.resultgraph_ttl .graphswitch_btn a {
	text-decoration: none;
    font-size: 1.4rem;
    color: #1558d6;
}

.recommendBox {
	margin: 1.6rem auto;
}
.recommendBox .ttl {
	font-size:2rem;
	font-weight: 900;
	text-align: left;
	color: #E51684;
}
.recommendBox .level {
	margin-top: 0.5rem;
	padding: 1rem 0.5rem;
	display: flex;
	background-color: #FFF;
	border: solid 0.4rem #CCC;
}
.recommendBox .level li {
	width: 20%;
}

.fukidashiBox {
	margin: 1.6rem auto;
	display: flex;
}
.fukidashiBox .img {
	min-width: 8rem;
	max-width: 8rem;
}
.fukidashiBox .txt {
    margin-left: 1rem;
    padding: 0.8rem;
	display: flex;
	align-items: center;
	width: 100%;
	font-size: 1.4rem;
	font-weight: 700;
	color: #FFF;
    background-color: #282386;
    border: solid 0.3rem #282386;
    border-radius: 0.8rem;
    position: relative;
}
.fukidashiBox .txt::before {
    position: absolute;
    content: '';
    top: 1.1rem;
    left: -2.2rem;
    border: solid 0.7rem transparent;
    border-right: solid 1.4rem #282386;
}
.fukidashiBox .txt::after {
    position: absolute;
    content: '';
    top: 1.1rem;
    left: -1.6rem;
    border: solid 0.7rem transparent;
    border-right: solid 1.4rem #282386;
}

.resultBox {
    margin-top: 1rem;
}
.resultBox .ttl {
	margin: 1.6rem 0 1rem;
	padding: 0.5rem 0;
	font-size:1.4rem;
	font-weight: 400;
	text-align: center;
	color: #FFF;
	background-color: #282386;
	border-radius: 50vh;
}
.resultBox a {
    text-decoration: none;
}

.resultBox_inner {
    display: flex;
    font-size: 1.6rem;
    flex-wrap: wrap;
    gap:1.8vw;
}
.resultBox_inner.fsBox {
    display: flex;
    justify-content: space-between;
    font-size: 1.6rem;
}

.group {
	display: flex;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
	width: 30vw;
	height: 30vw;
    font-size: 1.4rem;
	text-align: center;
	background-color: #FFF;
	border: dashed 0.3rem #CCC;
	border-radius: 50vh;
}
.group p {
	width: 100%;
}
.group .result1 span {
	color:#666666;
    font-size: 1rem;
}
.group .result2 {
	margin-top: 0.5rem;
}

footer {
	padding: 1rem 0 0;
	text-align: center;
	background-color: #282386;
	font-weight: 400;
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
footer .footerhr {
    color: #FFFFFF;
}
footer .copyright {
    margin: 0 1rem 1rem;
	position: relative;
}
footer .copyright .txt {
	display: inline-block;
    font-size: 1.2rem;
	text-align: right;
	color: #FFF;
	position: absolute;
	bottom: 0;
	right: 0;
}
.boxcenter_top {
	padding: 1rem 0;
	text-align: center;
}
.boxcenter_top a {
	color: #FFF;
	text-decoration: none;
}

.highcharts-root {
    font-family: 'M PLUS Rounded 1c', sans-serif;
}
.highcharts-background {
    fill: transparent;
}
.highcharts-data-label {
    text-shadow: 1px 1px 0px red;
}
.highcharts-data-label-color-0 text,
.highcharts-data-label-color-1 text,
.highcharts-data-label-color-2 text,
.highcharts-data-label-color-3 text,
.highcharts-data-label-color-4 text,
.highcharts-data-label-color-5 text,
.highcharts-data-label-color-6 text,
.highcharts-data-label text {
    fill: red;
    text-shadow: 1px 1px 0px red;
    font-weight: 900;
}
.area_step_bar {
    height: 260px;
   /* width: 95%;*/
}




/* 20261011: PC (640px layout) - same width as smartphone */
@media screen and (min-width: 642px) {
    .olflex { max-width: 576px; margin: 0 auto; }
}
