/* header */
.p-lp-header {
  display: grid;
  height: 460px;
}

.p-lp-header>* {
  grid-area: 1/-1;
}

.p-lp-header__picture {
  height: inherit;
}

.p-lp-header__image {
  width: 100%;
  height: inherit;
  object-fit: cover;
}

.p-lp-header__contents {
  display: grid;
  align-content: center;
  justify-self: center;
  width: calc(100% - 100px);
  max-width: 1180px;
  color: #fff;
  text-align: var(--tcd-lp-header-text-align);
}

.p-lp-header__title {
  display: grid;
  align-content: start;
}

.p-lp-header__title-text {
  line-height: 1.6;
  margin-block: var(--tcd-half-read);
}

.p-lp-header__title-text1 {
  font-family: var(--tcd-lp-header-text1-font-type);
  font-size: 1.5rem;
  color: #035838;
	margin-bottom: 32px;
	margin-bottom: 0px;
}

.p-lp-header__title-text1:has(+*),
.p-lp-header__title:has(+.p-lp-header__button) {
  --tcd-lp-header-text1-margin-bottom: var(--tcd-lp-header-text1-margin-bottom-pc);
}

.p-lp-header__title-text2 {
  color: #222222;
}

.p-lp-header__title:has(+.p-lp-header__button) {
  --tcd-lp-header-text2-margin-bottom: var(--tcd-lp-header-text2-margin-bottom-pc);
}

.p-lp-header__button-link {
  display: inline-grid;
  place-items: center;
  min-width: 280px;
  width: fit-content;
  height: 60px;
  color: #ffffff;
  font-weight: 600;
  background-color: var(--tcd-lp-header-button-color);
  border-radius: calc(infinity * 1px);
}

@media (any-hover: hover) {
  .p-lp-header__button-link:hover {
    background-color: color-mix(in srgb, var(--tcd-lp-header-button-color) 90%, #ffffff);
  }
}

@media (max-width: 991px) {
	.p-lp-header {
		height: 240px;
	}
}

@media (max-width:767px) {

	.p-lp-header__contents {
		text-align: center;
		width: 100%;
		padding: 0 6.2vw;
	}

	.p-lp-header__title-text1 {
		font-size: 1.125rem;
	}

	.p-lp-header__title-text1:has(+*),
	.p-lp-header__title:has(+.p-lp-header__button) {
		--tcd-lp-header-text1-margin-bottom: var(--tcd-lp-header-text1-margin-bottom-sp);
	}

	.p-lp-header__title:has(+.p-lp-header__button) {
		--tcd-lp-header-text2-margin-bottom: var(--tcd-lp-header-text2-margin-bottom-sp);
	}

	.p-lp-header__title-text2 {
		font-size: 14px;
	}

	.p-lp-header__title-text2 br{
		display: none;	
	}

	.p-lp-header__button-link {
		min-width: 240px;
		height: 50px;
		font-size: 14px;
	}
}

.p-lp-header__title-text1 span{
	font-size:4.5rem;
	font-style:italic;
	line-height:1.2;
}
.jp-ttl{
	font-size:2rem;
	font-weight:700;
	line-height:1;
	margin-bottom:0.5em;
}
.jp-ttl::after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  margin-top: 0.6em;
  background: #035838;
	margin-bottom:0.85em;
}
.catch-ttl {
  color: #035838;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.6;
	padding-bottom: 10px;
}
:root {
  --main-green: #035838;
  --light-green: #f3f6f5;
}
/*スマホ対応*/
@media screen and (max-width: 767px) {
	.p-lp-header__title-text1 span{
		font-size:2.8rem;
	}
}

.c-breadcrumb{
	display: none;
}

