/* =======================================================
*
* 	Original Style 
*
* ======================================================= */

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP",
		"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
		"MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 18px;
	line-height: 1.8;
	color: #000;
	background: #fff;
	counter-reset: number 0;
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}

#page {
	position: relative;
	overflow-x: hidden;
	width: 100%;
	height: 100%;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}

a {
	color: inherit;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
	background-color: transparent;
	text-decoration: none;
}
a:hover,
a:active,
a:focus {
	color: #f4ba40;
	outline: none;
	text-decoration: none;
}

p {
	margin-bottom: 20px;
}

h1,
h2,
h3,
h4,
h5,
h6,
figure {
	color: #000;
	font-family: "Lato", Arial, sans-serif;
	font-weight: 400;
	margin: 0 0 20px 0;
	line-height: 1.4;
}

/* レスポンシブ別の改行 */
.sp-br {
	display: none;
}
.tb-br {
	display: none;
}
.pc-br {
	display: block;
}
@media only screen and (max-width: 840px) {
	.tb-br {
		display: block;
	}
	.pc-br {
		display: none;
	}
}
@media only screen and (max-width: 485px) {
	.sp-br {
		display: block;
	}
}

.ta-c {
	text-align: center !important;
}
.ta-r {
	text-align: right !important;
}
.ta-l {
	text-align: left !important;
}

.mt-0 {
	margin-top: 0px !important;
}
.mb-0 {
	margin-bottom: 0px !important;
}
.pt-0 {
	padding-top: 0px !important;
}
.pb-0 {
	padding-bottom: 0px !important;
}
.mt-10 {
	margin-top: 10px !important;
}
.mt-30 {
	margin-top: 30px !important;
}
.mt-60 {
	margin-top: 60px !important;
}
.mb-10 {
	margin-bottom: 10px !important;
}
.mb-20 {
	margin-bottom: 20px !important;
}
.mb-30 {
	margin-bottom: 30px !important;
}
.mb-60 {
	margin-bottom: 60px !important;
}
.mb-80 {
	margin-bottom: 80px !important;
}
.mb-100 {
	margin-bottom: 100px !important;
}
.mb-120 {
	margin-bottom: 120px !important;
}

.l-column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 30px 2.083vw;
}
.l-column.col-2 > * {
	-ms-flex-preferred-size: calc(50% - (2.083vw / 2));
	flex-basis: calc(50% - (2.083vw / 2));
}
.l-column.col-2.gap-40 > * {
	-ms-flex-preferred-size: calc(50% - (2.777vw / 2));
	flex-basis: calc(50% - (2.777vw / 2));
}
.l-column.col-3 > * {
	-ms-flex-preferred-size: calc(33.333% - (2.083vw * 2 / 3));
	flex-basis: calc(33.333% - (2.083vw * 2 / 3));
}
.l-column.col-3.gap-40 > * {
	-ms-flex-preferred-size: calc(33.333% - (2.777vw * 2 / 3));
	flex-basis: calc(33.333% - (2.777vw * 2 / 3));
}
.l-column.col-4 > * {
	-ms-flex-preferred-size: calc(25% - (2.083vw * 3 / 4));
	flex-basis: calc(25% - (2.083vw * 3 / 4));
}
.l-column.col-4.gap-40 > * {
	-ms-flex-preferred-size: calc(33.333% - (2.777vw * 3 / 4));
	flex-basis: calc(33.333% - (2.777vw * 3 / 4));
}
.l-column.col-5 > * {
	-ms-flex-preferred-size: calc(20% - (2.083vw * 4 / 5));
	flex-basis: calc(20% - (2.083vw * 4 / 5));
}
.l-column.col-5 > *.gap-40 > * {
	-ms-flex-preferred-size: calc(33.333% - (2.777vw * 4 / 5));
	flex-basis: calc(33.333% - (2.777vw * 4 / 5));
}
@media screen and (min-width: 840px) {
	.l-column > .main {
		-ms-flex-preferred-size: calc(65% - (2.083vw / 2));
		flex-basis: calc(65% - (2.083vw / 2));
	}
	.l-column > .sub {
		-ms-flex-preferred-size: calc(35% - (2.083vw / 2));
		flex-basis: calc(35% - (2.083vw / 2));
	}
	.l-column.gap-40 {
		gap: 30px 2.777vw;
	}
	.l-column.gap-40 > .main {
		-ms-flex-preferred-size: calc(65% - (2.777vw / 2));
		flex-basis: calc(65% - (2.777vw / 2));
	}
	.l-column.gap-40 > .sub {
		-ms-flex-preferred-size: calc(35% - (2.777vw / 2));
		flex-basis: calc(35% - (2.777vw / 2));
	}
	#demo_form .inner {
		padding-inline: 80px;
	}
}
@media screen and (max-width: 839.98px) {
	.l-column > .main,
	.l-column > .sub {
		-ms-flex-preferred-size: inherit;
		flex-basis: inherit;
		width: 100%;
	}
	.l-column.gap-40 > .main,
	.l-column.gap-40 > .sub {
		-ms-flex-preferred-size: inherit;
		flex-basis: inherit;
		width: 100%;
	}
	.l-column.col-2,
	.l-column.col-3 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.l-column.col-2 > *,
	.l-column.col-3 > * {
		-ms-flex-preferred-size: inherit;
		flex-basis: inherit;
	}
	.l-column.col-4 > * {
		-ms-flex-preferred-size: calc(50% - (2.083vw / 2));
		flex-basis: calc(50% - (2.083vw / 2));
	}
	.l-column.col-5 > * {
		-ms-flex-preferred-size: calc(33.333% - (2.083vw * 2 / 3));
		flex-basis: calc(33.333% - (2.083vw * 2 / 3));
	}
}

