@charset "UTF-8";

/*==================================================
base
==================================================*/

.pub #contents {
	padding-bottom: 0;
}

.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.blue {
	color: #0074c0;
}

@media screen and (max-width:767px) {

	#container #breadCrumb {
		display: none;
	}

	#container {
		min-width: 0;
	}

}


/*==============================================================
contents
==============================================================*/

#contents {
	width: 100%;
	line-height: 1.8em;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

#contents * {
	box-sizing: border-box;
}

#contents a {
	color: inherit;
	text-decoration: none;
	opacity: 1;
	transition: opacity .3s 0s ease;
}

#contents a:hover {
	opacity: .6;
}

#contents .inner {
	position: relative;
	margin: 0 auto;
}

#contents img {
	width: 100%;
	height: auto;
}

@media screen and (min-width:768px) {
	#contents {
		font-size: 16px;
	}

	#contents .inner {
		width: 980px;
		padding: 60px 0;
	}
}

@media screen and (max-width:767px) {
	#contents {
		font-size: 14px;
	}

	@media screen and (max-width:320px) {
		#contents {
			font-size: 13px;
		}
	}

	#contents .inner {
		width: 90vw;
		padding: 10vw 0;
	}
}

/*--------------- contentsHeader ---------------*/

.contentsHeader {
	position: relative;
	background-color: #f9f8ef;
}

.contentsTitle {
	margin: 0 auto;
}

.contentsTitle span {
	display: block;
	margin: 0 auto;
}

.contentsTitle .main {
	width: 500px;
	margin: 0 auto 1em;
}

