#detail #pageContainer #pageTitle {
	display: none;
}

#detail #pageContainer .inner {
	padding: 20px 15px 30px;
}

#detail #pageContainer .inner h3{
	margin-top: 40px;
}
#detail #pageContainer .inner h4{
	margin-bottom: 0;
}
#detail #pageContainer .inner h4:first-of-type{
	margin-top: 0;
}

#detail .main {
	margin-bottom: 4.0em;
}

#detail .main .lead {
    padding: 30px 15px;
	font-size: 16px;
}

#detail .main .lead span{
	margin: 0 auto;
	text-align: center;
	display: inline;
	border: solid 1px #cf1225;
	color: #cf1225;
	padding: 2px 10px 2px 10px;
	font-size: 60%;
}

	@media print, screen and (min-width: 920px) {
		#detail .main .lead {
			padding: 50px 0;
			font-size: 20px;
			text-align: center;
		}

		#detail .main .lead span {
			display: inline-block;
			font-size: 75%;
			margin-top: 0.5em;
		}

	}

#detail .main .image {
	max-width: 700px;
	margin: 0 auto;
}

	@media print, screen and (min-width: 920px) {
		#detail .main .image {
			max-width: inherit;
			width: 100%;
			max-width: 1000px;
		}
	}

#detail .main .image img {
	vertical-align: bottom;
	width: 100%;
}

#detail #pageContainer .inner .explaintext {
	background-color: #f5f5f5;
	padding: 10px;
}

	@media print, screen and (min-width: 920px) {
		#detail #pageContainer .inner .explaintext {
			font-size: 16px;
			padding: 40px;
		}
	}

#detail #pageContainer .inner .explaintext p strong {
	color: #cf1225;
}

#detail #pageContainer .inner .explaintext .note {
	font-size: 12px;
	margin-top: 1em;
}

#detail #pageContainer .inner .explaintext .note li + li {
	margin-top: 0.5em;
}


#detail #pageContainer .inner .explaintext p span{
	display: block;
}

	@media print, screen and (min-width: 920px) {
		#detail #pageContainer .inner .explaintext .note {
			font-size: 13px;
		}
	}


/*====================================================================
.faq .accordion_one
====================================================================*/
.faq .accordion_one {
	max-width: 100%;
	margin: 0 auto 20px;
	border: solid 1px #dfdfdf;
	border-radius: 4px;
	overflow: hidden;
}

.faq .accordion_one .accordion_question {
	position: relative;
	font-size: 16px;
	font-weight: bold;
	padding: 1.0em 3.0em 1.0em 2.5em;
	text-indent: -1.5em;
	z-index: 1;
	cursor: pointer;
	transition-duration: 0.2s;
}

.faq .accordion_one .accordion_question.open {
	background-color: #00453f;
	color: #fff;
}

@media print, screen and (min-width: 920px) {
	.faq .accordion_one .accordion_question {
		padding: 2.0em 4.0em 2.0em 4em;
	}
}



.faq .accordion_one .accordion_question:hover {
	opacity: .8;
}

.accordion_question-prefix {
	color: #00453f;
	font-size: 1.1em;
}

.accordion_question.open .accordion_question-prefix {
	color: #fff;
}

.faq .accordion_one .accordion_question .i_box {
	background: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 20px;
	height: 20px;
	margin-top: -8px;
	box-sizing: border-box;
	transform-origin: center center;
	transition-duration: 0.2s;
}

.faq .accordion_one .accordion_question .i_box .one_i {
	display: block;
	width: 9px;
	height: 9px;
	transform-origin: center center;
	transition-duration: 0.2s;
	position: relative;
}
.faq .accordion_one .accordion_question .i_box .one_i:before, .faq .accordion_one .accordion_question .i_box .one_i:after {
	display: flex;
	content: '';
	background-color: #fff;
 	width: 9px;
	height: 1px;
	position: absolute;
	top: 4px;
	left: 0;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transform-origin: center center;
}
.faq .accordion_one .accordion_question .i_box .one_i:before {
	width: 1px;
	height: 9px;
	top: 0;
	left: 4px;
}
.faq .accordion_one .accordion_question.open .i_box .one_i:before {
	content: none;
}

