@charset 'utf-8';


#contentblock {
}

#side {
	width: 100%;
}

.presentation {
	background: #fff;
}

body:not(.index) .presentation:nth-child(even) {
	background: rgba(0,152,68,.05);
}

.presentation > .inner {
	max-width: 1200px;
}

.presentation .brick {
	padding: 30px;
}

body.safearea .presentation .brick {
	padding-left: calc(env(safe-area-inset-left) + 30px);
	padding-right: calc(env(safe-area-inset-right) + 30px);
}

.presentation .brick header {
	font-size: 1rem;
	margin-bottom: 2em;
}

.presentation .brick h1 {
	font-size: 1.7em;
}

.presentation .brick .sentence {
	font-size: 1rem;
}

.presentation .brick .sentence p {
	font-size: .9em;
}

.presentation .brick .sentence li {
	font-size: .9em;
}

.presentation figure {
/* 	border-radius: 5px; */
	overflow: hidden;
}

.presentation p strong {
	font-size: 1.2em;
}

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

	.presentation .brick {
		padding: 50px;
	}

	body.safearea .presentation .brick {
		padding-left: calc(env(safe-area-inset-left) + 50px);
		padding-right: calc(env(safe-area-inset-right) + 50px);
	}

	.presentation .brick h1 {
		font-size: 2em;
	}

	.presentation .brick .sentence p {
		font-size: 1em;
	}

	.presentation .brick .sentence li {
		font-size: 1em;
	}
}

.presentation .column {
	display: block;
	padding: 0;
}

.presentation .column.thumb {
	width: 100%;
	margin-bottom: 30px;
}

.presentation .column.article {
	width: 100%;
}

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

	.presentation .column.thumb {
		width: 30%;
		margin-bottom: 0;
	}

	.presentation .column.article {
		width: 70%;
		padding-left: 50px;
	}

	.presentation .columns.right .column.thumb {
		order: 2;
	}

	.presentation .columns.right .column.article {
		order: 1;
		padding-left: 0;
		padding-right: 50px;
	}

	.presentation .columns.right .column.article {
		padding-left: 0;
		padding-right: 2em;
	}
}



.presentation.center .brick .sentence {
	text-align: center;
}


.presentation .btnarea.wide.reverse a {
	background: #009844;
	color: #fff;
}

.presentation:nth-of-type(2) .btnarea a {
	width: 100%;
	max-width: 420px;
	border: none;
	background: #ece479;
	color: #000;
	font-weight: 700;
}

.presentation .media:not(:last-child) {
	margin-bottom: 2em;
}

.presentation .banner {
	max-width: 300px;
	margin: 0 auto;
}

.presentation .banner a:after {
	display: none;
}


.tablescroll {
	overflow-y: scroll;
}

.tablescroll table td {
	white-space: nowrap;
}



#faqitems h2 {
	margin-bottom: 0;
	text-align: left;
}

#faqitems .articlebody {
	text-align: left;
}



#introduction {
	width: 100%;
	position: relative;
}

#introduction > .inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
	padding-bottom: 0;
	position: relative;
}

#introductionitems {
}

#introductionitems .columns {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

#introductionitems .column {
	width: 100%;
}

#introductionitems .column .cover {
	width: 100%;
	position: relative;
	cursor: pointer;
}

#introductionitems .column .cover .brick {
	padding: 0;
}

#introductionitems .column figure {
	width: 100%;
	margin: 0;
	padding-top: 40%;
	overflow: hidden;
	position: relative;
}

#introductionitems .column figure span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

#introductionitems .column figure img {
	display: block;
	width: 100%;
	height: auto;
	transform: translateY(-50%);
	transition: .2s;
	position: absolute;
	top: 50%;
	left: 0;
}

#introductionitems .column .cover.hover figure img {
	transform: scale(1.2, 1.2) translateY(-50%);
}

#introductionitems .column .brick {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

#introductionitems .column .sentence {
	width: 100%;
	height: 32%;
	padding: 10px;
	background: rgba(127,193,63,.7);
	overflow: hidden;
	transition: .2s;
}

#introductionitems .column .cover.hover .sentence {
	height: 100%;
	background: rgba(255,255,255,.7);
}

#introductionitems .column .sentence h2 {
	margin-bottom: 15px;
	font-size: 4vw;
	font-weight: 700;
}

#introductionitems .column .sentence h2 a {
	color: #fff;
	text-decoration: none;
}

#introductionitems .column .cover.hover .sentence h2 a {
	color: #000;
}

#introductionitems .column .sentence p {
	font-size: .75em;
	line-height: 1.5;
}

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

	#introduction {
		background: #fff;
	}

	#introduction > .inner {
		/*padding-top: 50px;
		border-bottom: 1px solid #b2b2c1;*/
	}

	#introductionitems {
		padding: 0 10px;
	}

	#introductionitems .column {
		width: 50%;
		padding: 10px;
	}

	#introductionitems .column .sentence {
		height: 35%;
	}

	#introductionitems .column .sentence h2 {
		font-size: 2.5vw;
	}
}

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

	#introductionitems {
		padding: 0 30px;
	}

	body.safearea #introductionitems {
		padding-left: calc(env(safe-area-inset-left) + 30px);
		padding-right: calc(env(safe-area-inset-right) + 30px);
	}

	#introductionitems .columns {
	}
/*
	#introductionitems .column {
		width: 33.333%;
	}
*/
	#introductionitems .column .sentence {
		height: 35%;
	}

	#introductionitems .column .sentence h2 {
		font-size: 2.6vw;
	}

	#introductionitems .column .sentence p {
		font-size: 1em;
	}
}

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

	#introductionitems {
		padding: 0 10px;
	}

	body.safearea #introductionitems {
		padding-left: calc(env(safe-area-inset-left) + 10px);
		padding-right: calc(env(safe-area-inset-right) + 10px);
	}

	#introductionitems .column .sentence {
		height: 26%;
	}

	#introductionitems .column .sentence h2 {
		font-size: 2.8vw;
	}
}

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

	#introductionitems .column .sentence h2 {
		font-size: 26px;
	}
}

