/*================================================================
Chrome/Firefox/Edgeなど、各ブラウザはそれぞれデフォルトで効くCSSを持っています。
何もしないと見え方が微妙に変わるので、デフォルトのCSSをリセットして
ブラウザごとの表示の差異をなくすために書くのが「リセットCSS」です。
================================================================*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

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

ol,
ul {
	list-style: none;
}

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

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

button {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
	font: inherit;
	cursor: pointer;
}

input,
select,
textarea {
	color: inherit;
	font: inherit;
	vertical-align: top;
}

body {
	margin: 0;
	overflow-y: scroll;
}

body.scrollLock {
	position: fixed;
	left: 0;
	width: 100%;
}

/* ============================================
  メディアクエリー
============================================ */

/* ============================================
  z-index
============================================ */

body {
	color: rgb(51, 51, 51);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.7;
	font-family: "Noto Sans JP", sans-serif;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

* {
	min-height: 0vw;
}

.l-wrapper {
	display: flex;
}

.l-main {
	width: 100%;
	margin-top: 75px;
}

.l-drawer-bg {
	z-index: 19; /* ドロワー本体より下、ヘッダーより上など調整 */
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin-top: 74px;
	background: rgba(0, 0, 0, 0.6); /* 透明度は好みで */
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}

.l-drawer-bg.is-active {
	opacity: 1;
}

.p-text {
	font-size: clamp(20px, 5vw, 80px);
}

.swiper {
	width: 100%;
	height: 300px;
}

.p-header {
	z-index: 40;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 10px 20px;
	background: #007a88;
}

.p-header__container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.p-header__logo {
	color: #fff;
	transition: color 0.4s;
}

.p-header__logo a {
	font-size: 20px;
	line-height: 1;
}

.p-header__logo:hover {
	color: #2bcbc6;
}

.p-header__contents {
	display: flex;
	align-items: center;
}

.p-header__nav {
	display: none;
	padding: 30px 0 0 0;
}

.p-header-nav__item + .p-header-nav__item {
	margin-top: 20px;
}

.p-header-nav__button {
	display: block;
	min-width: 132px;
	max-width: 200px;
	margin: 30px auto 0;
	padding: 10px;
	border: 1px solid #fff;
	background: #fff;
	color: #007a88;
	text-align: center;
	transition: color 0.4s, background 0.4s;
}

.p-header-nav__button:hover {
	background: #007a88;
	color: #fff;
}

.p-header-nav__sns {
	margin-top: 30px;
	text-align: center;
}

.p-header-nav__sns img {
	width: 40px;
	height: 40px;
	transition: transform 0.3s ease;
}

.p-header-nav__sns img:hover {
	transform: scale(1.2);
}

.p-header-nav__sns a + a {
	margin-left: 20px;
}

.p-drawer-icon {
	z-index: 41;
	position: relative;
	width: 36px;
	height: 21px;
	margin-left: auto;
}

.p-drawer-icon.is-active .p-drawer-icon__bar:nth-child(1) {
	top: 9px;
	transform: rotate(-30deg);
	transition: transform 0.5s ease 0s;
}

.p-drawer-icon.is-active .p-drawer-icon__bar:nth-child(2) {
	display: none;
}

.p-drawer-icon.is-active .p-drawer-icon__bar:nth-child(3) {
	top: 9px;
	transform: rotate(30deg);
	transition: transform 0.5s ease 0s;
}

.p-drawer-icon__bar {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 36px;
	height: 3px;
	border-radius: 6px;
	background: #fff;
}

.p-drawer-icon__bar:nth-child(1) {
	transition: transform 0.5s ease 0s;
}

.p-drawer-icon__bar:nth-child(2) {
	top: 9px;
}

.p-drawer-icon__bar:nth-child(3) {
	top: 18px;
	transition: transform 0.5s ease 0s;
}

.p-drawer {
	z-index: 40;
	position: fixed;
	top: 0;
	right: 0;
	width: 70vw;
	max-width: 300px;
	height: 100vh;
	transform: translateX(105%);
	background: #007a88;
	transition: transform 0.5s ease 0s;
}

.p-drawer.is-active {
	transform: translateX(0);
}

.p-drawer-nav {
	padding: 100px 50px 0 0;
	text-align: right;
}

.p-drawer-nav__item {
	text-align: center;
}

.p-drawer-nav__link {
	display: block;
	width: 100%;
	padding: 15px 10px;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.48px;
}

.p-drawer-nav__button {
	display: block;
	width: 60%;
	min-width: 132px;
	margin: 30px auto;
	padding: 10px;
	background: #fff;
	color: #007a88;
	text-align: center;
}

.p-drawer-nav__sns {
	margin-top: 30px;
	text-align: center;
}

.p-drawer-nav__sns img {
	width: 30px;
	height: 30px;
}

.p-drawer-nav__sns a + a {
	margin-left: 20px;
}

.p-fv {
	position: relative;
}

.p-fv__img {
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	height: 68vh;
	max-height: 100%;
	margin: 0 auto;
}

.p-fv__img img {
	-o-object-fit: cover;
	display: block;
	width: 100%;
	max-width: 530px;
	height: 100%;
	max-height: 500px;
	object-fit: cover;
}

.p-fv__contents {
	position: absolute;
	bottom: 20px;
	left: 50%;
	width: calc(100% - 80px);
	max-width: 500px;
	padding: 20px 15px;
	transform: translateX(-50%);
	background: rgba(0, 122, 136, 0.2);
}

.p-fv__heading {
	width: 100%;
	text-align: center;
}

.p-fv__heading-main {
	display: block;
	font-size: clamp(1.875rem, 1.563rem + 1.56vw, 2.813rem);
	line-height: 1.2em;
}

.p-fv__heading-sub {
	display: block;
	margin-top: 12px;
	font-size: clamp(0.75rem, 0.708rem + 0.21vw, 0.875rem);
}

.p-section {
	padding: 60px 0;
}

.p-section__inner {
	max-width: 550px;
	margin: 0 auto;
	padding: 0 25px;
}

.p-section__head {
	display: flex;
	flex-direction: column;
	margin-bottom: 32px;
}

.p-section__head--center {
	text-align: center;
}

.p-section__head-main {
	font-size: 40px;
	letter-spacing: 0.1em;
}

.p-section__head-sub {
	font-size: 12px;
}

.p-section__lead-text {
	font-size: 16px;
	line-height: 1.6;
}

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

.p-works {
	background-color: #fffeed;
}

.p-works__item {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	cursor: pointer;
}

.p-works__item-img {
	position: relative;
	height: 600px;
	margin-bottom: 12px;
	overflow: hidden;
}

.p-works__item-img::before {
	display: block;
	padding-top: 100%;
	content: "";
}

.p-works__item-img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-works__item-body {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 10px;
}

.p-works__item-name {
	margin-bottom: 6px;
	font-weight: bold;
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
}

.p-works__item-text {
	flex-grow: 1;
}

.p-works__item-button-wrap {
	margin-top: 10px;
	margin-left: auto;
}

.p-works__slider {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.p-works__swiper {
	width: auto;
	height: 500px;
	margin: 0 20px;
	padding-bottom: 42px !important;
}

.p-works__swiper-prev,
.p-works__swiper-next {
	width: 60px;
	height: 60px;
	background: url(../img/arrow.svg) no-repeat center center/contain;
	transition: transform 0.3s ease;
}

.p-works__swiper-prev::after,
.p-works__swiper-next::after {
	display: none;
}

.p-works__swiper-prev {
	left: -20px;
}

.p-works__swiper-next {
	right: -20px;
	transform: scale(-1, 1);
}

.p-works__swiper-pagination {
	display: flex;
	bottom: 0 !important;
	justify-content: center;
	gap: 12px;
}

.p-works__swiper-pagination .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	margin-right: 0 !important;
	margin-left: 0 !important;
	background: #E1E1E1;
	opacity: 1;
}

.p-works__swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #007a88;
}

