/*-------------------- css --------------------*/
html, body{
    margin:0;
    padding:0;
    height:100%;
}

.mv_area{
    display: flex;
    justify-content: center;
    align-items: center;
    height:100%;

    img{
        width:150px;
    }
}

/*-----------------------------------------------*/
/*-------------------- color --------------------*/
/*-----------------------------------------------*/
:root {
    --primary-color: #3498db;
    --secondary-color: #2ecc71; 
    --text-color: #000000;
    --text-blue: #000B46;
    --hp-bg-color: #D2A260;
    --white-color: #ffffff;
    --gray-border: #B3B3B3;

	--black: #000000;
	--gray: #B3B3B3;
	--l_gray: #F4F4F4;
	--d_gray: #8b8b8b;
	--dd_gray: #575757;
	--pink: #ed62fa;
	--white: #ffffff;
	--green: #86B612;
	--bg_green: #E5F4C0;
	--brown: #573001;
	--orange: #ffaa19;
	--red: #ff5555;
  }

/*----------------------------------------------*/
/*-------------------- font --------------------*/
/*----------------------------------------------*/


/*------------------------------------------------*/
/*-------------------- common --------------------*/
/*------------------------------------------------*/
html, body{
	width:100%;
	height:100%;
	margin:0;
	padding:0;
/* 	font-family: "Zen Maru Gothic"; */
	font-family: "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color:var(--black);
	letter-spacing:0.5px;
	box-sizing:border-box;
}
h1, h2, h3, h4, h5, h6, p{
	margin:0;
}
a{
	color:var(--black);
	text-decoration:none;

	&:hover{
		text-decoration:none;
	}
}
img{
	max-width:100%;
	vertical-align:bottom;
}
ul, ol{
	margin:0;
	padding:0;
	
	li{
		list-style:none
	}
}
dl{
	margin:0;

	dd{
		margin:0;
	}
}

.mb{
	display:none;
}
/*---------- disabled ----------*/
input:disabled, textarea:disabled, select:disabled{
	background-color:var(--gray);
}

/*---------- placeholder ----------*/
::placeholder{
	color:var(--d_gray);
}

/*---------- scrollbar ----------*/
::-webkit-scrollbar{
	width:10px;
	height:10px;
}
::-webkit-scrollbar-track{
	background:var(--gray);
}
::-webkit-scrollbar-thumb{
	background:var(--dd_gray);
	box-shadow:inset 0 0 0 1px var(--gray);
}

/*---------- error ----------*/
.error{
	background-color:var(--pink) !important;
}

/*---------- loading ----------*/
.loading{
	display:none;

	&.active{
		display:block;
		position:fixed;
		width:100%;
		height:100%;
		top:0;
		left:0;
		background:rgba(0, 0, 0, 0.5);
		z-index:8000;
		
		span{
			position:absolute;
			top:50%;
			transform:translateY(-50%);
			width:100%;
			text-align:center;
	
			i{
				font-size:50px;
				color:var(--white);
			}
		}
	}
}
/*---------- loading時の注意事項 ----------*/
.loading_alert{
	display:none;
	position:fixed;
	top:40px;
	width:100%;
	padding:0 10px;
	box-sizing:border-box;
	z-index:9000;
	
	p{
		display:flex;
		justify-content:center;
		align-items:center;
		max-width:700px;
		margin:0 auto;
		padding:20px;
		font-size:16px;
		font-weight:bold;
		line-height:1.6;
		background-color:var(--white);
		border-radius:5px;
		box-shadow:3px 3px 6px rgba(0, 0, 0, 0.7);
	}
}
/*---------- テキストのハイライト ----------*/
.highlight{
	background:linear-gradient(to left, rgb(251, 195, 195) 100%, transparent 0%);
	background-position:0 100%;
	background-repeat:no-repeat;
	background-size:0% 8px;
	transition:1s;

	&.active{
		background-size:100% 8px;
	}
}

/*---------- responsive ----------*/
@media(max-width:768px){
	.pc{
		display:none !important;
	}
}
@media(min-width:769px){
	.mobile{
		display:none !important;
	}	
}