.works-archive{
	padding: 0 0 160px;
}
@media (max-width:767px) {
	.works-archive{
		padding: 0 0 29.5vw;
	}
}
.works-archive__inner{
	width: calc(100% - 100px);
	max-width: 1180px;
	padding: 150px 0 0;
	margin: 0 auto;
}
@media (max-width:767px) {
	.works-archive__inner{
		width: calc(100% - 12.4vw);
		padding: 14vw 0 0;
	}
}
.works-archive-nav{
	background: #F3F6F5;
	padding: 20px 36px;
	margin: 0 0 85px;
}
@media (max-width: 991px) {
	.works-archive-nav{
		padding: 16px 24px;
	}
}
@media (max-width:767px) {
	.works-archive-nav{
		padding: 21px 17px;
		margin: 0 0 12.8vw;
	}
}
.works-archive-nav__list{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px 84px;
}
@media (max-width: 991px) {
	.works-archive-nav__list{
		gap: 0 60px;
	}
}
@media (max-width:767px) {
	.works-archive-nav__list{
		justify-content: space-between;
		align-items: stretch;
		gap: 5px 0;
	}
}
.works-archive-nav__item.is-current{
	background: #035838;
	color: #fff;
	border-radius: 5px;
	padding: 12px 32px;
}
@media (max-width:767px) {
	.works-archive-nav__item.is-current{
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 40px;
		padding: 0;
	}
}
.works-archive-nav__item{
	position: relative;
	line-height: 1;
}
@media (max-width:767px) {
	.works-archive-nav__item{
		width: calc(50% - 3px);
		min-height: 40px;
		font-size: min(4.1vw, 16px);
	}
}
.works-archive-nav__item a{
	transition: 0.3s;
}
@media (max-width:767px) {
	.works-archive-nav__item a{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		background: #fff;
		border: 1px solid #035838;
		border-radius: 5px;
		padding: 2.4vw;
	}
}
.works-archive-nav__item a:hover{
	color: #035838;
}
.works-archive-nav__item::after{
	content: '';
	position: absolute;
	top: 50%;
	right: -42px;
	width: 1px;
	height: 24px;
	background: #D9D9D9;
	transform: translateY(-50%);
}
@media (max-width: 991px) {
	.works-archive-nav__item::after{
		right: -30px;
	}
}
@media (max-width:767px) {
	.works-archive-nav__item::after{
		content: none;
	}
}
.works-archive-nav__item:last-child::after{
	content: none;
}
.works-archive-list{
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 50px 2.3%;
}
@media (max-width:767px) {
	.works-archive-list{
		gap: 7.7vw 0;
	}
}
.works-archive-list__item{
	width: 31.8%;
	max-width: 375px;
	border: 1px solid #D8E2DF;
}
@media (max-width: 991px) {
	.works-archive-list__item{
		width: calc(50% - 1.15%);
		max-width: 100%;
	}
}
@media (max-width:767px) {
	.works-archive-list__item{
		width: 100%;
	}
}
.works-archive-list__inner{
	padding: 6.4%;
}
.works-archive-list__img{
	aspect-ratio: 375/250;
}
@media (max-width:767px) {
	.works-archive-list__img{
		aspect-ratio: 340/226;
	}
}
.works-archive-list__img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.works-archive-list__cat{
	font-weight: 600;
	font-size: 14px;
	line-height: 1.5;
	color: #035838;
}
@media (max-width:767px) {
	.works-archive-list__cat{
		font-size: min(4.1vw, 16px);
	}
}
.works-archive-list__ttl{
	font-weight: 300;
	font-size: 18px;
	line-height: 1.5;
	margin-top: 9px;
}
@media (max-width:767px) {
	.works-archive-list__ttl{
		font-size: min(4.6vw, 18px);
		margin-top: 4px;
	}
}
.works-archive-list__btn{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100% - 4.8%);
	height: 62px;
	font-size: 14px;
	border: 1px solid #035838;
	margin: 24px auto 0;
}
@media (max-width:767px) {
	.works-archive-list__btn{
		width: 100%;
		height: 60px;
		font-size: min(4.1vw, 16px);
		margin-top: 17px;
	}
}
.works-archive-list__btn .txt{
	position: relative;
	z-index: 2;
	color: #035838;
}
.works-archive-list__btn:hover .txt{
	color: #fff;
}
.works-archive-list__btn::after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background: #035838;
	transition: 0.3s ease;
}
.works-archive-list__btn:hover::after{
	width: 100%;
}
.works-archive-list__btn .chevron{
	position: absolute;
	top: 50%;
	right: -16px;
	width: 32px;
	height: 6px;
	overflow: hidden;
	transform: translateY(-50%);
}
.works-archive-list__btn .chevron::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	width: 32px;
	height: 6px;
	background: url(../img/works/icn_chevron.svg) 0 0 / 100% auto no-repeat;
	margin-top: -3px;
	transition: 0.3s ease;
}
.works-archive-list__btn:hover .chevron::after{
	animation: frameIn 1s cubic-bezier(0.9, 0.1, 0.3, 0.9);
}
.works-archive__pager{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 10px;
	margin-top: 80px;
}
@media (max-width:767px) {
	.works-archive__pager{
		margin-top: 12.8vw;
		gap: 0 2.4vw;
	}
}
.works-archive__pager .item{
	width: 44px;
	height: 44px;
}
@media (max-width:767px) {
	.works-archive__pager .item{
		width: 11vw;
		height: 11vw;
		font-size: min(4.1vw, 16px);
	}
}
.works-archive__pager .item a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #fff;
	border: 1px solid #D8E2DF;
}
.works-archive__pager .item a:hover{
	background: #035838;
	color: #fff;
	border: 1px solid #035838;
	opacity: 1;
}
.works-archive__pager .item.current{
	display: flex;
	align-items: center;
	justify-content: center;
	background: #035838;
	color: #fff;
	border: 1px solid #035838;
}
.works-archive__pager .item.dot{
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 30px;
}
@media (max-width:767px) {
	.works-archive__pager .item.dot{
		width: 7.7vw;
	}
}