.p-works-modal {
	display: block;
	z-index: 100;
	position: fixed;
	top: 50%;
	left: 50%;
	width: calc(100% - 20px);
	max-height: calc(100% - 40px);
	overflow-x: hidden;
	overflow-y: scroll;
	transform: translate(-50%, -50%) scale(0);
	opacity: 0;
	transition: opacity 0.4s, transform 0.4s;
}

.p-works-modal.show {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}

.p-works-modal__img {
	width: 100%;
}

.p-works-modal__content {
	padding: 10px;
	background: #fff;
}

.p-works-modal__name {
	margin-bottom: 6px;
	color: #2bcbc6;
	font-weight: bold;
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
	text-align: center;
}

.p-works-modal__list li {
	padding: 10px 0;
}

.p-works-modal__title {
	display: inline-block;
	padding: 5px 15px;
	background: #007a88;
	color: #fff;
}

.p-works-modal__text {
	width: 100%;
	margin-top: 15px;
}

.p-works-modal__buttons {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 20px;
	gap: 20px;
	text-align: center;
}

.p-works-modal__url {
	border: #fff;
	background: #007a88;
}

.p-works-modal__bg {
	display: none;
	z-index: 40;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(51, 51, 51);
	opacity: 0.6;
}

.p-service__list {
	max-width: 700px;
	margin: 0 auto;
}