.faq .accordion_one .accordion_answer {
	background-color: #f8faf8;
	border-bottom: solid 1px #dfdfdf;
	display: none;
	text-indent: -1.5em;
	padding: 15px 15px 15px 40px;
	box-sizing: border-box;
}

@media print, screen and (min-width: 920px) {
	.faq .accordion_one .accordion_answer {
		padding: 2.0em 4.0em 2.0em 4.6em;
	}
}

.faq .accordion_one .accordion_answer p.txt {
	margin: 0;
}
.faq .accordion_one .accordion_answer .accordion_question-prefix {
	color: #6b7280;
	font-weight: 700;
}



/* ====================================================================
.* Membership system change 2026
 * ================================================================== */

.msc2026 {

	font-family: 'Noto Sans JP', sans-serif;
}

.msc2026 p {
	margin-bottom: 1.0em;
}

.msc2026 li {
	margin-bottom: 1.0em;
}

.msc2026 li:last-of-type {
	margin-bottom: 0;
}


@media (min-width: 920px) {
	#detail section.msc2026-top {
		margin-top: 60px;
		text-align: center;
	}
}

.msc2026-top__title {
	margin-bottom: 0.75em;
	color: #fff;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
	background-color: #00453f;
	padding: 3em 0 ;
	letter-spacing: 0.05em;
	position: relative;
}

.msc2026-top__title::before {
	content: url(../images/visual_bg.svg);
	width: 180px;
	position: absolute;
	bottom: 0;
	right: 10px;
}


@media (min-width: 920px) {
	.msc2026-top__title {
		letter-spacing: 0.12em;
		font-size: 36px;
	}

	.msc2026-top__title::before {
		content: url(/about/concept/images/visual_bg.svg);
		width: 300px;
		position: absolute;
		bottom: 0;
		right: auto;
		left: calc(50% + 200px);
	}
}

.msc2026-top__title span {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: #00453f;
	background-color: #fff;
	border-radius: 20px;
	width: 23em;
	padding: 0.25em 0;
	margin: 4px auto 0;
}

@media (min-width: 920px) {
	.msc2026-top__title span {
		font-size: 17px;
		border-radius: 20px;
		width: 27em;
		padding: 0.25em 0;
		margin: 8px auto 0;
	}

}

.msc2026-date-badge {
	display: inline-block;
	margin: 2.0em auto 1.0em;
	padding: 1.0em;
	background-color: #00453f;
	color: #ffffff;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 10px;
}

@media (min-width: 920px) {
	.msc2026-date-badge {
		padding: 1.0em 4.0em;
		left: 0;
		transform: translateX(0);
		width: 520px;
	}
}

.msc2026 p.msc2026-date-badge__label {
	margin: 0;
	font-size: 14px;
	background-color: ;
}

.msc2026 p.msc2026-date-badge__label i {
	background-color: #fff;
	display: inline-block;
	color: #00453f;
	border-radius: 20px;
	font-style: normal;
	font-weight: 600;
	padding: 0 0.5em;
}

.msc2026 .msc2026-date-badge__value {
	margin: 0 0 0 0.5em;
	font-size: 20px;
	font-weight: 700;
}

.msc2026 p.msc2026-date-badge__note {
	margin: 0.75em 0 0;
	font-size: 0.8em;
	text-align: center;
}

.msc2026-date-badge__attention {
	font-size: 0.9em;
	color: #666;	
}

.msc2026-date-badge__attention li {
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom: 0;
}

.msc2026-date-badge__attention li + li {
	margin-top: 0.5em;
}

@media (min-width: 920px) {
	.msc2026-date-badge__attention {
		text-align: left;
		width: 600px;
		margin: 0 auto;
	}
}

.msc2026 p.note,
.msc2026 span.note {
	font-size: 0.9em;
	color: #6b7280;
}



.msc2026-section {
	margin-bottom: 4em;
}

.msc2026-section__title {
	margin-bottom: 1.5em;
	font-size: 20px;
	position: relative;
	text-align: center;
	border-bottom: 3px solid #eee;
	padding-bottom: 0.5em;
}

