@charset "utf-8";
:root {
	--page-black: #171722;
	--page-red: #c30000;
	--page-blue: #0042b3;
	--page-light-blue: #eaf2ff;
	--page-border-black: solid 1px var(--page-black);
	--page-border-gray: solid 1px #a2a2a7;
}
.page strong {
	color: var(--page-red);
}
.page .show {
	display: block;
}
.page tr::after {
	content: "";
}
@media screen and (min-width:391px) {
	.page {
		font-size: 1.15em;
		margin: 0 auto;
		padding: 0 0 2em 0;
		width: 940px;
	}
	.page .title p:nth-of-type(1) {
		margin: 0 auto 1em auto;
		width: 479px;
	}
	.page .title h2 {
		margin: 0 auto;
		width: 659px;
	}
	.page .trouble {
		margin: 4em 0 0 0;
	}
	.page .trouble p:nth-of-type(1) {
		margin: 0 auto 1em auto;
		width: 563px;
	}
	.page .trouble p:nth-of-type(2) {
		margin: 0 auto 1em auto;
		width: 730px;
	}
	.page .recommend {
		margin: 4em 0 0 0;
	}
	.page .recommend p:nth-of-type(1) {
		margin: 0 auto;
		width: 496px;
	}
	.page .recommend p:nth-of-type(2) {
		margin: 1.5em auto 1em auto;
		width: 658px;
	}
	.page .recommend .text {
		font-size: 1.1em;
		font-weight: bold;
		text-align: center;
	}
	.page .reason {
		position: relative;
		margin: 4.5em auto 0 auto;
		width: 800px;
	}
	.page .reason h3 {
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		top: -2.25em;
		position: absolute;
	}
	.page .yasui h3 {
		padding: 0;
		margin: 0;
		width: 288px;
		z-index: 1;
	}
	.page .anshin h3 {
		margin: 0.5em 0 0 0;
		padding: 0;
		width: 306px;
		z-index: 1;
	}
	.page .erabu h3 {
		margin: 0;
		padding: 0;
		width: 416px;
		z-index: 1;
	}
	.page .reason h4 {
		color: var(--page-blue);
		font-size: 1.5em;
		margin: 0;
		padding: 0;
	}
	.page .reason > div {
		background-color: var(--page-light-blue);
		padding: 45px 30px 30px 30px;
	}
	.page .reason p {
		margin: 0;
	}
	.page .yasui > div {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.page .yasui > div > p:first-of-type {
		width: 80%;
	}
	.page .yasui .img {
		margin: 0 5px 0 0;
		width: 98px;
	}
	.page .anshin > div > div {
		align-items: center;
		border-bottom: var(--page-border-black);
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 1.25em 0;
	}
	.page .anshin > div > div:first-of-type {
		padding-top: 0;
	}
	.page .anshin > div > div:last-of-type {
		border-bottom: none;
		padding-bottom: 0;
	}
	.page .anshin > div > div > div {
		width: 80%;
	}
	.page .anshin > div > div:nth-of-type(1) .img {
		margin: 0 5px 0 0;
		width: 108px;
	}
	.page .anshin > div > div:nth-of-type(2) .img {
		margin: 0 5px 0 0;
		width: 107px;
	}
	.page .anshin > div > div:nth-of-type(3) .img {
		margin: 0 5px 0 0;
		width: 104px;
	}
	.page .erabu > div p.note {
		font-size: 0.75em;
	}
	.page .erabu .graph {
		background-color: #FFF;
		margin: 1.5em 0;
		padding: 1.75em 0;
		text-align: center;
	}
	.page .erabu .graph img {
		width: 592px;
	}
	.page .summary {
		align-items: center;
		display: flex;
		background-image: url("/parts/contents/taikoban/stamp.png");
		background-position: center left;
		background-repeat: no-repeat;
		height: 150px;
		justify-content: flex-end;
		margin: 2em auto;
		padding: 0;
		width: 730px;
	}
	.page .summary p {
		font-size: 1.55em;
		font-weight: bold;
	}
	.page #lineup {
		margin-top: -200px;
		padding-top: 200px;
	}
	.page .lineup {
		background-color: #fffbdf;
		padding: 20px;
		position: relative;
	}
	.page .lineup .tab {
		display: flex;
		justify-content: space-between;
		position: absolute;
		top: -1.2em;
		width: 100%;
	}
	.page .lineup .tab li {
		align-items: center;
		background-color: #a2a2a7;
		color: #FFF;
		cursor: pointer;
		display: flex;
		flex-wrap: wrap;
		font-size: 1.25em;
		font-weight: bold;
		height: 2.25em;
		justify-content: center;
		line-height: 2.25em;
		text-align: center;
		width: 49.3%;
	}
	.page .lineup .tab li::before {
		background-image: url("/parts/contents/taikoban/non-checked.svg");
		background-repeat: no-repeat;
		content: "";
		display: inline-block;
		height: 22px;
		padding-right: 0.25em;
		width: 22px;
	}
	.page .lineup .tab .checked {
		background-color: #ffe32a;
		color: var(--page-black);
		position: relative;
	}
	.page .lineup .tab .checked::before {
		background-image: url("/parts/contents/taikoban/checked.svg");
	}
	.page .lineup .tab .checked::after {
		border-color: #ffe32a transparent transparent transparent;
		border-style: solid;
		border-width: 12px 12px 0 12px;
		bottom: -12px;
		content: "";
		height: 0px;
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		width: 0px;
	}
	.page .lineup table {
		background-color: #FFF;
		border: var(--page-border-black);
		color: var(--page-black);
		margin: 0 auto;
	}
	.page .lineup table th,
	.page .lineup table td:not(:last-of-type) {
		border-right: var(--page-border-gray);
	}
	.page .lineup table td {
		font-size: 1.25em;
		font-weight: bold;
		line-height: 1.4;
		padding: 0.55em 0;
		text-align: center;
		vertical-align: middle;
	}
	.page .lineup table tr:first-of-type th:last-of-type {
		border-right: none;
	}
	.page .lineup table tr:not(:last-of-type) td,
	.page .lineup table tr:not(:last-of-type) th {
		border-bottom: var(--page-border-gray);
	}
	.page .lineup table tr:first-of-type th:not(:first-of-type) {
		background-color: #c6dcff;
	}
	.page .lineup .model_normal table tr:first-of-type th:not(:first-of-type) {
		width: 28.5%
	}
	.page .lineup .model_mso table tr:first-of-type th:not(:first-of-type) {
		width: 42.8%
	}
	.page .lineup table tr:first-of-type th {
		background-color: #FFF;
	}
	.page .lineup table th:first-of-type {
		background-color: #e1e1e2;
		font-weight: bold;
		text-align: center;
		padding: 0.75em 0;
	}
	.page .lineup table span.normal {
		display: block;
		font-size: 0.85em;
		line-height: 1.2;
		text-align: center;
		text-decoration: line-through;
	}
	.page .lineup table .name th {
		padding: 1em 0;
	}
	.page .lineup table .name p:first-of-type {
		font-size: 1.35em;
		font-weight: bold;
		margin: 0;
		text-align: center;
	}
	.page .lineup table .name span.special {
		display: block;
		color: var(--page-red);
		font-size: 0.65em;
		line-height: 1;
		text-align: center;
	}
	.page .lineup table .price p.buy {
		background-color: var(--page-red);
		border-bottom: solid 3px #540c0c;
		border-radius: 5px;
		font-weight: normal;
		margin: 0 auto;
		width: 65%;
	}
	.page .lineup table .price p.buy a {
		color: #FFF;
		display: block;
		height: 100%;
		margin: 0;
		padding: 0.25em 0;
		text-align: center;
		text-decoration: none;
		width: 100%;
		font-size: 0.7em;
	}
	.page .lineup table .price td {
		color: var(--page-red);
		font-size: 1.5em;
	}
	.page .lineup table .price td p.amount {
		text-align: center; 
	}
	.page .lineup table .price td p.amount::after {
		color: var(--page-black);
		content: "（税込）";
		font-size: 0.5em;
		font-weight: normal;
	}
	.page .lineup table tr:nth-of-type(2) td {
		border-bottom: none;
	}
	.page .lineup table tr:nth-of-type(3) a {
		color: var(--sub-color);
		font-size: 0.75em;
	}
	.page .lineup table .performance td {
		font-size: 1.75em;
	}
	.page .btn {
		display: block;
		margin-top: 2em;
		text-align: center;
	}
}
@media screen and (max-width:390px) { 
	.page {
		font-size: 0.85em;
		padding: 0 0 2em 0;
	}
	.page .title p:nth-of-type(1) {
		margin: 0 auto 1em auto;
		width: 90%;
	}
	.page .title h2 {
		margin: 0 auto;
		width: 92%;
	}
	.page .trouble {
		margin: 2em 0 0 0;
	}
	.page .trouble p:nth-of-type(1) {
		margin: 0 auto 1em auto;
		width: 85%;
	}
	.page .recommend {
		margin: 2.5em 0 0 0;
	}
	.page .recommend p:nth-of-type(1) {
		margin: 0 auto;
		width: 70%;
	}
	.page .recommend p:nth-of-type(2) {
		margin: 1.5em auto 1em auto;
		width: 90%;
	}
	.page .recommend .text {
		font-size: 1em;
		font-weight: bold;
		margin: 0 auto;
		text-align: left;
		width: 92%;
	}
	.page .reason {
		position: relative;
		margin-top: 2.75em;
	}
	.page .reason h3 {
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		top: -1em;
		position: absolute;
		width: 50%;
		z-index: 1;
	}
	.page .erabu h3 {
		width: 70%;
	}
	.page .reason h4 {
		color: var(--page-blue);
		font-size: 1.25em;
		margin: 0;
		padding: 0;
	}
	.page .reason > div {
		background-color: var(--page-light-blue);
		padding: 3em 1em 1em 1em;
	}
	.page .reason p {
		margin: 0;
	}
	.page .yasui > div {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.page .yasui > div > p:first-of-type {
		width: 75%;
	}
	.page .yasui .img {
		margin: 0;
		width: 25%;
	}
	.page .anshin > div > div {
		align-items: center;
		border-bottom: var(--page-border-black);
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 1.25em 0;
	}
	.page .anshin > div > div:first-of-type {
		padding-top: 0;
	}
	.page .anshin > div > div:last-of-type {
		border-bottom: none;
		padding-bottom: 0;
	}
	.page .anshin > div > div > div {
		width: 75%;
	}
	.page .anshin .img {
		width: 25%;
	}
	.page .erabu > div p.note {
		font-size: 0.75em;
	}
	.page .erabu .graph {
		background-color: #FFF;
		margin: 1.5em 0;
		padding: 1.5em 0;
		text-align: center;
	}
	.page .erabu .graph img {
		width: 90%;
	}
	.page .summary {
		margin: 1.5em 0 2.25em 0;
		padding: 0;
	}
	.page .summary p {
		font-size: 1.35em;
		font-weight: bold;
		text-align: center;
	}
	.page .lineup {
		background-color: #fffbdf;
		padding: 10px;
		position: relative;
	}
	.page .lineup .tab {
		display: flex;
		justify-content: space-between;
		position: absolute;
		top: -1.2em;
		width: 100%;
	}
	.page .lineup .tab li {
		align-items: center;
		background-color: #a2a2a7;
		color: #FFF;
		cursor: pointer;
		display: flex;
		flex-wrap: wrap;
		font-size: 0.95em;
		font-weight: bold;
		height: 2.85em;
		justify-content: center;
		line-height: 2.25em;
		text-align: center;
		width: 49.3%;
	}
	.page .lineup .tab li::before {
		background-image: url("/parts/contents/taikoban/non-checked.svg");
		background-repeat: no-repeat;
		content: "";
		display: inline-block;
		height: 20px;
		padding-right: 0.25em;
		width: 20px;
	}
	.page .lineup .tab .checked {
		background-color: #ffe32a;
		color: var(--page-black);
		position: relative;
	}
	.page .lineup .tab .checked::before {
		background-image: url("/parts/contents/taikoban/checked.svg");
	}
	.page .lineup .tab .checked::after {
		border-color: #ffe32a transparent transparent transparent;
		border-style: solid;
		border-width: 12px 12px 0 12px;
		bottom: -12px;
		content: "";
		height: 0px;
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		width: 0px;
	}
	.page .lineup table {
		background-color: #FFF;
		border: var(--page-border-black);
		color: var(--page-black);
		margin: 0 auto;
		width: 710px;
	}
	.page .lineup table th,
	.page .lineup table td:not(:last-of-type) {
		border-right: var(--page-border-gray);
	}
	.page .lineup table td {
		font-size: 1.15em;
		font-weight: bold;
		line-height: 1.4;
		padding: 0.55em 0;
		text-align: center;
		vertical-align: middle;
	}
	.page .lineup table tr:first-of-type th:last-of-type {
		border-right: none;
	}
	.page .lineup table tr:not(:last-of-type) td,
	.page .lineup table tr:not(:last-of-type) th {
		border-bottom: var(--page-border-gray);
	}
	.page .lineup table tr:first-of-type th:not(:first-of-type) {
		background-color: #c6dcff;
	}
	.page .lineup .model_normal table tr:first-of-type th:not(:first-of-type) {
		width: 28.5%
	}
	.page .lineup .model_mso table tr:first-of-type th:not(:first-of-type) {
		width: 42.8%
	}
	.page .lineup table tr:first-of-type th {
		background-color: #FFF;
	}
	.page .lineup table th:first-of-type {
		background-color: #e1e1e2;
		font-size: 1em;
		font-weight: normal;
		text-align: center;
		padding: 0.75em 0;
	}
	.page .lineup table span.normal {
		display: block;
		font-size: 0.85em;
		line-height: 1.2;
		text-align: center;
		text-decoration: line-through;
	}
	.page .lineup table .name th {
		padding: 1em 0;
	}
	.page .lineup table .name p:first-of-type {
		font-size: 1.35em;
		margin: 0;
		text-align: center;
	}
	.page .lineup table .name span.special {
		display: block;
		color: var(--page-red);
		font-size: 0.65em;
		line-height: 1;
		text-align: center;
	}
	.page .lineup table .price p.buy {
		background-color: var(--page-red);
		border-bottom: solid 3px #540c0c;
		border-radius: 5px;
		font-weight: normal;
		margin: 0 auto;
		width: 65%;
	}
	.page .lineup table .price p.buy a {
		color: #FFF;
		display: block;
		height: 100%;
		margin: 0;
		padding: 0.25em 0;
		text-align: center;
		text-decoration: none;
		width: 100%;
		font-size: 0.7em;
	}
	.page .lineup table .price td {
		color: var(--page-red);
		font-size: 1.5em;
	}
	.page .lineup table .price td p.amount::after {
		color: var(--page-black);
		content: "（税込）";
		font-size: 0.5em;
		font-weight: normal;
	}
	.page .lineup table .price td p.amount {
		text-align: center;
	}
	.page .lineup table tr:nth-of-type(2) td {
		border-bottom: none;
	}
	.page .lineup table .performance td {
		font-size: 1.75em;
	}
	.page .lineup table .other td {
		font-size: 1.15em;
	}
}