@charset 'utf-8';


#container > .inner {
	max-width: none;
}

.articleblock,
body.safearea .articleblock {
	padding: 0 !important;
}


.pageheader > .inner {
	max-width: 1200px;
	margin: 0 auto;
	padding-left: calc(env(safe-area-inset-left) + 2em);
	padding-right: calc(env(safe-area-inset-right) + 2em);
}

.presentation > .inner {
	max-width: 1200px;
	padding: 3em 2em;
	padding-left: calc(env(safe-area-inset-left) + 2em);
	padding-right: calc(env(safe-area-inset-right) + 2em);
}

.lead + .presentation > .inner {
	padding-top: 10px;
}


.pageheader {
	margin-bottom: 0;
	background-image: url(../image/plan/back_header.jpg);
}

.pageheader .brick {
	width: 100%;
	color: #fff;
}

.pageheader .brick h1 {
	font-size: 24px;
	font-weight: 900;
}

.pageheader .brick h1:not(:last-child) {
	margin-bottom: .6em;
}

.pageheader .brick p {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

@media only screen and (min-width: 769px) {

	.pageheader .brick {
		width: 50%;
	}

	.pageheader .brick h1 {
		font-size: 30px;
	}

	.pageheader .brick p {
		font-size: 18px;
	}
}

#contentblock .lead {
	padding: 30px;
	font-size: 2em;
	font-weight: 700;
	text-align: center;
}

#contentblock .lead p {
	font-size: 1em;
	line-height: 1.5;
}

@media only screen and (min-width: 769px) {

	#contentblock .lead {
		padding: 30px;
	}

	#contentblock > .inner > .lead {
		padding-left: calc(env(safe-area-inset-left) + 30px);
		padding-right: calc(env(safe-area-inset-right) + 30px);
	}

	#contentblock .lead {
		font-size: 3em;
	}
}



#feature.presentation figure {
	max-width: 800px;
}

#feature .columns {
	max-width: 800px;
	margin: 0 auto;
}

#feature .column {
	width: 100%;
}

@media only screen and (min-width: 481px) {

	#feature .column {
		width: 50%;
	}
}



#merit-recruit:before {
	background-image: url(../image/plan/back_recruit.jpg);
}

body.pc #merit-recruit:before {
	background-attachment: fixed;
}

#merit-promotion:before {
	background-image: url(../image/plan/back_promotion.jpg);
}

body.pc #merit-promotion:before {
	background-attachment: fixed;
}


.presentation.merit > .inner {
	padding: 0;
}

.presentation.merit .brick {
	padding: 3em;
}

.presentation.merit .brick {
	padding-left: calc(env(safe-area-inset-left) + 3em);
	padding-right: calc(env(safe-area-inset-right) + 3em);
}

.presentation.merit .brick h2 {
	color: #fff;
}

.presentation.merit .brick ul {
	list-style: none;
	margin: 0;
}

.presentation.merit .brick li {
	list-style: none;
	padding: .5em .7em;
	background: rgba(255,255,255,.2);
	color: #fff;
	font-size: 1.6em;
	font-weight: 700;
}

.presentation.merit .brick li:not(:last-child) {
	margin-bottom: .3em;
}

.presentation.merit .brick li span {
	display: inline-block;
}


#merit-recruit .brick {
	background: rgba(31,79,161,.9);
	text-align: right;
}

#merit-promotion .brick {
	background: rgba(35,153,147,.9);
}


#quality .column {
	align-items: center;
}

@media only screen and (min-width: 769px) {

	#quality .column {
		width: 50%;
	}

	#quality .column:first-child .sentence {
		padding-left: 3em;
		padding-right: 3em;
	}
}



#movieplan .column {
	display: block;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

#movieplan .sentence {
	max-width: 900px;
	margin: 0 auto;
}

#movieplan .price span {
	padding-left: .2em;
	font-size: .75em;
}

.movieplanlist {
	display: flex;
	flex-direction: column;
}