/*-------------------- header --------------------*/
.header_container{
	padding: 20px 30px;
	color: var(--green);
	position: relative;
	z-index: 300;

	.logo{
		margin-bottom: 10px;
		a{
			font-size: 26px;
			font-weight: 700;
			font-style: normal;
			color: var(--green);
		}
	}
	.menu_box{

		.main_nav{

			ul{
				display: flex;
				gap: 30px;
				justify-content: flex-end;
				align-items: center;

				li{

					a{
						color: var(--green);
						font-size: 20px;
						position: relative;
					}
					a::before {
						content: "";
                        position: absolute;
                        left: -16px;
                        top: 50%;
                        width: 2px;
                        height: 70%;
                        background: var(--green);
                        transform: translateY(-50%) skew(-45deg);
					}
				}
				li:first-child{
					
					a::before {
						content: none;
					}
				}
			}
		}
	}
	.menu_icon {
        width: 30px;
        height: 22px;
        display: none;
        flex-direction: column;
        justify-content: space-between;
        cursor: pointer;
        position: absolute;
        top: 50%;
        right: 31px;
        transform: translateY(-50%);
	}
      
	.menu_icon span {
        height: 3px;
        background: var(--green);
        border-radius: 2px;
        display: block;
        transition: 0.3s;
	}
      
	.menu_icon.active span:nth-child(1) {
        transform: rotate(45deg) translate(13px, -1px);
	}
	.menu_icon.active span:nth-child(2) {
        opacity: 0;
	}
	.menu_icon.active span:nth-child(3) {
        transform: rotate(-45deg) translate(13px, -1px);
	}
}
/* overlay */
.overlay {
	position: fixed;
	top: 0;
	left: 0;
	right:0;
	bottom:0;
	background: rgba(0,0,0,0.5);
	display: none;
	z-index: 200;
}

/*-------------------- footer --------------------*/
.footer_container{
	background-color: var(--green);
	color: var(--white);
	padding: 50px 50px 0;
	/* font-family: 'Noto Sans JP', sans-serif; */
	font-size: 20px;

	.footer_contents{
		max-width: 1100px;
		margin: 0 auto;
		display: flex;
		padding-bottom: 50px;
		justify-content: space-between;

		.logo{
			a{
				/* font-family: 'Inter', sans-serif; */
				font-size: 36px;
				font-weight: 700;
				font-style: normal;
			}
			.small_text_logo{
				font-size: 30px;
			}
		}
		.footer_link{
			display: flex;

			.footer_content{
				padding: 0 40px;
				border-right: 2px solid var(--white);
	
				ul{

					li{
						margin-bottom: 20px;
					}
				}
			}
			.footer_content:last-child{
				border-right: none;
			}
		}
	}
	a{
		color: var(--white);
	}
	.copy_right_text{
		max-width: 1100px;
		margin: 0 auto;
		padding: 10px 0 10px;
        border-top: 2px solid var(--white);
		text-align: center;
	}
}

/*---------- css ----------*/
/*共通見出し*/
.caption{
	h2 {
		font-size: 32px;
		color: var(--green);
		display: flex;
		justify-content: center;
		align-items: center;
		word-break: auto-phrase;
		white-space: nowrap;
		margin-bottom: 50px;
	}
	h2::before, h2::after {
		content: '';
		background: var(--green);
		height: 1px;
		width: 45%;
	}
	h2::before {
		margin-right: 30px;
	}
	h2::after {
		margin-left: 30px;
	}
}

.sub_visual{
	position:relative;
	height:300px;
	
	.title{
		position:absolute;
		bottom: 0;
        left: 20px;
        min-width: 300px;
/*         padding: 39px 0 20px; */
		padding: 39px 10px 20px;
		background-image:url('/wp-content/themes/daikoku/images/company/mv_title.webp');
		background-position:center;
		background-repeat:no-repeat;
		background-size:cover;
		box-sizing:border-box;
		
		h1{
			font-size:36px;
			line-height:1;
			text-align:center;
			color:#ffffff;
		}
	}
	img{
		width:100%;
		height:100%;
		object-fit:cover;
	}
	.fix_position{
		max-width: 1100px;
		position: relative;
		margin: 0 auto;
		padding: 0 20px;
	}
}
.sub_container{
	padding:55px 0 90px;
}
.sub_wrap{
	max-width:1100px;
	margin:0 auto;
	padding:0 20px;
}

/*---------- 会社概要 ----------*/
.company_contents{
	margin-bottom:100px;
	table{
		width:100%;
		border-collapse:collapse;
		
		th{
			width:25%;
			padding:20px 40px;
			font-size:25px;
			background-color:#E5F4C0;
			border:1px solid #86B612;
		}
		td{
			padding:20px 40px;
			font-size:25px;
			border:1px solid #86B612;
			
			img{
				width:100%;
				max-width:300px;
			}
		}
	}
	p{
		position:relative;
		margin-top:20px;
		padding-left:30px;
		font-size:25px;
		
		&:before{
			content:'◆';
			position:absolute;
			left:0;
			margin-right:5px;
			color:#86B612;
		}
	}
}