.contentsTitle .sub {
	width: 670px;
	padding: 10px 60px;
	background-color: #ffc900;
	background-image: repeating-linear-gradient(-45deg, #ffc900 0, #ffc900 8px, #f9d764 8px, #f9d764 16px);
	border-radius: 5px;
}

.contentsHeader .contentsMark {
	width: 100px;
	margin: 2.5em auto 2em;
}

.contentsHeader .lead {
	color: #0074c0;
	font-weight: bold;
	text-align: center;
	font-size: 1.15em;
	line-height: 2em;
}

@media screen and (max-width:767px) {

	.contentsTitle .main {
		width: 100%;
	}

	.contentsTitle .sub {
		width: 100%;
		padding: 3vw;
	}

	.contentsHeader .contentsMark {
		width: 18vw;
		margin: 6vw auto 4vw;
	}

	.contentsHeader .lead {
		font-size: 3.2vw;
	}

}


/*--------------- summary ---------------*/

.summary {
	padding-top: 20px;
	position: relative;
}

.summary::before {
	content: '';
	display: block;
	position: absolute;
	left: calc(50% - 30px);
	top: 0;
	border: solid 30px transparent;
	border-top: solid 30px #f9f8ef;
}

.summary .inner {
	align-items: center;
	justify-content: space-between;
}

.summary .balloon {
	width: 6em;
	height: 6em;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	border-radius: 50%;
	background-color: #58b7c6;
	color: #fff;
	font-weight: bold;
}

.summary ul {
	width: 830px;
	height: 6em;
	flex-direction: column;
	justify-content: center;
	align-content: space-between;
}

.summary li {
	width: 410px;
	color: #58b7c6;
	font-size: .9em;
}

@media screen and (min-width:768px) {
	.summary li:nth-child(n+3) {
		width: 380px;
	}
}

.summary li span {
	display: inline-block;
	width: 6em;
}

@media screen and (max-width:767px) {

	.summary .inner {
		display: block;
	}

	.summary .balloon {
		width: 6em;
		height: 6em;
		margin: 0 auto 1em;
	}

	.summary ul {
		width: 100%;
		height: auto;
		display: block;
	}

	.summary li {
		width: 100%;
		font-size: .8em;
	}
}


/*--------------- mainContents ---------------*/

.mainContents {
	padding-top: 150px;
	position: relative;
}

/*** qList ***/
.mainContents .qList {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 5;
}

.mainContents .qList.fix {
	position: fixed;
	top: 80px;
}

.mainContents .qList li {
	width: 33.3%;
	padding: 15px 0;
	flex-grow: 1;
	text-align: center;
	position: relative;
	cursor: pointer;
	transition: all .3s 0s ease;
}

.mainContents .qList.fix li {
	padding: 10px 0;
}

.mainContents .q1 {
	color: #7bcdcd;
	background-color: #7bcdcd;
}

.mainContents .q2 {
	color: #9dbb31;
	background-color: #9dbb31;
}

.mainContents .q3 {
	color: #ffc900;
	background-color: #ffc900;
}

.mainContents .qList li::after {
	display: block;
	position: absolute;
	left: calc(50% - 17px);
	top: 100%;
	border-left: solid 17px transparent;
	border-right: solid 17px transparent;
	border-top: solid 17px;
}

.mainContents .qList li.current::after {
	content: '';
}

.mainContents .qList .qMark {
	display: block;
	width: 60px;
	height: 64px;
	margin: 0 auto;
	fill: #fff;
	opacity: .5;
	transition: all .3s 0s ease;
}


.mainContents .qList li.current .qMark {
	opacity: 1;
}

.mainContents .qList p {
	margin-top: .5em;
	color: #fff;
	font-weight: bold;
	font-size: 1.15em;
	transition: all .3s 0s ease;
}

@media screen and (min-width:768px) {
	.mainContents .qList.fix .qMark {
		width: 30px;
		height: 32px;
	}

	.mainContents .qList.fix p {
		font-size: .9em;
		line-height: 1.5em;
	}
}


@media screen and (max-width:767px) {

	.mainContents {
		padding-top: 120px;
	}

	.mainContents .qList li {
		padding: 3vw 0;
	}

	.mainContents .qList.fix li {
		padding: 1.5vw 0;
	}

	.mainContents .qList .qMark {
		width: 100%;
		height: 10vw;
		margin-bottom: 2vw;
	}

	.mainContents .qList.fix .qMark {
		height: 6vw;
	}

	.mainContents .qList p {
		font-size: .7em;
		line-height: 1.5em;
	}

	@media screen and (max-width:320px) {
		.mainContents .qList p {
			font-size: .65em;
		}
	}

	.mainContents .qList.fix .fixHide {
		display: none;
	}

}


/*** qBox ***/
.qBox {}

.qBox:not(.current) {
	display: none;
}

.qBox .question {
	color: #000;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
	line-height: 1.5em;
}

.qBox .question .qMark {
	display: block;
	width: 100px;
	height: 120px;
	margin: 0 auto 1em;
}

.qBox .question+.illust {
	width: 300px;
	margin: 2em auto 3em;
}

.qBox .answer {
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	line-height: 1.5em;
	color: #000;
}

.qBox .answer::before {
	content: '';
	display: inline-block;
	width: 2.2em;
	height: 2.2em;
	margin-right: .5em;
	background: url(../images/answer.svg) no-repeat center / contain;
	vertical-align: -.7em;
}

.qBox .answer .percent {
	font-size: 2em;
}

.qBox .answer .percent span {
	font-size: .6em;
	margin-left: .1em;
}

.qBox .contentsMark {
	width: 75px;
	margin: 0 auto 3em;
}

.qBox .graph {
	width: 940px;
	margin: 1em auto 0;
	align-items: center;
}

.qBox .graph figure {
	width: 220px;
	height: auto;
}

.qBox .explain {
	width: 780px;
	margin: 1.5em auto 0;
	padding: 30px;
	border: solid 1px #58b7c6;
	background-color: #fff;
	border-radius: 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.qBox .explain::before {
	content: '';
	display: block;
	width: 4em;
	height: 4em;
	background: url(../images/logo.svg) no-repeat center / contain;
}

.qBox .explain p {
	text-align: left;
	font-size: 1.05em;
}

.qBox .more {
	margin: 3em auto;
	text-align: center;
}

.qBox .moreMark {
	width: 100px;
	height: 110px;
}

.qBox .fukidashi {
	font-size: 1.2em;
	margin-bottom: 2em;
	display: inline-block;
	padding: .5em 2em;
	border-radius: 10px;
	position: relative;
}

.qBox .fukidashi::after {
	content: '';
	display: block;
	position: absolute;
	left: calc(50% - 12px);
	top: 100%;
	border: solid 12px transparent;
	border-top: solid 15px #333;
}

.qBox .note {
	text-align: center;
	margin: 0 auto 3em;
}

.qBox .note ul {
	display: inline-block;
}

.qBox .note ul li {
	padding-left: 1.2em;
	position: relative;
	font-size: .8em;
	color: #666;
	text-align: left;
}

.qBox .note ul li::before {
	content: '※';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}

@media screen and (max-width:767px) {
	.qBox .question {
		font-size: 1.4em;
	}

	.qBox .question .qMark {
		width: 20vw;
		height: 24vw;
	}

	.qBox .question+.illust {
		width: 65vw;
	}

	.qBox .answer {
		font-size: 1.15em;
		line-height: 1.8em;
	}

	.qBox .answer::before {
		display: block;
		width: 2.8em;
		height: 2.8em;
		margin: 0 auto .5em;
		vertical-align: 0;
	}

	.qBox .graph {
		width: 100%;
		margin: 2.5em auto 0;
		align-items: center;
	}

	.qBox .graph figure {
		width: 100%;
		margin: 0 auto;
	}

	.qBox .explain {
		width: 100%;
		margin: 10vw auto 0;
		padding: 1em 1.5em;
		flex-direction: column;
	}

	.qBox .explain::before {
		width: 3.5em;
		height: 3.5em;
	}

	.qBox .explain p {
		margin-top: 1em;
		width: 100% !important;
		font-size: .95em;
	}

	.qBox .fukidashi {
		font-size: 1.2em;
	}

	@media screen and (max-width:320px) {
		.qBox .fukidashi {
			font-size: 1.15em;
			padding: .5em 1em;
		}
	}
}

/*** q1 ***/
#q1 {}

#q1 .question .qMark,
#q1 .moreMark {
	fill: #7bcdcd;
}

#q1 .answer::before {
	vertical-align: -.3em;
}

