/*=========================================
// common layout style
=========================================*/

:root {
	--design-size: 100%;
    --design-size-pc: 1340px;
	--design-size-pc--calc: calc(100% - 160px);
    --design-size-percent: 90%;
}
:root{
	--color-black: #444444;
	--color-green: #608965;
	--color-green2: #9FA59F;
	--color-green3: #646E66;
	--color-green4: #50764E;
	--color-green5: #7D957C;
	--color-lightgreen: #9FBAA2;
	--color-gray: #645F51;
	--color-white: #fff;
	--color-beige: #AF9B93;
	--color-darkgray: #888787;
	--color-lightgray: #F5F5F5;
	--color-hovergreen: #8B908C;
	--color-bggray: #EAEAEA;
	--color-btngray: #EDEDED;
}
:root {
	--font-eg-style: 'Outfit', sans-serif;
}

.c-sp-line{
	display: block;
}
@media screen and (max-width: 800px) {
	.c-sp-line{
		display: none;
	}
}
.c-pc-line{
	display: none;
}
@media screen and (max-width: 800px) {
	.c-pc-line{
		display: block;
	}
}

.c-txt-xlarge{
	font-size: clamp(16px, 1.1688vw, 18px);
	line-height: 2;
	margin-bottom: 3rem;
}
@media screen and (max-width: 800px){
	.c-txt-xlarge{
		font-size: clamp(14px, 1.1688vw, 15px);
		text-align: left;
	}
}

.c-txt-xlarge.-center{
	text-align: center;
}

.c-txt-xlarge p{
	margin-bottom: 1.5rem;
}
.c-txt-bold{
	font-weight: 700;
	letter-spacing: 0.1rem;
	color: var(--color-blue1);
	margin-bottom: 0!important;
}

.c-section-title{
	margin-bottom: 3rem;
}
@media screen and (max-width: 800px){
	.c-section-title{
		text-align: center;
	}
}

.c-section-title.-center{
	text-align: center;
}

.c-section-title-jp{
	color: var(--color-green);
	font-size: clamp(27px, 2.2vw, 32px);
	font-weight: 500;
}
@media screen and (max-width: 800px){
	.c-section-title-jp{
		font-size: clamp(20px, 2vw, 23px);
	}
}

.c-section-title-en{
	color: var(--color-darkgray);
	font-size: 1.7rem;
	font-family: var(--font-eg-style);
}
@media screen and (max-width: 800px){
	.c-section-title-en{
		font-size: 1.2rem;
	}
}

.c-section-title .c-txt-xlarge{
	margin-top: 3rem;
}

.c-button{ 
	width: var(--design-size);
	max-width: 33.7rem;
	margin-top: 3rem;
	height: 6rem;
}
@media screen and (max-width: 800px) {
	.c-button{ 
	max-width: var(--design-size);
	}
}

.c-button a{
	display: flex!important;
	flex-direction: row!important;
	align-items: center;
	width: 100%;
	height: 100%;
	color: var(--color-white);
	position: relative;
	background: var(--color-green);
	border-radius: 6px;
	padding: 1.5rem 5.5rem;
}
@media screen and (max-width: 800px) {
	.c-button a{
		max-width: 100%;
	}
}

.c-button.-type2{
	cursor: pointer;
	display: flex!important;
	flex-direction: row!important;
	align-items: center;
	width: 100%;
	height: 100%;
	margin-left: auto;
	margin-right: auto;
	color: var(--color-white);
	position: relative;
	background: var(--color-green);
	border-radius: 6px;
	padding: 1.5rem 5.5rem;
}
.c-button.-type2::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 30px;
	background: var(--color-white);
	width: 15px;
	height: 1px;
	transition: all .3s;
	-webkit-transition: all .3s;
	transform-origin: left top;
}

.c-button input{
	color: var(--color-white);
}

.c-button span{ 
	display: inline-flex;
	transition: all .3s;
	-webkit-transition: all .3s;
    transform-origin: left top;
	transform: translateX(0);
}
.c-button:hover span{ 
	transform: translateX(8px);
}

.c-button a::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 30px;
	background: var(--color-white);
	width: 15px;
	height: 1px;
	transition: all .3s;
	-webkit-transition: all .3s;
	transform-origin: left top;
}

.c-button a:hover::before{
	transform: scale(1.8, 1);
}
.c-button.-center{
	margin-left: auto;
	margin-right: auto;
}

.c-radius{
	border-radius: 1rem;
	overflow: hidden;
}

.c-copywrite{
	font-family: var(--font-eg-style);
	font-size: 1.2rem;
	color: var(--color-green);
	text-align: center;
	padding-bottom: 5.5rem;
}
@media screen and (max-width: 800px){
	.c-copywrite{
		font-size: 1.15rem;
	}
}

.c-table>dl{
	display: flex;
	align-items: center;
	padding: 2rem;
	border-bottom: 1px solid  var(--color-green);
}
@media screen and (max-width: 800px) {
	.c-table>dl{
		display: block;
		padding: 1rem;
		margin-bottom: 1rem;
	}
}

.c-table>dl>dt{ 
	color: var(--color-green);
	width: 180px;
	max-width: 18.656vw;
}
@media screen and (max-width: 800px){
	.c-table>dl>dt{ 
		width: 100%;
		max-width: 100%;
	}
}

