@charset "UTF-8";

/* #header
-------------------------------------------------- */
#header{
  display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
  width: 100%;
  padding: 8px 110px 0 25px;
  height: 112px;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 1000;
}

.home #header{
	background: none;
}

#header.active{
	background: #fff!important;
}

@media screen and (min-width: 768px){
	#header.is-hidden{
		display: none!important;
	}
}

#header .logo{
  flex: 0 1 205px;
  z-index: 2000;
}

#nav{
	flex: 1 1 0%;
	display: grid;
	grid-template-columns: 1fr;
}

#nav .gnav{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

#nav .gnav li{
	position: relative;
}

#nav .gnav li::before{
	content: "";
	display: block;
	width: 2px;
	height: 15px;
	background: #d4d4d4;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

#nav .gnav li:first-child::before{
	display: none;
}

#nav .gnav li a{
  display: block;
  text-align: center;
  font-size: 1.4rem;
  overflow: hidden;
  color: transparent;
  text-shadow: 0 1.5em 0 #000, 0 0 0 #000;
  transition: text-shadow 0.3s;
}

#nav .gnav li a:hover {
  text-shadow: 0 0 0 #000, 0 -1.5em 0 #000;
}

#nav .gnav2{
	margin: 12px 0 25px 0;
	order: -2;
	display: flex;
	justify-content: flex-end;
	gap: 20px;
}

.gnav2 li a{
	padding: 0 10px;
	position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.3rem;
}

.gnav2 li a:hover{
	color: #7A1728;
}

.gnav2 li a img{
	width: auto;
}

#header_search_btn{
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

#header_search_btn img{
	width: auto;
}

#header_search_box{
	width: 360px;
	padding: 20px;
	position: fixed;
	top: 55px;
	right: 92px;
	visibility: hidden;
	opacity: 0;
	background: #fff;
	border: 3px solid #7A1728;
	transition: ease .3s;
	z-index: 1100;
}

#header_search_box.active{
	visibility: visible;
	opacity: 1;
}

#header .drawer_only{
	display: none;
}

#hamburger{
	display: block;
	width: 48px;
	height: 48px;
	background-color: transparent;
	border-color: transparent;
	position: fixed;
	top: 20px;
	right: 20px;
	cursor: pointer;
	background: #fff;
	z-index: 9999;
	border-radius: 4px;
	border: 1px solid #7A1728;
}

@media screen and (max-width: 1100px){
	#nav .gnav{
		grid-template-columns: auto auto auto auto auto auto;
	}
	#nav .gnav2{
		gap: 10px;
	}
	.gnav2 li a{
		padding: 0 10px;
	}
}
@media screen and (max-width: 1000px){
	#header{
		padding: 8px 90px 0 15px;
	}
	#header .logo{
		flex: 0 1 160px;
	}
	#nav .gnav2{
		gap: 0;
	}
	.gnav2 li a {
		padding: 0 7px;
		font-size: 1.2rem;
	}
	#hamburger{
		right: 10px;
	}
}
@media screen and (max-width: 850px){
	#header{
		padding-right: 75px;
	}
	#header_search_btn{
		position: absolute;
		right: 35px;
		bottom: 10px;
	}
}
@media screen and (max-width: 767px){
	#header{
		height: 70px;
		padding: 8px 0 0 5.3vw;
	}
	#header .logo{
		flex: 0 1 205px;
	}
	#hamburger{
		top: 12px;
		right: 5.3vw;
	}
	.gsc-input{
		font-size: 17px!important;
	}
}

#hamburger span {
	 width: 20px;
	 height: 2px;
  background-color: #7A1728;
  position: relative;
	transition: ease .4s;
  display: block;
  margin-left: auto;
	margin-right: auto;
}

#hamburger span:nth-child(1) {
	 top: 0;
}

#hamburger span:nth-child(2) {
  margin: 5px auto;
}

#hamburger span:nth-child(3) {
  top: 0;
}

#hamburger.active span:nth-child(1) {
	 top: 6px;
  transform: rotate(45deg);
}

#hamburger.active span:nth-child(2) {
  opacity: 0;
}

#hamburger.active span:nth-child(3) {
  top: -8px;
  transform: rotate(-45deg);
}

#drawer_nav{
	display: none;
}

#drawer_nav{
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 400px;
	height: 100vh;
	min-height: 100svh;
	overflow-y: scroll;
	padding: 85px 25px 25px 25px;
	transform: translateX(400px);
	background: #fff!important;
	z-index: 1001;
	transition: ease .2s;
}

@media screen and (max-width: 767px){
	#drawer_nav{
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		transform: translateX(100vw);
	}
}

#drawer_nav.active {
	transform: translateX(0);
}

#drawer_nav.active .drawer_only{
	display: block;
}

#drawer_nav .header_only{
	display: none;
}

#drawer_nav #header_search_btn{
	padding: 30px 0;
	background: #f6f6f6;
}

#drawer_nav dl{
	border-bottom: 1px solid #E2E2E2;
}

#drawer_nav dt{
	margin-top: 0;
	font-size: 1.6rem;
	border-top: 1px solid #E2E2E2;
}

#drawer_nav dt span,
#drawer_nav dt.def a{
	height: 50px;
  display: flex;
  align-items: center;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 500;
  position: relative;
  cursor: pointer;
}

#drawer_nav dt.def a{
	text-decoration: none;
}

#drawer_nav dt span::after{
		content: "";
		display: block;
		width: 13px;
		height: 13px;
		background: url(../img/icon_plus.svg) no-repeat center center / contain;
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
		transition: ease .3s;
}

#drawer_nav dt.toggle_btn.active span::after{
	background-image: url(../img/icon_minus.svg)
}

#drawer_nav .toggle_item{
	display: none;
}

#drawer_nav dd{
	margin-left: 20px;
	line-height: 1.4;
	font-size: 1.5rem;
	border-top: 1px solid #E2E2E2;
}

#drawer_nav dd a{
	height: 50px;
  display: flex;
  align-items: center;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 500;
  position: relative;
}

#drawer_nav dt.def a, #drawer_nav dd a{
	position: relative;
}

#drawer_nav dt.def a::after,
#drawer_nav dd a::after{
		content: "";
		display: block;
		margin-left: 35px;
		width: 13px;
		aspect-ratio: 16 / 14;
		background: #7A1728;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-image: url(../img/icon_arrow.svg);
		mask-size: contain;
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
		transition: ease .3s;
}

#drawer_nav .gnav2{
	margin-top: 14px!important;
	margin-bottom: 14px;
	border-top: none;
	padding-top: 0;
}

#drawer_nav .gnav2 li{
	margin: 2px 0 0 0!important;
	font-size: 1.3rem;
	text-align: left;
}

#drawer_nav .gnav2 li a{
	height: 64px;
	padding-left: 30%;
  display: flex;
  align-items: center;
  font-weight: 500;
  gap: 15px;
  background: #f6f6f6;
}

#drawer_nav .gnav2 li a img{
	width: auto;
	max-width: 20px!important;
	margin: 0;
}

.form.gsc-search-box{
	margin-bottom: 0!important;
}

.gsc-search-box.gsc-search-box-tools{
	display: block!important;
	width: 184px!important;
	position: relative!important;
	margin: 0 auto!important;
}

table.gsc-search-box td.gsc-input {
	padding-right: 0!important;
}

.gsc-input-box{
   border-radius: 9999px!important;
   padding: 0 10px!important;
   border: 1px solid #DCDCDC!important;
}

.gsib_a input.gsc-input{
	min-height: 36px!important;
}

.gsc-search-button-v2{
	width: 44px!important;
	height: 40px!important;
	padding: 0!important;
	background: url(../img/icon_search.svg) no-repeat center center #fff!important;
	border: none!important;
	margin-left: 0!important;
	position: absolute!important;
	top: 2px!important;
	right: 4px!important;
	border-radius: 0 22px 22px 0!important;
}

.gsc-search-button-v2 svg{
	display: none!important;
}

#header_search_close{
	cursor: pointer;
	position: absolute;
	top: -10px;
	right: 10px;
	font-size: 2.6rem;
}

.searchform{
  line-height: 1;
  position: relative;
}

.searchfield {
  width: 100%;
  height: 40px!important;
  line-height: 40px!important;
  padding: 0 15px!important;
  background-color: #fff;
  border: 1px solid #DCDCDC;
  border-radius: 9999px!important;
}
 
.searchsubmit {
  position: absolute;
  top: 50%;
  right: 15px;
  display: block;
  padding: 0;
  cursor: pointer;
  transform: translateY(-50%);
  border: none;
  background: transparent;
}
 
.searchsubmit:hover {
  opacity: .6;
}


/* #footer
-------------------------------------------------- */
#footer{
	padding-top: 29vw;
	position: relative;
  display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

#footer a{
	display: block;
}

#footer::before{
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 1400 / 504;
	background: url(../img/footer_img.webp) no-repeat center bottom / cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
	
#fnav{
	flex: 1 1 0%;
	padding: 60px;
	display: grid;
	grid-template-columns: auto auto 185px;
	gap: 30px;
	font-family: "Zen Kaku Gothic New", serif;
	background: #fff;
	position: relative;
	z-index: 1;
}

.nav_common dt{
	margin-top: 30px;
	font-size: 1.5rem;
	font-weight: 500;
}

.nav_common dt:nth-of-type(1){
	margin-top: 0;
}

.nav_common dd{
	font-size: 1.3rem;
	line-height: 2.15;
}

.nav_common dd a{
	color: #6A6A6A;
}

.window a{
	text-decoration: underline;
}

.window a:hover{
	text-decoration: none;
}

.window a::after{
	content: "";
	display: inline-block;
	margin-left: 10px;
	width: 15px;
	aspect-ratio: 15 / 14;
	background: url(../img/icon_window.svg) no-repeat center center;
}

#fnav .window a{
	text-decoration: none;
}
a[href$=".pdf"]::after,
.icon_pdf::after{
	content: "";
	display: inline-block;
	margin-left: 8px;
	width: 17px;
	aspect-ratio: 17 / 19;
	background: url(../img/icon_pdf.png) no-repeat center center;
}

.no_icon a[href$=".pdf"]::after{
	display: none;
}

a[href$=".docx"]::after,
a[href$=".doc"]::after{
	content: "";
	display: inline-block;
	margin-left: 8px;
	width: 18px;
	aspect-ratio: 18 / 17;
	background: url(../img/icon_word.png) no-repeat center center;
}

a[href$=".xls"]::after,
a[href*=".xlsx"]::after,
a[href*=".xlsm"]::after{
	content: "";
	display: inline-block;
	margin-left: 8px;
	width: 18px;
	aspect-ratio: 18 / 17;
	background: url(../img/icon_excel.png) no-repeat center center;
}

.editer_wrapper a.window{
	text-decoration: underline;
}

.editer_wrapper a.window:hover{
	text-decoration: none;
	color: #7A1728;
}

.nav_common ul{
	border-top: 1px solid #aaa;
	margin-top: 30px;
	padding-top: 30px;
	text-align: center;
}

.nav_common ul li{
	font-size: 1.3rem;
	margin-bottom: 30px;
	text-align: left;
}

.nav_common ul li a{
	padding-left: 30px;
}