@keyframes frameIn {
	0% {
		transform: scale(1, 1);
		transform: translateX(0)
	}

	50% {
		transform: scale(1, 1);
		transform: translateX(100%)
	}

	50.01% {
		transform: scale(1, 0);
		transform: translateX(-150%)
	}

	52% {
		animation-timing-function: ease-out;
		transform: scale(1, 1);
		transform: translateX(-150%)
	}

	100% {
		transform: scale(1, 1);
		transform: translateX(0)
	}
}

.works-single__inner{
	width: calc(100% - 100px);
	max-width: 1180px;
	padding: 150px 0 0;
	margin: 0 auto;
}
@media (max-width:767px) {
	.works-single__inner{
		width: calc(100% - 12.4vw);
		padding: 14vw 0 0;
	}
}

.works-single-head{
	margin: 0 0 38px;
}
@media (max-width:767px) {
	.works-single-head{
		margin: 0 0 18px;
	}
}
.works-single-head__cat{
	font-size: 14px;
	line-height: 1.5;
	font-weight: 600;
	color: #035838;
	margin: 0 0 9px;
}
@media (max-width:767px) {
	.works-single-head__cat{
		font-size: min(4.1vw, 16px);
		margin: 0 0 4px;
	}
}
.works-single-head__ttl{
	position: relative;
	font-size: 28px;
	line-height: 1.5;
	font-weight: 600;
	padding: 0 0 24px;
}
.works-single-head__ttl::before{
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 40px;
	height: 2px;
	background: #035838;
}
@media (max-width:767px) {
	.works-single-head__ttl{
		font-size: min(5.4vw, 21px);
		padding: 0;
	}
	.works-single-head__ttl::before{
		content: none;
	}
}

