body main section {
	margin-bottom: 0;
}

body .line h4.heading {
	font-size: 24px;
	line-height: 1.5;
	width: 100%;
	text-align: left;
}

body .line h4.heading {
	margin: 1em auto 20px;
	text-align: left;
}

.offer-list,
.register-step {
	margin: 2em auto;
}

body header h1.logo {
	margin: 2em auto;
}

header .logo .premium-logo {
    display: block;
    margin-top: 1em;
}

body .line .quick-link-btn {
	margin-bottom: 1em;
	margin-top: 3em;
}

.annotation-footer {
	margin-top: 6em;
	margin-bottom: 5em;
	text-align: left;
	max-width: 92%;
	margin-left: auto;
	margin-right: auto;
}


.retire,
.annotation-footer {
/*	margin-top: 6em;*/
	margin-top: 3em;
	margin-bottom: 5em;
	text-align: left;
}

.retire {
	margin-bottom: 8em;
}

.annotation-footer h4,
.retire h4 {
	font-weight: bold;
}

.premium .faq-list li,
.premium .faq-list li {
	text-align: left;
}


body .line .retire p {
}

body header h1.logo {
	margin-top: 2em;
}

body header h1.logo img {
	max-width: 140px;
}

body header h1.logo.jpsa-logo img {
	max-width: 320px;
	margin: 0;
}

body header h1.logo img {

}

body .premium,
body .line.premium {
	margin: 0em auto 6em;
	max-width: 1280px;
}

body .event-info {
	margin: 0em auto 2em;
	max-width: 780px;
}

body .event-info h4.heading {
	width: auto;
}

body .event-info .quick-link-btn {
	margin-bottom: 1em;
}


/* PREMIUM JPSA general style */

body .premium-jpsa h4,
body .premium-jpsa h3,
body .premium h4,
body .premium h3 {
	font-size: 24px;
	margin: 1em 4px;
}

body .premium h3,
body .premium h4,
body .premium-jpsa h3,
body .premium-jpsa h4 {
	font-weight: bold;
	text-align: center;
	word-wrap: break-word;
}

body .premium-jpsa > h3 {
	margin-bottom: 2em;
}

body .premium-jpsa p {
	font-size: 20px;
	word-wrap: break-word;
}

.minus-margin {
	display: inline-block;
	margin-left: -14px;
	white-space: nowrap;
}


/* PREMIUM general style */

body .premium .event-info {
	font-size: 22px;
	margin: 0 auto;
	text-align: center;
	display: block;
}

body .premium .event-info h4 {
	font-size: 22px;
	margin: 0 auto;
	text-align: center;
	display: inline-block;
}


body .premium .event-info h3 {
	font-size: 22px;
/*	margin-top: 0;*/
}


.premium .offer-list {
	display : flex;
	justify-content: space-between;
	align-items: flex-start;

}

.premium .offer-list > li {
	font-weight: bold;
	text-align: left;
	font-size: 22px;
	width: calc(49%);
	line-height: 1.5;
	/*min-height: 600px;*/
	/* display : flex;
	justify-content: space-between;
	align-items: flex-start; */
	margin-bottom: .4em;
}

.premium .offer-list > li .img-wrap{
	width: 100%;
}


.premium .offer-list > li .detail {
	font-size: 18px;
}

.premium .offer-list > li .amend {
	font-size: 18px;
	line-height: 1.5em;
	display: block;
}

.premium .offer-list > li img {
	box-shadow: 1px 5px 33px -8px rgba(0,0,0,0.44);
	-webkit-box-shadow: 1px 5px 33px -8px rgba(0,0,0,0.44);
	-moz-box-shadow: 1px 5px 33px -8px rgba(0,0,0,0.44);
}

.premium .offer-list > li .detail {
	font-weight: normal;
	margin-top: 0.5em;
}

body main .special-offer {
	margin-top: 1em;
}



body .premium .price-intro .annotation,
body .premium-jpsa .price-intro .annotation,
body .premium .annotation,
body .premium-jpsa .note {
	font-size: 16px;
	padding: 0;
	display: block;
	margin-top: 0.5em;
}

body .premium .price-intro .price-list {
	text-align: center;
	margin-top: 2em;
}

body .premium .price-intro .price-list li {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 1em;
}

body .premium .price-intro .price-list li .price {
	font-size: 20px;
	line-height: 1.5;
	margin-bottom: .4em;
}

body .premium .service-plan-detail {
	margin: 3em auto;
	text-align: center;
	max-width: 680px;
}

body .premium .service-plan-detail h5 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 1em;
}

body .premium .service-plan-detail > img {
	max-width: 640px;

}

body .premium .price-intro,
body .premium-jpsa .price-intro {
	margin-bottom: 3em;
}

body .premium-jpsa .price-intro .amend {
	font-size: 16px;
}

body .line {
	margin: 3em auto;
}

body .premium-jpsa .about {
	margin: 3em auto;
}

body .premium-jpsa .about p {
	margin: 2em auto;
	text-align: left;
}

body .premium-jpsa .about {
	text-align: center;
	margin: 3em auto;
}

body .premium-jpsa .about .youtube {
	margin-bottom: 2em;
	max-width: 560px;
	margin: auto auto 4em auto;
}

