:root {
	--font-family-base: Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;
	--font-weight-base: 400;
	--lineheight-base: 1.5;
	--font-size-base: 1.6rem;
	--color-primary: #003b94;
	--color-secondary: #cca57e;
	--color-text: #333;
	--color-danger: red;
	--input-border-color: #e6e6e6;
	--input-border-width: 0.1rem;
	--input-font-size: 14px;
	--input-font-weight: 400;
	--input-background: #fff;
}

* {
	box-sizing: border-box;
}

html {
	font-size: 10px;
	overflow-x: hidden;
}

html.noscroll {
	left: 0;
	overflow-x: hidden;
	overflow-y: scroll;
	position: fixed;
	right: 0;
	width: 100%;
}

body {
	background-color: #fff;
	color: var(--color-text);
	font-family: var(--font-family-base);
	font-size: 1.4rem;
	font-weight: var(--font-weight-base);
	line-height: var(--lineheight-base);
	margin: 0;
	overflow-x: hidden;
	position: relative;
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
}

dl,
ol,
ul {
	list-style-type: none;
	margin: 0;
	padding-left: 0;
}

b,
strong {
	font-weight: 700;
}

a {
	background-color: transparent;
	color: inherit;
	text-decoration: none;
}

figure {
	margin: 0;
	padding: 0;
}

img {
	border-style: none;
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
}