/*-------------------- home --------------------*/
.home_container{
    .top_container{
        position: relative;

        .top_contents{
            width: 100%;
            position: relative;
			height:300px;
			
			.fix_position{
				position:relative;
				max-width:1100px;
				height:100%;
				margin:0 auto;
				padding:0 20px;
				
				.site_kv_contents{
					position: absolute;
                    top: 50%;
                    left: 50%;
					transform: translate(-50%, -50%);
					width:100%;
					box-sizing: border-box;
					z-index: 20;
					
					h1{
						font-size: 36px;
						line-height: 1.4em;
						text-align: center;
						color: var(--white);
						text-shadow:3px 3px 5px #2d2d2d;
					}
				}
			}
        }
    }
    .top_container::before{
        content: "";
        background-image: url("/wp-content/themes/daikoku/images/kv_img.webp");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center 25%;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        z-index: 10;
    }

    .policy_container{
        /* font-family: "Zen Maru Gothic"; */
        font-size: 25px;
		font-weight: 500;
        color: var(--brown);
		padding: 0 20px;

        .policy_contents{
            max-width: 1100px;
            margin: 0 auto;
            padding-top: 80px;

            .text_img_style{
                display: flex;
                justify-content: space-between;
                margin-bottom: 60px;

                .text_box{
                    width: 50%;
					display: flex;
					flex-direction: column;
					justify-content: center;
					

                    .title{
                        margin-bottom: 30px;
                    }
                    .detail{
                        /* height: 160px; */
                        margin-bottom: 40px;
                    }
                    .link_button{
                        text-align: center;
                    }
                }
                .img_box{
                    width: 50%;
                    text-align: center;

                    img{
                        max-width: 405px;
						/* border-radius: 30px;
                        box-shadow: -5px -5px 3px 0px var(--gray); */
                    }
                }
            }
            h2{
                font-size: 32px;
                color: var(--green);
            }
			h2::after,
			h2::before {
				content: none;
			}
            a{
                color: var(--white);
                background-color: var(--green);
                padding: 15px 50px;
                display: inline-block;
                font-size: 20px;
            }
        }
    }

	.room_info_container{
		/* font-family: "Noto Sans JP"; */
		font-size: 25px;
		margin-top: 100px;
		padding: 0 20px;

		.room_info_contents{
			max-width: 1100px;
            margin: 0 auto;

			.container_title{
				text-align: center;
				margin-bottom: 100px;
			}
			.img_flex_style{
				max-width: 950px;
				margin: 0 auto;
				margin-bottom: 100px;
				align-items: stretch;

				.img_box{
					display: grid;
                    grid-template-columns: repeat(2, 2fr);
					position: relative;
					gap: 10px;
					
					.img{

						img{
							height: 100%;
							width: 100%;
						}
					}
					.note{
						position: absolute;
						display: flex;
						width: 128px;
						height: 128px;
						background: var(--green);
						color: var(--white);
						top: -66px;
						left: 0;
						transform: translate(-50%);
						font-size: 32px;
						border-radius: 50%;
						align-items: center;
                        justify-content: center;
					}
				}
				.info_box{
					margin-top: 30px;

					.info_content{
						display: flex;
						line-height: 60px;

						.content_title{
							display: inline-block;
							width: 280px;
							font-weight: 500;
						}
						.content_detail{
							
						}
					}
					.same_style{

						.table_change_style{
							margin-bottom: 20px;
						}
					}
				}
				.info_link{
					text-align: center;
					margin-top: 20px;
					a{
						color: var(--white);
						background-color: var(--green);
						padding: 15px 50px;
                        display: inline-block;
                        font-size: 20px;
					}
				}
			}
		}
	}
	/* .h2_style{
		position: relative;
		text-align: center;

		h2{
			font-size: 32px;
			color: var(--green);
			display: inline-block;
			width: 260px;
			position: relative;
			background-color: var(--white);
			z-index: 20;
		}
	}
	.h2_style::before{
		content: "";
		height: 5px;
		width: 850px;
		background: var(--green);
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%);
		z-index: 10;
	} */
	h2{
		font-size: 32px;
		color: var(--green);
		display:flex;
		justify-content:center;
		align-items:center;
		word-break: auto-phrase;
		white-space: nowrap;
	}
	
	h2::before,h2::after {
		content:'';
		background: var(--green);
		height:1px;
		width:45%;
	}
	
	h2::before {
		margin-right:30px;
	}
	h2::after {
		margin-left:30px;
	}
	.cop_info_container{
		/* font-family: "Noto Sans JP"; */
		font-size: 25px;
		margin: 100px 0;
		padding: 0 20px;

		.cop_info_contents{
			max-width: 1100px;
			margin: 0 auto;

			.container_title{
				margin-bottom: 50px;
			}
			.cop_info_style{
				display: flex;
				gap: 50px;
	
	
				.img_box{
					max-width: 500px;
				}
				.cop_info_box{
					width: 676px;
	
					.cop_info_content{
						display: flex;
						padding-bottom: 30px;
						margin-bottom: 30px;
						border-bottom: 3px solid var(--gray);
	
						.content_title{
							display: inline-block;
							width: 180px;
						}
						.content_detail{
	
							img{
								max-width: 350px;
							}
						}
					}
				}
			}

		}
	}
	.news_container{
		color: var(--dd_gray);
		margin-bottom: 100px;
		padding: 0 20px;

		.news_contents{
			max-width: 1100px;
            margin: 0 auto;

			.container_title{
				margin-bottom: 50px;

			}
			.content_detail{
				display: grid;
  				grid-template-columns: repeat(3, 1fr);
				gap: 20px;
				font-size: 20px;

				.news_content{
					max-width: 350px;
					background: var(--l_gray);
					border-radius: 5px;
					overflow: hidden;
					
					a{
/* 						font-size: 20px;
						color: var(--green);
						text-decoration: underline; */
					}
					
					a:hover{
						opacity:0.7;
					}

					.news_img{
						height: 300px;
                        overflow: hidden;
						text-align: center;
						background: var(--white);

						img{
							height: 100%;
							object-fit: cover;
    						display: inline-block;
						}
					}
					.news_detail{
						padding:10px;
						height: 140px;
						display: flex;
						flex-direction: column;
						justify-content: space-between;
						box-sizing: border-box;

						.detail_title{
							
						}
						.view_more_link{
							display: flex;
/*                             justify-content: space-between; */
							justify-content:flex-end;
                            flex-wrap: wrap;

							time {
                                color: var(--d_gray);
                            }
						}
					}
				}
			}
			.link_button{
				text-align: center;
				margin-top: 20px;

				a{
					color: var(--white);
					background-color: var(--green);
					padding: 15px 50px;
					display: inline-block;
					font-size: 20px;
				}
			}
		}
	}
	.contact_container{
		/* font-family: "Noto Sans JP"; */
		font-size: 20px;
		color: var(--white);
		padding: 0 20px;

		.contact_contents{
			max-width: 1100px;
			margin: 0 auto;
			background: var(--green);
			border-radius: 20px;
			margin-bottom: 50px;

			.contact_note{
				text-align: center;
				padding: 20px 0;
				border-bottom: 5px solid var(--white);
			}
			.contact_content{
				display: flex;
				padding: 30px;
				align-items: center;

				.mail_button{
					width: 40%;
					text-align: center;
					padding-right: 30px;
                    box-sizing: border-box;
					
					a{
						display: inline-block;
						align-items: center;
						padding: 12px;
						background: var(--white);
						border-radius: 35px;


						img{
							width: 30px;
							height: 30px;
						}
					}
				}
				.mobile_contact{
					width: 60%;

					input{
						font-size: 20px;
						padding: 20px;
						width: 100%;
						box-sizing: border-box;
						border: none;
						border-radius: 20px;
					}
				}
			}
		}
	}
}

