.u-desktop {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
}

.wrap {
	overflow: hidden;
}

a {
	transition: 0.3s ease;
}

a:hover {
	opacity: 0.7;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 37.5rem;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

.l-inner-l {
	margin-left: auto;
	margin-right: auto;
	max-width: 37.5rem;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

.l-inner-s {
	margin-left: auto;
	margin-right: auto;
	max-width: 31.25rem;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

.c-btn {
	background-color: #fff;
	border-radius: 3.125rem;
	display: inline-block;
	font-weight: 700;
	line-height: 1;
	overflow: hidden;
	padding: 1.1875rem 0;
	position: relative;
	transition: 0.3s ease;
}

.c-btn:hover {
	opacity: 1;
}

.c-btn::before {
	background: #000;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: right;
	transition: 0.3s;
	transition-property: transform;
	width: 100%;
}

.c-btn span {
	font-size: 1.3125rem;
	letter-spacing: 0.1em;
	line-height: 1;
	position: relative;
	text-transform: uppercase;
	transition: 0.3s;
}

.c-btn--blue {
	background-color: #1773b6;
	color: #fff;
}

.c-btn--blue:hover {
	background-color: #fff;
	color: #1773b6;
	opacity: 1;
}

.c-btn--blue::before {
	background: #fff;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: right;
	transition: 0.3s;
	transition-property: transform;
	width: 100%;
}

.c-btn--blue span {
	font-size: 1.3125rem;
	letter-spacing: 0.1em;
	line-height: 1;
	position: relative;
	text-transform: uppercase;
	transition: 0.3s;
}

.c-btn--black {
	background-color: #000;
	color: #fff;
}

.c-btn--black::before {
	background: #fff;
}

.c-page-top {
	align-items: center;
	background-color: #000;
	cursor: pointer;
	display: flex;
	font-size: 0.9375rem;
	height: 2.5rem;
	justify-content: center;
	line-height: 1;
	padding-top: 0.9375rem;
	position: relative;
	width: 2.5rem;
}

.c-page-top::before {
	border-right: 0.0625rem solid #fff;
	border-top: 0.0625rem solid #fff;
	content: "";
	height: 1.25rem;
	left: 50%;
	position: absolute;
	top: 63%;
	transform: translate(-50%, -50%) rotate(-45deg);
	width: 1.25rem;
	z-index: 1;
}

.c-page-top::after {
	background-color: #1773b6;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	transform: scaleX(0);
	transform-origin: right;
	transition: 0.3s;
	transition-property: transform;
	width: 100%;
}

.l-header {
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 900;
}

.l-mv {
	margin-top: 3.125rem;
}

.l-page-top {
	bottom: 2rem;
	display: none;
	position: fixed;
	right: 0;
}

.p-company-profile__list {
	border-bottom: 1px solid #000;
	display: flex;
	flex-direction: column;
	font-size: 1rem;
	line-height: 1.3;
	padding-bottom: 0.0625rem;
	padding-top: 0.5625rem;
}

.p-company-profile__list:first-of-type {
	border-top: 1px solid #000;
	padding-top: 0.9375rem;
}

.p-company-profile__list + .p-company-profile__list {
	padding-top: 0.9375rem;
}

.p-company-profile__term {
	border-bottom: 1px solid #c1c1c1;
	flex-shrink: 0;
	padding-bottom: 0.625rem;
	width: 100%;
}

.p-company-profile__description {
	padding-bottom: 0.9375rem;
	padding-top: 0.9375rem;
}

.p-contact {
	background-color: #c9e2ff;
	margin-top: 6.25rem;
	padding-bottom: 5rem;
	padding-top: 5rem;
}

.p-contact.p-contact--under {
	margin-top: 3.125rem;
}

.p-contact__inner.l-inner {
	max-width: 1050px;
}

.p-contact__title {
	font-size: 1.5rem;
	font-weight: 700;
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
	text-align: left;
}

.p-contact__top-text {
	font-size: 0.875rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.75rem;
	max-width: 600px;
	text-align: left;
}

.p-contact__top-text a {
	-webkit-text-decoration: underline;
	color: #17639b;
	display: inline-block;
	text-decoration: underline;
}

.p-contact__top-text span {
	display: inline-block;
}

.p-contact__container {
	background-color: #ddedff;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 4.375rem;
	max-width: 37.5rem;
	padding: 3.125rem 1.25rem;
}

.p-contact__wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 34.6875rem;
	width: 100%;
}

.p-contact__container.p-contact__container--under {
	padding-bottom: 3.125rem;
}

.p-contact__content {
	margin-left: auto;
	margin-right: auto;
	max-width: 34.6875rem;
}

.p-contact__head {
	width: 14.375rem;
}

.p-contact__head label {
	display: inline-flex;
	font-size: 0.875rem;
	width: 100%;
}

.p-contact__item {
	margin-top: 0.375rem;
	width: 100%;
}

.p-contact__item-example {
	color: gray;
	margin-top: 0.375rem;
}

.p-contact__required {
	color: #ec0000;
	font-size: 0.75rem;
	margin-left: 1em;
	text-align: center;
}

.p-contact__policy,
.p-contact__content,
.p-contact__btn {
	margin: 1.5rem 0;
}

.p-contact__policy-link {
	color: blue;
	transition: all 0.3s;
}

.p-contact__btn-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.p-contact__btn-wrap--confirm {
	align-items: center;
}

.p-contact__btn {
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	text-align: center;
}

.p-contact__text {
	margin-top: 5.625rem;
	text-align: center;
}

.p-contact__item-text,
.p-contact__item-tel,
.p-contact__item-email,
.p-contact__item-textarea,
.p-contact__item-select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background: none;
	background-color: #fff;
	border: 1px solid #1a1a1a;
	border-radius: 0.5rem;
	color: inherit;
	font-family: inherit;
	font-size: 1rem;
	margin: 0;
	outline: none;
	padding: 0.8em;
	width: 100%;
}

.p-contact__item-text:focus,
.p-contact__item-tel:focus,
.p-contact__item-email:focus,
.p-contact__item-textarea:focus,
.p-contact__item-select:focus {
	border: 1px solid rgba(0, 0, 0, 0.7);
	box-shadow: none;
	outline: none;
}

.p-contact__item-textarea {
	height: 200px;
	overflow: auto;
	resize: none;
}

.p-contact__item-message {
	white-space: pre-wrap;
}

.p-contact__item-select {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALJJREFUeNrslssNgCAQRCmB0ijBEuyEEijBEijBEizBEnAPy0UBWVj8JDvJJB5w3gsXVUoikXwsBrpAPdRCNcOmxi2P2yZ3cIKGU9dOCY0b590pdXhPHOyRyMEDsi4JhVIlSvBYTRGgSNTAQ+pFyyBRC7e5AdchUQt3d1fYIsEGb5Fgh1MktlFwisQwOIeE4/pGuDfhLRLscIrEMHiNxHB4SeIxeMyMPxkenyUSyT9zCDAAj5btZ4c3zaUAAAAASUVORK5CYII=");
	background-position: right 0.5em center;
	background-repeat: no-repeat;
	background-size: 1em;
	color: inherit;
	padding-right: 3em;
}

.p-contact__item-select:invalid {
	color: rgba(0, 0, 0, 0.32);
}

.p-contact__item-select select::-ms-expand {
	display: none;
}

.p-contact__item-radio input[type=radio],
.p-contact__item-checkbox input[type=checkbox] {
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.p-contact__item-radio input[type=radio] + span,
.p-contact__item-checkbox input[type=checkbox] + span {
	color: #333;
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	padding: 0.5em 1em 0.5em 1.5em;
	position: relative;
}

.p-contact__item-radio input[type=radio]:focus + span,
.p-contact__item-checkbox input[type=checkbox]:focus + span {
	opacity: 0.7;
}

.p-contact__item-radio input[type=radio] + span::before,
.p-contact__item-checkbox input[type=checkbox] + span::before {
	background: white;
	border: 1px solid black;
	content: "";
	height: 1em;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1em;
}

.p-contact__item-checkbox input[type=checkbox]:checked + span::before {
	background: #333;
}

.p-contact__item-radio input[type=radio]:checked + span::before {
	background: white;
}

.p-contact__item-radio input[type=radio] + span::before {
	border-radius: 50%;
}

.p-contact__item-radio input[type=radio] + span::after {
	background: #333;
	border: 1px solid transparent;
	border-radius: 50%;
	content: "";
	height: 0.5em;
	left: 0.25em;
	opacity: 0;
	padding: 0.125em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease 0s;
	width: 0.5em;
}

.p-contact__item-checkbox input[type=checkbox] + span::after {
	border-bottom: 2px solid white;
	border-left: 2px solid white;
	content: "";
	display: block;
	height: 0.35em;
	left: 0.15em;
	margin-top: -0.1em;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
	transition: all 0.3s ease 0s;
	width: 0.8em;
}

.p-contact__item-checkbox input[type=checkbox]:checked + span::after,
.p-contact__item-radio input[type=radio]:checked + span::after {
	opacity: 1;
}

/* button */

.p-contact__btn input[type=submit],
.p-contact__btn input[type=button] {
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	background: transparent;
	border: none;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	margin: 0;
	min-width: 15.625rem;
	padding: 1.0625rem 1.25rem;
}

.p-contact__btn--confirm input[type=submit],
.p-contact__btn--confirm input[type=button] {
	min-width: 12.5rem;
}

.p-contact__btn input[type=submit]:hover,
.p-contact__btn input[type=button]:hover,
.p-contact__btn input[type=submit]:focus,
.p-contact__btn input[type=button]:focus {
	color: #1773b6;
	outline: none;
}

.p-contact__btn--return {
	min-width: -moz-fit-content;
	min-width: fit-content;
}

.p-contact__btn--return input[type=submit],
.p-contact__btn--return input[type=button] {
	display: inline-block !important;
}

.p-contact__btn--return input[type=submit],
.p-contact__btn--return input[type=button] {
	min-width: -moz-fit-content;
	min-width: fit-content;
	padding-left: 0;
}

.p-contact__btn--return::before {
	background: url(../images/common/icon_arrow03.svg) no-repeat center center/contain;
	content: "";
	display: inline-block;
	height: 0.375rem;
	margin-right: 0.5em;
	position: relative;
	top: -0.1875rem;
	width: 1.25rem;
}

.p-contact__send-message {
	font-size: 2rem;
	letter-spacing: 0.1em;
	margin-top: 4.875rem;
	text-align: center;
}

.p-contact__description {
	font-size: 1rem;
	margin-top: 0.625rem;
	text-align: center;
}

.p-contact__btn-tanks {
	margin-top: 5rem;
}

.p-contact__policy-text {
	font-size: 0.875rem;
	font-weight: 400;
}

.p-contact__policy-text span {
	-webkit-text-decoration: underline;
	cursor: pointer;
	text-decoration: underline;
}

.p-contact__alert-all {
	text-align: center;
}

.p-contact__modal {
	bottom: 0;
	display: none;
	left: 0;
	margin: -3.125rem calc(50% - 50vw) 0;
	overflow: scroll;
	padding: 6.25rem 0 0 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1000;
}

.p-contact__text-thanks {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
}

.alert-heading {
	color: inherit;
}

.alert-link {
	font-weight: 700;
}

.alert-dismissible {
	padding-right: 4rem;
}

.alert-dismissible .close {
	color: inherit;
	padding: 0.75rem 1.25rem;
	position: absolute;
	right: 0;
	top: 0;
}

.alert-primary {
	background-color: #cce5ff;
	border-color: #b8daff;
	color: #004085;
}

.alert-primary hr {
	border-top-color: #9fcdff;
}

.alert-primary .alert-link {
	color: #002752;
}

.alert-secondary {
	background-color: #e2e3e5;
	border-color: #d6d8db;
	color: #383d41;
}

.alert-secondary hr {
	border-top-color: #c8cbcf;
}

.alert-secondary .alert-link {
	color: #202326;
}

.alert-success {
	background-color: #d4edda;
	border-color: #c3e6cb;
	color: #155724;
}

.alert-success hr {
	border-top-color: #b1dfbb;
}

.alert-success .alert-link {
	color: #0b2e13;
}

.alert-info {
	background-color: #d1ecf1;
	border-color: #bee5eb;
	color: #0c5460;
}

.alert-info hr {
	border-top-color: #abdde5;
}

.alert-info .alert-link {
	color: #062c33;
}

.alert-warning hr {
	border-top-color: #ffe8a1;
}

.alert-warning .alert-link {
	color: #533f03;
}

.alert-danger {
	color: #dd4242;
	font-size: 0.875rem;
}

.alert-danger hr {
	border-top-color: #f1b0b7;
}

.alert-danger .alert-link {
	color: #491217;
}

.alert-light {
	background-color: #fefefe;
	border-color: #fdfdfe;
	color: #818182;
}

.alert-light hr {
	border-top-color: #ececf6;
}

.alert-light .alert-link {
	color: #686868;
}

.alert-dark {
	background-color: #d6d8d9;
	border-color: #c6c8ca;
	color: #1b1e21;
}

.alert-dark hr {
	border-top-color: #b9bbbe;
}

.alert-dark .alert-link {
	color: #040505;
}

.progress {
	background-color: #e9ecef;
	border-radius: 0.25rem;
	display: flex;
	font-size: 0.75rem;
	height: 1rem;
	overflow: hidden;
}

.progress-bar {
	background-color: #007bff;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	text-align: center;
	transition: width 0.6s ease;
	white-space: nowrap;
}

.progress-bar-striped {
	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
	background-size: 1rem 1rem;
}

.progress-bar-animated {
	animation: progress-bar-stripes 1s linear infinite;
}

.media {
	align-items: flex-start;
	display: flex;
}

.media-body {
	flex: 1;
}

.list-group {
	display: flex;
	flex-direction: column;
	margin-bottom: 0;
	padding-left: 0;
}

.list-group-item-action {
	color: #495057;
	text-align: inherit;
	width: 100%;
}

.list-group-item-action:focus,
.list-group-item-action:hover {
	-webkit-text-decoration: none;
	background-color: #f8f9fa;
	color: #495057;
	text-decoration: none;
	z-index: 1;
}

.list-group-item-action:active {
	background-color: #e9ecef;
	color: #212529;
}

.list-group-item {
	background-color: #fff;
	border: 1px solid rgba(0, 0, 0, 0.125);
	display: block;
	padding: 0.75rem 1.25rem;
	position: relative;
}

.list-group-item:first-child {
	border-top-left-radius: 0.25rem;
	border-top-right-radius: 0.25rem;
}

.list-group-item:last-child {
	border-bottom-left-radius: 0.25rem;
	border-bottom-right-radius: 0.25rem;
}

.list-group-item.disabled,
.list-group-item:disabled {
	background-color: #fff;
	color: #6c757d;
	pointer-events: none;
}

.list-group-item.active {
	background-color: #007bff;
	border-color: #007bff;
	color: #fff;
	z-index: 2;
}

.list-group-item + .list-group-item {
	border-top-width: 0;
}

.list-group-item + .list-group-item.active {
	border-top-width: 1px;
	margin-top: -1px;
}

.list-group-horizontal {
	flex-direction: row;
}

.p-cta {
	background-color: #1773b6;
	padding: 2.375rem 0 0.875rem 0;
}

.p-cta__inner.l-inner {
	max-width: 1130px;
}

.p-cta__title {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.7777777778;
	text-align: center;
}

.p-cta__container {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.p-cta__contents-wrap {
	display: block;
	width: 100%;
}

.p-cta__btn-wrap {
	display: flex;
	flex-direction: column;
	margin-top: 2.4375rem;
}

.p-cta__btn {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 20.5625rem;
	text-align: center;
	width: 100%;
}

.p-cta__btn a {
	width: 100%;
}

.p-cta__btn + .p-cta__btn {
	margin-top: 1.5625rem;
}

.p-cta__logo {
	color: #fff;
	display: flex;
	flex-direction: column;
	left: 1.875rem;
	margin-top: 3.75rem;
	position: relative;
}

.p-cta__logo::before {
	background: url(../images/common/img_illust02.png) no-repeat center center/contain;
	bottom: -2.5rem;
	content: "";
	display: inline-block;
	height: 8.5rem;
	left: -5rem;
	position: absolute;
	width: 4.8125rem;
}

.p-cta__logo-top {
	font-size: 0.75rem;
}

.p-cta__logo-middle {
	font-size: 1.25rem;
	font-weight: 700;
}

.p-cta__logo-bottom {
	font-size: 0.9375rem;
	font-weight: 700;
}

.p-footer__nav-inner {
	padding-bottom: 3.125rem;
}

.p-footer__drawer-nav {
	margin-top: 2.5rem;
}

.p-footer__drawer-item {
	border-bottom: 1px solid #000;
}

.p-footer__drawer-item:first-of-type {
	border-top: 1px solid #000;
}

.p-footer__drawer-item a {
	color: #000;
	display: block;
	font-size: 1rem;
	line-height: 1;
	padding: 1.3125rem 0 1.3125rem 0.5em;
	transition: 0.3s ease;
}

.p-footer__drawer-item a:hover {
	color: #1773b6;
	opacity: 1;
}

.p-footer__drawer-item a::before {
	color: #c1c1c1;
	content: "〉";
	display: inline-block;
	height: 1em;
	left: 0;
	position: relative;
	transition: 0.3s ease;
	width: 1em;
}

.p-footer__drawer-item a:hover::before {
	left: 0.2em;
}

.p-footer__conteinar {
	margin-top: 6.25rem;
}

.p-footer__img {
	margin-left: auto;
	margin-right: auto;
	width: 80%;
}

.p-footer__name {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 1.875rem;
}

.p-footer__name-s {
	font-size: 1rem;
	font-weight: 400;
}

.p-footer__name-l {
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 1rem;
}

.p-footer__name-m {
	font-size: 1rem;
	font-weight: 700;
}

.p-footer__info-text {
	margin-top: 1.25rem;
	text-align: center;
}

.p-footer__info-text span {
	display: inline;
}

.p-footer__copy-wrap {
	background-color: #000;
	padding: 0.375rem 0;
}

.p-footer__copy {
	color: #fff;
	font-size: 0.75rem;
	text-align: center;
}

.p-header {
	background-color: #fff;
	height: 3.125rem;
}

.p-header__inner {
	display: flex;
	height: inherit;
	justify-content: space-between;
	padding-left: 0.9375rem;
}

.p-header__logo {
	height: inherit;
}

.p-header__logo-link {
	display: flex;
	flex-direction: column;
	height: inherit;
	justify-content: center;
}

.p-header__logo-text-top {
	font-size: 0.625rem;
	font-weight: 400;
}

.p-header__logo-text-bottom {
	font-size: 1.125rem;
	font-weight: 700;
}

.p-header__logo-text-bottom-right {
	font-size: 0.875rem;
	font-weight: 700;
	margin-left: 0.625rem;
}

.p-header__nav {
	display: none;
	height: inherit;
}

.p-header__nav-items {
	display: flex;
	height: inherit;
}

.p-header__nav-item {
	height: inherit;
}

.p-header__nav-item.p-header__nav-item--contact {
	align-items: center;
	display: flex;
	margin-left: 0.9375rem;
}

.p-header__nav-item a {
	align-items: center;
	color: #000;
	display: flex;
	font-size: max(0.938rem, min(1.25vw, 1.125rem));
	font-weight: 700;
	height: inherit;
	line-height: 1;
	padding: 0 0.9375rem;
	transition: 0.3s ease;
}

.p-header__nav-item a:hover {
	color: #1773b6;
	opacity: 1;
}

.p-header__nav-item--contact a:hover {
	color: #000;
	opacity: 0.7;
}

.p-header__nav-item a::before {
	color: #c1c1c1;
	content: "〉";
	display: inline-block;
	height: 1em;
	left: 0;
	position: relative;
	transition: 0.3s ease;
	width: 1em;
}

.p-header__nav-item a:hover::before {
	left: 0.1875rem;
}

.p-header__nav-item.p-header__nav-item--contact a {
	background-color: #ffc634;
	height: 100%;
	padding: 0 2.375rem 0 1.875rem;
	position: relative;
}

.p-header__hamburger {
	background-color: #000;
	border: none;
	cursor: pointer;
	height: inherit;
	margin: 0;
	outline: none;
	padding: 0;
	position: relative;
	transition: 0.3s;
	width: 3.125rem;
	z-index: 999;
}

.p-header__hamburger span {
	background-color: #fff;
	display: block;
	height: 1px;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	transition: 0.5s;
	width: 2.1875rem;
}

.p-header__hamburger span:nth-of-type(1) {
	top: -0.5rem;
}

.p-header__hamburger span:nth-of-type(2) {
	top: 0;
}

.p-header__hamburger span:nth-of-type(3) {
	top: 0.5rem;
}

.p-header__hamburger.is-open span:nth-of-type(1) {
	top: 0;
	transform: translateX(-50%) rotate(45deg);
}

.p-header__hamburger.is-open span:nth-of-type(2) {
	opacity: 0;
}

.p-header__hamburger.is-open span:nth-of-type(3) {
	top: -0.125rem;
	transform: translateX(-50%) rotate(-45deg);
}

.p-header__drawer {
	background-color: #f1f1f1;
	bottom: 0;
	display: none;
	height: 100vh;
	left: 0;
	overflow-y: scroll;
	padding: 1.75rem 1.75rem;
	position: absolute;
	right: 0;
	scrollbar-width: none;
	top: 3.125rem;
	width: 100%;
	z-index: 900;
}

.p-header__drawer::-webkit-scrollbar {
	display: none;
}

.p-header__drawer-item a {
	border-bottom: 1px solid #e8e8e8;
	color: #000;
	display: block;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1;
	padding: 1.625rem 0;
}

.p-header__drawer-item a::before {
	color: #c1c1c1;
	content: "〉";
	display: inline-block;
	height: 1em;
	left: 0;
	position: relative;
	transition: 0.3s ease;
	width: 1em;
}

.p-header__drawer-item.p-header__drawer-item--contact a::after {
	background-image: url(./../images/common/contact-icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 0.9375rem;
	margin-bottom: 0.3125rem;
	margin-left: 1.25rem;
	width: 0.9375rem;
}

.p-header__btn-wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 1.875rem;
}

.p-header__drawer-btn {
	width: 100%;
}

.p-header__drawer-btn a {
	display: block;
	margin: 10px auto;
	max-width: 18.75rem;
	text-align: center;
	width: 100%;
}

.p-lanchester {
	background-color: #ecf7ff;
	padding-bottom: 3.125rem;
	padding-top: 2.1875rem;
}

.p-lanchester__inner {
	padding: 0 1.875rem;
}

.p-lanchester__container {
	display: flex;
	flex-direction: column;
	margin-top: 1.875rem;
}

.p-lanchester__wrap {
	flex-shrink: 0;
	width: 100%;
}

.p-lanchester__title {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.625;
}

.p-lanchester__title-sub {
	font-size: 1.3125rem;
	font-weight: 700;
	line-height: 1.7142857143;
}

.p-lanchester__title-sub span {
	display: inline-block;
}

.p-lanchester__title-sub--top {
	margin-top: 1.875rem;
}

.p-lanchester__text {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 2.0625rem;
}

.p-lanchester__text--check {
	margin-top: 1.25rem;
}

.p-lanchester__img-wrap {
	aspect-ratio: 1/1;
	background: url(../images/common/img_illust04.png) no-repeat center center/contain;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	right: 10px;
	top: 50px;
	width: 100%;
}

.p-lanchester__wrap-check {
	margin-top: 7rem;
}

.p-lanchester__box-wrap {
	grid-gap: 0.5rem 0.75rem;
	display: grid;
	gap: 0.5rem 0.75rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 1.5rem;
}

.p-lanchester__box {
	background-color: #dd4242;
	color: #fff;
	padding: 0.8125rem 0;
	text-align: center;
}

.p-lanchester__program-container {
	margin-top: 6.875rem;
}

.p-lanchester__title-sub--program {
	position: relative;
}

.p-lanchester__title-sub--program::after {
	background: url(../images/common/img_illust05.png) no-repeat center center/contain;
	content: "";
	height: 8.625rem;
	position: absolute;
	right: 0;
	top: -4.375rem;
	width: 6.875rem;
}

.p-lanchester__program-list {
	margin-top: 1.875rem;
}

.p-lanchester__program-item {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.p-lanchester__program-item + .p-lanchester__program-item {
	margin-top: 2.875rem;
}

.p-lanchester__program-img {
	aspect-ratio: 320/187;
	min-height: 0;
}

.p-lanchester__program-img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-lanchester__program-text-warp {
	background-color: #fff;
	padding: 2.3125rem 1.875rem 1.875rem;
}

.p-lanchester__program-title {
	font-size: 1.3125rem;
	font-weight: 700;
}

.p-lanchester__program-text {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 2.25rem;
}

.p-lanchester__program-description {
	font-size: 1rem;
	font-weight: 400;
	margin-top: 2.5rem;
}

.p-lanchester__program-description span {
	display: none;
}

.p-modal {
	background-color: rgba(0, 0, 0, 0.8);
}

.p-modal__close-button {
	cursor: pointer;
	height: 50px;
	width: 50px;
	z-index: 999;
}

.p-modal__close-button span {
	background-color: #000;
	display: block;
	height: 1px;
	left: 50%;
	position: relative;
	transform: translateX(-50%);
	transition: 0.5s;
	width: 2.1875rem;
}

.p-modal__close-button span:nth-of-type(1) {
	top: 0;
	transform: translateX(-50%) rotate(45deg);
}

.p-modal__close-button span:nth-of-type(2) {
	top: -0.125rem;
	transform: translateX(-50%) rotate(-45deg);
}

.p-modal__container {
	height: 100%;
	overflow-y: auto;
	position: relative;
}

.p-modal__inner {
	background-color: #fff;
	height: auto;
	left: 50%;
	margin-left: auto;
	margin-right: auto;
	max-width: 930px;
	overflow: scroll;
	overflow-y: auto;
	padding: 1.875rem;
	position: absolute;
	top: 0;
	transform: translate(-50%, 0);
	width: 95%;
}

.p-modal__contents {
	margin-top: 1.875rem;
}

.p-modal__contents + .p-modal__contents {
	margin-top: 1.25rem;
}

.p-modal__title-sub {
	font-size: 1rem;
	font-weight: 700;
}

.p-modal-text {
	font-size: 0.875rem;
	line-height: 1.6;
	margin-top: 1.25rem;
}

.p-modal-item {
	font-size: 0.875rem;
}

.modal__bg {
	min-height: 100vh;
}

.p-mv {
	background: linear-gradient(180deg, transparent 0%, transparent 88%, #e8e8e8 88%, #e8e8e8 100%);
	padding-bottom: 0.3125rem;
}

.p-mv__container {
	display: flex;
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
	max-width: 600px;
}

.p-mv__text-wrap {
	margin-top: 2.5rem;
	padding-left: 1.5rem;
}

.p-mv__title {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.45;
}

.p-mv__title span {
	display: inline-block;
}

.p-mv__text {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.7777777778;
	margin-top: 1.5625rem;
}

.p-mv__img {
	left: 2%;
	margin-top: 1.8125rem;
	position: relative;
	width: 97%;
}

.p-point {
	padding-bottom: 5rem;
}

.p-point__container {
	display: flex;
	flex-direction: column;
	margin-top: 4.0625rem;
}

.p-point__title {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.625;
	margin-left: auto;
	margin-right: auto;
}

.p-point__title span {
	margin-left: -0.5em;
}

.p-point__illust {
	aspect-ratio: 1/1;
	background: url(../images/common/img_illust03.png) no-repeat center center/contain;
	margin-left: auto;
	margin-right: auto;
	max-width: 21.875rem;
	position: relative;
	top: 0.8125rem;
	width: 100%;
	width: 89%;
}

.p-point__items {
	margin-top: 5rem;
}

.p-point__item {
	display: flex;
	flex-direction: column;
}

.p-point__item + .p-point__item {
	margin-top: 5.625rem;
}

.p-point__number {
	font-size: 1.125rem;
	font-weight: 700;
	margin-left: 1.875rem;
	position: relative;
	z-index: 1;
}

.p-point__number::before {
	aspect-ratio: 1/1;
	background-color: #ffc634;
	border-radius: 50%;
	content: "";
	left: 6%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 5.5rem;
	z-index: -1;
}

.p-point__text-wrap {
	display: flex;
	flex-direction: column;
	margin-top: 2.8125rem;
	padding-left: 0.6em;
}

.p-point__item-title {
	font-size: 1.3125rem;
	font-weight: 700;
	line-height: 1.7142857143;
}

.p-point__item-text {
	font-size: 1rem;
	line-height: 2;
	margin-top: 1rem;
}

.p-problem {
	background-color: #ffc634;
	padding: 2.5rem 0 5.3125rem 0;
}

.p-problem__title {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 700;
	position: relative;
}

.p-problem__title::after {
	background: url(../images/common/img_illust01.png) no-repeat center center/contain;
	content: "";
	display: inline-block;
	height: 9.25rem;
	position: absolute;
	right: -8.75rem;
	top: -2.1875rem;
	width: 8.3125rem;
}

.p-problem__container {
	display: flex;
}

.p-problem__list {
	margin-top: 2.5rem;
	padding-left: 0.9375rem;
}

.p-problem__item {
	align-items: center;
	display: flex;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5625;
}

.p-problem__item span {
	display: inline-block;
}

.p-problem__item::before {
	background: url(../images/common/icon_check01.svg) no-repeat center center/contain;
	content: "";
	display: inline-block;
	height: 2.25rem;
	margin-right: 0.625rem;
	width: 2.25rem;
}

.p-problem__item + .p-problem__item {
	margin-top: 1.25rem;
}

.p-profile {
	margin-top: 6rem;
	padding-top: 1.875rem;
}

.p-profile__inner {
	padding: 0 1.875rem;
}

.p-profile__title {
	font-size: 1.5rem;
	font-weight: 700;
}

.p-profile__contaienr-profile {
	display: flex;
	flex-direction: column;
	margin-top: 0.625rem;
}

.p-profile__img {
	width: 100%;
}

.p-profile__text-wrap {
	margin-top: 1.375rem;
}

.p-profile__title-profile {
	display: flex;
	flex-direction: column;
}

.p-profile__name-m {
	font-size: 1.125rem;
	font-weight: 700;
}

.p-profile__name-l {
	font-size: 1.125rem;
	font-weight: 700;
}

.p-profile__name-s {
	font-size: 0.875rem;
	font-weight: 700;
	/*margin-top: 0.9375rem;*/
}

.p-profile__name {
	font-size: 1.5rem;
	font-weight: 700;
}

.p-profile__text {
	font-size: 1rem;
	line-height: 2;
	margin-top: 1.6875rem;
}

.p-profile__text span {
	display: block;
	font-size: 1.3125rem;
	font-weight: 700;
	/*margin-bottom: 0.5rem;*/
}

.p-profile__container-table {
	margin-top: 1.875rem;
}

.p-profile__title-table {
	font-size: 1.3125rem;
	font-weight: 700;
	margin-top: 2.9375rem;
}

.p-profile__table-wrap {
	margin-top: 0.1875rem;
}

.p-profile__map {
	aspect-ratio: 375/389;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 3.25rem;
}

.p-profile__map iframe {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	vertical-align: top;
	width: 100%;
}

.p-solution {
	padding-bottom: 2rem;
	position: relative;
}

.p-solution::before {
	background: url(../images/common/icon_arrow01.svg) no-repeat center center/contain;
	content: "";
	height: 18.5625rem;
	left: 50%;
	position: absolute;
	top: 2.5%;
	transform: translate(-50%, -50%);
	width: 18.125rem;
}

.p-solution__title {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.625;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-top: 8.75rem;
	padding-top: 9.625rem;
	text-align: center;
}

.p-solution__container {
	display: flex;
	flex-direction: column-reverse;
}

.p-solution__img {
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
	max-width: 17.5rem;
}

.p-solution__img figcaption {
	font-size: 0.875rem;
	font-weight: 700;
	margin-top: 1rem;
	text-align: center;
}

.p-solution__text-wrap {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.1875rem;
	max-width: 31.25rem;
	padding: 0 0.875rem;
}

.p-solution__text {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2;
}

.p-solution__text + .p-solution__text {
	margin-top: 2rem;
}

.p-solution__img-box {
	margin-top: 5rem;
}

.fade-in {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 2s, transform 2s;
	visibility: hidden;
}

.fade-in.show {
	opacity: 1;
	transform: translateY(0px);
	visibility: visible;
}

.u-mobile {
	display: block;
}

.u-mobile--inline-block {
	display: inline-block;
}

.u-mobile--xl {
	display: block;
}

.u-desktop {
	display: none;
}

.u-desktop--inline-block {
	display: none;
}

.u-desktop--xl {
	display: none;
}

.u-inline-block {
	display: inline-block;
}

.u-indent {
	margin-left: -0.5em;
}

.u-indent--s {
	margin-left: -0.1em;
	margin-right: -0.1em;
}

.u-under-line {
	background: linear-gradient(transparent 70%, #ffc634 70%);
}

.u-under-line--white {
	background: linear-gradient(transparent 70%, #fff 70%);
}

.sp-br{
	display: block; /* SPを改行する */
}

@media (prefers-reduced-motion: reduce) {

.progress-bar {
	transition: none;
}

.progress-bar-animated {
	animation: none;
}

}

@media screen and (min-width: 768px) {

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

html {
	font-size: 1.4159292035vw;
}

body {
	font-size: 1.125rem;
}

a[href*="tel:"] {
	-webkit-text-decoration: none;
	cursor: default;
	pointer-events: none;
	text-decoration: none;
}

.l-inner {
	max-width: 1180px;
	padding-left: 25px;
	padding-right: 25px;
}

.l-inner-l {
	max-width: 1490px;
	padding-left: 25px;
	padding-right: 25px;
}

.l-inner-s {
	max-width: 1090px;
	padding-left: 25px;
	padding-right: 25px;
}

.c-btn:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}

.c-btn:hover span {
	color: #fff;
}

.c-btn--blue:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}

.c-btn--blue:hover span {
	color: #1773b6;
}

.c-btn--black:hover span {
	color: #000;
}

.c-page-top {
	height: 3.9375rem;
	width: 3.9375rem;
}

.c-page-top::before {
	height: 1.875rem;
	width: 1.875rem;
}

.c-page-top:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

.l-mv {
	margin-top: 4.375rem;
}

.p-company-profile__list {
	border-bottom: 1px solid #c1c1c1;
	flex-direction: row;
	font-size: 1.125rem;
	font-weight: 700;
	padding-bottom: 1.5625rem;
	padding-top: 0;
}

.p-company-profile__list:first-of-type {
	border-top: 1px solid #c1c1c1;
	padding-top: 1.5625rem;
}

.p-company-profile__list + .p-company-profile__list {
	padding-top: 1.5625rem;
}

.p-company-profile__term {
	border-bottom: none;
	max-width: 16.875rem;
	padding-bottom: 0rem;
	padding-left: 1em;
}

.p-company-profile__description {
	padding-bottom: 0rem;
	padding-top: 0rem;
}

.p-contact {
	margin-top: 8.125rem;
	padding-bottom: 6.875rem;
	padding-top: 6.875rem;
}

.p-contact.p-contact--under {
	margin-top: 4.375rem;
}

.p-contact__title {
	font-size: 2.5rem;
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	max-width: none;
	max-width: initial;
	text-align: center;
}

.p-contact__top-text {
	font-size: 1rem;
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	max-width: none;
	max-width: initial;
	text-align: center;
}

.p-contact__container {
	max-width: none;
	max-width: initial;
	padding-bottom: 5rem;
	width: 100%;
}

.p-contact__content--large {
	align-items: flex-start;
}

.p-contact__content--large .p-contact__head {
	position: relative;
}

.p-contact__head {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.p-contact__btn-wrap {
	flex-direction: row;
	gap: 2.5rem;
	position: relative;
}

.p-contact__btn input[type=submit],
.p-contact__btn input[type=button] {
	min-width: 21.875rem;
}

.p-contact__btn--confirm input[type=submit],
.p-contact__btn--confirm input[type=button] {
	min-width: 12.5rem;
}

.p-contact__btn--return {
	left: 0;
	position: absolute;
}

.p-contact__send-message {
	font-size: 2.625rem;
}

.p-contact__description {
	font-size: 1.125rem;
}

.p-cta {
	padding: 1.75rem 0 4rem 0;
}

.p-cta__title {
	font-size: 1.5rem;
	text-align: left;
}

.p-cta__container {
	flex-direction: row-reverse;
	gap: 2%;
	left: 3.125rem;
	position: relative;
	top: 0.6875rem;
}

.p-cta__btn-wrap {
	flex-direction: row;
	gap: 1.5625rem;
	margin-top: 2.1875rem;
}

.p-cta__btn {
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
}

.p-cta__btn + .p-cta__btn {
	margin-left: 1.25rem;
	margin-top: 0;
}

.p-cta__logo {
	margin-top: 3rem;
	width: 40%;
}

.p-cta__logo::before {
	bottom: -6.5625rem;
	height: 12.5rem;
	left: -6.5625rem;
	width: 6.25rem;
}

.p-cta__logo-top {
	font-size: 0.875rem;
}

.p-cta__logo-middle {
	font-size: 1.5rem;
}

.p-footer__drawer-items {
	display: flex;
	flex-direction: row;
	justify-content: center;
}

.p-footer__nav-wrap {
	border-bottom: 1px solid #000;
	border-top: 1px solid #000;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.p-footer__drawer-nav {
	margin-top: 0rem;
	padding-left: 0;
}

.p-footer__drawer-item {
	border-bottom: none;
}

.p-footer__drawer-item:first-of-type {
	border-top: none;
}

.p-footer__drawer-item a {
	font-size: 1rem;
	font-weight: 700;
	padding: 1.625rem 0.625rem;
}

.p-footer__conteinar {
	margin-top: 6.25rem;
}

.p-footer__img {
	max-width: 25rem;
}

.p-footer__name {
	margin-top: 1.875rem;
}

.p-footer__name-l {
	font-size: 1.875rem;
}

.p-footer__name-m {
	font-size: 1.125rem;
}

.p-footer__info-text {
	margin-top: 1.25rem;
}

.p-header {
	box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.1019607843);
	height: 4.375rem;
}

.p-header__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1440px;
}

.p-header__logo-text-top {
	font-size: 0.75rem;
}

.p-header__logo-text-bottom {
	font-size: 1.5rem;
}

.p-header__logo-text-bottom-right {
	font-size: 1rem;
}

.p-header__hamburger {
	width: 4.375rem;
}

.p-header__drawer {
	top: 4.375rem;
}

.p-lanchester {
	padding-bottom: 6.25rem;
	padding-top: 5.625rem;
}

.p-lanchester__container {
	flex-direction: row;
}

.p-lanchester__wrap {
	margin-top: 1.875rem;
	width: 58%;
}

.p-lanchester__title {
	font-size: 2.8125rem;
	line-height: 1.6;
}

.p-lanchester__title-sub {
	font-size: 1.9375rem;
	line-height: 1.6;
}

.p-lanchester__title-sub--top {
	margin-top: 2.625rem;
}

.p-lanchester__text {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.6666666667;
}

.p-lanchester__text--top {
	margin-top: 1.5625rem;
}

.p-lanchester__text--check {
	margin-top: 2.625rem;
}

.p-lanchester__img-wrap {
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	right: -2.375rem;
	top: 2.1875rem;
	width: 42%;
}

.p-lanchester__wrap-check {
	margin-top: 5.375rem;
}

.p-lanchester__box-wrap {
	gap: 1.625rem 23.3333333333px;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 1.875rem;
}

.p-lanchester__box {
	padding: 1.65625rem 0;
}

.p-lanchester__program-container {
	margin-top: 12.5rem;
}

.p-lanchester__title-sub--program::after {
	right: 0;
	top: 0rem;
}

.p-lanchester__program-list {
	margin-top: 2.75rem;
}

.p-lanchester__program-item {
	align-items: stretch;
	flex-direction: row;
}

.p-lanchester__program-item + .p-lanchester__program-item {
	margin-top: 1.375rem;
}

.p-lanchester__program-img {
	aspect-ratio: initial;
	aspect-ratio: 341/310;
	max-width: 21.3125rem;
	min-height: 19.375rem;
}

.p-lanchester__program-text-warp {
	padding: 3rem 4.125rem 1.375rem 4.125rem;
}

.p-lanchester__program-title {
	font-size: 1.5rem;
	padding-left: 0.3125rem;
}

.p-lanchester__program-text {
	font-size: 1.125rem;
	font-weight: 700;
	margin-top: 1.5rem;
}

.p-lanchester__program-description {
	font-size: 0.875rem;
	font-weight: 700;
}

.p-lanchester__program-description span {
	display: inline;
}

.p-modal__inner {
	padding: 3.75rem;
}

.p-modal__contents {
	margin-top: 3.125rem;
}

.p-modal__contents + .p-modal__contents {
	margin-top: 2.5rem;
}

.p-mv {
	background: linear-gradient(180deg, transparent 0%, transparent 82%, #e8e8e8 82%, #e8e8e8 100%);
	padding-bottom: 0rem;
}

.p-mv__container {
	flex-direction: row;
	gap: 1%;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 1500px;
	padding-left: 2.5rem;
}

.p-mv__text-wrap {
	margin-top: 4.0625rem;
	padding-left: 0;
	width: 33.6805555556%;
}

.p-mv__title {
	font-size: clamp(3.125rem, -0.065rem + 4.516vw, 4rem);
	line-height: 1.453125;
}

.p-mv__text {
	font-size: clamp(1.313rem, 0.629rem + 0.968vw, 1.5rem);
	line-height: 1.6666666667;
	margin-top: 2.5625rem;
}

.p-mv__img {
	left: auto;
	left: initial;
	margin-top: 0rem;
	padding-top: 1.5rem;
	width: 51%;
}

.p-point {
	padding-bottom: 6.25rem;
}

.p-point__container {
	flex-direction: row;
	margin-top: 10.625rem;
}

.p-point__title {
	flex-shrink: 0;
	font-size: 2.8125rem;
	line-height: 1.6444444444;
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	padding-left: 30px;
}

.p-point__illust {
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	max-width: none;
	max-width: initial;
	right: -2.5rem;
	top: -5.25rem;
	width: 40%;
}

.p-point__items {
	margin-top: -2rem;
}

.p-point__item {
	flex-direction: row;
	gap: 3.4375rem;
	min-height: 12.5rem;
}

.p-point__item + .p-point__item {
	margin-top: 5rem;
}

.p-point__number {
	font-size: 1.5rem;
	margin-left: 3.25rem;
	min-width: 11.125rem;
}

.p-point__number::before {
	left: 16%;
	width: 8.3125rem;
}

.p-point__text-wrap {
	margin-top: -2.125rem;
	padding-left: 0;
}

.p-point__item-title {
	font-size: 2.25rem;
	line-height: 1.6;
}

.p-point__item-text {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4583333333;
	margin-top: 1.625rem;
}

.p-problem {
	padding: 4.5rem 0 3.4375rem 0;
}

.p-problem__title {
	font-size: 2.8125rem;
}

.p-problem__title::after {
	display: none;
}

.p-problem__list {
	display: block;
	left: -4.625rem;
	margin-left: auto;
	margin-top: 3.6875rem;
	position: relative;
}

.p-problem__list::after {
	background: url(../images/common/img_illust01.png) no-repeat center center/contain;
	content: "";
	display: block;
	height: 24.9375rem;
	left: min(10vw, -22.8125rem);
	position: absolute;
	top: 0rem;
	width: 21rem;
}

.p-problem__item {
	font-size: 1.5rem;
	line-height: 2.4583333333;
}

.p-problem__item + .p-problem__item {
	margin-top: 0rem;
}

.p-profile {
	margin-top: 3.5rem;
	padding-top: 1.875rem;
}

.p-profile__inner {
	max-width: 1100px;
}

.p-profile__title {
	font-size: 2.5rem;
}

.p-profile__contaienr-profile {
	flex-direction: row;
	gap: 3.0625rem;
	margin-top: 3.5625rem;
}

.p-profile__img {
	flex-grow: 1;
	max-width: 28.375rem;
}

.p-profile__text-wrap {
	margin-top: 0.75rem;
	width: 100%;
}

.p-profile__name-l {
	font-size: 1.5rem;
	line-height: 1.6;
}

.p-profile__name-s {
	font-size: 1rem;
	line-height: 1.6;
	/*margin-top: 1.875rem;*/
}

.p-profile__name {
	font-size: 2.0625rem;
	letter-spacing: 0.2em;
	line-height: 1.6;
}

.p-profile__text {
	font-size: 14px;
	font-weight: 700;
	/*margin-top: 2.9375rem;*/
}

.p-profile__text span {
	/*font-size: 1rem;*/
	/*margin-bottom: 1.125rem;*/
	margin-left: -0.5em;
}

.p-profile__container-table {
	margin-top: 3.125rem;
}

.p-profile__title-table {
	font-size: 1.9375rem;
	margin-top: 6.0625rem;
}

.p-profile__table-wrap {
	margin-top: 3.125rem;
}

.p-profile__map {
	aspect-ratio: 1050/362;
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	margin-top: 1.25rem;
}

.p-solution {
	padding-bottom: 0rem;
}

.p-solution::before {
	top: 3.5%;
}

.p-solution__title {
	font-size: 2.25rem;
	line-height: 1.6944444444;
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	padding-top: 14.375rem;
}

.p-solution__container {
	flex-direction: row;
	gap: 2.5rem;
	left: 4%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.875rem;
	max-width: 69.375rem;
	padding: 0 25px;
	position: relative;
}

.p-solution__img {
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	margin-top: 0rem;
}

.p-solution__text-wrap {
	margin-left: 0;
	margin-left: initial;
	margin-right: 0;
	margin-right: initial;
	margin-top: 1.875rem;
	max-width: none;
	max-width: initial;
}

.p-solution__text {
	font-size: 1.3125rem;
	font-weight: 700;
	line-height: 1.619047619;
}

.p-solution__text + .p-solution__text {
	margin-top: 2.25rem;
}

.p-solution__img-box-wrap {
	background-color: #e8e8e8;
}

.p-solution__img-box {
	margin-left: auto;
	margin-right: auto;
	margin-top: 8.125rem;
	max-width: 1440px;
}

.u-mobile {
	display: none;
}

.u-mobile--inline-block {
	display: none;
}

.u-desktop {
	display: block;
}

.u-desktop--inline-block {
	display: inline-block;
}

.sp-br{
	display: none; /* PC改行しない */
}

}

@media (min-width: 1130px) {

html {
	font-size: 16px;
}

}

@media screen and (min-width: 1200px) {

.p-header__nav {
	display: block;
}

.p-header__hamburger {
	display: none;
}

.p-point__illust {
	right: -4.5rem;
}

}

@media screen and (min-width: 1250px) {

.p-cta__logo::before {
	bottom: -6.5625rem;
	height: 15.6875rem;
	left: -10.4375rem;
	width: 8.875rem;
}

}

@media screen and (min-width: 1441px) {

.u-mobile--xl {
	display: none;
}

.u-desktop--xl {
	display: block;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes progress-bar-stripes {

from {
	background-position: 1rem 0;
}

to {
	background-position: 0 0;
}

}


/*# sourceMappingURL=style.css.map */