.c-table>dl>dd{
	flex: 1;
}
@media screen and (max-width: 800px) {
	.c-table>dl>dd{ 
		width: 100%;
		display: block;
	}
}
/*------------------------------------------------------------

l-section

------------------------------------------------------------*/
.l-section{
	max-width: var(--design-size-pc);
	width: var( --design-size-percent);
	margin: 0 auto;
}

.l-section__title{
	font-size: 2.8rem;
}
/*------------------------------------------------------------

p-frame

------------------------------------------------------------*/
.p-frame{
	position: relative;
  	padding-bottom: 56.25%;
  	height: 0;
  	overflow: hidden;
}

.p-frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*------------------------------------------------------------

p-repair

------------------------------------------------------------*/
.p-repair{
	margin: 12rem auto 8rem;
}
@media screen and (max-width: 800px){
	.p-repair{
		margin: 8rem auto 8rem;
	}
}

.p-repair__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.p-repair__list li{
	width: 31.3%;
	margin-bottom: 30px;
}
@media screen and (max-width: 800px){
	.p-repair__list li{ 
		width: 42.5vw;
		margin-bottom: 20px;
	}
	#about .p-repair__list li:nth-child(n+3){
		border: 1px solid red;
		display: none;
	}
}

.p-repair__list li img{
	width: 100%;
	object-fit: cover;
}

.p-repair__item{
	margin-top: 1rem;
	font-size: clamp(1.5rem, 1.5vw, 1.7rem) ;
	color: var(--color-green);
	font-weight: 500;
	text-align: center;
}
@media screen and (max-width: 800px){
	.p-repair__item{
		font-size: clamp(13px, 1.2vw, 15px);
		text-align: left;
	}
}

.p-repair .c-txt-xlarge{
	text-align: center;
}
/*------------------------------------------------------------

p-form

------------------------------------------------------------*/

.p-form .wpcf7-response-output{
	text-align: center;
	padding: 2rem 0;
	border: 2px solid var(--color-lightgreen);
	font-weight: 500;
	color: var(--color-green);
}

.p-form .invalid .wpcf7-response-output,
.p-form .unaccepted .wpcf7-response-output{
	border: 2px solid var(--color-beige);
	text-align: center;
	padding: 2rem 0;
	font-weight: 500;
}

@media screen and (max-width: 800px){
	.p-form .c-txt-xlarge.-center{
		text-align: left;
	}
}
.p-form__list li{
	margin-bottom: 2.5rem;	
}

.p-form__select{ 
	position: relative;
}

.p-form__select input[type=text]{
	color: var(--color-green)!important;
}

.p-form__select::before{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 7px 0 7px;
	border-color: var(--color-green) transparent transparent transparent;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 1;
}
.wpcf7-form-control {
      appearance: none;
      -webkit-appearance: none; 
      -moz-appearance: none; 
      -o-appearance: none; 
   }

input[type=email],
input[type=tel],
input[type=text], 
option, select, textarea{
	border: 1px solid var(--color-lightgreen);
	background-color: var(--color-white)!important;
	padding: 2rem 2.5rem;
	width: 100%;
	line-height: 2.5;
	font-size: max(1.6rem ,14px);
	border-radius: 3px;
	font-weight: 700;
	color: var(--color-green)!important;
}
input:-webkit-autofill{
	box-shadow: 0 0 0 1000px rgb(255, 255, 255) inset !important;
	-webkit-text-fill-color: var(--color-green)!important;
}

@media screen and (max-width: 800px){
	[type=email], [type=tel], [type=text], option, select, textarea{
		padding: 1rem 1.5rem;
		font-size: max(1.4rem ,15px);
	}
}

textarea{
	height: 18.5rem;
}

.p-privacy-box{
	height: 320px; 
	border: 1px solid var(--color-green);
	padding: 3rem;
	border-radius: 3px;
	margin: 5rem 0;
	overflow-y: scroll;
}
@media screen and (max-width: 800px){
	.p-privacy-box{
		height: 270px; 
		margin: 3.5rem 0;
	}
}

.p-privacy-box h2{
	font-size: max(20px, 1.5rem);
	color: var(--color-green);
	font-weight: 500;
}
@media screen and (max-width: 800px){
	.p-privacy-box h2{
		font-size: max(16px, 1.6rem);
	}
}

.p-privacy-box ul p{
	margin-bottom: 0rem;
}

.p-privacy-box .c-txt-xlarge:nth-of-type(1){ 
	margin-bottom: 5rem;
}
@media screen and (max-width: 800px){
	.p-privacy-box .c-txt-xlarge:nth-of-type(1){ 
		margin-bottom: 2rem;
	}
}

.p-privacy-box h3{
	font-size: max(17px, 1.6rem);
	color: var(--color-green);
	font-weight: 500;
	margin-bottom: 1rem;
}
@media screen and (max-width: 800px){
	.p-privacy-box h3{
		font-size: max(15px, 1.5rem);
		margin-bottom: 0rem;
	}
}