/*-------------------- offic info --------------------*/
.offic_info{

	.offic_info_button{
		max-width: 1100px;
		margin: 0 auto;
		padding: 0 20px;

		.button_content{
			display: grid;
            grid-template-columns: repeat(4, 1fr);
			margin-top: 55px;
			justify-content: center;

			a{
				font-size: 25px;
				display: inline-block;
				padding: 10px;
				color: var(--green);
				text-align: center;
			}
			a.offic_info_active{
				color: var(--white);
				background-color: var(--green);
			}
		}

	}
	.offic_info_detail{
		max-width: 1100px;
		margin: 0 auto;
		margin-bottom: 80px;
		padding: 0 20px;

		.img_guid{
			margin-top: 50px;
			font-size: 25px;
			color: var(--orange);
            text-align: center;
		}
		.offic_info_detail_top{
			margin: 20px 0 80px;

			.take_file_button{
				display: flex;
                flex-direction: column;
                align-items: center;
                gap: 30px;

				a{
					font-size: 25px;
					display: inline-block;
					padding: 10px 25px;
					color: var(--white);
					background: var(--green);
					border-radius: 20px;
				}
			}
		}
		.offic_info_detail_rent{
			font-size: 25px;

			.table_style{
				margin-bottom: 50px;
			}
			.info_detail_text{
				line-height: 50px;
			}
			.rent_content{
				margin-bottom: 80px;
			}
		}
		.offic_info_detail_access{
			font-size: 25px;

			.info_detail_text{
				line-height: 50px;
				margin-bottom: 30px;
			}
		}
		.img_flex_style{
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			margin-bottom: 30px;
			gap: 10px;

			.img_content{
				padding: 10px;
				background-color: var(--bg_green);
				border: 1px solid var(--green);
				display: flex;
				align-items: center;
				cursor: pointer;

				img{

				}
			}
		}
		.toggle_img_button{
			margin-bottom: 50px;

			.img_flex_style{
				width: 100%;
				display: grid;
				grid-template-columns: repeat(4, 1fr);
				gap: 10px;
	
				.img_content{
					width: unset;
				}
			}
		}
	}
	h2{
		font-size: 32px;
		color: var(--green);
		display:flex;
		justify-content:center;
		align-items:center;
		word-break: auto-phrase;
		white-space: nowrap;
		margin-bottom: 50px;
	}
	
	h2::before,h2::after {
		content:'';
		background: var(--green);
		height:1px;
		width:45%;
	}
	
	h2::before {
		margin-right:30px;
	}
	h2::after {
		margin-left:30px;
	}
	h3{
		font-size: 25px;
		color: var(--green);
		display:flex;
		justify-content: flex-start;
		align-items:center;
		word-break: auto-phrase;
		white-space: nowrap;
		margin-bottom: 30px;
	}
	
	h3::after {
		content:'';
		background: var(--green);
		height:1px;
		width: 200px;
	}
	h3::after {
		margin-left:30px;
	}
	.offic_info_detail_select {
		display: none;
	}
	  
	.offic_info_detail_select.offic_info_active {
		display: block;
	}
}