.works-single .splide__slide{
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f3f6f5;
}
.works-single .splide__arrow{
	width: min(2.1vw, 25px);
	height: min(3.8vw, 45px);
	transform: translateY(-50%);
	margin: 0;
	border: 0;
	background: url(../img/works/icn_slider_chevron.png) center center / 100% auto no-repeat;
}
.works-single .splide__arrow svg{
	display: none;
}
.works-single .splide__arrow--prev{
	transform: scale(-1,1) translateY(-50%);
}
.works-gallery__thumbs{
	display: flex;
	flex-flow: wrap;
	gap: 0 1%;
	margin-top: 15px;
}
@media (max-width:767px) {
	.works-gallery__thumbs{
		gap: 1vw 1%;
		margin-top: 5px;
	}
}
.works-gallery__thumbs li{
	width: 9.1%;
}
@media (max-width:767px) {
	.works-gallery__thumbs li{
		width: 19.2%;
	}
}
.works-gallery__thumbs li img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 1 / 1;
}
.works-single-overview{
	margin-top: 64px;
}
@media (max-width:767px) {
	.works-single-overview{
		margin-top: 50px;
	}
}
.works-single-overview__ttl{
	font-size: 18px;
	font-weight: 600;
	color: #035838;
	line-height: 1.5;
	margin: 0 0 18px;
}
@media (max-width:767px) {
	.works-single-overview__ttl{
		font-size: min(4.6vw, 18px);
	}
}
.works-single-overview table{
	width: 100%;
	border-bottom: 1px solid #D9D9D9;
}
.works-single-overview table th{
	width: 182px;
	border-top: 1px solid #D9D9D9;
	background: #F3F6F5;
	font-weight: 600;
	text-align: left;
	line-height: 1.7;
	padding: 28px;
}
@media (max-width:767px) {
	.works-single-overview table th{
		display: block;
		width: 100%;
		font-size: min(4.1vw, 16px);
		padding: 15px 19px;
	}
}
.works-single-overview table td{
	width: calc(100% - 182px);
	border-top: 1px solid #D9D9D9;
	line-height: 1.7;
	padding: 28px 40px;
}
@media (max-width:767px) {
	.works-single-overview table td{
		display: block;
		width: 100%;
		font-size: min(4.1vw, 16px);
		padding: 15px 19px;
	}
}
.works-single-free{
	display: flex;
	flex-flow: column;
	gap: 40px 0;
	margin-top: 60px;
}
@media (max-width:767px) {
	.works-single-free{
		margin-top: 50px;
		gap: 40px 0;
	}
}
.works-single-free__ttl{
	font-size: 18px;
	font-weight: 600;
	color: #035838;
	line-height: 1.5;
	border-bottom: 1px solid #D9D9D9;
	padding: 0 0 18px;
	margin: 0 0 18px;
}
@media (max-width:767px) {
	.works-single-free__ttl{
		font-size: min(4.6vw, 18px);
		padding: 0 0 0.8em;
		margin: 0 0 0.8em;
	}
}
.works-single-free__txt{
	line-height: 2;
}
@media (max-width:767px) {
	.works-single-free__txt{
		font-size: min(4.1vw, 16px);
	}
}
.works-single-pager{
	position: relative;
	border-top: 1px solid #D9D9D9;
	padding-top: 50px;
	margin-top: 80px;
}
@media (max-width:767px) {
	.works-single-pager{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 50px;
	}
}
.works-single-pager__link{
	position: absolute;
	bottom: 10px;
	font-weight: 600;
}
@media (max-width:767px) {
	.works-single-pager__link{
		position: relative;
		bottom: auto;
		font-size: min(4.1vw, 16px);
	}
}
.works-single-pager__link a{
	position: relative;
	display: inline-block;
}
.works-single-pager__link a:hover{
	color: #035838;
}
.works-single-pager__link a::before{
	content: '';
	position: absolute;
	top: 50%;
	width: 32px;
	height: 6px;
	background: url(../img/works/icn_detail_chevron.svg) center center / 100% auto no-repeat;
	transform: translateY(-50%);
}
@media (max-width:767px) {
	.works-single-pager__link a::before{
		width: 23px;
		height: 4px;
		background-size: auto 100%;
	}
}
.works-single-pager__link.prev{
	left: 0;
}
.works-single-pager__link.prev a::before{
	left: 0;
}
.works-single-pager__link.prev a{
	padding: 0 0 0 48px;
}
@media (max-width:767px) {
	.works-single-pager__link.prev a{
		padding: 0 0 0 34px;
	}
}
.works-single-pager__link.next{
	right: 0;
}
.works-single-pager__link.next a::before{
	right: 0;
	transform: scale(-1,1) translateY(-50%);
}
.works-single-pager__link.next a{
	padding: 0 48px 0 0;
}
@media (max-width:767px) {
	.works-single-pager__link.next a{
		padding: 0 34px 0 0;
	}
}
.works-single-pager__btn{
	width: 220px;
	height: 50px;
	font-weight: 600;
	margin: 0 auto;
}
@media (max-width:767px) {
	.works-single-pager__btn{
		width: 100%;
		font-size: min(4.1vw, 16px);
		margin-top: 30px;
	}
}
.works-single-pager__btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border: 1px solid #035838;
	color: #035838;
}
.works-single-pager__btn a:hover{
	background: #035838;
	color: #fff;
}