.p-privacy-box h4{
	font-weight: 500;
}
/*------------------------------------------------------------

l-header

------------------------------------------------------------*/
.l-header{ 
	position: fixed;
	z-index: 10;
	background: var(--color-white);
	width: var(--design-size);
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.l-header__logo{
	padding-left: 40px;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
@media screen and (max-width: 800px) {
	.l-header__logo{
		padding-left: 15px;
	}
}

.l-header__logo img{
	width: 16vw;
	max-width: 205px;
}
@media screen and (max-width: 800px) {
	.l-header__logo img{
		width: 150px;
	}
}

.l-header__logo:hover{
	opacity: 0.7;
}
/*------------------------------------------------------------

l-header-nav

------------------------------------------------------------*/
.l-header-nav{
	width: 100%;
	font-size: clamp(13px, 1.2vw, 15px);
}
@media screen and (max-width: 1000px) {
	.l-header-nav{ 
		font-size: clamp(16px, 3vw, 18px);
	}
}
@media screen and (max-width: 800px) {
	.l-header-nav{ 
		font-size: clamp(15px, 2vw, 16px);
	}
}

.l-header-nav__mobule{ 
	display: flex;
	align-items: center;
	justify-content: flex-end;
	-webkit-box-pack: end;
	-ms-box-pack: end;
}
@media screen and (max-width: 1000px) {
	.l-header-nav__mobule{ 
		display: block;
		padding: 5rem 0;
	}
}
	@media screen and (max-width: 800px) {
	.l-header-nav__mobule{ 
		xpadding: 6rem 0;
	}
}
	
.l-header-nav__logo{
	display: none;
}
@media screen and (max-width: 1000px) {
	.l-header-nav__logo{ 
		display: block;
	}
	.l-header-nav__logo img{
		width: 38vw;
		margin: 0 auto;
		display: block;
	}
}
@media screen and (max-width: 800px) {
	.l-header-nav__logo img{
		width: 47vw;
	}
}

.l-header-nav__contact{
	display: none;
}
@media screen and (max-width: 1000px){
	.l-header-nav__contact{
		display: block;
		width: var(--design-size-pc--calc);
		margin: 3rem auto 0;
		color: var(--color-white);
		text-align: center;
	}
	.l-header-nav__contact p{
		font-size: 1.8rem;
	}
	.l-header-nav__contact .l-nav-btn{
		padding: 2rem;
		border-radius: 10px;
		border: 1px solid var(--color-white);
		font-family: var(--font-eg-style);
		margin: 1rem 0;
		letter-spacing: 0.2rem;
	}
	.l-header-nav__contact .l-nav-btn span{
		display: block;
		font-size: 1.8rem;
	}
	.l-header-nav__contact .l-nav-btn a{
		font-size: 2.3rem;
	}
	.l-header-nav__contact small{
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 800px) {
	.l-header-nav__contact{
		width: var( --design-size-percent);
	}
}

@media screen and (max-width: 1000px) {
	.l-header-nav{ 
		position: fixed;
		top: 0;
		right: -120%;
		z-index: -1;
		opacity: 0;
		width: 100%;
		height: 100vh;
		transition: all .6s ease;
		-webkit-transition: all .6s ease;
		background: var(--color-green2);
	}
	.l-header-nav.panelactive{
		opacity: 1;
		z-index: 999;
		right: 0;
	}
	.l-header-nav.panelactive .l-header-nav__mobule{
		position: fixed;
		z-index: 999;
		width: 100%;
		height: 100vh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
}

.l-header-nav ul{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: end;
	margin-right: 2rem;
}
.l-header-nav ul ._none{
	display: none;
}

@media screen and (max-width: 1000px) {
	.l-header-nav ul{ 
		width: var(--design-size-pc--calc);
		margin: 3rem auto 0;
		flex-wrap: wrap;
		justify-content: space-between;
		z-index: 999;
	}
	.l-header-nav ul ._none{
		display: block;
	}
	.l-header-nav li{
		width: 46.5%;
		margin-bottom: 3rem;
		padding: 0 0 0.5rem 0;
		border-bottom: 1px solid var(--color-white);
	}
}
@media screen and (max-width: 800px) {
	.l-header-nav ul{ 
		width: var( --design-size-percent);
	}
}

.l-header-nav ul li a{
	position: relative;
	margin: 0 clamp(8px, 0.2vw, 11px);
	transition: transform .3s;
	-webkit-transition: transform .3s;
}
@media screen and (max-width: 1000px) {
	.l-header-nav ul li a{
		color: var(--color-white);
	}
}

.l-header-nav ul li a::before{
	content: "";
	width: 100%;
	height: 0.15rem;
	background: var(--color-green5);
	position: absolute;
	bottom: -7px;
	left: 0;
	margin: auto;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
	-webkit-transition: transform .3s;
}

.l-header-nav ul li a:hover::before{
	transform-origin: center top;
	transform: scale(1, 1);
}
@media screen and (max-width: 1000px){
	.l-header-nav ul li a:hover::before{
		display: none;
	}
}

.l-header-contact{
	color: var(--color-white);
	letter-spacing: 0.1rem;
}
@media screen and (max-width: 1000px){
	.l-header-contact{
		display: none;
	}
}

.l-header-contact a{ 
	height: 80px;
	width: clamp(136px, 1.2rem, 170px);
	padding: 0 35px;
	display: flex;
	align-items: center;
	background: var(--color-green4);
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}

.l-header-contact a:hover{
	background: var(--color-green5);
}

.l-header-nav__btn{
	display: none;
}
@media screen and (max-width: 1000px) {
	.l-header-nav__btn{
		display: block;
		position: fixed;
		z-index: 9999;
		cursor: pointer;
		top: 10px;
		right: 10px;
		width: 50px;
		height: 50px;
	}
	.l-header-nav__btn span{
		display: inline-block;
		transition: all .4s;
		-webkit-transition: all .4s;
		position: absolute;
		left: 12px;
		width: 50%;
		height: 2px;
		border-radius: 2px;
		background: var(--color-green);
	}
	.l-header-nav__btn span:nth-of-type(1){
		top: 15px;
	}
	.l-header-nav__btn span:nth-of-type(2){
		top: 23px;
	}
	.l-header-nav__btn span:nth-of-type(3){
		top: 31px;
	}
	.l-header-nav__btn.active span:nth-of-type(1){
		top: 18px;
		left: 18px;
		width: 40%;
		transform: translateY(6px) rotate(-45deg);
		background: var(--color-white);
	}
	.l-header-nav__btn.active span:nth-of-type(2){
		opacity: 0;
	}
	.l-header-nav__btn.active span:nth-of-type(3){
		top: 30px;
		left: 18px;
		width: 40%;
		transform: translateY(-6px) rotate(45deg);
		background: var(--color-white);
	}
}

@media screen and (max-width: 800px) {
	.l-header-nav__btn{ 
		top: 22px;
		width: 35px;
		height: 35px;
	}
	.l-header-nav__btn span{
		left: 7px;
		width: 60%;
	}
	.l-header-nav__btn span:nth-of-type(1){
		top: 7px;
	}
	.l-header-nav__btn span:nth-of-type(2){
		top: 15px;
	}
	.l-header-nav__btn span:nth-of-type(3){
		top: 23px;
	}
	.l-header-nav__btn.active span:nth-of-type(1){
		top: 10px;
		left: 8px;
		width: 55%;
	}	
	.l-header-nav__btn.active span:nth-of-type(3){
		top: 22px;
		left: 8px;
		width: 55%;
	}
}
/*------------------------------------------------------------

p-lineup

------------------------------------------------------------*/
.p-lineup{
	width: var(--design-size-percent);
	height: auto;
	margin: 0 auto;
	margin-bottom: 2rem;
}

.p-lineup.-type2{ 
	width: 100vw;
	margin: 25rem calc(50% - 50vw);
	 background: linear-gradient(180deg, #ffffff 0%, #ffffff 15%, #f3f3f3 15%, #f3f3f3 100%);
}
@media screen and (max-width: 800px){
	.p-lineup.-type2{ 
		margin: 10rem calc(50% - 50vw);
	 background: linear-gradient(180deg, #ffffff 0%, #ffffff 15%, #f3f3f3 15%, #f3f3f3 100%);
	}
}

.p-lineup__inner{ 
	display: flex;
	align-items: flex-end;
}
@media screen and (max-width: 1000px) {
	.p-lineup__inner{ 
		display: block;
	}
}

.p-lineup__open-contents{ 
	width: calc((507/var(--design-size-percent)) * 100%);
	padding: 5.2rem 88px 2.2rem;
}
@media screen and (max-width: 1000px) {
	.p-lineup__open-contents{ 
		width: var(--design-size-percent);
		padding: 0 0 2rem;
		margin: 0 auto;
	}
}

.p-lineup__open-figure{ 
	width: calc(893 / var(--design-size-pc) * 100%);
	border-radius: 20px 0 0 20px;
	overflow: hidden;
}
@media screen and (max-width: 1000px){
	.p-lineup__open-figure{ 
		width: var( --design-size-percent);
		margin: 0 auto;
		border-radius: 10px;
	}
}

.p-lineup a{
	width: 100%;
	height: 100%;
	display: flex;
}
@media screen and (max-width: 800px) {
	.p-lineup a{
		display: block;
	}
}

.p-lineup:nth-of-type(2n-1) a{ 
	flex-direction: row-reverse;
}

.p-lineup__figure{ 
	width: 60%;
	max-width: calc((888 / 1340) * 100%);
	position: relative;
}
@media screen and (max-width: 800px){
	.p-lineup__figure{ 
		max-width: 100%;
		width: 100%;
	}
}

.p-lineup__figure::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(68,68,68,0.2);
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
.p-lineup:hover .p-lineup__figure::before{
	background-color: rgba(68,68,68,0);
}

.p-lineup__figure img{
	height: 100%;
	object-fit: cover;
}

.p-lineup__contents{ 
	width: 40%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: var(--color-white);
	xmax-width: calc((456 / 1340) * 100%);
	padding-right: calc((85 / 1344) * 100%);
	padding-left: calc((85 / 1344) * 100%);
	padding-top: 5rem;
	padding-bottom: 5rem;
	background: var(--color-beige);
}
@media screen and (max-width: 800px){
	.p-lineup__contents{ 
		width: 100%;
		padding: 3rem;
	}
}

@media screen and (max-width: 800px){
	.p-lineup__contents .c-txt-xlarge{
		display: none;
	}
}

.p-lineup__contents .c-txt-xlarge,
.p-lineup__contents .c-section-title,
.p-lineup__contents .c-txt-xlarge p:last-of-type{
	margin-bottom: 0!important;
}
.p-lineup__contents .c-button{
	margin-top: 0!important;
}

.p-lineup__contents .c-section-title-jp{
	color: var(--color-white);
	font-size: clamp(20px, 2.2vw, 25px);
}

.p-lineup__contents .c-button{ 
	position: relative;
	padding-left: 30px;
	display: flex;
	align-items: center;
	font-weight: 500;
}
@media screen and (max-width: 800px){
	.p-lineup__contents .c-button{
		width: 200px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

.p-lineup__contents .c-button span{ 
	display: inline-flex;
	transition: all .3s;
	-webkit-transition: all .3s;
    transform-origin: left top;
	transform: translateX(0);
}

.p-lineup:hover .c-button span{ 
	transform: translateX(8px);
}

.p-lineup__contents .c-button::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	background: var(--color-white);
	width: 15px;
	height: 1px;
	transition: all .3s;
	-webkit-transition: all .3s;
	transform-origin: left top;
}

.p-lineup:hover .c-button::before{
	transform: scale(1.8, 1);
}
/*------------------------------------------------------------

p-single

------------------------------------------------------------*/
.p-single__mobule{
	padding-top: 7.9rem;
}
.p-single__inner{
	margin: 12rem auto;
	max-width: var(--design-size-pc);
	width: var( --design-size-percent);
	height: 100%;
}

.p-single{
	margin: 8rem auto;
}
@media screen and (max-width: 800px){
	.p-single{
		margin: 5rem auto;
	}
}

.p-single p{
	margin: 1.5rem auto;
}

.p-single h2{
	position: relative;
	font-size: 2.5rem;
	font-weight: 500;
	color: var(--color-green);
	padding-bottom: 1rem;
	margin: 5rem 0 3rem;
}
.p-single h2::before{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 7px;
	background: -webkit-repeating-linear-gradient(-45deg, var(--color-lightgreen), var(--color-lightgreen) 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, var(--color-lightgreen), var(--color-lightgreen) 2px, #fff 2px, #fff 4px);
}

.p-single h3{
	font-size: 2.2rem;
	font-weight: 500;
	color: var(--color-green);
	padding-bottom: 1rem;
	margin: 5rem 0 3rem;
	position: relative;
	border-bottom: solid 3px var(--color-lightgreen);
}
.p-single h3::before{
	position: absolute;
	content: " ";
  	display: block;
  	border-bottom: solid 3px var(--color-green);
  	bottom: -3px;
  	width: 20%;
}

.p-single h4{
	font-size: 2rem;
	font-weight: 500;
	color: var(--color-green);
	padding-bottom: 1rem;
	margin: 5rem 0 3rem;
	position: relative;
	border-bottom: solid 3px var(--color-lightgreen);
}
.p-single h4::before{
	position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px var(--color-green);
  bottom: -3px;
  width: 20%;
}

.p-single img{
	margin: 0 auto 5rem;
}

.p-blog-card{
	display: flex;
	border-radius: 2rem;
	border: 0.15rem solid var(--color-green);
	margin: 3rem 0;
}

.p-blog-card__inner{
	display: flex;
	align-items: center;
	padding: 3rem;
}
@media screen and (max-width: 800px){
	.p-blog-card__inner{
		display: block;
	}
}

.p-blog-card__thumbnail{ 
	height: 225px;
}
@media screen and (max-width: 800px){
	.p-blog-card__thumbnail{
		width: 100%;
		height: auto;
		margin-bottom: 3rem;
	}
}

.p-blog-card__thumbnail img{
	width: 100%!important;
	height: 100%!important;
	object-fit: cover;
	margin: 0;
}

.p-blog-card__content{ 
	width: calc(100% - 310px);
	padding-left: 3rem; 
}
@media screen and (max-width: 800px){
	.p-blog-card__content{ 
		width: 100%;
		padding-left: 0; 
	}
}

.p-blog-card__title{
	font-size: 2rem;
	font-weight: 500;
	color: var(--color-green);
	margin-bottom: 2rem;
}

#toc_container{
	padding: 3rem;
	margin: 5rem auto;
	border: 2px solid var(--color-green);
	border-radius: 10px;
}

#toc_container .toc_title{
	font-family: var(--font-eg-style);
	font-size: 3rem;
	text-align: center;
	color: var(--color-green);
}

.toc_list{
	margin-top: 3rem;
}

.toc_list li a{
	display: flex;
	align-items: center;
}
.toc_list>li>a{
	margin-top: 1rem;
}

.toc_list>li>a>span{
	margin-right: 0.9rem;
	font-size: 2rem;
	font-family: var(--font-eg-style);
}

.toc_list li ul{ 
	margin: 1rem 1.5rem!important;
}

.toc_list li ul li{ 
	margin-bottom: 0.5rem;
	margin-left: 2.5rem;
}

.toc_list ul>li>a{
	position: relative;
	display: flex;
	align-items: center;
}

.toc_list ul>li>a::before{ 
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: -2.5rem;
	transform: translateY(-50%);
	border-radius: 100px;
	width: 18px;
	height: 18px;
	background: var(--color-green);
}
@media screen and (max-width: 800px){
	.toc_list ul>li>a::before{ 
		width: 15px;
		height: 15px;
	}
}

.toc_list ul>li>a::after{ 
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: -2rem;
	transform: translateY(-50%) rotate(45deg);
	width: 5px;
	height: 5px;
	border-top: 1px solid var(--color-white);
	border-right: 1px solid var(--color-white);
}
@media screen and (max-width: 800px){
	.toc_list ul>li>a::after{ 
		width: 4px;
		height: 4px;
	}
}

.toc_list ul li a span{ 
	display: none;
}

.toc_list .toc_number{
	color: var(--color-green);
}

.p-hero__single{ 
	display: flex;
	flex-direction: row-reverse;
	min-height: 72.5rem;
}
@media screen and (max-width: 800px){
	.p-hero__single{
		display: block;
		min-height: 100%!important;
	}
}

.p-hero__single-figure{
	width: 68.656vw;
	border-radius: 3px 0 0 3px;
	overflow: hidden;
}
@media screen and (max-width: 800px){
	.p-hero__single-figure{
		width: var(--design-size-percent);
		height: auto!important;
		margin: 0 auto;
	}
}

.p-hero__single-figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-hero__single-contents{
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 31.343vw;
	padding: 7.4vh 3.6vw;
}
@media screen and (max-width: 800px){
	.p-hero__single-contents{
		width: var(--design-size-percent);
		padding: 2rem 0;
		margin: 0 auto;
	}
}

.p-hero__single-title{
	font-size: clamp(2.5rem, 2.5vw, 2.8rem); 
	color: var(--color-green);
	font-weight: 500;
	margin-bottom: 1rem;
}
@media screen and (max-width: 800px){
	.p-hero__single-title{
		font-size: clamp(1.8rem, 2vw, 2rem); 
	}
}

.p-hero__single-category{
	display: flex;
	flex-wrap: wrap;
}

.p-hero__single-metas{
	text-align: center;
	display: inline-block;
	border: 2px solid var(--color-green);
	border-radius: 100px;
	color: var(--color-green);
	font-size: clamp(1.5rem, 2vw, 1.6rem); 
	font-size: 1.5rem;
	min-width: 10rem;
	padding: 0.7rem 1rem;
}
@media screen and (max-width: 800px){
	.p-hero__single-metas{
		border: 0.15rem solid var(--color-green);
		font-size: clamp(1.3rem, 1.235vw, 1.4rem); 
	}
}
/*------------------------------------------------------------

p-journal

------------------------------------------------------------*/
.p-journal__mobule{ 
	padding-top: 25.9rem;
}
@media screen and (max-width: 800px){
	.p-journal__mobule{ 
		padding-top: 12rem;
	}
}

.p-journal__header{
	max-width: var(--design-size-pc);
	width: var( --design-size-percent);
	margin: 0 auto;
}

.p-journal__header.c-section-title{
	text-align: center;
}

.p-journal__list{ 
	margin: 3rem auto;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.p-journal__list-inner{
	text-align: center;
}

.p-journal__list-inner li{ 
	color: var(--color-green);
	display: inline-block;
	vertical-align: top;
	margin-right: 1.5rem;
	border-radius: 100px;
	border: 0.15rem solid var(--color-green);
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
.p-journal__list-inner li:hover{
	background: var(--color-green);
	color: var(--color-white);
}

@media screen and (max-width: 800px){
	.p-journal__list-inner li:first-child{
		margin-left: 10.5vw;
	}
}

.p-journal__list-txt{
	line-height: 2.5;
	padding: 1.6rem 3.5rem 1.5rem;
}

.p-journal{
	margin: 12rem auto;
	max-width: var(--design-size-pc);
	width: var( --design-size-percent);
	height: 100%;
}
@media screen and (max-width: 800px){
	.p-journal{
		margin: 8rem auto;
	}
}

.p-journal .c-section-title{
	text-align: center;
}

.p-journal .c-button{
	margin-left: auto;
	margin-right: auto;
}

.p-journal__inner{
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
}
@media screen and (max-width: 800px){
	.p-journal__inner{
		display: block;
	}
}

.p-journal__article{
	width: calc((100% - 3rem * 2) / 3);
	margin-right: 3rem;
	margin-bottom: 3rem;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
@media screen and (max-width: 800px){
	.p-journal__article{
		width: 100%;
		margin-right: 0;
	}
}

.p-journal__article:nth-of-type(3n){ 
	margin-right: 0;
}

.p-journal__figure{
	margin-bottom: 3rem;
}

.p-journal__info{
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--color-green);
	margin-bottom: 2rem;
}

.p-journal__category{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 22px;
	height: 40px;
	border-radius: 20px;
	border: 2px solid var(--color-green);
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}

.p-journal__day{
	font-weight: 500;
	font-family: var(--font-eg-style);
}

.p-journal__title{
	font-size: clamp(18px, 1.5vw, 20px);
	color: var(--color-green);
	font-weight: 500;
	margin-bottom: 2rem;
}

.p-journal__article:hover .p-journal__title{
	color: var(--color-green5);
	text-decoration: underline;
}
.p-journal__article:hover .p-journal__abr{
	color: var(--color-green5);
}

.p-pager{
	margin-top: 8rem;
}
@media screen and (max-width: 800px){
	.p-pager{
		margin-top: 5rem;
	}
}

.p-pager .wp-pagenavi{
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-eg-style);
	font-size: 1.8rem;
}
@media screen and (max-width: 800px){
	.p-pager .wp-pagenavi{
		justify-content: space-between;
		font-size: 1.6rem;
	}
}

.p-pager .wp-pagenavi .pages{
	display: none;
}

.p-pager .wp-pagenavi .page,
.p-pager .wp-pagenavi .current,
.p-pager .wp-pagenavi .nextpostslink,
.p-pager .wp-pagenavi .previouspostslink{
	margin-right: 1.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 2.8;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
	border: none;
}
@media screen and (max-width: 800px){
	.p-pager .wp-pagenavi .page,
	.p-pager .wp-pagenavi .current,
	.p-pager .wp-pagenavi .nextpostslink,
	.p-pager .wp-pagenavi .previouspostslink{
		width: 40px;
		height: 40px;
	}
}

.p-pager .wp-pagenavi .current{
	color: var(--color-white);
	background: var(--color-green);
}

.p-pager .wp-pagenavi .page,
.p-pager .wp-pagenavi .nextpostslink,
.p-pager .wp-pagenavi .previouspostslink{
	border: 1px solid var(--color-green);
	color: var(--color-green);
}

.p-pager .wp-pagenavi .page:hover,
.p-pager .wp-pagenavi .nextpostslink:hover,
.p-pager .wp-pagenavi .previouspostslink:hover{
	color: var(--color-white);
	background: var(--color-green);
}
/*------------------------------------------------------------

l-footer

------------------------------------------------------------*/
.l-footer{
	width: var(--design-size);
	margin-top: 20.5rem;
}
@media screen and (max-width: 800px){
	.l-footer{
		margin-top: 8rem;
	}
}

.l-footer__contact{
	position: relative;
	width: var(--design-size);
	height: 55.5vh;
	max-height: 450px;
	margin-bottom: 10.5rem;
	background-image: url("../../img/footer-contact.jpg");
	background-position: 55% 20%;
}
@media screen and (max-width: 800px){
	.l-footer__contact{
		height: 100%;
		max-height: 100%;
		background-position: 45% 100%;
		background-image: url("../../img/footer-contact-sp.jpg");
	}
}

.l-footer__contact::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(68,68,68,0.5);
}

.l-footer__contact-area{
	width: 100%;
	height: auto;
	color: var(--color-white);
	position: absolute;
	top: 0;
	padding: 5rem 0;
	text-align: center;
}
@media screen and (max-width: 800px){
	.l-footer__contact-area{
		width: var(--design-size-percent);
		margin: 0 auto;
		position: sticky;
	}
}

.l-footer__contact-area .c-section-title-jp{
	color: var(--color-white);
	text-align: center;
}

.l-footer__telephone{
	display: flex;
	align-items: baseline;
	justify-content: center;
	font-size: 3.2rem;
	letter-spacing: 0.2rem;
	font-family: var(--font-eg-style);
}

.l-footer__telephone span:first-of-type{
	font-size: 2rem;
	margin-right: 0.5rem;
}

.l-footer__contact-area .c-txt-xlarge{
	margin-bottom: 0;
}

.l-footer__contact-area small{
	font-size: 1.4rem;
}

.l-footer__contact-area .c-button{
	margin-left: auto;
	margin-right: auto;
}

.l-footer__contact-area .c-button a {
	background: var(--color-white);
	color: var(--color-green);
}
.l-footer__contact-area .c-button a::before {
	background: var(--color-green);
}

.l-footer__nav{
	margin: 12rem auto;
	max-width: var(--design-size-pc);
	width: var( --design-size-percent);
	height: 100%;
	display: flex;
}
@media screen and (max-width: 1000px){
	.l-footer__nav{
		margin: 8rem auto 3rem;;
		display: block;
	}
}

.l-footer__nav-info{ 
	width: 26.119vw;
	max-width: 350px;
	margin-right: 3rem;
}
@media screen and (max-width: 1024px){
	.l-footer__nav-info{ 
		width: var(--design-size);
		max-width: var(--design-size);
		margin-right: 0;
		margin-bottom: 3rem;
		text-align: center;
	}
	.l-footer__nav-info .c-txt-xlarge{ 
		text-align: center!important;
	}
}
@media screen and (max-width: 540px){
	.l-footer__nav-info .c-txt-xlarge{
		text-align: left!important;
	}
}

.l-footer__nav-info .l-footer_add span{
	display: block;
}

.l-footer__logo{
	margin-bottom: 2rem;
}
@media screen and (max-width: 1024px){
	.l-footer__logo{
		margin-bottom: 2rem;
	}
	.l-footer__logo img{
		width: 45.5vw;
		margin: 0 auto;
		display: block;
	}
}
@media screen and (max-width: 540px){
	.l-footer__logo img{
		width: 65.5vw;
		margin: 0 auto;
		display: block;
	}
}

.l-footer__nav-list{
	width: 71.641vw;
	max-width: 1060px;
	display: flex;
	padding-left: 4rem;
}
@media screen and (max-width: 1024px){
	.l-footer__nav-list{ 
		width: 100%;
		max-width: 100%;
		padding-left: 0;
	}
}
@media screen and (max-width: 800px){
	.l-footer__nav-list{ 
		display: block;
		font-size: clamp(13px, 1.5vw, 14px);
		font-weight: 500;
		margin-bottom: 3rem;
	}
}

.l-footer__sitemap{
	width: 25.373vw;
	max-width: 340px;
	margin-right: 2rem;
}
@media screen and (max-width: 1024px){
	.l-footer__sitemap{ 
		width: 32%;
	}
}
@media screen and (max-width: 800px){
	.l-footer__sitemap{ 
		width: 100%;
		max-width: 100%;
		margin-right: 0;
	}
}

.l-footer__sitemap li{
	margin-bottom: 0.7rem;
}
@media screen and (max-width: 800px){
	.l-footer__sitemap li{
		border-bottom: 1px solid var(--color-black);
		padding: 1rem 0.5rem;
		margin-bottom: 0;
	}
}

.l-footer__sitemap a{
	display: flex;
	align-items: center;
	position: relative;
	padding-left: 1.2rem;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
.l-footer__sitemap a:hover{
	color: var(--color-green);
	transform: translateX(5px);
}
@media screen and (max-width: 800px){
	.l-footer__sitemap a:hover{
		transform: translateX(0);
	}
}

.l-footer__sitemap a::before{
	content: "";
	position: absolute;
	left: 0;
	width: 0.7rem;
	height: 0.7rem;
	border-top: 1px solid var(--color-black);
	border-right: 1px solid var(--color-black);
	transform: rotate(45deg);
	margin-right: 1.2rem;
}
.l-footer__sitemap a:hover::before{
	border-top: 1px solid var(--color-green);
	border-right: 1px solid var(--color-green);
}

.l-footer__sitemap-toggle{
	width: 25.373vw;
	max-width: 340px;
	margin-right: 2rem;
}
@media screen and (max-width: 800px){
	.l-footer__sitemap-toggle{ 
		width: 100%;
		max-width: 100%;
		margin-right: 0;
	}
}

.l-footer__sitemap-toggle li{
	padding: 1rem 0.5rem;
}

.l-footer__sitemap-parent {
	position: relative;	
}
@media screen and (max-width: 800px){
	.l-footer__sitemap-parent {
		display: grid;
		align-items: center;
		border-bottom: 1px solid var(--color-black);
		padding: 0.4rem 0.5rem;
	}
}

.l-footer__sitemap-parent a{
	display: flex;
	flex: 1;
	align-items: center;
	position: relative;
	padding-left: 1.2rem;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
.l-footer__sitemap-parent a:hover{
	color: var(--color-green);
	transform: translateX(5px);
}
@media screen and (max-width: 800px){
	.l-footer__sitemap-parent a:hover{
		transform: translateX(0);
	}
}
.l-footer__sitemap-parent a::before{
	content: "";
	position: absolute;
	left: 0;
	width: 0.7rem;
	height: 0.7rem;
	border-top: 1px solid var(--color-black);
	border-right: 1px solid var(--color-black);
	transform: rotate(45deg);
	margin-right: 1.2rem;
}
.l-footer__sitemap-parent a:hover::before{
	border-top: 1px solid var(--color-green);
	border-right: 1px solid var(--color-green);
}

@media screen and (max-width: 800px){
	.l-footer__sitemap-parent-icon{ 
		cursor: pointer;
		position: relative;
		transition: all .5s ease;
		-webkit-transition: all .5s ease;
		display: inline-block;
	}
}

.l-footer__sitemap-parent-icon::before,
.l-footer__sitemap-parent-icon::after{
	display: none;
}

@media screen and (max-width: 800px){
	.l-footer__sitemap-parent-icon::before,
	.l-footer__sitemap-parent-icon::after{
		display: block;
		content: "";
		position: absolute;
		right: 5px;
		top: -10px;
		width: 1.5rem;
		height: 2px;
		background: var(--color-black);
	}
}

.l-footer__sitemap-parent-icon::after{
	transform: rotate(90deg);
}
@media screen and (max-width: 800px){
	.l-footer__sitemap-parent-icon.close::before{
		transform: rotate(45deg);
	}
	.l-footer__sitemap-parent-icon.close::after{
		transform: rotate(-45deg);
	}
}

.l-footer__sitemap-children{ 
	padding-left: 1.5rem;
}
@media screen and (max-width: 800px){
	.l-footer__sitemap-children{ 
		padding-left: 1.5rem;
		display: none;
		font-size: 12.5px;
		padding-top: 0.5rem;
	}
}

.l-footer__sitemap-children a{
	padding-left: 1.5rem;
}
.l-footer__sitemap-children a::before{
	display: none;
}

.l-footer__sitemap-children li{
	position: relative;
	display: flex;
	align-items: center;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
@media screen and (max-width: 800px){
	.l-footer__sitemap-children li{
		padding: 0!important;
		padding-top: 0.3rem!important;
		padding-bottom: 0.3rem!important;
	}
}

.l-footer__sitemap-children li::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 12px;
	height: 0.1rem;
	background: var(--color-black);
}
@media screen and (max-width: 800px){
	.l-footer__sitemap-children li::before{
		width: 9px;
	}
}

.l-footer__sitemap-children li:hover{
	color: var(--color-green);
	transform: translateX(5px);
}
.l-footer__sitemap-children li:hover::before{
	background: var(--color-green);
}





/*------------------------------------------------------------

fadein

------------------------------------------------------------*/
.is-fadein-step {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1s,visibility 1s, transform 1s;
	-webkit-transition: opacity 1s,visibility 1s, transform 1s;
}
.is-fadein-step.load{
    opacity: 1 !important;
	visibility: visible;
    transform: translateY(0) !important;
  }

.is-fadein {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1s,visibility 1s, transform 1s;
	-webkit-transition: opacity 1s,visibility 1s, transform 1s;
}

.is-fadein-bottom{
	transform: translateY(50px);
  }

.is-scrollin{
    opacity: 1 !important;
	visibility: visible;
    transform: translateY(0) !important;
  }

.is-fadeup{
	opacity : 0;
	transition : all 1s;
}
.is-fadeup.active{
  opacity : 1;
}