#q1 .graph figure {
	width: 380px;
	height: auto;
}

#q1 .graph figure img {
	width: 220px;
	height: auto;
	vertical-align: middle;
}

#q1 .graph figcaption {
	margin-top: 2em;
	margin-left: 1.5em;
	display: inline-block;
	vertical-align: middle;
}

#q1 .graph figcaption li {
	position: relative;
	padding-left: 1.5em;
	font-size: .85em;
}

#q1 .graph figcaption li::before {
	content: '';
	display: block;
	width: 1em;
	height: 1em;
	border: solid 1px #ccc;
	position: absolute;
	left: 0;
	top: calc(50% - .6em);
}

#q1 .graph figcaption li:nth-child(1)::before {
	background: #7bcdcd;
}

#q1 .graph figcaption li:nth-child(2)::before {
	background: #58b7c6;
}

#q1 .graph figcaption li:nth-child(3)::before {
	background: #fafcf2;
}

#q1 .graph figcaption li:nth-child(4)::before {
	background: #ee8330;
}

#q1 .explain {
	width: 480px;
	margin-top: 1.5em;
}

#q1 .explain p {
	width: calc(100% - 6em);
}

#q1 .conclusion {
	text-align: center;
	background-color: #fafcf2;
}

#q1 .conclusion h4 {
	color: #ee8330;
	font-size: 2em;
	font-weight: bold;
}

#q1 .conclusion h4 .percent {
	font-size: 1.6em;
	margin: 0 .2em;
}