.p-service__item + .p-service__item {
	margin-top: 40px;
}

.p-service__item-img {
	margin-bottom: 14px;
	text-align: center;
}

.p-service__item-name {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 21px;
	text-align: center;
}

.p-service__item-text {
	font-size: 14px;
	line-height: 1.6;
}

.p-flow {
	background-color: #fffeed;
}

.p-flow__list {
	max-width: 300px;
	margin: 64px auto 0;
}

.p-flow__item {
	position: relative;
	padding: 46px 16px 24px;
	border: 1px solid #2bcbc6;
	background: #fff;
}

.p-flow__item + .p-flow__item {
	margin-top: 46px;
}

.p-flow__item-num {
	display: flex;
	position: absolute;
	top: -24px;
	left: 50%;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	transform: translateX(-50%);
	background-color: #007a88;
	color: #fff;
	font-size: 24px;
}

.p-flow__item-img {
	margin-bottom: 24px;
	text-align: center;
}

.p-flow__item-name {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 21px;
	text-align: center;
}

.p-flow__item-text {
	font-style: 14px;
	line-height: 1.6;
}

.flow__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.p-about__img {
	margin-bottom: 32px;
}

.p-about__text {
	font-size: 16px;
	line-height: 1.6;
}

.p-about__text + .p-about__text {
	margin-top: 2em;
}

.p-message {
	background-color: #fffeed;
}

.p-message__img {
	margin-bottom: 32px;
}

.p-message__img img {
	box-shadow: 0 4px 15px 0 rgba(0, 122, 136, 0.15);
}

.p-message__text {
	font-size: 16px;
	line-height: 1.6;
}

.p-message__text + .p-message__text {
	margin-top: 1em;
}

.p-contact__form {
	margin-top: 24px;
}

.p-contact__privacy {
	margin-top: 21px;
	padding: 40px;
	background-color: #fffeed;
}

.p-contact__privacy h3 {
	font-weight: 700;
	text-align: center;
}

.p-contact__privacy ul {
	margin: 10px 30px 0;
}

.p-contact__privacy li {
	list-style: circle;
}

.p-contact__text {
	margin-top: 20px;
}

.p-contact__checkbox {
	margin-top: 20px;
	text-align: center;
}

.p-contact__button {
	margin-top: 24px;
	text-align: center;
}