.l-container {
	max-width: 1100px;
	margin-inline: auto;
}

.lead {
	font-family: "Josefin Sans", sans-serif;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 0;
}

.sub-lead {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.8;
	margin-bottom: 0;
}

.bg-yellow {
	background-color: #f4ba40 !important;
}

.edge-yellow {
	background-color: #fff !important;
	border: 2px solid #f4ba40 !important;
}

.bg-skyblue {
	background-color: #418ad3 !important;
	border: 2px solid #418ad3 !important;
	color: #fff !important;
}

.edge-skyblue {
	background-color: #fff !important;
	border: 2px solid #418ad3 !important;
	color: #000 !important;
}

.bg-lightblue {
	background-color: #b3d6f6 !important;
	border: 2px solid #b3d6f6 !important;
	color: #000 !important;
}

.bg-red {
	background-color: #e61f19 !important;
	border: 2px solid #e61f19 !important;
	color: #fff !important;
}

ul {
	padding-inline-start: 0;
}

ul li.card {
	list-style-type: none;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 15px;
	padding: 27px 10px 30px;
	text-align: center;
}

.card .lead {
	font-size: 22px;
	margin-bottom: 20px;
}

.card .txt {
	text-align: left;
	margin-bottom: 0;
}

.cmp-btn01 {
	border: solid 2px #f4ba40;
	border-radius: 40px;
	color: #000 !important;
	display: inline-block;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	min-width: 160px;
	text-align: center;
	padding: 14px 30px;
	width: 300px;
}

.cmp-btn01.bg-skyblue {
	color: #fff !important;
}

.cmp-btn01:hover {
	background-color: #fff !important;
	color: #000 !important;
}

.cmp-btn01.edge-yellow:hover {
	background-color: #f4ba40 !important;
	border: 2px solid #f4ba40 !important;
}

.cmp-btn01.edge-skyblue:hover {
	background-color: #418ad3 !important;
	border: 2px solid #418ad3 !important;
	color: #fff !important;
}

.cmp-list01 {
	list-style: none;
}

.cmp-list01 li {
	line-height: 2;
	padding-left: 20px;
	position: relative;
}

.cmp-list01 li::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	background-color: #184699;
	border-radius: 50%;
	position: absolute;
	left: 2px;
	top: 14px;
}

.cmp-list01.yellow li::before {
	background-color: #f4ba40;
}

.txt-link01 {
	color: #184699;
	display: flex;
	gap: 20px;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 2;
	width: auto;
	position: relative;
	padding: 0 10px 0 0;
}

.txt-link01::after {
	position: absolute;
	bottom: -3px;
	left: 0;
	transform: scaleX(0);
	transform-origin: center left;
	width: 100%;
	height: 2px;
	background-color: #ffffff;
	content: "";
	transition: transform 0.4s ease;
}

.txt-link01:hover::after {
	transform: scaleX(1);
}

.txt-link01 i {
	transition: all 0.3s;
}

.txt-link01:hover i {
	transform: translate(5px, 0);
}

small,
.small {
	font-size: 0.9em;
	font-weight: normal;
}

.caution {
	position: relative;
}

.caution::before {
	content: "※";
	position: absolute;
	top: 0;
	left: -1.2em;
}

.c-box {
	background-color: #ebf5fe;
	margin-block: 30px;
	padding: 50px;
}

.c-box .ttl {
	color: #184699;
	font-size: 1.4em;
	line-height: 1.6;
	font-weight: bold;
	margin-bottom: 1em;
}

.c-box .txt {
	margin-bottom: 0;
}

.list-box {
	position: relative;
	padding: 30px;
	border: 3px solid #ebf5fe;
	margin-bottom: 60px;
}

