a.btn b {
	border-radius: 100vh;
}
a.btn b span {
	font-weight: normal;
}
a.btn b::after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f054";
	color: #fff;
	padding-left: 0.5rem
}
a.btn.bottom b::after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f078";
}
.br_sp {
	display: block;
}
@media screen and (min-width: 767px) {
	.br_sp {
		display: none;
	}
}
sup {
	background-color: transparent;
}
ul.reference {
	padding-left: 1em;
	text-indent: -1em;
}
form {
	font-size: 0.875rem;
}
/* header */
header {
	padding: 0;
	max-width: none;
}

header .logo {
	padding: 0.5rem 0;
	box-shadow: 0 1px 2px 0 rgb(60 64 67 / 30%), 0 2px 6px 2px rgb(60 64 67 / 15%);
}
header .logo img {
	width: 206px;
	height: auto;
}

header .logo_seibidou {
	background-color: #00449B;
	padding: 0.5rem 1rem;
	margin-bottom: 1rem;
}
header .logo_seibidou img {
	width: 206px;
	height: auto;
}
@media screen and (min-width: 767px) {
	header .logo_seibidou {
		margin-bottom: 0;
		margin-right: 1rem;
	}
}
/* nav */
nav {
	flex-direction: column;
	margin: 0;
	box-shadow: 0 1px 2px 0 rgb(60 64 67 / 30%), 0 2px 6px 2px rgb(60 64 67 / 15%);
}
nav ul {
	width: 100%;
	margin: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}
header nav ul {
	background-color: #2f2725;
}
@media screen and (min-width: 767px) {
	nav ul {
		flex-direction: row;
	}
}

nav ul li {
	padding: 1rem;
	text-align: center;
}
nav ul li a {
	color: #ffffff;
}

/* header section */
header section {
	padding: 0;
}

header section .read {
	width: 100%;
	background-color: #fddea5;
}

header section .hero {
	display: none;
}
header section .hero h1 {
	font-size: 2rem;
}
@media screen and (min-width: 767px) {
	header section .hero {
		width: 100%;
		height: 643px;
		max-height: 643px;
		color:#111111;
		background-color: ##fff1cf;
		background: #fff1cf url(images/hero.png) no-repeat center center;
		/*background-size:cover;*/
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
}

/* main */
main{
	max-width: none;
	padding: 0;
}
.wrap {
	max-width: 100%;
	padding: 1rem 1.5rem 2rem;
	box-sizing: border-box;
}
.flex {
	display: flex;
	flex-wrap: nowrap;
	justify-content: var(--justify-important);
	box-sizing: border-box;
}
.flex_wrap {
	flex-wrap: wrap;
}
.flex_direction {
	flex-direction: column;
}
.package {
	flex-direction: column;
}
	
.package .flex {
	display: block;
	padding: 0;
	}

.wrap_QVGA,
.wrap_QVGAx2,
.wrap_QVGAx3,
.wrap_QVGAx4 {
	width: 100%;
}
.wrap_QVGAx3 .wrap_QVGA {
/*display: none;*/
}

@media screen and (min-width: 767px) {
	.flex_direction {
		flex-direction: row;
	}
	.package {
		/*flex-direction: row;*/
	}
	
	.package .flex {
		display: flex;
	}

	.wrap_QVGA {
		width: 320px;
	}
	.wrap_QVGAx2 {
		max-width: 640px;
	}
	.wrap_QVGAx3 {
		max-width: 960px;
	}
	.wrap_QVGAx4 {
		max-width: 1280px;
	}
	.wrap_QVGAx3 .wrap_QVGA {
		display: block;
	}
}
section {
	padding: 3rem 0;
}
section.bg_dark {
	color: #0d0015;
	background-color: #f8fbf8;
}
section.bg_dark:nth-child(odd) {
	color: #0d0015;
	background-color: #fffffc;
}

section.bg_black article {
	padding: 3rem 0;
	/*filter: drop-shadow(0 0 0.75rem rgba(0,0,0,0.75));*/
}
section.bg_black article a.btn b {
	margin-top: 2rem;
}

article h2,
article h3 {
	text-align: center;
}
article hr {
	margin: 2rem 0;
}

section h4:first-child {
	margin-top: 0;
}
section p:first-child {
	margin-top: 0;
}

.campaign_tag {
	color: #ffffff;
	background-color:#b7282e;
	padding: 0.5rem;
	display: inline-block;
}
.campaign_price {
	color:#b7282e;
	font-size: 3rem;
	font-weight: 600;
}
.campaign_price_all {
	display: block;
}
/* category */
section.category header {
	color: #000000;
}
section.category aside {
	text-align: center;
	/*border: 0;
	border-radius: 0;
	box-shadow: none;*/
	padding: 0 0 1rem;
}
section.category aside h3 {
	margin-bottom: 0.5rem;
}
section.category aside p {
	text-align: center;
	padding: 0 1rem;
}

@media screen and (min-width: 767px) {
	section.category .wrap_QVGA {
		padding-top: 2rem;
	}
}

/* concept */
section.concept ul {
	font-size: 1.125rem;
	margin-top: 0;
}
section.concept .leveliqq_blue{
	font-size: 110%;
	padding-right: 0.125rem;
}
section figure {
	text-align: center;

}
section figure img {
	max-width: 90%;
	padding-bottom: 1rem;
	margin: 0;
}

@media screen and (min-width: 767px) {
	sectiont figure img {
		margin-right: 2rem;
	}
}
section.text-contents {
	width: calc( 100% - 320px );
}


.protectban {
	width:100%;
}
.protectban_inner {
	padding: 1rem;

}

/* information */
ul {
	list-style-type: none;
	padding-left: 0;
}
ul.info_list {
	width: 100%;
	height: 10rem;
	overflow: auto;
	padding-right: 1rem;
}
ul.info_list li {
	width: 100%;
	padding-bottom: 0.25rem;
	margin-bottom: 1rem;
	border-bottom: 1px dotted #999999;
	display: flex;
	flex-direction: column;
}
ul.info_list li span.date {
	width: 100%;
}
ul.info_list li span.title {
	width: 100%;
}

@media screen and (min-width: 767px) {
	ul.info_list li {
		flex-direction: row;
	}
	ul.info_list li span.date {
		width: 6em;
	}
	ul.info_list li span.title {
		width: calc( 100% - 6em );
	}
}

/* footer */
footer {
	max-width: none;
	color: #ffffff;
	background-color: var(--color);
	padding: 0;
}
footer nav {
	margin-bottom: 2rem;
}
footer nav ul {
	flex-wrap: wrap;
}
footer .logo {
	text-align: center;
}
footer p {
	text-align: center;
}
@media screen and (min-width: 767px) {
	footer .logo {
		text-align: right;
	}
	footer p {
		text-align: right;
	}
}

footer .bg_bar {
	width: 100%;
	height: auto;
}
footer .logo img {
	width: 154px;
	height: auto;
	padding-right: 0.5rem;
}
footer small {
	color: #ffffff;
}