.footer_info{
	flex: 0 1 500px;
	padding: 40px 70px;
	font-size: 1.4rem;
	font-family: "Zen Kaku Gothic New", serif;
	line-height: 1.8;
	position: relative;
	z-index: 1;
}

.footer_info > *{
	margin-top: 40px;
}

.footer_info .logo{
	width: min(100%, 324px);
}

.footer_info .display_tab{
	display: none;
}

.sns{
	display: flex;
	gap: 25px;
}

.sns li a:hover{
	opacity: 0.8;
}

.sns li a img{
	width: auto;
}

a.tel_link{
	display: inline-block!important;
}

.footer_info .link{
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
}

.footer_info small{
	display: block;
	line-height: 1;
	font-family: "Cormorant", serif;
	font-size: 1.3rem;
}

#footer a:hover{
	color: #7A1728!important;
}

#pageup{
	width: 21px;
	position: fixed;
	bottom: 80px;
	right: 30px;
	transition: ease-in-out .3s;
	z-index: 100;
	cursor: pointer;
}

#btn_fixed{
	position: fixed;
	right: 0;
	bottom: 250px;
	width: 48px;
	background: #fff;
	z-index: 200;
}

#btn_fixed p a{
	padding: 20px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  background: #F7F2F0;
  border-left: 3px solid #7A1728;
}

#btn_fixed p a img{
	width: auto;
}

#btn_fixed p a span{
	color: #7A1728;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	writing-mode: vertical-rl;
}

#btn_fixed ul{
	padding: 15px 0;
	border-left: 3px solid #CACACA;
}

#btn_fixed ul li + li{
	margin-top: 20px;
}

#btn_fixed ul li a{
  display: flex;
  align-items: center;
  justify-content: center;
}

#btn_fixed ul li a img{
	width: auto;
	opacity: 0.9;
}

@media screen and (max-width: 767px){
	#pageup{
		width: 15px;
		bottom: 76;
		right: 15px;
	}
	#btn_fixed{
		display: grid;
		grid-template-columns: 34% 1fr;
		gap: 0;
		bottom: 0;
		width: 100%;
	}
	#btn_fixed p a{
		height: 100%;
		padding: 0;
	  flex-direction: row;
		align-items: center;
	  gap: 3vw;
	  border-left: none;
		border-top: 3px solid #7A1728;
	}
	#btn_fixed p a img{
		width: 5.3vw;
		margin: 0;
	}
	#btn_fixed p a span{
		font-size: 3.2vw;
		writing-mode: horizontal-tb;
	}
	#btn_fixed ul{
	  display: flex;
	  align-items: center;
	  justify-content: center;
		gap: 3vw;
		padding: 0 4vw;
		border-top: 3px solid #CACACA;
		border-left: none;
	}
	#btn_fixed ul li + li{
		margin-top: 0;
	}
	#btn_fixed ul li a{
		padding: 2vw;
	}
	#btn_fixed ul li a img{
		max-width: 6.4vw!important;
	}
}

@media screen and (max-width: 1300px){
	#fnav{
		padding: 60px;
		gap: 20px;
	}
	.footer_info{
		flex: 0 1 auto;
		padding: 40px 30px 40px 0;
	}
	.footer_info .logo{
		width: min(100%, 250px);
	}
}
@media screen and (max-width: 1000px){
	#fnav{
		padding: 60px;
	}
	.footer_info{
		grid-template-columns: auto auto auto;
		gap: 20px;
		flex: 0 1 250px;
	}
	.footer_info .display_tab{
		display: block;
	}
}
@media screen and (max-width: 850px){
	#footer{
		padding-top: 29vw;
		display: grid;
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.footer_info{
		padding: 0 5.3vw;
	}
}
@media screen and (max-width: 767px){
	#footer{
		padding-top: 0;
		gap: 0;
	}
	#footer::before{
		aspect-ratio: 750 / 478;
		background: url(../img/footer_img_sp.webp) no-repeat center bottom / cover;
		position: static;
	}
	#fnav{
		padding: 18vw 0 0 0;
		grid-template-columns: 1fr;
		gap: 0;
	}
	#fnav .wrap dl{
		padding: 0 6.4vw;
	}
	.nav_common dt{
		margin-top: 0;
		font-size: 1.6rem;
		border-top: 1px solid #E2E2E2;
	}
	.nav_common dt.end{
		border-bottom: 1px solid #E2E2E2;
	}
	.nav_common dt a, .nav_common dt span.display_sp, .nav_common dd a{
		height: 56px;
	  display: flex!important;
	  align-items: center!important;
	}
	.nav_common dt.toggle_btn a{
		display: none!important;
	}
	.nav_common dt.toggle_btn span{
		position: relative;
		cursor: pointer;
	}
	.nav_common dt.toggle_btn span::after{
		content: "";
		display: block;
		width: 13px;
		height: 13px;
		background: url(../img/icon_plus.svg) no-repeat center center / contain;
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
		transition: ease .3s;
	}
	.nav_common dt.toggle_btn.active span::after{
		background-image: url(../img/icon_minus.svg)
	}
	#fnav .toggle_item{
		display: none;
	}
	.nav_common dd{
		margin-left: 6.4vw;
		line-height: 1.4;
		font-size: 1.5rem;
		border-top: 1px solid #E2E2E2;
	}
	.nav_common dt.def a, .nav_common dd a{
		position: relative;
	}
	.nav_common dt.def a::after,
	.nav_common dd a::after{
		content: "";
		display: block;
		margin-left: 35px;
		width: 13px;
		aspect-ratio: 16 / 14;
		background: #7A1728;
		mask-repeat: no-repeat;
		mask-position: center;
		mask-image: url(../img/icon_arrow.svg);
		mask-size: contain;
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
		transition: ease .3s;
	}
	.nav_common ul{
		border-top: none;
		margin-top: 50px;
		padding-top: 0;
		text-align: left;
	}
	.nav_common ul li{
		font-size: 1.6rem;
		margin-bottom: 2px;
	}
	.nav_common ul li a{
		height: 80px;
		line-height: 80px;
		padding-left: 30vw;
		background: #F6F6F6;
	}
	.nav_common ul li a img{
		display: inline-block!important;
		width: auto!important;
		margin: 0 10px 0 0!important;
	}
	.footer_search{
		height: 80px;
	  display: flex;
	  align-items: center;
	  justify-content: center;
		background: #F6F6F6;
	}
	.footer_info .display_tab{
		display: none;
	}
	.sns{
	  justify-content: center;
		gap: 35px;
	}
	.footer_info .link {
		justify-content: center;
	  gap: 10px;
		font-size: 1.2rem;
	}
	.footer_info small {
	  display: block;
	 	text-align: center;
	  font-size: 1.4rem;
	}
}

/* 
-------------------------------------------------- */
.title_wrapper, #wrapper{
	margin-left: 110px;
}

@media screen and (max-width: 1500px){
	.title_wrapper, #wrapper{
		margin-left: 50px;
	}
}
@media screen and (max-width: 1100px){
	.title_wrapper, #wrapper{
		margin-left: 3vw;
	}
}
@media screen and (max-width: 767px){
	.title_wrapper, #wrapper{
		margin-left: 0;
	}
}

main{
	padding-bottom: 130px;
}

.title_wrapper .wrap{
  display: flex;
  justify-content: center;
  flex-direction: column;
	height: 220px;
	line-height: 1;
	color: #7A1728;
}

.title_wrapper .parent{
	font-size: 2rem;
	font-weight: 500;
	margin-bottom: 40px;
	padding-left: 24px;
	border-left: 1px solid #7A1728;
}

.title_wrapper .title{
	font-size: 5.6rem;
	color: #7A1728;
}
.tax-people_cate .title_wrapper .title,
.page-child .title_wrapper .title{
	font-size: 4rem;
}

@media screen and (max-width: 767px){
	.title_wrapper .wrap{
		height: 80px;
		padding: 0 0 0 5.8vw;
	}
	.title_wrapper .parent{
		font-size: 1.3rem;
		margin-bottom: 15px;
		padding-left: 15px;
	}
	.tax-people_cate .title_wrapper .title,
	.page-child .title_wrapper .title,
	.title_wrapper .title{
		font-size: 2.6rem;
	}
}

.mv_lower{
	margin-left: 490px;
}

#wrapper{
	margin-top: 70px;
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 120px;
}

@media screen and (max-width: 1400px){
	#wrapper{
		gap: 8.5vw;
	}
	.mv_lower{
		margin-left: 380px;
	}
}
@media screen and (max-width: 1100px){
	.mv_lower{
		margin-left: calc(280px + 3vw + 3vw);
	}
}
@media screen and (max-width: 767px){
	#wrapper{
		margin-top: 70px;
		display: block;
	}
	.mv_lower{
		margin-left: 0;
	}
	#side_wrapper{
		display: none;
	}
}

#side_wrapper .sticky{
  position: sticky;
  top: 150px;
}

@media screen and (max-width: 767px){
	#wrapper{
		display: block;
		padding: 0 7.7vw;
	}
	#side_wrapper .sticky{
	  position: static;
	}
}

#side_wrapper p.tt{
	padding: 22px 0;
	color: #7A1728;
	line-height: 1;
	font-weight: 700;
	letter-spacing: 0.2em;
	border-top: 1px solid #7A1728;
	border-bottom: 1px solid #CDCDCD;
}

.snav li{
	border-bottom: 1px solid #CDCDCD;
}

.snav li a,
.snav_lower span{
	display: block;
	padding: 18px;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1;
	position: relative;
	cursor: pointer;
	transition: opacity .3s;
}

.snav_lower_box{
	margin-left: 20px;
	display: grid; 
  grid-template-rows: 0fr;
  transition: 250ms grid-template-rows ease;
}

.snav_lower .snav_lower_box .wrap{
	overflow: hidden;
}

.snav_lower span.active + .snav_lower_box{
	grid-template-rows: 1fr;
}

.snav_lower ul li{
	overflow: hidden;
	border-top: 1px solid #CDCDCD;
	border-bottom: none;
}

.snav li a.palt{
	font-size: 1.4rem;
}

.snav li a:hover{
	font-weight: bold;
	color: #7A1728;
}

.snav_lower span::before{
	content: "";
	display: block;
	width: 24px;
	aspect-ratio: 1 / 1;
	background: url(../img/icon_side_plus.svg) no-repeat center center;
	border: 1px solid #B1B1B1;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.snav_lower span.active::before{
	background: url(../img/icon_side_minus.svg) no-repeat center center;
}

.snav li.current_page_item a, 
.snav li a.current{
	padding-left: 40px;
	color: #7A1728;
	font-weight: bold;
}

.snav li a::before{
	content: "";
	display: block;
	width: 16px;
	aspect-ratio: 16 / 18;
	background: url(../img/icon_polygon.svg) no-repeat 0 0 / contain;
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	opacity: 0;
	transition: ease .4s;
}
.snav li.current_page_item a::before, 
.snav li a.current::before{
	opacity: 1;
}

#main_wrapper{
	padding: 0 50px 0 0;
}

.lower_mv_img_l{
	overflow: visible!important;
}

.lower_mv_img_l img{
	max-width: none!important;
	width: calc(100% + 50px);
}

