@font-face {
	font-family: "M-Bold";
	src: url("../css/URW-Heisei-Mincho-Bold.ttf") format('truetype');
}

@font-face {
	font-family: "M-Medium";
	src: url("../css/URW-Heisei-Mincho-Medium.ttf") format('truetype');
}

@font-face {
	font-family: "M-Regular";
	src: url("../css/URW-Heisei-Mincho-Regular.ttf") format('truetype');
}

@font-face {
	font-family: "G-Bold";
	src: url("../css/URW-Heisei-Gothic-Bold.ttf") format('truetype');
}

@font-face {
	font-family: "G-Regular";
	src: url("../css/URW-Heisei-Gothic-Regular.ttf") format('truetype');
}

* {
	margin: 0;
	padding: 0;
	line-height: calc(.25px + 1em + .25px)
}

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

*:where(:not(fieldset, progress, meter)) {
	border-width: 0;
	border-style: solid;
	background-origin: border-box;
	background-repeat: no-repeat
}

html {
	block-size: 100%;
	-webkit-text-size-adjust: none
}

@media(prefers-reduced-motion: no-preference) {
	html:focus-within {
		scroll-behavior: smooth
	}
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeSpeed;
	min-block-size: 100%
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
	display: block
}

:where(img, svg, video) {
	block-size: auto;
	max-inline-size: 100%
}

:where(svg) {
	stroke: none;
	fill: currentColor
}

:where(svg):where(:not([fill])) {
	stroke: currentColor;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round
}

:where(svg):where(:not([width])) {
	inline-size: 5px
}

:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
	color: inherit;
	font: inherit;
	font-size: inherit;
	letter-spacing: inherit
}

:where(textarea) {
	resize: vertical
}

@supports(resize: block) {
	:where(textarea) {
		resize: block
	}
}

:where(p, h1, h2, h3, h4, h5, h6) {
	overflow-wrap: break-word
}

h1 {
	font-size: 2em
}

:where(ul, ol)[role=list] {
	list-style: none
}

a:not([class]) {
	text-decoration-skip-ink: auto
}

:where(a[href], area, button, input, label[for], select, summary, textarea) {
	cursor: pointer;
	touch-action: manipulation
}

:where(input[type=file]) {
	cursor: auto
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
	cursor: pointer
}

@media(prefers-reduced-motion: no-preference) {
	:focus-visible {
		transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1)
	}

	:where(:not(:active)):focus-visible {
		transition-duration: .25s
	}
}

:where(:not(:active)):focus-visible {
	outline-offset: 5px
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-touch-callout: none;
	user-select: none;
	text-align: center
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset])[disabled] {
	cursor: not-allowed
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal
}

.l-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	height: 64px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #fff
}

@media screen and (min-width: 1231px) {
	.l-header {
		height: 85px
	}

	.l-header:after {
		content: "";
		width: 100vw;
		height: 100vh;
		background-color: rgba(25, 25, 25, .45);
		position: absolute;
		top: 0;
		left: 0;
		visibility: hidden;
		opacity: 0;
		z-index: 1;
		transition: opacity .5s, visibility .5s
	}
}

@media screen and (min-width: 1231px) {
	.l-header.is-open:after {
		opacity: 1;
		visibility: visible;
		transition: opacity .3s, visibility .3s
	}
}

.l-header__logo {
	margin: 0 0 0 20px
}

@media screen and (min-width: 1231px) {
	.l-header__logo {
		margin: 0 0 0 30px
	}
}

.l-header__logo a img {
	height: 27px
}

@media screen and (min-width: 1231px) {
	.l-header__logo a img {
		height: 45px
	}
}

.l-header__button {
	width: 80px;
	height: 64px;
	background-color: rgba(0, 0, 0, 0);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999999;
	transition: .3s ease
}

@media screen and (min-width: 1231px) {
	.l-header__button {
		width: 100px;
		height: 85px
	}
}

@media screen and (min-width: 1024px) {
	.l-header__button {
		display: none;
	}
}

.l-header__button span {
	height: 1.5px;
	width: 20px;
	background-color: #947151;
	position: relative;
	transition: .3s ease
}

@media screen and (min-width: 1231px) {
	.l-header__button span {
		height: 2px;
		width: 40px
	}
}

.l-header__button span:before,
.l-header__button span:after {
	content: "";
	display: block;
	height: 1.5px;
	width: 20px;
	background-color: #947151;
	position: relative;
	transform: rotate(0deg);
	transition: .3s
}

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

	.l-header__button span:before,
	.l-header__button span:after {
		height: 2px;
		width: 40px
	}
}

.l-header__button span:before {
	top: -9px
}

@media screen and (min-width: 1231px) {
	.l-header__button span:before {
		top: -15px
	}
}

.l-header__button span:after {
	bottom: -7.5px
}

@media screen and (min-width: 1231px) {
	.l-header__button span:after {
		bottom: -13px
	}
}

@media screen and (max-width: 1230px) {
	.l-header__button.is-open {
		background: #064b28
	}
}

.l-header__button.is-open span {
	background-color: rgba(0, 0, 0, 0)
}

.l-header__button.is-open span:before {
	top: 0;
	transform: rotate(45deg);
	background-color: #fff
}

.l-header__button.is-open span:after {
	bottom: 1.5px;
	transform: rotate(-45deg);
	background-color: #fff
}

.l-header__nav {
	position: fixed;
	top: 64px;
	right: 0;
	bottom: 0;
	width: 100vw;
	transform: translateX(100vw);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9;
	transition: .3s ease;
	background: #0b3d24;
	background: linear-gradient(0deg, #0E3120 0%, #064B28 35%, #064B28 75%, #0B3D24 100%);
	width: max(100%, 88vw)
}

@media screen and (min-width: 1231px) {
	.l-header__nav {
		top: 0
	}
}

@media screen and (min-width: 1231px) {
	.l-header__nav {
		width: max(50vw, 1080px)
	}
}

.l-header__nav:before {
	content: "";
	position: fixed;
	inset: 0;
	background: url(../img/common/nav_bg.svg) no-repeat right -11px bottom 5px/50%;
	mix-blend-mode: multiply;
	opacity: .12;
	z-index: -1
}

.l-header__nav.is-show {
	transform: translateX(0)
}

@media screen and (max-width: 1230px) {
	.l-header__nav-inner {
		width: 100%;
		height: 100%;
		padding: 40px 0 60px;
	}
}

@media screen and (min-width: 1231px) {
	.l-header__nav-inner {
		position: absolute;
		inset: 0;
		display: flex;
		height: 100%;
		align-content: center;
		justify-content: center;
		flex-wrap: wrap;
	}
}

.l-header__list {
	list-style: none;
	width: 26%;
}

.l-header__list:first-child {
	margin-bottom: 60px;
}

@media screen and (max-width: 1230px) {
	.l-header__list:first-of-type>*:first-of-type {
		border-top: 1px solid #fff;
	}

	.l-header__list {
		width: 100%;
	}

	.l-header__list:first-child {
		margin-bottom: 0;
	}
}

.l-header__group {
	list-style: none;
	opacity: .75
}

.l-header__group a::before {
	content: '−';
	margin-right: 10px;
}

@media screen and (min-width: 1231px) {
	.l-header__group {
		padding: 20px 0 0 0
	}
}

.l-header__item {
	color: #fff;
	font-size: 16px
}

@media screen and (max-width: 1230px) {
	.l-header__item {
		width: min(100%, 88vw);
		margin: 0 auto;
		border-bottom: 1px solid
	}
}

@media screen and (min-width: 1231px) {
	.l-header__item {
		font-size: 18px
	}

	.l-header__item:not(:last-of-type) {
		margin: 0 0 40px
	}
}

.l-header__item a {
	color: #fff
}

@media screen and (max-width: 1230px) {
	.l-header__item a {
		display: block;
		padding: 22px 10px
	}
}

@media screen and (min-width: 1025px) {
	.l-header__item a {
		transition: .5s ease
	}

	.l-header__item a:hover {
		transition: .2s ease;
		opacity: .5
	}
}

@media screen and (max-width: 1230px) {
	.l-header__item--parent {
		position: relative;
		height: 60px;
		overflow: hidden;
		transition: .3s ease
	}
}

@media screen and (min-width: 1231px) {
	.l-header__item--parent:not(:last-of-type) {
		margin: 0 0 60px
	}
}

@media screen and (max-width: 767px) {
	.l-header__item--parent.is-open {
		height: auto
	}
}

.l-header__item--child,
.l-header__group li {
	font-size: 14px
}

@media screen and (max-width: 1230px) {

	.l-header__item--child:first-of-type,
	.l-header__group li:first-of-type {
		border-top: 1px solid rgba(255, 255, 255, .5)
	}

	.l-header__item--child:not(:last-of-type),
	.l-header__group li:not(:last-of-type) {
		border-bottom: 1px solid rgba(255, 255, 255, .35)
	}
}

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

	.l-header__item--child,
	.l-header__group li {
		font-size: 15px
	}

	.l-header__item--child:not(:last-of-type),
	.l-header__group li:not(:last-of-type) {
		margin: 0 0 15px
	}
}

@media screen and (max-width: 1230px) {

	.l-header__item--child a,
	.l-header__group li a {
		display: block;
		padding: 18px 10px 18px 10px
	}

	.l-header__item--child a::before,
	.l-header__group li a::before {
		content: '−';
		margin-right: 10px;
	}
}

@media screen and (max-width: 1230px) {
	.l-header__heading {
		display: block !important;
		padding: 22px 40px 22px 10px !important
	}
}

.l-header__toggle {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	aspect-ratio: 1/1;
	background: rgba(0, 0, 0, 0)
}

@media screen and (min-width: 1231px) {
	.l-header__toggle {
		display: none
	}
}

.l-header__toggle:before,
.l-header__toggle:after {
	content: "";
	width: 15px;
	height: 1.5px;
	background-color: #fff;
	position: absolute;
	transition: .3s ease
}

.l-header__toggle:before {
	transform: rotate(-90deg)
}

.l-header__toggle.is-open:before {
	transform: rotate(0deg)
}

.l-header--front.is-hidden {
	transform: translateY(-64px)
}

@media screen and (min-width: 1231px) {
	.l-header--front.is-hidden {
		transform: translateY(-85px)
	}
}

html {
	font-family: "G-Regular";
	font-size: 6.25%;
	letter-spacing: .75em;
	text-align: justify;
	scroll-behavior: smooth
}

@media screen and (min-width: 640px) {
	html {
		font-size: .15625vw
	}
}

@media screen and (min-width: 768px) {
	html {
		font-size: .1367989056vw
	}
}

@media screen and (min-width: 1025px) {
	html {
		font-size: .0975609756vw
	}
}

@media screen and (min-width: 1231px) {
	html {
		font-size: .0812347685vw
	}
}

@media screen and (min-width: 1530px) {
	html {
		font-size: .0653594771vw
	}
}

html body {
	font-size: 16px
}

@media screen and (min-width: 768px) {
	html body {
		font-size: 16px
	}
}

.l-footer {
	font-size: 13px;
	position: relative;
	z-index: -1;
	background: url(../img/common/texture/green_s.jpg) repeat-y center center/cover;
	background: image-set(url(../img/common/texture/green_s@2x.webp), url(../img/common/texture/green_s@3x.webp) 3x) repeat-y center center/cover;
	background-position: top
}

@media screen and (min-width: 1231px) {
	.l-footer {
		background: url(../img/common/texture/green.jpg) repeat-y center center/cover;
		background: image-set(url(../img/common/texture/green@2x.webp), url(../img/common/texture/green@3x.webp) 3x) repeat-y center center/cover
	}
}

@media screen and (max-width: 1230px) {
	.l-footer {
		background-size: 100% auto
	}
}

.l-footer__inner {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	padding: 60px 0 0
}

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

	.l-footer__inner {
		padding: 80px 0 0;
		margin: 0 auto;
	}

	.l-footer__inner ul {
		display: flex;
		justify-content: space-between;
	}

	.l-footer__inner ul li {
		padding: 0 0 0 50px;
	}

	.l-footer__inner ul ul {
		flex-flow: column;
		margin: 0;
	}

	.l-footer__inner ul ul li {
		padding: 0;
	}

	.l-footer__inner ul li:first-child {
		padding: 0;
	}
}

.l-footer__nav {
	color: #fff
}

@media screen and (max-width: 1230px) {
	.l-footer__nav {
		margin: 0 0 60px
	}
}

@media screen and (max-width: 1230px) {
	.l-footer__nav {
		margin: 0 0 60px;
		border-top: 1px solid #fff
	}
}

@media screen and (min-width: 1231px) {
	.l-footer__nav {
		display: flex;
		justify-content: center;
		gap: 60px
	}
}

@media screen and (min-width: 1025px) {
	.l-footer__nav {
		gap: 80px
	}
}

.l-footer__list {
	list-style: none
}

.l-footer__group {
	list-style: none;
	opacity: .75
}

@media screen and (min-width: 1231px) {
	.l-footer__group {
		padding: 20px 0 0 0
	}
}

@media screen and (max-width: 1230px) {
	.l-footer__item {
		border-bottom: 1px solid
	}

	.l-footer__item:last-child.l-footer__item--child {
		border-bottom: none
	}
}

@media screen and (min-width: 1231px) {
	.l-footer__item {
		font-size: 15px
	}

	.l-footer__item:last-child {
		display: flex;
		flex-flow: column;
	}

	.l-footer__item:last-child a {
		margin-bottom: 20px;
	}

	.l-footer__item:not(:last-of-type) {
		margin: 0 0 32px
	}
}

@media screen and (max-width: 1230px) {
	.l-footer__item a {
		display: block;
		padding: 22px 10px
	}

	.l-footer__item:last-child a:last-child {
		border-top: 1px solid
	}

	.l-footer__item:last-child.l-footer__item--child a:last-child {
		border-top: none
	}
}

@media screen and (min-width: 1025px) {
	.l-footer__item a {
		transition: .5s ease
	}

	.l-footer__item a:hover {
		transition: .2s ease;
		opacity: .5
	}
}

@media screen and (max-width: 1230px) {
	.l-footer__item--parent {
		position: relative;
		height: 60px;
		overflow: hidden;
		transition: .3s ease
	}
}

@media screen and (min-width: 1231px) {
	.l-footer__item--parent:not(:last-of-type) {
		margin: 0
	}
}

@media screen and (max-width: 1230px) {
	.l-footer__item--parent.is-open {
		height: auto
	}
}

.l-footer__item--child,
.l-footer__group {
	font-size: 13px
}

.l-footer__item--child a::before,
.l-footer__group a::before {
	content: '−';
	margin-right: 10px;
}

@media screen and (max-width: 1230px) {

	.l-footer__item--child:first-of-type,
	.l-footer__group li:first-of-type {
		border-top: 1px solid rgba(255, 255, 255, .5)
	}

	.l-footer__item--child:not(:last-of-type),
	.l-footer__group li:not(:last-of-type) {
		border-bottom: 1px solid rgba(255, 255, 255, .35)
	}
}

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

	.l-footer__item--child,
	.l-footer__group li {
		font-size: 13px
	}

	.l-footer__item--child:not(:last-of-type),
	.l-footer__group li:not(:last-of-type) {
		margin: 0 0 15px
	}
}

@media screen and (max-width: 1230px) {

	.l-footer__item--child a,
	.l-footer__group li a {
		display: block;
		padding: 18px 10px 18px 10px
	}
}

@media screen and (max-width: 1230px) {
	.l-footer__heading {
		display: block !important;
		padding: 22px 70px 22px 10px !important
	}
}

.l-footer__toggle {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	aspect-ratio: 1/1;
	background: rgba(0, 0, 0, 0)
}

@media screen and (min-width: 1231px) {
	.l-footer__toggle {
		display: none
	}
}

.l-footer__toggle:before,
.l-footer__toggle:after {
	content: "";
	width: 15px;
	height: 1.5px;
	background-color: #fff;
	position: absolute;
	transition: .3s ease
}

.l-footer__toggle:before {
	transform: rotate(-90deg)
}

.l-footer__toggle.is-open:before {
	transform: rotate(0deg)
}

@media screen and (max-width: 1230px) {
	.l-footer__info {}
}

.l-footer__logo {
	width: 80px;
	display: block;
	margin: 0 auto;
	text-align: center;
}

@media screen and (max-width: 1230px) {
	.l-footer__logo {}
}

@media screen and (min-width: 1231px) {
	.l-footer__logo {
		width: 130px
	}
}

.l-footer__footer {
	padding: 50px 7.5vw;
	font-size: 13px;
	color: #FFF;
}

@media screen and (min-width: 1231px) {
	.l-footer__footer {
		padding: 50px 7.5vw 0;
	}
}

.l-footer__links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0 0 20px;
	list-style: none
}

@media screen and (min-width: 1231px) {
	.l-footer__links {
		gap: 28px;
		margin: 0 0 28px
	}
}

@media screen and (max-width: 1230px) {
	.l-footer__link {
		font-size: 13px
	}
}

.l-footer__link:not(:last-of-type):after {
	content: "";
	margin: 0 0 0 20px;
	border-right: 1px solid
}

@media screen and (min-width: 1231px) {
	.l-footer__link:not(:last-of-type):after {
		margin: 0 0 0 28px
	}
}

.l-footer__copyright {
	padding-bottom: 20px;
	text-align: center
}

.l-footer__reCAPTCHA {
	padding-bottom: 80px;
	text-align: center
}

@media screen and (max-width: 1230px) {
	.l-footer__copyright {
		padding-bottom: 10px;
		font-size: 13px
	}

	.l-footer__reCAPTCHA {
		padding-bottom: 0px;
		font-size: 13px
	}
}

/*
.grecaptcha-badge {
	visibility: hidden;
}
*/

