@charset "utf-8";
:root {
	--green: #339933;
	--light-green: #efffef;
	--orange: #F15A25;
	--gray: #cccdce;
	--dark-gray: #34383b;
	--light-gray: #f5f5f5;
	--red: #c40000;
}
@media screen and (min-width:391px) {
	.page {
		font-size: 1.15em;
		margin: 0 auto;
		padding: 0 0 2em 0;
		width: 940px;
	}
	.page strong {
		color: #EC0000;
	}
	.page p {
		padding: 0.5em;
	}
	.page a {
		text-decoration: none;
	}
	.page a:hover {
		color: #595959;
	}
	.page span {
		background:linear-gradient(transparent 60%, #ff6 60%);
	}
	.page > div {
		padding: 55px 20px 0 20px;
	}
	.page > div:first-of-type {
		padding-top: 20px;
	}
	.page h2 {
		text-align: center;
	}
	.page h2 + p {
		padding: 0.5em 20px;
		font-size: 1em;
		text-align: center;
	}
	.page h3 {
		align-content: center;
		background-color: var(--dark-gray);
		border-left: solid 8px var(--green);
		color: #FFF;
		display: flex;
		font-size: 1.75em;
		margin: 2em 0 0.5em 0;
		padding: 0 0 0 0.5em;
	}
	.page h3:first-of-type {
		margin: 0.5em 0 0.5em 0;
	}
	.page .flex {
		display: flex;
		margin: 0 0 1em 0; 
	}
	.page .flexbox01 {
	 width: 70%;
	}
	.page .flexbox02 {
		text-align: right;
		width: 30%;
	}
	.page h4 {
		color: #FFF;
		font-size: 1.25em;
		background-color: var(--green);
		border-radius: 10px 10px 0 0;
		padding: 0 1em 0 0.25em;
		margin: -1.5em 0 0 0;
		display: inline-block;
	}
	.page h4:first-of-type {
		margin: -0.5em 0 0 0;
	}
	.page h4::before {
		content: "";
		background-image: url("/parts/contents/best-peripheral-for-student/icon_light.png");
		background-repeat: no-repeat;
		vertical-align: sub;
		margin: 0 0.25em 0 0;
		width: 25px;
		height: 25px;
		display: inline-block;
	}
	.page ul {
		margin-top: 0;
		border: solid 1px var(--green);
		padding: 1em 0.5em;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	.page li {
		background-color: var(--light-gray);
		font-weight: bold;
		padding: 0.25em;
		border-radius: 20px 0 0 20px;
	}
	.page li::before {
		content: "";
		background-image: url("/parts/contents/best-peripheral-for-student/icon_check.png");
		background-repeat: no-repeat;
		width: 35px;
		height: 30px;
		vertical-align: middle;
		display: inline-block;
		padding: 0 0 0 1em;
		margin: 0 0.5em 0 0;
	}
	.page li::after {
		content: "";
		background-image: url("/parts/contents/best-peripheral-for-student/icon_link.png");
		background-repeat: no-repeat;
		width: 18px;
		height: 18px;
		vertical-align: middle;
		display: inline-block;
		margin: 0 1em 0 0.5em;
	}
	.page h3.useful {
		align-content: center;
		background-color: var(--light-green);
		border-left: solid 8px var(--green);
		color: #000;
		display: flex;
		font-size: 1.75em;
		margin: 2em 0 0.5em 0;
		padding: 0 0 0 0.5em;
	}
	.page .peripheral {
		border: dashed 2px var(--gray);
		position: relative;
		margin: 3em 1em 1.5em;
	}
	.page dl .flex {
		padding: 1em;
		justify-content: space-between;
	}
	.page dl .flexbox01 {
		width: 70%;
	}
	.page dl .flexbox02 {
		width: 30%;
	}
	.page dl .flexbox02 > dd {
		text-align: center;
	}
	.page dt {
		color: #FFF;
		font-weight: bold;
		text-align: center;
		font-size: 1.75em;
		margin: -2px -2px 0;
		background-color: var(--green);
		box-shadow:  0px 3px 3px #9999;
	}
	.page .peripheral:nth-child(odd) dl dt {
		background-color: var(--orange);
	}
	.page dd {
		padding: 0.5em;
	}
	.page .detail {
		padding: 0.25em 0.25em 0.25em 1em;
		border-top-left-radius: 20px;
		margin: 0 -2px -2px auto;
		background-color: var(--green);
		display: inline-block;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.page .detail:hover {
		background-color: #43cc43;
	}
	.page .detail a {
		color: #FFF;
	}
	.page .detail::after {
		content: "";
		background-image: url("/parts/contents/best-peripheral-for-student/icon_arrow.png");
		background-repeat: no-repeat;
		width: 22px;
		height: 22px;
		vertical-align: middle;
		display: inline-block;
		margin: 0 0.25em;
	}
	.page .peripheral:nth-child(odd) .detail {
		background-color: var(--orange);
	}
	.page .peripheral:nth-child(odd) .detail:hover {
		background-color: #ffb84d;
	}
}
@media screen and (max-width:390px) { 
	.page {
		font-size: 0.85em;
		padding: 0 0 2em 0;
	}
	.page a {
		text-decoration: none;
		position: relative;
		color: #34383b;
	}
	.page span {
		background:linear-gradient(transparent 60%, #ff6 60%);
	}
	.page strong {
		color: #ec0000;
		font-weight: bold;
	}
	.page p {
		margin: 0.25em 0;
	}
	.page h2 + p {
		width: 92%;
		margin: 0.5em auto;
	}
	.page > div {
		width: 92%;
		margin: 2.5em auto 0 auto;
	}
	.page h2 > img {
		width: 100%;
		height: auto;
	}
	.page > div:first-of-type {
		margin-top: 1.5em;
	}
	.page h3 {
		background-color: var(--dark-gray);
		border-left: solid 8px var(--green);
		color: #FFF;
		display: flex;
		font-size: 1.15em;
		margin: 2em 0 0.5em 0;
		padding: 0.25em 0 0.25em 0.35em;
	}
	.page h4 {
		background-color: var(--green);
		color: #FFF;
		font-size: 1.15em;
		border-radius: 10px 10px 0 0;
		padding: 0 1em 0 0.25em;
		margin: -1.5em 0 0 0;
		display: inline-block;
	}
	.page h4:first-of-type {
		margin: 0;
	}
	.page h4::before {
		content: "";
		background-image: url("/parts/contents/best-peripheral-for-student/icon_light.png");
		background-repeat: no-repeat;
		vertical-align: sub;
		margin: 0 0.25em 0 0;
		width: 25px;
		height: 25px;
		display: inline-block;
	}
	.page ul {
		margin-top: 0;
		border: solid 1px var(--green);
		padding: 1em 0.5em;
		display: inherit;
	}
	.page li {
		background-color: var(--light-gray);
		font-weight: bold;
		padding: 0.25em;
		border-radius: 20px 0 0 20px;
		margin: 0.5em 0;
		display: block;
	}
	.page li::before {
		content: "";
		background-image: url("/parts/contents/best-peripheral-for-student/icon_check.png");
		background-repeat: no-repeat;
		width: 30px;
		height: 30px;
		vertical-align: middle;
		display: inline-block;
		padding: 0 0 0 1em;
	}
	.page li::after {
		content: "";
		background-image: url("/parts/contents/best-peripheral-for-student/icon_link.png");
		background-repeat: no-repeat;
		width: 18px;
		height: 18px;
		vertical-align: middle;
		display: inline-block;
		margin: 7px 1em 0 0.5em;
		position: absolute;
		right: 20px;
	}
	.page  h3.useful {
		background-color: var(--light-green);
		border-left: solid 8px var(--green);
		color: #000;
		display: flex;
		font-size: 1.15em;
		margin: 1em 0 0.5em 0;
		padding: 0.25em 0 0.25em 0.35em;
	}
	.page .flex {
		padding: 0.5em 0;
	}
	.page .flexbox02 {
		display: table;
		margin: 0 auto 1em;
	}
	.page .peripheral {
		border: dashed 2px var(--gray);
		position: relative;
		margin: 1em 0.25em 2em; 
	}
	.page dl .flexbox01 {
		padding: 0.5em 1em;
	}
	.page dl .flexbox02 {
		padding: 0 0 0.5em;
	}
	.page dt {
		color: #FFF;
		font-weight: bold;
		text-align: center;
		font-size: 1.5em;
		margin: -2px -2px 0;
		background-color: var(--green);
		box-shadow:  0px 3px 3px #9999;
	}
	.page .peripheral:nth-child(odd) dl dt {
		background-color: var(--orange);
	}
	.page dd {
		padding: 0.5em;
	}
	.page .detail {
		padding: 0.25em 0.25em 0.25em 1em;
		border-top-left-radius: 20px;
		margin: 0 -2px -2px auto;
		background-color: var(--green);
		display: inline-block;
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.page .detail:hover {
		background-color: #43cc43;
	}
	.page .detail a {
		color: #FFF;
	}
	.page .detail::after {
		content: "";
		background-image: url("/parts/contents/best-peripheral-for-student/icon_arrow.png");
		background-repeat: no-repeat;
		width: 22px;
		height: 22px;
		vertical-align: middle;
		display: inline-block;
		margin: 0 0.25em;
	}
	.page .peripheral:nth-child(odd) .detail {
		background-color: var(--orange);
	}
	.page .peripheral:nth-child(odd) .detail:hover {
		background-color: #ffb84d;
	}
}