@charset "utf-8";

body .sp-item {
	display: none;
}

body .pc-item {
  display: block;
}

@media screen and (max-width: 640px) {
	body {
		min-width: inherit;
		height:100%;
	}

	body .sp-item {
		display: block;
	}

	body .pc-item {
		display: none;
	}

	body .sp-item img {
		width:100%;
	}
}

/* ----------------------------------------------------
    共通
---------------------------------------------------- */

body {
	font: normal 18px/1.7 "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	color:#333;
	text-align: center;
	overflow-x: hidden;
	max-width: 2000px;
	margin: 0 auto;
}

img {
	margin: 0 auto;
	width: 100%;
}

video {
	width: 100%;
}

p {
	font-feature-settings: "palt";
	text-align: justify;
	font-size: 20px;
}

.sentence {
	margin-top: 40px;
}

.sentence p {
	margin-top: 40px;
}

.sentence p:first-of-type {
	margin-top: 0;
}

.inner {
	width: 724px;
	margin: 0 auto;
}

.marker {
	color: #000;
	background: #FFFFC8;
	background: linear-gradient(0deg, #FFFFC8 70%, rgba(255,255,255,0) 70%);
	padding-bottom: 3px;
	font-weight: bold;
}
.memo {
	font-size: 19px;
}
.underline {
	text-decoration: underline;
	font-weight: bold;
}

@media screen and (max-width: 640px) {
	img {
		max-width: 100%;
	}

	body {
		width: 100%;
	}

	.inner {
		width: 94%;
	}

	.memo {
		font-size: 16px;
	}

	p {
		font-size: 18px;
	}
}

/* ----------------------------------------------------
    CTA
---------------------------------------------------- */
.cta {
	width: 100%;
	height: 384.576px;
	position: relative;
}
.cta-bg-pc {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.btn {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 56px;
	width: 657.6939px;
	transition: all .2s;
}
.btn:hover {
	opacity: 0.9;
}
img.btn-pc,
img.btn-sp {
margin: 0 auto;
animation: vertical 2s linear infinite;
transform-origin:center;
cursor: pointer;
}
@keyframes vertical {
0% {transform: translate(0px, 2px);}
5% {transform: translate(0px, -2px);}
10% {transform: translate(0px, 2px);}
15% {transform: translate(0px, -2px);}
20% {transform: translate(0px, 2px);}
25% {transform: translate(0px, -2px);}
30% {transform: translate(0px, 0px)}
}

@media screen and (max-width: 640px) {
	.cta {
		height: auto;
	}
	.btn {
		width: 95%;
		bottom: 9%;
	}
}

/* ----------------------------------------------------
    header
---------------------------------------------------- */
.header {
	width: 100%;
	height: 724px;
}
.header-pc {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
h1 {
	width: 100%;
	height: 100%;
}


@media screen and (max-width: 640px) {
	.header {
		height: auto;
	}
}

/* ----------------------------------------------------
    sec01
---------------------------------------------------- */
.sec01 {
	width: 100%;
	height: 1518.0826px;
}
.sec01-pc {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 640px) {
	.sec01 {
		height: auto;
	}
}

/* ----------------------------------------------------
    sec02
---------------------------------------------------- */
.sec02 {
	padding-bottom: 100px;
}
.sec02 h2 {
	padding: 40px 0;
	background: linear-gradient(319deg, rgba(2,127,203,1) 0%, rgba(1,95,157,1) 100%);
}
.support {
	margin-top: 60px;
}
.sec02-subttl-pc {
	box-shadow: 2px 2px 15px -5px #9e9e9e;
}
.support-item {
	margin-top: 70px;
}
.support-item-flex {
	display: flex;
	gap: 30px;
	margin-top: 30px;
}
.support-item-flex-left {
	width: 300px;
}
.support-item-flex-right {
	flex: 1;
}
.sec02-img-pc-07 {
	width: 1024px;
	margin-top: 80px;
}

@media screen and (max-width: 640px) {
	.sec02 h2 {
		padding: 0;
		background: none;
	}
	.support-item-flex {
		display: block;
		margin-top: 16px;
	}
	.support-item-flex-left {
		width: 100%;
	}
	.support-item-flex-right {
		margin-top: 12px;
	}
	.support-item {
		margin-top: 40px;
	}
	.sec02-img-sp-07 {
		margin-top: 50px;
	}
	.sec02 {
		padding-bottom: 80px;
	}
}

/* ----------------------------------------------------
    sec03
---------------------------------------------------- */
.sec03 {
	margin: 30px 0;
}
.sec03 h2 {
	background: linear-gradient(180deg, rgba(255,255,255,1) 20%, rgba(221,242,242,1) 20%);
	margin-bottom: 40px;
}
.sec03-ttl-pc {
	width: 944px;
}
.sec03-img-pc-01 {
	width: 1024px;
}

@media screen and (max-width: 640px) {
	.sec03 h2 {
		background: none;
		margin-bottom: 30px;
	}
}


/* ----------------------------------------------------
    sec04
---------------------------------------------------- */
.sec04 {
	margin: 30px 0 100px;
}
.sec04 h2 {
	background: linear-gradient(180deg, rgba(255,255,255,1) 20%, rgba(221,242,242,1) 20%);
	margin-bottom: 40px;
}
.sec04-ttl-pc {
	width: 944px;
}
.sec04-img-pc-01 {
	margin: 40px auto;
}
.sec04-img-pc-02 {
	margin-top: 60px;
}
.sec04-img-pc-03 {
	width: 508.6567px;
	margin: 40px auto;
}
.center {
	text-align: center;
}

@media screen and (max-width: 640px) {
	.sec04 {
		margin: 0 0 80px;
	}
	.sec04 h2 {
		background: none;
		margin-bottom: 30px;
	}
	.sec04-img-sp-01 {
		margin: 30px auto;
	}
	.sec04-img-sp-02 {
		margin-top: 40px;
	}
	.sec04-img-sp-03 {
		margin: 20px auto;
	}
	.center {
		text-align: justify;
	}
}

/* ----------------------------------------------------
    sec05
---------------------------------------------------- */
.sec05 {
	padding: 100px 0 0;
}
.voice {
	margin-top: 40px;
}
.sec02-subttl-pc {
	box-shadow: 2px 2px 15px -5px #9e9e9e;
}
.voice-item {
	padding: 40px 0;
}
.voice-item:nth-of-type(even) {
	background-color: #DDF2F2;
}
.voice-item-flex {
	display: flex;
	gap: 30px;
	margin-top: 16px;
}
.voice-item-flex-left {
	width: 182.1466px;
}
.voice-item-flex-right {
	flex: 1;
}
.name {
	font-weight: bold;
}

@media screen and (max-width: 640px) {
	.sec05 {
		padding: 80px 0 0;
	}
	.voice-item-flex {
		display: block;
	}
	.voice-item-flex-left {
		margin: 20px auto 0;
		width: 60%;
	}
	.name {
		text-align: center;
		margin-top: 6px;
		margin-bottom: 12px;
	}
	.voice {
		margin-top: 10px;
	}
}


/* ----------------------------------------------------
    sec06
---------------------------------------------------- */
.sec06 {
	padding: 100px 0;
}
.sec06-ttl {
	width: 332.6358px;
}
.faq {
	margin-top: 60px;
}
.qa-item {
	padding: 30px;
	border: 1px solid #333;
	margin-top: 24px;
}
.question, .answer {
	display: flex;
	gap: 16px;
}
.qa-item img {
	width: 37px;
	height: 37px;
}
.qa-item p {
	flex: 1;
}
.question p {
	font-weight: bold;
	font-size: 22px;
	line-height: 1.4;
}
.dot-line {
	width: 100%;
	border-top: 1px dotted #333;
	margin: 15px 0;
}

@media screen and (max-width: 640px) {
	.sec06 {
		padding: 80px 0;
	}
	.sec06-ttl {
		width: 92%;
	}
	.qa-item p {
		line-height: 1.4;
	}
	.question p {
		line-height: 1.2;
		font-size: 20px;
	}
	.qa-item {
		padding: 16px;
	}
	.faq {
		margin-top: 40px;
	}
}


/* ----------------------------------------------------
    sec07
---------------------------------------------------- */
.sec07 {
	padding: 100px 0 0;
	background-color: #DDF2F2;
}
.sec07-img-pc-01 {
	width: 1024px;
}

@media screen and (max-width: 640px) {
	.sec07 {
		padding: 80px 0 0;
	}
}

/* ----------------------------------------------------
    footer
---------------------------------------------------- */
.footer {
	padding: 40px 0;
}
.footer-link {
	display: flex;
	gap: 40px;
	justify-content: center;
}
.footer-link a {
	color: #333;
}
.footer-link a:hover {
	opacity: 0.7;
}
.copy-right {
	margin-top: 20px;
}

/* @media screen and (max-width: 640px) {} */

