/* 共通 */
svg{
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}
.h-title{
	display: grid;
	grid-template-columns: 20px auto;
	grid-template-areas: 
		"icon en"
		"title title";
	gap: 8px 5px;
	margin-bottom: 36px;
}
.h-title svg{
	grid-area: icon;
	align-self: center;
	width: 16px;
	height: 16px;
}
.h-title span[lnag="en"]{
	grid-area: en;
	display: block;
	align-self: center;
	font-size: 0.9375rem;
	font-family: var(--font-hanken);
	line-height: 1;
}
.h-title h2{
	grid-area: title;
	font-family: var(--font-zen);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
  line-height: 1.2;
}
@media (min-width:768px){ /* 768px以上全て */
}
@media screen and (min-width:768px) and (max-width:1499px) {
/* for 幅狭PC＆TAB */
}
@media screen and (max-width: 767px) { /* for SP */
	.h-title{
		gap:  0.5em 1em;
		margin-bottom: 5vw;
	}
	.h-title svg{
		width: 1.5em;
		height: 1.5em;
	}
	.h-title h2{
		font-size: 1.5rem;
		letter-spacing: 0.03em;
	}
	.footBtn{
		margin-top: 10vw;
	}
	.footBtn a{
		max-width: 100%;
		padding: 5vw 8vw;
	}
}

/* entry-header */
.entry-header{
	display: grid;
	grid-template-columns: 122px 1fr 300px;
	grid-template-rows: 30px auto 1fr;
	grid-template-areas: 
		"icon pankuzu thumb"
		"title title thumb"
		"english english thumb";
	width: 100%;
	gap: 12px 32px;
	max-width: var(--width);
	margin-left: auto;
	margin-right: auto;
	padding-top: 50px;
	padding-bottom: 80px;
	text-align: left;
}
.entry-header .services-icon{
	grid-area: icon;
	display: block;
	align-self: center;
	padding: 6px 0.5em;
	text-align: center;
	font-size: 1.0625rem;
	font-family: var(--font-en);
	color: #FFF;
	background: #000;
	border-radius: 5px;
	line-height: 1;
}
.entry-header .breadLink{
	grid-area: pankuzu;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	align-self: center;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
}
.entry-header .breadLink .slash{
	display: block;
	width: 7px;
	height: 11px;
	background: var(--fontColor);
	margin-left: 8px;
	margin-right: 8px;
	clip-path: polygon(90% 0, 100% 0, 10% 100%, 0% 100%);
	position: relative;
	top: 1px;
}
.entry-header .breadLink .post{
	margin-bottom: 0;
}
.entry-header .breadLink [property="itemListElement"] span.post{
	color: var(--mainColor);
}
.entry-header h1{
	font-weight: 400;
}
.entry-header .entry-title{
	grid-area: title;
	font-size: 3.5rem;
	font-family: var(--font-zen);
	font-weight: 600;
	letter-spacing: 0.06em;
}
.entry-header .title-english{
	grid-area: english;
	margin-top: 0;
	font-family: var(--font-hanken);
	font-size: 1.125rem;
	text-transform: uppercase;
}
.entry-header .category-thumb{
	grid-area: thumb;
	display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
	align-self: flex-start;
	justify-self: end;
	width: 100%;
	max-width: 210px;
	font-family: var(--font-en);
	font-size: 5rem;
	font-weight: 400;
	line-height: 1;
	color: #FFF;
	text-align: center;
	text-transform: uppercase;
	border-radius: 10px;
	background-repeat: repeat;
	background-position: left -75px top;
	background-size: 150px auto;
}
.entry-header .category-thumb.rm{
	background-image: url("../images/bg_rm.png");
	background-color: #560F12;
}
.entry-header .category-thumb.dd{
	background-image: url("../images/bg_dd.png");
	background-color: #012F4D;
}
.entry-header .category-thumb.se{
	background-image: url("../images/bg_se.png");
	background-color: #55361D;
}
.entry-header .category-thumb.em{
	background-image: url("../images/bg_em.png");
	background-color: #003D2C;
}
@media (min-width:768px){ /* 768px以上全て */
  .entry-header .category-thumb{
    height: 100%;
  }
}
@media screen and (min-width:768px) and (max-width:1499px) {
/* for 幅狭PC＆TAB */
	.entry-header{
		grid-template-columns: 122px 1fr auto;
		padding-left: 2vw;
		padding-right: 2vw;
	}
	.entry-header .category-thumb{
		width: 18vw;
		max-width: 300px;
		font-size: clamp(7vw, 5rem, 10vw);
    height: 90%;
	}
}
@media screen and (max-width: 767px) { /* for SP */
	
	.entry-header{
		padding-left: 5vw;
		padding-right: 5vw;
		grid-template-columns: 1fr 27vw;
		grid-template-rows: auto auto auto auto;
		grid-template-areas: 
			"icon icon"
			"pankuzu pankuzu"
			"title  thumb"
			"english thumb";
		gap: 2vw 5vw;
		padding-top: 0;
		padding-bottom: 12vw;
	}
	.entry-header .services-icon{
		align-self: start;
		justify-self: start;
		font-size: 0.875rem;
		border-radius: 4px;
	}
	.entry-header .breadLink{
		letter-spacing: 0em;
	}
	.entry-header .breadLink .slash{
		width: 0.6em;
		height: 0.8em;
	}
	.entry-header .entry-title{
		padding-top: 2vw;
		font-size: 2rem;
		line-height: 1.2;
		letter-spacing: 0.03em;
	}
	.entry-header .title-english{
		font-size: 0.8125rem;
		align-self: start;
	}
	.entry-header .category-thumb{
		aspect-ratio: 4/3;
		font-size: 2.75rem;
		align-self: start;
		padding: 0.5em;
		border-radius: 8px;
	}
}