.list-box .list-title {
	font-family: "Josefin Sans", sans-serif;
	font-size: 2em;
	color: #184699;
	position: absolute;
	top: -0.8em;
	left: 0.5em;
	padding: 0 0.3em;
	background-color: #fff;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.list-box ul {
	list-style-type: disc;
	margin: 0;
	padding: 0;
}

.list-box li::marker {
	color: #184699;
	font-size: 1.1em;
}

.check-list {
	list-style-type: none;
}

.check-list li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0 5px;
	padding: 10px 5px 10px 40px;

	font-weight: bold;
}

.check-list li::before {
	content: "";
	position: absolute;
	border: solid 2px #d9d9d9;
	width: 20px;
	height: 20px;
	left: 0;
	top: 13px;
}

.check-list > li::after {
	content: "";
	position: absolute;
	background: url(images/ico_check_blue.svg) no-repeat center / 100% auto;
	left: 5px;
	top: 13px;
	width: 22px;
	height: 20px;
}

.check-list > li.yellow::after {
	background: url(images/ico_check_yellow.svg) center center / 100% no-repeat;
}

.fukidashi {
	position: relative;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 4px 4px 3px 0 rgba(0, 0, 0, 0.05);
	padding: 15px 20px;
	margin: 0 0 28px;
}

.fukidashi::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 0;
	height: 0;
	border-right: 12px solid transparent;
	border-top: 10px solid #fff;
	border-left: 12px solid transparent;
}

.fukidashi p {
	margin-bottom: 0;
}

.example-data {
	align-items: flex-end;
	justify-content: space-between;
}

.example-img {
	width: 70%;
}

.example-img img {
	max-width: 100%;
}

.mascot-area {
	text-align: center;
}

img.mascot {
	transition: all 0.3s;
}

img.mascot:hover {
	transform: translate(0, -5px);
}

.example-data .mascot {
	width: 130px;
}

.example-data .fukidashi {
	width: 100%;
	min-width: 200px;
}

.l-header {
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 30px 30px 0;
	position: relative;
	background-color: #184699;
}
.l-header h1.logo {
	margin-bottom: 0;
}

.l-header h1.logo a {
	display: inline-block;
	transform: 0.1s ease;
}

.l-header h1.logo a:hover {
	transform: scale(1.02, 1.02);
}

.l-header h1.logo img {
	max-width: 100%;
}

.l-header input,
.l-header label {
	display: none;
}

.l-nav_list {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2.6388vw;
}
.l-nav_list li {
	list-style-type: none;
	font-size: 18px;
}

.l-nav_list .cmp-btn01 {
	font-size: 18px;
	width: auto;
}

.l-nav_item a {
	font-weight: bold;
	color: #fff;
	justify-content: center;
	position: relative;
	border: none;
	display: flex;
}

.l-nav_item a::after {
	position: absolute;
	bottom: -3px;
	left: 0;
	transform: scaleX(0);
	transform-origin: center left;
	width: 100%;
	height: 2px;
	background-color: #ffffff;
	content: "";
	transition: transform 0.3s ease;
}

.l-nav_item a:hover::after {
	transform: scaleX(1);
}

.main_visual {
	background-color: #184699 !important;
	padding-block: 80px 100px;
}

.mv-container {
	max-width: 1200px;
	margin-inline: auto;
}

.mv-inner {
	display: flex;
	align-items: center;
}

.mv-text {
	/* width: 55%; */
	width: fit-content;
	max-width: 55%;
}

.mv-img {
	width: 45%;
}

.mv-text p {
	color: #fff;
	font-weight: bold;
}

.u-line {
	padding-inline: 4px;
	padding-bottom: 8px;
	border-bottom: 2px solid #ffffff;
}

.speech {
	position: relative;
	display: block;
	width: fit-content;
	text-align: center;
	margin: 0 auto 10px;
	padding: 0 0.7em;
	font-size: 0.7em;
}

.speech::before,
.speech::after {
	content: "";
	position: absolute;
	bottom: 10px;
	width: 2px;
	height: 1em;
	background: rgba(0, 0, 0, 0.8);
}

.speech::before {
	transform: rotate(-30deg);
	left: 0;
}

.speech::after {
	transform: rotate(30deg);
	right: 0;
}

.text-bg {
	padding: 4px 5px;
	background-color: #184699;
	color: #fff;
}

.text-bg.red {
	background-color: #e61f19 !important;
	color: #fff !important;
}

p .red {
	color: #e61f19 !important;
}

.mv-text .copy {
	font-size: 48px;
	font-weight: bold;
	font-family: "Lato", Arial, sans-serif;
	line-height: 1.6;
	margin-bottom: 1.2em;
}

.copy .text-bg {
	/* color: #f4ba40; */
	color: #184699;
	background: #fff;
	padding: 2px 5px;
	letter-spacing: 0.02em;
}

.mv-text .sub {
	font-size: 24px;
	margin-bottom: 1em;
}