body .premium-jpsa .about .event-info {
/*	text-align: left;*/
}

body .premium-jpsa .about .event-info h4.heading {
    padding-bottom: 4px;
    border-bottom: 2px solid #000;
    display: inline-block;
    margin: 1em auto 32px;
}

body .premium-jpsa .about .event-info h3 {
	line-height: 1.6;
	font-size: 20px;
}

body .premium-jpsa .about .event-info .event-date {
	text-align: center;
}

body .premium-jpsa #about {
	margin-bottom: 4em;
}


footer {
	margin-top: 4em;
}

@media screen and (max-width:720px) {
	body header h1.logo {
		margin: 2em auto;
	}

	body main .premium,
	body .line.premium {
		margin-bottom: 0;
		max-width: 92%;
	}

	body .line h4.heading {
		font-size: 23px;
	}

	body .line h4.heading br.sp {
		line-height: 0;
	}

	body .premium .event-info h4 {
		font-size: 20px;
		text-align: left;
		line-height: 1.4;
	}

	body .premium .event-info h3 {
		font-size: 18px;
		text-align: left;
		line-height: 1.4;
	}
	
	body .premium .event-info p {
		font-size: 18px;
		text-align: left;
		margin-bottom: 1em;
	}

	body .premium-jpsa .about p {
		margin: 1em 0 2em;
		font-size: 18px;
	}

	body .premium .price-intro,
	body .premium-jpsa .price-intro {
		margin-bottom: 3em;
	}

	body .premium-jpsa .price-intro .amend {
		font-size: 16px;
	}

	body .line {
		margin: 3em auto;
	}

	body .premium-jpsa .about {
		margin: 3em auto;
	}

	body .premium-jpsa .about p {
		margin: 2em auto;
		text-align: left;
	}

	body .premium-jpsa .about {
		text-align: center;
		margin: 3em auto;
	}

	body .premium-jpsa .about .youtube {
		margin-bottom: 2em;
		max-width: 90%;
		margin: auto auto 2em auto;
	}

	body .premium-jpsa .about .youtube iframe {
		width: 100%;
		max-width: 100%;
	}

	body .premium-jpsa .about .event-info {
	/*	text-align: left;*/
	}

	body .premium-jpsa .about .event-info h4.heading {
	    padding-bottom: 4px;
	    border-bottom: 2px solid #000;
	    display: inline-block;
	    margin: 1em auto 24px;
	}


	body .premium.event-info {
		text-align: center;
	}

	body .premium.event-info h3,
	body .premium.event-info p {
		line-height: 1.6;
		text-align: center;
	}


	body .premium.event-info {
		text-align: left;
	}

	body .premium.event-info h4.heading {
	    padding-bottom: 4px;
	    border-bottom: 2px solid #000;
	    display: inline-block;
	    margin: 1em auto 24px;
	}

	
	.summary-list li {
		text-align: left;
	}
	
	body .line {
		margin: 1em auto;
	}
	
	body header h1 {
		margin-top: 1em;
	}
	
	body .line h4.heading {
		font-size: 23px;
		line-height: 32px;
		width: 100%;
		padding: 10px 4px;
		text-align: center;
	}

	.summary-list::before {
		display: none;
	}

	.premium .summary-list {
		margin: 20px 0px 36px;
	}

	.premium .summary-list li {
		font-size: 18px;
	}

	.premium .summary-list li .amend,
	.premium .offer-list li .amend {
		font-size: 16px;
	}

	body .line .retire p,
	body main .special-offer {
		font-size: 16px;
	}

	.premium .summary-list li a {
		text-decoration: none;
	}

	.premium .offer-list {
		margin-top: 4em;
		margin-bottom: 0;
	}

	.premium .offer-list > li {
		width: calc(99%);
		min-height: 100px;
		margin-bottom: 2em;
	}
	
	.offer-list > li {
		text-align: left;
		margin-bottom: 2em;
	}

	.offer-list li::before {
		width: 42px;
		height: 42px;
		line-height: 42px;
		font-size: 20px;
	}

	.premium .offer-list > li {
		margin-bottom: 1em;
	}

	.premium .offer-list > li .text-wrap,
	.premium .offer-list > li .detail {
		font-size: 16px;
	}

	.premium .offer-list > li .detail .annotation {
		font-size: 14px;
	}

	body .line .quick-link-btn {
		margin-top: 0em;
	}

	.register-step li .step-description {
		min-height: 48px;
	}

	.premium .register-step li img {
		max-width: 48%;
		margin-bottom: 2em;
	}	
	
	.register-step li {
		text-align: center;
	}

	body .retire p {
		text-align: left;
		margin: 4em 0;
	}

	body .retire {
		margin: 4em 0;
	}

	body .premium .price-intro .annotation,
	body .premium-jpsa .price-intro .annotation,
	body .premium .annotation,
	body .premium-jpsa .note {
		text-align: left;
	}

}


@media screen and (max-width: 380px) {
	/* 画面サイズによってフォントサイズ調整 */

	body .premium .event-info h4 {
		font-size: 20px;
	}
	body .line h4.heading,
	.premium .offer-list > li {
		font-size: 20px;
	}

	.premium .offer-list > li .detail {
		font-size: 16px;
	}

}




