@charset "utf-8";
/*============================================*/
/* BASE STYLE */
/*============================================*/
/* BOX 
----------------------------------------------*/
.c-content {
  width: 89.333333%;
  max-width: 1200px;
  margin-inline: auto;
  position: relative;
}
/* TITLE
----------------------------------------------*/
.c-ttl-XL {
	font-size: clamp(32px, 3.84vw, 50px);
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1.4
}
.c-ttl-L {
	font-size: clamp(28px, 3.07vw, 40px);
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 1.4
}
.c-ttl-M {
	font-size: clamp(24px, 3.07vw, 32px);
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 1.4;

	@media (min-width: 1025px) {
		line-height: 1.5;
	}
}
.c-ttl-S {
	font-size: clamp(20px, 1.84vw, 24px);
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 1.4;

	@media (min-width: 1025px) {
		line-height: 1.5;
	}
}
.c-ttl-SS {
	font-size: clamp(18px, 1.53vw, 20px);
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 1.5;

	@media (min-width: 1025px) {
		line-height: 1.6;
	}
}
.c-ttl-SSS {
	font-size: clamp(16px, 1.38vw, 18px);
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 1.5;

	@media (min-width: 1025px) {
		line-height: 1.6;
	}
}
/*============================================*/
/* BREADCRUMB */
/*============================================*/
.l-breadcrumb {
  padding-top: 10px;
  position: relative;
}
.l-breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: min(92.916666%, 1784px);
  margin-inline: auto;
}
.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: 4px;
  height: 4px;
  margin: 0 clamp(8px, 1.23vw, 16px);
  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: #F28100;
    text-decoration: none;
  }
}
/*=============================================*/
/* L2 */
/*=============================================*/
.c-lower {
	margin-top: var(--header-height);
	position: relative;
	overflow-x: hidden;

	.l-breadcrumb {
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
		color: #fff;

		&.-black {
			color: #333;
		}
	}
}
.c-lower__header {
	display: flex;
	width: 100%;
	padding-top: clamp(50px, 8.84vw, 115px);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;

	&.-contact {
		background-image: url(/assets/img/contact/contact_ttl.webp);
	}
	&.-news {
		background-image: url(/assets/img/news/news_ttl.webp);
	}
	&.-sustainability {
		background-image: url(/assets/img/sustainability/sustainability_ttl.webp);
	}
	&.-strength {
		background-image: url(/assets/img/strength/strength_ttl.webp);
	}
}
.c-lower-header__box {
	align-self: flex-end;
	width: 100%;
	padding-top: clamp(45px, 8.69vw, 113px);
	padding-bottom: 10px;
	position: relative;

	&::before {
		content: "";
		width: min(83%, 935px);
		height: 100%;
		border-radius: 0px clamp(60px, 9.23vw, 120px) 0px 0px;
		background: #fff;
		position: absolute;
		left: 0;
		bottom: -1px;
	}
}
.c-lower__ttl {
	align-self: flex-end;
	display: grid;
	gap: 3px;
	width: min(89.333333%, 1720px);
	margin-inline: auto;
	padding-right: 17%;
	color: #007A45;
	font-weight: 700;
	letter-spacing: .04em;
	position: relative;

	@media (min-width: 1025px) {
		padding-right: 0;
	}
	.-en {
		font-family: "Open Sans", sans-serif;
		font-size: clamp(40px, 6.15vw, 80px);
		line-height: 1.1;

		@media (min-width: 1025px) {
			line-height: 1.4;
		}
	}
	.-ja {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-size: clamp(24px, 2.46vw, 32px);
		line-height: 1.4;

		@media (min-width: 1025px) {
			line-height: 1.5;
		}
	}
}
.-sustainability .c-lower__ttl .-en {
	font-size: clamp(32px, 6.15vw, 80px);
}
.c-lower__container {
	width: min(89.333333%, 1720px);
	margin-inline: auto;
	margin-top: clamp(40px, 6.15vw, 80px);
	padding: clamp(40px, 6.15vw, 80px) 0 clamp(60px, 9.23vw, 120px);
	background: #F5F5F5;
	position: relative;

	&::before {
		content: "";
		width: 100%;
		height: 100%;
		background: #F5F5F5;
		position: absolute;
		right: calc(50% - 50vw);
		top: 0;
	}
}
/*=============================================*/
/* Sustainability L2 */
/*=============================================*/
.p-sustainability__article .c-lower__container {
	margin-bottom: clamp(60px, 9.23vw, 120px);
}
/*=============================================*/
/* Sustainability L3 */
/*=============================================*/
.p-sustainability .c-ttlHead__l2 {
	background-image: url(/assets/img/sustainability/sustainability_ttl_l2.webp);
}
.p-sustainability-l3 {
	margin-top: clamp(30px, 6.15vw, 80px);
}
.p-sustainability-l3__sec {
	margin-top: clamp(50px, 7.69vw, 100px);

	&.-first {
		margin-top: clamp(35px, 5.38vw, 70px);
	}
}
.p-sustainability-l3__ttl {
	padding-bottom: clamp(12px, 1.53vw, 20px);
	border-bottom: 1px solid #C9C9C9;
}
.p-sustainability-l3__container {
	padding: clamp(40px, 6.15vw, 80px) clamp(20px, 6.15vw, 80px);
	background: #F5F5F5;
}
.p-sustainability-l3__col2 {
	display: grid;
	gap: 35px 0;

	@media (min-width: 768px) {
		grid-template-columns: repeat(2, 1fr);
		gap: clamp(20px, 5.2vw, 80px);
	}
	.c-ttl-SS {
		margin-top: clamp(20px, 2.69vw, 35px);
	}
	.-txt {
		margin-top: 5px;
	}
}
.p-sustainability-l3__col3 {
	display: grid;
	gap: 35px 0;
	margin-top: clamp(20px, 3.07vw, 40px);

	@media (min-width: 768px) {
		grid-template-columns: repeat(3, 1fr);
		gap: 35px clamp(20px, 3.25vw, 60px);
	}
	.c-ttl-SS {
		margin-top: clamp(15px, 1.92vw, 25px);
	}
	.-txt {
		margin-top: 5px;
	}
}
.p-sustainability .-mt20 {
	margin-top: clamp(15px, 1.53vw, 20px) !important;
}
.p-sustainability .-mt25 {
	margin-top: clamp(15px, 1.92vw, 25px) !important;
}
.p-sustainability .-mt35 {
	margin-top: clamp(20px, 2.69vw, 35px) !important;
}
.p-sustainability .-mt40 {
	margin-top: clamp(20px, 3.07vw, 40px) !important;
}
.p-sustainability .-mt45 {
	margin-top: clamp(25px, 3.46vw, 45px) !important;
}
.p-sustainability .-mt50 {
	margin-top: clamp(30px, 3.84vw, 50px) !important;
}
.p-sustainability .-mt55 {
	margin-top: clamp(30px, 4.23vw, 55px) !important;
}
.p-sustainability .-mt60 {
	margin-top: clamp(30px, 5vw, 65px) !important;
}
.p-sustainability .-mt65 {
	margin-top: clamp(30px, 4.61vw, 60px) !important;
}
.p-sustainability .-mt70 {
	margin-top: clamp(35px, 5.38vw, 70px) !important;
}
.p-sustainability .-mt100 {
	margin-top: clamp(50px, 7.69vw, 100px) !important;
}
/*=============================================*/
/* L3 - サステナビリティ経営方針 */
/*=============================================*/
.p-sustainability__policy .-container {
	padding: clamp(30px, 6.15vw, 80px) clamp(20px, 5.33vw, 80px) clamp(35px, 5.38vw, 70px);
	background: #fff;

	.c-ttl-M {
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 700;
	}
}
.p-sustainability__policy .-txt {
	display: grid;
	gap: 2em;
	margin-top: clamp(20px, 2.3vw, 30px);
}
.p-sustainability__policy .-name {
	display: grid;
	gap: 0;
	margin-top: clamp(20px, 2.3vw, 30px);
	text-align: right;

	@media (min-width: 600px) {
		grid-template-columns: repeat(2, max-content);
		gap: 1em;
		justify-content: end;
	}
}
.p-sustainability__policy-img {
	max-width: 910px;
	margin-inline: auto;
	margin-top: clamp(35px, 5.38vw, 70px);
	padding: 26px clamp(10px, 3.76vw, 49px);
	border: 1px solid #C9C9C9;
	text-align: center;
	position: relative;

	button {
		width: clamp(30px, 2.92vw, 38px);
		aspect-ratio: 1 / 1;
		position: absolute;
		right: 0;
		bottom: 0;
	}
}
/* モーダル */
.p-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 30px;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity 0.3s,
    visibility 0.3s;

  &.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