@media screen and (max-width: 1100px){
	#main_wrapper{
		padding-right: 3vw;
	}
	.lower_mv_img_l img{
		width: calc(100% + 3vw);
	}
}
@media screen and (max-width: 767px){
	#main_wrapper{
		padding-right: 0;
	}
	.lower_mv_img_l img{
		width: calc(100% + 7.7vw);
	}
}

.editer_wrapper .sec{
	margin: 60px 0 140px 0;
}

@media screen and (max-width: 767px){
	.editer_wrapper .sec{
		margin: 30px 0 60px 0;
	}
}

.editer_wrapper .sec:first-child{
	margin-top: 0!important;
}

.editer_wrapper .sec:last-child{
	margin-bottom: 0;
}

.sub_menu{
	margin-top: 120px;
  display: flex;
  flex-wrap: wrap;
	gap: 20px;
}

.sub_menu li{
	flex: 0 1 auto;
	min-width: 260px;
}

.sub_menu li a{
	display: block;
	padding: 8px 55px 8px 35px;
	position: relative;
	background: url(../img/bg_wall1.webp) repeat center top / auto 100%;
	border-radius: 9999px;
	position: relative;
	color: #333!important;
	text-decoration: none!important;
}

.page-laboratory .sub_menu li{
	flex: 0 1 auto;
}

.page-laboratory .sub_menu li a{
	display: inline-block;
}

.sub_menu li a::after{
	content: "";
	display: block;
	width: 10px;
	height: 16px;
	background: #333;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow_down.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	right: 35px;
	transform: translateY(-50%);
	transition: ease .3s;
}

.sub_menu li a:hover{
	color: #7A1728!important;
}

.sub_menu li a:hover::after{
	background: #7A1728;
	transform: translateY(-30%);
}

@media screen and (max-width: 1100px){
	.sub_menu li a{
		padding: 8px 30px;
	}
	.sub_menu li a::after{
		right: 20px;
	}
}
@media screen and (max-width: 1000px){
		.sub_menu{
			margin-top: 120px;
			grid-template-columns: 1fr 1fr 1fr;
			gap: 10px;
		}
		.sub_menu li a{
			padding: 12px 40px 12px 30px;
			font-size: 1.4rem;
		}
		.sub_menu li a::after{
			right: 20px;
		}
}
@media screen and (max-width: 767px){
	.sub_menu{
		margin-top: 60px;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  flex-wrap: wrap;
	  gap: 6px;
	}
	.sub_menu li{
	  	flex: 0 1 48%;
			min-width: auto;
	}
	.sub_menu.w_auto li{
	  	flex: 0 1 100%;
		max-width: 300px;
	}
	.sub_menu li a{
			padding: 12px 40px 12px 20px;
			font-size: 1.3rem;
	}
}

.editer_wrapper .sec_wrap{
	padding: 0 0 100px 0;
	margin-bottom: 100px;
}

.editer_wrapper h2{
	margin: 0 0 40px 0;
	font-size: 2.9rem;
	font-weight: 500;
	line-height: 1.8;
}

h2.wp-block-heading small{
	font-size: 1.6rem;
}

.editer_wrapper h2.is-style-heading-2{
	margin: 0 0 40px 0!important;
	padding: 5px 10px!important;
	font-size: 2.9rem!important;
	font-weight: 700!important;
	font-family: "Zen Kaku Gothic New", serif!important;
	line-height: 1.8!important;
	letter-spacing: 0!important;
	color: #7A1728!important;
	background: none!important;;
	border-top: 1px solid #7A1728!important;
	border-bottom: 1px solid #7A1728!important;
	border-left: none!important;
}

.editer_wrapper h2.is-style-heading-2::before{
	display: none!important;
}

@media screen and (max-width: 767px){
	.editer_wrapper h2, .editer_wrapper h2.is-style-heading-2{
		font-size: 2.2rem!important;
	}
}

.editer_wrapper h3{
	margin: 60px 0 40px 0;
	color: #7A1728;
	font-size: 2.4rem;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1.5;
	padding-bottom: 10px;
	border-bottom: 1px solid #CACACA;
	position: relative;
}

.editer_wrapper h3::before{
	content: "";
	display: block;
	width: 96px;
	height: 1px;
	background: #7A1728;
	position: absolute;
	bottom: -1px;
	left: 0;
}

.editer_wrapper h3.is-style-heading-2{
	margin: 60px 0 40px 0!important;
	color: #333!important;
	font-size: 2.4rem!important;
	font-weight: 900!important;
	font-family: "Zen Kaku Gothic New", serif!important;
	letter-spacing: 0!important;
	background: none!important;
	padding: 0!important;
	border: none!important;
}

.editer_wrapper h3.is-style-heading-2::before{
	display: none!important;
}

@media screen and (max-width: 767px){
	.editer_wrapper h3, .editer_wrapper h3.is-style-heading-2{
		font-size: 2rem!important;
	}
}

.editer_wrapper h4{
	margin: 40px 0 20px 0;
	color: #7A1728;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 1.9rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.1em;
}

.editer_wrapper h4::before{
	content: "■";
	margin-right: 0.5em;
}

.editer_wrapper h4.is-style-heading-2{
	margin: 40px 0 20px 0!important;
	padding: 5px 15px!important;
	font-size: 1.8rem!important;
	font-weight: 400!important;
	font-family: "Zen Old Mincho", serif!important;
	color: #333!important;
	background: #F7F2F0!important;
	letter-spacing: 0!important;
	border-left: none!important;
	border-bottom: 1px solid #7A1728!important;
}

.editer_wrapper h4.is-style-heading-2::before{
	display: none!important;
}

@media screen and (max-width: 767px){
	.editer_wrapper h4, .editer_wrapper h4.is-style-heading-2{
		font-size: 1.7rem!important;
	}
}

.editer_wrapper h5{
	margin: 20px 0 10px 0;
	padding: 10px 20px;
	font-size: 1.6rem;
	font-family: "Zen Kaku Gothic New", serif;
	font-weight: 500;
	background: #F7F2F0;
	border-left: 3px solid #7A1728;
}

.editer_wrapper h5.is-style-heading-2{
	margin: 40px 0 20px 0!important;
	padding: 5px 15px!important;
	font-size: 1.8rem!important;
	font-weight: 400!important;
	font-family: "Zen Old Mincho", serif!important;
	color: #333!important;
	background: none!important;
	letter-spacing: 0!important;
	border-left: none!important;
	border-bottom: 1px solid #7A1728!important;
}

.editer_wrapper h5.is-style-heading-2::before{
	display: none!important;
}

.editer_wrapper h6{
	margin: 20px 0 10px 0;
	line-height: 1.8;
	font-size: 1.7rem;
	font-family: "Zen Kaku Gothic New", serif;
	font-weight: 700;
}

.editer_wrapper h6.is-style-heading-2{
	margin: 20px 0 10px 0!important;
	padding: 10px!important;
	color: #7A1728;
	letter-spacing: 0!important;
	font-size: 1.5rem!important;
	font-weight: 500!important;
	font-family: "Zen Old Mincho", serif!important;
	background: none!important;
	border-left: none!important;
	border-bottom: 1px solid #CACACA!important;
}

.editer_wrapper h6.is-style-heading-2::before{
	display: none!important;
}

.editer_wrapper p + p{
	margin-top: 20px;
}

.editer_wrapper .ulist li a,
.editer_wrapper ol li a,
.editer_wrapper p a{
	text-decoration: underline;
}

.editer_wrapper .ulist li a:hover,
.editer_wrapper ol li a:hover,
.editer_wrapper p a:hover{
	color: #7A1728;
	text-decoration: none;
}

.editer_wrapper p a[target="_blank"]:not([href^="tel:"]):not([href^="mailto:"]):not([href^="#"]):not([href^="/"]):not([href$=".pdf"])::after {
	content: "";
	display: inline-block;
	margin-left: 10px;
	width: 15px;
	aspect-ratio: 15 / 14;
	background: url(../img/icon_window.svg) no-repeat center center;
}

.catch_line{
	position: relative!important;
	padding-left: 70px!important;
	margin: 60px 0!important;
	font-family: "Zen Kaku Gothic New", serif!important;
	font-size: 2.4rem!important;
	font-weight: 500!important;
	letter-spacing: 0.05em!important;
}

.catch_line::before{
	content: ""!important;
	display: block!important;
	width: 50px!important;
	height: 1px!important;
	background: #333!important;
	position: absolute!important;
	top: 50%!important;
	left: 0!important;
}

.editer_wrapper h3 + .catch_line{
	margin: 0 0 60px 0!important;
	padding-top: 60px!important;
}

.editer_wrapper h3 + .catch_line::before{
	top: calc(50% + 30px)!important;
}

.editer_wrapper .wp-block-image{
  margin-top: 2em;
  margin-bottom: 2em;
  overflow: hidden;
}

.editer_wrapper .w80.wp-block-group{
	display: blockimportant;
  width: 80%!important;
  margin: 2em auto!important;
}

.editer_wrapper .w80.wp-block-group .wp-block-image{
	margin: 0!important;
}

@media screen and (max-width: 767px){
	.editer_wrapper .w80.wp-block-group{
	  width: 100%!important;
	}
}

.editer_wrapper sup{
	vertical-align: bottom;
	font-size: 60%;
}

.editer_wrapper .wp-block-image.img_c img{
	display: block;
  width: 80%;
  margin: 0 auto;
}

.editer_wrapper .frame_wrap{
	line-height: 1.8;
	padding: 30px 56px;
	border: 1px solid #cacaca;
}

@media screen and (max-width: 767px){
	.editer_wrapper .wp-block-image.img_c img{
	  width: 90%;
	}
	.editer_wrapper .frame_wrap{
		padding: 5.3vw;
		border: 1px solid #cacaca;
	}
}

.btn_wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
}

.btn_wrap .btn{
	margin: 0;
}

.btn{
  margin: 50px auto 0 auto;
}

.btn a,
a.wp-block-button__link{
	min-width: 280px;
	min-height: 60px;
	padding: 3px 60px;
	margin-inline: auto;
	width: -moz-fit-content;
	width: fit-content;
  display: flex;
  align-items: center;
  position: relative;
	line-height: 1.4;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 1.4rem;
	text-decoration: none!important;
  color: #7A1728!important;
	background: url(../img/bg_wall2.webp) repeat center top / 100% auto;
	border-radius: 9999px;
}

.btn a::before,
a.wp-block-button__link::before{
	content: "";
	display: block;
	width: 16px;
	height: 18px;
	background: #7A1728;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_polygon.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
	transition: ease .3s;
}

.btn a::after,
a.wp-block-button__link::after{
	content: "";
	display: block;
	margin-left: 35px;
	width: 16px;
	height: 14px;
	background: #7A1728;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	right: 22px;
	transform: translateY(-50%);
	transition: ease .3s;
}

.btn a:hover,
a.wp-block-button__link:hover{
	color: #333!important;
}

.btn a:hover::before,
.btn a:hover::after,
a.wp-block-button__link:hover::before,
a.wp-block-button__link:hover::after{
	background: #333;
}

.btn a:hover::after,
a.wp-block-button__link:hover::after{
	right: 19px;
}

@media screen and (max-width: 767px){
	.btn_list .wp-block-button{
		width: 100%;
	}
	.btn_list .wp-block-button a.wp-block-button__link{
		width: 100%;
	}
}