.cta-box {
	background-color: #fff;
	padding: 25px 30px;
	border-radius: 10px;
	border: 4px solid #f4ba40;

	align-items: center;
	transition: transform 0.4s ease;
}

.cta-box:hover {
	transform: scale(1.02, 1.02);
}

.mv-cta {
	display: flex;
	justify-content: center;
}

.mv-cta_inner {
	text-align: center;
}

.mv-cta_img img {
	width: 90px;
	margin-left: 30px;
}

.mv-cta .speech {
	color: #000;
	font-size: 18px !important;
	line-height: 2em;
	margin-bottom: 1em;
	text-align: center;
}

.mv-cta .speech::before,
.mv-cta .speech::after {
	bottom: 1px;
	width: 1px;
	height: 2.5rem;
}

.mv-cta .cmp-btn01 {
	font-size: 20px;
	width: 300px;
}

figure {
	margin-bottom: 0;
}

.flex {
	display: flex;
}

h2 {
	color: #184699;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 2em;
}

h3 {
	font-size: 24px;
	font-weight: bold;
	padding-bottom: 8px;
	border-bottom: 2px solid #184699;
	letter-spacing: 0.02em;
	margin: 30px 0 30px 0;
}

h3.hdg-icon {
	position: relative;
	letter-spacing: 0.02em;
	background-color: #ebf5fe;
	padding: 14px 20px 14px 80px;
	font-size: 32px;
	color: #184699;
	border-bottom: none;
	border-radius: 40px;
	margin-bottom: 40px;
}

h3.hdg-icon::before {
	font-family: "Font Awesome 5 Free";
	content: "\f00c";
	font-weight: 900;
	display: inline-block;
	position: absolute;
	padding: 0em;
	color: #fff;
	background: #184699;
	width: 60px;
	text-align: center;
	height: 60px;
	line-height: 60px;
	/* left: -1.35em; */
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border-radius: 50%;
	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29);
}

h3.hdg-icon.num::before {
	font-family: "Lato", Arial, sans-serif;
	counter-increment: number 1; /* number カウンタの増加数をセット */

	content: counter(number) " "; /* 表示形式を指定 */
}

#page section {
	padding-block: 120px;
	position: relative;
}

#problem {
	background-color: #ebf5fe;
}

.problem-list .card {
	text-align: center;
	border-radius: 10px;
	background-color: #fff;
	box-shadow: 6px 6px 4px 0 rgba(0, 0, 0, 0.05);
	gap: 30px;
	padding: 50px 40px 40px;
}

.problem-list .card-img img {
	width: 200px;
	max-width: 100%;
	height: auto;
	max-height: 100%;
}

.problem-list .card .card-text {
	text-align: left;
}

#solution {
	background-color: #184699;
	color: #fff;
	position: relative;
	margin-bottom: 30px;
}

#solution::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 0;
	height: 0;
	border-right: 30px solid transparent;
	border-top: 25px solid #184699;
	border-left: 30px solid transparent;
}

#solution .lead {
	color: #fff;
	font-size: 40px;
}

#whatwecando .l-container .inner {
	padding: 0 80px;
}

#whatwecando .l-container .c-box.narrow {
	margin: 0 80px;
}

#whatwecando .sub-lead .speech {
	text-align: center;
	margin: 0 auto 5px;
	font-size: 0.8em;
}

#whatwecando .sub-lead .speech::before,
#whatwecando .sub-lead .speech::after {
	bottom: 8px;
}

.table-caution {
	width: fit-content;
	margin: 10px 0 0 auto;
}

.table-caution p {
	margin-bottom: 0;
}

.table-caution .caution {
	width: fit-content;
	margin-top: 0;
}

.table-caution .caution:first-child::before {
	content: "※1";
	left: -2.2em;
}

.table-caution .caution:nth-child(2)::before {
	content: "※2";
	left: -2.2em;
}

.example-img .caution {
	padding-left: 1.2em;
	margin-top: 10px;
}

.example-img .caution::before {
	left: 0;
}

.flex .side-img {
	flex: 1;
}

.flex .side-img img {
	width: 100%;
}

#ghs-assistant {
	background-color: #184699;
	color: #fff;
	position: relative;
	padding-block: 0 !important;
	position: relative;
}

#ghs-assistant::after {
	content: "";
	position: absolute;
	background-color: #fff;
	border-top-left-radius: 80% 150%;
	border-bottom-left-radius: 80% 150%;
	right: 0;
	top: -10%;
	width: 47%;
	height: 120%;
}

#ghs-assistant .l-container {
	padding-block: 100px;

	position: relative;
	z-index: 2;
}

#ghs-assistant .flex {
	align-items: center;
}

#ghs-assistant .flex .side-text {
	width: 65%;
}