/* -------------------- 同じスタイル -------------------------- */
.same_style{
	.contact_container{
		max-width: 1100px;
		margin: 0 auto;
		font-size: 25px;
		color: var(--green);
		margin-bottom: 100px;
	
		.contact_note{
			margin-bottom: 50px;
			p{
				text-align: center;
			}
		}
		.contact_link{
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 8%;
	
			a{
				font-size: 25px;
				background: var(--green);
				color: var(--white);
				padding: 20px 30px;
				border-radius: 60px;
				display: flex;
				align-items: center;
				gap: 10px;
	
				img{
					width: 50px;
				}
			}
		}
	}
	.site_kv_container{
		position: relative;
		height: 300px;

		.site_kv_contents{
			position: absolute;
			bottom: 0;
            left: 20px;
			min-width: 300px;
            width: auto;
			background-image: url("/wp-content/themes/daikoku/images/offic_info_h1_bg_img.webp");
			background-position: top center;
			background-repeat: no-repeat;
			background-size: cover;
			box-sizing: border-box;
			z-index: 20;
			display: flex;
			justify-content: center;
			padding: 39px 20px 20px;

			h1{
				font-size: 36px;
				line-height: 1;
				text-align: center;
				color: var(--white);
			}
		}
		.fix_position{
			position: relative;
			max-width: 1100px;
			height: 100%;
			margin: 0 auto;
			padding: 0 20px;
		}
	}
	.site_kv_container::before{
        content: "";
        background-image: url("/wp-content/themes/daikoku/images/offic_info_kv_img.webp");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        width: 100%;
		height: 100%;
        position: absolute;
        top: 0;
		left: 0;
        z-index: 10;
    }
	.map{

		a{
			display: flex;
            width: 100%;
            height: 300px;
            overflow: hidden;
            align-items: center;

			img{
				width: 100%;
                height: 100%;
                object-fit: cover;
                display: block;
			}
		}
	}
	.table_style{
		font-size: 25px;
		margin-bottom: 50px;

		table, th, td {
			border: 1px solid var(--green);
		}

		table{
			border-collapse: collapse;
			width: 100%;

			tbody{

				tr{

					td{
						padding: 20px 40px;
					}
					.table_title{
						background-color: var(--bg_green);
						vertical-align: top;
						width: 25%;
					}
				}
			}
		}
	}
	.table_change_style{
		margin-bottom: 50px;
		font-size: 25px;

		dl{
			width: 100%;
			border-collapse: collapse;
			display: grid;
			grid-template-columns: 25% 1fr;
			border: 1px solid var(--green);
			border-bottom: none;

			dt{
				background-color: var(--bg_green);
				padding: 20px 30px;
				border-right: 1px solid var(--green);
			}
			dd{
				padding: 20px 30px;
			}
		}
		dl:last-child{
			border-bottom: 1px solid var(--green);
		}
	}
	.lightbox {
		display: none;
		position: fixed;
		z-index: 9999;
		left: 0; top: 0;
		width: 100%; height: 100%;
		background: rgba(0,0,0,0.8);
		justify-content: center;
		align-items: center;
	}
	.lightbox img {
		max-width: 90%;
		max-height: 90%;
	}
	.lightbox-close {
		position: absolute;
        bottom: 50px;
        left: 50%;
        font-size: 32px;
        color: white;
        cursor: pointer;
        font-weight: bold;
        transform: translateX(-50%);
        background: var(--green);
        border-radius: 100%;
        width: 50px;
        height: 50px;
        display: flex;
        justify-content: center;
	}
}
body.noscroll {
	overflow: hidden;
}