.p-contact__button [type=submit] {
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: inherit;
	font-family: inherit;
}

.p-contact__message {
	display: none;
	margin-top: 60px;
	text-align: center;
}

.p-contact__message.is-error {
	color: red;
}

.p-form-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.p-form-field + .p-form-field {
	margin-top: 24px;
}

.p-form-field__head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.p-form-field__label {
	font-weight: 700;
	font-size: 14px;
}

.p-form-field__tag {
	padding: 4px 8px;
	border-radius: 4px;
	background: #ce2073;
	color: #FFF;
	font-weight: 700;
	font-size: 12px;
}

.p-form-field__item { /* 初期化 */
}

.p-form-field__item [type=text],
.p-form-field__item [type=email] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
}

.p-form-field__item textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
}

.form-text {
	padding: 14px;
	border: 1px solid #F5F5F5;
	border-radius: 8px;
	background: #F5F5F5;
}

.form-text::-moz-placeholder {
	color: #CCC;
	font-size: 14px;
}

.form-text::placeholder {
	color: #CCC;
	font-size: 14px;
}

.form-text:focus {
	border-color: #007a88;
	outline: none;
	background: #E9F6F8;
}

.form-text.is-error {
	border: 1px solid #ce2073;
	background: #FFF0F7;
}

.p-form-field__checkboxes {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	text-align: left;
}

.form-textarea {
	height: 160px;
	padding: 15px;
	border: 1px solid #F5F5F5;
	border-radius: 8px;
	background: #F5F5F5;
}

.form-textarea::-moz-placeholder {
	color: #CCC;
	font-size: 14px;
}

.form-textarea::placeholder {
	color: #CCC;
	font-size: 14px;
}

.form-textarea:focus {
	border-color: #007a88;
	outline: none;
	background: #E9F6F8;
}

.form-textarea.is-error {
	border: 1px solid #ce2073;
	background: #FFF0F7;
}

.form-checkbox__input {
	position: absolute;
	width: 1px;
	height: 1px;
	clip: rect(0, 0, 0, 0);
	overflow: hidden;
}

.form-checkbox__input:checked + .form-checkbox__text::after {
	opacity: 1;
}

.form-checkbox__input:focus + .form-checkbox__text::before {
	border-color: #007a88;
}

.form-checkbox__input.is-error + .form-checkbox__text::before {
	border-color: #ce2073;
	background-color: #fff0f7;
}

.form-checkbox__text {
	position: relative;
	padding-left: 36px;
	font-size: 14px;
}

.form-checkbox__text::before,
.form-checkbox__text::after {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: "";
}

.form-checkbox__text::before {
	width: 23px;
	height: 23px;
	border: 1px solid #F5F5F5;
	border-radius: 4px;
	background: #F5F5F5;
}

.form-checkbox__text::before.check-error::before {
	border-color: #ce2073;
	background-color: #FFF0F7;
}

.form-checkbox__text::after {
	width: 24px;
	height: 24px;
	background: url(../img/check-icon.png) no-repeat center center/contain;
	opacity: 0;
}

.form-error {
	margin-top: 10px;
	color: #ce2073;
	font-size: 14px;
}

.p-footer {
	padding: 10px 0;
	background: #2bcbc6;
}

.p-footer__copyright {
	font-size: 12px;
	text-align: center;
}

.c-button,
.c-button_d {
	display: block;
	position: relative;
	max-width: 200px;
	padding: 6px 30px 6px 20px;
	border-radius: 20px;
	text-align: center;
	transition: background 0.4s, color 0.4s;
}

.c-button::after,
.c-button_d::after {
	position: absolute;
	top: 50%;
	right: 18px;
	width: 7.281px;
	height: 12.135px;
	transform: translateY(-50%);
	content: "";
	clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
	transition: all 0.4s ease-out;
}

.c-button {
	border: 1px solid #007a88;
	background: #fff;
	color: #007a88;
}

