@charset "utf-8";
/*
  breakpoint：640/768/1025/1280
*/
/*=============================================*/
/* HEADER */
/*=============================================*/
.l-header {
  width: 100%;
  background: #fff;
  position: fixed;
	top: 0;
	left: 0;
  z-index: 999;
}
.l-header__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
  gap: 40px;
	width: 89.333333%;
	height: 64px;
	margin-inline: auto;

	@media (min-width: 1025px) {
		width: min(96%, 1600px);
    height: 100px;
	}
}
main {
	padding-top: 64px;
	
	@media (min-width: 1025px) {
		padding-top: 100px;
	}
}
/* LOGO 
-----------------------------------------------*/
.l-header__logo {
  width: clamp(247px, 34.61vw, 450px);
  z-index: 999;
}
/* G-NAV 
-----------------------------------------------*/
@media (max-width: 1024px) {
	.l-header__nav {
    display: none;
/*    padding-top: 64px;*/
    padding-bottom: 50px;
    background: #fff;
    width: 100%;
    height: calc(100dvh - 64px);
    overflow-y: scroll;
    position: fixed;
    left: 0;
    top: 64px;
    z-index: 99;
  }
  .l-header__menu {
  	width: 91.2%;
  	margin-inline: auto;
  	border-top: 1px solid #C1C1C1;
  }
  .l-header__menu > li > a {
  	display: flex;
  	justify-content: space-between;
  	align-items: center;
    width: 100%;
    padding: 9px 16px;
    border-bottom: 1px solid #C1C1C1;
    font-weight: 500;
    position: relative;

    &:not(.u-blank)::after {
	  	flex-shrink: 0;
	  	display: flex;
	  	align-items: center;
	  	justify-content: center;
	  	content: "\e900";
	  	width: 36px;
	  	aspect-ratio: 1 / 1;
	  	border-radius: 50%;
	  	background: "fff";
	  	border: 1px solid var(--color01);
	  	color: var(--color01);
	  	font-family: 'icomoon' !important;
	  	font-size: 13px;
	  }
	  &.u-blank {
	  	justify-content: flex-start;
	  	gap: 10px;
	  }
  }
  .l-header__childMenu {
  	padding: 10px 30px;
  	border-bottom: 1px solid #C1C1C1;
  }
  .l-header__childMenu a {
  	display: flex;
  	align-items: center;
  	gap: 6px;
  	padding: 6px;
  	font-weight: 500;

  	&::before {
	  	content: "";
	  	width: 12px;
	  	height: 1px;
	  	background: #333;
	  }
  }
}
@media (min-width: 1025px) {
	.l-header__childMenu,
	.l-header .spOnly {
		display: none !important;
	}
	.l-header__nav {
  	display: flex;
  	align-items: center;
  	justify-content: space-between;
  	gap: 10px;
  	width: min(100%, 1010px);
  }
  .l-header__menu {
  	display: flex;
    gap: min(1.88vw, 36px);
  }
  .l-header__menu li {
  	display: contents;
  }
  .l-header__menu a {
  	padding: 5px 0;
  	border-bottom: 1px solid #fff;
    color: #333;
    font-size: clamp(16px, 1.125vw, 18px);
    font-weight: 500;

    &:hover, &.current {
    	border-color: var(--color01);
    	color: var(--color01);
    }
  }
}
.l-header__btnContainer {
	display: grid;
	gap: 12px;
	width: 91.2%;
  margin-inline: auto;
	margin-top: 20px;
	padding: 0 13px;

	@media (min-width: 1025px) {
		display: contents;
	}
}
.l-header__btn {
	display: block;
	width: min(100%, 400px);
	margin-inline: auto;
	padding: clamp(16px, 1.43vw, 23px);
	border-radius: 8px;
	color: #fff;
	font-size: clamp(16px, 1.125vw, 18px);
	font-weight: 700;
	text-align: center;

	&.contact {
		background: #333;
		border: 1px solid #333;
	}
	&.recruit {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 9px;
		background: var(--color01);
		border: 1px solid var(--color01);
	}
	&.recruit::after {
		font-size: 14px;
	}
	@media (min-width: 1025px) {
		align-self: center;
		margin-inline: initial;
		font-weight: 500;
		&.contact {
			width: min(13.64vw, 260px);
			min-width: max-content;
		}
		&.contact:hover {
			background: #fff;
			color: #333;
		}
	}
}
/* BURGGER BTN 
-----------------------------------------------*/
.l-toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  width: 48px;
  height: 48px;
  padding-bottom: 7px;
  background: var(--color02);
  border-radius: 8px;
  color: #fff;
  font-family: var(--fontRobot);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  z-index: 999;

  @media (min-width: 1025px) {
	   display: none;
	}
}
.l-toggle span,
.l-toggle span::before,
.l-toggle span::after {
	display: block;
  content: "";
  width: 24px;
  height: 1px;
  background: #fff;
  position: relative;
  transition: all .3s;
}
.l-toggle span::before {
  top: -7px;
}
.l-toggle span::after {
  top: 5px;
}
.l-toggle.is-active span {
  background: none;
}
.l-toggle.is-active span::before {
  transform: translateY(7px) rotate(-45deg);
}
.l-toggle.is-active span::after {
  transform: translateY(-5px) rotate(45deg);
}
/*=============================================*/
/* FOOTER */
/*=============================================*/
.l-footer {
	@media (min-width: 1025px) {
		border-top: 1px solid #ACACAC;
	}
}
.l-footer__nav {
	display: none;

	@media (min-width: 1025px) {
		display: grid;
		grid-template-columns: max-content 257px 257px;
		justify-content: center;
		gap: 40px min(7vw, 92px);
		padding-top: var(--m60);
		padding-bottom: var(--m60);
	}
}
.l-footer__menu {
	display: grid;
	gap: 32px;
}
.l-footer__link {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: var(--font20);
	font-weight: 500;

	&:before {
		flex-shrink: 0;
		content: "\e900";
		color: var(--color01);
		font-family: 'icomoon' !important;
		font-size: 13px;
	}
	&:hover {
		color: var(--color01);
	}
}
.l-footer__link.-ttl {
	padding-bottom: 4px;
	position: relative;

	&:after {
		content: "";
		width: calc(100% - 16px);
		height: 1px;
		background: #ACACAC;
		position: absolute;
		right: 0;
		bottom: 0;
	}
}
.l-footer__childMenu {
	margin-top: 8px;
	padding-left: 16px;
}
.l-footer__childMenu a {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 4px;
	font-weight: 500;

	&::before {
		flex-shrink: 0;
  	content: "";
  	width: 12px;
  	height: 1px;
  	background: #333;
  }
  &:hover {
		color: var(--color01);
	}
}
.l-footer__recruitBtn {
	grid-column: 1 / 4;
	text-align: center;
}
.l-footer__recruitBtn a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: clamp(195px, 24.61vw, 320px);
	padding: clamp(16px, 2.15vw, 28px);
	background: var(--color01);
	border: 1px solid var(--color01);
	border-radius: 8px;
	color: #fff;
	font-weight: 700;
	text-align: center;

	&::after {
		font-size: 14px;
	}
	&:hover {
		background: #fff;
		color: var(--color01);
	}
}
/* l-footer__info 
-----------------------------------------------*/
.l-footer__info {
	padding: var(--m40) 0;
	border-top: 1px solid #ACACAC;
}
.l-footer-info__content {
	max-width: 980px;

	@media (min-width: 1025px) {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		gap: 10px;
	}
}
.l-footer__logo dt {
	width: clamp(333px, 30.18vw, 395px);
}
.l-footer__logo dd {
	margin-top: 10px;
	font-size: var(--font16);

	@media (min-width: 1025px) {
		display: inline-block;
		margin-top: 15px;
	}
}
@media (min-width: 1025px) {
	.l-footer__logo dd + dd {
		margin-left: 10px;
	}
}
.l-footer-info__link {
	display: none;

	@media (min-width: 1025px) {
		display: flex;
		align-items: center;
		gap: 10px;
		line-height: 1;
	}
}
.l-footer-info__link::before {
	content: "\e900";
	color: var(--color01);
	font-family: 'icomoon' !important;
	font-size: 13px;
}
.l-footer-info__link .u-blank {
	font-size: var(--font20);
	font-weight: 500;
}
.l-footer-info__link .u-blank::after {
	margin-left: 4px;
}
@media (any-hover: hover) {
	.l-footer-info__link .u-blank:hover {
		color: var(--color01);
	}
}
/* COPY RIGHT
-----------------------------------------------*/
.l-footer__copy {
	padding: 10px 20px;
	border-top: 1px solid #ACACAC;
	font-size: clamp(11px, 1.07vw, 14px);
	text-align: center;
}
/*=============================================*/
/* PAGE TOP BTN */
/*=============================================*/
.l-pagetop {
	width: 89.333333%;
	text-align: right;
	position: fixed;
	bottom: 24px;
	left: 50%;
	translate: -50%;
	z-index: 999;

	@media (min-width: 1025px) {
		width: min(96%, 1600px);
    bottom: min(0.97vw, 22px);
	}
}
.l-pagetop__btn {
	display: inline-block;
  width: clamp(42px, 4.61vw, 60px);
  cursor: pointer;
  
}
.l-pagetop__btn svg {
	width: clamp(42px, 4.61vw, 60px);
	aspect-ratio: 1 / 1;
	color: #e60012;
	transition: .3s;

	#angle,#top {
		fill: #fff;
		transition: .3s;
	}
}
.l-pagetop__btn:hover svg {
	color: #fff;

	#angle,#top {
		fill: #e60012;
	}
}
/*=============================================*/
/* CTA */
/*=============================================*/
.c-cta {
	padding: clamp(55px, 4.61vw, 60px) 0;
	background: url(/assets/images/common/bg_noise_red.jpg) center / 100%;
}
.c-cta__content {
	display: grid;
	gap: 30px;
	max-width: 1238px;

	@media (min-width: 1025px) {
		grid-template-columns: max-content 1fr;¥
	}
}
.c-cta__intro {
	color: #fff;
}
.c-cta__ttl .-en::before {
	background: #fff;
}
.c-cta__ttl .-ja {
	font-size: clamp(28px, 4.3vw, 5.6rem);
}
.c-cta__intro p {
	margin-top: clamp(20px, 2.3vw, 30px);
	font-size: 19px;

	@media (min-width: 768px) {
		font-size: var(--font20);
	}
}
.c-cta__btn {
	display: grid;
	gap: var(--m30);
	width: min(100%, 780px);

	@media (min-width: 1025px) {
		justify-self: end;
	}
}
.c-cta-btn__link {
	display: grid;
	grid-template-columns: clamp(60px, 6.15vw, 80px) 1fr;
	align-items: center;
	gap: 0 clamp(12px, 3.07vw, 40px);
	min-height: min(15.88vw, 160px);
	padding: clamp(18px, 2.23vw, 28.5px) clamp(19px, 4.84vw, 63px);
	border: 2px solid #fff;
	border-radius: 8px;

	&::before {
		display: flex;
		align-items: center;
		justify-content: center;
		width: clamp(60px, 6.15vw, 80px);
		aspect-ratio: 1 / 1;
		background: #C12020;
		border-radius: 50%;
		color: #fff;
		font-family: 'icomoon' !important;
		font-weight: 400 !important;
	}
	&.-form {
		background: #fff;
		color: #C12020;
		font-size: clamp(20px, 2.46vw, 3.2rem);
		font-weight: 700;
		position: relative;
	}
	&.-form::before {
		content: "\e902";
		font-size: clamp(23px, 2.38vw, 31px);
	}
	&.-form::after {
		content: "\e900";
		display: flex;
		align-items: center;
		justify-content: center;
		width: clamp(40px, 4.92vw, 64px);
		aspect-ratio: 1 / 1;
		background: #fff;
		border: 1px solid var(--color01);
		border-radius: 50%;
		color: var(--color01);
		font-family: 'icomoon' !important;
		font-size: 16px;
		position: absolute;
		right: clamp(16px, 1.84vw, 24px);
		top: 50%;
		transform: translateY(-50%);
	}
	&.-tel {
		color: #fff;

		@media (max-width: 639px) {
			padding: clamp(18px, 2.3vw, 30px) 15px;
		}
		@media (min-width: 640px) {
			grid-template-rows: repeat(2, max-content);
		}
	}
	&.-tel::before {
		content: "\e903";
		font-size: clamp(30px, 3.07vw, 40px);

		@media (min-width: 640px) {
			grid-row: 1 / 3;
		}
	}
	&.-tel .-num {
		font-family: var(--fontArial);
		font-size: clamp(36px, 3.69vw, 48px);
		font-weight: 700;
		line-height: 1.4;
	}
	&.-tel dl {
		display: flex;
		gap: 25px;
		line-height: 2;

		@media (max-width: 639px) {
			grid-column: 1 / 3;
			margin-top: 7px;
		}
		@media (min-width: 640px) {
			grid-column: 2 / 3;
			gap: 1em;
		}
	}
	&.-tel dt {
		flex-shrink: 0;
	}
}
@media (any-hover: hover) {
	.c-cta-btn__link.-form:hover {
		background: var(--color01);
		color: #fff;
	}
	.c-cta-btn__link.-form:hover::before {
		background: #fff;
		color: #C12020;
	}
	.c-cta-btn__link.-form:hover::after {
		background: transparent;
		border-color: #fff;
		color: #fff;
	}
}
/*=============================================*/
/* BREADCRUMB */
/*=============================================*/
.l-breadcrumb {
  padding-top: var(--m30);
  position: relative;
}
.l-breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  max-width: 1600px;
}
.l-breadcrumb ol li {
  display: flex;
  align-items: center;
  font-size: clamp(12px, 1.07vw, 14px);
  font-weight: 500;
}
.l-breadcrumb ol li + li::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin: 0 8px;
  border-top: 1px solid;
  border-right: 1px solid;
  transform: rotate(45deg);
}
.l-breadcrumb ol li a {
	text-decoration: underline;
}
@media (any-hover: hover) {
  .l-breadcrumb ol li a:hover {
  	color: var(--color02);
    text-decoration: none;
  }
}
.l-breadcrumb.-white * {
	color: #fff !important;
}
/*=============================================*/
/* PAGE */
/*=============================================*/
.p-page__ttl {
	margin-top: var(--m20);
	padding: var(--m60) 0;
	background: var(--color02);
}
.p-page__ttl h1 {
	max-width: 1440px;
	color: #fff;
	font-size: var(--font36);
	font-weight: 700;
}
/*=============================================*/
/* CONTACT */
/*=============================================*/
.p-contact {
	max-width: 1120px;
	padding: var(--m160) 0;
}
.p-contact__read p + p {
	margin-top: 1em;
}
/* フォームエリア
-----------------------------------------------*/
.p-contact__form {
	margin-top: var(--m75);
}
.c-form__container {
	display: grid;
	gap: var(--m40);
}
.c-form__item {
  display: grid;
  gap: 10px 20px;

  @media (min-width: 768px) {
    grid-template-columns: 29.642857% 1fr;
    align-items: center;
	}
}
.c-form__cate,.c-form__input {
  font-size: var(--font18);
}
.c-form__cate.-alignS {
	@media (min-width: 768px) {
  	align-self: start;
  	padding-top: var(--m15);
  }
}
.c-form__label {
  display: flex;
  align-items: baseline;
  gap: 16px;
}
.c-form__mark {
  flex-shrink: 0;
  width: 56px;
  padding: 5px;
  border-radius: 3px;
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(12px, 1.07vw, 14px);
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
.c-form__mark.is-required {
  background: var(--color01);
}
.c-form__mark.is-any {
  background: #A2A2A2;
}
.c-form input[type="text"],
.c-form input[type="email"],
.c-form input[type="tel"],
.c-form input[type="date"],
.c-form__select select,
.c-form textarea {
  width: 100%;
  height: clamp(40px, 4.3vw, 56px);
  padding: var(--m15) var(--m24);
  border: 1px solid #ACACAC;
  font-family: inherit;
  font-size: var(--font18);
}
.c-form input[type="email"],
.c-form input[type="tel"] {
	max-width: 384px;
}
.c-form textarea {
  height: 168px;
}
/* RADIO BUTTON */
.c-form__radio {
  display: flex;
  gap: var(--m80);
}
.c-form__radio li label {
  display: flex;
  align-items: center;
  gap: 8px;
}
input[type="radio"] {
	flex-shrink: 0;
	-webkit-appearance: none;
	appearance: none;
	width: clamp(24px, 2.15vw, 28px);
	height: clamp(24px, 2.15vw, 28px);
	aspect-ratio: 1 / 1;
	margin: 0;
  border: 1px solid #333;
  border-radius: 50%;
  position: relative;
}
input[type="radio"]::before {
	content: "";
	width: 65%;
	aspect-ratio: 1 / 1;
	margin: auto;
  background-color: #333;
  border-radius: 50%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0;
}
input[type="radio"]:checked {
	border-color: #333;
}
input[type="radio"]:checked::before {
  opacity: 1;
}
/* PLACEHOLDER */
::placeholder {
  color: rgba(51, 51, 51, 0.2);
  font-size: 1.6rem;
  font-weight: 500;
}
:-ms-input-placeholder {
  font-weight: 500;
}
/* FILE UPLOAD */
.c-form-file__label {
	display: inline-flex;
  align-items: center;
  gap: 16px;
  cursor: pointer;
	margin-top: var(--m40);
}
.c-form-file__label input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  opacity: 0;
}
.upload-button {
	min-width: max-content;
	padding: 7px var(--m20);
  background-color: #fff;
  border: 1px solid #A5A5A5;
  border-radius: 7px;
  transition: all 0.2s;
  outline: 2px solid transparent; 
  font-size: 14px;
}
.c-form-file__label input[type="file"]:focus-visible + .upload-button {
  outline: 2px solid #0056b3;
}
.upload-filename {
	font-size: var(--font16);
}
/*.c-form-file__label:hover .upload-button {
  background-color: #0056b3;
}*/
/* ERROR */
.c-form .-error {
  margin-bottom: 5px;
  color: #FE0000;
}
.c-form .-error p {
  margin: 0;
  line-height: 1.5;
}
.c-form .-error.u-alignC {
  margin-bottom: 20px;
  padding: 5px 10px;
  background: #FFEEEE;
}
/* CONFIRM */
.c-form-file__confirm {
	display: flex;
	gap: var(--m24);

	.close-btn {
		display: inline-block;
		width: 15px;
		aspect-ratio: 1 / 1;
		margin-left: 8px;
	}
}
.file-link {
	text-decoration: underline;
	cursor: pointer;
}
/* MODAL */
.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  align-items: center;
  justify-content: center;
}
.modal-content {
	width: auto;
  max-width: 80%;
  max-height: 80%;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  background: #fff;
  padding: 10px;
  border-radius: 4px;
}
.modal-close-btn {
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
}
/* BUTTON */
.c-form__submit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--m40);
  margin-top: var(--m135);
  text-align: center;
}
@media (min-width: 640px) {
	.c-form__submit {
		flex-direction: row;
	}
}
.c-form__submit.-confirm {
	margin-top: var(--m80);
}
.c-form__btn {
	width: min(100%, 480px);
	padding: var(--m24) var(--m20);
  cursor: pointer;
}
.c-form__btn.-back {
  background: #fff;
  color: var(--color01);
}
@media (any-hover: hover) {
  .c-form__btn:hover {
    background: #fff !important; /* システムで上書きされるため */
    color: var(--color01) !important;
  }
  .c-form__btn.-back:hover {
    background: var(--color01) !important;
    color: #fff !important;
  }
}
/* 個人情報の取扱いについて */
.c-form__note {
	width: min(100%, 480px);
	margin-inline: auto;
	margin-top: var(--m35);
}
.c-form-note__ttl {
	margin-bottom: 5px;
	font-size: var(--font18);
}
.c-form__checkbox {
	display: flex;
	align-items: center;
	gap: clamp(10px, 1.38vw, 18px);
	font-weight: 700;
}
.c-form__checkbox input {
	flex-shrink: 0;
}
input[type=checkbox] {
/*	appearance: none;*/
	width: clamp(17px, 1.84vw, 24px);
  aspect-ratio: 1 / 1;
  background: #fff;
	border: 1px solid #333;
	border-radius: 0;
	position: relative;
}
/*input[type=checkbox]::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: url("/assets/images/common/ico_check.svg") center / 55% no-repeat;
  position: absolute;
  inset: 0;
}
input[type=checkbox]:checked::before {
	opacity: 1;
}*/
/* THANKS PAGE
-----------------------------------------------*/
.p-thanks__ttl {
	font-size: var(--font28);
	font-weight: 700;
}
.p-thanks__txt {
	margin-top: var(--m24);
}
.p-thanks__btn {
	margin-top: var(--m90);
	text-align: center;
}
/*=============================================*/
/* LAW */
/*=============================================*/
.p-law {
	margin-top: var(--m20);
	padding: var(--m160) 0;
	background: #F5F5F5;
}
.p-law__dltable {
	margin-top: clamp(20px, 2.92vw, 38px);
}
.p-law__subttl {
	font-size: var(--font18);
	font-weight: 500;
}
.p-law__dlist {
	display: grid;

	@media (min-width: 640px) {
		grid-template-columns: max-content 1fr;
		gap: 0 var(--m40);
	}
	.-lineheight {
		line-height: 1.33;
	}
}
.p-law__sec + .p-law__sec {
	margin-top: var(--m15);
}
/*=============================================*/
/* NEWS */
/*=============================================*/
.c-news__list {
  border-top: 1px solid #ACACAC;
}
.c-news__list li {
	display: flex;
	align-items: center;
  padding: 12px 0;
  min-height: 76px;
  border-bottom: 1px solid #ACACAC;
  line-height: 2;
}
.c-news__list li time {
  font-family: var(--fontArial);
  font-size: 1.8rem;
  line-height: 2;
}
.c-news__list li a {
	display: grid;
  gap: 10px;
  width: 100%;
  padding-right: var(--m100);
  font-weight: 500;
  position: relative;

  @media (min-width: 640px) {
    grid-template-columns: max-content 1fr;
    gap: var(--m50);
	}
}
.c-news__list li a::after {
	display: flex;
	align-items: center;
	justify-content: center;
  content: "\e900";
  width: 40px;
  aspect-ratio: 1 / 1;
  background: #fff;
  border: 1px solid var(--color01);
  border-radius: 50%;
  color: var(--color01);
  font-family: 'icomoon' !important;
  font-size: 16px;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s;
}
.c-news__list li p {
	align-self: center;
}
@media (any-hover: hover) {
  .c-news__list li a:hover p {
    text-decoration: underline;
  }
  .c-news__list li a:hover::after {
    background: var(--color01);
    color: #fff;
  }
}
/*=============================================*/
/* L2 */
/*=============================================*/
/* TITLE
-----------------------------------------------*/
.p-l2__header {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	height: clamp(270px, 17.36vw, 330px);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	overflow-y: visible;

	&::after {
		content: "";
		width: clamp(130px, 32.76vw, 426px);
		aspect-ratio: 1 / 1;
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		position: absolute;
		right: 0;
		top: 100%;
		transform: translate(8.685446%, -50%);
	}
}
.p-l2__ttl {
	display: contents;
	max-width: 1440px;
	position: relative;

	@media (min-width: 640px) {
		display: flex;
		flex-direction: column;
		gap: var(--m35);
	}
	&::after {
		content: "";
		width: clamp(140px, 15.38vw, 200px);
		aspect-ratio: 200 / 45;
		background: url(/assets/images/common/h1.svg) center / contain no-repeat;
	}
}
@media (max-width: 639px) {
	.p-l2__ttl h1 {
		width: var(--width);
		margin-inline: auto;
	}
}
/*=============================================*/
/* NEWS */
/*=============================================*/
.p-news {
	padding-top: var(--m155);
	padding-bottom: var(--m150);
}
.p-news__header {
	padding-bottom: 13px;
	border-bottom: 1px solid #ACACAC;
}
.p-news__header time {
	font-size: 17px;
	font-weight: 700;
}
.p-news__header h2 {
	margin-top: 8px;
	padding-left: 20px;
	font-size: var(--font26);
	line-height: 1.4;
	position: relative;

	&::before {
		content: "";
		width: 4px;
		height: calc(100% - 0.3em);
		background: var(--color02);
		position: absolute;
		left: 0;
		top: .165em;
	}
} 
.p-news__post + .p-news__post {
	margin-top: var(--m80);
}
.p-news__body {
	padding-top: 35px;
	padding-left: var(--m40);
}
.p-news__body p {
	font-weight: 500;
}
/*=============================================*/
/* PROFESSIONAL */
/*=============================================*/
.p-l2__header--pro {
	background-image: url(/assets/images/pro/title_bg_sp.jpg);

	@media (min-width: 640px) {
		background-image: url(/assets/images/pro/title_bg.jpg);
	}
	&::after {
		background-image: url(/assets/images/pro/title_circle.png); 
	}
}
/* p-pro__intro
-----------------------------------------------*/
.p-pro__intro {
	padding: clamp(66px, 6.92vw, 90px) 0 clamp(30px, 6.92vw, 90px);
	background: var(--bg);
}
.p-pro-intro__box {
	display: grid;
	gap: 40px 20px;

	@media (min-width: 640px) {
		grid-template-columns: minmax(0, 600px) 43.75%;
		justify-content: space-between;
		align-items: center;
	}
}
.p-pro-intro__ttl {
	font-size: clamp(20px, 2.76vw, 3.6rem);
	line-height: 1.6;

	@media (min-width: 640px) {
		line-height: 2;
	}
}
.p-pro-intro__txt {
	margin-top: var(--m40);
	font-size: var(--font18);
	font-weight: 500;
}
/* p-pro__sec
-----------------------------------------------*/
.p-pro__sec {
	max-width: 1600px;
	margin-inline: auto;
	padding: 30px 0;
	position: relative;

	@media (min-width: 640px) {
		width: 92%;
		padding: var(--m120) 0;
	}
	&:nth-child(odd)::before {
		content: "";
		width: 100vw;
		height: 100%;
		background: var(--color03);
		border-radius: 60px 0 0 0;
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
	}
}
.p-pro__sec01 {
	margin-top: 30px;
	padding: var(--m55) 0 clamp(30px, 5.92vw, 77px);

	@media (min-width: 640px) {
		margin-top: var(--m120);
	}
}
.p-pro-sec__content {
	display: flex;
	flex-direction: column;
	gap: 20px;

	@media (min-width: 640px) {
		flex-direction: row;
		justify-content: space-between;
		gap: var(--m60);
	}
}
.p-pro__sec:nth-child(even) .p-pro-sec__content {
	@media (min-width: 640px) {
		flex-direction: row-reverse;
	}
}
.p-pro-sec__body {
	max-width: 620px;
}
.p-pro-sec__body:not(.p-pro__sec01 .p-pro-sec__body) {
	@media (min-width: 640px) {
		padding-top: var(--m55);
	}
}
.p-pro-sec__header {
	position: relative;

	.-num {
		color: #fff;
		font-family: "Roboto Condensed", sans-serif;
		font-size: clamp(100px, 13.07vw, 170px);
		font-weight: 700;
		line-height: 0.75;
	}
}
.p-pro__sec:nth-child(even) .-num {
	color: #FEF0F1;
}
.p-pro-sec__ttl {
	display: flex;
	align-items: center;
	gap: var(--m20);
	position: absolute;
	left: 60px;
	top: 50%;
	transform: translateY(-50%);

	@media (min-width: 640px) {
		left: 0;
	}
}
.p-pro-sec__ttl .-ja {
	font-size: clamp(28px, 3.07vw, 4.0rem);
	font-weight: 700;
}
.p-pro-sec__ttl .-en {
	color: var(--color01);
	font-family: var(--fontRobot);
	font-weight: 500;
	line-height: 1;
}
.p-pro-sec__subttl {
	margin-top: var(--m40);
	font-size: clamp(18px, 1.84vw, 2.4rem);
	font-weight: 600;
	line-height: 1.77;

	@media (min-width: 640px) {
		line-height: 1.66;
	}
}
.p-pro-sec__txt {
	margin-top: clamp(10px, 2.3vw, 30px);
}
.p-pro-sec__img {
	@media (min-width: 640px) {
		flex-shrink: 0;
		width: 46.875%;
	}
}
.p-pro__sec01 .p-pro-sec__img {
	@media (min-width: 640px) {
		margin-top: var(--m20);
	}
}
/*=============================================*/
/* PRODUCT INFORMATION */
/*=============================================*/
.p-l2__header--product{
	background-image: url(/assets/images/product/title_bg_sp.jpg);

	@media (min-width: 640px) {
		background-image: url(/assets/images/product/title_bg.jpg);
	}
	&::after {
		background-image: url(/assets/images/product/title_circle.png); 
	}
}
.p-product {
	padding-bottom: var(--m110);
}
/* p-product__intro
-----------------------------------------------*/
.p-product__intro {
	padding-top: 66px;
	padding-bottom: 30px;
	background: var(--bg);

	@media(min-width: 640px) {
		padding-top: clamp(30px, 4.61vw, 60px);
		padding-bottom: 0;
	}
}
.p-product-intro__ttl {
	position: relative;
}
.p-product-intro__ttl .-en {
	color: #fff;
	font-family: var(--fontRobot);
	font-size: clamp(48px, 6.38vw, 83px);
	font-weight: 700;
}
.p-product-intro__ttl .-ja {
	font-size: var(--font32);
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 0;
}
.p-product-intro__content {
	display: grid;
	gap: 15px;
	max-width: 1440px;

	@media (min-width: 640px) {
		grid-template-columns: 48.611111% 38.194444%;
		align-items: center;
		gap: clamp(30px, 5.3vw, 69px);
	}
}
.p-product-intro__txt {
	margin-top: 7px;
	font-size: var(--font26);
	font-weight: 700;
	line-height: 1.6;

	@media (min-width: 640px) {
		line-height: 2;
	}
}
/* p-product__sec
-----------------------------------------------*/
.p-product__sec {
	margin-top: clamp(30px, 6.15vw, 80px);
}
.p-product__sec.-genboku {
	margin-top: clamp(30px, 5.38vw, 71px);
}
.p-product-sec__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--m40);
	margin-top: var(--m40);

	@media (min-width: 1025px) {
		grid-template-columns: 32.03125% 1fr;
	}
}
.p-product-sec__body {
	max-width: 420px;
}
.p-product-sec__note {
	margin-top: 20px;
	padding: 20px 24px;
	border: 1px solid #333333;
	border-radius: 10px;
}
.p-product-sec__table {
	width: 100%;
	border-collapse: collapse;
}
.p-product-sec__table thead {
	background: #333333;
	color: #fff;
	font-size: var(--font18);
}
.p-product-sec__table thead th {
	font-weight: 400;
}
.p-product-sec__table thead th:first-child {
	width: 18.461538%;

	@media (min-width: 1025px) {
		width: 24.555160%;
	}
}
.p-product-sec__table thead th:not(:last-child) {
	border-right: 1px solid #fff;
}
.p-product-sec__table tr {
	border-bottom: 1px solid #DCDCDC;
}
.p-product-sec__table tr:nth-child(even) {
	background: var(--color03);
}
.p-product-sec__table th,
.p-product-sec__table td {
	padding: 11px;
	text-align: center;
}
.p-product-sec__table td:first-child {
	border-right: 1px solid #DCDCDC;
}
.p-product-sec__table .-gray {
	color: #9C9C9C;
}
.p-product-sec__table .-box {
	display: grid;
	align-items: center;
	grid-template-columns: 1fr auto 1fr;
	gap: 9px;
}
.p-product-sec__table .-new {
	justify-self: end;
	width: 40px;
	padding: 5px;
	background: #D30010;
	color: #fff;
	font-size: 10px;
	line-height: 1;
	text-align: center;
}
.p-product-sec__noteTxt {
	margin-top: 15px;
}
.p-product-sec__txt {
	margin-top: var(--m35);
	font-size: var(--font18);
	font-weight: 500;
}
.p-product-sec__card {
	display: grid;
	gap: 30px;
	margin-top: var(--m35);

	@media (min-width: 640px) {
		grid-template-columns: repeat(2, 1fr);
		gap: 25px;
	}
	@media (min-width: 1025px) {
		grid-template-columns: repeat(3, 1fr);
	}
}
.p-product-sec__ttl {
	margin-top: 16px;
	padding-left: 30px;
	padding-bottom: 16px;
	border-bottom: 1px solid #ACACAC;
	position: relative;

	span {
		display: block;
	}
	.-sub {
		font-size: 1.6rem;
		font-weight: 400;
	}
	.-main {
		font-size: 2.4rem;
		font-weight: 500;
	}
	&::before {
		content: "";
		width: 5px;
		height: calc(100% - 16px);
		background: var(--color01);
		position: absolute;
		left: 0;
		top: 0;
	}
}
.p-product-sec__subttl {
	margin-top: 20px;
	font-size: var(--font20);
	font-weight: 500;
}
.p-product-sec__cardList {
	display: grid;
	grid-template-columns: 39.393939% 1fr;
	width: 198px;
	margin-top: 10px;
	border-top: 1px solid #ACACAC;
	font-weight: 600;
	line-height: 1;
}
.p-product-sec__cardList dt {
	padding: 15px;
	background: #FFDCDF;
	border-bottom: 1px solid #ACACAC;
	text-align: center;
}
.p-product-sec__cardList dd {
	display: flex;
	align-items: center;
	padding: 16px;
	color: var(--color02);
	border-bottom: 1px solid #ACACAC;
}
/*=============================================*/
/* MAIL ORDER */
/*=============================================*/
.p-l2__header--mailorder {
	background-image: url(/assets/images/mailorder/title_bg_sp.jpg);

	@media (min-width: 640px) {
		background-image: url(/assets/images/mailorder/title_bg.jpg);
	}
	&::after {
		background-image: url(/assets/images/mailorder/title_circle.png); 
	}
}
/* p-mailorder__sec
-----------------------------------------------*/
.p-mailorder__sec01 {
	padding: clamp(66px, 9.23vw, 120px) 0 30px;
	background: var(--bg);

	@media (min-width: 640px) {
		padding-bottom: var(--m105);
	}
}
.p-mailorder-sec__ttl {
	position: relative;
}
.p-mailorder-sec__ttl .-en {
	color: #fff;
	font-family: var(--fontRobot);
	font-size: clamp(48px, 6.38vw, 83px);
	font-weight: 700;
}
.p-mailorder-sec__ttl .-ja {
	font-size: var(--font32);
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 0;
}
.p-mailorder-sec__box {
	display: grid;
	gap: 15px;

	@media (min-width: 640px) {
		grid-template-columns: 56.25% 1fr;
		align-items: center;
		gap: var(--m60);
	}
}
.p-mailorder-sec__txt {
	font-size: var(--font18);
}
.p-mailorder-sec__btn {
	margin-top: clamp(13px, 2.3vw, 30px);
}
.p-mailorder__sec02 {
	padding: 30px 0;

	@media (min-width: 640px) {
		padding: var(--m85) 0 var(--m120);
	}
	.p-mailorder-sec__ttl .-en {
		color: #FEF0F1;
	}
}
/* p-mailorder__order
-----------------------------------------------*/
.p-mailorder__order {
	padding: 55px 0 30px;
	background: var(--color03);

	@media (min-width: 640px) {
		padding: var(--m100) 0;
	}
}
.p-mailorder-order__content {
	display: grid;
	justify-content: center;
	gap: 40px;
	margin-top: var(--m80);

	@media (min-width: 960px) {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}
.p-mailorder-order__item {
	max-width: 410px;
	padding: clamp(37px, 3.46vw, 45px) 20px 30px;
	border-radius: 20px;
	background: #fff;
	text-align: center;
	position: relative;

	&::before {
		content: "";
		width: clamp(50px, 4.61vw, 60px);
		aspect-ratio: 1 / 1;
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
		position: absolute;
		left: 50%;
		top: 0;
		transform: translate(-50%, -50%);
	}
}
.p-mailorder-order__item--ec {
	&::before {
		background-image: url(/assets/images/mailorder/mailorder_icon_shop.svg);
	}
}
.p-mailorder-order__item--tel {
	&::before {
		background-image: url(/assets/images/mailorder/mailorder_icon_tel.svg);
	}
}
.p-mailorder-order__item--fax {
	&::before {
		background-image: url(/assets/images/mailorder/mailorder_icon_fax.svg);
	}
}
.p-mailorder-order__ttl {
	padding-bottom: 8px;
	font-size: var(--font20);
	font-weight: 700;
	position: relative;

	&::after {
		content: "";
		width: 45px;
		height: 1px;
		background: var(--color01);
		position: absolute;
		left: 50%;
		bottom: 0;
		translate: -50%;
	}
}
.p-mailorder-order__qr {
	width: 120px;
	margin-inline: auto;
	margin-top: 26px;
}
.p-mailorder-order__link {
	display: block;
	margin-top: 26px;
}
.p-mailorder-order__tel {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 3px;
	color: var(--color01);
	font-size: clamp(24px, 2.46vw, 3.2rem);
	font-weight: 700;

	a {
		color: var(--color01);
	}
}
.p-mailorder-order__time {
	width: fit-content;
	margin-inline: auto;
	padding: 0 16px;
	margin-top: 2px;
	border: 1px solid #707070;
	font-size: var(--font18);
	font-weight: 700;
	line-height: 1.88;
}
.p-mailorder-order__note {
	width: fit-content;
	margin-inline: auto;
	margin-top: 20px;
	font-size: 1.4rem;
	line-height: 1.75;
	text-align: left;
}
/* p-mailorder__shipping
-----------------------------------------------*/
.p-mailorder__shipping {
	padding: var(--m120) 0 var(--m160);
}
.p-mailorder__shipping-item {
	margin-top: var(--m40);

	.-txt {
		margin-top: 15px;
	}
}
.p-mailorder__shipping-ttl {
	gap: var(--m35);
	font-size: var(--font24);

	&::before {
		width: 3px;
	}
}
.p-mailorder__shipping-note {
	margin-top: var(--m30);

	li {
		line-height: 2;
	}
}
/* p-mailorder__law
-----------------------------------------------*/
.p-mailorder__law {
	margin-top: var(--m110);
	text-align: center;
}
.p-mailorder-law__btn {
	width: min(100%, 560px);

	@media (max-width: 639px) {
		padding-right: 50px;
	}
	&::after {
		right: clamp(16px, 3.07vw, 40px);
	}
}
/*=============================================*/
/* PRODUCT INFORMATION */
/*=============================================*/
.p-equipment {
	padding-bottom: var(--m120);
}
.p-l2__header--equipment {
	background-image: url(/assets/images/equipment/title_bg_sp.jpg);

	@media (min-width: 640px) {
		background-image: url(/assets/images/equipment/title_bg.jpg);
	}
	&::after {
		background-image: url(/assets/images/equipment/title_circle.png); 
	}
}
/* p-equipment__intro
-----------------------------------------------*/
.p-equipment__intro {
	padding: clamp(63px, 8.46vw, 110px) 0 clamp(63px, 8.46vw, 110px);
	background: var(--bg);
}
.p-equipment-intro__content {
	max-width: 1440px;

	@media (min-width: 1025px) {
		padding-right: clamp(130px, 32.76vw, 426px);
	}
}
.p-equipment__intro p {
	max-width: 1067px;
	font-size: var(--font26);
	font-weight: 700;
}
/* p-equipment__sec
-----------------------------------------------*/
.p-equipment__sec {
	margin-top: clamp(30px, 6.15vw, 80px);
}
.p-equipment-sec__txt {
	margin-top: clamp(25px, 2.69vw, 35px);
	font-size: var(--font20);
	font-weight: 600;
}
/* SLIDER */
.p-equipment__slider {
	margin-top: clamp(25px, 2.3vw, 30px);
  padding: 0 clamp(18px, 3.53vw, 46px);
  position: relative;
}
.splide__arrows {
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
}
.splide__arrows button {
	cursor: pointer;
	width: clamp(12px, 1.46vw, 19px);
	aspect-ratio: 19 / 35;
}
.splide__pagination {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top: var(--m40);
}
.splide__pagination__page {
  width: 20px;
  aspect-ratio: 1 / 1;
  background-color: #fff;
  border: 1px solid #ACACAC;
  border-radius: 50%;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.splide__pagination__page.is-active {
  background-color: var(--color01);
  border-color: var(--color01);
}

/*=============================================*/
/* COMPANY */
/*=============================================*/
.p-l2__header--company {
	background-image: url(/assets/images/company/title_bg_sp.jpg);

	@media (min-width: 640px) {
		background-image: url(/assets/images/company/title_bg.jpg);
	}
	&::after {
		background-image: url(/assets/images/company/title_circle.png); 
	}
}
.p-company {
	padding: var(--m160) 0 var(--m150);
	background: var(--bg);
}
.p-company__nav {
	display: grid;
	gap: 40px;

	@media (min-width: 640px) {
		gap: var(--m40);
		justify-content: space-between;
		grid-template-columns: repeat(2, minmax(0, 590px));
	}
}
.p-company-link__img {
	background: #fff;
}
.p-company-link__txt {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: fit-content;
	margin-inline: auto;
	margin-top: 16px;
	font-size: var(--font36);
	font-weight: 700;
	line-height: 1.5;
	text-align: center;

	&::after {
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		content: "\e900";
		width: clamp(30px, 3.07vw, 40px);
		aspect-ratio: 1 / 1;
		border: 1px solid var(--color01);
		border-radius: 50%;
		color: var(--color01);
		font-family: 'icomoon' !important;
		font-size: clamp(12px, 1.23vw, 16px);
		font-weight: 400;
	}
}
@media (any-hover: hover) {
	.p-company__link:hover {
		img {
			opacity: 0.6;
		}
		.p-company-link__txt {
			border-bottom: 1px solid var(--color01);
		}
	}
}
/*=============================================*/
/* MESSAGE */
/*=============================================*/
.p-message {
	padding: var(--m160) 0 var(--m150);
	background: var(--bg);
}
.p-message__ttl {
	font-size: var(--font26);
	font-weight: 700;
	line-height: 2;
}
.p-message__container {
	display: grid;
	gap: var(--m40);
	margin-top: var(--m70);

	@media (min-width: 640px) {
		grid-template-columns: 47.65625% 1fr;
	}
}
.p-message__txt {
	font-size: var(--font18);
}
.p-message__sign {
	margin-top: 7px;
	font-size: var(--font20);
	font-weight: 700;
	text-align: right;

	img {
		display: inline-block;
		width: 195px;
	}
}
/*=============================================*/
/* OUTLINE */
/*=============================================*/
.p-outline {
	padding: var(--m160) 0;
}
.p-outline__dltable {
	margin-top: var(--m40);
}
.p-outline__list li {
	display: flex;
	gap: 4px;

	&::before {
		content: "■";
	}
}
.p-outline__dltable {
	.-align {
		padding-left: calc(1em + 4px);
	}
}
.p-history__sec {
	margin-top: clamp(80px, 13.84vw, 180px);
}
.p-history__list {
	display: grid;
	gap: 5px;
	max-width: 1112px;
	margin-inline: auto;
	margin-top: var(--m35);
	position: relative;

	@media (min-width: 640px) {
		grid-template-columns: fit-content(155px) 1fr;
		align-items: baseline;
		gap: var(--m30) var(--m60);
	}

	&::before {
		content: "";
		width: 1px;
		height: 100%;
		background: var(--color02);
		position: absolute;
		left: 8px;
		top: 18px;
	}
}
.p-history__list dt {
	display: flex;
	align-items: center;
	gap: clamp(15px, 2.76vw, 36px);
	font-weight: 600;
	line-height: 2;

	&::before {
		flex-shrink: 0;
		content: "";
		width: 16px;
		aspect-ratio: 1 / 1;
		background: var(--color02);
		border-radius: 50%;
	}
}
.p-history__list dd {
	font-size: var(--font18);
	line-height: 2;

	@media (max-width: 639px) {
		padding-left: calc(16px + clamp(15px, 2.76vw, 36px));
		padding-bottom: 10px;
	}
}
/*=============================================*/
/* TOP PAGE */
/*=============================================*/
/* TITLE
-----------------------------------------------*/
.p-top .c-ttl-h1 {
	line-height: 1.35;
}
.p-top .c-ttl-h1 .-ja {
	font-size: clamp(28px, 4.3vw, 5.6rem);
}
/* p-top__hero
-----------------------------------------------*/
.p-top__hero {
	position: relative;
	z-index: 1;
}
.p-top-hero__link {
	display: grid;
	gap: max(1.86vw, 7px);
	max-width: 1280px;
	margin-top: calc(-1 * max(6.4vw, 24px));

	@media (min-width: 960px) {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--m40);
		margin-top: 0;
		position: absolute;
		top: min(33.59vw, 640px);
		left: 50%;
		translate: -50%;
	}
}
.p-top-hero__link li {
	display: contents;
}
.p-top-hero__link a {
	padding: clamp(15px, 2.25vw, 43px);
	background: var(--color02);
	border: 1px solid #fff;
	border-radius: 8px;
	box-shadow: 0px 0px clamp(8px, 1.23vw, 16px) rgba(43, 2, 5, 0.39);
	color: #fff;
	font-size: clamp(18px, 1.04vw, 2.0rem);
	font-weight: 700;
	text-align: center;

	@media (min-width: 960px) {
		background: var(--color01);
	}

	@media (any-hover: hover) {
		&:hover {
			background: #fff;
			border-color: var(--color01);
			color: var(--color01);
		}
	}
}
.p-top-hero__link a::after {
	margin-left: 16px;

	@media (min-width: 960px) {
		margin-left: 12px;
	}
}
/* p-top__intro
-----------------------------------------------*/
.p-top__intro {
	margin-top: 35px;
	padding: var(--m110) 0 var(--m115);
	background-image: url(/assets/images/top/intro_bg.webp), url(/assets/images/common/bg_noise_red.jpg);
	background-position: center;
	background-size: clamp(288px, 60%, 804px), 100%;
	background-repeat: no-repeat, repeat;
	background-blend-mode: multiply;
	clip-path: ellipse(180% 100% at 50% 100%);

	@media (min-width: 960px) {
		margin-top: calc(-1 * min(7.08vw, 135px));
		clip-path: initial;
	}
}
.p-top-intro__content {
	max-width: 664px;

	@media (min-width: 640px) {
		text-align: center;
	}
}
.p-top-intro__ttl {
	width: fit-content;
	margin-bottom: var(--m50);
	color: #fff;
	font-size: var(--font40);
	font-weight: 700;
	position: relative;

	@media (min-width: 640px) {
		width: 100%;

		&::before {
			content: "";
			width: 30px;
			height: 27px;
			background: url(/assets/images/top/intro_ttl_left.svg) center / contain no-repeat;
			position: absolute;
			left: 0;
			top: 0;
		}
	}
	&::after {
		content: "";
		width: 47px;
		aspect-ratio: 47 / 43;
		background: url(/assets/images/top/intro_ttl_right.svg) center / contain no-repeat;
		position: absolute;
		right: 0;
		top: -10px;

		@media (min-width: 640px) {
			width: 39px;
			top: initial;
			bottom: 0;
		}
	}
}
.p-top-intro__txt {
	color: #fff;
	font-size: clamp(16px, 1.84vw, 2.4rem);
	font-weight: 500;
}
.p-top-intro__em {
	width: fit-content;
	margin: var(--m40) 0;
	padding: clamp(3px, 1.15vw, 15px) clamp(15px, 2.3vw, 30px);
	background: #fff;
	color: var(--color01);
	font-size: clamp(20px, 2.15vw, 2.8rem);
	font-weight: 700;

	@media (min-width: 640px) {
		margin-inline: auto;
	}
}
/* p-top__news
-----------------------------------------------*/
.p-top__news {
	padding: clamp(30px, 7.92vw, 103px) 0 clamp(23px, 5.38vw, 70px);
	overflow: hidden;
}
.p-top-news__container {
	max-width: 1600px;
	margin-inline: auto;
	padding: clamp(40px, 7.69vw, 100px) 0;
	position: relative;

	&::before {
		content: "";
		width: 100vw;
		height: 100%;
		background: var(--color03);
		border-radius: 60px 0 0 0;
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
	}
	@media (min-width: 640px) {
		width: 92%;
	}
}
.p-top-news__content {
	display: grid;
	max-width: 1460px;

	@media (min-width: 640px) {
		grid-template-columns: max-content 1fr;
		align-items: start;
		gap: var(--m100);
	}
}
.p-top-news__body {
	max-width: 960px;
}
.p-top-news__list {
	@media (max-width: 639px) {
		border: 0;
	}
}
.p-top-news__list {
  border-top: 1px solid #ACACAC;
}
.p-top-news__list li {
	display: flex;
	align-items: center;
  padding: 12px 0;
  min-height: 76px;
  border-bottom: 1px solid #ACACAC;
  line-height: 2;
}
.p-top-news__list li time {
  font-family: var(--fontArial);
  font-size: 1.8rem;
  line-height: 2;
}
.p-top-news__list li a {
	display: grid;
  gap: 10px;
  width: 100%;
  padding-right: var(--m100);
  font-weight: 500;
  position: relative;

  @media (min-width: 640px) {
    grid-template-columns: max-content 1fr;
    gap: var(--m50);
	}
}
.p-top-news__list li a::after {
	display: flex;
	align-items: center;
	justify-content: center;
  content: "\e900";
  width: 40px;
  aspect-ratio: 1 / 1;
  background: #fff;
  border: 1px solid var(--color01);
  border-radius: 50%;
  color: var(--color01);
  font-family: 'icomoon' !important;
  font-size: 16px;
  line-height: 1;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all .3s;
}
.p-top-news__list li p {
	align-self: center;
}
@media (any-hover: hover) {
  .p-top-news__list li a:hover p {
    text-decoration: underline;
  }
  .p-top-news__list li a:hover::after {
    background: var(--color01);
    color: #fff;
  }
}
.p-top-news__btn {
	margin-top: var(--m60);
	text-align: center;
}
/* p-top__pro
-----------------------------------------------*/
.p-top__pro {
	padding: clamp(37px, 9.84vw, 128px) 0 clamp(43px, 9.46vw, 123px);
	background: var(--bg);
}
.p-top-pro__content {
	display: grid;
	max-width: 1600px;

	@media (min-width: 640px) {
		grid-template-columns: 40% 56.25%;
		justify-content: space-between;
		gap: 20px;
	}
}
.p-top-pro__intro {
	@media (max-width: 639px) {
		display: contents;

			.c-ttl-h1       { order: 1 }
			.p-top-pro__h3  { order: 3 }
			.-txt           { order: 4 }
			.p-top-pro__btn { order: 5 }
	}
	
}
.p-top-pro__h3 {
	margin-top: var(--m40);
	font-size: clamp(19px, 2.76vw, 3.6rem);
	font-weight: 700;
	line-height: 2;

	@media (min-width: 640px) {
		line-height: 1.66;
	}
}
.p-top-pro__content p {
	margin-top: var(--m30);
	font-size: var(--font18);
	font-weight: 500;
}
.p-top-pro__btn {
	margin-top: var(--m60);
}
.p-top-pro__img {
	@media (max-width: 639px) {
		order: 2;
		margin-top: 20px;
	}
}
/* p-top__banner
-----------------------------------------------*/
.p-top__banner {
	display: grid;
	gap: 20px 0;

	@media (min-width: 640px) {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-top-banner__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(12px, 3.07vw, 40px);
	padding: 30px 20px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;

	&.-product {
		background-image: url(/assets/images/top/product_img.jpg);
	}
	&.-mailorder {
		background-image: url(/assets/images/top/mailorder_img.jpg);
	}
	@media (min-width: 1025px) {
		aspect-ratio: 960 / 480;
	}
}
.p-top-banner__item::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(51, 51, 51, 0.5);
	position: absolute;
	left: 0;
	top: 0;
	transition: .3s;
}
.p-top-banner__item * {
	z-index: 1;
}
.p-top-banner__item .c-ttl-h1 {
	color: #fff;
}
@media (any-hover: hover) {
	.p-top-banner__item:hover {
		&::after {
			opacity: .5;
		}
		.c-btn {
			background: #fff;
			color: var(--color01);
		}
		.c-btn::after {
			background: var(--color01);
			color: #fff;
		}
	}
}
/* p-top__sec (COMMON)
-----------------------------------------------*/
.p-top__sec::before {
	content: "";
	color: #fff;
	font-family: var(--fontRobot);
	font-weight: 700;
	line-height: 1;
	position: absolute;
	top: clamp(20px, 2.3vw, 30px);
	right: 0;
}
/* p-top__about
-----------------------------------------------*/
.p-top__about {
	padding: clamp(84px, 9.23vw, 120px) 0 clamp(50px, 9.23vw, 120px);
	background: var(--color03);
	position: relative;
}
.p-top__about::before {
	content: "G-7 MEAT PLANNING";
	font-size: clamp(37px, 9.23vw, 120px);
}
.p-top-about__content {
	display: flex;
	justify-content: center;
	gap: clamp(12px, 9.23vw, 120px);
}
.p-top-about__item {
	max-width: 413px;
	text-align: center;
}
.p-top-about__img {
	max-width: 413px;
	aspect-ratio: 1 / 1;
	background: #fff;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
}
.p-top-about__item p {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: clamp(13px, 2.3vw, 30px);
	font-size: clamp(20px, 2.76vw, 3.6rem);
	font-weight: 700;
	line-height: 1.5;
}
.p-top-about__item p::after {
	content: "\e900";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--color01);
	border-radius: 50%;
	background: #fff;
	color: var(--color01);
	font-family: 'icomoon' !important;
	font-size: 16px;
}
@media (any-hover: hover) {
	.p-top-about__item:hover img {
		transform: scale(1.15);
		opacity: 0.6;
	}
	.p-top-about__item:hover p::after {
		background: var(--color01);
		color: #fff;
	}
}
/* p-top__insta
-----------------------------------------------*/
.p-top__insta {
	padding: clamp(90px, 11.92vw, 155px) 0 clamp(40px, 9.23vw, 120px);
	background: #F9FAFB;
	position: relative;
}
.p-top__insta::before {
	content: "INSTAGRAM";
	color: #DCDCDC;
	font-size: clamp(53px, 9.23vw, 120px);
	left: 0;
}
.p-top-insta__content {
	max-width: 1600px;
}
/* p-top__movie
-----------------------------------------------*/
.p-top__movie {
	padding: clamp(92px, 13.69vw, 178px) 0 clamp(40px, 9.23vw, 120px);
	background: var(--color03);
	position: relative;
}
.p-top__movie::before {
	content: "MOVIE";
	font-size: clamp(70px, 10.38vw, 135px);
	right: 0;
}
.p-top-movie__content {
	display: grid;
	gap: var(--m60);
	max-width: 1272px;

	@media (min-width: 640px) {
		grid-template-columns: repeat(2, 1fr);
	}
}
.p-top-movie__content figcaption {
	margin-bottom: clamp(16px, 2.15vw, 28px);
	padding-bottom: clamp(8px, 1.15vw, 15px);
	border-bottom: 1px solid #ACACAC;
	font-size: clamp(18px, 1.76vw, 2.3rem);
	font-weight: 500;
}