#q1 .conclusion h4 .percent span {
	font-size: .5em;
}

#q1 .conclusion h4+p {
	margin: 1em auto;
	font-size: 1.3em;
	line-height: 1.6em;
	color: #000;
}

#q1 .conclusion .fukidashi {
	background-color: #ee8330;
	color: #fff;
}

#q1 .conclusion .fukidashi::after {
	border-top-color: #ee8330;
}

#q1 .conclusion .voice {
	width: 460px;
	padding: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
	border: solid 2px #ee8330;
	border-radius: 10px;
}

#q1 .conclusion .voice .face {
	width: 50px;
}

#q1 .conclusion .voice p {
	width: 320px;
	text-align: left;

}

@media screen and (max-width:767px) {

	#q1 .graph figure {
		width: 100%;
	}

	#q1 .graph figure img {
		width: 55%;
		height: auto;
	}

	#q1 .conclusion h4 .percent {
		font-size: 1.2em;
		line-height: 1.4em;
	}

	#q1 .conclusion h4+p {
		margin: 1.5em auto 2em;
		font-size: 1.2em;
	}

	#q1 .conclusion .voice {
		width: 100%;
		padding: 1.5em;
		margin-bottom: 5vw;
	}

	#q1 .conclusion .voice .face {
		width: 13%;
	}

	#q1 .conclusion .voice p {
		width: 80%;
		text-align: left;
	}
}

/*** q2 ***/
#q2 {
	text-align: center;
}

#q2 .question .qMark,
#q2 .moreMark {
	fill: #9dbb31;
}

#q2 .question+.illust {
	margin: 2em auto -100px;
}

#q2 .pickupVoice {
	padding-top: 60px;
	background-color: #fafcf2;
}

#q2 .pickupVoice h4 {
	color: #000;
	font-size: 2em;
	font-weight: bold;
}

#q2 .pickupVoice h4+p {
	margin: 2em auto 1em;
	color: #000;
	font-size: 1.1em;
	font-weight: bold;
}

#q2 .pickupVoice .fukidashi {
	background-color: #9dbb31;
}

#q2 .pickupVoice .fukidashi::after {
	border-top-color: #9dbb31;
}

#q2 .pickupVoice .fukidashi img {
	width: 150px;
}

#q2 .pickupVoice .flex {
	width: 960px;
	margin: 0 auto;
	justify-content: space-between;
}

#q2 .pickupVoice .voice {
	width: 460px;
	padding: 30px;
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	/* text-align: center; */
	background-color: #fff;
	border: solid 1px #bbb;
	border-radius: 10px;
	text-align: left;
}

#q2 .pickupVoice h6 {
	width: 100%;
	margin-bottom: 1em;
	color: #9dbb31;
	font-size: 1.05em;
}

#q2 .pickupVoice .voice ul {
	width: 260px;
	align-self: flex-start;
}

.voice li {
	padding-left: 1.2em;
	position: relative;
}

.voice li::before {
	content: '';
	display: block;
	width: .6em;
	height: .6em;
	position: absolute;
	left: 0;
	top: .4em;
	border-radius: 50%;
	background-color: #9dbb31;
}

#q2 .pickupVoice .voice .illust {
	width: 105px;
	height: 130px;
}

#q2 .pickupVoice .voice .illust img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media screen and (max-width:767px) {


	#q2 .question+.illust {
		margin: 2em auto -20%;
	}

	#q2 .pickupVoice h4 {
		font-size: 1.3em;
		line-height: 1.5em;
	}

	#q2 .pickupVoice h4+p {
		font-size: 1em;
	}

	#q2 .pickupVoice .flex {
		width: 100%;
	}

	#q2 .pickupVoice .voice {
		width: 100%;
		margin-bottom: 5vw;
		padding: 1.5em 1em;
		align-items: center;
	}

	#q2 .pickupVoice .voice ul {
		width: 70%;
	}

	#q2 .pickupVoice .voice .illust {
		width: 25%;
	}

	#q2 .pickupVoice .explain {
		width: 100%;
		margin: 10vw auto 0;
	}

	#q2 .pickupVoice .explain p br {
		display: none;
	}
}