.l-page-header {
	padding: 108px 0 44px;
	background: #0e3120;
	background: linear-gradient(0deg, #0E3120 0%, #064B28 100%)
}

@media screen and (min-width: 768px) {
	.l-page-header {
		padding: 208px 0 108px
	}
}

.l-page-header__breadcrumb {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 12px;
	margin-bottom: 20px
}

@media screen and (min-width: 768px) {
	.l-page-header__breadcrumb {
		margin-bottom: 30px
	}
}

.l-page-header__breadcrumb-item {
	display: flex;
	align-items: center;
	gap: 8px
}

.l-page-header__breadcrumb-item,
.l-page-header__breadcrumb-item a {
	color: #fff
}

.l-page-header__breadcrumb-item:not(:last-of-type)::after {
	content: "";
	background: url(../img/common/arrow_gl.svg) no-repeat center center/contain;
	width: 8px;
	height: 8px
}

.l-page-header__title {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	color: #fff;
	font-size: 24px;
	line-height: 1.5
}

.l-page-header__title p {
	color: #fff;
	font-size: 18px;
	line-height: 1.5
}

@media screen and (min-width: 768px) {
	.l-page-header__title {
		font-size: 36px
	}
}

.l-page-intro {
	background-color: #0e3120;
	padding: 0 0 60px
}

@media screen and (min-width: 768px) {
	.l-page-intro {
		padding: 0 0 120px
	}
}

.l-page-intro__inner {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto
}

.l-page-intro__text {
	color: #fff;
	line-height: 2
}

@media screen and (min-width: 1231px) {
	.l-page-intro__text {
		width: 50%
	}
}

.l-page-footer {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	list-style: none;
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.l-page-footer {
		display: flex;
		gap: 20px;
		flex-wrap: wrap;
		margin-bottom: 120px
	}
}

@media screen and (min-width: 768px) {
	.l-page-footer__item {
		width: calc((100% - 20px)/2)
	}
}

@media screen and (min-width: 1231px) {
	.l-page-footer__item {
		width: calc((100% - 40px)/3)
	}
}

.l-page-footer__current {
	background-color: #ede6de;
	color: #947151
}

.l-template01-content {
	margin-bottom: 60px
}

.l-template01-content__heading {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	font-size: 20px;
	line-height: 1.75;
	text-align: center;
	letter-spacing: .25em;
	word-break: keep-all;
	margin-bottom: 32px
}

@media screen and (min-width: 768px) {
	.l-template01-content__heading {
		font-size: 24px
	}
}

@media screen and (min-width: 1231px) {
	.l-template01-content__heading {
		font-size: 30px;
		margin-bottom: 48px
	}
}

.l-template01-content__heading--large {
	color: #947151;
	letter-spacing: .15em
}

.l-template01-content__text {
	width: min(85vw, 800px);
	margin-left: auto;
	margin-right: auto;
	line-height: 2
}

.l-template01-content__text:not(:last-of-type) {
	margin-bottom: 1em
}

.l-template01-image {
	display: block;
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	aspect-ratio: 1.618/1;
	margin-bottom: 60px
}

@media screen and (max-width: 767px) {
	.l-template01-image {
		width: 100vw;
		position: relative;
		left: 0;
		right: 0
	}
}

@media screen and (min-width: 768px) {
	.l-template01-image {
		height: 420px;
		margin-bottom: 120px
	}
}

.l-template01-image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

.l-post-categories {
	padding: 0px 20px 30px;
}

.l-post-categories__heading {
	color: #947151;
	font-family: "Roboto Condensed", sans-serif;
	letter-spacing: .3em;
	padding: 40px 0 10px;
}

.l-post-categories__list {
	list-style: none
}

/*
.l-post-categories__link--current {
	background: #ede6de;
	color: #947151
}
*/
@media screen and (min-width: 1025px) {
	.l-post-categories {
		padding: 0 40px 40px
	}

	.l-post-categories__heading {
		padding: 40px 0 20px
	}
}

.l-single-header__date {
	display: block;
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	color: #fff;
	margin-bottom: 20px
}

@media screen and (min-width: 768px) {
	.l-single-header__date {
		margin-bottom: 15px
	}
}

.l-single-content {
	width: min(85vw, 800px);
	margin-left: auto;
	margin-right: auto;
}

/* 詳細ページ改修後 */
/*
.l-single-content h2 {
	margin-bottom: 30px;
	padding: 20px 0;
	font-size: 24px;
	line-height: 1.6em;
	border-top: 1px solid #cdb9a6;
	border-bottom: 1px solid #cdb9a6;
}
.l-single-content p {
	margin-bottom: 30px;
	font-size: 16px;
	line-height: 1.5em;
}
.l-single-content hr {
	margin-bottom: 30px;
	border: none;
	border-top: 1px solid #cdb9a6;
}
.l-single-content .wp-caption {
	width: 100%!important;
}
.l-single-content .wp-caption-text {
	margin-top: 10px;
	font-size: 14px;
}
*/

/* 詳細ページタグ */
.l-single-content h2,
.l-single-content h3,
.l-single-content h4,
.l-single-content h5,
.l-single-content h6 {
	margin: 40px 0;
	line-height: 1.65
}

.l-single-content li {
	line-height: 2
}

.l-single-content li:not(:last-of-type) {
	margin: 0 0 1em
}

.l-single-content ul,
.l-single-content ol {
	margin: 0 0 40px;
	padding-left: 20px
}

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

	.l-single-content ul,
	.l-single-content ol {
		margin: 0 0 40px
	}
}

.l-single-content b,
.l-single-content bold,
.l-single-content strong {
	font-weight: bold;
	background: linear-gradient(transparent 60%, #EDE6DE 60%)
}

.l-single-content h2 {
	padding: 20px 0 0;
	font-size: 24px;
	border-top: 1.5px solid #947151;
}

@media screen and (min-width: 768px) {
	.l-single-content h2 {
		font-size: 26px
	}
}

@media screen and (min-width: 1231px) {
	.l-single-content h2 {
		font-size: 28px
	}
}

.l-single-content h3 {
	font-size: 18px;
	display: grid;
	grid-template-columns: 25px auto;
	line-height: 1.4583333333
}

@media screen and (min-width: 768px) {
	.l-single-content h3 {
		font-size: 24px
	}
}

.l-single-content h3:before {
	content: "";
	display: block;
	background: url(../img/common/icon_heading3.svg) no-repeat center/contain;
	width: 16.5px;
	aspect-ratio: 1/1;
	margin: calc((1.4583333333em - 16.5px)/2) 0 0
}

.l-single-content h4 {
	padding-bottom: 10px;
	font-size: 18px;
	border-bottom: 1.5px solid #dccebe
}

@media screen and (min-width: 768px) {
	.l-single-content h4 {
		font-size: 22px
	}
}

@media screen and (min-width: 1231px) {
	.l-single-content h4 {
		font-size: 24px
	}
}

.l-single-content h5 {
	font-size: 16px
}

.l-single-content h6 {
	font-size: 16px;
	color: #064b28
}

.l-single-content p {
	line-height: 2
}

.l-single-content p:not(:last-child) {
	margin: 0 0 40px
}

.l-single-content a {
	color: #064b28;
	text-decoration: underline
}

.l-single-content a:not(.c-button)[target=_blank]:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: .85em;
	aspect-ratio: 1/1;
	background: url(../img/common/icon_external_gn.svg) no-repeat center/contain;
	margin: 0 5px
}

.l-single-content picture,
.l-single-content img {
	display: block;
	margin: 0 auto;
	max-width: 100%
}

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

	.l-single-content picture,
	.l-single-content img {
		margin: 0 auto
	}
}

.l-single-content blockquote {
	margin: 0 0 40px;
	line-height: 2;
	padding: 25px;
	background: #ede6de
}

@media screen and (min-width: 1231px) {
	.l-single-content blockquote {
		margin: 0 0 60px;
		padding: 40px
	}
}

.l-single-content hr {
	border: none;
	border-top: 1px solid #cdb9a6;
	margin: 40px 0
}

.l-single-content table {
	width: 100%;
	display: block;
	border-collapse: collapse;
	border-top: 1px solid #947151;
	border-bottom: 1px solid #947151;
	margin: 0 0 40px;
	overflow-y: scroll
}

@media screen and (min-width: 1231px) {
	.l-single-content table {
		margin: 0 0 40px
	}
}

.l-single-content table thead {
	display: table
}

.l-single-content table tbody {
	width: 100%;
	display: table
}

.l-single-content table tbody th {
	white-space: nowrap
}

.l-single-content table tr:not(:last-child) {
	border-bottom: 1px solid #cdb9a6
}

.l-single-content table th,
.l-single-content table td {
	padding: 15px;
	line-height: 1.5;
	border: none
}

.l-single-content table th {
	text-align: unset;
	white-space: nowrap;
	background: #947151;
	color: #fff
}

.l-single-content table td {
	white-space: pre
}

.l-single-content .wp-caption {
	width: 100% !important;
}

.l-single-content .wp-caption {
	width: 100% !important;
}

.l-single-content .wp-caption-text {
	margin-top: 0;
	color: #505050;
	font-size: 13px;
}


.l-single-footer {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	padding: 60px 0
}

@media screen and (min-width: 768px) {
	.l-single-footer {
		padding: 120px 0
	}
}

.l-single-footer__button {
	width: min(450px, 100%);
	margin: 0 auto
}

.l-single-pagination {
	list-style: none;
	margin: 0 0 40px
}

@media screen and (min-width: 640px) {
	.l-single-pagination {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 40px;
		position: relative
	}
}

@media screen and (min-width: 768px) {
	.l-single-pagination {
		gap: min(15%, 160px);
		margin: 0 0 60px
	}
}

.l-single-pagination:before {
	display: block;
	position: absolute;
	inset: 0;
	margin: auto;
	height: 100%;
	width: 1px;
	background: #dccebe
}

@media screen and (min-width: 640px) {
	.l-single-pagination:before {
		content: ""
	}
}

.l-single-pagination__nolink {
	filter: grayscale(100%);
	opacity: .5
}

.l-single-pagination__item {
	font-size: 16px
}

@media screen and (min-width: 768px) {
	.l-single-pagination__item {
		font-size: 18px
	}
}

@media screen and (max-width: 639px) {
	.l-single-pagination__item:not(:last-of-type) {
		padding: 0 0 25px;
		margin: 0 0 25px;
		border-bottom: 1px solid #dccebe
	}
}

.l-single-pagination__image {
	display: block;
	width: 100px
}

@media screen and (min-width: 768px) {
	.l-single-pagination__image {
		width: min(40%, 160px)
	}
}

.l-single-pagination__image img {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (min-width: 1025px) {
	.l-single-pagination__image img {
		transition: .5s ease;
		position: relative
	}
}

.l-single-pagination__title {
	line-height: 1.75;
	flex: 1
}

.l-single-pagination__item--arrow {
	font-size: 13px
}

@media screen and (min-width: 768px) {
	.l-single-pagination__item--arrow {
		font-size: 15px;
		flex: .5
	}
}

.l-single-pagination__item--arrow a {
	display: flex;
	align-items: center;
	gap: min(10%, 40px)
}

@media screen and (min-width: 1231px) {
	.l-single-pagination__item--arrow a:hover .l-single-pagination__image>* {
		transition: .2s ease;
		transform: scale(1.1)
	}
}

@media screen and (min-width: 1231px) {
	.l-single-pagination__item--arrow a .l-single-pagination__image {
		overflow: hidden
	}

	.l-single-pagination__item--arrow a .l-single-pagination__image>* {
		transition: .5s ease;
		transform: scale(1)
	}
}

.l-single-pagination__item--prev a {
	text-align: left
}

.l-single-pagination__item--next a {
	text-align: right;
	flex-direction: row-reverse
}

.l-single-pagination__item--next a .l-single-pagination__image {
	margin-left: auto
}

.l-form__wrap {
	width: min(85vw, 800px);
	margin-left: auto;
	margin-right: auto;
	padding-top: 50px;
}

.l-form__check {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	margin-bottom: 60px;
	border-bottom: 1px solid #aaa;
}

.l-form__check dt {
	margin: 0;
	padding: 15px 0;
	width: 25%;
	line-height: 1.5em;
	border-top: 1px solid #aaa;
}

.l-form__check dt span,
div#autozip {
	display: none !important;
}

.l-form__check dd {
	margin: 0;
	padding: 15px 0 15px 15px;
	width: 75%;
	line-height: 1.5em;
	border-top: 1px solid #aaa;
	box-sizing: border-box;
}

.l-form__heading {
	margin: 0 0 15px
}

.l-form__heading--required:after {
	content: "*";
	color: #9a0202
}

.l-form__content {
	margin: 0 0 30px
}

.l-form-agreement:not(:last-of-type) {
	margin: 0 0 30px
}

.l-form-agreement__heading {
	margin: 0 0 15px
}

.l-form-agreement__content {
	font-size: .7777777778em;
	height: 280px;
	overflow-y: scroll;
	padding: 0 20px;
	background: #ededed;
	border: .5px solid #aaa
}

.l-form-agreement__inner {
	padding: 20px 0
}

.l-form-agreement__text {
	line-height: 2
}

.l-form-agreement__text:not(:last-of-type) {
	margin: 0 0 2em
}

.l-form-agreement-content a {
	text-decoration: underline
}

.l-form-agreement-content a[target=_blank]:after {
	content: "";
	display: inline-block;
	width: .8em;
	text-align: middle;
	aspect-ratio: 1/1;
	background: url(../img/common/icon_external.svg) no-repeat center/contain;
	margin: 0 0 0 5px
}

.l-form-agreement-content__heading {
	font-size: 20px !important;
	margin: 0 0 10px;
	padding: 10px 0 0
}

.l-form-agreement-content__text {
	line-height: 2;
	margin: 0 0 10px
}

.l-form-agreement-content__ordered-list,
.l-form-agreement-content__list,
.l-form-agreement-content__list--no-marker {
	padding-left: 24px
}

.l-form-agreement-content__ordered-list li,
.l-form-agreement-content__list li,
.l-form-agreement-content__list--no-marker li {
	line-height: 2
}

.l-form-agreement-content__ordered-list {
	margin: 0 0 10px
}

.l-form-agreement-content__list {
	margin: 0 0 10px
}

.l-form-agreement-content__footer {
	padding: 10px 0 0;
	line-height: 2;
	text-align: right
}

@media screen and (min-width: 768px) {
	.l-form-agreement-content__footer {
		padding: 20px 0 0
	}
}

.l-form-agreement-check {
	text-align: center;
	word-break: keep-all;
	padding: 40px 0
}

@media screen and (min-width: 768px) {
	.l-form-agreement-check {
		padding: 60px 0
	}
}

@media screen and (min-width: 768px) {
	.mw_wp_form_confirm .l-form {
		margin: 0 0 60px
	}
}

.mw_wp_form_confirm .l-form-agreement,
.mw_wp_form_confirm .l-form-agreement-check {
	display: none
}

.c-heading2 {
	font-size: 24px;
	margin: 0 0 60px
}

@media screen and (min-width: 768px) {
	.c-heading2 {
		font-size: 28px;
		margin: 0 0 60px
	}
}

.c-heading2__sub {
	display: block;
	font-family: "Roboto Condensed", sans-serif;
	color: #064b28;
	font-size: 14px;
	margin: 0 0 18px
}

@media screen and (min-width: 768px) {
	.c-heading2__sub {
		font-size: 15px;
		margin: 0 0 20px
	}
}

.c-heading3 {
	font-size: 18px;
	display: grid;
	grid-template-columns: 25px auto;
	line-height: 1.4583333333
}

@media screen and (min-width: 768px) {
	.c-heading3 {
		font-size: 24px
	}
}

.c-heading3:before {
	content: "";
	display: block;
	background: url(../img/common/icon_heading3.svg) no-repeat center/contain;
	width: 16.5px;
	aspect-ratio: 1/1;
	margin: calc((1.4583333333em - 16.5px)/2) 0 0
}

.c-button,
.l-post-archive__list {
	list-style: none;
}

.c-button,
.l-post-archive__list li a {
	color: #191919;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #947151;
	padding: 18px 15px 18px 20px;
	line-height: 1.5
}

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

	.c-button,
	.l-post-archive__list li a {
		gap: 30px;
		padding: 22px 15px 22px 20px;
		transition: .5s ease
	}
}

.c-button:after,
.l-post-archive__list li a:after {
	content: "";
	height: .6666666667em;
	aspect-ratio: 12/11;
	background: url(../img/common/arrow_gl.svg) no-repeat center center/contain;
	position: relative;
	right: 0;
	transition: .5s ease
}

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

	.c-button:hover,
	.l-post-archive__list li a:hover {
		background-color: #ede6de;
		color: #947151;
		transition: .2s ease
	}
}

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

	.c-button:hover:after,
	.l-post-archive__list li a:hover:after {
		transition: .2s ease;
		right: -5px
	}
}

.c-post-pagination ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 20px;
	gap: 20px;
	list-style: none
}

@media screen and (min-width: 768px) {
	.c-post-pagination ul {
		font-size: 14px
	}
}

.c-post-pagination ul li a {
	display: block
}

@media screen and (min-width: 1025px) {
	.c-post-pagination ul li a {
		transition: .2s ease
	}

	.c-post-pagination ul li a:hover {
		color: #947151
	}

	.c-post-pagination ul li a:hover img {
		transition: .2s ease
	}
}

.c-post-pagination ul li a.prev {
	padding-right: 20px;
	color: #947151;
	font-size: 10px;
	font-weight: bold;
}

.c-post-pagination ul li a.next {
	padding-left: 20px;
	color: #947151;
	font-size: 10px;
	font-weight: bold;
}

.c-post-pagination ul li span[aria-current] {
	color: #947151;
	font-weight: bold;
}

.c-form-progress {
	width: min(85vw, 660px);
	margin: 0 auto 60px;
	display: flex;
	align-items: end;
	justify-content: space-between;
	color: #947151;
	list-style: none;
	position: relative;
	padding: 40px 0 0
}

@media screen and (min-width: 1025px) {
	.c-form-progress {
		margin: 0 auto 60px;
		padding: 100px 0 0
	}
}

.c-form-progress:before {
	content: "";
	width: calc(100% - 4em);
	border-top: 1px solid #dccebe;
	position: absolute;
	top: 52px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: -1
}

@media screen and (min-width: 1025px) {
	.c-form-progress:before {
		top: 112px
	}
}

.c-form-progress__circle {
	width: 8px;
	aspect-ratio: 1/1;
	background: #dccebe;
	display: block;
	margin: 0 auto 12px;
	border-radius: 50%;
	position: relative;
	top: -6px
}

@media screen and (min-width: 768px) {
	.c-form-progress__circle {
		width: 12px
	}
}

.c-form-progress__circle--current {
	width: 20px;
	background: #947151;
	top: unset
}

@media screen and (min-width: 768px) {
	.c-form-progress__circle--current {
		width: 25px
	}
}

.c-form-progress__text {
	display: block
}

@media screen and (max-width: 767px) {
	.c-form-progress__text {
		font-size: 11px
	}
}

.c-form-box {
	background: #ede6de;
	padding: min(7.5vw, 40px);
	margin: 0 0 40px
}

@media screen and (min-width: 768px) {
	.c-form-box {
		margin: 0 0 60px
	}
}

.c-form-box__heading {
	text-align: center;
	margin: 0 0 30px
}

.c-form-box__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px 40px
}

@media screen and (max-width: 767px) {
	.c-form-box__inner {
		flex-direction: column
	}
}

.c-form-box__tel {
	color: #947151;
	font-size: 32px
}

@media screen and (min-width: 768px) {
	.c-form-box__tel {
		font-size: 40px
	}
}

.c-form-box__open {
	font-size: 15px;
	line-height: 1.5
}

.c-form-radio {
	margin-bottom: 8px
}

.c-form-checkbox {
	margin-bottom: 8px
}

.c-form-text,
.c-form-textarea {
	border: .5px solid #947151;
	background: #ede6de;
	width: 100%;
	padding: 10px
}

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

	.c-form-text,
	.c-form-textarea {
		padding: 15px
	}
}

