@charset "UTF-8";

/* **********************************************************************
基本設定
* ******************************************************************** */
body {
	background: #fff;
	color: #444;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: 300;
	text-align: justify;
	letter-spacing: .03em;
}

/* link */
a {
	color: #ed283e;
	text-decoration: none;
	transition: .3s;
}
a:hover {color: #e6793b;}
a:active, a:focus {outline: 0;}

.hidden {display: none;}

@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){
	.x2 {zoom: .5;}
}


/* ****************************************************************************
Shared
**************************************************************************** */

/* ----------------------------------------------------------------------------
radius
---------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------
gradation
---------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------
btn
---------------------------------------------------------------------------- */
.btn,
input[type="submit"].btn {
	display: inline-block;
	position: relative;
	margin: auto;
	padding: 16px 24px;
	border: 2px solid #94252a;
	border-radius: 1000px;
	background: #94252a;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}
.btn:hover,
input[type="submit"].btn:hover {
	background: #fff;
	color: #94252a;
}

/* ****************************************************************************
Header
**************************************************************************** */
.mainimage {
	position: relative;
	background: url("images/mainimage.jpg") no-repeat center center;
	background-size: cover;
	text-align: left;
}

/* ****************************************************************************
Block01
**************************************************************************** */
.block01-ttl {
	background: #94252a;
}
.block01-ttl h2 {
	position: relative;
}
.block01-ttl h2 .baloon {
	position: absolute;
	top: -28px;
	width: 60px;
}
.block01-ttl h2::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
 	margin-left: -44px;
	border: 44px solid transparent;
	border-top: 32px solid #94252a;
}

