@charset "UTF-8";

#mypage .contents a {
	color: #5e5e5e;
	text-decoration: none;
	width: 100%;
}

video {
	max-width: 100%;
	height: auto;
	display: block;
}

.box .title {
	top: 0;
	box-sizing: border-box;
	padding: 0 1% 1% 1%;
	color: #5e5e5e;
	position: relative;

	height: 15%;
	font-size: 8rem;
	letter-spacing: 2rem;
}

.box .contents {
	display: flex;
	box-sizing: border-box;
	flex-direction: column;
	padding: 1% 5%;

	height: 85%;
}

@media screen and (max-width : 750px) {
	.box div.title {
		font-size: calc(100vw / 8);/*Exercise の8文字がおさまるように*/
		height: 10%;
		letter-spacing: 1rem;
		text-align: left;
	}

	.box .title.info {
		font-size: 3rem;
		letter-spacing: .3rem;
	}

	.box .contents {
		height: 90%;
	}

	#exercise .white_box {
		margin-top: 1rem;
		margin-bottom: 0;
	}
}

#score li {
	text-align: left;
}

body {
	font-size: 11px;
	position: relative;
}

/*
footer{
	bottom:0;
}
*/

.box {
	color: #5e5e5e;
	padding: 10px;
	display: flex;
	flex-direction: column;
}





.box .graf {
	top: 40%;
	height: 100%;
}

#topic,
#output {
	background: var(--beige);
}

.mini {
	font-size: 1.5rem;
}

@media screen and (max-width : 750px) {
	.mini {
		font-size: 13px;
	}
}

#output .contents {
	flex-direction: column;
	box-sizing: border-box;
	display: block;
	padding-top: 10%;
}

#output .contents .circle {
	position: relative;
	background: rgba(161, 121, 108, 0.8);
	width: 47%;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: content-box;
}

#output .contents .circle::before {
	content: "";
	display: inline-block;
	padding-top: 50%;
	padding-bottom: 50%;
	box-sizing: border-box;
}

.circle span {
	margin-block-start: 0;
	margin-block-end: 0;
	text-align: right;
}

#output.contents>div:nth-of-type(2) {
	margin-left: auto;
}

#output .contents>div:nth-of-type(4) {
	margin-left: auto;
}


/* #box3 .contents .posted_confirmation {
    background: rgba(204, 160, 124, 0.8);
} */

#output .contents .original {
	background: rgba(204, 160, 124, 0.8);
}

#output .contents .circle a {
	color: white;
	text-decoration: none;
}

@media screen and (max-width : 750px) {
	#output .contents .circle a {
		font-size: 15px;
	}
}

#score {
	background: #CCA07C;
	order: -9999;
	padding-bottom: 0;
	height: 100%;
}

#score .contents {
	box-sizing: border-box;
	padding-bottom: 0;
	padding-left: 5%;
	height: 20%;
	z-index: 100;
}

@media screen and (max-width : 750px) {
	#output .contents .circle a {
		font-size: 15px;
	}
}

#score .contents a {
	color: #5e5e5e;
	text-decoration: none;
	margin-top: 10%;
	margin-bottom: 10%;
	display: block;
	/*transition: border-color 0.3s;
     font-weight: bold; */
}

#score ul {
	display: flex;
	justify-content: space-around;
	flex-direction: column;
}

#score .graf {
	display: flex;
	justify-content: space-around;
	align-items: flex-end;
	height: 70%;
}

@media screen and (max-width : 750px) {
	#score .contents {
		font-size: 1.5rem;
		height: 40%;
		padding-top: 17%;
	}

	#score .graf {

		height: 50vh;
		max-height: 90%;
	}
}

#score .graf div {
	display: block;
	width: calc(100%/5);
}

#graf1 {
	height: 25%;
	background: rgba(255, 255, 255, 0.3);
}

#graf2 {
	height: 55%;
	background: rgba(255, 255, 255, 0.6);
}

#graf3 {
	height: 100%;
	background: rgba(255, 255, 255, 0.9);
	/*background: rgba(94, 94, 94, 0.9);*/
}

p {
	margin-block-start: 0;
	margin-block-end: 0;
}


/*========= ページネーションCSS ===============*/

.pagination {
	position: fixed;
	right: 1%;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1em;
	z-index: 10;
	list-style: none;
}

.pagination a {
	display: block;
	height: 20px;
	margin-bottom: 5px;
	color: #fff;
	position: relative;
	padding: 4px;
}

.pagination a.active:after {
	box-shadow: inset 0 0 0 5px;
}

.pagination a .hover-text {
	position: absolute;
	right: 15px;
	top: 0;
	opacity: 0;
	-webkit-transition: opacity 0.5s ease;
	transition: opacity 0.5s ease;
	padding-right: 15px;
}

.pagination a:hover .hover-text {
	opacity: 1;
}

.pagination a:after {
	-webkit-transition: box-shadow 0.5s ease;
	transition: box-shadow 0.5s ease;
	width: 5px;
	height: 5px;
	display: block;
	border: 1px solid;
	border-radius: 50%;
	content: "";
	position: absolute;
	margin: auto;
	top: 0;
	right: 3px;
	bottom: 0;
}

@media screen and (max-width:768px) {
	.pagination a .hover-text {
		display: none;
	}
}

.icon.line img {
	width: 5rem;

}

.icon.line_renkei {
	margin-top: 2rem;
	display: flex;
	align-items: center;
}

.icon.line_renkei img {
	width: 80%;

}

@media screen and (max-width:768px) {
	.icon.line_renkei img {
		width: 400%;
		max-width: 400%;

	}
}

#mypage {
	z-index: 101;
	position: relative
}

#exercise .contents,
#output .contents {
	color: #5e5e5e;
	display: flex;
	padding: 5%;
	padding-left: 8%;
}

#exercise {
	background: #FEC796;
}

#score .contents {
	font-size: 1.5rem;
}

#exercise .contents a,
#output .contents a {
	color: #5e5e5e;
	text-decoration: none;
}



.white_box {
	display: flex;
	margin: 1rem 0;
	background-color: white;
	padding: 3rem 5%;
	border-radius: 5rem 0 0 5rem;
}

.icon {
	width: 20%;
}

.text_area {
	width: 80%;
}

.text_area p {
	padding: 1rem 0 0 2rem;
	font-size: 1rem;
}

.icon span {
	font-size: 5rem;
}

#exercise .contents,
#output .contents {
	font-size: 2rem;
}

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

	#exercise .contents,
	#output .contents {
		font-size: 1.2rem;
	}

	.text_area p {
		padding: 1rem;
		font-size: 0.8rem;
	}

	.icon span {
		font-size: 3rem;
	}

	.white_box {
		padding: 1.5rem 1rem;
		border-radius: 1.5rem;
		/*border-radius: 3rem 0 0 3rem;*/
	}
}