.c-form-text::placeholder,
.c-form-textarea::placeholder {
	color: #aaa
}

.c-form-text--min {
	width: min(60%, 20em)
}

.c-form-textarea {
	line-height: 1.5
}

.c-form-button,
.c-form-back-button {
	width: 100%;
	position: absolute;
	inset: 0
}

.c-form-button__wrap,
.c-form-back-button__wrap {
	display: block;
	margin: 0 auto;
	position: relative;
	cursor: pointer
}

.c-form-button {
	background: #947151;
	color: #fff
}

.c-form-button__wrap {
	width: min(100%, 240px);
	height: 70px;
	margin-bottom: 20px
}

@media screen and (min-width: 768px) {
	.c-form-button__wrap {
		width: 320px
	}
}

.c-form-button__wrap:after {
	content: "";
	width: 9px;
	aspect-ratio: 1/1;
	background: url(../img/common/arrow_wh.svg) no-repeat center/contain;
	position: absolute;
	top: calc(50% - 4.5px);
	right: 20px
}

@media screen and (min-width: 1025px) {
	.c-form-button__wrap:after {
		transition: .5s ease
	}
}

@media screen and (min-width: 1025px) {
	.c-form-button__wrap:hover:after {
		right: 15px;
		transition: .2s ease
	}
}

.c-form-back-button {
	background-color: rgba(0, 0, 0, 0)
}

.c-form-back-button__wrap {
	width: min(80%, 160px);
	height: 50px;
	border-bottom: 1px solid #947151;
	padding: 0 0 0 20px
}

.c-form-back-button__wrap:before {
	content: "";
	width: 9px;
	aspect-ratio: 1/1;
	background: url(../img/common/arrow_gl.svg) no-repeat center/contain;
	position: absolute;
	top: calc(50% - 4.5px);
	left: 20px;
	transform: rotate(180deg)
}

@media screen and (min-width: 1025px) {
	.c-form-back-button__wrap:before {
		transition: .5s ease
	}
}

@media screen and (min-width: 1025px) {
	.c-form-back-button__wrap:hover:before {
		left: 15px;
		transition: .2s ease
	}
}

.mw_wp_form_input .c-form-buttons {
	margin: 0 0 60px
}

.mw_wp_form_input .c-form-back-button__wrap {
	display: none
}

.mw_wp_form_confirm .c-form-radio__wrap,
.mw_wp_form_confirm .c-form-checkbox__wrap {
	display: flex;
	align-items: center;
	gap: 10px
}

.mw_wp_form_confirm .c-form-radio__wrap:before,
.mw_wp_form_confirm .c-form-checkbox__wrap:before {
	content: "";
	width: 10px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background: #064b28;
	display: inline-block;
	vertical-align: middle
}

.mw_wp_form_confirm .c-form-text__wrap,
.mw_wp_form_confirm .c-form-textarea__wrap {
	border: .5px solid #947151;
	background: #ededed;
	padding: 10px
}

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

	.mw_wp_form_confirm .c-form-text__wrap,
	.mw_wp_form_confirm .c-form-textarea__wrap {
		padding: 15px
	}
}

.p-front-column,
.p-front-story,
.p-front-about,
.p-front-vision {
	padding: 60px 0;
}

.p-front-news {
	display: flex;
	justify-content: space-between;
	flex-flow: column;
	max-width: 1100px;
	width: 90%;
	margin: auto;
	padding: 60px 0;
}

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

	.p-front-column,
	.p-front-story,
	.p-front-about,
	.p-front-news,
	.p-front-vision {
		flex-flow: nowrap;
		padding: 120px 0
	}

	.p-front-news {
		padding: 120px 0
	}
}

.p-front-column__main-heading,
.p-front-story__main-heading,
.p-front-about__main-heading,
.p-front-vision__heading {
	position: relative;
	display: flex;
	flex-flow: column;
	margin: 0 auto 40px;
	max-width: 1100px;
	width: 90%;
	color: #064b28;
	font-size: 36px;
	font-family: "G-Bold";
}

.p-front-column__main-heading p,
.p-front-story__main-heading p,
.p-front-about__main-heading p,
.p-front-vision__heading p {
	display: flex;
	flex-flow: column;
	margin-top: 20px;
	color: #8F7255;
	font-size: 14px;
	font-family: "G-Regular";
}

.p-front-column__main-heading p:before,
.p-front-story__main-heading p:before,
.p-front-about__main-heading p:before,
.p-front-vision__heading p:before {
	content: '';
	margin: 0 0 20px;
	width: 100px;
	height: 1px;
	background-color: #8F7255;
}

.p-front-news__main-heading {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0;
	width: 100%;
	color: #064b28;
	font-size: 36px;
	font-family: "G-Bold";
}

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

	.p-front-column__main-heading,
	.p-front-story__main-heading,
	.p-front-about__main-heading,
	.p-front-vision__heading {
		flex-flow: row;
		align-items: center;
		margin: 0 auto 80px;
		font-size: 40px;
	}

	.p-front-column__main-heading p,
	.p-front-story__main-heading p,
	.p-front-about__main-heading p,
	.p-front-vision__heading p {
		flex-flow: row;
		align-items: center;
		margin-top: 0;
	}

	.p-front-column__main-heading p:before,
	.p-front-story__main-heading p:before,
	.p-front-about__main-heading p:before,
	.p-front-vision__heading p:before {
		margin: 0 20px;
		width: 150px;
	}

	.p-front-news__main-heading {
		display: block;
		width: 20%;
		font-size: 40px;
	}
}

.p-front-column__sub-heading,
.p-front-story__sub-heading,
.p-front-about__sub-heading,
.p-front-news__sub-heading {
	font-size: 18px;
	letter-spacing: .3em;
	text-align: center;
	display: block;
	width: 85vw;
	margin: 0 auto 40px;
	line-height: 1.5
}

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

	.p-front-column__sub-heading,
	.p-front-story__sub-heading,
	.p-front-about__sub-heading,
	.p-front-news__sub-heading {
		font-size: 20px;
		margin: 0 auto 60px
	}
}

.p-front-column__link-more,
.p-front-story__link-more,
.p-front-vision__link {
	font-family: "Roboto Condensed", sans-serif;
	font-size: 18px;
	letter-spacing: .3em;
	line-height: 1;
	display: block;
	margin: 0 auto;
	width: fit-content
}

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

	.p-front-column__link-more,
	.p-front-story__link-more,
	.p-front-vision__link {
		font-size: 22px
	}
}

.p-front-column__link-more:after,
.p-front-story__link-more:after,
.p-front-vision__link:after {
	content: "";
	display: inline-block;
	width: 80px;
	aspect-ratio: 1/1;
	vertical-align: middle;
	margin: 0 0 0 24px
}

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

	.p-front-column__link-more:after,
	.p-front-story__link-more:after,
	.p-front-vision__link:after {
		width: 100px;
		transition: .5s ease;
		transform: scale(1);
		position: relative;
		right: 0;
		margin: 0 0 0 42px
	}
}

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

	.p-front-column__link-more:hover:after,
	.p-front-story__link-more:hover:after,
	.p-front-vision__link:hover:after {
		transition: .2s ease;
		transform: scale(0.925);
		right: -12px;
		margin: 0 0 0 20px
	}
}

.p-front-story__main-heading span,
.p-front-news__main-heading span {
	position: absolute;
	top: 18px;
	right: 0;
	display: flex;
	align-items: center;
	margin-left: auto;
	color: #212121;
	font-size: 13px;
	font-family: "G-Regular";
	transition: .3s;
}

.p-front-about__main-heading span {
	position: absolute;
	bottom: 2px;
	right: 0;
	display: flex;
	align-items: center;
	margin-left: auto;
	color: #212121;
	font-size: 13px;
	font-family: "G-Regular";
	transition: .3s;
}

.p-front-news__main-heading span {
	margin-top: 40px;
}

.p-front-story__main-heading span:hover,
.p-front-about__main-heading span:hover,
.p-front-news__main-heading span:hover {
	opacity: 0.7;
}

.p-front-story__main-heading span::before,
.p-front-about__main-heading span::before,
.p-front-news__main-heading span::before {
	content: '＞';
	margin-right: 10px;
	color: #8F7255;
	font-size: 10px;
}

.p-front-news__main-heading span {
	margin-top: 0px;
}

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

	.p-front-story__main-heading span,
	.p-front-about__main-heading span,
	.p-front-news__main-heading span {
		position: relative;
		top: 0;
		bottom: 0;
		font-size: 15px;
	}

	.p-front-news__main-heading span {
		margin-top: 40px;
	}
}

.p-front-story__list {
	max-width: 1100px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	list-style: none;
	margin-bottom: 60px;
	gap: 40px
}

@media screen and (min-width: 640px) {
	.p-front-story__list {
		margin-bottom: 60px;
		display: flex;
		flex-wrap: wrap
	}
}

@media screen and (min-width: 1025px) {
	.p-front-story__list {
		gap: 60px 80px
	}
}

@media screen and (min-width: 1231px) {
	.p-front-story__list {
		gap: 50px 60px
	}
}

.p-front-story__item {
	background: #fff
}

@media screen and (max-width: 767px) {
	.p-front-story__item:not(:last-of-type) {
		margin: 0 0 20px
	}
}

@media screen and (min-width: 640px) {
	.p-front-story__item {
		width: calc((100% - 40px)/2)
	}
}

@media screen and (min-width: 1025px) {
	.p-front-story__item {
		width: calc((100% - 80px)/2)
	}
}

@media screen and (min-width: 1231px) {
	.p-front-story__item {
		width: calc((100% - 60px)/2)
	}
}

.p-front-column__image,
.p-front-story__image {
	aspect-ratio: 1.618/1;
	overflow: hidden
}

.p-front-column__image *,
.p-front-story__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

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

	.p-front-column__image *,
	.p-front-story__image * {
		transform: scale(1);
		transition: .5s ease
	}
}

.p-front-story__title {
	display: block;
	padding: 25px 30px;
	font-size: 15px;
	line-height: 1.5
}

@media screen and (min-width: 1025px) {
	.p-front-story__title {
		font-size: 20px
	}
}

@media screen and (min-width: 1231px) {
	.p-front-story__title {
		font-size: 24px
	}
}

.p-front-mainvisual {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100lvh
}

@media screen and (min-width: 768px) {
	.p-front-mainvisual {
		aspect-ratio: 1920/1186.6501854141
	}
}

.p-front-mainvisual__image {
	position: absolute;
	inset: 0
}

.p-front-mainvisual__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

.p-front-mainvisual__heading {
	font-size: 11vw;
	color: #fff;
	z-index: 9
}

@media screen and (min-width: 768px) {
	.p-front-mainvisual__heading {
		font-size: 60px
	}
}

@media screen and (min-width: 1025px) {
	.p-front-mainvisual__heading {
		font-size: 80px
	}
}

@media screen and (min-width: 1231px) {
	.p-front-mainvisual__heading {
		font-size: 120px
	}
}

.p-front-mainvisual__main-heading {
	line-height: 1.25;
	display: block;
	margin: 0 0 40px
}

.p-front-mainvisual__sub-heading {
	line-height: 1.25;
	display: block
}

.p-front-mainvisual__video {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (max-width: 767px) {
	.p-front-mainvisual__video--l {
		display: none
	}
}

@media screen and (min-width: 768px) {
	.p-front-mainvisual__video--s {
		display: none
	}
}

.p-front-vision {
	background: url(../img/common/texture/green_s.jpg) repeat-y center center/cover;
	background: image-set(url(../img/common/texture/green_s@2x.webp), url(../img/common/texture/green_s@3x.webp) 3x) repeat-y center center/cover;
	color: #fff;
	text-align: center;
	width: 100%;
}

.p-front-vision p {
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 40px;
}

@media screen and (min-width: 768px) {
	.p-front-vision {
		background: url(../img/common/texture/green.jpg) repeat-y center center/cover;
		background: image-set(url(../img/common/texture/green@2x.webp), url(../img/common/texture/green@3x.webp) 3x) repeat-y center center/cover;
		font-size: 18px;
	}

	.p-front-vision p {
		margin-bottom: 30px;
		font-size: 18px;
	}
}

@media screen and (min-width: 768px) {
	.p-front-vision__heading {
		margin: 0 0 120px
	}
}

.p-front-vision__text {
	margin-bottom: 120px;
	line-height: 2;
	font-size: 16px;
	word-break: keep-all
}

@media screen and (min-width: 640px) {
	.p-front-vision__text {
		font-size: 22px
	}
}

.p-front-vision__link:after {
	background: url(../img/common/circle-arrow_wh.svg) no-repeat center/contain
}

.p-front-link {
	padding: 40px 0 0
}

.p-front-link__inner {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	color: #fff
}

@media screen and (min-width: 768px) {
	.p-front-link__inner {
		display: flex;
		gap: 40px
	}
}

.p-front-link__item {
	display: block;
	position: relative
}

@media screen and (max-width: 767px) {
	.p-front-link__item:not(:last-of-type) {
		margin: 0 0 30px
	}
}

@media screen and (min-width: 768px) {
	.p-front-link__item {
		width: 50%
	}
}

@media screen and (min-width: 1025px) {
	.p-front-link__item:hover .p-front-link__image * {
		transition: .2s ease;
		transform: scale(1.03)
	}

	.p-front-link__item:hover .p-front-link__more {
		transition: .2s ease;
		right: 35px
	}
}

.p-front-link__image {
	display: block;
	width: 100%;
	position: relative;
	z-index: -1;
	overflow: hidden;
	margin: 0
}

.p-front-link__image * {
	object-fit: contain;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (min-width: 1025px) {
	.p-front-about__item div {
		display: block;
		width: 100%;
		position: relative;
		z-index: -1;
		overflow: hidden;
	}

	.p-front-link__image {
		transition: .5s ease;
		transform: scale(1)
	}

	.p-front-link__image:hover {
		transition: .5s ease;
		transform: scale(1.05)
	}
}

@media screen and (max-width: 639px) {
	.p-front-link__title {
		padding: 0 8px 0 0
	}
}

@media screen and (min-width: 1025px) {
	.p-front-link__title {
		font-size: 18px
	}
}

.p-front-link__title {
	display: block;
	padding: 10px 10px 11px;
	width: 100%;
	color: #FFF;
	text-align: right;
	background-color: #212121;
	box-sizing: border-box;
}

.p-front-news {
	background: #fff
}

.p-front-news__main-heading {
	color: #064b28
}

.p-front-news__list {
	width: 100%;
	list-style: none;
	margin-bottom: 0px;
	padding-top: 40px;
}

@media screen and (min-width: 768px) {
	.p-front-news__list {
		width: 75%;
		margin-bottom: 60px;
		padding-top: 0;
	}
}

.p-front-news__item {
	border-bottom: 1px solid #947151
}

.p-front-news__link {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 20px 0;
}

@media screen and (min-width: 1025px) {
	.p-front-news__link {
		gap: 20px;
		padding: 20px;
		transition: .5s ease
	}

	.p-front-news__link:hover {
		background: #ededed;
		transition: .2s ease
	}
}

.p-front-news__date,
.p-front-news__category,
.p-front-news__title {
	font-size: 16px;
	line-height: 1.75
}

.p-front-news__date {
	font-size: 15px;
	width: fit-content;
	opacity: .6
}

@media screen and (min-width: 1025px) {
	.p-front-news__date {
		font-size: 16px;
	}
}

.p-front-news__category {
	width: 140px;
	color: #064b28;
	border: 1px solid;
	font-size: .8em;
	padding: 0 10px;
	text-align: center;
	line-height: 1.5
}

.p-front-news__title {
	font-size: 16px;
	width: 100%
}

@media screen and (min-width: 768px) {
	.p-front-news__title {
		font-size: 16px
	}
}

@media screen and (min-width: 1025px) {
	.p-front-news__title {
		font-size: 16px;
		flex: 1
	}
}

.p-front-news__link-more {
	font-family: "Roboto Condensed", sans-serif;
	font-size: 22px;
	letter-spacing: .3em;
	color: #064b28;
	line-height: 1;
	display: block;
	margin: 0 auto;
	width: fit-content
}

.p-front-news__link-more:after {
	content: "";
	display: inline-block;
	width: .9em;
	aspect-ratio: 1/1;
	vertical-align: top;
	background: url(../img/common/arrow_gn.svg) no-repeat center/contain;
	margin: 0 0 0 42px
}

@media screen and (min-width: 1025px) {
	.p-front-news__link-more:after {
		transition: .5s ease;
		transform: scale(1);
		position: relative;
		right: 0
	}
}

@media screen and (min-width: 1025px) {
	.p-front-news__link-more:hover:after {
		transition: .2s ease;
		transform: scale(0.925);
		right: -12px;
		margin: 0 0 0 20px
	}
}

.p-front-about {
	background: #EFEFEF !important
}

.p-front-about__list {
	max-width: 1100px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 20px
}

@media screen and (min-width: 768px) {
	.p-front-about__list {
		gap: 20px
	}
}

@media screen and (min-width: 1025px) {
	.p-front-about__list {
		gap: 30px 40px
	}
}

.p-front-about__item:nth-child(1),
.p-front-about__item:nth-child(2) {
	width: 100%
}

.p-front-about__item {
	width: calc((100% - 20px)/2)
}

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

	.p-front-about__item:nth-child(1),
	.p-front-about__item:nth-child(2) {
		width: calc((100% - 40px)/2)
	}

	.p-front-about__item {
		width: calc((100% - 80px)/3)
	}
}

@media screen and (min-width: 1025px) {
	.p-front-about__item:hover .p-front-about__image img {
		transition: .2s ease;
		transform: scale(1.05)
	}
}

@media screen and (min-width: 768px) {
	.p-front-about__image {
		margin: 0 0 15px
	}
}

.p-front-about__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (min-width: 1025px) {
	.p-front-about__image * {
		transition: .5s ease;
		transform: scale(1)
	}
}

.p-front-about__title {
	color: #064b28;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	align-items: flex-start
}

@media screen and (max-width: 639px) {
	.p-front-about__title {
		padding: 0 8px 0 0
	}
}

@media screen and (min-width: 1025px) {
	.p-front-about__title {
		font-size: 20px
	}
}

.p-front-about__title span {
	line-height: 1.5;
	flex: 1
}

.p-front-about__title:after {
	content: "";
	display: block;
	width: .7em;
	height: 1.5em;
	background: url(../img/common/arrow_gn.svg) no-repeat center/contain
}

.p-front-story {
	background: #FFF !important
}

.p-front-story__main-heading {
	color: #064b28;
	line-height: 1.25
}

@media screen and (min-width: 1231px) {
	.p-front-story__link:hover .p-front-story__image * {
		transform: scale(1.05);
		transition: .2s ease
	}
}

.p-front-story__link-more:after {
	background: url(../img/common/circle-arrow_gn.svg) no-repeat center/contain
}

.p-front-column {
	background: #152016;
	color: #fff
}

.p-front-column__list {
	color: #191919;
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-front-column__list {
		margin-bottom: 60px
	}
}

.p-front-column__list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	color: #191919
}