.p-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
  }

  .p-modal__content {
    position: relative;
    z-index: 1;

    width: 100%;
    max-width: 1200px;
    max-height: 90vh;

    overflow: auto;

    background: #fff;
    padding: 30px;
  }

  .p-modal__image {
    display: block;
    width: 100%;
    height: auto;
  }

  .p-modal__close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    border: 0;
    background: #fff;

    font-size: 28px;
    cursor: pointer;
  }

/* モーダル表示中は背景をスクロールさせない */
body.is-modal-open {
  overflow: hidden;
}
/*=============================================*/
/* L3 - 地域・社会との取り組み */
/*=============================================*/
.p-sustainability__social-mottainai {

	.p-sustainability-l3__container {
		padding-top: clamp(20px, 3.07vw, 40px);
		padding-bottom: clamp(20px, 3.07vw, 40px);
	}
	.p-sustainability-l3__col2 {
		@media (max-width: 767px) {
			gap: 20px;
		}
	}
}
.p-sustainability__social-dl {
	display: grid;
	padding: clamp(20px, 2.92vw, 38px) clamp(30px, 3.84vw, 50px);
	background: #fff;

	@media (min-width: 768px) {
		grid-template-columns: auto 1fr;
		align-items: center;
	}
	&.-thin {
		padding-top: clamp(20px, 2.38vw, 31px);
		padding-bottom: clamp(20px, 2.38vw, 31px);
	}
	
	dt {
		font-size: clamp(18px, 1.53vw, 20px);
		font-weight: 500;
		line-height: 1.6;

		@media (min-width: 768px) {
			padding-right: clamp(20px, 3.07vw, 40px);
		}
	}
	dd {
		color: #007A45;
		font-size: clamp(18px, 1.53vw, 20px);
		font-weight: 500;
		line-height: 1.6;

		&.-font24 {
			font-size: clamp(20px, 1.84vw, 24px)
		}
		@media (min-width: 768px) {
			padding-left: clamp(20px, 3.07vw, 40px);
			border-left: 1px solid #929292;

			&.-col {
				display: flex;
				align-items: center;
				gap: clamp(10px, 1.69vw, 22px);
				font-size: clamp(22px, 2.15vw, 28px);
			}
			.-item {
				flex-shrink: 0;
			}
		}
		.-supp {
			color: #333;
			font-size: clamp(14px, 1.23vw, 16px);
		}
	}
}
.p-sustainability__social-dl.-bgGray {
	background: #F5F5F5;
}
.p-sustainability-l3__sec.-community {

	.p-sustainability-l3__container {
		padding-top: clamp(30px, 4.61vw, 60px);
	}
	.-read {
		margin-top: 5px;
	}
	h4 {
		margin-top: clamp(20px, 2.69vw, 35px);
		color: #007A45;
	}
	hr {
		margin: clamp(30px, 4.61vw, 60px) 0;
		border-top: 1px solid #C9C9C9;
	}
	.-as-of {
		margin-top: 10px;
	}
	.-img {
		width: min(100%, 465px);
		margin-top: clamp(20px, 2.69vw, 35px);
	}
}
.p-sustainability__social-dlbox {
	display: grid;
	gap: 20px 0;

	@media (min-width: 768px) {
		grid-template-columns: auto 1fr;
	}
	.p-sustainability__social-dl {
		margin-top: 0;

		@media (min-width: 768px) {
			grid-template-columns: subgrid;
	  	grid-column: 1 / -1;
		}
	}
}
/* 障害のある方との協働 */
@media (min-width: 768px) {
	.p-sustainability__social-dl.-align {
		grid-template-columns: min(100%, 300px) 1fr;
	}
}
/*=============================================*/
/* L3 - 安全・安心の取り組み */
/*=============================================*/
.-safety-system .p-sustainability-l3__container {
	padding-top: clamp(30px, 5.23vw, 68px);
	padding-bottom: clamp(30px, 5.23vw, 68px);

	.-txt {
		max-width: 940px;
		margin-inline: auto;
		font-size: clamp(16px, 1.53vw, 20px);
		font-weight: 500;
		line-height: 1.6;
	}
}
.p-sustainability__safety-inspection__box {
	display: grid;
	gap: 30px;
	margin-top: clamp(20px, 3.07vw, 40px);

	@media (min-width: 768px) {
		display: flex;
		justify-content: space-between;
		align-items: start;
	}
	.-body {
		display: grid;
		gap: clamp(20px, 3.07vw, 40px);

		@media (min-width: 768px) {
			max-width: 420px;
		}
	}

	img {
		@media (min-width: 768px) {
			width: min(100%, 617px);
		}
	}
}
.p-sustainability__safety-box {
	display: grid;
	gap: 30px;

	@media (min-width: 768px) {
		display: flex;
		justify-content: space-between;
		align-items: start;
	}
	p {
		max-width: 680px;
	}
	img {
		width: min(100%, 376px);
	}
}
/*=============================================*/
/* L3 - 環境への取り組み */
/*=============================================*/
.p-sustainability__environment {
	margin-bottom: clamp(60px, 9.23vw, 120px);

	.p-sustainability-l3__container {
		padding-top: clamp(30px, 4.23vw, 55px);
	}
	.p-sustainability__social-dl {
		padding-top: clamp(20px, 3.84vw, 50px);
		padding-bottom: clamp(20px, 3.84vw, 50px);

		.-small {
			margin-left: 23px;
			color: #333;
			font-size: clamp(14px, 1.23vw, 16px);
			font-weight: 400;
		}
	}
}
.p-sustainability__environment-decarbon {
	margin-top: clamp(20px, 3.07vw, 40px);

	.-total {
		margin-top: 10px;
		color: #007A45;
		font-size: clamp(20px, 1.84vw, 24px);
		font-weight: 500;
	}
	hr {
		height: 1px;
		margin: clamp(20px, 3.07vw, 40px) 0;
		border: 0;
		background: #929292;
	}
	.-box {
		display: grid;

		@media (min-width: 600px) {
			display: flex;
		}
		hr {
			@media (min-width: 600px) {
				width: 1px;
				height: initial;
				margin: 0 clamp(30px, 4.61vw, 60px) 0 clamp(35px, 5.38vw, 70px);
			}
		}
		.-item01-box {
			display: flex;
			align-items: baseline;
		}
		.-data {
			color: #007A45;
			font-weight: 500;
		}
		.-num {
			font-size: clamp(20px, 2.15vw, 28px);
		}
		.-unit {
			margin-left: 8px;
			font-size: clamp(16px, 1.53vw, 20px);
		}
		.-year {
			font-size: clamp(14px, 1.23vw, 16px);
		}
	}
}
.p-sustainability__environment-decarbon-img {
	margin-top: clamp(25px, 4.15vw, 54px);
	text-align: center;

	img {
		width: min(100%, 658px);
	}
}
.p-sustainability__environment-fourstars {
	display: grid;
	gap: 20px;
	margin-top: clamp(30px, 4.61vw, 60px);

	@media (min-width: 960px) {
		grid-template-columns: 36.153846% 1fr;
		gap: clamp(30px, 5.38vw, 70px);
	}
	.-read {
		margin-top: 10px;
	}
}
.p-sustainability__environment-fourstars-box {
	margin-top: 20px;
	padding: clamp(20px, 2.07vw, 27px);
	background: #fff;

	.-inner {
		width: fit-content;
		margin-inline: auto;
	}
	.-txt {
		font-size: clamp(16px, 1.53vw, 20px);
		font-weight: 500;
	}
	.-data {
		
		@media (min-width: 600px) {
			display: flex;
			gap: clamp(20px, 2.15vw, 28px);
		}
		p {
			display: flex;
			align-items: center;
			gap: 12px;
			line-height: 1.5;
			font-weight: 500;
		}
		.-num {
			color: #007A45;
			font-size: clamp(20px, 2.15vw, 28px);
		}
	}
}
/*=============================================*/
/* L3 - 製品の検査・分析 */
/*=============================================*/
.-university .p-sustainability-l3__container {
	padding-top: clamp(30px, 4.23vw, 55px);
	padding-bottom: clamp(30px, 4.61vw, 60px);
}
.p-sustainability__education-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(10px, 1.53vw, 20px);
	margin-top: clamp(20px, 2.3vw, 30px);

	@media (min-width: 600px) {
		grid-template-columns: repeat(3, 1fr);
	}
	@media (min-width: 1025px) {
		grid-template-columns: repeat(5, 1fr);
	}
	li {
		padding: clamp(13px, 1.15vw, 15px);
		background: #39A576;
		border-radius: 10px;
		color: #fff;
		font-size: clamp(15px, 1.38vw, 18px);
		font-weight: 500;
		text-align: center;
		line-height: 1.5;
	}
}
.p-sustainability__education-box {
	margin-top: clamp(30px, 4.61vw, 60px);
	padding: clamp(20px, 3.07vw, 40px) clamp(20px, 6.15vw, 80px) clamp(25px, 3.46vw, 45px);
	background: #fff;

	.-year {
		font-size: clamp(16px, 1.38vw, 18px);
		font-weight: 500;
	}
	.-ttl {
		color: #007A45;
		font-size: clamp(22px, 2.15vw, 28px);
		font-weight: 500;
		line-height: 1.5;
	}
	.-txt {
		margin-top: 10px;
	}
}
/*=============================================*/
/* Strength L2 */
/*=============================================*/
.p-strength__container {
	margin-bottom: clamp(60px, 9.23vw, 120px);
}
.p-strength__read {
	margin-top: 15px;
	font-size: clamp(18px, 1.53vw, 20px);
}
.p-strength-sec {
	margin-top: clamp(40px, 6.15vw, 80px);
	padding: clamp(30px, 4.61vw, 60px) clamp(20px, 6.15vw, 80px) clamp(40px, 6.15vw, 80px);
	background: #fff;
	border-radius: 10px;
}
.p-strength-sec__head {
	display: flex;
	align-items: center;
	color: #007A45;
	font-family: "Open Sans", sans-serif;
	font-size: clamp(20px, 1.84vw, 24px);
	font-weight: 700;
	line-height: 1.4;
	position: relative;

	&::after {
		flex-grow: 1;
		content: "";
		width: auto;
		height: 1px;
		background: #007A45;
	}
	.-num {
		margin-left: 10px;
		margin-right: clamp(10px, 2.46vw, 32px);
		font-size: clamp(26px, 2.92vw, 38px);
	}
}
.p-strength-sec__box {
	display: grid;
	gap: clamp(30px, 4.61vw, 60px);
	margin-top: clamp(20px, 3.07vw, 40px);

	@media (min-width: 768px) {
		grid-template-columns: 37.115384% 1fr;
	}
}
.p-strength-sec__box-body {

	p {
		margin-top: 15px;
	}
}
.p-strength__btn {
	margin-top: clamp(20px, 2.3vw, 30px);

	a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: min(100%, 300px);
		height: 64px;
		padding: 0 clamp(8px, 1.23vw, 16px) 0 clamp(15px, 1.92vw, 25px);
		background-color: #F28100;
		border: 1px solid #F28100;
		border-radius: 12px;
		color: #fff;
		font-size: clamp(16px, 1.38vw, 18px);
		font-weight: 500;
		transition: 0.3s;

		&::after {
			flex-shrink: 0;
			content: "";
	  	width: 12px;
	  	height: 10px;
	  	background: url(/assets/img/common/ic_btn_arrow_w.svg) center / contain no-repeat;
	  	transition: 0.3s;
		}
	}
}
.p-strength__btn.-col {
	display: grid;
	gap: clamp(15px, 1.53vw, 20px);

	@media (min-width: 640px) {
		display: flex;

		a {
			max-width: 250px;
		}
	}
}
@media (any-hover: hover) {
	.p-strength__btn a:hover {
		background: #fff;
		color: #F28100;

		&::after {
			background-image: url(/assets/img/common/ic_btn_arrow_o.svg);
		}
	}
}
/*=============================================*/
/* Other Page */
/*=============================================*/
.c-page {
	margin-top: var(--header-height);
	padding-bottom: clamp(60px, 9.23vw, 120px);
}
/* お問い合わせで使用
-----------------------------------------------*/
.c-page__ttl {
	padding-bottom: 18px;
	position: relative;

	&::after {
		content: "";
		width: 80px;
		height: 2px;
		background: #007A45;
		position: absolute;
		left: 0;
		bottom: 0;
	}
}
.c-page__container {
	padding: clamp(40px, 6.15vw, 80px) 0 clamp(60px, 9.23vw, 120px);
	background: #F5F5F5;
}
.c-page__body {
	padding: clamp(40px, 6.15vw, 80px) 0;
	background: #fff;
}
/* Other
-----------------------------------------------*/
.c-subcontent {
	margin-top: 85px;
}
.c-subcontent__read {
	margin-top: clamp(20px, 2.69vw, 35px);
	margin-bottom: clamp(40px, 6.15vw, 80px);
}
.c-subcontent-sec + .c-subcontent-sec {
	margin-top: clamp(20px, 2.69vw, 35px);
}
.c-subcontent__ttl {
	padding-left: 20px;
	position: relative;

	&::before {
		content: "";
		width: 10px;
		aspect-ratio: 1 / 1;
		background-color: #007A45;
		position: absolute;
		left: 0;
		top: 0.8em;
		transform: translateY(-50%);
	}
}
.c-subcontent-sec p {
	margin-top: 10px;
}
.c-subcontent__ol {
	margin-top: 10px;
	padding-left: 4.5em;
  list-style-type: decimal;
}
/*=============================================*/
/* Site Map */
/*=============================================*/
.p-sitemap__container {
	margin-top: clamp(40px, 6.15vw, 80px);

	@media (min-width: 768px) {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: clamp(25px, 3.46vw, 45px);
	}
}
.p-sitemap__list > li {
	padding-top: clamp(20px, 2.69vw, 35px);
	padding-bottom: clamp(20px, 2.69vw, 35px);
	border-top: 1px solid #C9C9C9;
}
.p-sitemap__list-link {
	font-size: clamp(16px, 1.53vw, 20px);
	font-weight: 700;

	&::before {
		content: "›";
		margin-right: 3px;
	}
}
.p-sitemap__l3list {
	margin-top: 7px;
}
.p-sitemap__l3list li {
	font-size: clamp(16px, 1.38vw, 18px);

	a::before {
		content: "›";
		margin-right: 3px;
	}
}
.p-sitemap__l3list-ttl {
	display: block;
	font-weight: 500;

	&::before {
		content: "-";
		margin-right: 0.3em;
	}
}
.p-sitemap__l4list {
	margin-left: 0.5em;
}
@media (any-hover: hover) {
	.p-sitemap__list a:hover {
		color: #F28100;
	}
}
/*=============================================*/
/* News L2 */
/*=============================================*/
.p-news {
	padding-bottom: clamp(40px, 7.3vw, 95px);
}
.p-news__container {
	padding-bottom: clamp(40px, 6.15vw, 80px);
}
.p-archive__ttl {
	margin-bottom: clamp(15px, 1.53vw, 20px);
	color: #007A45;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
/* Pagination
-----------------------------------------------*/
.c-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin-top: clamp(40px, 6.15vw, 80px);
}
.c-pagination li > * {
  display: block;
  min-width: 30px;
  height: 45px;
  padding: 5px;
  background: #fff;
  border: 1px solid #DCDCDC;
  color: #333;
  line-height: 33px;
  text-align: center;
}
.c-pagination .current {
  background: #F28100;
  border-color: #F28100;
  color: #fff;
}
@media (any-hover: hover) {
  .c-pagination li a:hover {
    text-decoration: none;
  }
}
.c-pagination .disabled {
  display: none;
}
/* Archive
-----------------------------------------------*/
.c-archive__nav {
	margin-top: clamp(40px, 5.76vw, 75px);
}
.c-archive__list-ttl {
	color: #007A45;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.c-archive__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, clamp(135px, 13.84vw, 180px));
  gap: clamp(15px, 1.84vw, 24px);
  margin-top: clamp(15px, 1.53vw, 20px);
}
.c-archive__list li {
	display: contents;
}
.c-archive__list li a {
	padding: clamp(15px, 1.53vw, 20px);
	border: 1px solid #C9C9C9;
	border-radius: 8px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: clamp(16px, 1.38vw, 18px);
	font-weight: 500;
  line-height: 1;
  position: relative;
  transition: .3s;
}
.c-archive__list li a::before {
  content: "";
  width: 12px;
  aspect-ratio: 12 / 10;
  background: url(/assets/img/common/ic_btn_arrow_o.svg) center / contain no-repeat;
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
}
@media (any-hover: hover) {
  .c-archive__list li a:hover {
    border-color: #F28100;
  }
}
/*=============================================*/
/* News - Post */
/*=============================================*/
.p-post {
	margin-top: var(--header-height);
	padding-bottom: clamp(60px, 9.23vw, 120px);

	.l-breadcrumb {
		background: #FCF7F1;
	}
}
.p-post__header {
	padding: clamp(25px, 4.38vw, 57px) 0 clamp(50px, 7.92vw, 103px);
	background: #FCF7F1;
	position: relative;

	time {
		color: #F28100;
		font-size: clamp(16px, 1.53vw, 20px);
	}
	h1 {
		margin-top: clamp(15px, 1.53vw, 25px);
	}
}
.p-post__container {
	padding-top: clamp(40px, 6.15vw, 80px);
}
/* Post */
.p-post__content {
	margin-bottom: var(--m80);
}
.p-post__content h2 {
  margin: 25px 0;
  font-size: clamp(24px, 3.07vw, 32px);
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 1.4;
}
.p-post__content h3 {
  margin: 25px 0;
  font-size: clamp(20px, 2.15vw, 28px);
  font-weight: 500;
  letter-spacing: .04em;
	line-height: 1.4;
}
.p-post__content h4 {
  margin: 25px 0;
  font-size: clamp(20px, 1.84vw, 24px);
  font-weight: 500;
  letter-spacing: .04em;
  line-height: 1.4;
}
.p-post__content h5 {
	margin: 25px 0;
}
.p-post__content h6 {
	margin: 25px 0;
}
.p-post__content p {
  line-height: 2;
}
.p-post__content a {
  color: #F28100;
  text-decoration: underline;
}
.p-post__content a.pdf {
  display: inline-flex;
  align-items: flex-start;
  gap: 14px;
  color: #D95846;
  font-weight: 500;
	text-decoration: underline;
}
.p-post__content a.pdf::before {
  flex-shrink: 0;
  content: "";
  width: 24px;
  aspect-ratio: 24 / 29;
  background: url(/assets/img/common/icon_pdf.png) center / contain no-repeat;
}
@media (any-hover: hover) {
  .p-post__content a:hover {
    text-decoration: none;
  }
}
/*.p-post__content ul {
  padding-left: 0;
}
.p-post__content ul li {
  padding-left: 20px;
  text-indent: -20px;
  font-size: clamp(16px, 1.38vw, 18px);
  font-weight: 500;
  line-height: 2;
}
.p-post__content ul li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px;
  background: #333;
  border-radius: 50%;
  position: relative;
  bottom: 2px;
}*/
/*.p-post__content ol {
  padding-left: 1.2em;
  list-style-type: decimal;
}
.p-post__content ol li {
	font-size: clamp(16px, 1.38vw, 18px);
  line-height: 2;
}*/
.p-post__content img {
	width: auto;
  max-width: min(100%, 1000px);
  height: auto;
	margin-top: 20px;
	margin-bottom: 20px;
}
.p-post__content a:hover img {
	opacity: 0.8;
}
.p-post__content p:has(iframe) {
	margin-top: clamp(20px, 3.84vw, 50px);
	margin-bottom: clamp(20px, 3.84vw, 50px);
}
.p-post__content iframe {
	max-width: 100%;
	aspect-ratio: 16 / 9;
  height: 100%;
  margin-top: 5px;
}
.p-post__content table {
	width: 100%;
	margin: 10px 0;
  border-collapse: collapse;
  border-top: 1px solid #C9C9C9;
}
.p-post__content thead {
  border-bottom: 0;
}
.p-post__content table tr {
  border-bottom: 1px solid #C9C9C9;
}
.p-post__content table th,
.p-post__content table td {
  padding: 17px 20px;
  border: 0;
  vertical-align: middle;
  font-size: 1.6rem;
  line-height: 1.75;
}
.p-post__content table th {
  background: #F5F5F5;
  font-weight: 400;
  text-align: center;
}
.p-post__content table th + th {
  border-left: 1px solid #C9C9C9;
}
.p-post__content table th + td,
.p-post__content table td + td {
  border-left: 1px solid #C9C9C9;
}
.aligncenter {
	text-align: center;
}
.alignleft {
  text-align: left;
}
.alignright {
  text-align: right;
}
/* Btn */
.p-post__btn {
	display: flex;
	justify-content: center;
	align-items: center;
  width: min(70%, 300px);
  height: clamp(50px, 6.76vw, 88px);
  margin-inline: auto;
  margin-top: clamp(40px, 6.15vw, 80px);
  background: #F28100;
  border: 1px solid #F28100;
  border-radius: 44px;
  color: #fff;
  font-size: clamp(16px, 1.38vw, 18px);
  font-weight: 500;
  transition: .3s;
  cursor: pointer;
}
@media (any-hover: hover) {
  .p-post__btn:hover {
    background: #fff !important; /* システムで上書きされるため */
    color: #F28100 !important;
  }
}
/*=============================================*/
/* Contact L2 */
/*=============================================*/
.p-contact {
	margin-bottom: clamp(60px, 9.23vw, 120px);
}
.p-contact__container {
	width: min(89.333333%, 1720px);
	margin-inline: auto;
	margin-top: clamp(40px, 6.15vw, 80px);
	padding: clamp(40px, 6.15vw, 80px) 0 clamp(60px, 9.23vw, 120px);
	background: #F5F5F5;
	position: relative;

	&::before {
		content: "";
		width: 100%;
		height: 100%;
		background: #F5F5F5;
		position: absolute;
		right: calc(50% - 50vw);
		top: 0;

		@media (min-width: 1025px) {
			
		}
	}
}
.p-contact__sec + .p-contact__sec {
	margin-top: clamp(40px, 6.15vw, 80px);
}
.p-contact__ttl {
	display: flex;
	align-items: center;
	gap: 16px;

	&::before {
		flex-shrink: 0;
		content: "";
		width: 40px;
		aspect-ratio: 1 / 1;
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
	}
	&.-mail {
		&::before {
			background-image: url(/assets/img/contact/icon_mail.svg);
		}
	}
	&.-tel {
		&::before {
			background-image: url(/assets/img/contact/icon_tel.svg);
		}
	}
}
.p-contact__list {
	display: grid;
	gap: 20px;
	margin-top: clamp(20px, 2.3vw, 30px);

	li {
		display: contents;
	}
	a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: clamp(13px, 1.92vw, 25px) clamp(15px, 2.3vw, 30px) clamp(13px, 1.92vw, 25px) clamp(20px, 4.3vw, 56px);
		background: #fff;
		border: 1px solid #fff;
		border-radius: 10px;
		font-size: clamp(20px, 1.84vw, 24px);
		font-weight: 500;
		line-height: 1.5;
		transition: .3s;

		&::after {
			content: "";
			width: clamp(40px, 4.3vw, 56px);
			aspect-ratio: 1 / 1;
			background: url(/assets/img/contact/arrow_wh.svg) center / 12px 10px no-repeat #F28100;
			border: 1px solid #F28100;
			border-radius: 8px;
			transition: .3s;
		}
		@media (any-hover: hover) {
			&:hover {
				color: #F28100;
				border-color: #F28100;

				&::after {
					background-image: url(/assets/img/contact/arrow_or.svg);
					background-color: #fff;
				}
			}
		}
	}
}
.p-contact__tel {
	display: grid;
	gap: 5px;
	margin-top: clamp(20px, 2.3vw, 30px);
	padding: clamp(30px, 4.61vw, 60px);
	background: #fff;
	border: 1px solid #fff;
	text-align: center;

	p {
		line-height: 1.5;
	}
	.-num {
		color: #F28100;
		font-size: clamp(28px, 3.07vw, 40px);
		font-weight: 500;
	}
}
/*=============================================*/
/* Contact L3 */
/*=============================================*/
.p-contactL3__header {
	padding-top: clamp(40px, 6.3vw, 82px);
	padding-bottom: clamp(35px, 5.76vw, 75px);
}
.p-contactL3__read {
	min-height: calc(2em * 3);
	margin: 0;
	margin-top: clamp(20px, 2.69vw, 35px);
}
/* フォームエリア
-----------------------------------------------*/
.c-form {
	width: min(89.333333%, 1000px);
	margin-inline: auto;

	p {
		margin-bottom: 0;
	}
}
.c-form__item {
  display: grid;
  align-items: center;
  border-top: 1px solid #C9C9C9;
}
@media (min-width: 1025px) {
  .c-form__item {
    grid-template-columns: 34% 1fr;
  }
}
.c-form__item:nth-last-of-type(2) {
	border-bottom: 1px solid #C9C9C9;
}
.c-form__label,
.c-form__input {
  padding: clamp(15px, 1.92vw, 25px) 0;
  font-size: clamp(16px, 1.38vw, 18px);
  line-height: 1.66;
}
@media (max-width: 1024px) {
  .c-form__label {
    padding-bottom: 0;
  }
}
@media (min-width: 1025px) {
  .c-form__label.-alignS {
    align-self: start;
  }
}
.c-form__label label {
  display: flex;
  align-items: baseline;
  gap: clamp(15px, 1.53vw, 20px);
  font-weight: 500;
}
.c-form__mark {
  flex-shrink: 0;
  width: 50px;
  padding: 5px;
  border-radius: 3px;
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(12px, 1.15vw, 15px);
  font-weight: 400;
  line-height: 1;
  text-align: center;
}
.c-form__mark.is-required {
  background: #FE0000;
}
.c-form__mark.is-any {
  background: #A2A2A2;
}
.c-form__input {
  font-weight: 500;

  .-note {
  	margin-top: 6px;
  	color: #FE0000;
  	line-height: 1.5;
  }
}
.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.16vw, 50px);
  padding: 5px clamp(10px, 1.53vw, 20px);
  border: 1px solid #B4B4B4;
  border-radius: 5px;
  font-family: inherit;
  font-size: clamp(16px, 1.38vw, 18px);
}
.c-form textarea {
  height: 150px;
  line-height: 1.5;
}
/* Select Box */
.c-form__select {
  position: relative;

  &.-inquiry {
  	max-width: 400px;
  }
  &.-address1 {
  	max-width: 240px;
  }
}
.c-form__select select {
  background: #fff;
  font-weight: 500;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}