/* home
-------------------------------------------------- */
.home main h2{
	line-height: 1;
	font-size: 1.5rem;
	color: #7A1728;
	text-align: center;
	margin-bottom: 40px;
}

.home main h2 span{
	display: block;
	margin-bottom: 10px;
	font-size: 7rem;
	font-family: "Cormorant", serif;
  font-weight: 300;
  font-style: italic;
}

@media screen and (max-width: 767px){
	.home main h2{
		font-size: 1.2rem;
		margin-bottom: 30px;
	}
	.home main h2 span{
		font-size: 5.6rem;
		margin-bottom: 10px;
	}
}

.home{
	padding-top: 0;
}

#mv .mv_catch{
	position: absolute;
	top: 210px;
	left: 18.5vw;
	left: 50vw;
	transform: translateX(-100%);
	z-index: 4;
}

#mv .mv_catch .txt1{
	font-size: 7rem;
	font-size: clamp(30px, 5.8vw, 70px);
	letter-spacing: 0.2em;
	line-height: 1.8;
}

#mv .mv_catch .txt2{
	margin: 40px 0 30px 0;
	font-size: 1.5rem;
}

#mv .mv_catch .txt3 a{
	width: 254px;
	height: 60px;
	padding: 0 30px;
  display: flex;
  align-items: center;
	position: relative;
	font-size: 1.5rem;
	font-family: "Zen Kaku Gothic New", serif;
	color: #7A1728;
	border-bottom: 1px solid #7A1728;
}

#mv .mv_catch .txt3 a::before{
	content: "";
	display: block;
	width: 16px;
	height: 18px;
	background: #7A1728;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_polygon.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	transition: ease .3s;
}

#mv .mv_catch .txt3 a::after{
	content: "";
	display: block;
	margin-left: 35px;
	width: 16px;
	height: 14px;
	background: #7A1728;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	transition: ease .3s;
}

.mv{
	position: relative;
	width: 100%;
	overflow-x: clip;
}

.svg-container {
	position: relative;
	height: auto;
	aspect-ratio: 700 / 809;
}

#leftShadow {
	position: absolute;
	top: 0;
	left: 50vw;
	transform: translateX(-180%);
	width: 30%;
	max-width: 500px;
	height: auto;
	aspect-ratio: 700 / 809;
	z-index: 0;
	opacity: 0.8;
}

#leftShadow .shadow{
	padding-left: 30px!important;
}

#slideshow{
	margin-left: calc(13vw + 588px);
	width: 42vw;
	max-width: 809px;
	margin-left: 50vw;
	transform: translateX(-15%);
}

#mv .mv_catch{
	position: absolute;
	top: 210px;
	left: 50vw;
	transform: translateX(-100%);
	z-index: 4;
}

#mainShadow{
	position: relative;
	z-index: 2;
}

#bgShadow{
	top: 12%;
	left: 17%;
	z-index: 0;
}

.svg-container svg {
	width: 100%;
	height: 100%;
}

.slideshow-image,
.shadow-image {
	transition: opacity 1s ease-in-out;
	opacity: 0;
	object-fit: cover;
	object-position: center;
}

.slideshow-image.is-active,
.shadow-image.is-active {
	opacity: 1;
}

.hexagon-mask {
	transform-origin: center;
	transition: transform 1s ease-in-out;
	will-change: transform;
	transform: translateZ(0);
	backface-visibility: hidden;
	perspective: 1000;
}

.shadow {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	opacity: 0.7;
	filter: url(#filter0_f_85_84);
	transform: translateZ(0);
}

#bgShadow{
	transform: translateY(20%)!important;
}

.slide-wrap{
	position: absolute;
	right: 50vw;
	top: 610px;
	width: 377px;
	transform: translateX(calc(100% + 300px));
	z-index: 5;
}

.news-slider {
	position: relative;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 6em;
	background: rgba(255,255,255,.6);
}

.news-slider-item {
	position: absolute;
	left: 0;
	top: 0;
	padding: 1em 3.5em 1em 2em;
	width: 100%;
	height: 100%;
	font-size: 1.3rem;
	font-family: "Zen Kaku Gothic New", serif;
	cursor: pointer;
	opacity: 0;
	transition: opacity 1s ease-in-out;
	z-index:0;
}

.news-slider-item::before {
	content: "";
	display: block;
	width: 13px;
	aspect-ratio: 16 / 14;
	background: #7A1728;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
	transition: ease .3s;
}

.news-slider-item.is-active {
	opacity: 1;
	z-index:1;
}

.news-slider-item a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: #404040;
}

.news-slider-item .date{
	font-weight: 400;
	font-size: 1.3rem;
	font-family: "Zen Old Mincho", serif;
	line-height: 1.7;
}

.news-slider-item .title{
	font-weight: 400;
	font-size: 13px;
	line-height: 1.6;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.news-slider-item a:hover {
	text-decoration: underline;
}

.slide-controls{
	margin-top: 8px;
	display: flex;
	gap: 10px;
	align-items: center;
	background: rgba(255,255,255,.6);
}

.slide-controls button {
	padding: 16px;
	font-size: 14px;
	cursor: pointer;
	border: none;
	background: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.slide-controls button i {
	font-size: 1.4rem;
}

.slide-controls button:hover i {
	color: #333;
}

.indicators {
	display: flex;
	gap: 33px;
	justify-content: center;
}

.indicator {
	width: 7px;
	height: 7px;
	background-color: #BDBDBD;
	border-radius: 50%;
	cursor: pointer;
	transition: transform 0.3s, background-color 0.3s;
	z-index: 100;
}

.indicator.is-active {
	background-color: #333;
}

@media screen and (max-width: 1600px){
	#mv .mv_catch {
    top: 12vw;
	}
	#slideshow {
		width: auto;
		max-width: 53vw;
	 	transform: translateX(-13%);
	}
}
@media screen and (max-width: 1400px){
	#slideshow {
		width: 100%;
		max-width: 57vw;
	 	transform: translateX(-15%);
	}
	.slide-wrap{
		top: 580px;
		right: 4vw;
		transform: translateX(0);
	}
	#mv .mv_catch {
    top: 120px;
	}
	#mv .mv_catch .txt1 {
		font-size: 5vw;
	}
}
@media screen and (max-width: 1050px){
	.slide-wrap{
		top: 450px;
	}
}
@media screen and (max-width: 950px){
	#mv{
		aspect-ratio:  921/ 760;
	}
}
@media screen and (max-width: 900px){
	#mv .mv_catch{
		left: 5vw;
		transform: translateX(0);
	}
	#mv .mv_catch .txt2{
		width: 22em;
		margin: 30px 0 20px 0;
	}
	.slide-wrap{
		top: 480px;
	}
}
@media screen and (max-width: 767px){
	#mv{
		aspect-ratio:  auto;
	}
	#mv .mv_catch{
		position: relative;
		top: 0;
		left: 0;
		z-index: 10;
		padding: 0 5.3vw;
	}
	#mv .mv_catch .txt1{
		font-size: 10vw;
	}
	#mv .mv_catch .txt2{
		width: auto;
		font-size: 1.4rem;
		margin: 30px 0 20px 0;
	}
	#mv .mv_catch .txt3 a{
		width: 235px;
		height: 60px;
		font-size: 1.4rem;
		margin: 0 auto;
	}
	#leftShadow {
		display: none;
	}
	#slideshow{
		width: 130vw;
		max-width: none;
		transform: translateX(-2%)!important;
		margin-top: 30px;
		margin-left: 0;
	}
	.slide-wrap{
		width: 76vw;
		right: 5.3vw;
		top: 118vw;
	}
	.news-slider {
		gap: 6px;
		height: 4.5em;
	}
	.news-slider-item {
		padding: 8px 2em 8px 1em;
		font-size: 1.1rem;
	}
	.news-slider-item a {
		font-size: 1.1rem;
	}
	.news-slider-item .date{
		font-size: 1rem;
		color: #8E8E8E;
		line-height: 1;
	}
	.news-slider-item .title{
		font-size: 1.1rem;
		line-height: 1.5;
	}
	#bgShadow{
		display: none;
	}
	.indicators {
		gap: 15px;
	}
	.slide-controls{
		margin-top: 4px;
	}
	.slide-controls button {
		padding: 8px 16px;
		font-size: 1.3rem;
	}
	.slide-controls button i {
		font-size: 1.3rem;
	}
}

#news{
	padding: 90px 20px 180px 20px;
	position: relative;
}

#news::before{
	content: "";
	display: block;
	width: 100%;
	height: 50%;
	background: url(../img/bg_wall.webp) repeat center top #F7F7F7;
	position: absolute;
	top: 27%;
	left: 0;
	z-index: 0;
}

#news .inner{
	width: min(100%, 1000px);
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.news_emergency{
	margin-bottom: 40px;
	padding: 30px 40px;
	background: #fff;
	border: 1px solid #7A1728;
}

.news_emergency h3{
	color: #7A1728;
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 15px;
}

.news_emergency ul{
	margin: 0 3%;
}

.news_emergency ul li a{
	display: flex;
	align-items: center;
	line-height: 1.5;
}

.news_emergency ul li a time{
	flex: 0 1 auto;
	margin-right: 30px;
	color: #7A1728;
	font-size: 2.2rem;
	font-family: "Cormorant", serif;
	font-weight: 500;
}

.news_emergency ul li a p{
	font-size: 1.5rem;
	margin: 0;
	transition: ease .3s;
}

.news_emergency ul li a:hover p{
	color: #7A1728;
}

@media screen and (max-width: 767px){
	#news {
    padding: 90px 5.3vw 120px 5.3vw;
	}
	.news_emergency{
		margin-bottom: 20px;
		padding: 20px;
	}
	.news_emergency h3{
		font-size: 1.5rem;
		margin-bottom: 10px;
		text-align: center;
	}
	.news_emergency ul{
		margin: 0;
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.news_emergency ul li a{
		display: block;
	}
	.news_emergency ul li a time{
		margin-right: 0;
		font-size: 1.9rem;
	}
	.news_emergency ul li a p{
		font-size: 1.3rem;
	}
}

@keyframes tabAnim{
 0%{opacity:0;}
 100%{opacity:1;}
}

.tab_wrap [name=tab_btn]{
	display: none;
}

.tab_area{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	gap: 10px;
  font-size: 0;
  margin-bottom: 7px;
  position: relative;
  bottom: -1px;
  z-index: 1;
}

.tab_area label{
	height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7A1728;
  font-size: 1.5rem;
  text-align: center;
  cursor: pointer;
  background: #EDE8E8;
  border: 1px solid #EDE8E8;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  transition: ease-in-out .3s;
}

.tab_panel{
  width:100%;
  opacity: 0;
  padding: 0 5%;
  background: #fff;
  display: none;
}

.tab_area label:hover,
#tab1:checked ~ .tab_area .tab1_label,
#tab2:checked ~ .tab_area .tab2_label,
#tab3:checked ~ .tab_area .tab3_label,
#tab4:checked ~ .tab_area .tab4_label,
#tab5:checked ~ .tab_area .tab5_label,
#tab6:checked ~ .tab_area .tab6_label{
  background: #fff;
  border-color: #7A1728;
}