/*-------------------- 会社案内--------------------*/
.comp_detail_contents{
	max-width: 1100px;
    margin: 0 auto;
	padding:20px 20px 0;
}
.comp_section{
	grid-template-columns: repeat(3, 1fr) !important;
	margin:55px 0 50px !important;
	padding:20px 0 !important;
}
.philosophy_content{
	margin-bottom: 50px;
	
	h3, p{
		text-align:left;
	}

	h3{
		font-size:30px;
		color: var(--black);
		word-break: auto-phrase;
		white-space: nowrap;
		margin-bottom:20px;
	}
	
	p{
		font-size:25px;
	}
}

/*-------------------- availability--------------------*/
.availability{
	margin-bottom: 90px;

	.availability_contents{
		max-width: 1100px;
		margin: 0 auto;
		margin-top: 55px;
		padding: 0 20px;
		font-size: 25px;

		.availability_note{
			margin-bottom: 50px;
		}
		.availability_content{
			margin-bottom: 50px;
	
			h2{
				font-size: 32px;
				color: var(--green);
				display:flex;
				justify-content:center;
				align-items:center;
				word-break: auto-phrase;
				white-space: nowrap;
				margin-bottom: 50px;
			}
			
			h2::before,h2::after {
				content:'';
				background: var(--green);
				height:1px;
				width:45%;
			}
			
			h2::before {
				margin-right:30px;
			}
			h2::after {
				margin-left:30px;
			}
			.content_detail{
				.detail_note{
					margin-bottom: 30px;
					p{

					}
				}
				.schedule{
					overflow-x: auto;

					table{
						border-collapse: collapse;
						width: 100%;

						tr{

							th{
								background-color: var(--bg_green);
								vertical-align: top;
								padding: 20px;
							}
							td{
								padding: 20px;
							}
						}
					}
					table, th, td{
						border: 1px solid var(--green);
						text-align: center;
						white-space: nowrap;
					}
				}
			}
		}
	}
}

/*-------------------- recruit--------------------*/
.recruit{
	margin-bottom: 90px;

	.recruit_contents{
		max-width: 1100px;
		margin: 0 auto;
		margin-top: 55px;
		padding: 0 20px;
		font-size: 25px;

		.recruit_note{
			margin-bottom: 50px;
		}
		.recruit_content{
			margin-bottom: 50px;
	
			h2{
				font-size: 32px;
				color: var(--green);
				display:flex;
				justify-content:center;
				align-items:center;
				word-break: auto-phrase;
				white-space: nowrap;
				margin-bottom: 50px;
			}
			
			h2::before,h2::after {
				content:'';
				background: var(--green);
				height:1px;
				width:45%;
			}
			
			h2::before {
				margin-right:30px;
			}
			h2::after {
				margin-left:30px;
			}
			h3 {
				position: relative;
				padding-left: 30px;
				font-size: 25px;
				font-weight: normal;
				margin: 30px 0 20px;
			  }
			  
			  h3::before {
				content: "";
				position: absolute;
				left: 0;
				top: 50%;
				width: 15px;
				height: 15px;
				background: var(--green);
				transform: translateY(-50%) rotate(45deg);
			  }
			.content_detail{
				.detail_note{
					margin: 30px 0;
					p{

					}
				}
			}
		}
	}
	.same_style {
		& .contact_container {
			& .contact_note {
				p {
					text-align: center;

					span{
						font-size: 32px;
					}
				}
			}
		}
	}
}