#ghs-assistant .flex .side-img {
	width: 35%;
}

#ghs-assistant .flex .side-img img {
	width: 100%;
	max-width: 330px;
}

#ghs-assistan .flex .side-img {
	text-align: right;
}

#ghs-assistant .lead {
	color: #fff;
	font-size: 40px;
}

#ghs-assistant .lead .speech {
	margin-left: 0;
}

#ghs-assistant .lead .speech::before,
#ghs-assistant .lead .speech::after {
	background: #fff;
}

#case {
	background-color: #ebf5fe;
}

.case-list .card {
	border-radius: 10px;
	background-color: #fff;
	box-shadow: 6px 6px 4px 0 rgba(0, 0, 0, 0.05);
	gap: 15px;
	padding: 40px 30px;
}

.case-list .card .txt {
	margin-bottom: 1.6em;
}

.case-list .card .figure {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: flex;
	justify-content: center;
	height: 180px;
	padding: 15px;
}

.case-list .card img {
	max-width: 100%;
	height: auto;
	max-height: 100%;
}

.case-list .card .cmp-btn01 {
	width: auto;
	font-size: 16px;
	border: solid 2px #418ad3;
	color: #fff !important;
	padding: 10px 30px;
}

.case-list .card .cmp-btn01:hover {
	color: #000 !important;
}

#feature {
	background-color: #ebf5fe;
}

#feature .l-container {
	background-color: #fff;
	border-radius: 40px;
	padding: 80px 60px;
}

#feature .l-container .inner {
	padding: 0 80px;
}

#feature .l-container h3.hdg-icon {
	margin-top: 0;
}

/* .feature-box .inner {
	margin-bottom: 80px;
} */

.feature-text {
	margin-bottom: 40px;
}

.feature-img {
	text-align: center;
}

.feature-img img {
	max-width: 100%;
}

.feature-img img.feature-s {
	width: 100%;
}

#support .flex {
	align-items: center;
}

#support .flex .side-img {
	width: 30%;
	text-align: center;
}

#support .flex .side-text {
	width: 70%;
}

#support .flex .lead {
	color: #184699;
}

#support .flex .lead .speech {
	color: #000;
}

#support .flex .side-img img {
	max-width: 200px;
}

#support .flex .side-text .lead {
	font-size: 40px;
	text-align: center;
}

.support-list li.card {
	text-align: center;
	border-radius: 10px;
	background-color: #ebf5fe;
	box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.03);
	gap: 30px;
	padding: 40px;
	font-size: 18px;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
}

#bottom {
	background-color: #184699;
}

#page section#bottom {
	padding-block-end: 30px;
}

#bottom .l-container {
	max-width: 767px;
}

.btm-cta {
	padding: 40px 25px 30px;
	text-align: center;
	margin-bottom: 60px;
}

.btm-cta-flex {
	display: flex;
	justify-content: center;
	align-items: center;
}

.btm-cta_img img {
	width: 110px;
	margin-left: 30px;
}

.cta-box .speech {
	color: #000;
	font-size: 1em !important;
	line-height: 2em;
	margin-bottom: 0.8em;
	text-align: center;
	padding: 0 0.9em;
}

.cta-box .speech::before,
.cta-box .speech::after {
	bottom: 5px;
	width: 1px;
	height: 1.2em;
}

#bottom .txt-link01 {
	color: #fff;
}

#bottom .sub-lead {
	color: #000;
	text-align: center;
	font-size: 24px;
	margin-bottom: 24px;
}

.btm-cta .mascot-area {
	align-items: center;
	justify-content: center;
}

#btm-cta .mascot-area .mascot {
	width: 100px;
	margin: 0 0 0 30px;
}

#btm-cta .mascot-area .fukidashi::after {
	top: 50%;
	transform: translateY(-50%);
	left: 100%;
	border: 8px solid transparent;
	border-left: 8px solid #fff;
}

.cta-list li {
	list-style-type: none;
	width: fit-content;
	margin: auto;
	margin-bottom: 18px;
}

.cta-list li .cmp-btn01 {
	width: 100%;
}

footer {
	background-color: #184699;
	text-align: center;
}
.copyright {
	color: #fff;
	margin: 0;
	padding: 20px 0;
}

.copy-br {
	display: none;
}

.mv-cta.pc-only {
	display: flex;
}

.mv-cta.tb-only,
.mv-cta.sp-only {
	display: none;
}

.l-nav_item.sp-only {
	display: none;
}

#page section#cta {
	padding-block: 100px;
	/* background-color: #fad993; */
	background-color: #ffe5ad;
	background-color: #fff2cf;
}

.cmn-cta.cta-box {
	padding: 40px 45px;
	display: inline-block;
	margin: 0 auto;
	min-width: 600px;
}

