/* Source of truth for message page styles. Do not edit css/message.css directly. */
/*
@mixin title-h3 {
position: relative;
margin: 53px 0 21px;
padding-left: 26px;
padding-bottom: 19px;
border-bottom: 1px solid var(--color-border);
font-weight: 700;
font-size: 33px;
line-height: 1.5;

@include media(sp) {
margin: 33px 0 15px;
padding-left: 15px;
padding-bottom: 14px;
font-size: 18px;
line-height: 1.4;
}

&::before {
content: "";
position: absolute;
top: 6px;
bottom: 29px;
left: 0;
width: 7px;
background-color: var(--color-main);

@include media(sp) {
top: 1px;
bottom: 14px;
left: 0;
width: 5px;
}
}
}
*/
.message-page {
  background: var(--color-bg-soft);
}
.message-main {
  padding-top: 0;
}
.message-intro {
  margin: 40px auto 100px;
  padding: 50px 60px 58px;
  max-width: var(--inner-width);
  background-color: #fff;
}
@media print, screen and (max-width: 1201px) {
  .message-intro {
    margin: 0 30px;
    width: auto;
  }
}
@media screen and (max-width: 1024px) {
  .message-intro {
    padding-bottom: 90px;
  }
}
@media screen and (max-width: 767px) {
  .message-intro {
    padding: 20px 20px 30px;
    margin: 0 20px 20px;
  }
}
.message-intro__layout {
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .message-intro__layout {
    width: 100%;
  }
}
.message-intro__visual {
  position: relative;
  width: 88%;
}
@media screen and (max-width: 767px) {
  .message-intro__visual {
    width: 100%;
  }
}
.message-intro__visual img {
  display: block;
  width: 100%;
  height: auto;
}
.message-intro__panel {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 21px 20px 38px;
  background-color: #fff;
  border-left: 2px solid var(--color-main);
  min-height: 58%;
}
@media screen and (max-width: 1024px) {
  .message-intro__panel {
    right: -30px;
  }
}
@media screen and (max-width: 860px) {
  .message-intro__panel {
    padding: 20px 0px 20px 18px;
  }
}
@media screen and (max-width: 767px) {
  .message-intro__panel {
    position: static;
    padding: 14px 5px 7px;
    transform: none;
    border-left: none;
    min-height: unset;
  }
}
.message-intro__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 10px;
  color: var(--color-main);
  font-family: var(--font-en);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: capitalize;
}
@media screen and (max-width: 860px) {
  .message-intro__eyebrow {
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 767px) {
  .message-intro__eyebrow {
    font-size: 15px;
    gap: 7px;
    line-height: 1.3;
  }
}
.message-intro__eyebrow::before {
  content: "";
  width: 0.25em;
  height: 0.25em;
  background-color: var(--color-main-light);
  border-radius: 50%;
}
.message-intro__eyebrow-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-main);
  flex: 0 0 auto;
}
.message-intro__headline {
  margin: 0;
  font-size: 25px;
  line-height: 1.8;
  font-weight: 700;
}
@media screen and (max-width: 860px) {
  .message-intro__headline {
    font-size: 21px;
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  .message-intro__headline {
    font-size: 17px;
    line-height: 1.45;
  }
}
.message-intro__copy {
  display: grid;
  gap: 24px;
  max-width: 1080px;
  margin: 48px auto 0;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .message-intro__copy {
    gap: 18px;
    margin-top: 10px;
    font-size: 14px;
    padding: 0 5px;
  }
}
.message-intro__copy p {
  margin: 0;
}
.message-intro__signature {
  margin-top: 24px;
  text-align: right;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .message-intro__signature {
    margin-top: 10px;
  }
}
.message-intro__signature .name {
  display: block;
  margin-top: 15px;
}
.message-intro__signature .name .name_main {
  padding-left: 0.8em;
}
.message-intro__signature .name .name_main_right {
  padding-left: 0.8em;
}
.message-philosophy {
  padding: 0 0 110px;
}
@media screen and (max-width: 1024px) {
  .message-philosophy {
    padding-bottom: 90px;
  }
}
@media screen and (max-width: 767px) {
  .message-philosophy {
    padding-bottom: 70px;
  }
}
.message-section-head {
  margin-bottom: 30px;
  padding: 0 0 18px;
  border-bottom: 1px solid rgba(37, 136, 32, 0.2);
}
.message-section-head__eyebrow {
  margin: 0 0 10px;
  color: var(--color-main);
  font-family: var(--font-en);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.message-section-head__title {
  margin: 0;
  font-size: 2rem;
  line-height: 1.45;
}
@media screen and (max-width: 767px) {
  .message-section-head__title {
    font-size: 1.5rem;
  }
}
.message-box {
  padding: 34px 40px;
  background: var(--color-white);
  border-top: 2px solid var(--color-main);
  box-shadow: 0 14px 30px rgba(37, 136, 32, 0.07);
}
.message-box + .message-box {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .message-box {
    padding: 24px 18px;
  }
}
.message-box__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  font-size: 1.5rem;
  line-height: 1.4;
}
.message-box__title::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-main);
  flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .message-box__title {
    font-size: 1.25rem;
  }
}
.message-box__text {
  margin: 0;
  font-size: 1rem;
  line-height: 2;
  white-space: normal;
}
@media screen and (max-width: 767px) {
  .message-box__text {
    font-size: 0.9375rem;
    line-height: 1.9;
  }
}
.message-goals {
  margin-top: 26px;
  padding: 34px 40px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(37, 136, 32, 0.12);
  box-shadow: 0 14px 28px rgba(37, 136, 32, 0.06);
}
@media screen and (max-width: 767px) {
  .message-goals {
    margin-top: 20px;
    padding: 24px 18px;
  }
}
.message-goals__header {
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(37, 136, 32, 0.16);
}
.message-goals__lead {
  margin: 0;
  color: var(--color-main);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .message-goals__lead {
    font-size: 1.0625rem;
    line-height: 1.6;
  }
}
.message-goals__body {
  display: grid;
  gap: 10px;
}
.message-goals__body p {
  margin: 0;
  padding-left: 1.2em;
  text-indent: -1.2em;
  line-height: 1.9;
}
/*
.company-links {
	position: relative;
	overflow: hidden;
	margin: 0 -50px;
	padding: 60px 50px 80px;
	background: linear-gradient(180deg, #eef3ea 0%, #ecf0ea 100%);

	@include media(inner) {
		margin-right: 0;
		margin-left: 0;
		padding-right: 0;
		padding-left: 0;
	}

	@include media(sp) {
		padding-top: 40px;
		padding-bottom: 60px;
	}

	&::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: min(44vw, 520px);
		height: 100%;
		background: linear-gradient(135deg, rgba(37, 136, 32, 0.16), rgba(37, 136, 32, 0));
		clip-path: polygon(56% 0, 100% 0, 100% 100%, 0 100%);
		pointer-events: none;

		@include media(sp) {
			width: 70vw;
			opacity: 0.5;
		}
	}

	&__wrap {
		margin-right: auto;
		margin-left: auto;
		background: var(--color-main);

	}

	&__grid {
		display: grid;
		grid-template-columns: 1fr auto;
		column-gap: 50px;
		row-gap: 0;
		align-items: center;
		width: 100%;
		max-width: none;
		margin: 0 auto;
		max-width: var(--inner-width-s);
		padding: 70px 0px;

		@include media(tab) {
			// grid-template-columns: 1fr;
			padding: 50px 30px;
			gap: 20px;
		}

		@include media(tab-s) {
			grid-template-columns: 1fr;
		}

		@include media(sp) {
			padding: 40px 15px;
			gap: 16px;
		}
	}

	&__title-text {
		display: flex;
		align-items: center;
		gap: 10px;
		margin: 0;
		color: var(--color-white);
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1.4;

		&::before {
			content: "";
			width: 10px;
			height: 10px;
			border-radius: 50%;
			background: var(--color-white);
			flex-shrink: 0;
		}

		&::after {
			content: "";
			flex: 1;
			height: 1px;
			background: rgba(255, 255, 255, 0.5);
			min-width: 20px;
		}
	}
}

*/
/*
.link-panel {
	position: relative;
	margin-right: auto;
	margin-left: auto;
	//background: var(--color-main) url(../media/images/common/link-panel-bg.webp) no-repeat center / cover;;
	// background: linear-gradient(90deg, #258820 0%, #8FD54D 100%);
	background: var(--color-main);

	&::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: url(../media/images/common/link-panel-mask.webp) no-repeat center / cover;

		@include media(tab-s) {
			background-size: 100% 100%;
		}
	}

	.link-panel__wrap {
		position: relative;
		z-index: 2;
		@include flex(row nowrap, null, null);
		margin: 0 auto;
		max-width: var(--inner-width-s);
		padding: 60px 0px 80px;

		@include media(inner) {
			padding: 60px 30px 80px;
		}

		@include media(tab-s) {
			display: block;
		}

		@include media(sp) {
			padding: 30px 20px;
		}
	}

	.link-panel__title {
		flex: 0 0 35.4%;
		padding-right: 30px;
		padding-top: 50px;

		@include media(tab-s) {
			padding-right: 0;
			padding-top: 0;
			margin-bottom: 20px;
		}

		.title {
			@include flex(row nowrap, null, center);
			gap: 10px;
			margin: 0;
			color: var(--color-white);
			font-size: 32px;
			font-weight: 700;
			line-height: 1.4;

			@include media(tab-s) {
				padding-right: 0;
				padding-top: 0;
			}

			@include media(sp) {
				font-size: 22px;
			}

			&::before {
				content: "";
				width: 10px;
				height: 10px;
				border-radius: 50%;
				background: var(--color-green-light);
				flex-shrink: 0;
			}

			&::after {
				content: "";
				flex: 1;
				height: 1px;
				background: rgba(255, 255, 255, 0.5);
				min-width: 20px;
				max-width: 38.8%;
				margin-left: 0.35em;

				@include media(tab-s) {
					max-width: 100%;
				}
			}
		}
	}

	.link-panel__main {
		flex: 1 1 auto;
		@include flex(row wrap, space-between, null, false);
		list-style: none;
		margin: 0;
		padding: 0;
		gap: 10px 1.3%;

		> li {
			flex: 0 0 49.3%;
			border-radius: 6px;
			background: var(--color-white);

			@include media(sp) {
				+ li {
					margin-top: 15px;
				}
			}

			&:has(>a) {
				transition: 0.3s;

				@include hover {
					opacity: 0.8;
				}
			}

			a {
				position: relative;
				display: block;
				text-decoration: none;
				color: var(--color-text);

				&::after {
					content: "";
					position: absolute;
					top: 50%;
					right: 29px;
					transform: translatey(-50%);
					width: 40px;
					height: 40px;
					background: var(--color-text) url(../media/images/common/icon_arrow.svg) no-repeat center/ 20px;
					border-radius: 50%;

					@include media(sp) {
						right: 20px;
						width: 30px;
						height: 30px;
						background-size: 15px;
					}
				}
			}
		}

		.text {
			@include flex(column wrap, center, null);
			min-height: 147px;
			padding: 10px 76px 15px 30px;
			color: var(--color-text);

			@include media(sp) {
				min-height: 90px;
			}
		}

		.link-panel__name {
			margin: 0;
			font-size: 18px;
			font-weight: 700;
			line-height: 1.5;

			&--en {
				margin: 0 0 17px;
				color: var(--color-main);
				font-family: var(--font-en);
				font-size: 12px;
				line-height: 1.2;
				letter-spacing: 0.08em;
				text-transform: uppercase;
				transform: translateY(7px);
			}
		}
	}
}

*/
/*# sourceMappingURL=./message.css.map */