.block01-cont {
	position: relative;
	padding: 32px 0;
	background: #004273;
}
.block01-cont ::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 9;
 	margin-left: -32px;
	border: 32px solid transparent;
	border-top: 24px solid #004273;
}
.block01-cont p {
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2;
}
.block01-cont p strong {
	background: linear-gradient(transparent 70%, #94252a 30%)
}

/* ****************************************************************************
Block02
**************************************************************************** */
.block02 {
	padding: 32px 0 64px;
	background: #f2f2f2;
}
.block02-ttl {
	margin-bottom: 40px;
}
.block02-ttl h2 {
	width: 50%;
	margin: 0 auto 20px;
}
.block02-ttl p {
	color: #94252a;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2;
}
.block02-cont .box {
	position: relative;
	margin-bottom: 40px;
	padding: 16px;
	background: #fff;
}
.block02-cont .box::after {
	content: "";
	position: absolute;
	bottom: -80px;
	left: 50%;
 	margin-left: -32px;
	border: 32px solid transparent;
	border-top: 24px solid #94252a;
}
.block02-cont .box p {
	margin-bottom: 2em;
	font-size: 1.6rem;
	line-height: 2;
}
.block02-cont .box p:last-child {
	margin-bottom: 0;
}
.block02-cont .box p strong {
	color: #94252a;
	font-size:  2.0rem;
	font-weight: bold;
}

/* ****************************************************************************
Block03
**************************************************************************** */
.block03 {
	padding: 80px 0 80px;
	background: url("images/block03-bg.png") center bottom no-repeat #004273;
}

.block03-people {
	margin: auto;
	margin-bottom: 40px;
	width: 50%;
}
.block03-ttl {
	margin-bottom: 40px;
}
.block03-cont p {
	margin-bottom: 2em;
	color: #fff;
	font-size: 1.6rem;
	line-height: 2;
}
.block03-cont p:last-child {
	margin-bottom: 0;
}
.block03-cont p strong {
	color: #ff0;
	font-size:  2.0rem;
	font-weight: bold;
}

/* ****************************************************************************
Block04
**************************************************************************** */
.block04 {
	position: relative;
	padding: 32px 0 0;
	background: url("images/block04-bg.jpg") top center no-repeat #94252a;
}
.block04-ttl {
	position: relative;
	margin: 0 16px;
}
.block04-cont p {
	margin-bottom: 2em;
	color: #fff;
	font-size: 1.6rem;
	line-height: 2;
}
.block04-cont p strong {
	color: #ff0;
	font-size:  2.0rem;
	font-weight: bold;
}
.block04-cont p big {
	font-size:  2.0rem;
	font-weight: bold;
}
.block04-cursol {
	margin: auto;
	text-align: center;
}

/* ****************************************************************************
Block05
**************************************************************************** */
.block05 {
	position: relative;
	padding: 32px 0;
	background: #f2f2f2;
}
.block05-ttl p {
	margin-bottom: 24px;
	text-align: center;
}
.block05-cont .box {
	position: relative;
	margin-bottom: 0;
	padding: 16px;
	background: #fff;
}
.block05-cont .box p {
	margin-bottom: 2em;
	font-size: 1.6rem;
	line-height: 2;
}
.block05-cont .box p:last-child {
	margin-bottom: 0;
}
.block05-cont .box p strong {
	color: #ed1c24;
	font-size:  2.0rem;
	font-weight: bold;
}

.block05-cont .box p strong.marker {
	background: linear-gradient(transparent 50%, #ff0 50%)
}

/* ****************************************************************************
Block06
**************************************************************************** */
.block06 {
	position: relative;
	padding: 32px 0;
	background: #94252a;
}
.block06 p {
	margin-bottom: 80px;
}

/* ****************************************************************************
Block08
**************************************************************************** */
.block08 {
	position: relative;
	padding: 32px 0;
	background: #fff;
}
.block08-ttl {
	margin-bottom: 16px;
	font-size: 2.0rem;
	line-height: 1.6;
}
.block08-cont {
	padding: 32px 0;
}
.block08 p {
	font-size: 1.6rem;
	line-height: 1.8;
}
.block08 figure {
	margin-bottom: 24px;
}
.block08 figcaption {
	margin-top: 8px;
	font-size: 1.6rem;
	text-align: center;
}

/* ****************************************************************************
Block09
**************************************************************************** */
.block09 {
	position: relative;
	padding: 32px 0 8px;
	background: #f2f2f2;
}
.block09-ttl {
	margin-bottom: 32px;
	color: #94252a;
	font-size: 2.0rem;
	line-height: 1.6;
	text-align: center;
}
.block09-cont {
	display: flex;
	flex-direction: column;
	margin-bottom: 24px;
	padding: 32px;
	background: #fff;
}
.block09-cont figure {
	width: 50%;
	margin: auto;
	text-align: center;
}
.block09-cont figcaption {
	margin-top: 24px;
	font-size: 1.2rem;
	text-align: center;
}
.block09-cont .txt {
	margin-top: 24px;
}
.block09-cont .txt h3 {
	margin-bottom: 16px;
	font-size: 1.8rem;
}
.block09-cont .txt p {
	font-size: 1.4rem;
	line-height: 1.8;
}

/* ****************************************************************************
Voice
**************************************************************************** */
.voice {
	position: relative;
	padding: 32px 0;
	background: url("images/voice-bg.jpg") no-repeat;
	background-size: cover;
}
.voice .voice-ttl {
	margin-bottom: 40px;
	color: #fff;
	font-size: 2.0rem;
	text-align: center;
	line-height: 1.6;
}
.voice .voice-ttl br {
	display: none;
}
.voice figure {
	width: 50%;
	margin: auto;
	margin-bottom: 24px;
	text-align: center;
}
.voice figcaption {
	margin-top: 8px;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
}
.voice .baloon {
	position: relative;
	margin-bottom: 48px;
	padding: 20px 16px;
	border-radius: 10px;
	background: #fff;
}
.voice .baloon::before{
	content: "";
	position: absolute;
	top: -30px;
	left: 50%;
 	margin-left: -15px;
	border: 15px solid transparent;
	border-bottom: 15px solid #fff;
}

.voice .baloon h3 {
	margin-bottom: 16px;
	font-size: 1.8rem;
	line-height: 1.6;
}
.voice .baloon p {
	font-size: 1.4rem;
	line-height: 1.8;
}

/* ****************************************************************************
Call to Action
**************************************************************************** */
.cta {
	position: relative;
	padding: 32px 0;
	background: #004273;
}
.cta-ttl {
	position: relative;
	margin: 0 16px;
}
.cta-cont {
	padding: 32px 0 0;
}
.cta-cont .present {
	margin: 32px 16px;
}
.btn-group {
	margin: 32px 0;
	text-align: center;
}
.btn-group .btn {
	margin-bottom: 32px;
	border-color: #ed283e;
	border-radius: 0;
	background: #ed283e;
}
.btn-group .btn:hover {
	background: #fff;
	color: #ed283e;
}
.btn-group .btn:nth-child(2) {
	border-color: #0058bc;
	background: #0058bc;
}
.btn-group .btn:nth-child(2):hover {
	background: #fff;
	color: #0058bc;
}

/* ****************************************************************************
Footer
**************************************************************************** */
.footer {
	padding: 16px;
	background: #004273;
	text-align: center;
}
.footer a {
	color: #fff;
}

/* ****************************************************************************
Thanks
**************************************************************************** */
.thanks {
	background: #004273;
}
.thanks .heroimage {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 80vh;
	background-image: url("images/thanks.jpg");
	background-size: cover;
	background-position: right center;
	text-align: center;
}
.thanks .heroimage .ttl {
	max-width: 400px;
	margin: 0 auto 48px;
}
.thanks .heroimage p {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.7;
}
.thanks .btn-group {
	position: relative;
	top: -40px;
	padding: 0 32px;
	text-align: center;
}
.thanks .btn-group .btn {
	margin-bottom: 32px;
	border-color: #ed283e;
	border-radius: 0;
	background: #ed283e;
}
.thanks .btn-group .btn:hover {
	background: #fff;
	color: #ed283e;
}
.thanks .btn-group .btn:first-child {
	border-color: #0058bc;
	background: #0058bc;
}
.thanks .btn-group .btn:first-child:hover {
	background: #fff;
	color: #0058bc;
}

/* ****************************************************************************
Table
**************************************************************************** */
.table-schedule {
	width: 100%;
	font-size: 1.8rem;
	font-weight: bold;
}
.table-schedule tr:not(:last-child) {
	border-bottom: 1px dotted #333;
}
.table-schedule th,
.table-schedule td {
	padding: 8px 16px;
}

/* ****************************************************************************
Form
**************************************************************************** */
input[type="text"] {
	width: 100%;
	height: 40px;
	margin-bottom: 24px;
	border: 0;
	box-shadow: 2px 2px 4px #aaa inset;
	background: #fff;
	font-size: 1.6rem;
}
input[type="text"]:focus {
	border: 0;
}
.caution {
	position: relative;
	top: -20px;
	color: #fff;
	font-size: 1.3rem;
}

/* ****************************************************************************
Responsive
**************************************************************************** */

/* Text Adjust 561px以上 */
@media screen and (min-width: 561px) {
}
/* medium 641px以上 */
@media screen and (min-width: 641px) {
}
/* 768px以上 */
@media screen and (min-width: 768px) {
/* ****************************************************************************
Block01
**************************************************************************** */
	.block01-ttl h2 .baloon {
		position: absolute;
		top: -48px;
		width: auto;
	}
	.block01-cont {
		padding: 80px 0;
	}
	.block01-cont ::after {
	 	margin-left: -44px;
		border: 44px solid transparent;
		border-top: 32px solid #004273;
	}
	.block01-cont p {
		background: url("images/block01-01.png") no-repeat right center;
		font-size: 3.0rem;
	}
/* ****************************************************************************
Block02
**************************************************************************** */
	.block02 {
		padding: 80px 0;
	}
	.block02-ttl {
		margin-bottom: 80px;
	}
	.block02-ttl h2 {
		width: auto;
		margin: 0;
	}
	.block02-ttl p {
		color: #94252a;
		font-size: 3.0rem;
		font-weight: bold;
		line-height: 2;
	}
	.block02-cont .box {
		margin-bottom: 80px;
		padding: 80px;
	}
	.block02-cont .box p {
		font-size: 2.4rem;
	}
	.block02-cont .box p strong {
		font-size:  4.0rem;
	}
	.block02-cont .box::after {
		bottom: -160px;
	 	margin-left: -44px;
		border: 44px solid transparent;
		border-top: 32px solid #94252a;
	}
/* ****************************************************************************
Block03
**************************************************************************** */
	.block03 {
		padding: 80px 0 160px;
		background: url("images/block03-bg.png") left bottom no-repeat #004273;
	}
	.block03-people {
		position: -webkit-sticky;
		position: sticky;
		margin: auto;
		top: 20px;
		margin-bottom: 0;
	}
	.block03-ttl {
		margin-bottom: 80px;
	}
	.block03-cont p {
		font-size: 2.4rem;
	}
	.block03-cont p strong {
		font-size:  4.0rem;
	}
/* ****************************************************************************
Block04
**************************************************************************** */
	.block04 {
		padding: 160px 0;
	}
	.block04-ttl {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
	}
	.block04-cont p {
		font-size: 2.4rem;
	}
	.block04-cont p strong {
		font-size:  4.0rem;
	}
	.block04-cont p big {
		font-size:  4.0rem;
	}
	.block04-cursol {
		position: -webkit-sticky;
		position: sticky;
		margin: auto;
		top: 20px;
	}
/* ****************************************************************************
Block05
**************************************************************************** */
	.block05 {
		padding: 0 0 80px;
	}
	.block05-ttl {
		position: relative;
		top: 0;
		transform: translateY(-50%);
		margin-bottom: -40px;
	}
	.block05-cont .box {
		margin-bottom: 80px;
		padding: 80px;
	}
	.block05-cont .box p {
		font-size: 2.4rem;
	}
	.block05-cont .box p strong {
		font-size:  4.0rem;
	}
/* ****************************************************************************
Block06
**************************************************************************** */
	.block06 {
		padding: 80px 0;
	}
	.block06 p {
		margin-bottom: 160px;
	}
/* ****************************************************************************
Block08
**************************************************************************** */
	.block08 {
		padding: 80px 0;
	}
	.block08-ttl {
		font-size: 3.2rem;
	}
	.block08-cont {
		padding: 80px 0;
	}
	.block08 p {
		font-size: 1.8rem;
		line-height: 1.8;
	}
/* ****************************************************************************
Block09
**************************************************************************** */
	.block09 {
		padding: 80px 0 40px;
	}
	.block09-ttl {
		margin-bottom: 80px;
		font-size: 3.2rem;
	}
	.block09-cont {
		flex-direction: row;
		margin-bottom: 40px;
		padding: 80px;
	}
	.block09-cont figure {
		width: 256px;
	}
	.block09-cont figcaption {
		margin-top: 40px;
		font-size: 1.6rem;
	}
	.block09-cont .txt {
		margin-top: 0;
		margin-left: 40px;
	}
	.block09-cont .txt h3 {
		margin-bottom: 40px;
		font-size: 3.2rem;
	}
	.block09-cont .txt p {
		font-size: 1.6rem;
	}
/* ****************************************************************************
Voice
**************************************************************************** */
	.voice {
		padding: 80px 0;
	}
	.voice .voice-ttl {
		margin-bottom: 80px;
		font-size: 4.0rem;
	}
	.voice .voice-ttl br {
		display: inline;
	}
	.voice figure {
		width: auto;
		margin-bottom: 48px;
	}
	.voice figcaption {
		font-size: 1.6rem;
	}
	.voice .baloon {
		position: relative;
		padding: 40px 32px;
	}
	.voice .baloon::before{
		content: "";
		position: absolute;
		top: 50%;
		left: -30px;
	 	margin-top: -15px;
	 	margin-left: 0;
		border: 15px solid transparent;
		border-right: 15px solid #fff;
	}
	.voice .baloon h3 {
		margin-bottom: 24px;
		font-size: 2.8rem;
	}
	.voice .baloon p {
		font-size: 1.6rem;
	}

/* ****************************************************************************
Call to Action
**************************************************************************** */
	.cta {
		padding: 80px 0;
	}
	.cta-ttl {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
	}
	.cta-cont {
		padding: 80px 0 0;
	}
	.cta-cont .present {
		margin: 80px auto;
	}

/* Thanks
---------------------------------------------------------------------------- */
	.thanks .heroimage p {
		font-size: 4.8rem;
	}
	.thanks .btn-group .btn {
		width: 240px;
		margin: 0 20px;
	}
/* ****************************************************************************
Form
**************************************************************************** */
	input[type="text"] {
		height: 60px;
		margin-bottom: 40px;
		font-size: 2.0rem;
	}

}
/* large 981px以上 */
@media screen and (min-width: 981px) {
}