@media (min-width: 920px) {
	.msc2026-section__title {
		font-size: 20px;
		text-align: left;
	}
}

.benefit-grid * {
	box-sizing: border-box;
}

.benefit-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 920px) {
	.benefit-grid {
		grid-template-columns: 1fr 1fr;
	}
}
.benefit-card {
	border: 3px solid #c30d23;
	background-color: ivory;
	padding:0;
	border-radius: 10px;
	transition: all 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}

/*
.benefit-card:hover {
	border-color: #00453f;
	background-color: #fcfdfc;
}
*/

@media (min-width: 920px) {

}

#pageContainer .benefit-card .icon {
	display: none;
}

.benefit-icon {
	color: #00453f;
	margin-bottom: 1rem;
}

.benefit-card h3 {
	background-color: #c30d23;
	color: ivory;
	font-weight: 700;
	font-size: 1.125rem;
	text-align: center;
	padding: 0.5em 0 0.65em;
	font-size: 20px;
	line-height: 1;
}

@media (min-width: 920px) {
	.benefit-card h3 {
		font-size: 22px;
	}
}

.benefit-card p {
	padding: 15px;
	margin: 0;
}

@media (min-width: 920px) {
	.benefit-card p {
		padding: 1.5rem;
		font-size: 15px;
	}
}

.benefit-card p strong {
	padding: 0 0.25em;
	background: linear-gradient(transparent 60%, yellow 0%);
	font-size: 1.1em;
}

.msc2026-section__sub_title {
	margin-bottom: 0.5em;
}

.msc2026-highlight-box {
}

.msc2026-highlight-box.rank {
	margin-top: 3em;
	font-size: 15px;
	margin-left: 20px;
	margin-right: 20px;
	border: none;
}

@media (min-width: 920px) {
	.msc2026-highlight-box.rank {
		font-size: 16px;
		margin-left: auto;
		margin-right: auto;
		width: 930px;
	}
}

.msc2026-highlight-box.rank h2 {
	background-color: #cf1225;
	padding: 0.2em 1em;
	letter-spacing: 0.5em;
	text-align: center;
	color: #fff;
}

.msc2026-highlight-box.rank .important {
	font-weight: bold;
	color: #cf1225;
	font-size: 18px;
	border: 3px solid #cf1225;
	padding: 10px;
	background-color: #fff;
	position: relative;
	margin-bottom: 1.2em;
}

.msc2026-highlight-box.rank p span.sub {
	font-size: 0.7em;

}

@media (min-width: 920px) {
	.msc2026-highlight-box.rank p {
		font-size: 22px;
		text-align: center;
	}
}

.msc2026-highlight-box.rank p span {
	font-size: 0.8em;
}


.msc2026-highlight-box.rank .important::after {
	content: "";
	width: 0;
	height: 0;
	font-size: 0;
	border: 20px solid transparent;
	border-top-color: #cf1225;
	position: absolute;
	bottom:-40px;
	left: 50%;
	transform: translateX(-50%);
}


.msc2026-highlight-box .example {
	padding: 15px;
	background-color: #f5f5f5;
	border-radius: 10px;
}

@media (min-width: 920px) {
	.msc2026-highlight-box .example {
		padding: 40px !important;
	}
}

.msc2026-highlight-box .example,
.msc2026-highlight-box .example li {
	list-style: none !important;
}

.msc2026-highlight-box .example li  + li {
	margin-top: 1em;
}

@media (min-width: 920px) {
	.msc2026-highlight-box .example li  + li {
		margin-top: 2em;
	}
}

.msc2026-highlight-box .example span {
	background-color: #c30d23;
	width: 5em;
	font-size: 13px;
	text-align: center;
	background-color: #c30d23;
	border-radius: 20px;
	color: #fff;
}

.msc2026-highlight-box li span {
	
	display: block;
	font-weight: bold;
}

@media (min-width: 920px) {
	.msc2026-highlight-box {
		padding-top: 2em;
	}
}

.msc2026 .msc2026-highlight-box h3 {
	margin-bottom: 0.5em;
	font-size: 14px;
}

.msc2026 .msc2026-highlight-box p {
	margin-bottom: 0.5em;
	
}