#tab1:checked ~ .panel_area #panel1,
#tab2:checked ~ .panel_area #panel2,
#tab3:checked ~ .panel_area #panel3,
#tab4:checked ~ .panel_area #panel4,
#tab5:checked ~ .panel_area #panel5,
#tab6:checked ~ .panel_area #panel6{
  display:block; 
  animation:tabAnim ease 0.6s forwards;
  -ms-animation:tabAnim ease 0.6s forwards;
}

@media screen and (max-width: 767px){
	.tab_area{
		grid-template-columns: 1fr 1fr 1fr;
		gap: 1.3vw;
		margin-bottom: 1.3vw;
	}
	.tab_area label{
		font-size: 1.2rem;
	}
	.tab_panel{
		padding: 0 4.5%;
	}
}

.news_list li a{
	display: block;
	padding: 30px 60px 30px 20px;
	border-bottom: 1px solid #B1B1B1;
	position: relative;
}

.news_list li a::after{
	content: "";
	display: block;
	margin-left: 35px;
	width: 20px;
	aspect-ratio: 16 / 14;
	background: #7A1728;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	right: 22px;
	transform: translateY(-50%);
	transition: ease .3s;
}

.news_list li a:hover::after{
	right: 19px;
}

.date_cate{
	display: flex;
	gap: 20px;
	color: #7A1728;
	line-height: 1;
	margin-bottom: 15px;
}

.date_cate time{
	color: #7A1728;
	line-height: 1;
	font-size: 2.2rem;
	font-family: "Cormorant", serif;
	font-weight: 500;
}

.cate_link{
	display: flex;
	align-items: center;
	gap: 10px;
}

.cate_link span{
	display: block;
	padding: 1px 15px;
	color: #7A1728;
	font-size: 1.3rem;
	border: 1px solid #7A1728;
}

.news_list li a p{
	line-height: 1.5;
	margin: 0;
}

@media screen and (max-width: 767px){
	.news_list li a{
		padding: 15px 30px 15px 20px;
	}
	.news_list li a::after{
		right: 0!important;
	}
	.date_cate{
		gap: 10px;
		margin-bottom: 10px;
	}
	.date_cate time{
		font-size: 1.9rem;
	}
	.cate_link{
		gap: 10px;
	}
	.cate_link span{
		padding: 2px 6px;
		font-size: 1rem;
	}
	#news .btn a{
		width: min(100%, 328px);
		margin: 0 auto;
	}
}

#curriculum{
	padding: 110px 0 80px 0;
	position: relative;
}

#curriculum::before{
	content: "";
	display: block;
	width: 50vw;
	height: 100%;
	background: url(../img/bg_wall.webp) repeat center top #FAFAF0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#curriculum .inner{
	display: grid;
	grid-template-columns: 1fr 510px;
	align-items: flex-end;
}

#curriculum .img{
	padding: 0 30px 30px 30px;
	position: relative;
	z-index: 1;
}

#curriculum .img img{
	display: block;
	width: min(100%, 552px);
}

#curriculum .txt{
	position: relative;
	z-index: 1;
}

#curriculum .txt h2, #people h2{
	text-align: left;
}

#curriculum .txt h3{
	margin: 80px 0 40px 0;
	padding: 12px 20px;
	display: inline-block;
	line-height: 1.3;
	font-size: 1.6rem;
	font-weight: 500;
	border-top: 1px solid #404040;
	border-bottom: 1px solid #404040;
}

#curriculum .txt p.copy{
	font-size: 2.45rem;
	font-weight: 500;
}

#curriculum .txt dl{
	margin-top: 50px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	font-family: "Zen Kaku Gothic New", serif;
}

#curriculum .txt dl dt{
	flex: 0 1 130px;
	font-size: 1.3rem;
	text-align: center;
	background: #F5F5F5;
	border: 1px solid #CECBCA;
}

#curriculum .txt dl dd{
	flex: 0 1 calc(100% - 145px);
	font-size: 1.6rem;
}

#curriculum .btn{
	margin-top: 60px;
}

#curriculum .btn a, #people .btn a{
	margin-left: 0;
}

@media screen and (max-width: 1100px){
	#curriculum .txt p.copy{
		font-size: 2.2rem;
	}
	#curriculum .inner{
		align-items: center;
	}
}
@media screen and (max-width: 767px){
	#curriculum{
		padding: 0 5.8vw 80px 5.8vw;
	}
	#curriculum::before{
		width: 100%;
		height: 130vw;
		top: 10vw;
	}
	#curriculum .inner{
		grid-template-columns: 1fr;
	}
	#curriculum .img{
		padding: 10vw 5.8vw 15vw 0;
	}
	#curriculum .txt h3{
		margin: 0 0 30px 0;
		padding: 8px 10px;
		font-size: 1.5rem;
	}
	#curriculum .txt p.copy{
		font-size: 1.7rem;
	}
	#curriculum .txt dl{
		margin-top: 30px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 15px 0;
		font-family: "Zen Kaku Gothic New", serif;
	}
	#curriculum .txt dl dt{
		flex: 0 1 7em;
		height: 45px;
	  display: flex;
	  align-items: center;
	  justify-content: center;
		font-size: 1.2rem;
	}
	#curriculum .txt dl dd{
		flex: 0 1 calc(100% - 7em);
		height: 45px;
	  display: flex;
	  align-items: center;
		padding-left: 10px;
		font-size: 1.4rem;
		line-height: 1.3;
	}
	#curriculum .btn{
		margin-top: 40px;
	}
	#curriculum .btn a{
		width: min(100%, 328px);
		margin: 0 auto;
	}
}

#people{
	margin-top: 130px;
	position: relative;
	overflow: hidden;
}

#people .wrap{
	width: 580px;
	padding: 180px 100px;
	background: rgba(255,255,255,.8);
	backdrop-filter: blur(12px);
	position: relative;
	z-index: 2;
}

.img_loop{
	display: flex;
	width: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.img_loop p{
	line-height: 1;
	flex: 0 0 auto;
	overflow: hidden;
	z-index: 0;
}

.img_loop1 p:nth-child(odd) {
	animation: loop1 40s -20s linear infinite;
}

.img_loop1 p:nth-child(even) {
	animation: loop2 40s linear infinite;
}

.img_loop2 p:nth-child(odd) {
	animation: loop1 60s -30s linear infinite;
}

.img_loop2 p:nth-child(even) {
	animation: loop2 60s linear infinite;
}

@keyframes loop1{
    0% {transform: translateX(-100%);}
    to { transform: translateX(100%);}
}

@keyframes loop2{
    0% {transform: translateX(-200%);}
    to {transform: translateX(0);}
}

@media screen and (max-width: 767px){
	#people{
		margin-top: 0;
		background: none;
	}
	#people h2.display_sp{
		padding-left: 5.3vw;
	}
	#people .wrap{
		width: 100%;
		padding: 15vw 5.3vw 0 5.3vw;
	}
	.img_loop_wrap{
		position: relative;
		height: 400px;
	}
	.img_loop_wrap .img_loop img{
		width: auto!important;
		height: 400px!important;
	}
	#people .btn a{
		width: min(100%, 328px);
		margin: 0 auto;
	}
}

.fpractice_process .wp-block-column{
	font-size: 1.5rem!important;
	position: relative!important;
}

.fpractice_process_img{
	max-width: 600px;
}

@media screen and (max-width: 767px){
	.fpractice_process_img{
		max-width: 70%!important;
		margin-left: auto;
		margin-right: auto;
	}
}

.fpractice_process .wp-block-column::after{
	content: "";
	display: block;
	width:0;
	height:0;
	border-style:solid;
	border-width: 7px 0 7px 14px;
	border-color: transparent transparent transparent #7A1728;
	position: absolute;
	top: 50%;
	right: -25px;
	transform: translateY(-50%);
}

.fpractice_process .wp-block-column:last-child::after{
	display: none;
}

.fpractice_process .wp-block-column .tt1{
	padding: 10px;
	text-align: center;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	background: #7A1728;
}

.fpractice_process .wp-block-column .tt2{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 1.8rem;
	font-weight: 700;
	color: #7A1728;
	margin: 20px 0;
	line-height: 1.7;
}

@media screen and (max-width: 1000px){
	.fpractice_process .wp-block-column{
		display: block!important;
		margin-top: 40px!important;
	}
	.fpractice_process .wp-block-column::after{
		border-width: 14px 7px 0 7px;
		border-color: #7A1728 transparent transparent transparent;
		top: auto!important;
		bottom: -40px!important;
		right: auto!important;
		left: 50%!important;
		transform: translateX(-50%)!important;
	}
}

p.ttl_bg{
	font-family: "Zen Kaku Gothic New", serif;
	font-weight: bold!important;
	padding: 10px 20px!important;
	margin: 40px 0 20px 0!important;
}

.company_list{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 30px;
	padding: 0 20px;
}

.company_list li{
	margin: 0 0 0 2em!important;
}

@media screen and (max-width: 767px){
	.company_list{
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 0;
	}
}

.keireki_ttl{
	max-width: 545px;
	margin: 0 auto 15px auto;
	font-size: 1.5rem;
	font-weight: 500!important;
	font-family: "Zen Kaku Gothic New", serif;
	text-align: left;
}

.message_history{
	text-align: center;
}

.message_history table{
	max-width: 545px;
	margin: 0 auto;
}

.message_history table td{
	padding: 5px 20px!important;
	font-size: 1.6rem!important;
	font-family: "Zen Kaku Gothic New", serif!important;
	text-align: left!important;
	border: none!important;
}

.message_history table tr td:first-child{
	padding-left: 0!important;
	white-space: nowrap!important;
	font-weight: 500!important;
	border-right: 1px solid #D9D9D9!important;
}

.message_history table td{
	text-align: left;	
}

.policy_body #wrapper,
.nology_body #wrapper{
	margin-top: 160px;
}

@media screen and (max-width: 767px){
	.policy_body #wrapper,
	.nology_body #wrapper,
	#wide_wrapper{
		margin-top: 60px;
	}
}

.policy_body #sec01,
.policy_body #sec01 h3,
.nology_body #sec01,
.nology_body #sec01 h3{
	margin-top: 0;
}

.donation_course_prof{
	max-width: 1000px;
	
}

.interview_wrap{
	margin-top: 120px;
}

.interview_wrap + .interview_wrap{
	margin-top: 180px;
}

.interview_ttl{
	position: relative;
}

.interview_ttl p{
	margin: 0!important;
	width: 200px;
	padding: 40px;
	aspect-ratio: 1 / 1;
	font-size: 1.6rem;
	line-height: 1.4;
	background: #FAF3F3;
  display: flex;
  justify-content: center;
  flex-direction: column;
  position: absolute;
  top: -64px;
  left: 0;
}

.interview_ttl p span{
	display: block;
	margin-bottom: 15px;
}

.interview_ttl .wp-block-image{
	margin: 0 0 0 168px!important;
}

.interview_ttl .wp-block-image img{
	margin: 0!important;
}

.interview_qa{
	padding-top: 20px;
}

.interview_qa dt{
	margin: 25px 0 15px 0;
	color: #7A1728;
	font-family: "Zen Kaku Gothic New", serif;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 15px;
}

.interview_qa dt::before{
	content: "─";
}