.cmn-cta-flex {
	display: flex;
	gap: 30px;
	align-items: center;
	justify-content: space-around;
}

.cmn-cta_text {
	width: auto;
	max-width: none;
	text-align: left;
}

.cmn-cta_text .cmp-btn01 {
	width: 100%;
	margin-bottom: 10px;
}

.cmn-cta_text .check-list {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 10px;
}

.cmn-cta_text .check-list li {
	padding: 10px 5px 10px 35px;
}

#cta .lead,
#bottom .lead {
	font-size: 40px;
}

#cta .lead .speech,
#bottom .lead .speech {
	margin-bottom: 30px;
}

#cta .copy,
#bottom .copy {
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 15px;
	line-height: 1.4;
}

#cta .copy .text-bg,
#bottom .copy .text-bg {
	font-size: 40px;
}

.cmn-cta_img {
	width: auto;
	max-width: 280px;
}

.cmn-cta_img img {
	max-width: 100%;
}

.cmn-cta_text .sub {
	font-size: 22px;
	/* margin-bottom: 1em; */
	margin-bottom: 0;
}

.cmn-cta_text .large.red {
	margin: 0 -10px 0 -4px;
	letter-spacing: 0.03em;
}

.cmn-cta_img img {
	width: 100px;
}

.cmn-cta-flex {
	align-items: flex-end;
}

#bottom .cmn-cta.cta-box {
	margin-bottom: 60px;
}

#bottom .speech::before,
#bottom .speech::after {
	background: #fff;
}

@media screen and (min-width: 1200px) {
	.feature-img img.feature-s {
		max-width: 600px;
	}
}

@media screen and (max-width: 1280px) {
	.mv-container {
		width: 85%;
	}
	.copy-br {
		display: block;
	}
	.mv-cta_img img {
		width: 75px;
	}
	.l-container {
		width: 85%;
	}
}

@media screen and (max-width: 1080px) {
	#ghs-assistant .lead {
		font-size: 32px;
	}
	#ghs-assistant .l-container {
		padding-block: 60px;
	}
	#ghs-assistant::after {
		width: 44%;
	}
	.cmn-cta_img {
		max-width: 240px;
	}
}

@media screen and (max-width: 840px) {
	.l-container {
		width: 90%;
	}
	.flex {
		display: block;
	}
	.lead {
		font-size: 32px !important;
	}
	.mv-cta.pc-only {
		display: none;
	}
	.mv-cta.tb-only {
		display: flex;
	}
	.mv-cta {
		margin-top: 40px;
	}
	.copy-br {
		display: none;
	}
	.mv-inner {
		display: block;
	}
	.mv-text {
		max-width: 100%;
	}
	.mv-img {
		width: 100%;
	}
	.mv-img img {
		width: 100%;
	}
	ul li.card {
		max-width: 600px;
		margin: 0 auto;
	}
	h2 {
		font-size: 36px;
	}
	h3.hdg-icon {
		font-size: 28px;
	}
	.card .lead {
		font-size: 22px !important;
	}
	#page section#solution {
		padding-block: 80px;
	}
	#whatwecando .l-container .inner {
		padding: 0 20px;
	}
	#whatwecando .l-container .c-box.narrow {
		margin: 0 20px;
		padding: 30px;
	}
	.example-img {
		width: 100%;
	}
	#ghs-assistant .l-container {
		display: flex;
	}
	#feature .l-container {
		padding: 50px 30px;
	}
	#feature .l-container .inner {
		padding: 0 20px;
		margin-bottom: 40px;
	}
	#feature .l-container .cmp-btn01 {
		margin-bottom: 20px;
	}
	#support .flex {
		display: flex;
	}
	#support .flex .side-text .lead {
		font-size: 32px;
	}
	#support .flex .side-img {
		text-align: right;
	}
	#support .flex .side-img img {
		max-width: 160px;
	}
	.support-list li.card {
		width: 100%;
		padding: 20px;
		font-size: 16px;
	}
	.support-list.l-column {
		gap: 20px 2.083vw;
	}
	/* .feature-img img.feature-s {
		width: 100%;
	} */
	.example-data .fukidashi {
		width: fit-content;
		margin: 30px auto 28px;
	}
	.cmn-cta-flex {
		display: block;
	}
	.cmn-cta_img {
		margin: 20px auto 0;
	}
	.cmn-cta_text p {
		text-align: center;
	}
	.cmn-cta.cta-box {
		min-width: 100%;
	}
	.cmn-cta_text {
		text-align: center;
	}
}