@media screen and (min-width: 1025px) {
	.p-front-column__list {
		gap: 40px
	}
}

.p-front-column__item {
	background: #fff;
	border-radius: 15px;
	overflow: hidden;
	width: 100%
}

@media screen and (min-width: 640px) {
	.p-front-column__item {
		width: calc((100% - 30px)/2)
	}
}

@media screen and (min-width: 768px) {
	.p-front-column__item {
		border-radius: 20px
	}
}

@media screen and (min-width: 1025px) {
	.p-front-column__item {
		width: calc((100% - 80px)/3)
	}
}

.p-front-column__item--first {
	position: relative;
	overflow: visible
}

@media screen and (min-width: 1025px) {
	.p-front-column__item--first {
		width: 100%
	}
}

.p-front-column__item--first:after {
	content: "";
	display: block;
	width: 60px;
	aspect-ratio: 1/1;
	background: url(../img/page/front/icon_column-new.svg) no-repeat center/contain;
	position: absolute;
	top: -20px;
	left: -20px
}

@media screen and (min-width: 1025px) {
	.p-front-column__item--first:after {
		width: 110px;
		top: -50px;
		right: -50px;
		left: unset
	}
}

@media screen and (min-width: 1025px) {
	.p-front-column__item--first .p-front-column__link {
		display: flex;
		align-items: center
	}
}

.p-front-column__item--first .p-front-column__image {
	border-radius: 15px 15px 0 0;
	overflow: hidden
}

@media screen and (min-width: 1025px) {
	.p-front-column__item--first .p-front-column__image {
		border-radius: 20px 0 0 20px;
		width: 45%;
		margin: 0
	}
}

@media screen and (min-width: 1025px) {
	.p-front-column__item--first .p-front-column__date {
		position: static;
		padding: unset
	}
}

@media screen and (min-width: 1025px) {
	.p-front-column__inner {
		width: 55%;
		padding: 40px
	}
}

@media screen and (min-width: 1025px) {
	.p-front-column__inner .p-front-column__title {
		margin: 0 0 50px
	}
}

@media screen and (min-width: 1025px) {
	.p-front-column__inner .p-front-column__date {
		margin: 0
	}
}

.p-front-column__link {
	display: block;
	height: 100%;
	position: relative
}

@media screen and (max-width: 1024px) {
	.p-front-column__link {
		padding: 0 0 30px
	}
}

@media screen and (min-width: 1231px) {
	.p-front-column__link:hover .p-front-column__image * {
		transition: .2s ease;
		transform: scale(1.1)
	}
}

.p-front-column__title {
	display: block;
	line-height: 1.5;
	margin: 15px 25px 30px
}

@media screen and (min-width: 1025px) {
	.p-front-column__title {
		margin: 20px 25px 65px;
		font-size: 22px
	}
}

.p-front-column__date {
	display: block;
	font-size: 13px;
	padding: 0 25px 20px;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0
}

@media screen and (min-width: 1025px) {
	.p-front-column__date {
		font-size: 16px
	}
}

.p-front-column__link-more:after {
	background: url(../img/common/circle-arrow_wh.svg) no-repeat center/contain
}

.p-about-intro {
	padding-top: 60px
}

@media screen and (min-width: 1025px) {
	.p-about-intro {
		padding-top: 120px
	}
}

.p-about-intro__text {
	margin-bottom: 60px
}

@media screen and (min-width: 1025px) {
	.p-about-intro__text {
		margin-bottom: 120px
	}
}

.p-about-link {
	margin-bottom: 40px;
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	color: #fff
}

@media screen and (min-width: 768px) {
	.p-about-link {
		display: flex;
		flex-wrap: wrap;
		gap: 40px
	}
}

@media screen and (min-width: 1025px) {
	.p-about-link {
		margin-bottom: 60px
	}
}

.p-about-link__item {
	position: relative;
	display: block
}

@media screen and (max-width: 767px) {
	.p-about-link__item:not(:last-of-type) {
		margin: 0 0 30px
	}
}

@media screen and (min-width: 768px) {
	.p-about-link__item {
		width: calc(50% - 20px)
	}
}

@media screen and (min-width: 1025px) {
	.p-about-link__item:hover .p-about-link__image * {
		transition: .2s ease;
		transform: scale(1.05)
	}

	.p-about-link__item:hover .p-about-link__more {
		transition: .2s ease;
		right: 20px
	}
}

.p-about-link__image {
	display: block;
	width: 100%;
	position: relative;
	z-index: -1;
	overflow: hidden;
	margin: 0 0 8px
}

@media screen and (min-width: 768px) {
	.p-about-link__image {
		margin: 0 0 10px;
		aspect-ratio: 653/300
	}
}

.p-about-link__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (min-width: 1025px) {
	.p-about-link__image * {
		transition: .5s ease;
		transform: scale(1)
	}
}

.p-about-link__title {
	font-size: 20px;
	line-height: 1.5;
	color: #064b28;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	align-items: flex-start
}

@media screen and (max-width: 639px) {
	.p-about-link__title {
		padding: 0 8px 0 0
	}
}

@media screen and (min-width: 1025px) {
	.p-about-link__title {
		font-size: 24px
	}
}

.p-about-link__title span {
	line-height: 1.5;
	flex: 1
}

.p-about-link__title:after {
	content: "";
	display: block;
	width: .7em;
	height: 1.5em;
	background: url(../img/common/arrow_gn.svg) no-repeat center/contain
}

.p-about-company {
	background: #ededed;
	padding: 60px 0
}

@media screen and (min-width: 1025px) {
	.p-about-company {
		padding: 120px 0
	}
}

.p-about-company__heading {
	text-align: center;
	font-size: 24px;
	margin: 0 0 40px
}

@media screen and (min-width: 1025px) {
	.p-about-company__heading {
		font-size: 28px;
		margin: 0 0 60px
	}
}

.p-about-button {
	list-style: none;
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto
}

@media screen and (min-width: 768px) {
	.p-about-button {
		display: flex;
		flex-wrap: wrap;
		gap: 0 40px
	}
}

@media screen and (min-width: 768px) {
	.p-about-button__item {
		width: calc((100% - 40px)/2)
	}
}

.p-about-data {
	padding: 60px 0;
	margin: 0 0 60px;
	background: image-set(url(../img/page/about/data_bg.webp) 1x, url(../img/page/about/data_bg@2x.webp) 2x, url(../img/page/about/data_bg@3x.webp) 3x) center/cover;
	background: -webkit-image-set(url(../img/page/about/data_bg.webp) 1x, url(../img/page/about/data_bg@2x.webp) 2x, url(../img/page/about/data_bg@3x.webp) 3x) center/cover
}

@media screen and (min-width: 1025px) {
	.p-about-data {
		padding: 120px 0;
		margin: 0 0 120px
	}
}

.p-about-data__inner {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto
}

@media screen and (min-width: 768px) {
	.p-about-data__inner {
		display: grid;
		gap: 60px 40px;
		grid-template: "heading subheading" 1fr "content content" auto/1fr 1fr
	}
}

@media screen and (max-width: 767px) {
	.p-about-data__heading {
		display: block;
		width: min(100%, 367px);
		margin: 0 0 40px
	}
}

@media screen and (min-width: 768px) {
	.p-about-data__heading {
		grid-area: heading
	}
}

@media screen and (max-width: 767px) {
	.p-about-data__sub-heading {
		display: block;
		width: min(100%, 367px);
		margin: 0 0 60px auto
	}
}

@media screen and (min-width: 768px) {
	.p-about-data__sub-heading {
		justify-self: end;
		grid-area: subheading
	}
}

@media screen and (max-width: 767px) {
	.p-about-data__content {
		display: block;
		margin: 0 auto
	}
}

@media screen and (min-width: 768px) {
	.p-about-data__content {
		grid-area: content
	}
}

.p-about-data__content * {
	width: 100%;
	height: auto
}

.p-greeting-mainvisual {
	position: relative;
	width: 100%;
	height: 161.8vw
}

@media screen and (min-width: 640px) {
	.p-greeting-mainvisual {
		height: max(100dvh, 760px)
	}
}

.p-greeting-mainvisual__image {
	display: block;
	position: relative;
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

.p-greeting-mainvisual__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

.p-greeting-mainvisual__image:before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(28deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0) 70%);
	opacity: .3
}

.p-greeting-mainvisual__header {
	position: absolute;
	left: 0;
	top: 108px;
	right: 0
}

@media screen and (min-width: 768px) {
	.p-greeting-mainvisual__header {
		top: 208px
	}
}

.p-greeting-mainvisual__breadcrumb li:not(:last-of-type)::after {
	background: url(../img/common/arrow_wh.svg) no-repeat center center/contain
}

.p-greeting-mainvisual__inner {
	width: min(85vw, 800px);
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 40px
}

@media screen and (min-width: 768px) {
	.p-greeting-mainvisual__inner {
		bottom: 60px
	}
}

@media screen and (min-width: 1025px) {
	.p-greeting-mainvisual__inner {
		bottom: 120px
	}
}

.p-greeting-mainvisual__copy {
	font-size: clamp(24px, 6.672px + 2.71vw, 40px);
	line-height: 2;
	letter-spacing: .25em;
	word-break: keep-all;
	color: #fff;
	margin: 0 0 20px
}

.p-greeting-mainvisual__copy span {
	line-height: 2
}

.p-greeting-mainvisual__company {
	color: #fff;
	font-size: 16px;
	margin: 0 0 15px
}

@media screen and (min-width: 500px) {
	.p-greeting-mainvisual__company {
		font-size: 18px
	}
}

.p-greeting-mainvisual__name {
	color: #fff;
	font-size: 20px
}

@media screen and (min-width: 500px) {
	.p-greeting-mainvisual__name {
		font-size: 24px
	}
}

.p-greeting-content {
	background: url(../img/common/texture/green_s.jpg) repeat-y center center/cover;
	background: image-set(url(../img/common/texture/green_s@2x.webp), url(../img/common/texture/green_s@3x.webp) 3x) repeat-y center center/cover;
	color: #fff;
	padding: 60px 0;
	margin: 0 0 60px;
	background-position: top
}

@media screen and (min-width: 768px) {
	.p-greeting-content {
		background: url(../img/common/texture/green.jpg) repeat-y center center/cover;
		background: image-set(url(../img/common/texture/green@2x.webp), url(../img/common/texture/green@3x.webp) 3x) repeat-y center center/cover
	}
}

@media screen and (max-width: 767px) {
	.p-greeting-content {
		background-size: 100% auto
	}
}

@media screen and (min-width: 768px) {
	.p-greeting-content {
		font-size: 18px;
		padding: 120px 0;
		margin: 0 0 120px
	}
}

.p-greeting-content__text {
	width: min(85vw, 800px);
	margin-left: auto;
	margin-right: auto;
	line-height: 2.5
}

.p-greeting-content__text:not(:last-of-type) {
	margin-bottom: 36px
}

.p-greeting-content__text:last-of-type {
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-greeting-content__text:last-of-type {
		margin-bottom: 60px
	}
}

.p-greeting-content__sign {
	width: min(85vw, 800px);
	margin-left: auto;
	margin-right: auto;
	text-align: right;
	line-height: 2.5
}

.p-greeting-content__name {
	font-size: 1.7777777778em;
	margin: 0 0 0 15px
}

.p-vm-philosophy {
	background: #dccebe;
	background: linear-gradient(0deg, #CDB9A6 0%, #DCCEBE 35%, #DCCEBE 75%, #CDB9A6 100%);
	padding: 60px 5.5vw;
	text-align: center;
	color: #064b28
}

@media screen and (min-width: 768px) {
	.p-vm-philosophy {
		padding: 120px 5.5vw
	}
}

.p-vm-philosophy__heading {
	margin: 0 0 40px;
	font-size: 15px
}

@media screen and (min-width: 768px) {
	.p-vm-philosophy__heading {
		font-size: 20px;
		margin: 0 0 56px
	}
}

.p-vm-philosophy__heading--sub {
	font-family: "Roboto Condensed", sans-serif;
	font-size: 22px;
	letter-spacing: .3em;
	display: block;
	margin: 0 0 12px
}

@media screen and (min-width: 768px) {
	.p-vm-philosophy__heading--sub {
		font-size: 28px
	}
}

.p-vm-philosophy__main {
	font-size: 40px;
	letter-spacing: .2em;
	margin: 0 0 40px
}

@media screen and (min-width: 768px) {
	.p-vm-philosophy__main {
		font-size: 56px
	}
}

@media screen and (max-width: 767px) {
	.p-vm-philosophy__main>* {
		display: block
	}

	.p-vm-philosophy__main>*:not(:last-of-type) {
		margin: 0 0 .75em
	}
}

.p-vm-philosophy__sub {
	font-family: "Cormorant Garamond", serif;
	font-size: 24px;
	margin: 0 0 60px
}

@media screen and (min-width: 768px) {
	.p-vm-philosophy__sub {
		font-size: 32px
	}
}

@media screen and (max-width: 767px) {
	.p-vm-philosophy__sub>* {
		display: block
	}

	.p-vm-philosophy__sub>*:not(:last-of-type) {
		margin: 0 0 .5em
	}
}

.p-vm-philosophy__text {
	line-height: 2
}

.p-vm-philosophy__text:not(:last-of-type) {
	margin: 0 0 30px
}

.p-vm-details {
	background: url(../img/common/texture/green_s.jpg) repeat-y center center/cover;
	background: image-set(url(../img/common/texture/green_s@2x.webp), url(../img/common/texture/green_s@3x.webp) 3x) repeat-y center center/cover;
	padding: 60px 0;
	margin: 0 0 60px;
	background-position: top
}

@media screen and (min-width: 768px) {
	.p-vm-details {
		background: url(../img/common/texture/green.jpg) repeat-y center center/cover;
		background: image-set(url(../img/common/texture/green@2x.webp), url(../img/common/texture/green@3x.webp) 3x) repeat-y center center/cover
	}
}

@media screen and (max-width: 767px) {
	.p-vm-details {
		background-size: 100% auto
	}
}

@media screen and (min-width: 768px) {
	.p-vm-details {
		padding: 120px 0;
		margin: 0 0 120px
	}
}

.p-vm-details__section {
	width: min(85vw, 800px);
	margin-left: auto;
	margin-right: auto
}

@media screen and (min-width: 768px) {
	.p-vm-details__section {
		display: grid;
		grid-template: "heading text" 1fr "main text" auto "sub text" auto/1fr 1fr
	}
}

.p-vm-details__section:not(:last-of-type) {
	margin-bottom: 80px
}

@media screen and (min-width: 768px) {
	.p-vm-details__section:not(:last-of-type) {
		margin-bottom: 120px
	}
}

.p-vm-details__heading {
	color: #947151;
	margin: 0 0 40px;
	font-size: 15px
}

@media screen and (min-width: 768px) {
	.p-vm-details__heading {
		font-size: 20px;
		margin: 0 0 56px;
		grid-area: heading
	}
}

.p-vm-details__heading--sub {
	font-family: "Roboto Condensed", sans-serif;
	font-size: 22px;
	letter-spacing: .3em;
	display: block;
	margin: 0 0 12px
}

@media screen and (min-width: 768px) {
	.p-vm-details__heading--sub {
		font-size: 28px
	}
}

.p-vm-details__main {
	color: #fff;
	font-size: 32px;
	letter-spacing: .2em;
	margin: 0 0 18px
}

@media screen and (min-width: 768px) {
	.p-vm-details__main {
		font-size: 40px;
		grid-area: main
	}
}

.p-vm-details__sub {
	color: #947151;
	font-family: "Cormorant Garamond", serif;
	font-size: 24px;
	margin: 0 0 40px
}

@media screen and (min-width: 768px) {
	.p-vm-details__sub {
		font-size: 28px;
		margin: 0;
		grid-area: sub
	}
}

@media screen and (max-width: 767px) {
	.p-vm-details__sub * {
		display: block
	}
}

@media screen and (min-width: 768px) {
	.p-vm-details__paragraphs {
		grid-area: text
	}
}

.p-vm-details__text {
	color: #fff;
	line-height: 2;
	text-align: right
}

.p-vm-details__text:not(:last-of-type) {
	margin: 0 0 30px
}

.p-business-about {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	padding: 60px 0
}

@media screen and (min-width: 768px) {
	.p-business-about {
		padding: 120px 0
	}
}

@media screen and (min-width: 1025px) {
	.p-business-about {
		display: grid;
		grid-template: "heading image" auto "text image" 1fr/57% 35%;
		gap: 0 8%
	}
}

@media screen and (min-width: 1025px) {
	.p-business-about__heading {
		grid-area: heading
	}
}

.p-business-about__text {
	line-height: 2
}

@media screen and (max-width: 1024px) {
	.p-business-about__text {
		margin: 0 0 60px
	}
}

@media screen and (min-width: 1025px) {
	.p-business-about__text {
		grid-area: text;
		align-self: self-start
	}
}

.p-business-about__content {
	display: block;
	width: min(100%, 600px);
	margin: 0 auto
}

@media screen and (min-width: 1025px) {
	.p-business-about__content {
		grid-area: image
	}
}

.p-business-about__content * {
	width: 100%;
	height: auto
}

.p-business-group {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-business-group {
		margin-bottom: 120px;
		gap: 60px 0
	}
}

.p-business-group__heading {
	font-size: 20px;
	color: #064b28;
	margin: 0 0 25px;
	display: grid;
	grid-template-columns: 40px calc(100% - 60px);
	gap: 15px;
	align-items: center
}

@media screen and (min-width: 768px) {
	.p-business-group__heading {
		font-size: 22px;
		margin: 0 0 32px
	}
}

@media screen and (min-width: 1231px) {
	.p-business-group__heading {
		font-size: 24px;
		margin: 0 0 40px;
		gap: 20px
	}
}

.p-business-group__icon {
	width: 40px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background: #064b28;
	padding: 0 10px;
	display: flex;
	align-items: center;
	justify-content: center
}

.p-business-group__section {
	width: 100%
}

@media screen and (max-width: 767px) {
	.p-business-group__section:not(:last-of-type) {
		margin: 0 0 60px
	}
}

.p-business-group__section--no-full {
	width: 100%
}

@media screen and (min-width: 768px) {
	.p-business-group__section--no-full {
		width: auto;
		display: flex;
		flex-direction: column
	}
}

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

	.p-business-group__section--no-full:nth-of-type(odd) .p-business-group__list,
	.p-business-group__section--no-full:last-of-type .p-business-group__list {
		border-right: thin solid #ccc
	}
}