.msc2026 .msc2026-highlight-box ul {
	padding-left: 1.0em;
	list-style: disc;
}

.msc2026 .msc2026-highlight-box ul li {
	list-style: disc;
}

.msc2026-highlight-box.close {
	padding: 1.25rem;
    background-color: #ffffff;
    border: 2px solid #9ca3af;
    border-radius: 4px;
	max-width: 600px;
}

.msc2026-highlight-box.eg {
	margin-top: 1.5rem;
	padding: 1.25rem;
    background-color: #ffffff;
    border: 2px solid #9ca3af;
    border-radius: 4px;
	max-width: 350px;
    border: 2px solid #00453f;
    position: relative;
}

.msc2026-highlight-box.eg .eg-label {
    position: absolute;
    top: -0.75rem;
    left: 1.0em;
    background-color: #00453f;
    color: #ffffff;
    font-size: 10px;
    line-height: 2.0em;
    padding: 0 1.0em;
    border-radius: calc(2.0em / 2);
}

.msc2026-highlight-box.eg ul li span {
	display: inline;
}

.msc2026-highlight-box.eg ul li span:first-of-type {
	display: inline-block;
	width: 12.5em;
	color: #00453f;
    font-weight: 700;
}

.comparison-container {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 2.5em 0 0.5em;
}

@media (min-width: 920px) {
	.comparison-container {
		flex-direction: row;
		align-items: center;
		margin-bottom: 1.5em;
	}
}

.comparison-box {
	padding: 1.25rem;
	background-color: #ffffff;
	border: 2px solid #9ca3af;
	border-radius: 4px;
}

@media (min-width: 920px) {
	.comparison-box {
		width: fit-content;
		min-width: 300px;
	}
}

.comparison-box.new {
	border: 2px solid #00453f;
	position: relative;
}

.comparison-label {
	font-size: 0.75rem;
	color: #888;
	display: block;
	margin-bottom: 0.25rem;
}


.new .comparison-label {
	color: #00453f;
	font-weight: 700;
}
.comparison-value {
	font-weight: 700;
	position: relative;
}

.comparison-value::after {
	content: "";
	width: 0;
	height: 0;
	font-size: 0;
	border:10px solid transparent;
	border-top: 10px solid #9ca3af;
	position: absolute;
	bottom: -25px;
	left: 50%;
	transform: translateX(-50%);
}

.new .comparison-value::after {
	border-top-color: #00453f;
}

.comparison-change {
	font-weight: 700;
	font-size: 1.1em;
	display: block;
	margin-top: 15px;
}

.comparison-box__nich {
	display: flex;
	justify-content: center;
	align-items: center;
}

.comparison-note {
	background-color: #fdf5f5;
	padding: 15px;
	color: #c30d23;
	font-weight: 700;
	font-size: 15px;
}

@media (min-width: 920px) {
	.comparison-note {
		padding: 25px;
		font-size: 16px;
	}

}

i.icon {
	display: inline-block;
	width: 24px;
	height: 24px;
	background-color: #000000;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

i.icon-arrow {
	-webkit-mask-image: url('../images/arrow-down.svg');
	mask-image: url('../images/arrow-down.svg');
	background-color: #9ca3af;
}

@media (min-width: 920px) {
	i.icon-arrow {
	-webkit-mask-image: url('../images/arrow-right.svg');
		mask-image: url('../images/arrow-right.svg');
		background-color: #9ca3af;
	}
}

i.icon-file {
	-webkit-mask-image: url('../images/file.svg');
	mask-image: url('../images/file.svg');
	background-color: #ffffff;
}

#pageContainer i.icon-arrow-trend-up {
	width: 36px;
	height: 36px;
	-webkit-mask-image: url('../images/arrow-trend-up.svg');
	mask-image: url('../images/arrow-trend-up.svg');
	background-color: #00453f;
}

#pageContainer i.icon-credit-card {
	width: 36px;
	height: 36px;
	-webkit-mask-image: url('../images/credit-card.svg');
	mask-image: url('../images/credit-card.svg');
	background-color: #00453f;
}