th {
	font-weight: 400;
	text-align: inherit;
	text-align: -webkit-match-parent;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

select {
	word-wrap: normal;
}

[type=button],
[type=reset],
[type=submit],
button {
	-webkit-appearance: button;
}

textarea {
	overflow: auto;
	resize: vertical;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

[type=search] {
	-webkit-appearance: none;
	outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

[hidden] {
	display: none!important;
}

.inner {
	margin-inline: auto;
	max-width: 103rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	width: 100%;
}

.btn {
	background-color: transparent;
	border: 1px solid transparent;
	color: #1e1e1e;
	display: inline-block;
	font-family: Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;
	font-weight: 400;
	text-align: center;
	text-decoration: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	vertical-align: middle;
}

.btn.focus,
.btn:focus {
	outline: 0;
}

.btn.disabled,
.btn:disabled {
	opacity: .6;
}

.btn:not(:disabled):not(.disabled) {
	cursor: pointer;
}

.p-header {
	height: 6rem;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

.p-header__inner {
	display: flex;
	height: 100%;
	justify-content: space-between;
}

.p-header__logo {
	background-color: var(--color-primary);
	padding: 0 1.5rem;
	transition: opacity .2s;
	width: 15rem;
}

.p-header__logo .logo {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.p-header__logo .logo img {
	display: block;
}

.p-header__box {
	position: relative;
}

.p-header__nav {
	background-color: var(--color-secondary);
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99;
}

.p-main-menu {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.p-main-menu li {
	align-items: center;
	display: flex;
	height: auto;
	margin-right: 0;
}

.p-main-menu a {
	color: var(--color-text);
	font-size: 1.5rem;
	font-weight: 700;
	padding: 2rem;
	position: relative;
}

.p-main-menu a:after {
	background-color: var(--color-secondary);
	bottom: 0;
	content: "";
	height: .2rem;
	left: 0;
	position: absolute;
	transition: width .5s ease;
	width: 0;
}

.hamburger {
	display: block;
	height: 6rem;
	position: fixed;
	right: 0;
	top: 0;
	width: 6rem;
	z-index: 101;
}

.hamburger span {
	background-color: var(--color-secondary);
	display: block;
	height: 2px;
	position: absolute;
	right: 1.5rem;
	transition: transform .2s,background-color .2s;
	width: 4.5rem;
}

.hamburger span:first-child {
	top: 2rem;
}

.hamburger span:nth-child(2) {
	top: 3rem;
}

.hamburger span:nth-child(3) {
	top: 4rem;
}

.hamburger.active span {
	background-color: var(--color-text);
}

.hamburger.active span:first-child {
	top: 3rem;
	transform: rotate(30deg);
}

.hamburger.active span:nth-child(2) {
	opacity: 0;
}

.hamburger.active span:nth-child(3) {
	top: 3rem;
	transform: rotate(-30deg);
}

.footer {
	background-color: var(--color-primary);
	padding: 5rem 0;
}

.footer__row {
	display: flex;
}

.footer__box:not(:last-child) {
	border-bottom: 1px solid #fff;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
}

.footer__logo {
	margin: 0 0 2rem;
	padding: 0;
}

.footer__logo img {
	display: inline-block;
	filter: brightness(0) invert(1);
	width: 15rem;
}

.footer__txt {
	color: #fff;
	font-size: 1.5rem;
}

.footer__txt.--row {
	display: flex;
	gap: 1rem;
}

.footer__txt-item {
	flex-shrink: 0;
}

.social {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(4,auto);
	margin-bottom: 3rem;
	width: -moz-fit-content;
	width: fit-content;
}

.social li {
	width: 5rem;
}

.social a {
	display: block;
	transition: all .25s ease-in-out;
}

.social a:hover {
	opacity: .75;
}

.social img {
	display: block;
}

.brands {
	display: flex;
	gap: 2rem;
	max-width: 39.5rem;
}

.brands li:first-child {
	width: 40%;
}

.brands li:last-child {
	flex: 1;
}

.brands a {
	align-items: center;
	background-color: #fff;
	display: flex;
	height: 100%;
	padding: 1.5rem;
}

.brands img {
	display: block;
	height: 5rem;
	width: 100%;
}

.form-control {
	background-clip: padding-box;
	border: var(--input-border-width) solid var(--input-border-color);
	display: block;
	width: 100%;
}

.form-control::-ms-expand {
	background-color: transparent;
	border: 0;
}

.form-control:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #000;
}

.form-control::-moz-placeholder {
	color: #b3b3b3;
	opacity: 1;
}

.form-control::placeholder {
	color: #b3b3b3;
	opacity: 1;
}

.form-control:disabled,
.form-control[readonly] {
	background-color: #1e1e1e;
	opacity: 1;
}

input[type=date].form-control,
input[type=datetime-local].form-control,
input[type=month].form-control,
input[type=time].form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.p-keyv {
	align-items: center;
	background: url(../img/keyv_bg_sp.jpg) no-repeat 50% 50%;
	background-size: cover;
	display: flex;
	min-height: 100svh;
	padding-block: 17rem;
	position: relative;
}

.p-keyv__title {
	display: flex;
	flex-direction: column;
}

.p-keyv__title span {
	color: #fff;
	display: inline-block;
	font-family: Shippori Antique B1,sans-serif;
	font-size: clamp(2.9rem,5vw,5rem);
	font-weight: 400;
	letter-spacing: .73rem;
	line-height: 1.4;
	margin-bottom: 2rem;
}

.p-keyv__title img {
	display: inline-block;
	width: 10rem;
}

.p-keyv__wrap-btn {
	bottom: 2rem;
	display: flex;
	justify-content: flex-end;
	left: 50%;
	margin-inline: auto;
	max-width: 133rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	position: fixed;
	transform: translateX(-50%);
	transition: opacity .5s,transform .5s;
	width: 100%;
	z-index: 99;
}

.p-keyv__wrap-btn.hide {
	opacity: 0;
	pointer-events: none;
}

.p-keyv__btn {
	align-items: center;
	background-color: var(--color-secondary);
	border-bottom-right-radius: 1.4rem;
	border-top-left-radius: 1.4rem;
	display: inline-flex;
	padding: .8rem;
	transition: background-color .2s;
}

.p-keyv__btn-icon {
	align-items: center;
	background-color: #fff;
	border-bottom-right-radius: 1rem;
	border-top-left-radius: 1rem;
	display: flex;
	height: 3rem;
	justify-content: center;
	padding: .5rem;
	width: 3.2rem;
}

.p-keyv__btn-icon img {
	height: 1.6rem;
	width: 2rem;
}

.p-keyv__btn-txt {
	color: var(--color-text);
	font-size: 1.1rem;
	font-weight: 700;
	margin-left: .5rem;
}

.table {
	width: 100%;
}

.sec-ttl {
	color: var(--color-primary);
	font-family: Montserrat,sans-serif;
	font-size: clamp(2.5rem,3vw,3.9rem);
	font-weight: 600;
	letter-spacing: .05em;
	text-align: center;
}

.sec-des {
	color: var(--color-secondary);
	line-height: 1.75;
	margin-block: .7rem 3.5rem;
	text-align: center;
}

.nospace:after,
.nospace:before {
	block-size: 1px;
	content: "";
	display: block;
	inline-size: 0;
}

.nospace:before {
	margin-block-end: calc((1 - var(--lh, var(--lineheight-base)))*.5em);
}

.nospace:after {
	margin-block-start: calc((1 - var(--lh, var(--lineheight-base)))*.5em);
}

.font-en {
	font-family: Montserrat,sans-serif;
}

main {
	margin-top: var(--headH);
}

.sec-solution {
	background-color: #f2f2f2;
	padding-block: 6rem;
}

.sec-solution__item {
	position: relative;
}

.sec-solution__ttl {
	font-family: Shippori Antique B1,sans-serif;
	font-size: 3rem;
	letter-spacing: .05em;
	margin-bottom: 1rem;
	text-align: center;
}

.sec-solution__txt {
	line-height: 1.75;
}

.p-contact {
	margin-block: 6rem 4rem;
}

.p-contact__form {
	margin-top: 4rem;
}

.p-contact__input,
.p-contact__radio {
	position: relative;
	z-index: 1;
}

.p-contact__input:after,
.p-contact__radio:after {
	background-color: #fff;
	border-radius: .5rem;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.p-contact .error {
	background-color: var(--color-secondary);
	border-radius: .5rem;
	bottom: calc(100% - 1rem);
	color: #fff;
	display: inline-block;
	font-size: 1.2rem;
	left: 0;
	padding: .4rem 1.6rem 1.4rem;
	position: absolute;
	z-index: -2;
}

.p-contact__row {
	margin-bottom: 2.5rem;
}

.p-contact__label {
	font-weight: 600;
}

.p-contact__label-item.required:after {
	color: var(--color-danger);
	content: "※";
	font-size: .5em;
	font-weight: 700;
	margin-left: .3rem;
	position: relative;
	top: .2rem;
	vertical-align: top;
}

.p-contact__label .txt-danger {
	color: var(--color-danger);
	display: block;
	font-size: .9rem;
}

.p-contact__input input,
.p-contact__input textarea {
	background: #f5f5f5;
	border-color: #ddd;
	border-radius: .4rem;
	font-size: 14px;
	font-weight: 500;
	padding: 1.2rem 1.4rem;
}

.p-contact__input input:focus,
.p-contact__input textarea:focus {
	background: #fff;
	border-color: #003a8f;
	outline: none;
}

.p-contact__input textarea {
	min-height: 20rem;
}

.p-contact__radio {
	-moz-column-gap: 2.7rem;
	column-gap: 2.7rem;
	display: flex;
	flex-flow: wrap;
}

.p-contact__radio-item {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: .6rem;
	position: relative;
	transition: border-color .2s,background .2s;
}

.p-contact__radio-item.is-disabled {
	opacity: .6;
	pointer-events: none;
}

.p-contact__radio-item span {
	font-size: 1.5rem;
	font-weight: 700;
	white-space: nowrap;
}

.p-contact__radio-item input {
	opacity: 0;
	pointer-events: none;
	position: absolute;
}

.p-contact__radio-item:after,
.p-contact__radio-item:before {
	content: "";
}

.p-contact__radio-item:before {
	background: #f2f2f2;
	border: 1px solid #bdbdbd;
	border-radius: .6rem;
	flex-shrink: 0;
	height: 2rem;
	width: 2rem;
}

.p-contact__radio-item:after {
	aspect-ratio: 1/.4;
	border-width: 1px;
	border-bottom: .2rem solid var(--color-primary);
	border-left: .2rem solid var(--color-primary);
	border-right: 0 solid var(--color-primary);
	border-top: 0 solid var(--color-primary);
	bottom: 1rem;
	left: .6rem;
	opacity: 0;
	position: absolute;
	transform: rotate(-45deg);
	width: 1rem;
}

.p-contact__radio-item:has(input:checked):after {
	opacity: 1;
}

.p-contact__privacy {
	flex: 1 1;
}

.p-contact__privacy-box {
	background: #f2f2f2;
	border: 1px solid #ddd;
	border-radius: .6rem;
	line-height: 1.75;
	margin-bottom: 2.2rem;
	max-height: 20rem;
	overflow-y: auto;
	padding: 1.4rem;
}

.p-contact__btn {
	background: var(--color-primary);
	border: none;
	border-radius: .6rem;
	color: #fff;
	cursor: pointer;
	display: block;
	font-weight: 700;
	margin: 0 auto;
	padding: 1.4rem;
	text-align: center;
	transition: all .25s ease-in-out;
	width: 100%;
}

.p-contact__btn:hover {
	opacity: .85;
}

.p-contact__complete {
	display: none;
	margin-top: 1rem;
	text-align: center;
}

.p-contact__complete.is-active {
	display: block;
}

.sec-intro {
	position: relative;
}

.sec-intro__bg img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}

.sec-intro__body {
	font-family: Shippori Antique B1,sans-serif;
	padding-top: 5rem;
}

.sec-intro__txt {
	line-height: 1.75;
	margin-bottom: 2.5rem;
}

.sec-intro__positon {
	text-align: right;
}

.sec-intro__name {
	font-size: 2.4rem;
	text-align: right;
}

.sec-about {
	padding-top: 5rem;
}

.sec-about__inner {
	margin-inline: auto;
	max-width: 111rem;
	padding-inline: 1.5rem;
	width: 100%;
}

.sec-about__content {
	margin-bottom: 5rem;
}

.sec-about__headline-sub {
	display: flex;
	justify-content: center;
	margin: 0 auto 2rem;
	width: 7.3rem;
}

.sec-about__headline-sub img {
	display: block;
}

.sec-about__title {
	font-family: Shippori Antique B1,sans-serif;
	font-size: clamp(2.5rem,3vw,4rem);
	letter-spacing: .2rem;
	line-height: 1.3;
	margin-bottom: 2rem;
	text-align: center;
}

.sec-about__txt {
	letter-spacing: .17rem;
	text-align: justify;
}

.sec-about__note {
	background-color: var(--color-secondary);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	margin-bottom: 5rem;
	overflow: hidden;
	transition: background-color .2s;
}

.sec-about__note-img {
	width: 100%;
}

.sec-about__note-img img {
	display: block;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}

.sec-about__note-box {
	display: flex;
	flex-direction: column;
	padding: 2rem;
}

.sec-about__note-content {
	display: flex;
	flex-direction: column;
}

.sec-about__note-txt {
	line-height: 1.8;
	margin-bottom: 1rem;
}

.sec-about__note-txt-2 {
	font-weight: 700;
	letter-spacing: 2px;
}

.sec-about__note-txt-en {
	font-family: Montserrat,sans-serif;
	margin-right: .5rem;
}

.sec-about__note-ttl {
	margin-bottom: 1rem;
	margin-right: 0;
	width: 10rem;
}

.sec-about .icon-comment {
	height: 1.5rem;
	margin-left: .5rem;
	width: 2.2rem;
}

.sec-about__banner {
	aspect-ratio: 144/96;
	margin: 0;
	padding: 0;
	width: 100%;
}

.sec-about__banner img {
	display: block;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}

.p-banner-solution {
	animation: scrollBackground 60s linear infinite;
	background: var(--color-primary) url(../img/text_solution.svg) repeat-x 50% 50%;
	background-size: auto 5rem;
	padding: 5rem 0;
}

.p-banner-solution__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.p-banner-solution__title {
	color: var(--color-secondary);
	font-family: Shippori Antique B1,sans-serif;
	line-height: 1;
	margin-bottom: 2rem;
	text-align: center;
	text-shadow: 5px 5px 8px #003b94;
}

.p-banner-solution__title-1 {
	font-size: clamp(3rem,6vw,8rem);
}

.p-banner-solution__title-2 {
	font-size: clamp(2.5rem,5vw,6rem);
}

.p-banner-solution__txt {
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 1.1px;
	line-height: 1.8;
	max-width: 65rem;
	width: 100%;
}

.sec-strength {
	padding: 5rem 0;
}

.sec-strength .sec-ttl {
	align-items: baseline;
	display: flex;
	justify-content: center;
	margin-bottom: 2rem;
}

.sec-strength .sec-ttl img {
	margin-right: .2rem;
	position: relative;
	width: clamp(2.4rem,3vw,3.7rem);
}

.strength-list__item {
	background-color: #f2f2f2;
	border-radius: 2rem;
	display: flex;
	padding: 2rem;
}

.strength-list__item:not(:last-child) {
	margin-bottom: 1.5rem;
}

.strength-list__img {
	align-items: center;
	aspect-ratio: 1/1;
	background-color: var(--color-primary);
	border-radius: 1rem;
	display: none;
	justify-content: center;
	padding: 1rem;
	width: 10rem;
}

.strength-list__img img {
	background-size: contain;
	display: block;
	height: 9rem;
	width: 100%;
}

.strength-list__content {
	align-items: baseline;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-left: 0;
	width: 100%;
}

.strength-list__ttl-box {
	display: flex;
	margin-bottom: .5rem;
}

.strength-list__ttl {
	font-family: Shippori Antique B1,sans-serif;
	font-size: clamp(2.5rem,3vw,4rem);
	letter-spacing: .2rem;
	line-height: 1.4;
	position: relative;
	top: -.3rem;
}

.strength-list__ttl span {
	font-size: clamp(1.8rem,2.5vw,3rem);
}

.strength-list__ttl-num {
	align-items: center;
	aspect-ratio: 1/1;
	background-color: var(--color-primary);
	border-radius: .5rem;
	display: inline-flex;
	height: 3rem;
	justify-content: center;
	margin-right: 1rem;
	padding: .6rem;
	width: 3rem;
}

.strength-list .link {
	display: inline-block;
	font-size: 1.2rem;
	margin-left: auto;
	margin-right: 0;
	margin-top: 1.5rem;
	position: relative;
}

.strength-list .link:after {
	background: url(../img/icon_comment.svg) no-repeat 50% 50%;
	background-size: auto;
	content: "";
	display: inline-block;
	height: 1.2rem;
	margin-left: .3rem;
	position: relative;
	top: .2rem;
	width: 1.8rem;
}

@media (min-width:768px) {

:root {
	--font-size-base: 1.6rem;
}

body {
	font-size: 1.6rem;
}

.p-header {
	height: 10.8rem;
}

.p-header__logo {
	width: 24rem;
}

.p-header__logo:hover {
	opacity: .9;
}

.p-header__logo .logo img {
	width: 15rem;
}

.p-header__nav {
	background-color: transparent;
	display: block;
	position: static;
}

.p-main-menu {
	flex-direction: row;
	position: static;
}

.p-main-menu li {
	height: 100%;
	margin-right: clamp(1rem,3vw,5rem);
}

.p-main-menu a {
	color: var(--color-secondary);
	font-size: 1.6rem;
	font-size: clamp(1.2rem,1.4vw,1.6rem);
	padding: 0 0 1rem;
}

.p-main-menu a:hover:after {
	width: 100%;
}

.hamburger {
	display: none;
}

.footer {
	padding: 7rem 0;
}

.footer__row {
	gap: 4rem;
	justify-content: space-between;
}

.footer__col:first-child {
	max-width: 54.5rem;
}

.footer__col:last-child {
	max-width: 34rem;
	padding-top: 3rem;
}

.footer__box:not(:last-child) {
	margin-bottom: 2rem;
	padding-bottom: 2rem;
}

.footer__logo {
	margin-bottom: 2rem;
}

.footer__logo img {
	width: 15rem;
}

.footer__txt {
	font-size: 2rem;
}

.footer__txt {
	font-size: 1.6rem;
}

.social {
	gap: 3rem;
	margin-bottom: 4rem;
}

.social li {
	width: 6rem;
}

.brands {
	gap: 2.5rem;
}

.brands li:first-child {
	width: 13.3rem;
}

.brands li:last-child {
	max-width: 18.7rem;
}

.brands a {
	padding: 1.8rem;
	transition: all .25s ease-in-out;
}

.brands a:hover {
	opacity: .75;
}

.p-keyv {
	background-image: url(../img/keyv_bg.jpg);
}

.p-keyv__title span {
	margin-bottom: 3rem;
}

.p-keyv__title img {
	width: 15rem;
}

.p-keyv__wrap-btn {
	bottom: 5rem;
}

.p-keyv__btn {
	border-bottom-right-radius: 2rem;
	border-top-left-radius: 2rem;
	padding: 1.2rem;
}

.p-keyv__btn:hover {
	background-color: #b08d6a;
}

.p-keyv__btn-icon {
	border-bottom-right-radius: 1.4rem;
	border-top-left-radius: 1.4rem;
	height: 4rem;
	padding: .8rem;
	width: 4.5rem;
}

.p-keyv__btn-icon img {
	height: 2.2rem;
	width: 2.5rem;
}

.p-keyv__btn-txt {
	font-size: 1.5rem;
	margin-left: .8rem;
}

.sec-des {
	margin-block: 1rem 5rem;
}

.sp {
	display: none;
}

.sec-solution {
	padding-block: 8.5rem 9.5rem;
}

.sec-solution__row {
	display: flex;
	gap: 9.8rem;
	margin-top: 4.5rem;
}

.sec-solution__item {
	flex: 1 1;
}

.sec-solution__item:first-child:after {
	background-color: #1a1a1a;
	bottom: 0;
	content: "";
	position: absolute;
	right: -4.9rem;
	top: 0;
	width: 1px;
}

.sec-solution__ttl {
	font-size: 4rem;
	margin-bottom: 1rem;
}

.p-contact {
	margin-block: 9rem 5rem;
}

.p-contact__form {
	margin-inline: auto;
	margin-top: 5rem;
	max-width: 67rem;
}

.p-contact__row {
	align-items: center;
	display: flex;
	margin-bottom: 3.4rem;
}

.p-contact__row.--star {
	align-items: flex-start;
}

.p-contact__row.--star .p-contact__label {
	margin-top: 1rem;
}

.p-contact__label {
	width: 19rem;
}

.p-contact__input,
.p-contact__txt {
	flex: 1 1;
}

.p-contact__radio-item span {
	font-size: 1.8rem;
}

.p-contact__radio-item:before {
	height: 2.5rem;
	width: 2.5rem;
}

.p-contact__radio-item:after {
	bottom: 1.1rem;
	left: .6rem;
	width: 1.4rem;
}

.p-contact__btn {
	transform: translateX(-20px);
	width: 30rem;
}

.sec-intro__bg {
	height: 49rem;
}

.sec-intro .inner {
	align-items: center;
	display: flex;
	height: 100%;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	z-index: 2;
}

.sec-intro__body {
	max-width: 54.5rem;
	padding-top: 2rem;
}

.sec-intro__name {
	font-size: 2.7rem;
}

.sec-about {
	padding-top: 5rem;
}

.sec-about__content {
	margin-bottom: 9rem;
}

.sec-about__headline-sub {
	margin: 0 auto 4rem;
	width: 10.3rem;
}

.sec-about__title {
	letter-spacing: .4rem;
	margin-bottom: 3rem;
}

.sec-about__txt {
	text-align: left;
}

.sec-about__note {
	border-radius: 40px;
	flex-direction: row;
	margin-bottom: 9rem;
}

.sec-about__note:hover {
	background-color: #b08d6a;
}

.sec-about__note-img {
	width: 33rem;
}

.sec-about__note-box {
	align-items: center;
	flex-direction: row;
	padding: 2.5rem 3rem;
	width: calc(100% - 33rem);
}

.sec-about__note-ttl {
	margin-bottom: 0;
	margin-right: 3rem;
	width: 15rem;
}

.sec-about .icon-comment {
	height: 1.5rem;
	width: 2.2rem;
}

.sec-about__banner {
	aspect-ratio: 144/24;
}

.p-banner-solution {
	animation-duration: 30s;
	background-size: auto 13rem;
	padding: 9.5rem 0;
}

.p-banner-solution__title {
	margin-bottom: 3rem;
}

.p-banner-solution__txt {
	font-size: 1.6rem;
}

.sec-strength {
	padding: 9rem 0;
}

.sec-strength .sec-ttl {
	margin-bottom: 4rem;
}

.sec-strength .sec-ttl img {
	margin-right: .3rem;
	top: .2rem;
}

.strength-list__item {
	align-items: center;
	border-radius: 4rem;
	padding: 2.7rem;
}

.strength-list__item:not(:last-child) {
	margin-bottom: 2.3rem;
}

.strength-list__img {
	border-radius: 4rem;
	display: flex;
	padding: 1rem;
	width: 16rem;
}

.strength-list__img img {
	width: 16rem;
}

.strength-list__content {
	padding-left: 4rem;
	padding-block: 2rem;
	width: calc(100% - 16rem);
}

.strength-list__ttl-box {
	margin-bottom: 1rem;
}

.strength-list__ttl {
	letter-spacing: .3rem;
	line-height: 1.5;
	position: static;
}

.strength-list__ttl-num,
.strength-list__ttl-num img {
	display: none;
}

.strength-list .link {
	font-size: 1.6rem;
	margin-top: 2rem;
}

.strength-list .link:hover {
	text-decoration: underline;
}

.strength-list .link:after {
	height: 1.6rem;
	top: .3rem;
	width: 2.2rem;
}

}

@media (max-width:767px) {

.footer__row {
	flex-direction: column;
}

.footer__col:first-child {
	margin-bottom: 4rem;
}

.pc {
	display: none;
}

.sec-solution__item:first-child {
	border-bottom: 1px solid #1a1a1a;
	margin-bottom: 3rem;
	padding-bottom: 3rem;
}

.p-contact__label {
	margin-bottom: 1rem;
}

.p-contact__input {
	width: 100%;
}

.sec-intro {
	background: linear-gradient(180deg,#a1a7a3,#c8c9c4);
	display: flex;
	flex-direction: column-reverse;
	gap: 1rem;
}

.sec-intro__bg img {
	-o-object-position: bottom;
	object-position: bottom;
}

}

@keyframes scrollBackground {

0% {
	background-position: 0 50%;
}

to {
	background-position: -200rem 50%;
}

}