@media screen and (min-width: 1231px) {
	.p-business-group__section--no-full:nth-of-type(odd) .p-business-group__list {
		border-right: none
	}

	.p-business-group__section--no-full:nth-of-type(3n - 1) .p-business-group__list,
	.p-business-group__section--no-full:last-of-type .p-business-group__list {
		border-right: thin solid #ccc
	}
}

@media screen and (min-width: 768px) {
	.p-business-group__section--no-full .p-business-group__list {
		flex: 1
	}
}

.p-business-group__section--no-full .p-business-group__item:last-of-type {
	border-right: none
}

.p-business-group__list {
	list-style: none;
	display: flex
}

@media screen and (max-width: 767px) {
	.p-business-group__list {
		flex-direction: column;
		border-top: thin solid #ccc
	}
}

@media screen and (min-width: 768px) {
	.p-business-group__list {
		flex-wrap: wrap;
		gap: 40px 0
	}
}

.p-business-group__item {
	background: #fff;
	align-items: stretch
}

@media screen and (max-width: 767px) {
	.p-business-group__item {
		display: flex;
		border-bottom: thin solid #ccc
	}
}

@media screen and (min-width: 768px) {
	.p-business-group__item {
		width: calc((var(--contentWidth) - 2px)/2);
		border-left: thin solid #ccc
	}

	.p-business-group__item:nth-of-type(even),
	.p-business-group__item:last-of-type {
		border-right: thin solid #ccc
	}
}

@media screen and (min-width: 1231px) {
	.p-business-group__item {
		width: calc((var(--contentWidth) - 2px)/3)
	}

	.p-business-group__item:nth-of-type(even) {
		border-right: none
	}

	.p-business-group__item:nth-of-type(3n),
	.p-business-group__item:last-of-type {
		border-right: thin solid #ccc
	}
}

@media screen and (min-width: 1025px) {
	.p-business-group__item:hover {
		z-index: 1
	}
}

.p-business-group__link {
	width: 100%;
	height: 100%;
	position: relative
}

@media screen and (max-width: 767px) {
	.p-business-group__link {
		display: flex;
		align-items: stretch
	}
}

@media screen and (min-width: 768px) {
	.p-business-group__link {
		display: block
	}
}

@media screen and (min-width: 1025px) {
	.p-business-group__link {
		transition: .5s ease
	}
}

@media screen and (min-width: 1025px) {
	.p-business-group__link:hover {
		transition: .2s ease;
		box-shadow: 0 0 25px rgba(0, 0, 0, .3)
	}
}

.p-business-group__link .p-business-group__logo {
	position: relative
}

.p-business-group__link .p-business-group__logo:before {
	content: "";
	display: block;
	width: 10px;
	aspect-ratio: 1/1;
	background: url(../img/common/icon_external.svg) no-repeat center/contain;
	position: absolute;
	top: 10px;
	right: 10px
}

@media screen and (min-width: 768px) {
	.p-business-group__link .p-business-group__logo:before {
		width: 12px;
		top: 15px;
		right: 15px
	}
}

.p-business-group__link .p-business-group__logo img {
	transform: scale(1);
	transition: .5s ease
}

.p-business-group__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 25px 4.7923322684% 25px 0
}

@media screen and (max-width: 767px) {
	.p-business-group__logo {
		flex: 1
	}
}

@media screen and (min-width: 768px) {
	.p-business-group__logo {
		height: 100px;
		padding: 25px 15% 0
	}
}

.p-business-group__logo img {
	object-fit: contain;
	object-position: center;
	height: 75%
}

@media screen and (min-width: 768px) {
	.p-business-group__logo img.p-business-group__image--sui {
		transform: scale(1.5);
		transform-origin: center
	}
}

.p-business-group__logo img.p-business-group__image--lasiq {
	width: 50%
}

.p-business-group__logo img.p-business-group__image--rehome {
	width: 65%
}

.p-business-group__logo img.p-business-group__image--tochigireform {
	width: 65%
}

.p-business-group__no-logo {
	color: #064b28;
	line-height: 1.5;
	text-align: center;
	font-weight: bold
}

@media screen and (min-width: 768px) {
	.p-business-group__no-logo {
		font-size: 20px
	}
}

.p-business-group__text {
	font-size: 13px;
	padding: 20px 0 20px 20px
}

@media screen and (max-width: 767px) {
	.p-business-group__text {
		display: flex;
		flex-direction: column;
		justify-content: center;
		flex: 1
	}
}

@media screen and (min-width: 768px) {
	.p-business-group__text {
		font-size: 14px;
		padding: 25px 15%
	}
}

.p-business-group__name {
	display: block;
	margin: 0 0 .3em;
	font-size: 1.15em;
	line-height: 1.5;
	color: #064b28
}

.p-business-group__description {
	line-height: 1.75;
	opacity: .6
}

.p-company-profile {
	width: min(85vw, 800px);
	margin-left: auto;
	margin-right: auto;
	margin: 0 auto;
	padding: 60px 0 40px
}

@media screen and (min-width: 768px) {
	.p-company-profile {
		padding: 120px 0 60px
	}
}

.p-company-profile__inner {
	border-collapse: collapse;
	width: 100%
}

.p-company-profile__item {
	border-top: 1px solid #947151
}

.p-company-profile__head,
.p-company-profile__detail {
	line-height: 1.7777777778;
	vertical-align: top;
	padding: 14px 0
}

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

	.p-company-profile__head,
	.p-company-profile__detail {
		padding: 18px 0
	}
}

.p-company-profile__head {
	font-weight: normal;
	text-align: unset;
	width: 30%;
	padding-right: 20px
}

.p-company-profile__detail {
	width: calc(70% - 20px)
}

.p-company-profile__detail ul {
	padding: 0 0 0 13px
}

.p-company-profile__detail ul li {
	line-height: 1.7777777778
}

.p-company-profile__detail ul li::marker {
	font-size: 12px
}

.p-company-links {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	list-style: none;
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-company-links {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		justify-content: center;
		margin-bottom: 120px
	}
}

@media screen and (min-width: 768px) {
	.p-company-links__item {
		width: calc((100% - 40px)/3)
	}
}

.p-company-image {
	display: block;
	width: 100%;
	aspect-ratio: 1/1;
	margin: 0 0 60px
}

@media screen and (min-width: 768px) {
	.p-company-image {
		margin: 0 0 120px;
		height: min(61.804697157vw, 600px)
	}
}

.p-company-image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

.p-company-access {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	padding: 60px 0
}

@media screen and (min-width: 768px) {
	.p-company-access {
		padding: 120px 0
	}
}

.p-company-access__map {
	width: min(85vw, 800px);
	margin-left: auto;
	margin-right: auto;
	aspect-ratio: 1/1;
	margin-bottom: 30px
}

@media screen and (min-width: 768px) {
	.p-company-access__map {
		aspect-ratio: 1.618/1
	}
}

.p-company-access__info {
	width: min(85vw, 800px);
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: flex-start;
	gap: 12px
}

.p-company-access__info:not(:last-of-type) {
	margin-bottom: 1em
}

.p-company-access__icon {
	width: 24px;
	padding-top: 4px
}

.p-company-access__text {
	line-height: 1.75;
	flex: 1
}

.p-history-intro {
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-history-intro {
		margin-bottom: 120px
	}
}

@media screen and (min-width: 1231px) {
	.p-history-intro__inner {
		display: flex;
		align-items: flex-start;
		gap: 80px
	}
}

@media screen and (max-width: 1230px) {
	.p-history-intro__text {
		margin-bottom: 40px
	}
}

.p-history-banner {
	display: block;
	position: relative;
	width: min(88vw, 400px)
}

@media screen and (min-width: 1231px) {
	.p-history-banner {
		width: calc(50% - 80px)
	}
}

.p-history-banner__image {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
	aspect-ratio: 400/246;
	margin: 0 0 8px
}

@media screen and (min-width: 768px) {
	.p-history-banner__image {
		aspect-ratio: 573/300;
		margin: 0 0 10px
	}
}

.p-history-banner__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (min-width: 1025px) {
	.p-history-banner__image * {
		transform: scale(1);
		transition: .5s ease
	}
}

.p-history-banner__image:after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(25, 25, 25, 0);
	transition: .5s ease
}

.p-history-banner__title {
	font-size: 20px;
	line-height: 1.5;
	color: #064b28;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	align-items: flex-start
}

@media screen and (max-width: 639px) {
	.p-history-banner__title {
		padding: 0 8px 0 0
	}
}

@media screen and (min-width: 1025px) {
	.p-history-banner__title {
		font-size: 24px
	}
}

.p-history-banner__title span {
	line-height: 1.5;
	flex: 1
}

.p-history-banner__title:after {
	content: "";
	display: block;
	width: .7em;
	height: 1.5em;
	background: url(../img/common/arrow_gn.svg) no-repeat center/contain
}

.p-history-banner:hover .p-history-banner__image * {
	transform: scale(1.03);
	transition: .2 ease
}

.p-history-banner--bottom {
	margin: 0 auto 60px
}

@media screen and (min-width: 768px) {
	.p-history-banner--bottom {
		margin: 0 auto 120px
	}
}

.p-history-content {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	list-style: none;
	margin-bottom: 60px;
	padding-top: 60px;
	position: relative
}

@media screen and (min-width: 768px) {
	.p-history-content {
		margin-bottom: 120px;
		padding-top: 120px
	}
}

.p-history-content:before {
	content: "";
	position: absolute;
	left: 4px;
	height: 100%;
	border-left: 1px solid rgba(25, 25, 25, .15)
}

@media screen and (min-width: 768px) {
	.p-history-content:before {
		left: calc(50% - .5px)
	}
}

@media screen and (max-width: 767px) {
	.p-history-content__item {
		padding: 0 0 0 20px
	}

	.p-history-content__item:not(:last-of-type) {
		margin: 0 0 30px
	}
}

@media screen and (min-width: 768px) {
	.p-history-content__item:nth-of-type(odd) {
		padding: 0 0 0 20px;
		margin: 0 0 0 50%
	}
}

.p-history-content__item:nth-of-type(odd) .p-history-content__year:before {
	left: -20px
}

@media screen and (min-width: 768px) {
	.p-history-content__item:nth-of-type(odd) .p-history-content__year:before {
		left: -24px
	}
}

@media screen and (min-width: 768px) {
	.p-history-content__item:nth-of-type(even) {
		text-align: right;
		padding: 0 20px 0 0;
		margin: 0 50% 0 0
	}
}

.p-history-content__item:nth-of-type(even) .p-history-content__year:before {
	left: -20px
}

@media screen and (min-width: 768px) {
	.p-history-content__item:nth-of-type(even) .p-history-content__year:before {
		right: -24px;
		left: unset
	}
}

.p-history-content__year {
	font-family: "Roboto Condensed", sans-serif;
	color: #dccebe;
	letter-spacing: .25em;
	position: relative;
	line-height: 1;
	font-size: 32px;
	margin: 0 0 15px
}

@media screen and (min-width: 768px) {
	.p-history-content__year {
		font-size: 44px;
		margin: 0 0 30px
	}
}

.p-history-content__year:before {
	content: "";
	display: block;
	width: 8px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background: #064b28;
	position: absolute;
	top: calc(.5em - 4px)
}

.p-history-content__detail {
	margin: 0 0 12px
}

@media screen and (max-width: 767px) {
	.p-history-content__detail {}
}

.p-history-content__detail img {
	margin-top: 10px;
	width: 100%;
	height: auto;
	object-fit: cover;
}

@media screen and (min-width: 768px) {
	.p-history-content__detail img {
		width: 60%;
	}

	.p-history-content__item:nth-of-type(even) .p-history-content__detail img {
		margin-left: auto;
	}
}

.p-history-content__month {
	color: #064b28;
	line-height: 1
}

@media screen and (max-width: 767px) {
	.p-history-content__month {
		line-height: 1.75;
		width: 56px
	}
}

@media screen and (min-width: 768px) {
	.p-history-content__month {
		display: block;
		margin: 0 0 12px
	}
}

.p-history-content__text {
	line-height: 1.75
}

@media screen and (max-width: 767px) {
	.p-history-content__text {
		width: calc(100% - 56px)
	}
}

@media screen and (min-width: 768px) {
	.p-history-content__text {
		display: block
	}
}

.p-recruit-intro {
	display: block;
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-recruit-intro {
		margin-bottom: 120px
	}
}

.p-recruit-intro * {
	object-fit: contain;
	object-position: center;
	width: 100%;
	height: 100%
}

.p-recruit-content {
	padding-top: 60px
}

@media screen and (min-width: 768px) {
	.p-recruit-content {
		padding-top: 120px
	}
}

.p-recruit-link {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	list-style: none;
	margin-bottom: 60px
}

@media screen and (min-width: 1025px) {
	.p-recruit-link {
		display: flex;
		flex-wrap: wrap;
		gap: 10px 40px
	}
}

@media screen and (min-width: 768px) {
	.p-recruit-link {
		margin-bottom: 120px
	}
}

.p-recruit-link__item {
	background-color: #ede6de;
	display: block
}

@media screen and (min-width: 768px) {
	.p-recruit-link__item {
		display: flex;
		align-items: center
	}
}

@media screen and (min-width: 1025px) {
	.p-recruit-link__item {
		transition: .5s ease;
		width: calc((100% - 80px)/3);
		display: block
	}
}

@media screen and (max-width: 1024px) {
	.p-recruit-link__item:not(:last-of-type) {
		margin: 0 0 10px
	}
}

@media screen and (min-width: 1025px) {
	.p-recruit-link__item:hover {
		opacity: .5;
		transition: .2s ease
	}
}

@media screen and (min-width: 1025px) {
	.p-recruit-link__item:hover .p-recruit-link__image * {
		transform: scale(1.05);
		transition: .2s ease
	}
}

.p-recruit-link__item--small {
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 20px
}

.p-recruit-link__item--small .p-recruit-link__heading {
	width: 100%;
	margin: unset;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between
}

.p-recruit-link__item--small .p-recruit-link__heading:before {
	position: relative
}

.p-recruit-link__image {
	display: block;
	width: 100%;
	aspect-ratio: 1.618/1;
	overflow: hidden;
	margin: 0 0 20px
}

@media screen and (min-width: 768px) {
	.p-recruit-link__image {
		width: 50%;
		aspect-ratio: unset;
		margin: 0
	}
}

@media screen and (min-width: 1025px) {
	.p-recruit-link__image {
		width: 100%;
		height: auto;
		aspect-ratio: 1.618/1;
		margin: 0 0 25px
	}
}

.p-recruit-link__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (min-width: 768px) {
	.p-recruit-link__image * {
		transform: scale(1);
		transition: .5s ease
	}
}

@media screen and (min-width: 768px) {
	.p-recruit-link__content {
		width: 50%
	}
}

@media screen and (min-width: 1025px) {
	.p-recruit-link__content {
		width: 100%
	}
}

.p-recruit-link__heading {
	font-size: 20px;
	text-align: center;
	color: #947151;
	position: relative;
	margin: 0 20px 12px
}

@media screen and (min-width: 768px) {
	.p-recruit-link__heading {
		margin: 30px 30px 15px
	}
}

@media screen and (min-width: 1025px) {
	.p-recruit-link__heading {
		font-size: 22px;
		margin: 0 30px 15px
	}
}

.p-recruit-link__heading:before {
	content: "";
	display: block;
	width: 14px;
	aspect-ratio: 1/1;
	background: url(../img/common/icon_external.svg) no-repeat center/contain;
	position: absolute;
	top: 0;
	right: 0
}

.p-recruit-link__text {
	font-size: 13px;
	line-height: 1.75;
	padding: 0 20px 20px
}

@media screen and (min-width: 768px) {
	.p-recruit-link__text {
		padding: 0 30px 30px
	}
}

.p-recruit-link__icon {
	width: 14.7058823529%;
	aspect-ratio: 1/1
}

.p-esg-nav {
	border-bottom: 1px solid #947151
}

@media screen and (max-width: 1024px) {
	.p-esg-nav {
		margin: 0 0 60px;
		position: relative
	}
}

@media screen and (min-width: 1025px) {
	.p-esg-nav {
		width: 320px
	}
}

.p-esg-nav__heading {
	font-family: "Roboto Condensed", sans-serif;
	color: #947151;
	letter-spacing: .3em;
	font-size: 16px;
	margin: 0 0 10px
}

.p-esg-nav__list {
	list-style: none;
	counter-reset: nav;
	border-top: 1px solid #947151
}

@media screen and (max-width: 1024px) {
	.p-esg-nav__list {
		height: 320px;
		overflow: hidden
	}
}

@media screen and (max-width: 1024px) {
	.p-esg-nav__list.is-show {
		height: auto
	}
}

.p-esg-nav__item {
	counter-increment: nav
}

.p-esg-nav__item:not(:last-of-type) {
	border-bottom: 1px solid #ededed
}

.p-esg-nav__item a {
	display: grid;
	grid-template-columns: 1.5em auto 40px;
	font-size: 16px;
	line-height: 1.5;
	padding: calc((60px - 1.5em)/2) 0 calc((60px - 1.5em)/2) 15px;
	background: #fafafa
}

@media screen and (min-width: 1025px) {
	.p-esg-nav__item a {
		transition: .5s ease
	}

	.p-esg-nav__item a:hover {
		background: #ededed;
		transition: .2s ease
	}

	.p-esg-nav__item a:hover:after {
		top: 5px;
		transition: .2s ease
	}
}

.p-esg-nav__item a:before {
	content: counter(nav, decimal-leading-zero)
}

.p-esg-nav__item a:after {
	content: "";
	display: block;
	width: 10px;
	aspect-ratio: 1/1;
	background: url(../img/common/arrow_gl.svg) no-repeat center/contain;
	transform: rotate(90deg);
	justify-self: center;
	align-self: center
}

@media screen and (min-width: 1025px) {
	.p-esg-nav__item a:after {
		position: relative;
		top: 0;
		transition: .5s ease
	}
}