/* entry-sepalate */
.entry-sepalate{
	display: block;
	width: 100%;
	height: 5px;
	background: var(--bg-gray);
}
.entry-sepalate .inner{
	display: block;
	width: 100%;
	max-width: var(--width);
	margin-left: auto;
	margin-right: auto;
}
.entry-sepalate .inner::before{
	content: "";
	display: block;
	width: 80px;
	height: 5px;
	background: var(--mainColor);
}
@media (min-width:768px){ /* 768px以上全て */
}
@media screen and (min-width:768px) and (max-width:1499px) {
/* for 幅狭PC＆TAB */
	.entry-sepalate .inner{
		padding-left: 2vw;
		padding-right: 2vw;
	}
}
@media screen and (max-width: 767px) { /* for SP */
	.entry-sepalate .inner{
		padding-left: 5vw;
		padding-right: 5vw;
	}
}

/* entry-grid */
.entry-grid{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	align-items: flex-start;
	width: 100%;
	max-width: var(--width);
	padding-top: 100px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
@media (min-width:768px){ /* 768px以上全て */
}
@media screen and (min-width:768px) and (max-width:1499px) {
/* for 幅狭PC＆TAB */
	.entry-grid{
		padding-left: 2vw;
		padding-right: 2vw;
	}	
}
@media screen and (max-width: 767px) { /* for SP */
	.entry-grid{
		justify-content: flex-start;
		padding-top: 8vw;
		padding-left: 5vw;
		padding-right: 5vw;
	}
}

/* aside */
aside{
	width: 100%;
	max-width: 336px;
	position: relative;
	margin-right: auto;
	padding-bottom: 60px;
	text-align: left;
}
.multiPage aside .pagename{
	display: block;
	padding-bottom: 16px;
	margin-bottom: 38px;
	font-size: 1.5625rem;
	font-weight: 500;
	border-bottom: var(--border);
	letter-spacing: 0;
}
.aside--title{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 8px;
	padding-bottom: 24px;
}
.aside--title svg{
	width: 12px;
	height: 7px;
}
.aside--title p{
	text-transform: uppercase;
	font-family: var(--font-hanken);
	font-size: 1.0625rem;
	font-weight: 400;
}
.multiPage aside .aside--chiledPage li:not(:last-child){
	margin-bottom: 22px;
}
.multiPage aside .aside--chiledPage a{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
	letter-spacing: 0.03em;
	font-size: 0.9375rem;
	color: var(--fontColor-500);
}
.multiPage aside .aside--chiledPage a i{
	display: grid;
	place-content: center;
	width: 22px;
	height: 13px;
	border: var(--border);
	border-radius: 3px;
	background: #FFF;
}
.multiPage aside .aside--chiledPage a i svg{
	width: 8px;
	height: 6px;
}
aside .h-title{
	gap: 2px 4px;
}
aside .h-title svg{
	width: 16px;
	height: 16px;
	align-self: start;
	margin-top: 0.3em;
}
aside .h-title span[lang="en"]{
	text-align: left;
	font-size: 0.9375rem;
	letter-spacing: 0.08em;
}
aside .h-title p{
	grid-area: title;
	text-align: left;
	font-size: 2rem;
	font-family: var(--font-zen);
	font-weight: 600;
	letter-spacing: 0.08em;
}
@media (min-width:768px){ /* 768px以上全て */
	aside.fixed{
		position: fixed;
		top: 100px;
		left: calc(50% - 720px);
	}
	aside.stop{
		position: absolute;
		top: auto;
		bottom: 0;
		left: calc(50% - 720px);
	}
	.multiPage aside .aside--chiledPage li.crr a{
		color: var(--mainColor);
	}
}
@media screen and (min-width:768px) and (max-width:1499px) {
/* for 幅狭PC＆TAB */
	aside{
		max-width: 18vw;
	}	
	aside.fixed{
		left: 2vw;
	}
	aside.stop{
		left: 2vw;
	}
	.multiPage aside .pagename{
		font-size: 1.375rem;
	}
	aside .h-title p{
		font-size: 1.75rem;
	}
}
@media screen and (max-width: 767px) { /* for SP */
	aside{
		max-width: 100%;
		padding-bottom: 0;
	}
	.multiPage aside .pagename{
		display: none;
	}
	.aside--title{
		gap: 0.6em;
		padding-bottom: 2.5vw;
	}
	.multiPage aside .aside--chiledPage li:not(:last-child){
		margin-bottom: 3vw;
	}
	.multiPage aside .aside--chiledPage li:last-child{
		margin-bottom: 8vw;
	}
	aside .h-title{
		display: none;
	}
}

/* entry-content */
.entry-content{
	display: block;
	width: 100%;
	max-width: 1024px;
	margin-top: 0;
	font-size: 0.875rem;
	padding-bottom: 80px;
}
.service--parentPost h2{
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	min-height: 2em;
	margin-bottom: 36px;
	padding: 1.875rem 2.5rem;
	font-size: 1.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	border-radius: 5px;
	color: #FFF;
	background: #000;
}
.service--parentPost h2:not(:first-child){
	margin-top: 0;
}
.term_rm .service--parentPost h2{
	background-image: var(--rm);
}
.term_dd .service--parentPost h2{
	background-image: var(--dd);
}
.term_se .service--parentPost h2{
	background-image: var(--se);
}
.term_em .service--parentPost  h2{
	background-image: var(--em);
}
.service--parentPost #allOpenBtn{
	display: block;
	margin-top: 100px;
	margin-bottom: 20px;
	margin-left: auto;
	padding: 0.7em 1.5em;
	border: none;
	color: #FFF;
	line-height: 1;
	font-size: 1rem;
	text-align: center;
	border-radius: 20px;
	background: var(--mainColor);
	cursor: pointer;
}
.entry-content h3{
	margin-top: 70px;
	margin-bottom: 20px;
	font-size: 1.375rem;
	font-weight: 600;
	letter-spacing: 0.08em;
}
.entry-content h4{
	margin-top: 50px;
	margin-bottom: 24px;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.08em;
}
.entry-content p{
	color: var(--font-300);
	line-height: 2;
	margin-top: 24px;
	margin-bottom: 24px;
}
.entry-content p.mT0{
  margin-top: 0;
}
.entry-content p.aligncenter{
  text-align: center;
}
.entry-content 	p:not(.link-text) a{
	color: var(--link);
	text-decoration: underline;
}
.entry-content 	p:not(.link-text) a:hover{
	text-decoration: none;
}
.entry-content p.link-text{
	font-size: 1rem;
}
.entry-content p.link-text a{
  display: inline-block;
	padding-right: 60px;
	position: relative;
}
.entry-content p.link-text a:not([target="_blank"])::after,
.entry-content p.link-text a[target="_blank"]::after{
	content: "";
	display: block;
	width: 36px;
	height: 20px;
	margin-left: 1em;
	border-radius: 25px;
	position: absolute;
	top: 0.4em;
	right: 10px;
}
.entry-content p.link-text a:not([target="_blank"])::after{
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010.16%208.48%22%20fill%3D%22%23FFF%22%3E%3Cpath%20d%3D%22M5.91%2C8.48l-.71-.71%2C3.04-3.04H0v-1h8.24L5.21.71l.71-.71%2C4.24%2C4.24-4.24%2C4.24h0Z%22%2F%3E%3C%2Fsvg%3E') #000 no-repeat center center / 12px auto;
}
.entry-content p.link-text a[target="_blank"]::after{
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.54%207.54%22%20fill%3D%22%23FFF%22%3E%3Cpath%20d%3D%22M7.53%2C6h-1V1.71S.71%2C7.54.71%2C7.54l-.71-.71L5.83%2C1H1.54s0-1%2C0-1h6s0%2C6%2C0%2C6h0Z%22%2F%3E%3C%2Fsvg%3E') #000 no-repeat center center / 8px auto;
}
.entry-content .link-pdf{
	font-size: 1rem;
}
.entry-content .link-pdf a{
	padding-right: 40px;
	position: relative;
}
.entry-content .link-pdf a::after{
	content: "";
	display: block;
	width: 18px;
	height: 24px;
	margin-left: 1em;
	position: absolute;
	top: 0;
	right: 10px;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2024%22%20fill%3D%22%23000%22%20width%3D%2218%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M8.53%2C12c-.21-.71-.24-1.47-.09-2.2.39%2C0%2C.36%2C1.74.09%2C2.2ZM8.45%2C14.21c-.37%2C1.01-.81%2C1.99-1.33%2C2.94.95-.43%2C1.94-.77%2C2.95-1.03-.67-.52-1.22-1.17-1.62-1.91h0ZM4.04%2C20.06s.62-.25%2C1.64-1.88c-.66.52-1.22%2C1.16-1.64%2C1.89h0ZM11.63%2C7.5h6.38v15.38c0%2C.62-.5%2C1.12-1.12%2C1.12%2C0%2C0%2C0%2C0%2C0%2C0H1.13C.51%2C24%2C0%2C23.5%2C0%2C22.88c0%2C0%2C0%2C0%2C0%2C0V1.13C0%2C.51.5%2C0%2C1.12%2C0c0%2C0%2C0%2C0%2C0%2C0h9.38v6.38c0%2C.62.5%2C1.12%2C1.12%2C1.12ZM11.25%2C15.55c-.94-.58-1.65-1.47-2-2.52.32-.97.42-2%2C.29-3.01-.08-.64-.67-1.1-1.31-1.02-.41.05-.76.32-.93.7-.16%2C1.22-.03%2C2.45.38%2C3.61-.57%2C1.37-1.21%2C2.71-1.91%2C4.02h0c-1.27.65-3.45%2C2.09-2.56%2C3.19.26.29.62.46%2C1.01.48.84%2C0%2C1.67-.84%2C2.86-2.9%2C1.21-.45%2C2.44-.81%2C3.7-1.09.92.52%2C1.94.84%2C3%2C.91.67.02%2C1.23-.51%2C1.24-1.18%2C0-.31-.11-.62-.32-.85-.65-.64-2.55-.45-3.45-.34h0ZM17.67%2C4.92L13.08.33C12.87.12%2C12.58%2C0%2C12.28%2C0h-.28v6h6v-.29c0-.3-.12-.58-.33-.79ZM14.2%2C16.89c.19-.13-.12-.56-2.01-.42%2C1.74.74%2C2.01.42%2C2.01.42Z%22%2F%3E%3C%2Fsvg%3E') #FFF no-repeat center center / 18px auto;
}
.entry-content figure{
	display: block;
	margin-top: 30px;
	margin-bottom: 30px;
  text-align: center;
}
.entry-content figure + figure {
  margin-top: 50px;
}
.entry-content h3 + figure{
  margin-top: 25px;
}
.entry-content figure figcaption{
  text-align: center;
}
.entry-content .wp-block-group.alignLeft {
  justify-content: left;
}
.entry-content ul,
.entry-content ol{
	margin-top: 34px;
	margin-bottom: 34px;
}
.entry-content ul.mT0,
.entry-content ol.mT0{
  margin-top: 0;
}
.entry-content ul li{
	padding-left: 1.15em;
	font-weight: 500;
	letter-spacing: 0.08em;
	position: relative;
}
.entry-content ul:not(.rowList) li:not(:last-child){
	margin-bottom: 20px;
}
.entry-content ul li::before{
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	background: var(--mainColor);
	border-radius: 50%;
	position: absolute;
	top: 0.5em;
	left: 0;
}
.entry-content ul.rowList{
	display: flex;
  flex-wrap: wrap;
	gap: 0.5rem 3.125rem;
	background: var(--bg-gray);
	padding: 1em 2em;
	border-radius: 10px;
}
.entry-content ol{
	counter-reset: number 0;
	border-top: var(--border);
	padding-left: 0;
}
.entry-content ol li{
	padding-top: 20px;
	padding-left: 2.2em;
	padding-bottom: 20px;
	font-size: 1rem;
	border-bottom: var(--border);
	position: relative;
}
.entry-content ol li::before{
  content: counter(number);
  counter-increment: number 1;
	font-family: var(--font-hanken);
	font-size: 1rem;
	font-weight: bold;
	color: var(--mainColor);
	position: absolute;
	top: 1.25em;
	left: 0;
}
.entry-content ol li:nth-child(-n+9)::before {
  content: "0" counter(number);
}
.entry-content .colorRed{
  color: var(--rm-icon);
}
.entry-content .bgRed {
  background: #FFEEEE;
  padding: 1em 2em;
}
.entry-content .bgRed p{
  margin: 0;
}
.entry-content .squareTitle {
  position: relative;
  padding-left: 1.5em;
}
.entry-content .squareTitle::before {
  content: "";
  display: block;
  width: .875em;
  height: .875em;
  background: var(--mainColor);
  position: absolute;
  left: 0;
  top: 0.6em;
}
.entry-content .flowBox{
  margin: 2rem 0;
}
.entry-content .flowBox .in-box{
  border: var(--border);
  padding: 1.5em 2em;
  position: relative;
}
.entry-content .flowBox .in-box *:first-child{
  margin-top: 0;
}
.entry-content .flowBox .in-box *:last-child{
  margin-bottom: 0;
}
.entry-content .flowBox .in-box + .in-box{
  margin-top: 40px;
}
.entry-content .flowBox .in-box:not(:last-of-type)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 20px 30px 0 30px;
  border-color: var(--mainColor) transparent transparent;
  translate: -50% 100%;
}
.entry-content .flowBox .in-box h4{
   margin-bottom: 1em; 
}
.entry-content .flowBox .in-box ul {
  margin-top: 1em;
}
.entry-content table,
.entry-content table th,
.entry-content table td{
	border-color: #DDD;
}
.entry-content table{
  border-left: var(--border);
  border-top: var(--border);
}
.entry-content table thead{
	border-bottom-width: 1px;
}
.entry-content table th{
  border-right: var(--border);
  border-bottom: var(--border);
  padding: 0.8em 1em;
  background: var(--bg-gray);
}
.entry-content table td{
  border-right: var(--border);
  border-bottom: var(--border);
  padding: 0.8em 1em;
}
.entry-content table td p,
.entry-content table td ul{
  margin: 0;
}
.entry-content table .link-text {
  font-size: inherit;
}
.entry-content table td ul li{
  font-weight: 400;
}
.entry-content table td ul:not(.rowList) li:not(:last-child) {
  margin-bottom: 0.5em;
}
.entry-content table .center{
  text-align: center;
}
.entry-content table a{
  color: var(--link);
  text-decoration: underline;
}
.entry-content table a:hover{
  text-decoration: none;
}
.entry-content .column-img-2{
  display: flex;
  flex-wrap: wrap;
}
.entry-content .column-img-2 .textArea *:first-child{
  margin-top: 0;
}
.entry-content .column-img-2 figure{
  margin: 0;
}
.wp-block-buttons{
	margin-top: 36px;
	margin-bottom: 36px;
}
.wp-block-button{
	width: calc((100% - 3em) / 4);
}
.wp-block-buttons.btns3 .wp-block-button{
	width: calc((100% - 2em) / 3);
}
.wp-block-buttons.btns2 .wp-block-button{
	width: calc((100% - 2em) / 2);
}
.wp-block-buttons.btns1 .wp-block-button{
	width: auto;
  max-width: 100%;
}
.wp-block-button a{
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	gap: 1em;
	font-weight: 500;
	font-size: 1rem;
	padding: 1.25em 1.8em;
}
.wp-block-button.btn-link a::after{
	content: "";
	display: block;
	width: 40px;
	height: 20px;
	background-color: #FFF;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 24px;
}
.wp-block-button.btn-link a:not([target="_blank"])::after{
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010.16%208.48%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M5.91%2C8.48l-.71-.71%2C3.04-3.04H0v-1h8.24L5.21.71l.71-.71%2C4.24%2C4.24-4.24%2C4.24h0Z%22%2F%3E%3C%2Fsvg%3E');
	background-size: 12px auto;
}
.wp-block-button.btn-link.back a:not([target="_blank"])::after{
	transform: rotate(180deg);
}
.wp-block-button.btn-link a[target="_blank"]::after{
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%207.54%207.54%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M7.53%2C6h-1V1.71S.71%2C7.54.71%2C7.54l-.71-.71L5.83%2C1H1.54s0-1%2C0-1h6s0%2C6%2C0%2C6h0Z%22%2F%3E%3C%2Fsvg%3E');
	background-size: 8px auto;
}
.wp-block-button.btn-pdf a::after{
	content: "";
	display: block;
	width: 18px;
	height: 24px;
	margin-left: 1em;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2018%2024%22%20fill%3D%22%23FFF%22%20width%3D%2218%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M8.53%2C12c-.21-.71-.24-1.47-.09-2.2.39%2C0%2C.36%2C1.74.09%2C2.2ZM8.45%2C14.21c-.37%2C1.01-.81%2C1.99-1.33%2C2.94.95-.43%2C1.94-.77%2C2.95-1.03-.67-.52-1.22-1.17-1.62-1.91h0ZM4.04%2C20.06s.62-.25%2C1.64-1.88c-.66.52-1.22%2C1.16-1.64%2C1.89h0ZM11.63%2C7.5h6.38v15.38c0%2C.62-.5%2C1.12-1.12%2C1.12%2C0%2C0%2C0%2C0%2C0%2C0H1.13C.51%2C24%2C0%2C23.5%2C0%2C22.88c0%2C0%2C0%2C0%2C0%2C0V1.13C0%2C.51.5%2C0%2C1.12%2C0c0%2C0%2C0%2C0%2C0%2C0h9.38v6.38c0%2C.62.5%2C1.12%2C1.12%2C1.12ZM11.25%2C15.55c-.94-.58-1.65-1.47-2-2.52.32-.97.42-2%2C.29-3.01-.08-.64-.67-1.1-1.31-1.02-.41.05-.76.32-.93.7-.16%2C1.22-.03%2C2.45.38%2C3.61-.57%2C1.37-1.21%2C2.71-1.91%2C4.02h0c-1.27.65-3.45%2C2.09-2.56%2C3.19.26.29.62.46%2C1.01.48.84%2C0%2C1.67-.84%2C2.86-2.9%2C1.21-.45%2C2.44-.81%2C3.7-1.09.92.52%2C1.94.84%2C3%2C.91.67.02%2C1.23-.51%2C1.24-1.18%2C0-.31-.11-.62-.32-.85-.65-.64-2.55-.45-3.45-.34h0ZM17.67%2C4.92L13.08.33C12.87.12%2C12.58%2C0%2C12.28%2C0h-.28v6h6v-.29c0-.3-.12-.58-.33-.79ZM14.2%2C16.89c.19-.13-.12-.56-2.01-.42%2C1.74.74%2C2.01.42%2C2.01.42Z%22%2F%3E%3C%2Fsvg%3E') no-repeat center center / 18px auto;
}
.accordion-wrap{
	margin-top: 50px;
}
.accordionKey{
	display: block;
	width: 100%;
	border-top: var(--border);
	position: relative;
	cursor: pointer;
}
.accordionKey::before{
	content: "";
	display: block;
	width: 50px;
	height: 5px;
	background: var(--rm-icon);
	position: absolute;
	top: -4px;
	left: 0;
	cursor: pointer;
}
.term_dd .accordionKey::before{
  background: var(--dd-icon);
}
.term_se .accordionKey::before{
  background: var(--se-icon);
}
.term_em .accordionKey::before{
  background: var(--em-icon);
}
.accordionKey::after{
	content: "";
	display: block;
	width: 36px;
	height: 20px;
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013%2013%22%20fill%3D%22%23FFF%22%3E%3Cpolygon%20points%3D%2213%206%207%206%207%200%206%200%206%206%200%206%200%207%206%207%206%2013%207%2013%207%207%2013%207%2013%206%22%2F%3E%3C%2Fsvg%3E') #000 no-repeat center center / 13px auto;
	border-radius: 25px;
	position: absolute;
	top: 3em;
	right: 0;
}
.active .accordionKey::after{
	background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2013%201%22%20fill%3D%22%23FFF%22%3E%3Crect%20class%3D%22cls-1%22%20width%3D%2213%22%20height%3D%221%22%2F%3E%3C%2Fsvg%3E') #000 no-repeat center center / 13px auto;
}
.accordionKey h3{
	padding-right: 60px;
	margin-top: 34px;
	font-size: 1.625rem;
	font-weight: 500;
	letter-spacing: 0.08em;
}
.accordion-body{
	margin-top: 80px;
	margin-bottom: 60px;
}
.accordion-wrap:not(.active) .accordion-body{
	opacity: 0;
	pointer-events: none;
	height: 0px;
	padding-top: 0;
	padding-bottom: 0;
  margin: 0;
	overflow: hidden;
	transition: all 0.3s ease;
}
.accordion-wrap.active .accordion-body{
	height: auto;
	transition: all 0.3s ease;
}
.service--parentPost{
	margin-bottom: 56px;
}