@media screen and (max-width: 650px) {
	.l-header input,
	.l-header label {
		display: block;
	}
	input[type="checkbox"] {
		opacity: 0;
		visibility: hidden;
		position: absolute;
	}
	.hamburger {
		width: 40px;
		height: 40px;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		z-index: 1000;
	}
	.hamburger span,
	.hamburger span::before,
	.hamburger span::after {
		content: "";
		display: block;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		width: 30px; /* 線の長さ */
		height: 2px;
		background-color: #fff;
		transition: all 0.4s ease;
		border-radius: 1px;
	}
	.hamburger span {
		top: 50%;
		transform: translate(-50%, -50%);
	}
	.hamburger span::before {
		top: -8px; /* 上の線 */
	}
	.hamburger span::after {
		top: 8px; /* 下の線 */
	}
	input[type="checkbox"]:checked + .hamburger span {
		background-color: transparent;
	}
	input[type="checkbox"]:checked + .hamburger span::before,
	input[type="checkbox"]:checked + .hamburger span::after {
		background-color: #184699;
	}
	input[type="checkbox"]:checked + .hamburger span::before {
		top: 0;
		transform: translate(-50%, -50%) rotate(45deg);
	}
	input[type="checkbox"]:checked + .hamburger span::after {
		top: 0;
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.l-nav {
		position: fixed;
		width: 80%;
		/* height: 70vh; */
		height: auto;
		padding: 15vh 0 12vh;
		top: 0;
		right: -120%;
		background-color: #ebf5fe;
		border-bottom-left-radius: 30px;
		color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: all 0.4s;
		z-index: 99;
		box-shadow: -6px 6px 4px 0 rgba(0, 0, 0, 0.05);
	}
	.l-nav_item.sp-only {
		display: block;
	}
	.l-nav_item a {
		display: block;
		font-size: 18px;
		padding: 10px 0;
		text-transform: uppercase;
		color: #000 !important;
	}
	.l-nav_item a:hover {
		color: #ebf5fe;
		/* background-color: #fff; */
	}
	.l-nav_item a::after {
		background-color: transparent;
	}
	.l-nav_list {
		display: block;
		text-align: center;
	}
	.l-nav_list li a.cmp-btn01 {
		font-size: 16px;
		width: 200px;
		margin: 15px 0;
		padding: 14px 0;
	}
	.l-nav_list li a.cmp-btn01.sp-edge-yellow {
		background-color: #fff !important;
		border: 2px solid #f4ba40;
		margin-top: 10px;
	}
	input[type="checkbox"]:checked ~ .l-nav {
		right: 0;
	}
	#support .flex {
		display: block;
		margin-bottom: 40px !important;
	}
	#support .flex .side-img {
		width: 100%;
		text-align: center;
		margin-bottom: 40px;
	}
	#support .flex .side-text {
		width: 100%;
	}
	#support p.sub-lead {
		line-height: 2.2;
	}
	#page section#bottom {
		padding-block-start: 80px;
	}
	.btm-cta {
		margin-bottom: 60px;
	}
	#bottom .sub-lead {
		font-size: 20px !important;
		margin-bottom: 16px;
	}
	.cmp-btn01 {
		font-size: 18px;
	}
	h3 {
		font-size: 22px;
	}
	h3.hdg-icon {
		font-size: 24px;
		padding: 14px 20px 14px 65px;
	}
	h3.hdg-icon::before {
		width: 50px;
		height: 50px;
		line-height: 50px;
	}
	.cta-box .cmp-btn01 {
		font-size: 16px;
		width: 100%;
	}
	.mv-cta_img img {
		width: 70px;
		margin-left: 22px;
	}
	.btm-cta_img img {
		width: 75px;
	}
	#ghs-assistant::after {
		display: none;
	}
	#ghs-assistant::before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		display: block;
		width: 0;
		height: 0;
		border-right: 30px solid transparent;
		/* border-top: 25px solid #0d347c; */
		border-top: 25px solid #184699;
		border-left: 30px solid transparent;
		z-index: 999;
	}
	#ghs-assistant .flex .side-img {
		display: none;
	}
	#ghs-assistant .lead .speech {
		margin: 0 auto 10px;
	}
	#ghs-assistant .flex .side-text {
		width: 100%;
		text-align: center;
	}
	/* #cta .copy,
	#bottom .copy {
		margin-bottom: 0;
	} */
	#bottom .cmn-cta_img img {
		width: 100px;
	}
	.cta-box .speech {
		font-size: 16px !important;
	}
	.cmn-cta_text .check-list {
		display: block;
		margin-bottom: 20px;
	}
	.cmn-cta_text .check-list li {
		width: fit-content;
		margin: 0 auto;
		padding: 5px 5px 5px 40px;
	}
	.cmn-cta_text .check-list li::before {
		top: 8px;
	}
	.cmn-cta_text .check-list li::after {
		top: 8px;
	}
}