.p-esg-nav__more {
	width: 100%;
	height: 60px;
	background: #fafafa;
	background: linear-gradient(0deg, #fafafa 0%, rgba(250, 250, 250, 0.8) 70%, rgba(250, 250, 250, 0) 100%);
	position: absolute;
	bottom: 1px;
	font-size: 18px;
	font-family: "Roboto Condensed", sans-serif;
	color: #064b28;
	letter-spacing: .3em;
	visibility: visible;
	opacity: 1;
	transition: .5s
}

@media screen and (max-width: 1024px) {
	.p-esg-nav__more {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px
	}
}

@media screen and (min-width: 1025px) {
	.p-esg-nav__more {
		display: none
	}
}

.p-esg-nav__more.is-open {
	visibility: hidden;
	opacity: 0
}

.p-esg-nav__more:after {
	display: block;
	width: 13px;
	aspect-ratio: 1/1;
	background: url(../img/common/icon_plus.svg) no-repeat center/contain
}

@media screen and (max-width: 1024px) {
	.p-esg-nav__more:after {
		content: ""
	}
}

.p-esg-content {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-esg-content {
		margin-bottom: 120px
	}
}

@media screen and (min-width: 1025px) {
	.p-esg-content {
		display: flex;
		align-items: flex-start;
		gap: min(8.5714285714%, 100px)
	}
}

@media screen and (min-width: 1025px) {
	.p-esg-content__inner {
		flex: 1
	}
}

.p-esg-content__section {
	margin-top: -60px;
	padding-top: 60px
}

@media screen and (min-width: 768px) {
	.p-esg-content__section {
		display: flex;
		flex-wrap: wrap;
		gap: 0 4.7393364929%
	}
}

.p-esg-content__section:not(:last-of-type) {
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-esg-content__section--full {
		display: block
	}
}

.p-esg-content__section--full .p-esg-content__text {
	margin: 0 0 35px
}

.p-esg-content__heading {
	font-size: 20px;
	line-height: 1.5;
	border-left: 3px solid #947151;
	border-bottom: 1px solid #947151;
	margin: 0 0 35px;
	padding: calc((60px - 1.5em)/2*.6) 0 calc((60px - 1.5em)/2*1.4) 20px
}

@media screen and (min-width: 768px) {
	.p-esg-content__heading {
		font-size: 24px
	}
}

@media screen and (min-width: 768px) {
	.p-esg-content__heading {
		width: 100%
	}
}

@media screen and (max-width: 767px) {
	.p-esg-content__block:not(:last-of-type) {
		margin: 0 0 35px
	}
}

@media screen and (min-width: 768px) {
	.p-esg-content__block {
		width: 47.6303317536%
	}

	.p-esg-content__block:not(:nth-last-of-type(-n+2)) {
		margin: 0 0 35px
	}
}

.p-esg-content__block .p-esg-content__text:not(:last-of-type) {
	margin: 0 0 35px
}

.p-esg-content__block--2col {
	display: grid;
	grid-template-columns: 1fr 13em;
	align-items: center;
	gap: 20px
}

.p-esg-content__block--2col .p-esg-content__text {
	line-height: 1.5
}

.p-esg-content__sub-heading {
	font-size: 1.125em;
	line-height: 1.75;
	margin: 0 0 25px
}

.p-esg-content__text {
	line-height: 2
}

.p-esg-content__image {
	display: block;
	width: 100%;
	margin: 0 auto
}

.p-esg-content__image * {
	width: 100%;
	height: auto
}

.p-esg-content__image--margin {
	margin: 0 0 20px
}

.p-esg-content__caption {
	padding: 25px 0 0;
	display: flex
}

.p-esg-content__caption-heading {
	width: fit-content;
	line-height: 2
}

.p-esg-content__caption-text {
	flex: 1;
	line-height: 2
}

.p-esg-content__team {
	display: grid;
	grid-template: "logo type" 1fr "logo name" auto/50px auto;
	align-items: center;
	gap: 0 20px;
	margin: 0 0 20px
}

.p-esg-content__logo {
	grid-area: logo
}

.p-esg-content__type {
	grid-area: type;
	font-size: 13px;
	margin: 0 0 10px
}

@media screen and (min-width: 768px) {
	.p-esg-content__type {
		font-size: 15px
	}
}

.p-esg-content__name {
	grid-area: name;
	font-size: 18px
}

@media screen and (min-width: 768px) {
	.p-esg-content__name {
		font-size: 20px
	}
}

@media screen and (min-width: 1231px) {
	.p-404-content {
		position: relative;
		display: flex;
		align-items: flex-start;
		justify-content: flex-end
	}
}

.p-404-content__image {
	display: block;
	height: min(65dvh, 440px);
	position: relative
}

@media screen and (min-width: 1231px) {
	.p-404-content__image {
		width: 50%;
		height: 100dvh;
		position: absolute;
		left: 0;
		bottom: 0
	}
}

@media screen and (min-width: 1231px) {
	.p-404-content__image.is-fixed {
		position: fixed;
		top: 0
	}
}

@media screen and (max-width: 1230px) {
	.p-404-content__image:before {
		content: "";
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, .6)
	}
}

.p-404-content__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

.p-404-content__inner {
	color: #fff;
	background: #0e3120;
}

@media screen and (min-width: 1231px) {
	.p-404-content__inner {
		background: #0e3120;
		background: linear-gradient(180deg, #064B28 0%, #0E3120 300px, #0E3120 100%);
		width: 50%;
		padding-top: 200px;
		padding-bottom: 120px
	}
}

.p-404-content__inner>* {
	width: min(85vw, 640px);
	margin: 0 auto
}

@media screen and (min-width: 1231px) {
	.p-404-content__inner>* {
		width: min(42.5vw, 700px);
		margin: 0 auto 0 0;
		padding-left: 120px
	}
}

@media screen and (max-width: 1230px) {
	.p-404-content__top {
		position: absolute;
		top: 124px;
		left: 0;
		right: 0
	}
}

.p-404-content__heading {
	font-size: 24px;
	margin-bottom: 40px
}

@media screen and (min-width: 768px) {
	.p-404-content__heading {
		font-size: 32px;
		margin-bottom: 60px
	}
}

.p-404-content__text {
	line-height: 2;
	margin-bottom: 40px
}

@media screen and (min-width: 768px) {
	.p-404-content__text {
		margin-bottom: 60px
	}
}

.p-404-content__link {
	display: none;
}

.p-404-content__link a {
	color: #fff
}

@media screen and (min-width: 1231px) {
	.p-404-content__link {
		display: block;
	}
}

.p-privacy-content {
	width: min(85vw, 800px);
	margin-left: auto;
	margin-right: auto;
	padding-top: 60px;
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-privacy-content {
		padding-top: 120px;
		margin-bottom: 120px
	}
}

.p-privacy-content a {
	text-decoration: underline
}

.p-privacy-content a[target=_blank]:after {
	content: "";
	display: inline-block;
	width: .8em;
	text-align: middle;
	aspect-ratio: 1/1;
	background: url(../img/common/icon_external.svg) no-repeat center/contain;
	margin: 0 0 0 5px
}

.p-privacy-content__heading {
	margin: 0 0 40px;
	padding: 40px 0 0
}

.p-privacy-content__text {
	line-height: 2;
	margin: 0 0 40px
}

.p-privacy-content__ordered-list,
.p-privacy-content__list,
.p-privacy-content__list--no-marker {
	padding-left: 24px
}

.p-privacy-content__ordered-list li,
.p-privacy-content__list li,
.p-privacy-content__list--no-marker li {
	line-height: 2
}

.p-privacy-content__ordered-list {
	margin: 0 0 40px
}

.p-privacy-content__list {
	margin: 0 0 40px
}

.p-privacy-content__footer {
	padding: 60px 0 0;
	line-height: 2;
	text-align: right
}

@media screen and (min-width: 768px) {
	.p-privacy-content__footer {
		padding: 60px 0 0
	}
}

.p-contact-content {
	margin-bottom: 80rem;
	font-size: 18px
}

@media screen and (min-width: 1025px) {
	.p-contact-content {
		margin-bottom: 160rem
	}
}

.p-contact-content__text {
	line-height: 2;
	margin: 0 0 30rem
}

@media screen and (min-width: 1025px) {
	.p-contact-content__text {
		margin: 0 0 40rem
	}
}

.p-contact-box {
	padding: min(7.5vw, 40px);
	background: #f5f5f5
}

.p-contact-box__heading {
	color: #947151;
	padding: 20px 0;
	margin: 0 0 50px;
	font-size: 24px;
	text-align: center
}

.p-contact-box__text {
	line-height: 2;
	margin: 0 0 20px
}

.p-contact-box__button {
	width: min(100%, 300px);
	margin: 0 0 50px auto
}

.p-contact-box__button:not(:last-of-type) {
	margin: 0 0 40px
}

@media screen and (min-width: 768px) {
	.p-contact-box__button:not(:last-of-type) {
		margin: 0 0 60px
	}
}

.p-contact-box__button--last {
	margin: 0 0 0 auto
}

.p-contact-for-corporate-content {
	font-size: 18px
}

@media screen and (min-width: 1025px) {
	.p-contact-for-corporate-content {
		margin-bottom: 160rem
	}
}

.p-contact-for-corporate-content__text {
	line-height: 2
}

.p-contact-for-corporate-content__text:not(:last-of-type) {
	margin: 0 0 30rem
}

@media screen and (min-width: 1025px) {
	.p-contact-for-corporate-content__text:not(:last-of-type) {
		margin: 0 0 40rem
	}
}

.p-contact-for-corporate-content__text:last-of-type {
	margin: 0 0 60rem
}

@media screen and (min-width: 1025px) {
	.p-contact-for-corporate-content__text:last-of-type {
		margin: 0 0 80rem
	}
}

.p-contact-for-corporate-content__text--strong {
	color: #064b28
}

.p-contact-for-corporate-content__text--underline {
	text-decoration: underline
}

.p-contact-for-corporate-content__links {
	margin: 0 0 40px
}

@media screen and (min-width: 640px) {
	.p-contact-for-corporate-content__links {
		display: flex;
		gap: 10px;
		flex-wrap: wrap
	}
}

@media screen and (min-width: 768px) {
	.p-contact-for-corporate-content__links {
		margin: 0 0 60px
	}
}

.p-contact-for-corporate-content__links br {
	display: none
}

.p-contact-for-corporate-content__link {
	font-size: 16px;
	word-break: keep-all
}

@media screen and (max-width: 639px) {
	.p-contact-for-corporate-content__link:not(:last-of-type) {
		margin: 0 0 20px
	}
}

@media screen and (min-width: 640px) {
	.p-contact-for-corporate-content__link {
		width: calc((100% - 20px)/2)
	}
}

@media screen and (min-width: 768px) {
	.p-contact-for-corporate-content__link {
		width: calc((100% - 40px)/3)
	}
}

.p-contact-for-corporate-form {
	margin: 0 0 40px
}

.p-contact-for-corporate-form__heading {
	display: flex;
	flex-wrap: wrap;
	gap: 8rem 20rem
}

.p-contact-for-corporate-form__sub-heading {
	font-size: .8888888889em;
	color: #064b28
}

@media screen and (max-width: 639px) {
	.p-contact-for-corporate-form__sub-heading {
		line-height: 1.75
	}
}

.p-contact-for-corporate-form__subject br {
	display: none
}

@media screen and (min-width: 768px) {
	.p-contact-for-corporate-form__type {
		display: flex;
		flex-wrap: wrap;
		gap: 0 40px
	}
}

.wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
	display: block;
	line-height: 1.8em;
}

.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
	line-height: 1.8em;
}

.p-contact-for-corporate-note {
	background: #ededed;
	padding: min(7.5vw, 40px);
	margin: 0 0 40px
}

.p-contact-for-corporate-note__text {
	line-height: 2;
	margin: 0 0 30px
}

.p-contact-for-corporate-note__address {
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px
}

.p-contact-for-corporate-note__heading {
	line-height: 2;
}

.p-contact-for-corporate-note__detail {
	line-height: 2;
}

.mw_wp_form_confirm .p-contact-for-corporate-form {
	margin: 0 0 40px
}

.mw_wp_form_confirm .p-contact-for-corporate-note {
	display: none
}

.p-contact-building-company-content {
	padding-bottom: 50px;
}

.p-contact-building-company-content__text {
	line-height: 2;
	margin: 0 0 30rem
}

@media screen and (min-width: 1025px) {
	.p-contact-building-company-content__text {
		margin: 0 0 40rem
	}
}

.p-contact-building-company-content__text--strong {
	color: #064b28
}

.p-contact-building-company-content__text--underline {
	text-decoration: underline
}

.p-contact-building-company-content__table {
	background: #ededed;
	padding: 20px 20px 0;
	margin: 0 0 60rem
}

@media screen and (min-width: 768px) {
	.p-contact-building-company-content__table {
		padding: 25px 25px 0
	}
}

@media screen and (min-width: 1025px) {
	.p-contact-building-company-content__table {
		margin: 0 0 80rem
	}
}

.p-contact-building-company-content__table tr th {
	font-size: 16px;
	line-height: 1.75;
	word-break: keep-all;
	padding: 0 20px 20px;
	width: 120px
}

@media screen and (max-width: 639px) {
	.p-contact-building-company-content__table tr th {
		display: block;
		width: 100%
	}
}

@media screen and (min-width: 768px) {
	.p-contact-building-company-content__table tr th {
		padding: 0 40px 25px 25px;
		width: 200px
	}
}

.p-contact-building-company-content__table tr td {
	font-size: 14px;
	line-height: 1.75;
	padding: 0 0 20px;
	width: 100%
}

@media screen and (max-width: 639px) {
	.p-contact-building-company-content__table tr td {
		display: block;
		width: 100%
	}
}

@media screen and (min-width: 768px) {
	.p-contact-building-company-content__table tr td {
		padding: 0 0 25px
	}
}

@media screen and (min-width: 640px) {
	.p-contact-building-company-content__detail {
		display: flex;
		gap: 1em
	}
}

.p-contact-building-company-content__detail br {
	display: none
}

.p-contact-building-company-content__detail span {
	display: block;
	line-height: 1.75
}

.p-contact-building-company-form__sub-heading {
	font-size: .8888888889em;
	color: #064b28
}

@media screen and (max-width: 639px) {
	.p-contact-building-company-form__sub-heading {
		line-height: 1.75
	}
}

@media screen and (min-width: 640px) {
	.p-contact-building-company-form__building-type {
		display: flex;
		gap: 20px;
		align-items: center
	}
}

@media screen and (min-width: 640px) {
	.p-contact-building-company-form__building-type .mwform-checkbox-field {
		margin: 0 !important
	}
}

/*
@media screen and (min-width: 640px) {
	.p-contact-building-company-form__type {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 20px;
		align-items: center
	}
}
@media screen and (min-width: 640px) {
	.p-contact-building-company-form__type > * {
		width: calc((100% - 40px)/3)
	}
}
@media screen and (min-width: 640px) {
	.p-contact-building-company-form__type .mwform-checkbox-field {
		margin: 0 !important
	}
}
*/
.p-contact-building-company-form__area-table {
	width: 100%;
	border-collapse: collapse
}

.p-contact-building-company-form__area {
	border-top: 1px solid #947151
}

.l-form__check .p-contact-building-company-form__area:first-child {
	border-top: none;
}

.p-contact-building-company-form__area th {
	text-align: left;
	word-break: keep-all;
	line-height: 1.5;
	font-size: .8888888889em;
	padding: 20px 30px 20px 0;
	width: 120px
}

@media screen and (min-width: 768px) {
	.p-contact-building-company-form__area th {
		padding: 25px 40px 25px 0;
		width: 200px
	}
}

.p-contact-building-company-form__area td {
	padding: 20px 0;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px
}

@media screen and (min-width: 768px) {
	.p-contact-building-company-form__area td {
		padding: 25px 0
	}
}

.p-contact-building-company-form__area td .mwform-checkbox-field {
	margin: 0 !important
}

.p-contact-building-company-tel__inner {
	margin: 0 0 40px
}

.p-contact-building-company-tel__text {
	line-height: 2
}

.p-contact-building-company-tel__text:not(:last-of-type) {
	margin: 0 0 20rem
}

@media screen and (min-width: 1025px) {
	.p-contact-building-company-tel__text:not(:last-of-type) {
		margin: 0 0 30rem
	}
}

.p-contact-building-company-tel__text--strong {
	color: #064b28
}

.mw_wp_form_confirm .p-contact-building-company-form {
	margin: 0 0 40px
}

.mw_wp_form_confirm .p-contact-building-company-form__sub-heading {
	display: none
}

.mw_wp_form_confirm .p-contact-building-company-tel {
	display: none
}

.p-contact-estate-form:not(:last-of-type) {
	margin-bottom: 40px
}

@media screen and (min-width: 768px) {
	.p-contact-estate-form:not(:last-of-type) {
		margin-bottom: 60px
	}
}

.p-contact-estate-form__heading {
	font-size: 1.15em;
	margin: 0 0 min(7.5vw, 40px)
}

.p-contact-estate-form__note {
	color: #064b28;
	font-size: .8em
}

.p-contact-estate-form__note--bottom {
	color: #9a0202;
	font-size: .8em
}

.p-contact-estate-form__subject label {
	display: block;
	background: #ede6de;
	padding: min(3.75vw, 20px) min(7.5vw, 40px) min(3.75vw, 20px) min(3.75vw, 20px);
	box-sizing: border-box;
	border: 1px solid #947151
}

.p-contact-estate-form__subject label:last-child {
	margin-top: 20px;
}

.p-contact-estate-form__subject label input {
	margin-bottom: 0
}

.p-contact-estate-form__subject-content {
	margin: 0
}

.p-contact-estate-form--background {
	padding: min(7.5vw, 40px);
	margin-bottom: 50px;
	background: #f5f5f5;
	transition: .3s ease
}

.p-contact-estate-form--background.is-open {
	opacity: 1
}

.p-contact-estate-form--background input:disabled,
.p-contact-estate-form--background textarea:disabled {
	cursor: no-drop
}

.p-contact-estate-form--background__check {
	padding: 0;
	margin-bottom: 0;
	background: none;
	transition: .3s ease
}

.check__none {
	display: none;
}

.p-contact-estate-tel__inner {
	margin: 0 0 20px
}

.p-contact-estate-tel__text {
	font-size: 16px;
	text-align: center
}

.mw_wp_form_confirm .p-contact-estate-form__heading {
	display: none
}

.mw_wp_form_confirm .p-contact-estate-form__note,
.mw_wp_form_confirm .p-contact-estate-form__note--bottom {
	display: none
}

.mw_wp_form_confirm .p-contact-estate-form--background {
	opacity: 1
}

.mw_wp_form_confirm .p-contact-estate-tel {
	display: none
}

.p-support-intro {
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-support-intro {
		margin-bottom: 120px
	}
}

.p-support-content {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	background-color: #ede6de;
	padding: min(7.5vw, 60px)
}

.p-support-content:not(:last-of-type) {
	margin-bottom: 10px
}

@media screen and (min-width: 768px) {
	.p-support-content:not(:last-of-type) {
		margin-bottom: 40px
	}
}

.p-support-content:last-of-type {
	margin-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-support-content:last-of-type {
		margin-bottom: 120px
	}
}

.p-support-content__heading {
	font-size: 20px;
	text-align: center;
	margin: 0 0 35px
}

@media screen and (min-width: 768px) {
	.p-support-content__heading {
		font-size: 24px;
		margin: 0 0 45px
	}
}

@media screen and (min-width: 1231px) {
	.p-support-content__heading {
		font-size: 28px;
		margin: 0 0 55px
	}
}

@media screen and (min-width: 1231px) {
	.p-support-content__inner {
		display: flex;
		align-items: flex-start;
		justify-content: space-between
	}
}

.p-support-content__image {
	display: block
}

@media screen and (max-width: 1230px) {
	.p-support-content__image {
		margin: 0 0 30px
	}
}