/*-------------------- accessmap--------------------*/
.accessmap_contents{
	max-width: 1100px;
	margin: 0 auto 100px;
	margin-top: 55px;
/* 	padding: 0 20px; */
	font-size: 25px;

	.accessmap_content{
		margin-bottom:50px;
		
		h3{
			font-size:28px;
			margin-bottom:10px;
		}
		
		
	}
}

/*-------------------- category--------------------*/
.category{
	margin-bottom: 90px;

	.category_contents{
		max-width: 1100px;
		margin: 0 auto;
		margin-top: 55px;
		padding: 0 20px;
		font-size: 25px;

		.category_content{
			margin-bottom: 50px;
	
			.content_detail{
				display: grid;
  				grid-template-columns: repeat(3, 1fr);
				gap: 20px;
				font-size: 20px;
				margin-bottom: 20px;

				.news_content{
					max-width: 350px;
					background: var(--l_gray);
					border-radius: 5px;
					overflow: hidden;
					
					a{
						font-size: 20px;
					}
					a:hover{
						opacity:0.7;
					}

					.news_img{
						height: 300px;
                        overflow: hidden;
						text-align: center;
						background: var(--white);

						img{
							height: 100%;
							object-fit: cover;
    						display: inline-block;
						}
					}
					.news_detail{
						padding:10px;
						height: 140px;
						display: flex;
						flex-direction: column;
						justify-content: space-between;
						box-sizing: border-box;

						.detail_title{

							h2{
								font-weight: 100;
								font-size: 23px;
							}
						}
						.view_more_link{
							display: flex;
/* 							justify-content: space-between; */
							justify-content:flex-end;
							flex-wrap: wrap;

							
							time{
								color: var(--d_gray);
							}
						}
					}
				}
			}
		}
		.pagination{
			grid-column: 1 / -1;
			text-align: center;
			font-size: 25px;
			padding: 20px 0;

			.page-numbers{
				padding: 10px 20px;
				border: 1px solid var(--green);

			}
			.current{
				color: var(--green);
			}
		}
		.blog_filter{
			margin-bottom:50px;
			a{
				margin-right: 10px;
				padding: 5px 10px;
				border: 1px solid var(--green);
			}
			a.active {
				background: var(--green);
				color: var(--white);
			}
		}
	}
}


/*-------------------- news page--------------------*/
.news_main{
	margin-bottom: 90px;

	.news_wrap{
		max-width: 1100px;
		margin: 0 auto;
		padding: 0 20px;
		margin-bottom: 50px;

		.news_detail_article{
			font-size: 25px;
			margin-top: 55px;

			.news_detail_head{
				h1{
					font-size: 32px;
					color: var(--green);
					display:flex;
					justify-content:center;
					align-items:center;
					margin-bottom: 50px;
				}
			}
		}
		
		.date{
			margin:30px 0;
			color: var(--dd_gray);
			text-align:right;
			font-size:18px;
		}
	}
}

/*-------------------- contact--------------------*/
.contact{
	margin-bottom: 90px;

	.contact_contents{
		max-width: 1100px;
		margin: 0 auto;
		margin-top: 55px;
		padding: 0 20px;
		font-size: 32px;

		.contact_note{
			margin-bottom: 50px;
			color: var(--orange);
			text-align: center;
		}
		.contact_content{
			margin-bottom: 50px;
	
			h2{
				font-size: 32px;
				color: var(--green);
				display:flex;
				justify-content:center;
				align-items:center;
				word-break: auto-phrase;
				white-space: nowrap;
				margin-bottom: 50px;
			}
			
			h2::before,h2::after {
				content:'';
				background: var(--green);
				height:1px;
				width:45%;
			}
			
			h2::before {
				margin-right:30px;
			}
			h2::after {
				margin-left:30px;
			}
			.content_detail{
				.detail_text{
					text-align: center;

					p{
						font-size: 32px;
						margin-bottom: 20px;
					}
					a{
					}
					span{
						font-size: 20px;
					}
					.tel_side_text{
						display: block;
                        margin-top: -5px;
					}
				}
				.contact_form{
					font-size: 25px;

				}
			}
		}
	}
	
}

/*-------------------- contact form --------------------*/
.wpcf7-form p {
	margin-bottom: 20px;
	position: relative;
}
  