@media (min-width:768px){ /* 768px以上全て */
	.service--parentPost #allOpenBtn:hover{
		background-color: var(--btnColor-crr);
		transition: background-color 0.3s ease;
	}
  .entry-content .column-img-2{
    gap:4em;
    margin: 3em 0;
  }
  .entry-content .column-img-2 .textArea{
    flex: 1;
  }
	.wp-block-button a{
		transition: all 0.3s ease;
	}
	.wp-block-button a:hover{
		color: #FFF;
		background: var(--btnColor2-crr);
		transition: all 0.3s ease;
	}
}
@media screen and (min-width:768px) and (max-width:1499px) {
/* for 幅狭PC＆TAB */
	.entry-content{
		max-width: 73vw;
	}
	.wp-block-button{
		width: calc((100% - 2em) / 3);
	}
	.wp-block-buttons.btns3 .wp-block-button{
		width: calc((100% - 1em) / 2);
	}
	.wp-block-button a{
		padding: 1.25em 1.3em;
	}
}
@media screen and (max-width: 767px) { /* for SP */
	.entry-content{
		padding-bottom: 12vw;
	}
	.service--parentPost{
		margin-bottom: 4vw;
	}
	.service--parentPost h2{
		min-height: auto;
		margin-bottom: 5vw;
		padding: 1.3em 4vw;
		font-size: 1.5rem;
		letter-spacing: 0.03em;
	}
	.service--parentPost #allOpenBtn{
		border-radius: 2rem;
		margin-top: 10vw;
		margin-bottom: 0;
		padding: 0.7em 1.2em;
		font-size: 0.875rem;
	}
	.entry-content h3{
		margin-top: 9vw;
		margin-bottom: 4vw;
		font-size: 1.25rem;
		letter-spacing: 0.03em;
	}
	.entry-content h4{
		margin-top: 8vw;
		margin-bottom: 5vw;
		font-size: 1.125rem;
		letter-spacing: 0.03em;
	}
	.entry-content p{
		font-size: 1rem;
		margin-top: 5vw;
		margin-bottom: 5vw;
	}
	.entry-content figure{
		margin-top: 5vw;
		margin-bottom: 5vw;
	}
  .entry-content figure + figure {
    margin-top: 7vw;
  }
  .entry-content h3 + figure{
    margin-top: 4vw;
  }
	.wp-block-group-is-layout-flex:has(figure){
		flex-wrap: wrap;
	}
	.wp-block-group-is-layout-flex figure{
		width: 100%;
	}
	.entry-content ul li{
		padding-left: 1em;
		font-size: 1rem;
		line-height: 1.65;
		letter-spacing: 0.03em;
	}
	.entry-content ul:not(.rowList) li:not(:last-child){
		margin-bottom: 4vw;
	}
	.entry-content ul li::before{
		top: 0.65em;
	}
	.entry-content ul.rowList{
    flex-direction: column;
    gap: 0.8rem;
		padding: 1.4em 1.6em;
		border-radius: 6px;
	}
	.entry-content ol li{
		padding-top: 4vw;
		padding-bottom: 4vw;
		line-height: 1.65;
	}
  .entry-content .column-img-2{
    margin: 1em 0;
  }
  .entry-content .column-img-2 .imgArea{
    width: 100% !important;
  }
  .entry-content .table__container {
    margin: 0 auto;
    width: 100%;
    display: block;
    overflow-x: scroll;
  }
  .entry-content .table__container table{
		width: 200%;
	}
	.wp-block-buttons{
		margin-top: 12vw;
		margin-bottom: 12vw;
	}
	.wp-block-button{
		display: block;
		width: 100%;
	}
	.wp-block-button a{
		font-size: 1.125rem;
		padding: 1.3em 1.8em;
	}
	.wp-block-buttons > .wp-block-button.wp-block-button__width-25,
	.wp-block-buttons > .wp-block-button.wp-block-button__width-50,
	.wp-block-buttons > .wp-block-button.wp-block-button__width-75,
	.wp-block-buttons > .wp-block-button.wp-block-button__width-100{
		width: 100%;
	}
	.accordion-wrap{
		margin-top: 3vw;
	}
	.accordionKey{
		padding-bottom: 2vw;
	}
	.accordionKey::after{
		top: 2em;
	}
	.accordionKey h3{
		margin-top: 5vw;
		font-size: 1.375rem;
		letter-spacing: 0.03em;
	}
	.accordion-body{
		padding-top: 0;
		padding-bottom: 0;
		margin-bottom: 0;
    margin-top: 3vw;
	}
	.active .accordion-body{
		margin-bottom: 12vw;
	}
	.entry-content .accordion-body *:first-child{
		margin-top: 0;
	}
  .entry-content .accordion-body .imgArea + .textArea{
		margin-top: 2em;
	}
}

