@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

.txtEx {
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
}
.PC {display: inherit;}
.SP {display: none;}

:root {
	--font-default: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", YuGothic, "Yu Gothic Medium", "Yu Gothic", "メイリオ", Meiryo, Osaka, "sans-serif";
	--font-Mincho:  "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--font-Noto: 'Noto Sans JP', sans-serif;

}

:where(html) {
	overflow: overlay;
	font-size: 62.5%; /*1rem = 10px*/
	font-size: 1vw; /*defaultFontsize / maxWidth * 100*/
	/*max-width: 750px;*/ /*maxWidth*/
	margin: 0 auto;
	/*scrollbar-width: none; /*Firefox対応のスクロールバー非表示コード*/
	/*-ms-overflow-style: none;/*Internet Explore対応のスクロールバー非表示コード*/
}
:where(html)::-webkit-scrollbar {
	width: 1.6rem;
/*  display: none; /*Google Chrome、Safari、Microsoft Edge対応のスクロールバー非表示コード*/
}
	:where(html)::-webkit-scrollbar-track {
	  background: transparent;
	}
	:where(html)::-webkit-scrollbar-thumb {
		background: rgba(0,0,0,0.3);
/*		border: 1px solid ccc;*/
		border-right: none;
	}
  /*deviceWidth 750px 以上の時 全体のフォントサイズ 10px に固定*/
  @media screen and (min-width: 1000px) {
    :where(html) {
      font-size: 10px; /*defaultFontsize*/
    }
  }