.wpcf7-form label {
	display: block;
	margin-bottom: 5px;
	border-bottom: 1px solid var(--gray);
	padding-bottom: 20px;
	display: grid;
    grid-template-columns: 325px 1fr;
	gap: 10px;
}
.wpcf7-form label .title_label{
	text-align: left;

	.note{
		background: var(--red);
        color: var(--white);
        padding: 5px 10px;
        font-size: 18px;
        border-radius: 10px;
        margin-right: 10px;
	}
}
  
.wpcf7-form select {
	padding: 10px;
	border: 1px solid var(--gray);
	border-radius: 6px;
	font-size: 25px;
	transition: border-color 0.3s;
	background-color: transparent;
	cursor: pointer;
	outline: none;
	appearance: none;
	color: #000
}
.wpcf7-form input,
.wpcf7-form textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid var(--gray);
	border-radius: 6px;
	font-size: 25px;
	transition: border-color 0.3s;
	box-sizing: border-box;
}
.wpcf7-form textarea {
	resize: vertical; 
}
  
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	border-color: #0073aa;
	outline: none;
}
  
.wpcf7-form input[type="submit"] {
	background: #0073aa;
	color: #fff;
	font-weight: bold;
	border: none;
	cursor: pointer;
	border-radius: 6px;
	padding: 12px 20px;
	transition: background 0.3s;
	width: 200px;
	display: block;
    margin: 0 auto;
}
  
.wpcf7-form input[type="submit"]:hover {
	background: #005a87;
}
.wpcf7-form .wpcf7-not-valid-tip {
	text-align: start;
}
.wpcf7-spinner {
    position: absolute;
    top: 50%;
    right: 30%;
    transform: translateY(-50%);
}

/*---- よくある質問 ----*/
.faq_area{
	padding: 55px 0 0;
}
.faq_select_section {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    justify-items: center;
    margin-bottom: 50px;
    gap: 10px;
    padding: 20px 0;
	position: sticky;
    top: 0;
    background-color: #fff;
    z-index:90;
/*     border-bottom: 1px solid #ccc; */
	
	a{
		background: var(--green);
		color: var(--white);
		width:100%;
		text-align:center;
		padding: 10px;
		border-radius: 7px;
		box-sizing: border-box;
		font-size:20px;
	}
}
.que_ans_content{
	/* scroll-margin-top: 230px; */
	margin-bottom:100px;
	
	.que_ans_title {
		margin: 0 auto 50px;
/* 		padding-bottom: 20px; */
/* 		border-bottom: 2px solid #ccc; */
		
		h2 {
			font-size: 32px;
			color: var(--green);
			display: flex;
			justify-content: center;
			align-items: center;
			word-break: auto-phrase;
			white-space: nowrap;
			margin-bottom: 50px;
		}
		h2::before, h2::after {
			content: '';
			background: var(--green);
			height: 1px;
			width: 45%;
		}
		h2::before {
			margin-right: 30px;
		}
		h2::after {
			margin-left: 30px;
		}
	}
	
	.que_ans_lists{
		display: grid;
    	grid-gap: 20px;
		
		.que_ans_box{
			position: relative;
			cursor: pointer;
			transition: 0.3s;
			
			.que_box{
				position: relative;
				cursor: pointer;
				transition: 0.3s;
				border: 1px solid #c6c6c6;
				
				> dl {
					display: flex;
					justify-content: flex-start;
					align-items: center;
					grid-gap: 20px;
					margin: 0;
					padding: 10px 40px 10px 20px;
					font-size: 18px;
					background: #f6f6f6;
					
					.blue{
						color: #00539b;
					}
					
					dt{
						font-size: 28px;
						font-weight: bold;
					}
					dd{
						margin:0;
					}
				}
			}
			.que_box:before {
				content: '';
				position: absolute;
				top: calc(45%);
				right: 20px;
				width: 10px;
				height: 10px;
				border-right: 2px solid #777777;
				border-bottom: 2px solid #777777;
				transform: translateY(-50%) rotate(45deg);
			}
			
			.ans_box{
				border: 1px solid #c6c6c6;
				background: #ededed;
				border-top: none;
				
				dl{
					display: flex;
					justify-content: flex-start;
					align-items: center;
					grid-gap: 20px;
					margin: 0;
					padding: 10px 40px 10px 20px;
					font-size: 18px;
					background:#f6f6f6;
					
					.red{
						color: #d85656;
					}
					
					dt{
						font-size: 28px;
						font-weight: bold;
					}
					dd{
						margin: 0;
					}
				}
			}
		}
	}
}