/* relatedNews */
.relatedNews--wrap{
	display: block;
	background: var(--bg-gray);
	padding-top: 120px;
	padding-bottom: 120px;
}
.relatedNews--inner{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 0 1em;
	width: 100%;
	max-width: var(--width);
	margin: 0 auto;
}
.relatedNews--grid{
	display: block;
	width: 100%;
	max-width: 1024px;
}
.relatedNews--parts{
	display: grid;
	grid-template-columns: auto auto 1fr 36px;
	grid-template-areas: 
		"time cat blank arrow"
		"txt txt txt arrow";
	gap: 16px 30px;
	width: 100%;
	padding: 31px 40px;
	background: #FFF;
	border-radius: 10px;
	position: relative;
}
.relatedNews--parts:not(:last-child){
	margin-bottom: 16px;
}
.relatedNews--parts time{
	grid-area: time;
	font-weight: 500;
	font-size: 0.8125rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
	color: var(--fontColor-500);
}
.relatedNews--parts .cat{
	grid-area: cat;
	width: 8em;
	padding: 0.45em 0.5em;
	line-height: 1;
	font-weight: 400;
	font-size: 0.75rem;
	border-radius: 3px;
	letter-spacing: 0.05em;
	text-align: center;
	background: var(--bg-gray2);
}
.relatedNews--parts .txt{
	grid-area: txt;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.relatedNews--parts .arrow{
	grid-area: arrow;
	align-self: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 20px;
	margin-bottom: 4px;
	color: #FFF;
	background: var(--btnColor2);
	border-radius: 25px;
}
.relatedNews--parts .arrow svg{
	width: 10px;
	height: 9px;
}
.relatedNews--grid .nothing{
	display: block;
	text-align: center;
	padding: 50px 2vw;
	font-size: 0.875rem;
	color: var(--fontColor-500);
}
@media (min-width:768px){ /* 768px以上全て */
		.relatedNews--parts{
			transition: background-color 0.3s ease;
		}
		.relatedNews--parts .txt{
			transition: color 0.3s ease;
		}
		.relatedNews--parts:hover .txt{
			color: var(--mainColor);
			transition: color 0.3s ease;
		}
		.relatedNews--parts:hover .arrow{
			background-color: var(--btnColor-crr);
			transition: background-color 0.3s ease;
		}
}
@media screen and (min-width:768px) and (max-width:1499px) {
/* for 幅狭PC＆TAB */
	.relatedNews--inner{
		padding-left: 2vw;
		padding-right: 2vw;
	}
	.relatedNews--grid{
		max-width: calc(100% - 220px);
	}
}
@media screen and (max-width: 767px) { /* for SP */

	.relatedNews--wrap{
		padding: 16vw 5vw;
	}
	.relatedNews--inner{
	}
	.relatedNews--parts{
			grid-template-areas:
				"time cat blank arrow" 
				"txt  txt txt  txt";
			gap: 3vw;
			padding: 5vw;
			margin-bottom: 3vw;
	}
	.relatedNews--parts:not(:last-child){
		margin-bottom: 3vw;
	}
	.relatedNews--parts .cat{
			width: 9em;
			padding: 0.35em 0.5em;
	}
	.relatedNews--parts .txt{
		letter-spacing: 0.05em;
	}
	.relatedNews--grid .nothing{
		padding: 50px 2vw;
	}
}


/* relatedService */
.relatedService--wrap{
  padding: 120px 0;
  border-top: var(--bg-gray) solid 3px;
}
.relatedService--inner {
  display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1em;
	width: 100%;
	max-width: var(--width);
  margin: 0 auto;
}
.relatedService--grid{
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 7px;
	width: 100%;
	max-width: 1024px;
}
.relatedService--parts{
	display: block;
	width: 100%;
	max-width: 199px;
	aspect-ratio: 1/1;
	background: var(--bg-gray);
	border-radius: 10px;
	position: relative;
}
.relatedService--parts .arrow{
	grid-area: arrow;
	align-self: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 20px;
	margin-bottom: 4px;
	color: #000;
	background: #FFF;
	border: var(--border);
	border-radius: 25px;
	position: absolute;
	right: 8px;
	bottom: 8px;
	z-index: 2;
}
.relatedService--parts .arrow svg{
	width: 10px;
	height: 9px;
}
.relatedService--grid .nothing{
	display: block;
	width: 100%;
	text-align: center;
	padding: 50px 2vw;
	font-size: 0.875rem;
	color: var(--fontColor-500);
}
@media (min-width:768px){ /* 768px以上全て */
	.relatedService--parts{
		transition: opacity 0.3s ease;
	}
	.relatedService--parts:hover{
		opacity: 0.65;
		transition: opacity 0.3s ease;
	}
}
@media screen and (min-width:768px) and (max-width:1499px) {
/* for 幅狭PC＆TAB */
	.relatedService--wrap{
		padding-left: 2vw;
		padding-right: 2vw;
	}
	.relatedService--grid{
		width: calc(100% - 220px);
	}
}
@media screen and (min-width:768px) and (max-width:1300px){ /* 特記サイズ */
	.relatedService--parts{
		width: calc((100% - 32px ) / 5);
	}
}
@media screen and (min-width:768px) and (max-width:1000px){ /* 特記サイズ */
	.relatedService--parts{
		width: calc((100% - 24px ) / 4);
	}
}
@media screen and (max-width: 767px) { /* for SP */
	.relatedService--wrap{
		padding: 16vw 5vw;
	}
	.relatedService--grid{
		gap: 2vw;
	}
	.relatedService--parts{
		max-width: calc((100% - 4.5vw) / 3);
	}
	.relatedService--parts .arrow{
		right: 1vw;
		bottom: 1vw;
	}
}

/* serviceBackBtn */
#serviceBackBtn{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	padding-top: 64px;
	padding-bottom: 64px;
	background: url("../images/pattern_bg.png") repeat center top;
}
#serviceBackBtn a{
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	background-color: var(--btnColor2);
	gap: 1em;
	width: 100%;
	max-width: 320px;
	padding: 20px 24px 20px 32px;
	border-radius: 50px;
	color: #FFF;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0;
	transition: all 0.3s ease;
}
#serviceBackBtn a i{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 20px;
	padding-top: 1px;
	color: #000;
	background: #FFF;
	border-radius: 25px;
}
#serviceBackBtn a svg{
	display: block;
	width: 10px;
	height: 9px;
	fill: currentColor;
	transform: rotate(180deg);
}
@media (min-width:768px){ /* 768px以上全て */
	#serviceBackBtn a:hover{
		background-color: var(--btnColor2-crr);
		transition: all 0.3s ease;
	}
}
@media screen and (min-width:768px) and (max-width:1499px) {
/* for 幅狭PC＆TAB */
}
@media screen and (max-width: 767px) { /* for SP */
	#serviceBackBtn a{
		max-width: 60vw;
	}
}