#pageContainer i.icon-money {
	width: 36px;
	height: 36px;
	-webkit-mask-image: url('../images/money.svg');
	mask-image: url('../images/money.svg');
	background-color: #00453f;
}

#pageContainer i.icon-hand-point-right {
	width: 36px;
	height: 36px;
	-webkit-mask-image: url('../images/hand-point-right.svg');
	mask-image: url('../images/hand-point-right.svg');
	background-color: #00453f;
}


.new-badge {
	position: absolute;
	top: -0.75rem;
	left: 1.0em;
	background-color: #00453f;
	color: #ffffff;
	font-size: 10px;
	line-height: 2.0em;
	padding: 0 1.0em;
	border-radius: calc(2.0em / 2);
}

.arrow-icon {
	display: flex;
	justify-content: center;
	color: #d1d5db;
}


.btn-group {
	text-align: center;
	overflow: hidden;
}

.old_tarm {
	text-align: center;
}

@media (min-width: 920px) {
	.btn-group {
		text-align: left;
		display: flex;
		align-items:flex-end;
	}

	.old_tarm {
		text-align: left;
	}
}

.btn-primary {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.5em;
	padding: 1.0em 2.0em;
	background-color: #00453f;
	color: #ffffff;
	font-size: 18px;
	line-height: 1;
	border-radius: 4px;
	transition: opacity 0.4s ease;
}

@media (min-width: 920px) {
	.change-date {
		margin-left: 1.5em;
	}
}

#pageContainer a.btn-primary:hover {
	text-decoration: none;
	opacity: 0.9;
}

.btn-text {
	line-height: 1;
}

.msc2026-contact-box {
    padding: 1.25rem;
    background-color: #ffffff;
    border: 2px solid #9ca3af;
    border-radius: 4px;
	max-width: 400px;
}


.msc2026 .msc2026-contact-box h3 {
	margin-bottom: 0.5em;
	font-size: 16px;
}

.msc2026 .msc2026-contact-box p {
	margin-bottom: 0.4em;
}

.msc2026 .msc2026-contact-box p:last-of-type {
	margin-bottom: 0;
}

.msc2026 .point-table {
	overflow: hidden;
	max-width: 850px;
	margin-left: auto;
	margin-right: auto;
}

.msc2026 .point-table table {
	width: 550px;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}

@media (min-width: 920px) {
	.msc2026 .point-table table {
		width: 850px;
	}
}

.msc2026 .point-table td,
.msc2026 .point-table th {
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	padding: 0.5em;
	vertical-align: middle;
}

@media (min-width: 920px) {
	.msc2026 .point-table td,
	.msc2026 .point-table th {

	}
}

.msc2026 .point-table th {
	background-color: #00453f;
	color: #fff;
}

.msc2026 .point-table th + td {
	background-color: #ecf6f5 !important;
	text-align: center;
}

.msc2026 .point-table thead td {
	font-weight: bold;
	background-color: #00453f;
	color: #fff;
	text-align: center;
}

.msc2026 .point-table tbody tr:nth-child(odd) td {
	background-color: #f5f5f5;
}

.msc2026 .point-table td .note {
	font-size: 0.8em;
	color: #c30d23;
}

.msc2026 .point-table .point-table__comment {
	background-color: #f5f5f5 ;
	padding: 1em;
	margin-top: 1em;
}

.msc2026 .point-table .point-table__comment p {
	padding-left: 35px;
	color: #000;
	font-weight: 600;
	position: relative;
	margin: 0;
}

.msc2026 .point-table .point-table__comment span {
	position: absolute;
	left: 0;
	top: 0;
	width: 25px;
	height: 25px;
}

.msc2026 .point-table .point-table__comment span .icon-attention {
	fill: none;
	stroke: #c30d23;
	stroke-linecap: round;
	stroke-miterlimit: 10;
	stroke-width: 4px;
}

@media (min-width: 920px) {
	.msc2026 .point-table .point-table__comment {
		padding: 2em;
	}

.msc2026 .point-table .point-table__comment p {
		padding-left: 45px;
		font-size: 16px;
	}

	.msc2026 .point-table .point-table__comment span {
		width: 30px;
		height: 30px;
	}
}