/*** q3 ***/
#q3 {
	text-align: center;
}

#q3 .question .qMark,
#q3 .moreMark {
	fill: #ffc900;
}

#q3 .fig {
	background-color: #fafcf2;
}

#q3 .fukidashi {
	color: #000;
	background-color: #ffc900;
}

#q3 .fukidashi::after {
	border-top-color: #ffc900;
}

#q3 .fukidashi span {
	position: absolute;
	right: 0;
	top: calc(100% + 10px);
	font-size: .7em;
	transform: scale(.8);
	transform-origin: right top;
}

#q3 figure {
	display: block;
	width: 100%;
	margin: 0 auto;
}

#q3 picture {
	display: block;
	width: 900px;
	margin: 0 auto;
}

#q3 .rank {
	margin: 3em auto;
	justify-content: space-between;
}

#q3 .rank li {
	width: 295px;
	padding: 1.5em 0;
	border-radius: 10px;
	background-color: #fff;
	border: solid 2px #ee8330;
	color: #000;
	font-size: 1.1em;
}

#q3 .rank li:first-child {
	background-color: #ffc900;
	border: solid 2px #ffc900;
}

#q3 .rank li span:not(.place) {
	color: #ee8330;
}

#q3 .rank li span.place {
	display: block;
	margin-bottom: .5em;
	color: #ee8330;
	font-weight: bold;
	font-size: 1.4em;
}

#q3 .rank li:first-child .place {
	color: #fff;
}

#q3 .rank li .place:first-letter {
	font-size: 1.7em;
}

#q3 .rank li:last-child p {
	margin-top: 1.3em;
}

#q3 .fig .explain .illust {
	width: 105px;
}

#q3 .more {
	margin: 0 auto 2em;
}

#q3 .fukidashi+p {
	margin-bottom: 1.5em;
	color: #000;
	font-size: 1.5em;
	font-weight: bold;
}

#q3 .voice {
	width: 290px;
	padding: 25px;
	border: solid 5px #ffcc00;
	background-color: #fff;
	border-radius: 10px;
	text-align: left;
}

#q3 .voice h5 {
	margin-bottom: .5em;
	font-size: 1.15em;
	color: #ffc900;
	font-weight: bold;
}

#q3 .voice li::before {
	background-color: #ffcc00;
}

.comicBanner {
	padding: 60px 0;
	margin: 0 auto;
	text-align: center;
	background-color: #faf5de;
	position: relative;
}

.comicBanner::before {
	content: '';
	display: block;
	position: absolute;
	left: calc(50% - 25px);
	top: 0;
	border: solid 25px transparent;
	border-top: solid 25px #fff;
}

.comicBanner p {
	margin: 0 auto 1.2em;
	color: #000;
	font-weight: bold;
	font-size: 1.2em;
}

.comicBanner a {
	width: 390px;
	margin: 0 auto;
	border: solid 1px #fff;
}

@media screen and (max-width:767px) {

	#q3 picture {
		width: 90vw;
	}

	#q3 .rank li {
		width: 100%;
		min-height: 6.5em;
		margin-bottom: 5vw;
		padding: .5em 1em;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: .95em;
		line-height: 1.5em;
	}

	#q3 .rank li:first-child {
		font-weight: bold;
	}

	#q3 .rank li span.place {
		width: 3em;
		margin: 0;
	}

	#q3 .rank li .place+p {
		width: calc(100% - 3em);
		margin: 0;
	}

	#q3 .fig .explain .illust {
		width: 25%;
	}

	#q3 .voice {
		width: 100%;
		margin-bottom: 5vw;
		padding: 1em;
	}

	.comicBanner a {
		width: 90%;
	}
}