@media screen and (max-width: 1300px){
	.interview_ttl .wp-block-image{
		margin: 0 0 0 20%!important;
	}
}
@media screen and (max-width: 1100px){
	.interview_ttl p{
		padding: 20px;
		aspect-ratio: auto;
		transform: translateY(-80%);
	}
}
@media screen and (max-width: 767px){
	.interview_wrap{
		margin-top: 100px;
	}
	.interview_wrap + .interview_wrap{
		margin-top: 100px;
	}
	.interview_ttl p{
		display: block!important;
		width: auto;
		padding: 15px 20px;
		top: 0;
	}
	.interview_ttl p span{
		display: inline-block;
		margin-right: 1em;
		margin-bottom: 0;
	}
	.interview_ttl .wp-block-image{
		margin: 0!important;
	}
}


.about_body img.img_c{
	display: block;
  width: 80%;
  margin: 100px auto;
}

.sarani_wrap{
	padding: 60px;
	background: url(../img/bg_wall.webp) repeat center top #FAFAF0;
}

.menu_wrapper{
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 56px;
}

.menu_wrapper ul li{
	padding: 8px 0;
	border-bottom: 1px solid #CDCDCD;
}

.menu_wrapper ul li:first-child{
	border-top: 1px solid #CDCDCD;
}

.menu_wrapper ul li a{
	display: grid;
	grid-template-columns: 236px 1fr;
	align-items: center;
	gap: 20px;
	position: relative;
}

.menu_wrapper ul li a::after{
	content: "";
	display: block;
	margin-left: 35px;
	width: 16px;
	aspect-ratio: 16 / 14;
	background: #7A1728;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow.svg);
	mask-size: contain;
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	transition: ease .3s;
}

.menu_wrapper ul li a:hover::after{
	right: 11px;
}

.sarani_wrap .menu_wrapper ul li a{
	grid-template-columns: 197px 1fr;
}

.menu_wrapper ul li a:hover{
	opacity: 0.8;
}

.about_tsubamesanjo{
	margin: 130px 0;
	position: relative;
  display: flex;
  flex-direction: column;
  padding: 0 5%;
	color: #fff;
	aspect-ratio: 852 / 537;
	background: url(../img/about/tsubamesanjo_bg.webp) no-repeat center center / contain;
}

.about_tsubamesanjo h2{
	margin: 15% 0 15px 0;
	line-height: 1.8;
}

.about_tsubamesanjo .btn{
	margin: 0!important;
	text-align: left;
}

.about_tsubamesanjo .btn a{
	color: #fff!important;
	margin-left: 0;
	background: none;
	text-decoration: none;
	border: 1px solid #fff;
}

.about_tsubamesanjo .btn a::before,
.about_tsubamesanjo .btn a::after{
	background: #fff;
}

@media screen and (max-width: 1250px){
	.about_tsubamesanjo h2{
		margin: 15% 0 15px 0;
		font-size: 2.2rem!important;
	}
}
@media screen and (max-width: 767px){
	.about_tsubamesanjo{
	  padding: 0 5.3vw;
		aspect-ratio: 1 / 1;
		background-size: auto 125%;
	}
	.about_tsubamesanjo h2{
		margin: 5.3vw 3vw;
		font-size: 1.8rem!important;
	}
	.about_tsubamesanjo .btn a{
		font-size: 3.2vw;
		background: rgba(255,255,255,0.3);
	}
}

@media screen and (max-width: 1250px){
	.menu_wrapper{
		gap: 20px;
	}
	.menu_wrapper h2{
		font-size: 2rem;
		margin: 0;
	}
	.menu_wrapper ul li a{
		display: grid;
		grid-template-columns: 40% 1fr;
		align-items: center;
		gap: 20px;
	}
}
@media screen and (max-width: 1000px){
	.menu_wrapper{
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.menu_wrapper h2 br{
		display: none;
	}
}
@media screen and (max-width: 767px){
	.sarani_wrap{
		padding: 5.3vw;
	}
	.menu_wrapper h2 br{
		display: block;
	}
	.menu_wrapper ul li a{
		grid-template-columns: 34% 1fr!important;
		gap: 15px!important;
	}
	.menu_wrapper ul li a img{
		aspect-ratio: 16 / 9!important;
		object-fit: cover;
	}
}

@media screen and (max-width: 767px){
  .title_wrapper .wrap {
    height: 160px;
  }
	.single-post .title_wrapper .wrap{
		min-height: 160px;
	}
	.page-nology .title_wrapper .title{
		line-height: 1.3;
	}
}

.nology_drop{
  display: flex;
  align-items: flex-end;
  justify-content: center;
	transform-origin: center bottom;
}

.nology_drop.is-show {
	animation: tonton 4s ease-in-out forwards;
}

.nology_drop .wp-block-image{
	margin: 0!important;
}

@keyframes tonton {
   0% {
      transform: scale(1, 1) translateY(-100%);
      opacity: 0;
   }
   20% {
      transform: scale(1.3, 0.5) translateY(10%);
      opacity: 1;
   }
   35% {
      transform: scale(1, 1) translateY(-60%);
   }
   48% {
      transform: scale(1.1, 0.8) translateY(8%);
   }
   60% {
      transform: scale(1, 1) translateY(-30%);
   }
   70% {
      transform: scale(1.1, 0.8) translateY(5%);
   }
   78% {
      transform: scale(1, 1) translateY(-15%);
   }
   84% {
      transform: translateY(3%);
   }
   88% {
      transform: translateY(-8%);
   }
   91% {
      transform: translateY(1%);
   }
   93% {
      transform: translateY(-3%);
   }
   95% {
      transform: translateY(0);
   }
   96% {
      transform: translateY(-1%);
   }
   97% {
      transform: translateY(0);
   }

   100% {
      transform: translateY(0);
   }
}

#nology_qa_wrap{
	height: 440px;
	overflow-y: scroll;
	background: #F7F0DC;
	border: 1px solid #E8D7A4;
}

#nology_qa_wrap .wrap{
	padding: 40px;
	overflow: hidden;
}

.splide__pagination{
	bottom: -30px!important;
}

.splide__pagination__page{
	background: #7A1728!important;
	opacity: 1!important;
}

.curriculum_img{
	max-width: 750px;
}

#curriculum_sp_wrap{
	padding-top: 30px;
}

.splide__arrow{
	width: 50px!important;
	height: 50px!important;
	background: url(../img/icon_slide.svg) no-repeat center center / cover!important;
}

.splide__arrow.splide__arrow--prev{
	transform: scale(-1, 1) translateY(-50%);
}

.splide__arrow svg{
	display: none!important;
}

.splide__arrow--prev{
	left: 10px!important;
}

.splide__arrow--next{
	right: 10px!important;
}

@media screen and (max-width: 767px){
	.splide__arrow{
		width: 35px!important;
		height: 35px!important;
	}
	.splide__arrow--prev{
		left: -10px!important;
	}
	.splide__arrow--next{
		right: -10px!important;
	}
}

.word_wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 15px;
  margin: 15px auto;
  font-size: 1.6rem;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 400;
  line-height: 1.5;
}

.word_wrap.re{
  flex-direction: row-reverse;
}

.word_wrap .img{
  width: 80px;
}

.word_wrap.re .img{
	width: 0;
}

.word_wrap .txt{
  width: calc(100% - 120px);
}

.word_wrap.re .txt{
	 width: 100%;
	 padding-right: 20px;
	text-align: right;
}

.word_wrap .txt img{
	display: block;
	max-width: 360px;
	border-radius: 23px;
	margin: 20px 0;
}

.word_wrap .txt .baloon{
  display: inline-block;
  position: relative;
  padding: 15px 30px;
  background-color: #fff;
  border-radius: 28px;
}

.word_wrap.re .txt .baloon{
	background-color: #F5D3D3;
}

.word_wrap .txt .baloon::before {
  content: '';
  display: block;
  position: absolute;
  top: 13px;
  left: -8px;
  transform: rotate(-18deg);
	width: 0;
	height: 0;
	border-style:solid;
	border-width: 20px 10px 0 10px;
	border-color: #fff transparent transparent transparent;
	z-index: -1;
}

.word_wrap.re .txt .baloon::before {
	left: auto;
  right: -8px;
  transform: rotate(10deg);
  border-color: #F5D3D3 transparent transparent transparent;
}

@media screen and (max-width: 767px){
	#nology_qa_wrap .wrap{
		padding: 3vw;
	}
	.word_wrap .img{
	  width: 40px;
	}
	.word_wrap .txt{
	  width: calc(100% - 70px);
	}
}

.RightToLeft {
  opacity: 0;
  transform: translateX(50px);
  transition: .6s;
}

.LeftToRight {
  opacity: 0;
  transform: translateX(-50px);
  transition: .6s;
}

.fadein {
  opacity: 0;
  transform: translateY(100%);
  transition: .6s;
}

.is-show {
  opacity: 1;
  transform: translate(0);
}

.word_wrap:nth-child(1){ transition-delay: .3s;}
.word_wrap:nth-child(2){ transition-delay: .6s;}
.word_wrap:nth-child(3){ transition-delay: .9s;}
.word_wrap:nth-child(4){ transition-delay: 1.2s;}
.word_wrap:nth-child(5){ transition-delay: 1.5s;}

.splide {
	z-index: 0;
}

#wide_wrapper{
	margin-top: 110px;
	padding: 0 20px;
}

@media screen and (max-width: 767px){
	#wide_wrapper{
		margin-top: 30px;
		padding: 0 5.3vw;
	}
}

#wide_wrapper .news_list{
	width: min(100%, 900px);
	margin: 0 auto;
}

.post_search_form{
	width: min(100%, 1000px);
	margin: 0 auto 50px auto;
	padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  font-family: "Zen Kaku Gothic New", serif;
	border: 1px solid #7A1728;
}

.select_btn{
	width: 200px;
	margin: 0;
	border: 1px solid #333;
	cursor: pointer;
	position: relative;
	transition: ease .3s;
}

.select_btn::before{
	content: "";
	display: block;
	width:0;
	height:0;
	border-style:solid;
	border-width: 8px 4px 0 4px;
	border-color: #7A1728 transparent transparent transparent;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	transition: ease .3s;
}

.select_btn select{
	border: none;
	color: #333;
	line-height: 48px;
	height: 48px;
	padding: 0 20px;
	margin: 0;
	border-radius: 0;
	cursor: pointer;
	background: none;
	position: relative;
	z-index: 1;
	transition: ease .3s;
}

.post_search_form .wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.post_search_form .wrap span{
	font-weight: 500;
}

.post_search_form .button_wrap button{
	width: 200px;
	height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
	line-height: 1;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 1.4rem;
  color: #7A1728;
	background: url(../img/bg_wall2.webp) repeat center top / 100% auto;
	border-radius: 9999px;
	cursor: pointer;
	transition: ease .3s;
}

.post_search_form .button_wrap button:hover{
	color: #333;
}

@media screen and (max-width: 1000px){
	.post_search_form{
		margin: 0 auto 30px auto;
		padding: 5.3vw;
		display: grid;
		grid-template-columns: 1fr;
		gap: 5.3vw;
	}
	.post_search_form .wrap{
		display: grid;
		grid-template-columns: 7em 1fr;
		gap: 10px;
	}
	.post_search_form .wrap span{
		text-align: right;
	}
	.select_btn {
	  width: 100%;
	}
	.post_search_form .button_wrap button{
		min-width: 250px;
		margin: 0 auto;
	}
}