@media screen and (min-width: 1231px) {
	.p-support-content__image {
		width: calc(50% - 40px)
	}
}

.p-support-content__image * {
	object-fit: contain;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (min-width: 1231px) {
	.p-support-content__content {
		width: calc(50% - 40px)
	}
}

.p-support-content__text {
	line-height: 2;
	margin: 0 0 20px
}

@media screen and (min-width: 768px) {
	.p-support-content__text {
		margin: 0 0 40px
	}
}

.p-support-content__button {
	height: 64px
}

@media screen and (min-width: 768px) {
	.p-support-content__button {
		width: min(100%, 320px);
		margin: 0 0 0 auto
	}
}

.p-partner-content {
	padding-top: 60px
}

@media screen and (min-width: 768px) {
	.p-partner-content {
		padding-top: 120px
	}
}

.p-partner-link {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	list-style: none;
	margin-bottom: 60px
}

@media screen and (min-width: 1231px) {
	.p-partner-link {
		width: min(85vw, 800px);
		margin-left: auto;
		margin-right: auto;
		display: flex;
		flex-wrap: wrap;
		gap: 30px 40px
	}
}

@media screen and (min-width: 768px) {
	.p-partner-link {
		margin-bottom: 120px
	}
}

.p-partner-link__item {
	background-color: #ede6de;
	display: block
}

@media screen and (min-width: 768px) {
	.p-partner-link__item {
		display: flex;
		align-items: center
	}
}

@media screen and (min-width: 1231px) {
	.p-partner-link__item {
		width: calc((100% - 40px)/2);
		display: block
	}
}

@media screen and (max-width: 1230px) {
	.p-partner-link__item:not(:last-of-type) {
		margin: 0 0 10px
	}
}

.p-partner-link__image {
	display: block;
	width: 100%;
	aspect-ratio: 1.618/1;
	overflow: hidden;
	margin: 0 0 20px
}

@media screen and (min-width: 768px) {
	.p-partner-link__image {
		width: 50%;
		aspect-ratio: unset;
		margin: 0
	}
}

@media screen and (min-width: 1231px) {
	.p-partner-link__image {
		width: 100%;
		height: auto;
		aspect-ratio: 1.618/1;
		margin: 0 0 25px
	}
}

.p-partner-link__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (min-width: 768px) {
	.p-partner-link__content {
		width: 50%
	}
}

@media screen and (min-width: 1231px) {
	.p-partner-link__content {
		width: 100%
	}
}

.p-partner-link__heading {
	font-size: 20px;
	text-align: center;
	color: #947151;
	position: relative;
	margin: 0 20px 12px;
	word-break: keep-all;
	line-height: 1.25
}

@media screen and (min-width: 768px) {
	.p-partner-link__heading {
		margin: 30px 30px 15px
	}
}

@media screen and (min-width: 1231px) {
	.p-partner-link__heading {
		font-size: 22px;
		margin: 0 30px 15px
	}
}

.p-partner-link__text {
	font-size: 13px;
	line-height: 1.75;
	padding: 0 20px
}

@media screen and (min-width: 768px) {
	.p-partner-link__text {
		padding: 0 30px 30px
	}
}

@media screen and (max-width: 767px) {
	.p-partner-link__link {
		padding: 0 0 20px
	}
}

.p-partner-link__button {
	margin: 0 20px 0
}

@media screen and (min-width: 768px) {
	.p-partner-link__button {
		margin: 0 30px 30px
	}
}

.p-partner-link__button-text {
	font-size: .85em;
	line-height: 1.5
}

.p-story-content {
	background: #ededed;
	padding-top: 60px;
	padding-bottom: 60px
}

@media screen and (min-width: 768px) {
	.p-story-content {
		padding-top: 120px;
		padding-bottom: 120px
	}
}

.p-story-content__list {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	list-style: none
}

@media screen and (min-width: 768px) {
	.p-story-content__list {
		display: flex;
		flex-wrap: wrap;
		gap: 40px 30px
	}
}

@media screen and (min-width: 1231px) {
	.p-story-content__list {
		gap: 60px 30px
	}
}

@media screen and (max-width: 767px) {
	.p-story-content__item:not(:last-of-type) {
		margin: 0 0 20px
	}
}

@media screen and (min-width: 768px) {
	.p-story-content__item {
		width: calc((100% - 30px)/2)
	}
}

@media screen and (min-width: 1231px) {
	.p-story-content__item {
		width: calc((100% - 60px)/3)
	}
}

@media screen and (min-width: 1231px) {
	.p-story-content__link:hover .p-story-content__image * {
		transform: scale(1.05);
		transition: .2s ease
	}
}

.p-story-content__image {
	aspect-ratio: 1.618/1;
	overflow: hidden
}

.p-story-content__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (min-width: 1231px) {
	.p-story-content__image * {
		transform: scale(1);
		transition: .5s ease
	}
}

.p-story-content__title {
	display: block;
	padding: 20px 25px;
	background: #fff;
	line-height: 1.5
}

.p-story-pagination {
	padding-top: 60px
}

@media screen and (min-width: 768px) {
	.p-story-pagination {
		padding-top: 100px
	}
}

.p-single-story {
	background: #ededed
}

.p-single-story-thumbnail {
	width: min(100%, 1000px);
	margin: 0 auto
}

@media screen and (min-width: 1025px) {
	.p-single-story-thumbnail {
		padding: 60px 0 0
	}
}

.p-single-story-thumbnail * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

.p-single-story-content b,
.p-single-story-content bold,
.p-single-story-content strong {
	background: linear-gradient(transparent 60%, #fff 60%)
}

.p-news-wrapper {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	padding: 60px 0
}

@media screen and (min-width: 1025px) {
	.p-news-wrapper {
		padding: 120px 0;
		display: flex;
		align-items: flex-start;
		gap: 60px
	}
}

@media screen and (min-width: 1025px) {
	.p-news-content {
		width: calc((100% - 60px)*.6666666667)
	}
}

.p-news-content__list {
	list-style: none;
	border-top: 1px solid #947151
}

.p-news-content__item {
	border-bottom: 1px solid #947151
}

.p-news-content__link {
	display: flex;
	flex-wrap: wrap;
	gap: 15px 20px;
	padding: 35px 0
}

@media screen and (min-width: 768px) {
	.p-news-content__link {
		padding: 40px;
		gap: 20px 40px
	}
}

@media screen and (min-width: 1231px) {
	.p-news-content__link {
		transition: .5s ease
	}

	.p-news-content__link:hover {
		background: #ededed;
		transition: .2s ease
	}
}

.p-news-content__date {
	display: inline-block
}

@media screen and (max-width: 767px) {
	.p-news-content__date {
		font-size: 13px
	}
}

.p-news-content__category {
	width: 140px;
	color: #064b28;
	border: 1px solid;
	font-size: .8em;
	padding: 0;
	text-align: center;
	line-height: 1.5
}

@media screen and (max-width: 767px) {
	.p-news-content__category {
		font-size: 13px
	}
}

.p-news-content__category-item:not(:last-of-type):after {
	content: "/";
	color: #cdb9a6;
	margin: 0 0 0 10px;
	font-size: .9em
}

.p-news-content__title {
	width: 100%;
	line-height: 1.5
}

@media screen and (min-width: 768px) {
	.p-news-content__title {
		font-size: 17px
	}
}

.p-news-counter {
	text-align: right;
	margin: 10px 0 40px;
	font-size: 14px
}

@media screen and (min-width: 768px) {
	.p-news-counter {
		margin: 15px 0 60px
	}
}

.p-news-categories {
	background: #ededed
}

@media screen and (min-width: 1025px) {
	.p-news-categories {
		width: calc((100% - 60px)*.3333333333);
		position: sticky;
		top: 120px
	}
}

.p-news-categories__link {
	padding: 18px 12px 18px 20px
}

@media screen and (max-width: 1024px) {
	.p-news-pagination {
		margin: 0 0 60px
	}
}

.p-single-news-thumbnail {
	width: min(100%, 1000px);
	margin: 0 auto
}

@media screen and (min-width: 1025px) {
	.p-single-news-thumbnail {
		margin: 60px auto 0
	}
}

.p-single-news-thumbnail * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

.p-single-news-pagination {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 40px
}

@media screen and (min-width: 500px) {
	.p-single-news-pagination {
		justify-content: center;
		gap: 40px
	}
}

@media screen and (min-width: 768px) {
	.p-single-news-pagination {
		gap: 80px;
		margin: 0 0 60px
	}
}

.p-single-news-pagination__nolink {
	filter: grayscale(100%);
	opacity: .5
}

.p-single-news-pagination__item {
	font-size: 18px
}

@media screen and (min-width: 768px) {
	.p-single-news-pagination__item {
		font-size: 20px
	}
}

.p-single-news-pagination__item--arrow {
	font-family: "Roboto Condensed", sans-serif;
	color: #947151;
	font-size: 13px;
	letter-spacing: .3em
}

@media screen and (min-width: 768px) {
	.p-single-news-pagination__item--arrow {
		font-size: 20px
	}
}

.p-single-news-pagination__item--arrow>* {
	display: grid;
	align-items: center;
	gap: 15px;
	width: fit-content
}

@media screen and (min-width: 768px) {
	.p-single-news-pagination__item--arrow>* {
		gap: 20px
	}
}

@media screen and (min-width: 1231px) {
	.p-single-news-pagination__item--arrow a:hover img {
		transition: .2s ease
	}
}

.p-single-news-pagination__item--arrow img {
	display: block;
	width: 12px;
	aspect-ratio: 1/1
}

@media screen and (min-width: 768px) {
	.p-single-news-pagination__item--arrow img {
		width: 20px
	}
}

@media screen and (min-width: 1025px) {
	.p-single-news-pagination__item--arrow img {
		transition: .5s ease;
		position: relative
	}
}

.p-single-news-pagination__item--prev>* {
	grid-template-columns: 12px auto
}

@media screen and (min-width: 768px) {
	.p-single-news-pagination__item--prev>* {
		grid-template-columns: 20px auto
	}
}

@media screen and (min-width: 1025px) {
	.p-single-news-pagination__item--prev a:hover img {
		left: -5px
	}
}

@media screen and (min-width: 1025px) {
	.p-single-news-pagination__item--prev a img {
		left: 0
	}
}

.p-single-news-pagination__item--next>* {
	grid-template-columns: auto 12px
}

@media screen and (min-width: 768px) {
	.p-single-news-pagination__item--next>* {
		grid-template-columns: auto 20px
	}
}

@media screen and (min-width: 1025px) {
	.p-single-news-pagination__item--next a:hover img {
		right: -5px
	}
}

@media screen and (min-width: 1025px) {
	.p-single-news-pagination__item--next a img {
		right: 0
	}
}

.p-column {
	margin: auto;
	max-width: 1100px;
	width: 90%;
}

.p-column-wrapper {
	width: min(90%, 1100px);
	margin-left: auto;
	margin-right: auto;
	padding: 60px 0
}

@media screen and (min-width: 1025px) {
	.p-column-wrapper {
		padding: 120px 0;
		display: flex;
		align-items: flex-start;
		gap: 60px
	}
}

.p-column-list {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
}

.p-column-list li {
	width: 100%;
}

@media screen and (min-width: 1025px) {
	.p-column-list {
		gap: 20px;
	}

	.p-column-list li {
		width: 48%;
	}
}

@media screen and (min-width: 768px) {
	.p-column-list__item {
		border-radius: 20px
	}
}

@media screen and (min-width: 1025px) {
	.p-column-list__item {
		width: calc((100% - 40px)/3)
	}
}

@media screen and (min-width: 1231px) {
	.p-column-list__item {
		width: calc((100% - 40px)/3)
	}
}

@media screen and (min-width: 1530px) {
	.p-column-list__item {
		width: calc((100% - 40px)/3)
	}
}

.p-column-list__link {
	display: block;
	height: 100%;
	position: relative;
	padding: 0 0 45px
}

@media screen and (min-width: 500px) {
	.p-column-list__link {
		padding: 0 0 40px
	}
}

@media screen and (min-width: 1231px) {
	.p-column-list__link:hover .p-column-list__image * {
		transition: .2s ease;
		transform: scale(1.1)
	}
}

.p-column-list__image {
	display: block;
	width: 100%;
	aspect-ratio: 1.618/1;
	overflow: hidden;
	margin: 0 0 15px
}

@media screen and (min-width: 768px) {
	.p-column-list__image {
		margin: 0 0 18px
	}
}

.p-column-list__image * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

@media screen and (min-width: 1231px) {
	.p-column-list__image * {
		transition: .5s ease;
		transform: scale(1)
	}
}

.p-column-list__title {
	display: block;
	line-height: 1.5;
	margin: 0 12px 8px
}

@media screen and (max-width: 767px) {
	.p-column-list__title {
		font-size: 13px
	}
}

@media screen and (min-width: 768px) {
	.p-column-list__title {
		margin: 0 25px 10px
	}
}

.p-column-list__info {
	padding: 0 12px 15px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0
}

@media screen and (min-width: 500px) {
	.p-column-list__info {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 20px
	}
}

@media screen and (min-width: 768px) {
	.p-column-list__info {
		font-size: 11px;
		padding: 0 25px 20px
	}
}

.p-column-list__date {
	display: block;
	font-size: 9px
}

@media screen and (max-width: 499px) {
	.p-column-list__date {
		margin: 0 0 6px
	}
}

@media screen and (min-width: 768px) {
	.p-column-list__date {
		font-size: 11px
	}
}

.p-column-list__category {
	color: #064b28;
	display: block;
	text-align: right;
	font-size: 12px
}

@media screen and (min-width: 768px) {
	.p-column-list__category {
		font-size: 14px
	}
}

.p-column-counter {
	width: min(85vw, 1400px);
	margin-left: auto;
	margin-right: auto;
	text-align: right;
	padding: 10px 0 0;
	margin-bottom: 40px;
	font-size: 14px
}

@media screen and (min-width: 768px) {
	.p-column-counter {
		padding: 15px 0 0;
		margin-bottom: 60px
	}
}

.p-column-categories {
	background: #fff
}

@media screen and (min-width: 1025px) {
	.p-column-categories {
		width: calc(27.258805513% - 40px);
		position: sticky;
		top: 120px
	}
}

.p-column-categories__link {
	padding: 18px 12px 18px 20px
}

.p-column-pagination {
	padding: 0 0 30px
}

@media screen and (min-width: 768px) {
	.p-column-pagination {
		padding: 0 0 60px
	}
}

.p-single-column-thumbnail {
	width: min(100%, 1000px);
	margin: 0 auto
}

@media screen and (min-width: 1025px) {
	.p-single-column-thumbnail {
		padding: 60px 0 0
	}
}

.p-single-column-thumbnail * {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%
}

:root {
	--columns-default: 1;
	--columns-medium: 2;
	--gap-value: 40px
}

.column {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px 0;
	margin: 0 0 60px;
	border: 1px solid #dccebe;
	background: #EFEFEF;
	padding: min(7.5vw, 40px)
}

@media screen and (max-width: 767px) {
	.column {
		justify-content: center
	}
}

@media screen and (min-width: 768px) {
	.column {
		gap: var(--gap-value)
	}
}

.column .column-inner {
	flex: 0 0 1;
	line-height: 2
}

@media screen and (min-width: 768px) {
	.column .column-inner {
		flex: 0 0 calc((100% - var(--gap-value))/var(--columns-medium))
	}
}

.column .column-inner img:last-of-type,
.column .column-inner p:last-of-type {
	margin-bottom: 0
}

.profile_box {
	margin: 0 0 60px;
	padding: 30px;
	line-height: 1.6em;
	background: #EFEFEF;
	border: 1px solid #dccebe;
	box-sizing: border-box;
}

.profile_box strong {
	margin: 0 0 30px;
	font-size: 15px;
	border: none;
	background: none;
}

.profile_box strong span {
	display: block;
	margin-top: 10px;
	font-size: 18px;
}

.profile_item {
	overflow: hidden;
	font-size: 16px;
	line-height: 1.8em;
}

.profile_item img {
	margin: 0 0 20px 0;
	width: 100%;
	height: auto;
	object-fit: cover;
}

@media screen and (min-width: 768px) {
	.profile_item img {
		float: left;
		margin: 0 30px 10px 0;
		width: 35%;
	}
}

/* 新規追加css 2024.02*/
.p-front-lead {
	margin: 0 auto 40px;
	max-width: 1100px;
	width: 90%;
}

.p-front-lead h3 {
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: bold;
	line-height: 30px;
}

.p-front-lead p {
	font-size: 16px;
	line-height: 24px;
}

@media screen and (min-width: 768px) {
	.p-front-lead h3 {
		margin-bottom: 20px;
		font-size: 20px;
	}
}

.magazine_front_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-flow: column;
	margin: auto;
	max-width: 1100px;
	width: 90%;
}

.magazine_front_list .f-box_magazine {
	width: 100%;
}

.magazine_front_list .s-box_magazine {
	width: 100%;
}

@media screen and (min-width: 768px) {
	.magazine_front_list {
		flex-flow: row;
	}

	.magazine_front_list .f-box_magazine {
		width: 48%;
	}

	.magazine_front_list .s-box_magazine {
		width: 48%;
	}
}

.s-box_magazine .post-list,
.p-column-list .post-list,
.p-column-ranking li {
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: 1px dotted #8F7255;
}

.f-pickup-magazine {
	display: none;
}

.magazine_front_list a {
	transition: .5s;
}

.s-box_magazine .post-list a,
.p-column-list .post-list a,
.p-column-ranking li a {
	display: flex;
}

.s-box_magazine .post-list .photo_box,
.p-column-list .post-list .photo_box,
.p-column-ranking li .photo_box {
	margin-right: 10px;
	width: 180px;
}

.s-box_magazine .post-list .img_thumbnail,
.p-column-list .post-list .img_thumbnail,
.p-column-ranking li .img_thumbnail {
	overflow: hidden;
	width: 180px;
	transition: .5s;
}

.f-pickup-magazine .img_thumbnail {
	overflow: hidden;
	transition: .5s;
}

@media screen and (min-width: 768px) {
	.f-pickup-magazine {
		display: block;
		margin-bottom: 20px;
		padding-bottom: 15px;
		border-bottom: 1px dotted #8F7255;
	}

	.s-box_magazine .post-list .photo_box,
	.p-column-list .post-list .photo_box,
	.p-column-ranking li .photo_box {
		margin-right: 20px;
		width: 200px;
	}

	.s-box_magazine .post-list .img_thumbnail,
	.p-column-list .post-list .img_thumbnail,
	.p-column-ranking li .img_thumbnail {
		width: 200px;
	}
}

.s-box_magazine .post-list img,
.p-column-list .post-list img,
.f-pickup-magazine img,
.p-column-ranking li img {
	width: 100%;
	height: auto;
	object-fit: cover;
	transition: .5s;
}

.s-box_magazine .post-list .catname,
.p-column-list .post-list .catname,
.f-pickup-magazine .catname,
.p-column-ranking li .catname {
	display: block;
	margin-bottom: 15px;
	font-size: 13px;
	line-height: 24px;
	text-align: center;
	background-color: #E9E3DD;
}

.s-box_magazine .post-list .date,
.p-column-list .post-list .date,
.f-pickup-magazine .date,
.p-column-ranking li .date {
	margin-bottom: 10px;
	color: #767676;
	font-size: 14px;
}

.s-box_magazine .post-list h4,
.p-column-list .post-list h4,
.f-pickup-magazine h4,
.p-column-ranking li h4 {
	margin-bottom: 20px;
	color: #000;
	font-size: 15px;
	line-height: 20px;
}

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

	.s-box_magazine .post-list h4,
	.p-column-list .post-list h4,
	.f-pickup-magazine h4,
	.p-column-ranking li h4 {
		font-size: 16px;
		line-height: 24px;
	}
}