.c-button::after {
	background: #007a88;
}

.c-button_d {
	border: 1px solid rgb(51, 51, 51);
	background: rgb(51, 51, 51);
	color: #fff;
}

.c-button_d::after {
	background: #fff;
}

.c-header-button {
	display: flex;
	max-width: 300px;
	margin: 0 auto;
	padding: 6px 10px 6px 10px;
	background: inherit;
	text-align: center;
}

.c-header-button__icon {
	display: flex;
	align-items: center;
	width: 24px;
}

.c-header-button__icon-path {
	fill: #fef251;
}

.c-header-button__text {
	margin-left: 30px;
	color: #fff;
	font-size: 16px;
	letter-spacing: 0.08em;
}

.c-submit-button {
	padding: 6px 20px;
	border: 1px solid #007a88;
	border-radius: 20px;
	background: #fff;
	color: #007a88;
	transition: background 0.4s, color 0.4s;
}

.c-submit-button[aria-disabled=true] {
	border-color: rgb(51, 51, 51);
	color: rgb(51, 51, 51);
	cursor: not-allowed;
	opacity: 0.6;
	pointer-events: none;
}

.c-top-button {
	z-index: 30;
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 60px;
	height: 60px;
	border: 1px solid #007a88;
	border-radius: 50%;
	background: #fff;
	color: #007a88;
	transition: background 0.4s, color 0.4s;
}

.c-top-button p {
	margin-top: 12px;
}

.c-top-button::after {
	position: absolute;
	top: 15%;
	left: 50%;
	width: 15px;
	height: 12.9903810568px;
	transform: translateX(-50%);
	background: #007a88;
	content: "";
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	transition: all 0.4s ease-out;
}

.u-pc-hid {
	display: block;
}

.u-sp-hid {
	display: none;
}

@media (min-width: 768px) and (max-width: 1279px) {

.l-main {
	width: calc(100% - 250px);
}

.p-header {
	width: 250px;
	padding: 30px 10px;
}

.p-header__container {
	padding: 10px 0;
}

.p-fv__contents {
	margin-left: 20px;
}

.p-flow__list {
	grid-template-columns: repeat(2, 1fr);
	row-gap: 30px;
	-moz-column-gap: 20px;
	column-gap: 20px;
}

.p-form-field {
	gap: 14px;
}

.form-checkbox__text {
	font-size: 15px;
}

.c-header-button {
	max-width: 200px;
}

}

@media screen and (min-width: 768px) {

.p-header {
	position: relative;
}

.p-header__container {
	display: block;
	position: sticky;
	top: 50px;
	margin: 0 auto;
}

.p-header__logo {
	text-align: center;
}

.p-header__logo a {
	font-size: 40px;
}

.p-header__contents {
	display: block;
}

.p-header__nav {
	display: block;
}

.p-header-nav__list {
	max-width: 200px;
	margin: 0 auto;
}

.p-drawer-icon {
	display: none;
}

.p-fv__img {
	align-items: center;
	height: 75vh;
	max-height: 800px;
	margin-bottom: 70px;
}

.p-fv__img img {
	max-width: 690px;
	max-height: 700px;
}

.p-fv__contents {
	bottom: -30px;
	left: 0;
	width: 60%;
	max-width: 345px;
	padding: 32px;
	transform: none;
}

.p-fv__heading {
	text-align: left;
}

.p-fv__heading-main {
	font-size: 40px;
}

.p-section {
	padding: 80px 0;
}

.p-section__inner {
	max-width: 1000px;
}

.p-works__item:hover .c-button {
	background: #007a88;
	color: #fff;
}

.p-works__item:hover .c-button::after {
	right: 8px;
	background: #fff;
}

.p-works__swiper {
	margin: 0 62px;
	padding-bottom: 57px !important;
}

.p-works__swiper-prev {
	left: 0;
}

.p-works__swiper-next {
	right: 0;
}

.p-works-modal {
	width: 70%;
	max-width: 900px;
}

.p-works-modal__content {
	padding: 30px;
}

.p-service__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8%;
}