.single-post .title_wrapper{
	margin-right: 50px;
}

.single-post .title_wrapper .wrap{
	height: auto;
	min-height: 220px;
	margin-bottom: 50px;
}

@media screen and (max-width: 767px){
	.single-post .title_wrapper .wrap{
		height: auto;
		min-height: 80px;
	}
}
	
.single-post .title_wrapper .title{
	font-size: 4rem;
	line-height: 1.4;
}

.single_datetime{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 100px;
}

.single_datetime time{
	font-size: 2.2rem;
	font-family: "Cormorant", serif;
	font-weight: 500;
	color: #7A1728;
}

.single_datetime .cate_link{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  line-height: 1.3;
}

.single_datetime .cate_link span{
	display: block;
	padding: 1px 15px;
	font-size: 1.3rem;
	border: 1px solid #7A1728;
}

.news_single_body .editer_wrapper{
	width: min(100%, 960px);
	margin: 0 auto;
	padding-bottom: 120px;
}

.post_contact_wrap{
	margin-top: 100px;
	padding: 20px 50px;
	font-family: "Zen Kaku Gothic New", serif;
	line-height: 1.8;
	background: #ede8e8;
}

.post_contact_wrap p.t{
  margin: 0 0 20px 0!important;
	line-height: 1;
	color: #7A1728;
	font-family: "Zen Old Mincho", serif;
	font-size: 2rem;
}

.post_contact_wrap .name{
	display: flex;
	flex-wrap: wrap;
}

.post_contact_wrap .name p:first-child{
	margin-right: 1em;
}

.post_contact_wrap p{
	margin: 0!important;
}

.post_contact_wrap p span{
	display: inline-block;
	margin-right: 1em;
	position: relative;
}

.post_contact_wrap p a{
	color: #102D43;
}

@media screen and (max-width: 767px){
	.post_contact_wrap{
		margin-top: 80px;
	}
	.post_contact_wrap h3{
		padding: 4vw 5vw;
		font-size: 1.6rem;
	}
	.post_contact_wrap{
		padding: 4vw 5vw;
	}
}


@media screen and (max-width: 767px){
	.single-post .title_wrapper{
		margin-right: 5.8vw;
	}
	.single-post .title_wrapper .wrap{
		margin-bottom: 40px;
	}
	.single-post .title_wrapper .title{
		font-size: 2rem;
	}
	.single_datetime{
	  gap: 20px;
	  margin-bottom: 40px;
	}
	.single_datetime time{
		font-size: 2rem;
	}
	.news_single_body .editer_wrapper{
		padding-bottom: 80px;
	}
}

.news_single_body .editer_wrapper h2.wp-block-heading{
	margin: 70px 0!important;
}

.news_single_body .editer_wrapper h3.wp-block-heading{
	margin: 30px 0!important;
}

.news_single_body .editer_wrapper h4.wp-block-heading{
	margin: 30px 0!important;
}

.news_single_body .editer_wrapper h5.wp-block-heading{
	margin: 30px 0!important;
}

.news_single_body .editer_wrapper p{
	font-size: 1.6rem;
	font-family: "Zen Kaku Gothic New", serif;
	margin-bottom: 20px;
}

.news_single_body .editer_wrapper .wp-block-image{
  margin-top: 1em;
  margin-bottom: 1em;
}

.news_single_body .editer_wrapper table th,
.news_single_body .editer_wrapper table td{
	font-size: 1.6rem;
	font-family: "Zen Kaku Gothic New", serif;
}

.news_single_body .editer_wrapper ul,
.news_single_body .editer_wrapper ol{
	margin: 0 0 20px 1.5em;
	padding: 0;
	font-size: 1.6rem;
	font-family: "Zen Kaku Gothic New", serif;
}

.news_single_body .editer_wrapper ul li{
  list-style-type: disc;
}

.news_single_body .editer_wrapper ul li ul li{
  list-style-type: circle;
}

.news_single_body .editer_wrapper ul li,
.news_single_body .editer_wrapper ol li{
  margin: 5px 0 5px 1.5em;
}

.news_single_body .editer_wrapper a:not(.wp-block-button__link)[target="_blank"]::after{
	content: "";
	display: inline-block;
	margin-left: 10px;
	width: 15px;
	aspect-ratio: 15 / 14;
	background: url(../img/icon_window.svg) no-repeat center center;
}

.news_single_body .editer_wrapper a:not(.wp-block-button__link)[href$=".pdf"]::after{
	content: "";
	display: inline-block;
	margin-left: 8px;
	width: 17px;
	aspect-ratio: 17 / 19;
	background: url(../img/icon_pdf.png) no-repeat center center;
}

.news_single_body .editer_wrapper a:not(.wp-block-button__link)[href$=".docx"]::after,
.news_single_body .editer_wrapper a:not(.wp-block-button__link)[href$=".doc"]::after{
	content: "";
	display: inline-block;
	margin-left: 8px;
	width: 18px;
	aspect-ratio: 18 / 17;
	background: url(../img/icon_word.png) no-repeat center center;
}

.news_single_body .editer_wrapper a:not(.wp-block-button__link)[href$=".xls"]::after,
.news_single_body .editer_wrapper a:not(.wp-block-button__link)[href*=".xlsx"]::after,
.news_single_body .editer_wrapper a[href*=".xlsm"]::after{
	content: "";
	display: inline-block;
	margin-left: 8px;
	width: 18px;
	aspect-ratio: 18 / 17;
	background: url(../img/icon_excel.png) no-repeat center center;
}


.btn_line{
	text-align: center;
	width: 210px;
	margin: 100px auto 0 auto!important;
}

.btn_line a{
	height: 56px;
	padding: 0 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  gap: 15px;
	line-height: 1;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 1.4rem;
	text-decoration: none!important;
  color: #7A1728!important;
	background: #fff;
	border: 1px solid #7A1728;
	border-radius: 9999px;
}

.btn_line a::after{
	content: "";
	display: block;
	vertical-align: middle;
	width: 16px;
	height: 14px;
	background: #7A1728;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow.svg);
	mask-size: contain;
	transition: ease .3s;
}

.btn_line a:hover{
	color: #333!important;
	border: 1px solid #333;
}

.btn_line a:hover::after{
	transform: translateX(3px);
	background: #333;
}

.teachers_update{
	font-size: 1.2rem;
	margin-bottom: 100px;
}

.teacher_tb tr th, .teacher_tb tr td{
	border: 1px solid #CACACA!important;	
}

.teacher_tb thead tr th{
	border-top: none!important;
}

.teacher_tb thead tr th:first-child,
.teacher_tb tbody tr td:first-child{
	border-left: none!important;
}

.teacher_tb tbody tr td:last-child{
	border-right: none!important;
}

.teacher_tb tbody tr:first-child td{
	border-top: none!important;
}

.teacher_tb tbody tr:last-child td{
	border-bottom: none!important;
}

.campuslife_item .wp-block-image{
	margin: 0;
}

.campuslife_item.is-layout-flex .txt{
  display: flex;
	justify-content: space-between;
	flex-direction: column;
}

.campuslife_item.is-layout-flex .txt .wp-block-buttons{
	margin-top: 20px;
}
	
@media screen and (max-width: 950px){
	.campuslife_item.is-layout-flex{
		display: block;
	}
	.campuslife_item.is-layout-flex .txt{
		margin-top: 20px;	
	}
}

.campus_list{
	display: grid!important;
	grid-template-columns: 1fr 1fr 1fr 1fr!important;
	gap: 10px!important;
	line-height: 1.3;
}

.campus_list li{
	margin: 10px 0;
}
.campus_list li a{
	text-decoration: underline;
}

.campus_list li a:hover{
	text-decoration: none;
}

@media screen and (max-width: 1000px){
	.campus_list{
		display: grid!important;
		grid-template-columns: 1fr 1fr!important;
	}
}
@media screen and (max-width: 767px){
	.campus_list{
		grid-template-columns: 1fr!important;
		gap: 0!important;
	}
}

.manufacturing_theater-equipment{
	margin: 80px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
}

.manufacturing_theater-equipment .wp-block-column{
	padding: 20px;
	text-align: center;
	background: #FAFAF0;
}

.manufacturing_theater-equipment .wp-block-column h4{
	margin: 0;
	font-family: "Zen Kaku Gothic New", serif;
}

.manufacturing_theater-equipment .wp-block-column h4::before{
	display: none;
}

.gakuwari_tb>table tr th,
.gakuwari_tb>table tr td{
	padding: 10px 20px!important;
	font-size: 1.5rem;
	line-height: 1.5;
}

.gakuwari_tb>table tbody tr:nth-child(odd) td{
	border: 1px solid #f5f5f5;
	background: #fff;
}

.gakuwari_tb>table tbody tr td:first-child{
	white-space: nowrap;
}

.gakuwari_tb>table tr td:nth-child(2){
	white-space: nowrap;
}

@media screen and (max-width: 1300px){
.gakuwari_tb>table tr th,
	.gakuwari_tb>table tr td{
		padding: 10px!important;
	}
	.gakuwari_tb>table tbody tr td:first-child{
		white-space: normal;
	}
}
@media screen and (max-width: 767px){
	.gakuwari_tb>table thead{
		display: none!important;
	}
	.gakuwari_tb>table tbody tr{
		display: block;
		border: 1px solid #ccc;
		margin-top: 20px;
		padding: 10px!important;
	}
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.gakuwari_tb>table tr th,
	.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.gakuwari_tb>table tr td{
		display: block;
		width: auto;
		width: 100%!important;
		text-align: left!important;
		line-height: 1.4;
		font-size: 1.5rem!important;
		background: none!important;
		padding: 0!important;
	}	
	.gakuwari_tb>table tr td + td{
		margin-top: 1em!important;
	}
	.gakuwari_tb>table tbody tr:nth-child(odd) td{
		border: 1px solid #fff;
		background: none!important;
	}
	.gakuwari_tb>table tr td::before{
		display: block;
		margin-bottom: 3px;
		color: #7A1728;
		font-weight: 500;
		width: 100%!important;
	}
	.gakuwari_tb>table tr td:nth-child(1)::before{
		content: "〇店舗名";
	}
	.gakuwari_tb>table tr td:nth-child(2)::before{
		content: "〇TEL";
	}
	.gakuwari_tb>table tr td:nth-child(3)::before{
		content: "〇特典内容";
	}
	.gakuwari_tb>table tr td:nth-child(4)::before{
		content: "〇学生へのPR";
	}
}

#gmap{
	display: block;
	width: 100%;
	height: 450px;
}

.teachers_list{
  display: flex;
  flex-wrap: wrap;
  gap: 90px;
}

.teachers_list li{
	flex: 0 1 220px;
	padding-bottom: 20px;
	line-height: 1.8;
	border-bottom: 1px solid #7A1728;
	position: relative;
}

.teachers_list li .img{
	aspect-ratio: 220 / 245;
	overflow: hidden;
}

.teachers_list li img{
	display: block;
	width: 100%!important;
	height: 100%!important;
	margin: 0!important;
	object-fit: cover!important;
	transition: ease .3s;
}