@media screen and (max-width: 485px) {
	body {
		font-size: 16px;
	}
	#page section {
		padding-block: 100px;
	}
	h1.logo {
		width: 160px;
	}
	.main_visual {
		padding-block: 60px 100px;
	}
	.mv-container {
		width: 90%;
	}
	.mv-text {
		width: 100%;
		text-align: center;
	}
	.mv-text .sub {
		font-size: 20px;
	}
	.mv-text .copy {
		font-size: 40px;
		margin-bottom: 30px;
	}
	.mv-cta {
		justify-content: space-around;
	}
	.copy-br {
		display: block;
	}
	.cta-box {
		padding: 25px 25px !important;
	}
	.cta-box .speech {
		line-height: 1.6em;
	}
	h2 {
		font-size: 32px;
	}
	h3.hdg-icon {
		font-size: 22px;
	}
	h3.hdg-icon.num {
		margin-left: auto;
		margin-right: 10px;
		width: 90%;
		padding: 14px 14px 14px 38px;
		border-radius: 20px;
		font-size: 22px;
	}
	h3.hdg-icon.num::before {
		top: 20%;
		left: -8%;
	}
	.cmp-list01 li::before {
		top: 12px;
	}
	#page section#solution {
		padding-block: 60px;
	}
	.lead {
		font-size: 28px !important;
	}
	.sub-lead {
		font-size: 24px !important;
	}
	.list-box {
		padding: 25px 20px 20px 20px;
	}
	.list-box .list-title {
		font-size: 30px;
	}
	.example-data .mascot {
		width: 110px;
	}
	#whatwecando .l-container .inner {
		padding: 0 5px;
	}
	#whatwecando .l-container .c-box.narrow {
		margin: 0 5px;
	}
	#whatwecando .sub-lead {
		line-height: 1.6;
	}
	#whatwecando .sub-lead.mb-10 {
		margin-bottom: 20px !important;
	}
	#whatwecando .small {
		margin-top: 10px;
	}
	#ghs-assistant .lead {
		font-size: 26px !important;
	}

	#feature .l-container {
		padding: 35px 20px;
	}
	#feature .l-container .inner {
		padding: 0 10px;
	}
	.support-list li.card {
		text-align: left;
	}
	#bottom .sub-lead {
		font-size: 16px !important;
	}
	.btm-cta.cta-box {
		padding: 25px 25px 20px;
	}
	.btm-cta.cta-box .speech {
		font-size: 14px !important;
	}
	.btm-cta.cta-box .speech::before,
	.btm-cta.cta-box .speech::after {
		bottom: 1px;
	}
	#bottom .cta-list {
		width: fit-content;
		margin: 0 auto;
	}
	#bottom .cta-list li {
		margin-left: 0;
		text-align: left;
	}
	.btm-cta_img img {
		margin-left: 22px;
	}
	.caution,
	.small {
		font-size: 13px;
	}
	.copyright {
		font-size: 13px;
	}
	.cta-list li {
		margin-bottom: 30px;
	}
	.txt-link01 {
		font-size: 16px;
		line-height: 1.6;
	}
	#whatwecando .table-caution .caution.small {
		margin-top: 0;
	}
	#cta .copy,
	#bottom .copy {
		font-size: 28px;
	}
	#cta .copy .text-bg,
	#bottom .copy .text-bg {
		font-size: 32px;
	}
	.cmn-cta_text .sub {
		font-size: 16px;
	}
}

/* タブレットとスマホのみ スクロールで出てくる固定フッター */
.fix-cta {
	display: none;
}

@media screen and (max-width: 840px) {
	footer {
		padding-bottom: 90px;
	}

	.fix-cta {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: auto;
		transform: translateY(100%);
		transition: transform 0.3s ease, opacity 0.3s;
		opacity: 0;
		z-index: 1000;
		pointer-events: none;
	}

	.fix-cta.visible {
		transform: translateY(0);
		opacity: 1;
		pointer-events: auto;
		background: rgba(227, 242, 255, 0.7);
		padding: 10px 0;
		height: 90px;
		display: flex;
		align-items: center;
	}

	.l-nav_list.fixed-cta-list {
		display: flex;
		justify-content: center;
	}

	.l-nav_list.fixed-cta-list li .cmp-btn01 {
		margin: 0;
		width: 280px;
	}
}

@media screen and (max-width: 650px) {
	footer {
		padding-bottom: 80px;
	}

	.fix-cta.visible {
		height: 80px;
	}

	.l-nav_list.fixed-cta-list li {
		width: 50%;
	}

	.l-nav_list.fixed-cta-list li .cmp-btn01 {
		width: 100%;
		font-size: 16px;
		padding: 14px 0;
	}
}

@media screen and (max-width: 485px) {
	.l-nav_list.fixed-cta-list li .cmp-btn01 {
		font-size: 14px;
	}
}

/* =======================================================
*
* 	Animation Style 
*
* ======================================================= */
:root {
	--animate-duration: 1.1s;
}