/* Radio Botton */
.c-form__radio {
  display: grid;
  gap: var(--m40);
}
.c-form__radio li label {
  display: flex;
  align-items: center;
  gap: 10px;
}
input[type="radio"] {
	flex-shrink: 0;
	-webkit-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	margin: 0;
  border: 1px solid #707070;
  border-radius: 50%;
  position: relative;
}
input[type="radio"]::before {
	content: "";
	width: 18px;
	aspect-ratio: 1 / 1;
	margin: auto;
  background-color: #333333;
  border-radius: 50%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0;
}
input[type="radio"]:checked {
	border-color: #333333;
}
input[type="radio"]:checked::before {
  opacity: 1;
}
/* Check Box */
.c-form__checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
}
.c-form__checkbox input {
	flex-shrink: 0;
}
input[type=checkbox] {
	appearance: none;
	width: 18px;
  aspect-ratio: 1 / 1;
  background: #fff;
	border: 1px solid #333;
	border-radius: 50%;
	position: relative;
	top: 1px;
}
input[type=checkbox]::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: url("/assets/img/contact/ico_check.svg") center / 55% no-repeat;
  position: absolute;
  inset: 0;
}
input[type=checkbox]:checked::before {
	opacity: 1;
}
/* Zip */
.c-form__input.-zip input {
	max-width: 240px;
}
/* Privacy */
.c-form__input .-link {
	display: block;
	margin-top: 5px;
	color: #F28100;
	font-weight: 400;
	text-decoration: underline;
}
/* placeholder */
::placeholder {
  color: rgba(51, 51, 51, 0.2);
  font-weight: 500;
}
:-ms-input-placeholder {
  font-weight: 500;
}
/* ERROR */
.c-form .-error {
  margin-bottom: 5px;
  color: #FE0000;
}
.c-form .-error p {
  margin: 0;
  line-height: 1.5;
}
.c-form .-error.-alignC {
  margin-bottom: 20px;
  padding: 5px 10px;
  background: #FFEEEE;
  text-align: center;
}
/* Confirm */
.c-form__input .-textarea {
	max-width: 572px;
}
/* BUTTON */
.c-form__submit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(15px, 2.3vw, 30px);
  margin-top: clamp(30px, 3.07vw, 40px);
  text-align: center;
}
@media (min-width: 600px) {
	.c-form__submit {
		flex-direction: row;
	}
}
.c-form__submit .-btn {
	display: flex;
	justify-content: center;
	align-items: center;
  width: min(70%, 300px);
  height: clamp(50px, 6.76vw, 88px);
  background: #F28100;
  border: 1px solid #F28100;
  border-radius: 44px;
  color: #fff;
  font-size: clamp(16px, 1.38vw, 18px);
  font-weight: 500;
  transition: .3s;
  cursor: pointer;
}
.c-form__submit .-btn.-back {
  background: #fff;
  border-color: #333;
  color: #333;
}
@media (any-hover: hover) {
  .c-form__submit .-btn:hover {
    background: #fff !important; /* システムで上書きされるため */
    color: #F28100 !important;
  }
  .c-form__submit .-btn.-back:hover {
    background: #F28100 !important;
    border-color: #F28100;
    color: #fff !important;
  }
}
/*=============================================*/
/* Thanks Page */
/*=============================================*/
.p-thanks {
	padding-top: clamp(40px, 6.3vw, 82px);
}
.p-thanks__read {
	margin-top: clamp(20px, 2.69vw, 35px);
}
.p-thanks .c-form__submit {
	display: block;
	margin-top: clamp(30px, 4.23vw, 55px);
}