@charset "UTF-8";

#suntory_contents {
	position: relative;
	background: url(../img/cmn_bg_01.png) repeat 50% 0;
}

@media screen and (min-width: 751px){
	.sp {
		display: none;
	}	
}
@media screen and (max-width: 750px){
	.pc {
		display: none;
	}	
}

.contents_area {
	max-width: 1148px;
	margin: 0 auto;
}
.contents_area h2 {
	margin: 0;
}
.contents_area ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.contents_area img {
	max-width: 100%;
	vertical-align: top;
}
.contents_area p {
	margin: 0;
}

.question_area {
	margin-top: -2.5%;
	background-color: #c7e8fa;
	padding: 0 74px 60px 73px;
}
.question_area .btn {
	display: inline-block;
	width: 51.1%;
	text-align: center;
}
.question_area li + li {
	margin-top: 4.5%;
}
.box01 h2 {
	position: relative;
	margin-bottom: -2.6%;
}
.box01 .body {
	background: url(../img/cmn_bg_02.png) no-repeat 50% 0;
	background-size: cover;
	padding: 5.6% 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.box02 {
	margin-top: 2%;
}
.box02 .body {
	background: url(../img/top_bg_02.png) no-repeat 0 0;
	background-size: cover;
	padding: 5.6% 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.box03 {
	margin-top: 10%;
}
.box03 .body {
	background: url(../img/top_bg_03.png) no-repeat 0 0;
	background-size: cover;
	padding: 5.6% 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.box03 .text {
	width: 57.4%;
}
.box03 .btn {
	margin-top: 5.5%;
}
@media screen and (max-width: 750px){
	.question_area {
		margin-top: 0;
		padding: 0 4.7% 8.5%;
	}
	.question_area .btn {
		width: 92.9%;
	}
	.box01 h2 {
		margin-bottom: 0;
	}
	.box01 .body {
		background-image: url(../img/top_bg_01_sp.png);
		padding: 4% 0;
	}
	.box02 {
		margin-top: 7%;
	}
	.box02 h2 {
		margin-left: -3.8%;
	}
	.box02 .body {
		background-image: url(../img/top_bg_02_sp.png);
		padding: 4% 0;
	}
	.box03 {
		margin-top: 8.8%;
	}
	.box03 .body {
		background-image: url(../img/top_bg_03_sp.png);
		padding: 3.6% 0;
	}
	.box03 .text {
		width: 81.1%;
	}
	.box03 .btn {
		margin-top: 3%;
	}
}

.detail_area {
	background-color: #fff;
	padding: 55px 74px 70px;
}
.detail_area h2 {
	margin: 50px 0 30px;
	background-color: #00b0ec;
	text-align: center;
	color: #fff;
	font-size: 34px;
}
.detail_area .step {
	margin-right: -2.1%;
}
.detail_area .contact {
	text-align: center;
	color: #00AFEC;
	font-size: 30px;
	font-weight: bold;
}
.detail_area .contact .note {
	font-size: 26px;
}
.toggle_area {
	margin: 55px 0 80px;
}
.toggle_area h2 {
	position: relative;
	margin-bottom: 0 !important;
	cursor: pointer;
}
.toggle_area h2::before,
.toggle_area h2::after {
	content: '';
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: 30px;
	height: 4px;
	margin: auto 0;
	border-radius: 2px;
	background-color: #fff;
}
.toggle_area h2::after {
	transform: rotate(90deg);
}
.toggle_area h2.open::after {
	display: none;
}
.toggle_area .body {
	display: none;
	background-color: #eeefef;
	padding: 40px 30px;
	font-size: 22px;
	line-height: 1.3;
}
.toggle_area .inner {
	max-width: 720px;
	margin: 0 auto;
}
.toggle_area h3 {
	margin: 1em 0 0;
	font-size: inherit;
	font-weight: normal;
}
.toggle_area p {
	word-break: break-all;
}
.toggle_area li {
	padding-left: 1em;
	text-indent: -1em;
}
@media screen and (max-width: 750px){
	.detail_area {
		padding: 8.8% 4.7%;
	}
	.detail_area h2 {
		margin: 10% 0 4%;
		font-size: 5.6vw;
	}
	.detail_area .step {
		margin-right: 0;
	}
	.detail_area .contact {
		font-size: 4.5vw;
	}
	.detail_area .contact .note {
		font-size: 3.3vw;
	}
	.toggle_area {
		margin: 10% 0;
	}
	.toggle_area h2::before,
	.toggle_area h2::after {
		right: 8px;
		width: 14px;
		height: 2px;
	}
	.toggle_area .body {
		padding: 4% 5%;
		font-size: 3vw;
	}
}

.footer_area {
	background-color: #c7e8fa;
	padding: 40px 30px 25px;
}
.footer_area .banner {
	margin-bottom: 70px;
	display: flex;
	justify-content: center;
	gap: 25px;
}
.footer_area .pagetop {
	text-align: center;
}
.footer_area .copyright {
	margin-top: 20px;
	text-align: right;
}
@media screen and (max-width: 750px){
	.footer_area {
		padding: 8.8% 4.7% 5%;
	}
	.footer_area .banner {
		margin-bottom: 6%;
		flex-direction: column;
		gap: 6vw;
		text-align: center;
	}
	.footer_area .pagetop {
		display: none;
	}
	.footer_area .copyright {
		margin-top: 0;
		text-align: center;
	}
	.footer_area .copyright img {
		max-width: 80%;
	}
}

.question_box {
	background-color: #c7e8fa;
	padding: 80px 74px 20px;
	overflow: hidden;
}
.question_box .header {
	position: relative;
	padding: 8px 0 9px;
	text-align: center;
}
.question_box.gd .header {
	background: #3eb134;
}
.question_box.mugi .header {
	background: #f1bf3c;
}
.question_box.secret .header {
	background: linear-gradient(to right, #7b181d 20%, #cc181b 60%, #b71d23 100%);
}
.question_box .header .num {
	position: absolute;
	top: -50px;
	left: -38px;
	width: 179px;
}
.question_box .header .difficulty {
	width: 227px;
}
.question_box .body {
	background: no-repeat 50% 0;
	background-size: cover;
	padding: 5.8% 0 6.6%;
}
.question_box.gd .body {
	background-image: url(../img/cmn_bg_02.png);
}
.question_box.mugi .body {
	background-image: url(../img/cmn_bg_03.png);
}
.question_box.secret .body {
	background-image: url(../img/cmn_bg_04.png);
}
.question_box .question {
	text-align: center;
}
.question_box .question img {
	max-width: 72%;
}
.question_box .btn_list {
	margin-top: 6%;
	display: flex;
	justify-content: center;
	gap: 0 3.5%;
}
.question_box .btn_list li {
	width: 29.1%;
}
.question_box.gd01 .btn_list {
	gap: 0 1.5%;
}
.question_box.gd01 .btn_list li {
	width: 30.4%;
}
.question_box .body + .btn_list {
	margin: 5.8% -3.5% 9.5%;
	gap: 0 4%;
}
.question_box .body + .btn_list li {
	width: 30.9%;
}
.question_box .copyright {
	margin: 4.2% -4% 0 0;
	text-align: right;
}
.question_box .copyright img {
	max-width: 38%;
}
.question_box .result {
	padding-left: 5%;
	text-align: center;
}
.question_box .result img {
	max-width: 80%;
}
.question_box.gd02 .result {
	margin-right: -5%;
	padding-left: 10%;
}
.question_box.gd02 .result img {
	max-width: 92%;
}
.question_box.gd03 .result {
	margin-right: -5%;
	padding-left: 10%;
}
.question_box.gd03 .result img {
	max-width: 93%;
}
.question_box.mugi02 .result {
	margin-right: -9%;
	padding-left: 10%;
}
.question_box.mugi02 .result img {
	max-width: 97%;
}
.question_box.mugi03 .result {
	margin-right: -6%;
}
.question_box.mugi03 .result img {
	max-width: 84%;
}
.question_box.secret .result {
	margin-right: -3%;
	padding-left: 10%;
}
.question_box.secret .result img {
	max-width: 92%;
}
@media screen and (max-width: 750px){
	.question_box {
		padding: 6.4% 7.2% 3%;
	}
	.question_box .header {
		padding: 2.5% 0;
	}
	.question_box .header .num {
		top: -4vw;
		left: -3vw;
		width: 20vw;
	}
	.question_box .header .difficulty {
		width: 45%;
	}
	.question_box .body {
		padding: 6.5% 0 7.7%;
	}
	.question_box.gd .body {
		background-image: url(../img/cmn_bg_02_sp.png);
	}
	.question_box.mugi .body {
		background-image: url(../img/cmn_bg_03_sp.png);
	}
	.question_box.secret .body {
		background-image: url(../img/cmn_bg_04_sp.png);
	}
	.question_box .question img {
		max-width: 86.6%;
	}
	.question_box .btn_list {
		flex-direction: column;
		align-items: center;
		gap: 5vw 0 !important;
	}
	.question_box.gd01 .btn_list {
		padding-left: 3%;
	}
	.question_box .btn_list li {
		width: 80.7%;
	}
	.question_box.gd01 .btn_list li {
		width: 85%;
	}
	.question_box .body + .btn_list {
		margin: 8.4% 0;
	}
	.question_box .body + .btn_list li {
		width: 80.7%;
	}
	.question_box .copyright {
		margin: 6% 0 0;
		text-align: center;
	}
	.question_box .copyright img {
		max-width: 82.3%;
	}
	.question_box .result {
		margin-right: -2%;
		padding-left: 7%;
	}
	.question_box .result img {
		max-width: 100%;
	}
	.question_box.gd02 .result {
		margin-right: -25%;
		padding-left: 2%;
	}
	.question_box.gd03 .result {
		margin-right: -11%;
		padding-left: 2%;
	}
	.question_box.gd03 .result img {
		margin-bottom: -10% !important;
	}
	.question_box.mugi02 .result {
		padding-left: 4%;
	}
	.question_box.mugi02 .result img {
		max-width: 95%;
	}
	.question_box.mugi03 .result {
		margin-right: -8%;
		padding-left: 4%;
	}
	.question_box.mugi03 .result img {
		max-width: 95%;
		margin-bottom: -5% !important;
	}
	.question_box.secret .result {
		margin-right: -9%;
		padding-left: 2%;
	}
	.question_box.secret .result img {
		margin-bottom: -6% !important;
	}
}

.modal {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.9);
	display: none;
}
.modal .window {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	width: 711px;
	max-width: 75%;
	margin: 0 auto;
}
.modal .window.wallpaper {
	width: 440px;
	max-width: 40%;
}
.modal .window img {
	max-width: 100%;
}
.modal .header {
	background-color: #f5a100;
	padding: 5px 0 2px;
	text-align: center;
	color: #fff;
	font-size: 42px;
	font-weight: bold;
}
.modal .wallpaper .header {
	background-color: #e60012;
}
.modal .close_btn {
	position: absolute;
	top: 6px;
	right: 16px;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background-color: #fff;
}
.modal .close_btn::before,
.modal .close_btn::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 70%;
	height: 4px;
	margin: auto;
	background-color: #000;
	transform: rotate(45deg);
}
.modal .close_btn::after {
	transform: rotate(-45deg);
}
@media screen and (max-width: 1000px){
	.modal .header {
		font-size: 4.2vw;
	}
	.modal .close_btn {
		right: 1.6vw;
		width: 5.8vw;
		height: 5.8vw;
	}
}
@media screen and (max-width: 750px){
	.modal .window {
		max-width: 86%;
	}
	.modal .window.wallpaper {
		width: 86%;
		max-width: 86%;
	}
	.modal .header {
		padding: 0.5vw 0;
		font-size: 5.3vw;
	}
	.modal .close_btn {
		top: 1vw;
		width: 7.1vw;
		height: 7.1vw;
	}
	.modal .close_btn::before,
	.modal .close_btn::after {
		height: 2px;
	}
}

.contents_area *:first-child {
	margin-top: 0 !important;
}
.contents_area *:last-child {
	margin-bottom: 0 !important;
}