:where(body) {
	font-family: var(--font-Noto);
	width: 100%;
	margin: 0 auto;
	/*overflow-x: hidden;*/
	height: 200vh;
}
:where(img) {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
:where(picture) {
	display: inline-block;
	vertical-align: bottom;
}

a:where([class]) {
	display: inline-block;
	text-decoration: none;
	transition: opacity 0.12s;
}
	a:where([class]):hover {
		opacity: 0.8;
	}

/*--------------------
No1*/

/*--No2*/

/*No3*/

.wrap {
	max-width: 1000px;
	margin: 0 auto;
}

.fv {
	background: url("../images/bg_fv.jpg") no-repeat center top;
	background-size: 200rem 100%;
}
.fv .logo {
	width: 15.5rem;
	margin: 0 0 0rem 1.1rem;
	padding-top: 3rem;
}
.fv .txt01 {}
.fv .txt02 {
	position: relative;
	display: block;
	width: 75.7rem;
	margin: 0 0 0 auto;
}
.fv .txt02 p {
	position: absolute;
		z-index: 10;
		top: 2.4rem;
		left: 6rem;
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.25;
	letter-spacing: 0.01em;
	color: #fff;
}
.fv .txt02 p mark {
	display: inline-block;
	transform: skewX(-12deg);
	color: #fffa4c;
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	background: none;
}



.cv01 {
	display: flex;
		align-items: center;
	min-height: 15rem;
	background: url("../images/bg_cv01.jpg") no-repeat center top;
	background-size: 200rem 100%;
}
.btnwrap {
	display: flex;
		justify-content: space-between;
	width: 98.7rem;
	margin: 0 auto;
}
.btn01 {
	display: flex;
		justify-content: center;
		align-items: center;
	width: 47.4rem;
	min-height: 9.5rem;
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	text-shadow: 0.2rem 0.2rem 0.4rem rgba(0,0,0,0.4);
	line-height: 1;
	border: 0.2rem solid rgba(255,255,255,0.5);
	border-radius: 0.6rem;
	background: linear-gradient(90deg, rgba(255,121,0,1) 0%, rgba(245,187,0,1) 100%);
	filter: drop-shadow(0.2rem 0.2rem 0.2rem rgba(0,0,0,0.4));
}
	.btn01:after {
		content: "";
		display: inline-block;
		width: 1.3rem;
		margin-left: 2rem;
		height: 2.1rem;
		background: url("../images/btn_arr.png") no-repeat;
		background-size: 100%;
	}
.btn02 {
	display: flex;
		justify-content: center;
		align-items: center;
	width: 47.4rem;
	min-height: 9.5rem;
	color: #fff;
	font-size: 2.6rem;
	font-weight: 700;
	text-shadow: 0.2rem 0.2rem 0.4rem rgba(0,0,0,0.4);
	line-height: 1;
	border: 0.2rem solid rgba(255,255,255,0.5);
	border-radius: 0.6rem;
	background: linear-gradient(90deg, rgba(38,89,201,1) 0%, rgba(0,146,224,1) 100%);
	filter: drop-shadow(0.2rem 0.2rem 0.2rem rgba(0,0,0,0.4));
}
	.btn02:after {
		content: "";
		display: inline-block;
		width: 1.3rem;
		height: 2.1rem;
		margin-left: 1rem;
		background: url("../images/btn_arr.png") no-repeat;
		background-size: 100%;
	}
.btn03 {
	display: flex;
		justify-content: center;
		align-items: center;
	width: 40rem;
	min-height: 8rem;
	margin: 0 auto;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	text-shadow: 0.2rem 0.2rem 0.4rem rgba(0,0,0,0.4);
	line-height: 1;
	letter-spacing: 0.04em;
	border: 0.2rem solid rgba(255,255,255,0.5);
	border-radius: 0.6rem;
	background: #0091af;
	filter: drop-shadow(0.2rem 0.2rem 0.2rem rgba(0,0,0,0.4));
}
	.btn03:after {
		content: "";
		display: inline-block;
		width: 1.3rem;
		height: 2.1rem;
		margin-left: 1rem;
		background: url("../images/btn_arr.png") no-repeat;
		background-size: 100%;
	}



.prob {
	padding-top: 12.3rem;
	background: url("../images/bg_prob.jpg") no-repeat center top;
	background-size: 200rem 100%;
}
.prob .txt01 {
	width: 100%;
	min-height: 68.5rem;
	background: url("../images/probtxt01.png") no-repeat center top;
	background-size: 100rem;
}
.prob .txt01 .head {
	padding-top: 7rem;
	color: #fff;
	font-size: 2.8rem;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.04em;
	line-height: 1.8;
}
			.prob .txt01 .head .PC {
				display: inline-block;
			}
.prob .txt01 .head mark {
	position: relative;
		z-index: 10;
	margin: 0 0.5rem;
	padding: 0 0.5rem;
	color: #007a9d;
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	background: none;
}
	.prob .txt01 .head mark:before {
		content: "";
		position: absolute;
			z-index: -1;
			top: 0;right: 0;bottom: 0;left: 0;
		background: #fff;
		transform: skewX(-15deg);
	}
.prob .txt01 .head strong {
	font-size: 4.7rem;
	letter-spacing: 0.06em;
}
.prob .txt01 .head strong b {
	color: #fffb73;
	font-size: 5.2rem;
	letter-spacing: 0.06em;
}
.prob .txt01 .lists {
	width: 83.6rem;
	margin: 0 auto;
	margin-top: 1rem;
	padding-left: 7.5rem;
	color: #fff;
	font-size: 2.6rem;
	line-height: 3.48;
	letter-spacing: 0.04em;
}
.prob .txt01 .lists mark {
	color: #fffca5;
	font-weight: bold;
	background: none;
}

.prob .txt02 {}
.prob .txt02 .head {
	position: relative;
	margin-top: 4rem;
	text-align: center;
}
.prob .txt02 .head p {
	position: absolute;
		z-index: 10;
		top: -0.8rem;
	width: 100%;
	color: #022441;
	font-size: 4.5rem;
	letter-spacing: 0.04em;
}

.prob .txt03 {
	max-width: 1000px;
	width: 100rem;
	margin: 0 auto;
}
.prob .txt03 p {
	width: 100%;
	min-height: 47rem;
	margin-top: 1.6rem;
	padding-top: 10.3rem;
	padding-left: 51.7rem;
	color: #022441;
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1.687;
	background: url("../images/probtxt03.png") no-repeat center top;
	background-size: 100rem;
}
.prob .txt03 p mark {
	color: #f15b13;
	font-weight: 700;
	background: none;
}



.point {
	padding-top: 6.6rem;
	background: url("../images/bg_point.jpg") no-repeat center top;
	background-size: 200rem 100%;
}
.point h2 {
	display: flex;
		justify-content: center;
		align-items: center;
	min-height: 11.7rem;
	margin-bottom: 9rem;
	color: #022441;
	font-size: 5rem;
	text-align: center;
	letter-spacing: 0.04em;
	background: url("../images/pointtxt01.png") no-repeat center top;
	background-size: 100rem;
}
.point h2 mark {
	font-size: 6.5rem;
	background: linear-gradient(90deg, rgba(148,103,251,1) 0%, rgba(54,161,244,1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.point h2 span {
	font-size: 3.8rem;
}

.pointwrap {}
.pointwrap h3 {
	width: 90rem;
	margin: 0 auto;
	margin-bottom: 2.5rem;
}
	.pointwrap h3:after {
		content: "";
		display: block;
		height: 0.3rem;
		margin-top: 1.8rem;
		background: linear-gradient(90deg, rgba(116,117,202,1) 0%, rgba(54,161,244,1) 100%);
	}
.pointwrap .pointicon {
	display: inline-block;
	width: 12.4rem;
	margin: 0 2rem 0 2.2rem;
	vertical-align: middle;
}
.pointwrap h3 p {
	display: inline-block;
	color: #023971;
	font-size: 4.2rem;
	line-height: 1.47;
	letter-spacing: 0.06em;
	vertical-align: middle;
}
.pointwrap .txtarea {
	width: 85.4rem;
	margin: 0 auto;
	color: #333;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 2.11;
}
.pointwrap .txtarea mark {
	color: #f15b13;
	font-weight: 700;
	background: none;
}
	.pointwrap.point01 .img {
		width: 100rem;
		margin: 0 auto;
		margin-top: 2.6rem;
	}
	.pointwrap.point02 {
		margin-top: 6.5rem;
	}
	.pointwrap.point02 .img {
		width: 100rem;
		margin: 0 auto;
		margin-top: 1.8rem;
	}
	.pointwrap.point03 {
		margin-top: 5.3rem;
	}
	.pointwrap.point03 .img {
		width: 100rem;
		margin: 0 auto;
	}
	.pointwrap.point04 {
		margin-top: 8.4rem;
	}
	.pointwrap.point04 .img {
		width: 100rem;
		margin: 0 auto;
		margin-top: 1.9rem;
	}
	.pointwrap.point05 {
		margin-top: 3.9rem;
	}
	.pointwrap.point05 .img {
		width: 100rem;
		margin: 0 auto;
		margin-top: 1.6rem;
	}
.pointwrap .caption {
	display: flex;
		justify-content: center;
		align-items: center;
	width: 90rem;
	margin: 0 auto;
	min-height: 4rem;
	color: #fff;
	font-size: 2.6rem;
	letter-spacing: 0.06em;
	border-radius: 4rem;
	background: linear-gradient(90deg, rgba(148,103,251,1) 0%, rgba(54,161,244,1) 100%);
}
	.pointwrap .caption.c01 {
		margin-top: 4.4rem;
	}
.pointwrap.point03 .table {
	margin-top: 3.6rem;
	color: #022441;
	font-size: 2.2rem;
	text-align: center;
}
.pointwrap.point03 .table table {
	margin: 0 auto;
	border-collapse: collapse;
	border-spacing: 0;
}
	.pointwrap.point03 .table tr:first-child th {
		padding: 0 0.7%;
	}
	.pointwrap.point03 .table tr:first-child th span {
		display: flex;
			justify-content: center;
			align-items: center;
		min-height: 5rem;
		margin: 0 auto;
		color: #fff;
		font-size: 2rem;
		font-weight: 500;
		letter-spacing: 0.04em;
		border-radius: 0.58rem 0.58rem 0 0;
	}
	.pointwrap.point03 .table .or {
		background: #f7931e;
	}
	.pointwrap.point03 .table .gr {
		background: #808080;
	}
	.pointwrap.point03 .table .gb {
		background: #0091af;
	}
.pointwrap.point03 .table * {
	padding: 0;
}
.pointwrap.point03 .table tr {}
.pointwrap.point03 .table tr td {
	min-width: 15.5rem;
	background: #f2f2f2;
	border-bottom: 0.1rem dotted rgba(2,36,65,0.5);
}
	.pointwrap.point03 .table tr:last-child td {
		border-bottom: 0;
	}
	.pointwrap.point03 .table tr:not(:first-child) > * {
		line-height: 5.8rem;
		border-right: 0.2rem solid #022441;
	}
	.pointwrap.point03 .table tr:not(:first-child) th {
		height: 5.8rem;
	}
	.pointwrap.point03 .table tr:not(:first-child) th span {
		display: flex;
			justify-content: center;
			align-items: center;
		width: 12rem;
		height: 91.61%;
		color: #fff;
		font-size: 2.2rem;
		letter-spacing: 0.04em;
		border-radius: 0.58rem 0 0 0.58rem;
		background: #022441;
	}
	.pointwrap.point03 .table tr:not(:first-child) td:nth-child(2) {
		color: #f15a24;
		font-size: 2.2rem;
		font-weight: 700;
		letter-spacing: 0.04em;
	}
	.pointwrap.point03 .table tr:last-child {}
	.pointwrap.point03 .table tr:last-child > * {
		line-height: 1.27;
	}
	.pointwrap.point03 .table tr:last-child td {
		height: 9rem;
	}
.pointwrap.point03 .table .come td,
.pointwrap.point03 .table .data .come td:nth-child(2) {
	color: #022441;
	font-size: 2rem;
	font-weight: 500;
}

.pointwrap.point03 .table .note {
	width: 90rem;
	margin: 0 auto;
	margin-top: 1.5rem;
	color: #333;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	text-align: right;
}
.pointwrap.point03 .btnwrap {
	margin-top: 2rem;
}

.pointwrap.point03 .graph {
	display: flex;
		justify-content: space-between;
	margin: 0 auto;
	margin-top: 10.1rem;
	width: 100rem;
}
.pointwrap.point03 .graph > div {
	position: relative;
	width: 48rem;
}
.pointwrap.point03 .graphcap {
	position: absolute;
		z-index: 10;
		top: 0em;
		left: 50%;
		transform: translateX(-50%);
	width: 30rem;
	color: #fff;
	font-size: 2.6rem;
	font-weight: 700;
	text-align: center;
}



.voice {
	padding-top: 6.2rem;
	background: url("../images/bg_voice.jpg") no-repeat center top;
	background-size: 200rem 100%;
}
.voice h2 {
	width: 100rem;
	margin: 0 auto;
	color: #022441;
	text-align: center;
	background: url("../images/voicetxt01.png") no-repeat center top;
	background-size: 100%;
}
.voice h2 > span {
	display: block;
	padding-top: 4.1rem;
	padding-left: 1.3rem;
	font-size: 3.4rem;
	line-height: 1;
	letter-spacing: 0.04em;
}
.voice h2 strong {
	display: block;
	margin-top: 2.7rem;
	font-size: 4.4rem;
	line-height: 1.34;
	letter-spacing: 0.06em;
}
.voice h2 strong span {
	font-size: 90.9%;
}

.voice .lists {
	width: 100rem;
	margin: 0 auto;
	margin-top: 4.4rem;
}
.voice .lists > li {
	display: flex;
		justify-content: space-between;
	min-height: 35.8rem;
	padding: 5.1rem 2.6rem 0 4rem;
	background: rgba(2,31,78,0.86);
}
.voice .lists .img {
	width: 28.6rem;
}
.voice .lists .txt {
	width: 61.1rem;
}
.voice .lists .tag {
	display: flex;
}
.voice .lists .tag li {
	display: flex;
		justify-content: center;
		align-items: center;
	margin-right: 1rem;
	padding: 0.6rem 1.5rem;
	color: #022441;
	font-size: 2rem;
	font-weight: 500;
	border-radius: 2em;
	background: #fff;
}
.voice .lists .txt p {
	margin-top: 1.8rem;
	color: #fff;
	font-size: 1.8rem;
	letter-spacing: 0.02em;
	line-height: 1.88;
}
.voice .lists .txt p strong {
	color: #fffa4c;
}
	.voice .lists .list01 {
		margin-bottom: 4rem;
	}
	.voice .lists .list02 {
		margin-bottom: 4rem;
	}
	.voice .lists .list03 {
		padding-bottom: 3.8rem;
	}
.voice .btnwrap {
	margin-top: 3.3rem;
}



.flow {
	padding-top: 9.7rem;
	background: url("../images/bg_flow.jpg") no-repeat center top;
	background-size: 200rem 100%;
}
.flow h2 {
	display: flex;
		justify-content: center;
		align-items: center;
	width: 100rem;
	height: 17rem;
	margin: 0 auto;
	color: #022441;
	font-size: 5rem;
	letter-spacing: 0.02em;
	text-align: center;
	background: url("../images/flowtxt01.png") no-repeat center top;
	background-size: 100%;
}
.flow .lists {
	width: 100rem;
	margin: 0 auto;
	margin-top: 2.4rem;
}
	.flow .lists li.li01 {height: 10.1rem;background-image: url("../images/flow01bg.png");}
	.flow .lists li.li02 {height: 13.5rem;background-image: url("../images/flow02bg.png");}
	.flow .lists li.li03 {height: 13.0rem;background-image: url("../images/flow03bg.png");}
	.flow .lists li.li04 {height: 17.6rem;background-image: url("../images/flow04bg.png");}
	.flow .lists li.li05 {height: 13.3rem;background-image: url("../images/flow05bg.png");}
	.flow .lists li.li06 {height: 18.1rem;background-image: url("../images/flow06bg.png");}
.flow .lists li {
	display: flex;
		align-items: flex-end;
	padding-left: 11.7rem;
	color: #fff;
	background: no-repeat center top;
	background-size: 100%;
}
.flow .lists li .num {
	width: 11.7rem;
	font-size: 4.7rem;
	font-weight: 500;
	letter-spacing: 0.04em;
}
.flow .lists li .num span {
	display: block;
	height: 69.76%;
	border-right: 0.2rem solid #fff;
}
.flow .lists li .txt {
	display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	width: 76.3rem;
	min-height: 8.6rem;
	font-size: 3.3rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
}
	.flow .lists li.li04 .txt,
	.flow .lists li.li06 .txt {
		min-height: 13.2rem;
	}
.flow .lists li .txt span {
	display: block;
	margin-top: 1.8rem;
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	text-align: center;
}



.media {
	padding-top: 9.7rem;
/*	background: url("../images/bg_media.jpg") no-repeat center top;*/
	background-size: 200rem 100%;
}
.media h2 {
	display: flex;
		justify-content: center;
		align-items: flex-end;
	width: 100rem;
	margin: 0 auto;
	padding-bottom: 2.8rem;
	color: #333;
	font-size: 2.8rem;
	letter-spacing: 0.08em;
	text-align: center;
	background: url("../images/media_headline.png") no-repeat center bottom;
	background-size: 71.6rem auto;
}
.media h2 mark {
	position: relative;
	color: #f15b13;
	font-size: 4rem;
	letter-spacing: 0.08em;
	background: linear-gradient(180deg, rgba(255,232,151,0) 70%, rgba(255,232,151,1) 70%);
}
	.media h2 mark:after {
		content: "";
		position: absolute;
			z-index: 10;
			top: 0rem;
			left: calc(50% - 0.7rem / 2);
		width: 0.7rem;
		height: 0.7rem;
		border-radius: 50%;
		background: #f15b13;
	}
.media .jisseki {
	position: relative;
	margin-top: 3.1rem;
}
.media .jisseki .img {
	width: 100rem;
	margin: 0 auto;
}
.media .jisseki .lists {
	position: absolute;
		z-index: 10;
		top: 20.3rem;
		left: 50%;
		transform: translateX(-50%);
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	width: 91.5rem;
	margin: 0 auto;
}
.media .jisseki .lists li {
	width: 21.4rem;
	margin-bottom: 4.4rem;
	padding-top: 12.2rem;
	color: #333;
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.444;
	white-space: nowrap;
}



.cv02 {
	margin-top: 7rem;
	padding-top: 7.9rem;
	padding-bottom: 7.7rem;
	background: url("../images/bg_cv02.jpg") no-repeat center bottom;
	background-size: 200rem auto;
}
.cv02 h2 {
	text-align: center;
}
.cv02 h2 div {
	position: relative;
		z-index: 10;
	display: inline-block;
	margin-bottom: 2.4rem;
	padding: 0 1.6rem;
}
	.cv02 h2 div:before {
		content: "";
		position: absolute;
			z-index: -1;
			top: 0;right: 0;bottom: 0;left: 0;
		background: #fff;
		transform: skewX(-20deg);
	}
.cv02 h2 span {
	font-size: 5.76rem;
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: 0.06em;
	background: linear-gradient(30deg, #ff7900 0%, #f5bb00 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.cv02 h2 span b {
	font-size: 76.9%;
}
.cv02 .txt01 {
	display: flex;
		justify-content: center;
		align-items: center;
	margin-top: 1.3rem;
	line-height: 1;
}
.cv02 .txt01 .icon {
	display: flex;
		justify-content: center;
		align-items: center;
	width: 11.3rem;
	height: 11.3rem;
	margin-right: 2rem;
	color: #022441;
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	border-radius: 50%;
	background: #fff;
}
.cv02 .txt01 .t {
	color: #fff;
	font-size: 5rem;
	font-weight: 700;
}
.cv02 .txt01 .t span {
	font-size: 80%;
}
	.cv02 .txt01 .t:after {
		content: "";
		display: block;
		width: 100%;
		height: 0.3rem;
		margin-top: 1rem;
		background: linear-gradient(30deg, #36a1f4 0%, #a6d8ed 100%);
	}
.cv02 .btnwrap {
	margin-top: 4.6rem;
}

.copy {
	display: flex;
		justify-content: center;
		align-items: center;
	width: 100%;
	height: 4.4rem;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	background: #1a1a1a;
}



.fixbnr {
	pointer-events: none;
	position: fixed;
		z-index: 10000;
		bottom: 0;
	display: flex;
		justify-content: center;
		align-items: center;
	width: 100%;
	min-height: 13rem;
	background: rgba(255,255,255,0.8);
	transition: opacity 0.15s;
	opacity: 0;
}
	.fixbnr.is-active {
		pointer-events: auto;
		opacity: 1;
	}
	.fixbnr.is-hidden {
		pointer-events: none;
		opacity: 0;
	}
.fixbnr .btn01 {
	min-height: 8.6rem;
}
.fixbnr .btn02 {
	min-height: 8.6rem;
}