.s-box_magazine .post-list span a,
.p-column-list .post-list span a,
.f-pickup-magazine span a,
.p-column-ranking li span a {
	display: inline-block;
	margin: 0 5px 5px 0;
	padding: 3px 5px 4px;
	color: #404040;
	font-size: 13px;
	border: 1px solid #707070;
	transition: .5s;
}

.s-box_magazine .post-list span a:hover,
.p-column-list .post-list span a:hover,
.f-pickup-magazine span a:hover,
.p-column-ranking li span a:hover {
	color: #FFF;
	background-color: #707070;
	border: 1px solid #707070;
}

.s-box_magazine .post-list span a::before,
.p-column-list .post-list span a::before,
.f-pickup-magazine span a::before,
.p-column-ranking li span a::before {
	content: '#';
	margin-right: 5px;
}

.magazine_front_list a:hover {
	opacity: 0.7;
}

.s-box_magazine .post-list a:hover .img_thumbnail img,
.p-column-list .post-list a:hover .img_thumbnail img,
.f-pickup-magazine a:hover .img_thumbnail img,
.p-column-ranking li a:hover .img_thumbnail img {
	transform: scale(1.05)
}

.magazine_tag_trend {
	margin-bottom: 20px;
}

.magazine_search h4,
.magazine_tag_trend h4 {
	margin-bottom: 10px;
	color: #054B28;
	font-size: 16px;
	line-height: 24px;
	font-family: "G-Bold";
}

.magazine_search h4 span,
.magazine_tag_trend h4 span {
	font-size: 24px;
}

.magazine_tag_trend ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
}

.tag_deta {
	display: flex;
	flex-wrap: wrap;
	margin: 30px auto 0;
	width: min(90%, 1100px);
}

.column-content {
	margin: 20px auto 0;
	width: min(85vw, 800px);
}

@media screen and (min-width: 768px) {
	.column-content {
		margin: 60px auto 0;
	}
}

.magazine_tag_trend li a,
.tag_deta a {
	display: inline-block;
	margin: 0 5px 5px 0;
	padding: 3px 5px 4px;
	color: #404040;
	font-size: 13px;
	border: 1px solid #707070;
	transition: .5s;
}

.magazine_tag_trend li a:hover,
.tag_deta a:hover {
	color: #FFF;
	background-color: #707070;
	border: 1px solid #707070;
}

.magazine_tag_trend li a::before,
.tag_deta a::before {
	content: '#';
	margin-right: 5px;
}

.searchform {
	line-height: 1;
	position: relative;
	margin: 2em 0;
}

.searchfield {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	padding: 13px 13px 13px 40px;
	background-color: #FFF;
	border: 1px solid #707070;
}

.searchsubmit {
	position: relative;
	top: -30px;
	left: 10px;
	cursor: pointer;
	color: #000;
	border: none;
	background: transparent;
}

.searchsubmit:hover {
	opacity: .6;
}

.p-column-ranking {
	padding-top: 40px;
}

.p-column-ranking h5 {
	margin: 0 auto 10px;
	list-style: none;
	width: min(90%, 1100px);
	color: #054B28;
	font-size: 16px;
	line-height: 24px;
	font-family: "G-Bold";
}

.p-column-ranking h5 span {
	font-size: 24px;
}

.p-column-ranking ul {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	margin: auto;
	list-style: none;
	width: min(90%, 1100px);
	height: auto;
}

.p-column-ranking ul li {
	width: 100%;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #8F7255;
}

.p-column-ranking ul li:first-child {
	width: 100%;
}

.p-column-ranking ul li:first-child {
	height: auto;
}

.p-column-ranking li:first-child a {
	flex-flow: column;
}

.p-column-ranking li .photo_box {
	margin-right: 20px;
	width: 140px;
}

.p-column-ranking li .img_thumbnail {
	overflow: hidden;
	width: 140px;
	transition: .5s;
}

.p-column-ranking li:first-child .photo_box {
	margin-right: 0;
	width: 100%;
}

.p-column-ranking li:first-child .img_thumbnail {
	overflow: hidden;
	width: 100%;
	transition: .5s;
}

.p-column-ranking li:first-child h4 {
	font-size: 16px;
	line-height: 24px;
}

@media screen and (min-width: 768px) {
	.p-column-ranking {
		padding-top: 20px;
	}

	.p-column-ranking ul {
		height: 680px;
	}

	.p-column-ranking ul li {
		width: 44%;
	}

	.p-column-ranking ul li:first-child {
		width: 48%;
	}

	.p-column-ranking ul li:first-child {
		height: 550px;
	}

	.p-column-ranking li:first-child a {
		flex-flow: column;
	}

	.p-column-ranking li .photo_box {
		width: 180px;
	}

	.p-column-ranking li .img_thumbnail {
		width: 180px;
		height: 120px;
	}

	.p-column-ranking li:first-child h4 {
		font-size: 18px;
		line-height: 26px;
	}

	.p-column-ranking li:first-child .img_thumbnail {
		width: 100%;
		height: auto;
	}
}

.p-front-group__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: auto;
	max-width: 1100px;
	width: 90%;
	list-style: none;
	gap;
	10;
}

.p-front-group__list li {
	width: calc((100% - 20px)/2)
}

.p-front-group__list li {
	margin-bottom: 30px;
}

.p-front-group__list li:nth-child(5),
.p-front-group__list li:nth-child(6) {
	margin-bottom: 0;
}

.p-front-group__list li a .logo_img {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10px;
	width: 100%;
	height: 100px;
	background-color: #FFF;
	transition: .5s;
}

.p-front-group__list li a:hover .logo_img {
	transform: scale(1.1)
}

.p-front-group__list li a img {
	width: 70%;
	height: auto;
	object-fit: cover;
}

.p-front-group__list li a p {
	font-size: 12px;
	text-align: left;
	line-height: 16px;
	text-align: justify;
	text-justify: inter-ideograph;
}

.p-front-group__list li a p br {
	display: none;
}

@media screen and (min-width: 768px) {
	.p-front-group__list {
		gap;
		30;
	}

	.p-front-group__list li {
		width: calc((100% - 90px)/3)
	}

	.p-front-group__list li:first-child {
		margin-bottom: 40px;
	}

	.p-front-group__list li a .logo_img {
		height: 140px;
	}

	.p-front-group__list li a p {
		font-size: 14px;
		text-align: center;
		line-height: 20px;
	}

	.p-front-group__list li a p br {
		display: block;
	}
}

.magazine-page-header {
	padding: 95px 0 50px;
}

.magazine-page-header .l-page-header__breadcrumb {
	width: min(90%, 1100px);
}

.magazine-page-header .l-page-header__breadcrumb-item,
.magazine-page-header .l-page-header__breadcrumb-item a {
	color: #000
}

.magazine-page-header .l-page-header__title {
	width: min(90%, 1100px);
	color: #054B28;
}

.magazine-page-header .l-page-header__title p {
	color: #000;
	font-size: 18px;
}

.magazine-page-header .l-page-header__title span {
	color: #000;
	font-size: 18px;
}

.magazine-page-header .l-single-header__date {
	display: block;
	width: min(90%, 1100px);
	margin-left: auto;
	margin-right: auto;
	color: #000;
	margin-bottom: 20px
}

@media screen and (min-width: 768px) {
	.magazine-page-header {
		padding: 125px 0 60px;
	}

	.magazine-page-header .l-single-header__date {
		margin-bottom: 15px
	}
}

.magazine-cat-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 30px;
	list-style: none;
	gap: 15;
}

.magazine-cat-list li {
	margin-bottom: 15px;
	width: calc((100% - 30px)/2)
}

.magazine-cat-list li a {
	display: block;
	text-align: center;
	line-height: 40px;
	border-bottom: 1px solid #C4C4C4;
	transition: .5s;
}

.magazine-cat-list li:first-child a {
	margin-left: 0;
}

.magazine-cat-list li.current a,
.magazine-cat-list li a:hover {
	color: #FFF;
	background-color: #054B28;
	border-bottom: 1px solid #054B28;
}

@media screen and (min-width: 768px) {
	.magazine-cat-list {
		justify-content: flex-start;
		margin-bottom: 60px;
	}

	.magazine-cat-list li {
		margin: 0 30px 0 0;
		width: 180px;
	}

	.magazine-cat-list li:first-child {
		margin-left: 0;
	}

	.magazine-cat-list li a {
		line-height: 40px;
	}
}

.p-column_tag_list {
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	padding-bottom: 60px;
}

.p-column_tag_list a {
	display: inline-block;
	margin: 0 10px 10px 0;
	padding: 8px 10px 9px;
	color: #404040;
	font-size: 15px;
	border: 1px solid #707070;
	transition: .5s;
}

.p-column_tag_list a:hover {
	color: #FFF;
	background-color: #707070;
	border: 1px solid #707070;
}

.p-column_tag_list a::before {
	content: '#';
	margin-right: 5px;
}

.p-column-pickup {
	padding: 40px 0;
	background-color: #efefef;
}

.p-column-search {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: auto;
	width: min(90%, 1100px);
}

.p-column-search>div {
	width: 100%;
}

@media screen and (min-width: 768px) {
	.p-column-pickup {
		padding: 60px 0;
	}

	.p-column-search>div {
		width: 48%;
	}
}

.recommend-wrapper {
	margin-top: 80px;
	padding: 80px 0;
	background-color: #EFEFEF;
}

.recommend-wrapper h3 {
	margin: 0 auto 40px;
	max-width: 1100px;
	width: 90%;
	font-size: 20px;
}

.recommend-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: auto;
	max-width: 1100px;
	width: 90%;
}

.recommend-list .recommend-post {
	width: 47%;
}

.recommend-list .recommend-post a {
	display: flex;
	align-items: flex-start;
}

.recommend-list .recommend-post img {
	margin-right: 20px;
	margin-bottom: 20px;
	width: 180px;
	height: auto;
	object-fit: cover;
}

.recommend-list .recommend-post .date {
	margin-bottom: 10px;
	color: #767676;
	font-size: 14px;
}

.recommend-list .recommend-post h4 {
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 24px;
}

.recommend-list .recommend-post span a {
	display: inline-block;
	margin: 0 5px 5px 0;
	padding: 3px 5px 4px;
	color: #404040;
	font-size: 13px;
	border: 1px solid #707070;
	transition: .5s;
}

.recommend-list .recommend-post span a:hover {
	color: #FFF;
	background-color: #707070;
	border: 1px solid #707070;
}

.recommend-list .recommend-post span a::before {
	content: '#';
	margin-right: 5px;
}

.p-single-news-content {
	padding-top: 40px;
}

.p_main_navi {
	display: none;
}

@media screen and (min-width: 1024px) {
	.p_main_navi {
		display: flex;
		justify-content: flex-end;
		margin-left: auto;
		margin-right: 20px;
	}

	.p_main_navi>div {
		margin-left: 40px;
		margin-top: 25px;
	}

	.p_main_navi div a {
		font-size: 14px;
		transition: .5s;
	}

	.p_main_navi div a:hover {
		opacity: 0.5;
	}

	.menu-aw:after {
		content: '';
		display: block;
		width: 6px;
		height: 6px;
		margin: 15px auto 10px;
		border-right: 1px solid #947151;
		border-bottom: 1px solid #947151;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.menu_contents {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background: #EFEFEF;
	}

	.menu_contents .inner {
		margin: auto;
		padding: 40px 0;
		max-width: 1100px;
		width: 90%;
		box-sizing: border-box;
	}

	.menu_contents h4 {
		display: flex;
		align-items: center;
		margin-bottom: 30px;
		color: #064b28;
		font-size: 24px;
		font-family: "G-Bold";
	}

	.menu_contents h4 p {
		display: flex;
		align-items: center;
		color: #8F7255;
		font-size: 13px;
		font-family: "G-Regular";
	}

	.menu_contents h4 p:before {
		content: '';
		margin: 0 20px;
		width: 150px;
		height: 1px;
		background-color: #8F7255;
	}

	.menu_contents .img_link_box {
		display: flex;
		justify-content: space-between;
	}

	.menu_contents .text_link_box_2 {
		display: flex;
		justify-content: space-between;
		margin-top: 30px;
	}

	.menu_contents .img_link_box a {
		width: 23%;
	}

	.menu_contents .text_link_box_2 a {
		width: 23%;
	}

	.menu_contents .img_link_box a p {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 10px;
		line-height: 32px;
		background-color: #FFF;
		box-sizing: border-box;
		transition: .5s;
	}

	.menu_contents .img_link_box a div,
	.menu_contents .text_link_box_2 a div {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 10px;
		line-height: 60px;
		background-color: #FFF;
		box-sizing: border-box;
		transition: .5s;
	}

	.menu_contents .img_link_box a p::after,
	.menu_contents .img_link_box a div::after,
	.menu_contents .text_link_box_2 a div::after {
		content: '＞';
		color: #8F7255;
		font-size: 10px;
	}

	.menu_contents .img_link_box a:hover p,
	.menu_contents .img_link_box a:hover div,
	.menu_contents .text_link_box_2 a:hover div {
		padding: 0 5px 0 10px;
	}

	.magazine-header {
		display: flex;
		justify-content: space-between;
		padding-top: 40px;
	}

	.magazine-header .pickup-magazine {
		width: 48%;
	}

	.magazine-header .new-magazine {
		width: 48%;
	}

	.magazine-header .pickup-magazine a {
		display: flex;
		align-items: flex-start;
	}

	.magazine-header .pickup-magazine img {
		margin-right: 20px;
		margin-bottom: 20px;
		width: 240px;
		height: auto;
		object-fit: cover;
	}

	.magazine-header .pickup-magazine .date {
		margin-bottom: 10px;
		color: #767676;
		font-size: 14px;
	}

	.magazine-header .pickup-magazine h4 {
		margin-bottom: 20px;
		color: #000;
		font-size: 16px;
		line-height: 24px;
	}

	.magazine-header .pickup-magazine span a {
		display: inline-block;
		margin: 0 5px 5px 0;
		padding: 3px 5px 4px;
		color: #404040;
		font-size: 13px;
		border: 1px solid #707070;
		transition: .5s;
	}

	.magazine-header .pickup-magazine span a:hover {
		color: #FFF;
		background-color: #707070;
		border: 1px solid #707070;
	}

	.magazine-header .pickup-magazine span a::before {
		content: '#';
		margin-right: 5px;
	}

	.magazine-header .new-magazine a {
		display: flex;
		align-items: flex-start;
	}

	.magazine-header .new-magazine a:first-child {
		margin-bottom: 20px;
		border-bottom: 1px dotted #8F7255;
	}

	.magazine-header .new-magazine img {
		margin-right: 20px;
		width: 140px;
		height: auto;
		object-fit: cover;
	}

	.magazine-header .new-magazine .date {
		margin-bottom: 10px;
		color: #767676;
		font-size: 13px;
	}

	.magazine-header .new-magazine h4 {
		color: #000;
		font-size: 14px;
		line-height: 24px;
	}
}

.pc_nodisp {
	display: none;
}

.sp_nodisp {
	display: block;
}

@media screen and (min-width: 768px) {
	.pc_nodisp {
		display: block;
	}

	.sp_nodisp {
		display: none;
	}
}

.wpcf7-list-item {
	margin: 0 30px 0 0;
	line-height: 1.6em;
}

.land_radio .wpcf7-list-item {
	margin: 0;
	line-height: 1.6em;
}

.wpcf7-not-valid-tip {
	margin-top: 10px;
	color: #B94A48;
	font-size: 14px;
}

.wpcf7-response-output {
	display: block;
	margin: 0 auto 40px !important;
	padding: 15px !important;
	width: 100%;
	text-align: center;
	background: #f7d7da !important;
	color: #711d26 !important;
	border: 1px solid #f4c6cb !important;
	border-radius: 4px;
}

.wpcf7 form.sent .wpcf7-response-output {
	display: block;
	margin: 0 auto 40px !important;
	padding: 15px !important;
	width: 100%;
	text-align: center;
	background: #d5edda !important;
	color: #185626 !important;
	border: 1px solid #c4e5cc !important;
	border-radius: 4px;
}

.wpcf7-spinner {
	visibility: hidden;
	display: block;
	background-color: #23282d;
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
}

.p-box-intro {
	max-width: 900px;
	margin: 120px auto 120px;
	background-color: #ede6de;
	padding: 60px;
}

.p-box-intro h2 {
	font-size: 28px;
	padding: 0 0 30px;
	margin: 0 0 30px;
	text-align: center;
	border-bottom: 1px solid #947151;
	color: #947151;
}

.p-box-intro a {
	display: block;
	padding: 30px;
	border: 1px solid #947151;
	margin-top: 30px;
	position: relative;
	width: 87%;
	margin-left: 13%;
}

.p-box-intro a::before {
	content: "";
	display: block;
	position: absolute;
	background: url(/wp/wp-content/themes/noble-2024/img/page/box/ico_pdf.svg) no-repeat center center/contain;
	width: 60px;
	height: 60px;
	top: 0;
	bottom: 0;
	margin: auto;
	left: -14%;
	position: absolute;
}

.p-box-intro a::after {
	content: "";
	height: .6666666667em;
	aspect-ratio: 12 / 11;
	background: url(../img/common/arrow_gl.svg) no-repeat center center / contain;
	position: relative;
	right: 0;
	transition: .5s ease;
}

.p-box-intro span {
	display: block;
	text-align: right;
	margin-top: 10px;
	font-size: 14px;
}

@media screen and (max-width: 768px) {
	.p-box-intro h2 {
		font-size: 20px;
	}

	.p-box-intro {
		padding: 10%;
	}

	.p-box-intro a {
		padding: 20px;
	}

	.p-box-intro a::before {
		width: 30px;
		height: 30px;
	}
}

.p-single-column-content__inner .l-single-content {
	iframe {
		width: 100%;
		aspect-ratio: 16 / 9;
	}
}

@media (width: 767px) {
	.p-single-column-content__inner .l-single-content {
		iframe {
			width: 100%;
			aspect-ratio: 16 / 9;
		}
	}
}