.p-service__item + .p-service__item {
	margin-top: 0;
}

.p-flow__list {
	display: grid;
	max-width: none;
}

.p-flow__item + .p-flow__item {
	margin-top: 0;
}

.p-about__container {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 40px;
}

.p-about__img {
	width: 45%;
	margin-bottom: 0;
	text-align: right;
}

.p-about__text-contents {
	width: 55%;
}

.p-message__container {
	display: flex;
	align-items: center;
	gap: 40px;
}

.p-message__img {
	width: 45%;
	margin-bottom: 0;
}

.p-message__text-contents {
	width: 55%;
}

.p-contact__form {
	max-width: 848px;
	margin-top: 43px;
	margin-right: auto;
	margin-left: auto;
}

.p-contact__privacy {
	margin-top: 43px;
}

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

.p-form-field {
	flex-direction: row;
}

.p-form-field__head {
	width: 180px;
}

.p-form-field__label {
	font-size: 16px;
}

.p-form-field__item {
	flex-grow: 1;
}

.form-text::-moz-placeholder {
	font-size: 16px;
}

.form-text::placeholder {
	font-size: 16px;
}

.form-textarea::-moz-placeholder {
	font-size: 16px;
}

.form-textarea::placeholder {
	font-size: 16px;
}

.form-error {
	font-size: 16px;
}

.p-footer__copyright {
	font-size: 16px;
}

.c-button:hover::after,
.c-button_d:hover::after {
	right: 8px;
}

.c-button:hover {
	background: #007a88;
	color: #fff;
}

.c-button:hover::after {
	background: #fff;
}

.c-button_d:hover {
	background: #fff;
	color: rgb(51, 51, 51);
}

.c-button_d:hover::after {
	background: rgb(51, 51, 51);
}

.c-submit-button:hover {
	background: #007a88;
	color: #fff;
}

.c-submit-button:hover::after {
	background: #fff;
}

.c-top-button:hover {
	background: #007a88;
	color: #fff;
}

.c-top-button:hover::after {
	right: 30px;
	background: #fff;
}

}

@media screen and (min-width: 1100px) {

.p-form-field__checkboxes {
	grid-template-columns: repeat(2, 1fr);
}

}

@media (min-width: 1280px) {

.l-main {
	width: calc(100% - 350px);
}

.p-header {
	width: 350px;
	padding: 30px 20px;
}

.p-header__container {
	padding: 10px 24px;
}

.p-fv__contents {
	margin-left: 50px;
}

.p-works__swiper-prev:hover {
	transform: scale(1.2);
}

.p-works__swiper-next:hover {
	transform: scaleX(-1.2) scaleY(1.2);
}

.p-works-modal__list li {
	display: flex;
	align-items: center;
	gap: 30px;
}

.p-works-modal__title {
	width: 140px;
}

.p-works-modal__text {
	width: calc(100% - 140px);
	margin-top: 0;
}

.p-works-modal__buttons {
	flex-direction: row;
	justify-content: center;
}

.p-flow__list {
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.p-form-field {
	gap: 40px;
}

.form-checkbox:hover .form-checkbox__text::before {
	border-color: #2bcbc6;
}

.form-checkbox__text {
	font-size: 16px;
}

.c-header-button:hover {
	background: #fff;
	transition: background 0.4s, opacity 0.4s;
}

.c-header-button:hover .c-header-button__icon-path {
	transition: fill 0.4s;
	fill: #007a88;
}

.c-header-button:hover .c-header-button__text {
	color: #007a88;
	transition: color 0.4s;
}

.u-pc-hid {
	display: none;
}

.u-sp-hid {
	display: block;
}

}

@media (max-width: 767px) {

.p-works__swiper-pagination {
	left: -6px !important;
}

}