.movieplanlist .movieplan {
	width: 100%;
	border: 2px solid #9fa0a0;
	background: #f8f9fa;
	text-align: center;
	position: relative;
	z-index: 1;
}

.movieplanlist .movieplan.standard {
	border-color: #1f4fa1;
	background: #f0f4fa;
	box-shadow: 1px 1px 3px 0px rgba(0,0,0,.3);
	transform: scale(1.1);
	z-index: 2;
}

.movieplanlist .movieplan.premium {
	border-color: #d13463;
	background: #f5e9ec;
}

.movieplanlist .movieplan:not(:last-child) {
	margin-bottom: 5px;
}

.movieplanlist .movieplan .cover {
	padding: 2em 1em;
	padding-top: 3em;
	position: relative;
}

.movieplanlist .movieplan .name {
	margin-bottom: .5em;
	line-height: 1.2;
}

.movieplanlist .movieplan .name span {
	display: block;
}

.movieplanlist .movieplan .name .label {
	font-size: 1.2em;
}

.movieplanlist .movieplan .name .etext {
	font-size: .75em;
	font-weight: 400;
}

.movieplanlist .movieplan .desc {
	margin-bottom: .5em;
	line-height: 1.4;
}

.movieplanlist .movieplan .price {
	font-size: 1.3em;
	font-weight: 700;
	text-align: center;
}

.movieplanlist .movieplan .price small {
	font-size: .55em;
	font-weight: 400;
}

.movieplanlist .movieplan .badge {
	position: absolute;
	top: -2px;
	left: -2px;
}

.movieplanlist .movieplan .badge span {
	display: inline-block;
	padding: .5em .7em;
	background: #1f4fa1;
	color: #fff;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.1;
}

.movieplanlist.post {
	width: 100%;
	margin-bottom: 2em;
}

.movieplanlist.post .movieplan .cover {
	padding: 2em 4em;
}

.movieplanlist.post .movieplan .price {
	padding: 0;
}

.movieplanlist.post .movieplan p {
	margin-bottom: 0;
	font-weight: 400;
	line-height: 1.2;
}

.movieplanlist.post .movieplan p small {
	font-size: .65em;
}

@media only screen and (min-width: 541px) {

	#movieplan .column {
		width: 50%;
	}

	#movieplan .column:first-child {
		padding-right: 3em;
	}
}

@media only screen and (min-width: 769px) {

	.movieplanlist:not(.post) {
		flex-direction: row;
		justify-content: space-between;
	}
}



#movieplanpricetbl {
	margin-bottom: 2em;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
}

#movieplanpricetbl table {
	min-width: 640px;
}

#movieplanpricetbl table thead th:nth-child(2) {
	background: #dbe7ed;
}

#movieplanpricetbl table thead th:nth-child(3) {
	background: #1f4fa1;
	color: #fff;
}

#movieplanpricetbl table thead th:nth-child(4) {
	background: #d13463;
	color: #fff;
}

#movieplanpricetbl table tbody th {
	text-align: left;
}

#movieplanpricetbl table tbody.kind td {
	text-align: center;
}

#movieplanpricetbl table tbody.kind td.support {
	font-size: 1.6em;
}

#movieplanpricetbl table tbody.kind td.support:nth-child(3) {
	color: #1f4fa1;
}

#movieplanpricetbl table tbody.kind td.support:nth-child(4) {
	color: #d13463;
}

#movieplanpricetbl table tbody th.head {
	background: #ebeff1;
	font-size: 1.5em;
}

#movieplanpricetbl table tbody.detail,
#movieplanpricetbl table tbody.function {
	background: #fafafa;
}

#movieplanpricetbl table tbody.detail td.blank {
	text-align: center;
}

#movieplanpricetbl table tbody.function td {
	text-align: center;
}

.optiontbl h4 {
	margin-bottom: .5em;
}

.optiontbl th {
	text-align: left;
	white-space: normal !important;
}