.teachers_list li:hover .img img{
	transform: scale(1.05, 1.05);
}

.teachers_list li p{
	margin: 15px 0 0 0!important;
}

.teachers_list li p.name{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 1.7rem;
	font-weight: 700;
}

.teachers_list li p.name a{
	text-decoration: none!important;
	color: #333!important;
}

.teachers_list li p.name a::after{
		content:"";
	  position: absolute;
	  top: 0;
	  right: 0;
	  bottom: 0;
	  left: 0;
	  z-index: 1;
	  pointer-events:auto;
		background-color:rgba(0,0,0,0);
}

.teachers_list li p.txt1{
	font-size: 1.4rem;
	font-weight: 500;
}

.teachers_list li p.txt2{
	font-size: 1.6rem;
	font-weight: 700;
}

.single-teachers .title_wrapper .title{
	font-size: 4rem;
}

.teachers_single_body .name_wrap{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 50px;
	margin: 60px 0 40px 0;
}

.teachers_single_body .name_wrap h2{
	margin: 0;
	font-size: 2.9rem;
}

.teachers_single_body .name_wrap p.en{
	margin: 0;
	font-size: 1.7rem;
	font-weight: 700;
	font-family: "Zen Kaku Gothic New", serif;
}

.teachers_single_body .name_wrap .teacher_link{
	margin: 0;
}

.teacher_link a{
	width: 200px;
	height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  position: relative;
	line-height: 1.4;
	font-size: 1.4rem;
	font-family: "Zen Kaku Gothic New", serif;
	text-decoration: none!important;
  color: #7A1728!important;
	background: url(../img/bg_wall2.webp) repeat center top / 100% auto;
	border-radius: 9999px;
}

.teacher_link a::after{
	content: "";
	display: inline-block;
	width: 15px;
	aspect-ratio: 15 / 14;
	background: #7A1728;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_window.svg);
	mask-size: contain;
	transition: ease .3s;
}

.teacher_link a:hover{
	color: #333!important;
}

.teacher_link a:hover::after{
	background: #333;
}

.teacher_gyoseki_wrap .wp-block-list{
	list-style-type: disc;
	margin-left: 1.5em;
}

.teacher_gyoseki_wrap{
    position: relative;
}

.teacher_gyoseki_wrap .txt_wrap{
	position: relative;
	max-height: 150px;
	margin-bottom: 0;
	overflow: hidden;
	transition: max-height 1s;
}

.teacher_gyoseki_wrap:has(:checked) .txt_wrap{
	max-height: 3000vh;
}

.teacher_gyoseki_wrap .txt_wrap::after {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 60px;
	background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .9) 50%, hsla(0, 0%, 100%, .9) 0, #fff);
	content: '';
}

.teacher_gyoseki_wrap:has(:checked) .txt_wrap::after {
	content: none;
}

.teacher_gyoseki_wrap label {
	display: flex;
	align-items: center;
	gap: 0 10px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	color: #7A1728;
	font-size: 1.4rem;
	font-family: "Zen Kaku Gothic New", serif;
	font-weight: 500;
	cursor: pointer;
}

.teacher_gyoseki_wrap:has(:checked) label {
	display: none;
}

.teacher_gyoseki_wrap label::after {
  content: "";
  display: inline-block;
	 width: 4px;
  height: 4px;
  margin-top: -2px;
  border-top: 1px solid #7A1728;
  border-right: 1px solid #7A1728;
  transform: rotate(135deg);
}

.teacher_gyoseki_wrap input {
    display: none;
}

.laboratory_body .wp-block-flexible-table-block-table tbody tr td a{
	display: inline-block;
	text-decoration: underline;
}

.laboratory_body .wp-block-flexible-table-block-table tbody tr td a:hover{
	text-decoration: none;
}

.people_cate_list{
	margin-top: 60px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.people_cate_list li{
	flex: 0 1 120px;
}

.people_cate_list li a{
	height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
	color: #404040;
	font-family: "Zen Kaku Gothic New", serif;
	text-align: center;
	background: #F5F5F5;
	border: 1px solid #CECBCA;
}

.people_cate_list li.active a,
.people_cate_list li a:hover{
	color: #fff;
	background: #7A1728;
	border: 1px solid #7A1728;
}

.people_single_body{
	
}














.people_list li{
	margin-top: 100px;
  display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #7A1728;
	position: relative;
}

.people_list li::after{
	content: "";
	display: block;
	margin-left: 35px;
	width: 16px;
	aspect-ratio: 16 / 14;
	background: #7A1728;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-image: url(../img/icon_arrow.svg);
	mask-size: contain;
	position: absolute;
	bottom: 20px;
	right: 3px;
	transition: ease .3s;
}

.people_list li:hover::after{
	right: 0;
}

.people_list li .img{
	flex: 0 1 50%;
	order: -2;
	position: relative;
	overflow: hidden;
}

.people_list li .img img{
	display: block;
	width: 100%!important;
	height: 100%!important;
	margin: 0!important;
	object-fit: cover!important;
	transition: ease .3s;
}

.people_list li:hover .img img{
	transform: scale(1.05, 1.05);
}

.people_list li .txt{
	flex: 0 1 50%;
	padding: 0 0 20px 40px;
}

.people_cate a, .people_cate span{
	color: #404040;
	font-size: 1.2rem;
	font-family: "Zen Kaku Gothic New", serif;
	display: inline-block;
	padding: 0 20px;
	background: #F5F5F5;
	border: 1px solid #CECBCA;
}

.people_cate span.current,
.people_cate span:hover,
.people_cate a.current,
.people_cate a:hover{
	color: #fff;
	background: #7A1728;
	border: 1px solid #7A1728;
}

.people_name{
	margin: 10px 0 0 0!important;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
}

.people_name a{
	color: #333!important;
	text-decoration: none!important;
}

.people_name a::after{
	content:"";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	pointer-events:auto;
	background-color:rgba(0,0,0,0);
}

.people_year{
	font-size: 1.2rem;
	margin: 10px 0 0 0!important;
}

.people_catch{
	margin: 20px 0 0 0!important;
	line-height: 1.4;
	font-size: 2rem;
	color: #7A1728;
}

.people_date{
	display: block;
	margin-top: 20px!important;
	font-size: 1.2rem;
}

@media screen and (max-width: 767px){
	.people_list li{
			display: block;
			margin-top: 60px;
	}
	.people_list li::after{
		bottom: auto;
		top: 20px;
	}
	.people_list li .txt{
		padding: 0 0 20px 0!important;
	}
}

.single-people_item .title_wrapper .title{
	font-size: 4rem;
	line-height: 1.4;
}

.people_img{
	max-width: 675px;
}

.people_single_body .cate_date{
	margin-top: 30px;
	display: flex;
	align-items: center;
	gap: 20px;
}

.people_single_body .cate_date .people_date{
	margin: 0!important;
}

@media screen and (max-width: 767px){
	.single-people_item .title_wrapper .title{
		font-size: 2rem;
	}
	.people_img{
		max-width: none;
	}
}

#other_people .people_list li{
	margin-top: 60px;
}

#other_people .people_list li .img{
	flex: 0 1 250px;
	z-index: -2;
}

#other_people .people_list li .txt{
	flex: 1 1 0%;
  display: flex;
	justify-content: space-between;
	flex-direction: column;
}

#other_people .people_list li .txt .wrap{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px 25px;
}

#other_people .people_list li .txt .wrap > *{
	margin: 0!important;
}

.recruit_body p{
	font-family: "Zen Kaku Gothic New", serif;
}

.is-hide{
	display: none!important;
}

.is-hide-0402{
	border: 1px solid red;
}

.cm_list li {
  position: relative;
  padding-left: 1em;
}
.cm_list li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px){
	.cm_list li::before {
	  top: 0.3em;
	}
}

.cm_table01{
	margin: 1em 0;
	width: 100%;
  max-width: 100%;
  border-collapse: collapse;
}

.cm_table01 th,.cm_table01 td{
	padding: 30px;
	border-width: 2px;
	border-style: solid;
	border-color: #ffffff;
	text-align: left;
	vertical-align: top;
	font-family: "Zen Kaku Gothic New", serif;
	font-weight: 400;
	font-size: 80%;

}

.cm_table01 th{
	color: #7a1728;
	background-color: #f7f2f0;
}

.cm_table01 td{
  background-color: #f5f5f5;
}
@media screen and (max-width: 1024px){
	.cm_table01_scroll table{
		width: 800px;
		max-width: 800px;
	}
}
       
@media screen and (max-width: 767px){
	.cm_table01 th,.cm_table01 td{
		padding: 10px !important;
		line-height: 1.4 !important;
		font-size: 1.3rem !important;

	}
}

.cm_acc[open] .cm_acc__summary span::after{
	content: '▲';
}

.cm_acc__summary::-webkit-details-marker {
  display: none;
}

.cm_acc__summary::marker {
	display: none;
	content: '';
}
.cm_acc__summary span{
	position: relative;
	display: inline-block;
	padding-right: 1.5em;
}
.cm_acc__summary span::after{
	position: absolute;
	left: auto;
	right: 0;
	top: 35%;
	transform: translateY(-50%);
	content: '▼';
	display: block;
	color: #7a1728;
	width: 1.25em;
	height: 1.25em;
}
@media screen and (max-width: 767px){
	.cm_acc__summary span::after{
		top: 50%;
	}
}

/**************
* lang
***************/
.lang_btn_header_pc{
	display: flex;
	align-items: center;
	justify-content: center;
  height: 100%;
}

.lang_btn_header_pc .js-lang-chg .text{
	display: none;
}

.lang_btn_header_sp{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1em 0 2em;
}
.lang_btn_footer_pc{
	margin: 20px auto 0 30px;
}
.lang_btn_footer_sp{
		height: 80px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: rgb(246, 246, 246);
}
.lang_btn{
	position: relative;
	font-size: 13px;
	font-weight: 400;
	cursor: pointer;
}

.js-lang-chg{
	position: relative;
	display: flex;
	align-items: center;
	gap: 0 12px;
	color: #404040;
}

.js-lang-chg .icon{
	width: 19px;
	height: 19px;
	background: #404040;
  -webkit-mask-image: url(../img/icon_lang.svg);
  mask-image: url(../img/icon_lang.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;	
}

.lang_menu .text{
	color: #6A6A6A;
}

.js-lang-chg.is-show + .lang_menu{
	opacity: 1;
	visibility: visible;
	z-index: 99999;
}

.lang_menu{
	position: absolute;
	background: #f6f6f6;
	padding: 0.5rem 1rem;
	border-radius: 5px;
	width: 150px;
	top:32px;
	left: 0;
	z-index: -4;
	opacity: 0;
	visibility: hidden;
	transition: 0.2s ease all;
}

.al-languages{
	display: flex;
	flex-direction: column;
	align-items: start;
}
.al-switch{
	width: 100%;
	text-align: start;
	padding: 3px 0;
	cursor: pointer;
}
.al-switch:hover{
	color: #7a1728;
}
.al-switch::before{
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	border: 0;
	border-top: solid 2px #7a1728;
	border-left: solid 2px #7a1728;
	position: relative;
	top: -3px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(135deg);
	margin-right: 10px;
}