@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&family=Roboto:wght@100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');

:root {
	--white: #fff;
	--black: #404040;
	--orange: #F58422; 
	--grey: #EEEEEE; 
	--pink: #FCE9ED; 
	--cream: #FFECD5;
	--blue: #D6F6FF;
	--gradation-pink: linear-gradient(85.82deg, rgba(254, 237, 222, 0.6) 0%, rgba(252, 233, 237, 0.6) 96.59%);
	--gradation-orange: linear-gradient(239.27deg, #FFECD5 50%, #FFFCEA 100%);
	--fw-regular: 400; 
	--fw-medium: 500; 
	--fw-semibold: 600; 
	--fw-bold: 700; 
	--transition: all .2s ease-in-out; 
}

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0;min-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}

html {
  font-size: 62.5%;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-overflow-scrolling: touch;
	scroll-padding-top: 88px;
	scroll-behavior: smooth;
}
body {
	font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: var(--fw-medium);
  font-size: 1.7rem;
  line-height: 1.8;
	letter-spacing: 0.05em;
  color: var(--black);
  background-color: var(--white);
  -webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}
@media screen and (max-width:768px) {
	body {
		line-height: 1.5;
		font-size: 1.5rem;
	}
	body:has(.door-nav) {
		margin-bottom: 38px;
	}
}	
/* --- [iPad]---------------------------------- */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
	body {
		width: 100%;
		min-width: 1250px;
		overflow-x: hidden;
	}
}	
img {
  max-width: 100%;
}
a,
a::after,
a::before,
a.hover,
a.hover::after,
a.hover::before,
a.hoactivever,
a.active::after,
a.active::before,
button,
button.hover,
button.active,
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="submit"].hover,
input[type="reset"].hover,
input[type="button"].hover,
input[type="submit"].active,
input[type="reset"].active,
input[type="button"].active,
a img,
a svg,
a.hover img,
a.hover svg,
a.active img,
a.active svg {
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
input {
	outline: none;
}
input::placeholder {
	opacity: 0.5;
}
.floatNone {
	float: none!important;
  margin: auto;
}
.clearfix:after {
	display: block;
	clear: both;
	content: "";
}
/***********************************************************
bass
************************************************************/
@media (min-width: 751px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
body.open {
	/*overflow: hidden;*/
}
main {
	position: relative;
}
.pc-none {
	display: none;
}
@media screen and (max-width:768px) {
	.pc-none {
		display: inline-block;
	}
}	
.sp-none {
	display: inline-block;
}
@media screen and (max-width:768px) {
	.sp-none {
		display: none;
	}
}	
.warp {
  width: 100%;
	max-width: calc(1200px + 48px);
  margin: 0 auto;
	padding: 0 24px;
}
@media screen and (max-width:768px) {
	.warp {
		max-width: 100%;
		padding: 0 20px;
	}
}
.warp1158 {
  width: 100%;
	max-width: calc(1158px + 48px);
  margin: 0 auto;
	padding: 0 24px;
}
@media screen and (max-width:768px) {
	.warp1158 {
		max-width: 100%;
		padding: 0 20px;
	}
}
.page-title {
	position: relative;
	font-size: 4.8rem;
	line-height: 1.4;
}
@media screen and (max-width:768px) {
	.page-title {
		font-size: 2.8rem;
		line-height: 1.5;
	}
}
.sub-title {
	position: relative;
	font-size: 2.8rem;
  font-weight: var(--fw-bold);
	line-height: 1.4;
}
@media screen and (max-width:768px) {
	.sub-title {
		font-size: 2.0rem;
	}
}
.sub-title.line {
	background: url("../images/ttl_line.svg") left bottom no-repeat;
	padding-bottom: 8px;
}
.sub-heading {
	position: relative;
	font-size: 2.0rem;
  font-weight: var(--fw-bold);
	line-height: 1.4;
}
@media screen and (max-width:768px) {
	.sub-heading {
		font-size: 1.6rem;
	}
}
.sub-heading.midpoint {
	display: flex;
	align-items: center;
	padding-left: 1em;
}	
.sub-heading.midpoint::before {
	content: "";
	position: absolute;
	left: 0;
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 2px;
	background-color: #F8B856;
}	
.line200 {
	line-height: 2;
}
.min-text {
	font-size: 1.4rem;
}
@media screen and (max-width:768px) {
	.min-text {
		font-size: 1.2rem;
	}
}
.number {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
	font-size: 1.5rem;
  font-weight: var(--fw-regular);
  font-style: normal;
  font-variation-settings: "wdth" 100;
	line-height: 1;
}
@media screen and (max-width:768px) {
	.number {
		font-size: 1.2rem;
	}
}.hgroup {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 360px;
	width: calc(100% - 48px);
	margin: 24px;
	background: url("../images/hgroup_bg.png") center center no-repeat;
	background-size: cover;
	border-radius: 16px;
}
@media screen and (max-width:768px) {	
	.hgroup {
		height: 216px;
		padding-top: 88px;
		width: calc(100% - 16px);
		margin: 0 8px 16px;
		background: url("../images/hgroup_bg_sp.png") center center no-repeat;
		background-size: cover;
		border-radius: 4.35px;
	}
	.hgroup .warp {
		padding: 0 10px;
	}
	.hgroup p {
		display: none;
	}
}
.hgroup h1 {
	background: url("../images/tt_icon.svg") left center no-repeat;
	padding-left: 1em;
	margin-bottom: 24px;
}
@media screen and (max-width:768px) {	
	.hgroup h1 {
		padding-left: 1.35em;
		margin-bottom: 0;
	}
}
.hgroup-desc {
	margin-bottom: 40px;
	line-height: 1.5;
}	

/* --------- #header --------- */
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1001;
}	
@media screen and (max-width:768px) {
	#header {
		background-color: var(--white);
		height: 88px;
	}	
}	
#logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 278px;
	height: 89px;
	border-radius: 0 0 12px 0;
	background-color: var(--white);
}	
@media screen and (max-width:768px) {
	#logo {
		width: auto;
		height: 100%;
		justify-content: flex-start;
		margin-left: 20px;
	}	
}
#logo img {
	width: 213px;
}
@media screen and (max-width:768px) {
	#logo img {
		width: 160px;
	}
}	
#consult {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 259px;
	height: 80px;
	background: url("../images/consult.svg") center center no-repeat;
	color: #fff;
	font-size: 2.0rem;
	line-height: 1;
	position: fixed;
	top: 0;
	right: 105px;
}
@media screen and (max-width:768px) {
	#consult {
		flex-wrap: wrap;
		width: 56px;
		height: 56px;
		background: var(--orange);
		border-radius: 10px;
		font-size: 1.0rem;
		top: 16px;
		right: 90px;
		padding: 7px 0;
	}
}
#consult strong {
	font-weight: var(--fw-medium);
	border-left: 1px dotted var(--white);
	margin-left: 1em;
	padding-left: 1em;
}
@media screen and (max-width:768px) {
	#consult strong {
		border-left: none;
		margin-left: 0;
		padding-left: 0;
	}
}
#consult span {
	font-size: 1.4rem;
	font-weight: var(--fw-regular);
}
@media screen and (max-width:768px) {
	#consult span {
		display: none;
	}
}	
#consult img {
	filter: brightness(10);
}
@media screen and (max-width:768px) {
	#consult img {
		width: 24px;
	}
}
#consult.hover,
#consult.active {
	color: var(--orange);
	background-image: url("../images/consult_hover.svg");
}
@media screen and (max-width:768px) {
	#consult.hover,
	#consult.active {
		background: var(--white);
		border: 1.5px solid  var(--orange);
	}
}
#consult.hover strong {
	border-left-color: var(--orange);
}
#consult.hover img {
	filter: none;
}
#consult.active strong {
	opacity: 0.5;
}
#consult.active img {
	filter: none;
	opacity: 0.5;
}
/* --------- #navtoggle --------- */
#navtoggle {
	position: fixed;
	right: 30px;
	top: 17px;
	display: block;
	width: 58px;
	height: 58px;
	border-radius: 100%;
	cursor: pointer;
	z-index: 1001;
	background: var(--grey);
}
@media screen and (max-width:768px) {
	#navtoggle {
		right: 20px;
		top: 16px;
		width: 56px;
		height: 56px;
	}
}
#navtoggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 38%;
	border-radius: 2px;
	background: var(--black);
	transition: var(--transition);
	top: 18px;
	left: 26%;
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
#navtoggle span:first-of-type {
	top: 18px;
}
#navtoggle span:nth-of-type(2) {
	top: 24px;
	width: 22%;
}
#navtoggle span:nth-of-type(3) {
	top: 30px;
	width: 19%;
}
#navtoggle > svg,
#navtoggle > img {
	position: absolute;
	top: 25px;
	left: 30px;
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
#navtoggle.hover span:first-of-type {
	top: 20px;
}
#navtoggle.hover span:nth-of-type(2) {
	top: 25px;
}
#navtoggle.hover span:nth-of-type(3) {
	top: 30px;
}
#navtoggle.hover > svg,
#navtoggle.hover > img {
	top: 24px;
	left: 29px;
}
/* #nav-toggle 切り替えアニメーション */
#navtoggle.open span {
	left: 31%;
}
#navtoggle.open span:nth-child(1) {
	top: calc(100% - 53%);
	transform: rotate(135deg);
}
#navtoggle.open span:nth-child(2) {
	visibility: hidden;
	opacity: 0;
	transform: translate(0,8px)
}
#navtoggle.open span:nth-child(3) {
	top: calc(100% - 53%);
	transform: rotate(-135deg);
	width: 38%;
}
#navtoggle.open > svg,
#navtoggle.open > img {
	visibility: hidden;
	opacity: 0;
	transform: translate(0,-8px)
}
/* --------- .breadcrumb --------- */
.breadcrumb {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	margin-bottom: 24px;                              
}	
@media screen and (max-width:768px) {	
	.breadcrumb {
		margin-bottom: 40px;                              
	}	
}		
.breadcrumb li {
	color: var(--orange);
	display: flex;
	align-items: center;
}	
.breadcrumb li a {
	position: relative;
	color: var(--black);
}	
.breadcrumb li a.hover {
	color: var(--orange);
	text-decoration: underline;
}	
.breadcrumb li:has(a)::after {
	display: inline-block;
	content: "";
	width: 0.4em;
	height: 0.4em;
	margin: 0 8px;
	border-top: 1px solid var(--black);
	border-right: 1px solid var(--black);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}	
/* --------- #gnav --------- */
#gnav {
	display: flex;
	flex-direction: column;
	visibility: hidden;
	opacity: 0;
	position: fixed;
	top: 0px;
	left: 0px;
	height: auto;
	min-height: 100vh;
	width: 100vw;
	background: var(--white) url("../images/top_fv_bg.png") center center no-repeat;
	background-size: cover;
	z-index: 1000;
	transition: var(--transition);
	padding-top: 130px;
}
#gnav.open  {
	visibility: visible;
	opacity: 1;
}
@media screen and (max-width:768px) {
	#gnav {
		padding-top: 88px;
		background: var(--white) url("../images/gnav_bg_sp.png") center bottom no-repeat;
		background-size: contain;
	}	
}	
#gnav .warp {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	overflow-y: auto;
	height: calc(100vh - 130px);
	scrollbar-width: thin;
	scrollbar-color: var(--orange) transparent;
}
@media screen and (max-width:768px) {
	#gnav .warp {
		height: calc(100vh - 88px);
	}
}
#gnav nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 635px;
	margin-top: 40px;
}	
@media screen and (max-width:768px) {
	#gnav nav {
		width: 100%;
		margin-top: 30px;
	}	
}	
.gnav-menu {
	width: 256px;
}	
@media screen and (max-width:768px) {
	.gnav-menu {
		width: 50%;
	}	
}	
.gnav-menu a.hover {
	color: var(--orange);
	text-decoration: underline;
}	
.gnav-menu > li {
	width: 100%;
	margin-bottom: min(4vw, 56px);
}
@media screen and (max-width:768px) {
	.gnav-menu > li {
		margin-bottom: min(4vw, 24px);
	}
}
.gnav-menu > li > a {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	width: 255px;
	font-size: 2.4rem;
	line-height: 1;
}
@media screen and (max-width:768px) {
	.gnav-menu > li > a {
		width: 88%;
		font-size: 1.5rem;
		line-height: 1.4;
	}
}
.gnav-menu > li > a::before {
	position: absolute;
	content: "";
	top: 34%;
	right: 0;
	width: 9px;
	height: 9px;
	border-top: 2px solid var(--orange);
	border-right: 2px solid var(--orange);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.gnav-menu > li > ul {
	width: calc(100% - 1em);
	padding-left: 1em;
	margin-left: 0.7em;
	margin-top: 24px;
	border-left: 1px dashed var(--black);
}
@media screen and (max-width:768px) {
	.gnav-menu > li > ul {
		margin-top: min(3vw, 24px);
	}
}
.gnav-menu > li > ul > li {
	line-height: 1;
	margin-bottom: 16px;
}
.gnav-menu > li > ul > li a {
	display: inline-block;
	width: 100%;
}
@media screen and (max-width:768px) {
	.gnav-menu > li > ul > li a {
		font-size: 1.4rem;
	}
}
.gnav-search {
	position: relative;
	width: 424px;
}
@media screen and (max-width: 768px) {	
	.gnav-search {
		position: relative;
		width: 100%;
		border-radius: 12px;
		border: 1px solid var(--orange);
		background-color: var(--white);
		margin-top: min(6vw, 40px);
		margin-bottom: min(6vw, 40px);
	}
	.gnav-search::before {
		content: "";
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 7px;
		background-color: #EB6B89;
		border-radius: 12px 12px 0 0;
	}
}
.gnav-search section {
	position: relative;
	width: 100%;
	background: var(--white);
	border-radius: 0 0 12px 12px;
	padding: 37px 40px;
	border: 1px solid var(--orange);
	border-top: 3.5px solid #EB6B89;
}
@media screen and (max-width: 768px) {	
	.gnav-search section {
		width: 100%;
		padding: 0 15px;
		margin-top: 24px;
		margin-bottom: 24px;
		border: none;
	}
}
.gnav-search section:first-of-type {
	margin-bottom: 24px;
}
.gnav-search section .sub-heading {
	display: flex;
	align-items: center;
	padding-left: 1em;
	margin-bottom: 16px;
}
@media screen and (max-width: 768px) {		
	.gnav-search section .sub-heading {
		margin-bottom: 8px;
	}
}
.gnav-search section .sub-heading::before {
	content: "";
	position: absolute;
	left: 0;
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 2px;
	background-color: #F8B856;
}
.gnav-search__about {
	margin-bottom: 24px;
}	
@media screen and (max-width: 768px) {		
.gnav-search__about {
		margin-bottom: 16px;
	}	
}	
form[role="search"] {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding: 24px 24px 16px;
	background-color: var(--grey);
	border-radius: 12px;
}
@media screen and (max-width:768px) {
	form[role="search"] {
		padding: 15px;
	}
}
form[role="search"] input[type="text"] { 
	height: 36px;
	width: 232px;
	line-height: 1;
	padding: 0.5em 1em;
	background-color: var(--white);
}
@media screen and (max-width:768px) {
	form[role="search"] input[type="text"] { 
		width: calc(100% - 64px);
	}
}
form[role="search"] .search__btn {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	width: 62px;
	color: var(--white);
	background-color: var(--orange);
	border: 1px solid var(--orange);
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
form[role="search"] .search__btn [type="image"],
form[role="search"] .search__btn img {
	filter: brightness(10);
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
form[role="search"] .search__btn.hover {
	color: var(--orange);
	background-color: var(--white);
}
form[role="search"] .search__btn.hover [type="image"],
form[role="search"] .search__btn.hover img {
	filter: invert(60%) sepia(77%) saturate(1613%) hue-rotate(343deg) brightness(97%) contrast(99%);
}
form[role="search"] span { 
	width: 100%;
	font-size: 1.4rem;
	line-height: 1.2;
	margin-top: 16px;
}
@media screen and (max-width:768px) {
	form[role="search"] span { 
		font-size: 1.2rem;
	}
}
.gnav-footer {
	margin-top: auto;
}
.gnav-footer ul {
	display: flex;
	margin-bottom: 6px;
}	
@media screen and (max-width:768px) {
	.gnav-footer ul {
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		margin-bottom: 1em;
	}
}
.gnav-footer ul li {
	margin-right: 1.5em;
}	
@media screen and (max-width:768px) {	
	.gnav-footer ul li {
		margin: 0 0.6em;
	}	
}	
.gnav-footer ul li a {
	font-size: 1.4rem;
	line-height: 1;
}	
.gnav-footer ul li a.hover {
	color: var(--orange);
	text-decoration: underline;
}	
@media screen and (max-width:768px) {	
	.gnav-footer ul li a {
		font-size: 1.2rem;
	}	
}	
.gnav-copyright {
	margin-bottom: 2em;
}
@media screen and (max-width:768px) {	
	.gnav-copyright {
		text-align: center;
		line-height: 1.2;
	}
}
.gnav-copyright small {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
}
@media screen and (max-width:768px) {		
	.gnav-copyright small {
		font-size: 1.1rem;
	}
}
/* --------- #footer --------- */
#footer {
	position: relative;
	background: url("../images/footer_bg.png") center top no-repeat;
	background-size: cover;
	margin-top: 120px;
}
@media screen and (max-width:768px) {
	#footer {
		height: auto;
		background: url("../images/footer_bg_sp.png") center top no-repeat;
		background-size: cover;
		margin-top: 95px;
	}
}
.footer-bnr {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-top: 178px;
	margin-bottom: 24px;
}
@media screen and (max-width:768px) {
	.footer-bnr {
		width: 100%;
		flex-wrap: wrap;
		padding-top: 0;
		margin-bottom: 16px;
	}
}
.footer-bnr li {
	float: left;
	border-radius: 12px;
	box-shadow: 0px 2px 16px rgba(0, 0, 0, 0.1);
	overflow: hidden;
	width: 384px;
}
.footer-bnr > li {
	border-radius: 16px;
}
@media screen and (max-width:768px) {
	.footer-bnr li {
		width: 100%;
		border-radius: 4px;
		margin-bottom: 16px;
		box-shadow: 0px 1.2px 9.3px rgba(0, 0, 0, 0.1);
	}
	.footer-bnr > li {
		border-radius: 12px;
	}
}
.footer-bnr li a {
	display: block;
	width: 100%;
	height: auto;
}	
.footer-bnr ul {
	float: right;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	width: calc(100% - 384px - 24px);
}
@media screen and (max-width:768px) {
.footer-bnr ul {
		gap: 12px;
		width: 100%;
	}
	.footer-bnr ul li {
		width: calc(50% - 6px);
		margin: 0;
	}
	.footer-bnr li a {
		
	}
	.footer-bnr li a img {
		width: 100%;
	}
}
.footer-bnr li a.hover img {
	filter: brightness(105%);
}

.footer-box {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	line-height: 1;
	width: 100%;
	max-width: 1200px;
	min-height: 104px;
	padding: 32px 40px 15px;
	background-color: var(--white);
	box-shadow: 0px 2px 16px rgba(0, 0, 0, 0.1);
	border-radius: 12px 12px 0px 0px;
}
@media screen and (max-width:768px) {
	.footer-box {
		line-height: 1;
		height: auto;
		min-height: auto;
		padding: 30px 24px 16px;
	}
	.footer-logo {
		width: 171px;
	}
}
.footer-copyright {
	margin-top: 20px;
}
@media screen and (max-width:768px) {
	.footer-copyright {
		margin-top: 8px;
	}
}
.footer-copyright small {
	font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
}
@media screen and (max-width:768px) {
	.footer-copyright small {
		margin-top: 20px;
		font-size: 1.1rem;
	}
}
.footer-privacy {
	font-size: 1.4rem;
	margin-top: 24px;
	margin-left: 42px;
}
@media screen and (max-width:768px) {
	.footer-privacy {
		width: 100%;
		font-size: 1.1rem;
		margin-top: 24px;
		margin-left: 0;
	}
}
.footer-privacy a.hover {
	color: var(--orange);
	text-decoration: underline;
}

/* --------- #pagetop --------- */
#pagetop {
	position: fixed;
	right: 30px;
	bottom: 50px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: 80px;
	background-color: var(--black);
	border: 1px solid var(--black);
	-webkit-transition: var(--transition);
	transition: var(--transition);
	z-index: 5;
}
@media screen and (max-width:768px) {
	#pagetop {
		right: 15px;
		bottom: 120px;
		width: 56px;
		height: 56px;
		border-radius: 56px;
	}
}
#pagetop.hover {
	background-color: var(--white);
}
#pagetop img {
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
@media screen and (max-width:768px) {
	#pagetop img {
		width: 20px;
	}
}
#pagetop.hover img {
	filter: brightness(0);
}
/* --------- -btn --------- */
.primary-btn {
	position: relative;
	color: var(--orange);
	background-color: var(--white);
	border: 1px solid #F58422;
	box-shadow: 0px 0px 16px rgba(245, 132, 34, 0.1);
	border-radius: 50px;
	display: inline-block;
	padding: 7.8px 59px 7.8px 24px;
	min-height: 48px;
}
@media screen and (max-width:768px) {
	.primary-btn {
		padding: 10.9px 59px 6.8px 24px;
	}
}
.primary-btn::before {
	content: "";
	position: absolute;
	right: 10px;
	top: calc(50% - 14px);
	width: 28px;
	height: 28px;
	border-radius: 28px;
	background-color: var(--orange);
}
.primary-btn::after {
	position: absolute;
	content: "";
	top: 42%;
	right: 21.5px;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--white);
	border-right: 2px solid var(--white);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.primary-btn.hover {
	color: var(--white);
	background-color: var(--orange);
	border-color: var(--white);
	box-shadow: none;
}
.primary-btn.active {
	border-color: var(--orange);
}
.primary-btn.hover::before {
	background-color: var(--white);
}
.primary-btn.hover::after {
	border-color: var(--orange);
}
.primary-btn.blank,
.primary-btn.icon {
	padding-right: 24px;
}
.primary-btn.icon img {
	margin-bottom: 2px;
	margin-left: 20px;
}
.primary-btn.blank img {
	margin-bottom: 5px;
	margin-left: 20px;
}
@media screen and (max-width:768px) {
	.primary-btn.icon img,
	.primary-btn.blank img {
		vertical-align: middle;
		margin-top: -2px;
		margin-left: 10px;
	}
	.primary-btn.icon img {
		margin-bottom: 0;
	}
	.primary-btn.blank img {
		margin-bottom: 2px;
	}
}

.primary-btn.blank.hover img,
.primary-btn.icon.hover img,
.primary-btn.pdf.hover img {
	filter: brightness(10);
}
.primary-btn.blank::before,
.primary-btn.blank::after,
.primary-btn.icon::before,
.primary-btn.icon::after,
.primary-btn.pdf::before,
.primary-btn.pdf::after {
	content: none;
}
.tertiary-btn {
	position: relative;
	display: inline-block;
	width: 32px;
	height: 32px;
	border-radius: 32px;
	background-color: var(--orange);
	border: 1px solid  var(--orange);
}
.tertiary-btn::after {
	position: absolute;
	content: "";
	top: 38%;
	right: 13px;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--white);
	border-right: 2px solid var(--white);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.tertiary-btn.hover {
	background-color: var(--white);
	border-color: var(--grey);
}
.tertiary-btn.active {
	border-color: var(--white);
}
.tertiary-btn.hover::after {
	border-color: var(--orange);
}
.secondary-btn {
	position: relative;
	color: var(--orange);
	background-color: var(--white);
	border: 1px solid var(--grey);
	border-radius: 40px;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	padding: 10px 36px 10px 24px;
	min-height: 48px;
	line-height: 1.3;
}
@media screen and (max-width:768px) {
	.secondary-btn {
		padding: 8px 28px 8px 11px;
		min-height: 44px;
	}
}
.secondary-btn::after {
	position: absolute;
	content: "";
	top: 42%;
	right: 21px;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--orange);
	border-right: 2px solid var(--orange);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media screen and (max-width:768px) {
	.secondary-btn::after {
		right: 14px;
	}
}

.secondary-btn.hover {
	color: var(--white);
	background-color: var(--orange);
	border-color: var(--white);
	box-shadow: none;
}
.secondary-btn.active {
	border-color: var(--orange);
	box-shadow: none;
}
.secondary-btn.hover::after {
	border-color: var(--white);
}

/****************************************
タブメニュー
***************************************/
.tabmenu {
	background-color: #F8F8F8;
	height: 100px;
	width: 100%;
	padding-top: 16px; 
	margin-bottom: 80px;
}
@media screen and (max-width:768px) {
	.tabmenu {
		height: auto;
		width: calc(100% - 40px);
		padding-top: 0; 
		margin: 0 20px 40px;
		border-radius: 12px;
	}
}
.tabmenu ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media screen and (max-width:768px) {
	.tabmenu ul {
		flex-wrap: wrap;
		padding: 0;
	}
}
.tabmenu ul li {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 84px;
	width: 100%;
}
@media screen and (max-width:768px) {
	.tabmenu ul li {
		min-height: 42px;
		height: auto;
		width: 100%;
	}
}
.tabmenu ul li::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 2em;
	border-left: 1px dashed var(--orange);
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
.tabmenu ul li:first-of-type::before {
	content: none;
}
@media screen and (max-width:768px) {
	.tabmenu ul li::before {
		width: calc(100% - 2em);
		height: 1px;
		margin: 0 1em;
		border-left: none;
		border-top: 1px dashed var(--orange);
		top: 0;
	}
	.tabmenu ul li:first-of-type::before {
		border-top: none;
	}
}
.tabmenu ul li strong {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	line-height: 1.4;
}
@media screen and (max-width:768px) {
	.tabmenu ul li strong {
		justify-content: flex-start;
	}
}
.tabmenu ul li strong::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	margin-right: 1em;
	border-radius: 2px;
	background-color: #40404080;
}
.tabmenu ul li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	width: 100%;
	padding: 13px 10px 13px 1em;
	z-index: 1;
}
@media screen and (max-width:768px) {
	.tabmenu ul li a {
		padding: 10px 10px 10px 1em;
	}
}
.tabmenu ul li.hover strong::before {
	background-color: #F8B856;
}
.tabmenu ul li.hover a {
	color: var(--orange);
}
.tabmenu ul li.current strong::before {
	background-color: #F8B856;
}

.tabmenu ul li.current a {
	border: none;
	box-shadow: 0px -4px 5px rgba(0, 0, 0, 0.05);
	border-radius: 12px 12px 0px 0px;
	background-color: #fff;
	color: var(--orange);
}
@media screen and (max-width:768px) {
	.tabmenu ul li.current a {
		box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.1);
		border-radius: 8px;
	}
}
.tabmenu ul li.current::before,
.tabmenu ul li.current::after,
.tabmenu ul li:nth-of-type(1).current ~ li:nth-of-type(2)::before,
.tabmenu ul li:nth-of-type(2).current ~ li:nth-of-type(3)::before,
.tabmenu ul li:nth-of-type(3).current ~ li:nth-of-type(4)::before {
	content: none;
}
.tabmenu ul li.current a .corner-l,
.tabmenu ul li.current a .corner-r {
	display: block;
	width: 12px;
	height: 12px;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translateX(-100%);
}
.tabmenu ul li.current a .corner-r {
	left: inherit;
	right: 0;
	transform: scale(-1, 1) translateX(-200%);
}
.tabmenu ul li.current a .corner-l::before,
.tabmenu ul li.current a .corner-r::before {
	display: block;
	width: 200%;
	height: 200%;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	content: '';
	background: transparent;
	border-radius: 50%;
	box-shadow: 12px 12px 0 0 white;
	transform: translate(-50%, -50%);
}
.tabmenu ul li.current a .corner-r::before {
	left: inherit;
	right: 0;
	transform: translate(50%, -50%);
}
@media screen and (max-width:768px) {
	.tabmenu ul li a .corner-l,
	.tabmenu ul li a .corner-r,
	.tabmenu ul li.current a .corner-l,
	.tabmenu ul li.current a .corner-r,
	.tabmenu ul li.hover a .corner-l,
	.tabmenu ul li.hover a .corner-r {
		display: none;
	}
}
/****************************************
お知らせリスト
***************************************/
.news-list {
	width: 100%;
	border-top: 1px dashed var(--black);
}
.news-list li {
	border-bottom: 1px dashed var(--black);
	width: 100%;
	padding: 40px 0;
}
@media screen and (max-width:768px) {
	.news-list li {
		padding: 16px 0;
	}
}
.news-list__data {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 20px;
}
@media screen and (max-width:768px) {
	.news-list__data {
		flex-wrap: wrap;
		margin-bottom: 10px;
	}
}
.news-list__data time {
	margin-right: 1.5em;
}
@media screen and (max-width:768px) {
	.news-list__data time {
		width: 100%;
		margin-right: 0;
		margin-bottom: 8px;
	}
}
.news-list__data span {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	font-weight: var(--fw-regular);
	line-height: 1;
	height: 30px;
	width: 195px;
	border-radius: 30px;
	margin-right: 1em;
}
@media screen and (max-width:768px) {
	.news-list__data span {
		height: 22px;
		width: auto;
		border-radius: 22px;
		padding: 0 1.3em;
		margin-right: 8px;
		margin-bottom: 8px;
	}
}
.news-list__data .union {
	background-color: var(--pink);
}
.news-list__data .education {
	background-color: var(--cream);
}
.news-list__data .others {
	background-color: var(--grey);
}
.news-list li a {
	display: inline-block;
	line-height: 1.4;
	transition: none;
	font-weight: var(--fw-bold);
}
@media screen and (max-width:768px) {
	.news-list li a {
		font-weight: var(--fw-medium);
	}
}
.news-list li a.hover {
	color: var(--orange);
	text-decoration: underline;
}
.news-list li a img {
	margin: 0 0 -3px 8px;
}
.news-list li a img.blank {
	margin-bottom: 1px;
	/*filter: grayscale(10) brightness(0.75);*/
}
.news-list li a.hover img.blank {
	filter: none;
}
/****************************************
サムネイルツ付きリスト
***************************************/
.thum-list {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 80px 24px;
}
@media screen and (max-width:768px) {
	.thum-list {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.thum-list li {
		width: 100%;
		margin-bottom: 24px;
		padding-bottom: 24px;
		border-bottom: 1px dashed var(--black);
	}
	.thum-list li:last-of-type {
		margin-bottom: 0;
	}
}
.thum-list li figure {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 370px;
	height: 208px;
	overflow: hidden;
	border-radius: 10px;
	margin-bottom: 16px;
	box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.1);
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
@media screen and (max-width:768px) {
	.thum-list li figure {
		height: auto;
	}
}
.thum-list li figure img {
	width: auto;
	max-width: 100%;
	max-height: 100%;
	position: absolute;
}
@media screen and (max-width:768px) {
	.thum-list li figure img {
		object-fit: fill;
		height: auto;
		width: auto;
		position: relative;
	}
}
.thum-list.video li figure {
	height: auto;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
}
.thum-list.video li figure img {
	width: 100%;
}
.thum-list li .thum-list__time {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.5rem;
	line-height: 1;
	margin-bottom: 16px;
}
.thum-list li .thum-list__time span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 23px;
	border-radius: 28px;
	padding: 0 10px 0 2.4em;
	background: var(--grey) url("../images/video_time.svg") 8px center no-repeat;
}
.thum-list li .thum-list__ttl {
	font-size: 2.0rem;
	font-weight: var(--fw-bold);
	line-height: 1.3;
	margin-bottom: 16px;
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
@media screen and (max-width:750px) {
	.thum-list li .thum-list__ttl {
		font-size: 1.6rem;
	}
	.thum-list li .thum-list__desc {
		line-height: 1.4;
	}
}
.thum-list li a.hover .thum-list__ttl {
	color: var(--orange);
	text-decoration: underline;
}
.thum-list li a.hover figure {
	box-shadow: none;
}
.thum-list li a.hover figure img {
	filter: brightness(103%);
	transform: scale(1.05);
}
.thum-list__dl {
	width: 100%;
	margin-top: 16px;
}
.thum-list__dl a {
	margin-bottom: 16px;
}
.thum-list__dl a:last-of-type {
	margin-bottom: 0;
}
/****************************************
ページャー
***************************************/
.pager {
	display: none;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 80px 0 0;
	counter-reset: unset;
}
.pager:has(a) {
	display: flex;
}						
@media screen and (max-width:750px) {
	.pager {
		margin: 40px 0 0;
	}
}
.pager li {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0  min(1.2vw, 8px);;
	padding: 0;
	letter-spacing: normal;
}
@media screen and (max-width:750px) {
	.pager li {
		width: 34px;
		height: 34px;
	}
}
.pager li a,
.pager li span {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
	color: var(--orange);
	font-size: 2.0rem;
	background-color: var(--white);
	line-height: 1;
	border-radius: 6px;
	border: 1px solid var(--orange);
}
@media screen and (max-width:750px) {
	.pager li a,
	.pager li span {
		font-size: 1.6rem;
	}
}
.pager li a.hover {
	color: var(--white);
	background-color: var(--orange);
}
.pager li a.active {
	color: #ffffff80;
}
.pager li .current_page {
	color: var(--white);
	background-color: var(--orange);
}
.pager li a.link_before::after,
.pager li a.link_next::after {
	content: "";
	width: 0.5em;
	height: 0.5em;
	border-top: 2px solid var(--orange);
	border-right: 2px solid var(--orange);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-left: -4px;
}	
.pager li a.link_before {
	transform: rotate(180deg);
}	
.pager li a.link_before.hover::after,
.pager li a.link_next.hover::after {
	border-top-color: var(--white);
	border-right-color: var(--white);
}

/****************************************
コラムリスト
***************************************/
.column-list {
	width: 100%;
}	
.column-list > li {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	padding: 40px 0;
	border-bottom: 1px dashed var(--black);
}	
@media screen and (max-width:768px) {	
	.column-list > li {
		flex-wrap: wrap;
		padding: 25px 0;
	}	
}	
.column-list > li:first-of-type {
	border-top: 1px dashed var(--black);
}	
.column-list li figure  {
	width: 100%;
	max-width: 283px;
	height: 159px;
	margin-right: 40px;
}
@media screen and (max-width:768px) {	
	.column-list li figure  {
		aspect-ratio: 283 / 159;
		max-width: 32%;
		height: auto;
		margin-right: 0;
		margin-bottom: 24px;
	}
}
.column-list li figure a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.1);
}
.column-list li figure img {
	width: 100%;
	max-width: 460px;
	max-height: 460px;
	position: absolute;
}
@media screen and (max-width:768px) {	
	.column-list li figure img {
		width: 100%;
		height: auto;
		max-width: 100%;
		max-height: inherit;
	}
}
.column-list li figure a:hover img,
.column-list li figure a.hover img {
	filter: brightness(103%);
	transform: scale(1.05);
}
.column-list__box {
	width: 100%;
	max-width: 835px;
	line-height: 1;
}	
@media screen and (max-width:768px) {	
	.column-list__box {
		max-width: calc(100% - 36%);
	}
}
.column-list__box > a {
	display: block;
	font-size: 2.8rem;
	font-weight: var(--fw-bold);
	line-height: 1.4;
	margin: 16px 0 16px;
	transition: none;
}	
.column-list__box > a:hover,
.column-list__box > a.hover {
	color: var(--orange);
	text-decoration: underline;
}
@media screen and (max-width:768px) {		
	.column-list__box > a {
    font-size: 1.5rem;
    line-height: 1.4;
    margin: 9px 0 16px;
	}	
}
.column-list__box > p {
	width: 100%;
	line-height: 1.4;
	margin-bottom: 16px;
}
@media screen and (max-width:768px) {		
	.column-list__box > p {
		display: none;
	}
}
.column-list__tag {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 8px;
}
@media screen and (max-width:768px) {		
	.column-list__tag {
		gap: 4px;
	}
}
.column-list__tag li a {
	display: inline-flex;	
	align-items: center;
	justify-content: center;
	height: 26px;
	min-height: 26px;
	padding: 3px 0.93em;
	border-radius: 26px;
	background-color: var(--cream);
	color: var(--black);
	font-size: 1.4rem;
	font-weight: var(--fw-regular);
}
.column-list__tag li a:hover,
.column-list__tag li a.hover {
	background-color: var(--orange);
	color: var(--white);
}
.column-list__tag li a:active,
.column-list__tag li a.active {
	background-color: var(--orange);
	color: rgb(255 255 255 / 0.5);
}
@media screen and (max-width:768px) {	
	.column-list__tag li a:active,
	.column-list__tag li a:hover {
		background-color: var(--cream);
		color: var(--black);
	}
}
.column-list + .primary-btn {
	margin: 40px calc((100% - 194px) / 2) 0;
}
@media screen and (max-width:768px) {	
	.column-list + .primary-btn {
		margin: 25px 0 0 calc(100% - 181px);
		white-space: nowrap;
	}
}
#tagList a.is-active {
	background-color: var(--orange);
	color: rgb(255 255 255 / 1);
}	
.recommend-tag {
	margin-top: 80px;
	width: 100%;
}	
.recommend-tag h3 {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-size: 2.8rem;
	font-weight: var(--fw-bold);
	line-height: 1.4;
	padding-left: 85px;
	margin-bottom: 40px;
	width: 100%;
}	
@media screen and (max-width:768px) {	
	.recommend-tag h3 {
		padding-left: 40px;
		margin-bottom: 24px;
	}	
}	
.recommend-tag h3::before,
.recommend-tag h3::after {
	position: absolute;
	content: "";
	border-top: 1px dashed var(--black);
	height: 1px;
}
.recommend-tag h3::before {
	left: 0;
	width: 70px;
}
@media screen and (max-width:768px) {	
	.recommend-tag h3::before {
		width: 27px;
	}
}
.recommend-tag h3::after {
	right: 0;
	width: calc(100% - 8.2em - 70px);
}
@media screen and (max-width:768px) {	
	.recommend-tag h3::after {
		width: calc(100% - 8.2em - 27px);
	}
}
.recommend-tag + .primary-btn {
	margin-top: 40px;
	margin-left: calc(100% - 157px);
}
@media screen and (max-width:768px) {	
	.recommend-tag + .primary-btn {
		margin-top: 25px;
		margin-left: calc(100% - 149px);
	}
}


/****************************************
扉ページ　（こころの基礎知識 / 各種サポート / こんな時どうする?）
***************************************/
.door {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin-top: 80px;
}
@media screen and (max-width:768px) {
	.door {
		margin-top: 0;
	}
}
.door-nav {
	position: sticky;
	position: -webkit-sticky;
	top: 85px;
	min-width: 207px;
	margin-top: -70px;
}	
@media screen and (max-width:768px) {
	.door-nav {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		min-width: 100%;
		top: inherit;
		z-index: 3;
	}	
}	
.door-nav figure {
	position: relative;
	margin-bottom: -11px;
	z-index: 2;
}	
@media screen and (max-width:768px) {
	.door-nav figure {
		display: none;
	}	
}	
.door-nav ul {
	position: relative;
	width: 100%;
	background: var(--white);
	box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
	border-radius: 16px;
	padding: 34px 0;
	z-index: 1;
}	
@media screen and (max-width:768px) {
	.door-nav ul {
		display: flex;
		box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.15);
		border-radius: 0;
		padding: 6px 0 0;
	}	
}	
.door-nav ul li {
	width: 100%;
	margin-bottom: 2px;
}
@media screen and (max-width:768px) {
	.door-nav ul li {
		width: auto;
		margin-bottom: 0;
	}
}
.door-nav ul li:last-of-type {
	margin-bottom: 0;
}	
.door-nav ul li a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	font-size: 1.4rem;
	font-weight: var(--fw-regula);
	line-height: 1.4;
	padding: 8px 0 8px 4.5em;
	transition: background-color 0.3s, color 0.1s;
}	
@media screen and (max-width:768px) {
	.door-nav ul li a {
		width: 100%;
		height: 100%;
		font-size: 1.2rem;
		padding: 10px 5px 10px 20px;
	}	
}	
.door-nav ul li a.hover {
	color: var(--orange);
	font-weight: var(--fw-bold);
	background: var(--gradation-pink);
}
.door-nav ul li a::before {
	position: absolute;
	left: 25px;
	content: "";
	width: 0.5em;
	height: 0.5em;
	margin: 0 8px;
	border-top: 2px solid var(--orange);
	border-right: 2px solid var(--orange);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
@media screen and (max-width:768px) {
	.door-nav ul li a::before {
		left: 0;
		width: 0.4em;
		height: 0.4em;
		border-top-width: 1.5px;
		border-right-width: 1.5px;
	}
}
.door-content {
	position: relative;
	width: calc(100% - 207px - 40px);
}
@media screen and (max-width:768px) {
	.door-content {
		width: 100%;
	}
}
.door-content__box {
	position: relative;
	width: 100%;
	background: var(--gradation-pink);
	border-radius: 12px;
	padding: 60px;
	margin-bottom: 80px;
}
@media screen and (max-width:768px) {
	.door-content__box {
		padding: 24px;
		margin-bottom: 24px;
	}
}
.door-content__box::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 10px;
	background-color: var(--orange);
	border-radius: 12px 12px 0 0;
	z-index: 1;
}
.door-content__box:last-of-type {
	margin-bottom: 200px;
}
@media screen and (max-width:768px) {
	.door-content__box:last-of-type {
		margin-bottom: 95px;
	}
}
.door-content__box h2 {
	position: relative;
	z-index: 2;
	margin-bottom: 24px;
}
@media screen and (max-width:768px) {
	.door-content__box h2 {
		font-size: 2.0rem;
		margin-bottom: 16px;
	}
}
.door-content__box p {
	position: relative;
	z-index: 2;
	margin-bottom: 40px;
}
@media screen and (max-width:768px) {
	.door-content__box p {
		margin-bottom: 16px;
	}
}
.door-content__box .primary-btn {
	position: relative;
	z-index: 2;
}
.door-content__box ul {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 32px;
}
@media screen and (max-width:768px) {	
	.door-content__box ul {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.door-content__box ul.column2 {
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}
}
.door-content__box ul li {
/*	width: calc((100% - 3) / 3 ); */
	width: auto;
}
.door-content__box ul li a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 92px;
	background-color: var(--white);
	border: 1px solid var(--grey);
	border-radius: 12px;
	font-size: 2.0rem;
  font-weight: var(--fw-bold);
	line-height: 1.3;
	padding: 8px 60px 8px 40px;
	padding: 8px 40px;
}
@media screen and (max-width:768px) {	
	.door-content__box ul li a {
		min-height: 44px;
		font-size: 1.5rem;
		line-height: 1.2;
		padding: 8px 28px 8px 16px;
	}
}
.door-content__box ul li a::after {
	position: absolute;
	right: 40px;
	right: 20px;
	content: "";
	width: 0.5em;
	height: 0.5em;
	margin: 0 8px;
	border-top: 2px solid var(--orange);
	border-right: 2px solid var(--orange);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media screen and (max-width:768px) {	
	.door-content__box ul li a::after {
		right: 5px;
		content: "";
	}
}
.door-content__box ul li a.hover {
	color: var(--white);
	background-color: var(--orange);
	border-color: var(--white);
}
.door-content__box ul li a.hover::after {
	border-color: var(--white);
}
.door-content__box ul li a.active {
	border-color: var(--orange);
	box-shadow: none;
}
.door-content__box .door-content__members_recuperation {
	margin-top: 24px;
}
@media screen and (max-width:768px) {
	.door-content__box .door-content__members_recuperation {
		margin-top: 8px;
	}
	.door-content__box .door-content__members_recuperation .primary-btn::after {
		top: 45%;
	}
}
.door-content__box.overview {
	background: var(--white);
	border: 1px solid var(--orange);
	margin-bottom: 200px;
}
@media screen and (max-width:768px) {
	.door-content__box.overview {
		margin-bottom: 40px;
	}
}
.door-content__box.overview:not(:has(+ .overview-box .sub-title.line)) {
	margin-bottom: 0;
}
.door-content__box h2 a.hover {
	color: var(--orange);
	text-decoration: underline;
} 
.door-content__box h2 a img {
	display: inline-block;
	margin: 0 0 6px 15px;
	filter: brightness(0);
}
@media screen and (max-width:768px) {
	.door-content__box h2 a img {
		margin-bottom: 4px;
	}
}
.door-content__box h2 a.hover img {
	filter: none;
}
@media screen and (max-width:768px) {
	.grad-wrap {
		position: relative;
		padding-bottom: 1em;
	}
	.grad-trigger {
		position: absolute;
		color: var(--orange);
		bottom: -0.5em;
		text-align: center;
		width: 100%;
	}
	.grad-trigger::after {
		cursor: pointer;
		content: "\7D9A\304D\3092\8AAD\3080\a0\25BC";
	}
	.grad-item {
		position: relative;
		overflow: hidden;
	}
	.grad-item.is-hide {
		height: 3.5em;
	}
	.grad-item::before {
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		content: "";
		width: 100%;
		height: 40px;
		background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
		background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
		z-index: 3;
	}
	.grad-trigger.is-show {
		bottom: -1em;
	}
	.grad-trigger.is-show::after {
		content: "\9589\3058\308B\a0\25B2";
	}
	.grad-trigger.is-show + .grad-item::before {
		display: none;
	}
}
.door-content__box.overview dl {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
@media screen and (max-width:768px) {
	.door-content__box.overview dl {
		line-height: 1.5;
		margin-bottom: 12px;
		padding-bottom: 12px;
		border-bottom: 1px dashed var(--black);
	}
}
.door-content__box.overview dl dt {
  font-weight: var(--fw-medium);
	width: 3.2em;
}
.door-content__box.overview dl dd {
  font-weight: var(--fw-medium);
	width: calc(100% - 3.2em);
}

.door-content__box.overview dl.tel {
	margin-bottom: 0;
}
@media screen and (max-width:768px) {
	.door-content__box.overview dl.tel {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
	}
}
.door-content__box.overview dl dt.tel {
	width: 5.5em;
}
.door-content__box.overview dl dd.tel {
	width: calc(100% - 5.5em);
}
@media screen and (max-width:768px) {
	.door-content__box.overview dl dt.tel {
		margin-top: 10px;
	}
	.door-content__box.overview dl dd.tel {
		margin-top: 10px;
	}
}
.door-content__box.overview .overview-link p {
	margin-bottom: 8px;
}
.door-content__box.overview .overview-link p:last-of-type {
	margin-bottom: 24px;
}
.door-content__box.overview .overview-link a img {
	filter: brightness(0);
	width: 16px;
	margin: 0 0 8px 10px;
}
@media screen and (max-width: 768px) {
	.door-content__box.overview .overview-link a img {
		margin: 0 0 4px 10px;
	}
}
.door-content__box.overview .overview-link a.hover {
	color: var(--orange);
	text-decoration: underline;
}
.door-content__box.overview .overview-link a.hover img {
	filter: none;
}
.door-content__box.overview p {
	margin-bottom: 0;
}
.overview-block:not(:first-of-type) {
	margin-top: 200px;
}
@media screen and (max-width:768px) {
	.overview-block:not(:first-of-type) {
		margin-top: 100px;
	}
}
.overview-block__this {
	margin-bottom: 80px;
}
@media screen and (max-width:768px) {
	.overview-block__this {
		margin-bottom: 40px;
		letter-spacing: 0.02em;
	}
}
.overview-box h3 {
	margin-bottom: 40px;
}
@media screen and (max-width:768px) {
	.overview-box h3 {
		margin-bottom: 24px;
	}
}
.overview-box h3.shien,
.overview-box h3#shien {
	margin-top: 200px;
}
@media screen and (max-width:768px) {
	.overview-box h3.shien,
	.overview-box h3#shien {
		margin-top: 96px;
	}
}
.acco-inner {
	display: none;
	margin-top: 40px;
}
@media screen and (max-width:768px) {
	.acco-inner {
		margin-top: 24px;
	}
}
.acco-inner.stay,
.acco-inner.open {
	display: block;
}
.overview-box__file p:not(:last-of-type) {
	margin-bottom: 24px;
}
@media screen and (max-width:768px) {
	.overview-box__file p:not(:last-of-type) {
		margin-bottom: 12px;
	}
}
.overview-box__info {
	margin-top: 80px;
}
@media screen and (max-width:768px) {
	.overview-box__info {
		margin-top: 24px;
	}
}
.overview-box__info h4.acco-btn {
	cursor: pointer;
	display: flex;
	padding-bottom: 20px;
	padding-right: 55px;
	border-bottom: 1px dashed var(--black);
}
.overview-box__info h4 span {
	position: absolute;
	right: 0;
	width: 48px;
	height: 48px;
	border-radius: 100%;
	background-color: var(--orange);
}
@media screen and (max-width:768px) {
	.overview-box__info h4 span {
		width: 40px;
		height: 40px;
	}
}
.overview-box__info h4 span::before,
.overview-box__info h4 span::after {
	content: '';
	display: block;
	width: 24px;
	height: 3px;
	background: #fff;
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
@media screen and (max-width:768px) {
	.overview-box__info h4 span::before,
	.overview-box__info h4 span::after {
		width: 20px;
		height: 2px;
		right: 10px;
	}
}
.overview-box__info h4 span::after {
	transform: translateY(-50%) rotate(90deg);
}
.overview-box__info h4.acco-btn.stay span::before,
.overview-box__info h4.acco-btn.open span::before {
	opacity: 0;
}
.overview-box__info h4.acco-btn.stay span::after,
.overview-box__info h4.acco-btn.open span::after {
	transform: rotate(0);
}
.overview-box__info-table {
	width: 100%;
}	
.overview-box__info-table table {
	width: 100%;
	line-height: 1.4;
}	
@media screen and (max-width:768px) {
	.overview-box__info-table table {
		width: 100%;
	}	
}	
.overview-box__info-table table th,
.overview-box__info-table table td {
	padding: 24px 30px 24px 40px;
	border: 1px solid #ED7A94;
	background-color: var(--white);
}	
.overview-box__info-table table th {
	width: 305px;
	background: var(--gradation-pink);
}	
.overview-box__info-table table td {
	width: calc(100% - 305px);
	word-break: break-word;
}	
@media screen and (max-width:768px) {
	.overview-box__info-table table th,
	.overview-box__info-table table td {
		display: block;
		width: 100%;
		padding: 12px 24px;
	}	
	.overview-box__info-table table th,
	.overview-box__info-table table tr:not(:last-of-type) td {
		border-bottom: none;
	}	
}	
.overview-box__info-table table td a[target="_blank"] img {
	width: 16px;
	margin: 0 0 4px 8px;
	filter: brightness(0.3);
}	
@media screen and (max-width:768px) {
	.overview-box__info-table table td a[target="_blank"] img {
		margin: 0 0 2px 8px;
	}	
}	
.overview-box__info-table table td a.hover {
	color: var(--orange);
	text-decoration: underline;
}	
.overview-box__info-table table td a.hover[target="_blank"] img {
	filter: brightness(1);
}	
.overview-box__info-table table td p {
	margin-bottom: 16px;
}	
.overview-box__info-table table td p:last-of-type {
	margin-bottom: 0;
}	
@media screen and (max-width:768px) {
	.overview-box__info-table table td p {
		margin-bottom: 8px;
	}	
}	
.overview-box__info-table table td p a[target="_blank"] img {
	margin: 0 0 2px 8px;
}	
.overview-box__info-toward {
	margin-top: 40px;
}
@media screen and (max-width:768px) {
	.overview-box__info-toward {
		margin-top: 24px;
	}
}	


/****************************************
トップ
***************************************/
#top-fv {
	width: 100%;
	height: 768px;
	background: #fff url("../images/top_fv_bg.png") center bottom no-repeat;
	background-size: cover;
}
@media screen and (max-width:768px) {
	#top-fv {
		height: auto;
		margin-top: 88px;
		background: #fff url("../images/top_fv_bg_sp.png") center 35% no-repeat;
		background-size: 100%;
	}
}
#top-fv > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 1044px;
	height: calc(100% - 147px);
	margin: 0 auto;
}
@media screen and (max-width:768px) {
	#top-fv > div {
		width: 100%;
		flex-wrap: wrap;
		height: auto;
	}
	#top-fv figure {
		order: 1;
		width: 40%;
		margin-top: 10px;
		margin-left: calc(60% - 20px);
	}
}
#top-fv hgroup p {
	font-size: 1.6rem;
	line-height: 1.4;
	letter-spacing: 0.2em;
	margin-bottom: 10px;
	margin-left: 10px;
}
#top-fv hgroup h1 {
	font-size: 4.8rem;
	line-height: 1.4;
	letter-spacing: 0.17em;
	margin-bottom: 15px;
}
#top-fv hgroup h1 strong {
	font-size: 3.2rem;
	font-weight: var(--fw-medium);
}	
#top-fv hgroup h1 span {
	color: #97CFAC;
}
#top-fv hgroup h1 span:last-of-type {
	color: #F5A33B;
}
@media screen and (max-width:768px) {
	#top-fv hgroup {
		order: 2;
		width: calc(100% - 40px);
		margin: 10px 20px 20px;
	}
	#top-fv hgroup p {
		font-size: 1.4rem;
		margin-bottom: 6px;
	}
	#top-fv hgroup h1 {
		font-size: 3.4rem;
		margin-bottom: 10px;
	}
	#top-fv hgroup h1 strong {
		font-size: 2.8rem;
	}	
}
@media screen and (max-width:768px) {
	.top-fv__nav {
		margin: 20px;
	}
}
.top-fv__nav ul {
	display: flex;
	column-gap: 24px;
	width: 100%;
	max-width: 1110px;
	margin: 0 auto;
}	
@media screen and (max-width:768px) {
	.top-fv__nav ul {
		flex-wrap: wrap;
	}	
}
.top-fv__nav li {
	width: 33%;
	max-width: 354px;
	height: 146px;
}
@media screen and (max-width:768px) {
	.top-fv__nav li {
		width: 100%;
		max-width: 100%;
		height: 88px;
		margin-bottom: 20px;
	}
}
.top-fv__nav li a {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	background-color: var(--white);
	box-shadow: 0px -8px 10px rgba(0, 0, 0, 0.07);
	border-radius: 12px 12px 0px 0px;
	padding: 28px 25px;
}
@media screen and (max-width:768px) {
	.top-fv__nav li a {
		box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.15);
		border-radius: 12px;
		padding: 15px 15px 10px;
	}
}
	
.top-fv__nav li span {
	width: 100%;
	text-align: center;
	font-size: 1.4rem;
	font-weight: var(--fw-regular);
}
@media screen and (max-width:768px) {	
	.top-fv__nav li span {
		font-size: 1.2rem;
	}
}
.top-fv__nav li p {
	position: relative;
	display: inline-block;
	font-size: 2.6rem;
	line-height: 1;
	font-weight: var(--fw-bold);
	background: url("../images/tt_icon.svg") left 26% no-repeat;
	padding: 0 1em 0 1.5em;;
}
@media screen and (max-width:768px) {
	.top-fv__nav li p {
		font-size: 1.8rem;
		padding: 0 1.5em 0 2em;
		background-size: 10%;
	}
}
.top-fv__nav li p::before {
	position: absolute;
	content: "";
	top: 26%;
	right: 0;
	width: 12px;
	height: 12px;
	border-top: 2px solid var(--black);
	border-right: 2px solid var(--black);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
@media screen and (max-width:768px) {
	.top-fv__nav li p::before {
		top: 24%;
		right: 0;
		width: 10px;
		height: 10px;
	}
}
.top-fv__nav li p::after {
	content: '';
	border-bottom: solid 2px #F5A33B;
	display: block;
	margin-top: 10px;
	transform: scaleX(1);
	transition: transform 0.2s ease-in-out;
	transform-origin: 100% 50%;
}
.top-fv__nav li a.hover p::after {
	animation: fadeInLeft 0.5s ease-out;
	transform-origin: left center;
	animation-fill-mode: forwards;
}
@keyframes fadeInLeft {
	0% {
		transform: scaleX(0);
	}
	100% {
		transform: scaleX(1);
	}
}
.top-fv__nav li a.active p,
.top-fv__nav li a.active span {
	opacity: 0.5;
}
.top-fv__nav li div {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--pink);
	top: -33px;
	right: -26px;
	height: 52px;
	padding: 0 1.2em;
	border-radius: 30px;
	z-index: 1;
	/*
	opacity: 0;
	transition: all 0.3s ease-in-out;
	*/
}
.top-fv__nav li:nth-of-type(2) div {
	background-color: var(--cream);
}
.top-fv__nav li:nth-of-type(3) div {
	background-color: var(--blue);
}
@media screen and (max-width:768px) {
	.top-fv__nav li div {
		opacity: 1;
		font-size: 1.2rem;
		top: -12px;
		right: inherit;
		height: 26px;
		padding: 0 1.5em;
		transition: none;
	}
}	
.top-fv__nav li div::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 32%;
	border-style: solid;
	border-width: 15px 20px 0 0;
	border-color: var(--pink) transparent transparent;
	translate: calc(-50% - 0.4px) 100%;
	transform: skew(-25deg);
	transform-origin: top;
	/*
	opacity: 0;
	transition: all 0.3s ease-in-out;
	*/
}
@media screen and (max-width:768px) {
	.top-fv__nav li div::before {
		content: none;
	}
}
.top-fv__nav li:nth-of-type(2) div::before  {
	border-color: var(--cream) transparent transparent;
}
.top-fv__nav li:nth-of-type(3) div::before  {
	border-color: var(--blue) transparent transparent;
}
.top-fv__nav li a.hover div {
	opacity: 1;
}
.top-fv__nav li a.hover div::before {
	opacity: 1;
}
@media screen and (max-width:768px) {
	.top-fv__nav li a.hover div::before {
		opacity: 0;
	}
}
	#top-about {
		background: url("../images/bg_k.png") right top no-repeat;
	}	
@media screen and (max-width:768px) {
	#top-about {
		background-position: right 67%;
		background-size: 40%;
	}	
}	
#top-about > div {
	display: flex;
	width: auto;
	max-width: 1110px;
	margin: 160px auto 0;
	padding-bottom: 330px;
}
@media screen and (max-width:768px) {
	#top-about > div {
		flex-wrap: wrap;
		margin: 80px auto 0;
	}
}
#top-about figure {
	width: 530px;
	margin-right: 50px;
}
@media screen and (max-width:768px) {
	#top-about figure {
		width: 60%;
		max-width: 300px;
		margin: 0 auto;
	}
}
 .top-about__box {
	width: 460px;
}
@media screen and (max-width:768px) {
	.top-about__box {
		width: calc(100% - 40px);
		margin: 0 auto;
	}
}
.top-about__box p {
	margin-bottom: 30px;
}
@media screen and (max-width:768px) {
	.top-about__box p {
		margin-bottom: 20px;
	}	
}
.top-about__box p:first-of-type {
	font-size: 4.0rem;
	line-height: 1.4;
	margin-bottom: 20px;
}	
@media screen and (max-width:768px) {
	.top-about__box p:first-of-type {
		font-size: 2.8rem;
		margin-bottom: 20px;
	}	
}
.top-subttl {
	display: flex;
	align-items: baseline;
	margin-bottom: 40px;
}
@media screen and (max-width:768px) {
	.top-subttl {
		flex-wrap: wrap;
		margin-bottom: 20px;
	}
}
.top-subttl h2 {
	position: relative;
	font-size: 4.8rem;
	line-height: 1.4;
	background: url("../images/tt_icon.svg") left center no-repeat;
	padding-left: 1em;
}
@media screen and (max-width:768px) {
	.top-subttl h2 {
		font-size: 2.8rem;
		padding-left: 1.4em;
	}
}	
.top-subttl h2 span {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--pink);
	font-size: 1.7rem;
	top: -66px;
	right: -107px;
	height: 52px;
	padding: 0 1.2em;
	border-radius: 30px;
	z-index: 1;
}
@media screen and (max-width:768px) {
	.top-subttl h2 span {
		right: -50px;
	}
}
.top-subttl h2 span::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 32%;
	border-style: solid;
	border-width: 15px 20px 0 0;
	border-color: var(--pink) transparent transparent;
	translate: calc(-50% - 0.4px) 100%;
	transform: skew(-25deg);
	transform-origin: top;
	transition: all 0.4s ease-in-out;
}	
.top-subttl p {
	margin-left: 6em;
}
@media screen and (max-width:768px) {
	.top-subttl p {
		margin-left: 0;
		margin-top: 25px;
	}
}
#top-members {
	margin-bottom: 200px;
	margin-top: -120px;
}
@media screen and (max-width:768px) {
	#top-members {
		margin-bottom: 96px;
		margin-top: -140px;
	}
}
.top-members__box {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	column-gap: 24px;
}

.top-members__box article {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	border-radius: 12px;
	background: var(--gradation-pink);
	padding: 45px 40px 40px;
}
.top-members__box article:not(:first-of-type) {
	max-width: calc(50% - 12px);
	margin-top: 24px;
}
@media screen and (max-width:768px) {
	.top-members__box article,
	.top-members__box article:not(:first-of-type) {
		flex-wrap: wrap;
		max-width: 100%;
		padding: 25px;
	}
}
.top-members__box article:first-of-type::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url("../images/top_members_bg_k.png") 108% -57% no-repeat;
}
@media screen and (max-width:768px) {	
	.top-members__box article:first-of-type::before {
		background-position: 145% -19%;
		background-size: 57%;
	}
}
.top-members__box article:last-of-type::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url("../images/top_members_bg_l.png") 114% 162% no-repeat;
}
@media screen and (max-width:768px) {	
	.top-members__box article:last-of-type::before {
		background-position: 114% 122%;
		background-size: 50%;
	}
}
.top-members__box article figure {
	position: relative;
}
@media screen and (max-width:768px) {	
	.top-members__box article figure {
		display: flex;
		justify-content: space-between;
		display: none;
	}
}
.top-members__box article figure figcaption {
	position: relative;
	color: #ED7A94;
	font-size: 6.4rem;
	font-weight: var(--fw-semibold);
	letter-spacing: 0;
	z-index: 1;
}
.top-members__box article figure img {
	width: 293px;
	max-width: 293px;
	margin-top: -63px;
}
.top-members__box article:not(:first-of-type) figure img {
	width: 278px;
	max-width: 278px;
	margin-top: -43px;
	margin-left: -12px;
}
@media screen and (max-width:768px) {	
	.top-members__box article figure img,
	.top-members__box article:not(:first-of-type) figure img {
		width: 60%;
		max-width: 293px;
		margin-top: -10px;
		margin-left: 0;
	}
}
.top-members__box article div {
	width: 760px;
	margin-left: 65px;
	z-index: 1;
}
.top-members__box article:not(:first-of-type) div {
	margin-left: 25px;
	width: 224px;
}
@media screen and (max-width:768px) {		
	.top-members__box article div,
	.top-members__box article:not(:first-of-type) div {
		margin-left: 0;
		width: 100%;
	}
}
.top-members__box article div h3 {
	font-size: 2.8rem;
	font-weight: var(--fw-bold);
	background: url("../images/ttl_line.svg") left bottom no-repeat;
	margin-bottom: 22px;
}
@media screen and (max-width:768px) {		
	.top-members__box article div h3 {
		font-size: 2.4rem;
		margin-top: 10px;
		margin-bottom: 10px;
		padding-bottom: 8px;
	}
	.top-members__box article div p {
		line-height: 1.5;
	}
	.top-members__box article div p.chara {
		width: 70%;
	}
}
.top-members__box article div h3 span {
	margin: 0 0 -6px 15px;
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
.top-members__box article div a.hover span {
	background-color: var(--white);
	border-color: var(--grey);
}
.top-members__box article div a.hover span::after {
	border-color: var(--orange);
}
.top-members__box article div a.active span {
	border-color: var(--white);
}
.top-members__box article ul {
	display: flex;
	flex-wrap: wrap;
	column-gap: 14px;
	row-gap: 14px;
	margin-top: 30px;
}
@media screen and (max-width:768px) {
	.top-members__box article ul {
		display: flex;
		margin-top: 10px;
		column-gap: 8px;
		row-gap: 8px;
	}
}
@media screen and (max-width:768px) {
	.top-members__box article div + .pc-none {
		position: relative;
		display: flex;
		justify-content: flex-end;
		width: 100%;
		margin-top: -89px;
	}
	.top-members__box article:first-of-type div + .pc-none {
		margin-top: -45px;
		margin-bottom: -13px;
	}
}
#top-members .primary-btn {
	margin-top: 40px;
	margin-left: calc(100% - 230px);
}
@media screen and (max-width:768px) {
	#top-members .primary-btn {
		margin-top: 25px;
	margin-left: calc(100% - 212px);
	}
}

#top-school {
	background: url("../images/bg_l.png") left bottom no-repeat;
}
@media screen and (max-width:768px) {
	#top-school {
		background-position: left 22%;
		background-size: 60%;
	}
}
#top-school .warp {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	flex-wrap: wrap;
	padding-bottom: 200px;
}
@media screen and (max-width:768px) {
	#top-school .warp {
		padding-bottom: 96px;
	}
}
#top-school hgroup {
	width: 475px;
	flex-wrap: wrap;
	margin-bottom: 0;
}
#top-school h2 {
	margin-top: 65px;
}
#top-school h2 span {
	background-color: var(--cream);
	right: 0px;
}
@media screen and (max-width:768px) {
	#top-school h2 span {
		right: -50px;
	}
}
#top-school h2 span::before {
	border-color: var(--cream) transparent transparent;
}
#top-school hgroup p {
	margin-left: 0;
	margin-top: 40px;
}
@media screen and (max-width:768px) {
	#top-school hgroup p {
		margin-top: 20px;
	}
}
#top-school hgroup figure {
	width: 218px;
	margin: 40px auto 0;
	mix-blend-mode: multiply;
}
@media screen and (max-width:768px) {
	#top-school hgroup figure {
		margin: 20px auto 25px;
		width: 45%;
	}
}
#top-school hgroup figure img {
	width: 100%;
}
.top-school__box {
	position: relative;
	width: 688px;
	display: flex;
	flex-wrap: wrap;
	row-gap: 24px;
	column-gap: 24px;
}
@media screen and (max-width:768px) {
	.top-school__box {
		width: 100%;
	}
}
.top-school__box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url("../images/top_school_bg_l.png") 107% 59% no-repeat;
	z-index: 1;
}
.top-school__box article {
	position: relative;
	width: 332px;
	height: 215px;
	border-radius: 12px;
	background: var(--gradation-orange);
	padding: 40px 25px;
}
@media screen and (max-width:768px) {
	.top-school__box article {
		position: relative;
		width: 100%;
		height: auto;
		padding: 25px;
	}
}
.top-school__box article h3 {
	position: relative;
	font-size: 2.8rem;
	font-weight: var(--fw-bold);
	background: url("../images/ttl_line.svg") left bottom no-repeat;
	margin-bottom: 22px;
	z-index: 2;
}
@media screen and (max-width:768px) {
	.top-school__box article h3 {
		font-size: 2.0rem;
		padding-bottom: 8px;
		margin-bottom: 22px;
	}
	.top-school__box article p {
		line-height: 1.5;
	}
}
.top-school__box article h3 span {
	margin: 0 0 -6px 15px;
	-webkit-transition: var(--transition);
	transition: var(--transition);
}
.top-school__box article a.hover span {
	background-color: var(--white);
	border-color: var(--grey);
}
.top-school__box article a.hover span::after {
	border-color: var(--orange);
}
.top-school__box article a.active span {
	border-color: var(--white);
}
.top-school__box article p {
	position: relative;
	z-index: 2;
}
#top-school .primary-btn {
	margin-top: 40px;
	margin-left: calc(100% - 238px);
}
@media screen and (max-width:768px) {
	#top-school .primary-btn {
		margin-top: 25px;
		margin-left: calc(100% - 220px);

	}
}
#top-support {
	position: relative;
	margin-bottom: 120px;
	overflow-x: hidden;
}
@media screen and (max-width:768px) {
	#top-support {
		margin-bottom: 50px;
	}
}
#top-support hgroup {
	justify-content: center;
}
@media screen and (max-width:768px) {
	#top-support hgroup {
		margin-bottom: 65px;
	}
}
.top-support__box {
  background: var(--gradation-pink);
  border-top-left-radius: 1600px 400px;
  border-top-right-radius: 1600px 400px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
  padding-bottom: 80px;
}
@media screen and (max-width:768px) {
	.top-support__box {
		background: var(--gradation-pink);
		padding-bottom: 48px;
	}
}	
.top-support__box figure {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	width: 918px;
	margin: 0 auto;
}
@media screen and (max-width:768px) {
	.top-support__box figure {
		width: 100%;
	}
}
.top-support__box figure img  {
	position: absolute;
	margin-top: -96px;
	left: 0;
}
@media screen and (max-width:768px) {
	.top-support__box figure img  {
		margin-top: -50px;
		left: 20px;
		width: 60px;
	}
}
.top-support__box figure img:last-of-type {
	margin-top: -97px;
	right: 0;
	left: inherit;
}
@media screen and (max-width:768px) {
	.top-support__box figure img:last-of-type {
		margin-top: -50px;
		right: 20px;
		width: 105px;
	}
}
.top-support__desc {
	text-align: center;
	margin: 45px 0 75px;
}
@media screen and (max-width:768px) {
	.top-support__desc {
		margin: 55px 0 65px;
	}
}
.top-support__list {
	display: flex;
	justify-content: center;
	width: 1046px;
	margin: 0 auto;
	background-color: var(--white);
	border-radius: 16px;
}
@media screen and (max-width:768px) {
	.top-support__list {
		flex-wrap: wrap;
		width: 100%;
		margin: 0 auto;
	}
}
.top-support__list li {
	position: relative;
	width: 33.33%;
	height: 266px;
	text-align: center;
}
@media screen and (max-width:768px) {
	.top-support__list li {
		width: 100%;
		height: auto;
		padding: 30px 0;
	}
}
.top-support__list li:nth-of-type(2)::before,
.top-support__list li:nth-of-type(2)::after {
	content: "";
	position: absolute;
	top: 112px;
	border-left: 1px dashed var(--black);
	height: 62px;
}
@media screen and (max-width:768px) {
	.top-support__list li:nth-of-type(2)::before,
	.top-support__list li:nth-of-type(2)::after {
		top: 0;
		border-left: none;
		border-top: 1px dashed var(--black);
		height: 1px;
		width: 50%;
	}
}
.top-support__list li:nth-of-type(2)::before {
	left: 0;
}
@media screen and (max-width:768px) {
	.top-support__list li:nth-of-type(2)::before {
		left: 25%;
	}
}
	
.top-support__list li:nth-of-type(2)::after {
	right: 0;
}
@media screen and (max-width:768px) {
	.top-support__list li:nth-of-type(2)::after {
		right: 25%;
		top: inherit;
		bottom: 0;
	}
}
@media screen and (max-width:768px) {
	.top-support__list li div {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 15vw;
	}
}
.top-support__list li img {
	transform: translateY(-57%);
}
@media screen and (max-width:768px) {	
	.top-support__list li img {
		transform: none;
		width: 24px;
	}
}
.top-support__list li p {
	font-size: 2.8rem;
	font-weight: var(--fw-bold);
	width: 248px;
	margin: -15px auto 24px;
}
@media screen and (max-width:768px) {	
	.top-support__list li p {
		font-size: 2.0rem;
		width: auto;
		margin: 0 auto;
	}
}
.top-support__list li span {
	display: block;
	width: 248px;
	margin: 0 auto 24px;
}
.top-support__list li:nth-of-type(2) span {
	width: 256px;
}
@media screen and (max-width:768px) {	
	.top-support__list li span,
	.top-support__list li:nth-of-type(2) span {
		margin: 10px auto 0;
		padding: 0 12.5vw;
		width: auto;
		line-height: 1.5;
	}
}	
.top-support__list li a {
	position: absolute;
	bottom: 0;
	margin-bottom: 30px;
	margin-left: -12px;
}
@media screen and (max-width:768px) {
	.top-support__list li a {
		position: relative;
		bottom: inherit;
		margin-bottom: 0;
		margin-left: 0;
	}
}
#top-support .primary-btn {
	margin: 40px calc((100% - 193px) / 2) 0;
}	
@media screen and (max-width:768px) {
	#top-support .primary-btn {
		margin: 25px 0 0 calc(100% - 193px);
	}	
}	
#top-news {
	display: flex;
	justify-content: space-between;
	margin-bottom: 190px;
}
@media screen and (max-width:768px) {
	#top-news {
		flex-wrap: wrap;
		margin-bottom: 90px;
	}
}
#top-news hgroup {
	width: 245px;
}
@media screen and (max-width:768px) {
	#top-news hgroup {
		width: 100%;
	}
}
#top-news .primary-btn {
	margin-top: 40px;
	margin-left: calc(100% - 157px);
}
@media screen and (max-width:768px) {
	#top-news .primary-btn {
		margin-top: 25px;
		margin-left: calc(100% - 149px);		
	}
}
.top-news__list {
	width: 877px;
}
@media screen and (max-width:768px) {
	.top-news__list {
		width: 100%;
	}
}
.top-news__list .news-list li {
	padding: 16px 0;
}
.top-news__list .news-list li a {
	font-weight: var(--fw-medium);
}
#top-column {
	background: url("../images/bg_k.png") right bottom no-repeat;
}
@media screen and (max-width:768px) {
	#top-column {
		background-size: 50%;
		background-position: right 93%;
	}
}
#top-column hgroup {
	justify-content: center;
	margin-bottom: 36px;
}
.top-column__list {
	width: 100%;
}
.top-column__list .column-list {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top-column__list .column-list > li {
	width: 560px;
}
@media screen and (max-width:768px) {	
	.top-column__list .column-list > li {
		width: 100%;
	}
	.top-column__list .column-list > li:last-of-type,
	.top-column__list .column-list > li:nth-last-of-type(2) {
		display: none;
	}
}
.top-column__list .column-list > li:nth-of-type(2) {
	border-top: 1px dashed var(--black);
}
.top-column__list .column-list li figure {
	max-width: 165px;
	height: 93px;
	margin-right: 35px
}
@media screen and (max-width:768px) {	
	.top-column__list .column-list li figure {
		aspect-ratio: 283 / 159;
		max-width: 32%;
		height: auto;
		margin-right: 0;
		margin-bottom: 24px;
	}
}
.top-column__list .column-list li figure img {
	max-width: 100%;
	max-height: 100%;
	position: absolute;
}
@media screen and (max-width:768px) {	
	.top-column__list .column-list li figure img {
		max-height: inherit;
	}
}
.top-column__list .column-list__box {
	max-width: 359px;
}
@media screen and (max-width:768px) {	
	.top-column__list .column-list__box {
		max-width: calc(100% - 36%);
	}
}
.top-column__list .column-list__box > a {
	font-size: 2.0rem;
	line-height: 1.4;
	margin: 9px 0 16px;
}
@media screen and (max-width:768px) {	
	.top-column__list .column-list__box > a {
		font-size: 1.5rem;
	}
}
/****************************************
ここりんくとは?　about
***************************************/
body:has(#about) {
	background: url("../images/bg_k.png") right 50% no-repeat;
}
@media screen and (max-width:768px) {
	body:has(#about) {
		background: none;
	}
}
#about h2 {
	margin-bottom: 80px;
}
@media screen and (max-width:768px) {
	#about h2 {
		margin-bottom: 24px;
	}
}	
.about-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}	
.about-box figure figcaption {
	color: var(--orange);
	font-size: 4.0rem;
	line-height: 1.8;
	margin-bottom: 80px;
}
@media screen and (max-width:768px) {
	.about-box figure {
		display: flex;
		flex-wrap: wrap;
	}
}
.about-box figure figcaption {
	color: var(--orange);
	font-size: 4.0rem;
	line-height: 1.8;
	margin-bottom: 80px;
}
@media screen and (max-width:768px) {
	.about-box figure figcaption {
		order: 2;
		font-size: 3.2rem;
		line-height: 1.5;
		margin-bottom: 30px;
	}
}
.about-box figure img {
	width: 530px;
	margin-left: -65px;
}
@media screen and (max-width:768px) {
	.about-box figure img {
		order: 1;
		width: 70%;
		margin: 0 18% 24px 12%;
	}
}
.about-box p {
	line-height: 2;
}
@media screen and (max-width:768px) {
	.about-box p {
		line-height: 1.5;
	}
}

/****************************************
当サイトについて　site-info
***************************************/
#site-info .sub-title {
	margin-bottom: 32px;
}
@media screen and (max-width:768px) {
	#site-info .sub-title {
		margin-bottom: 24px;
	}
}
#site-info .sub-title:last-of-type {
	margin-top: 80px;
}
@media screen and (max-width:768px) {
	#site-info .sub-title:last-of-type {
		margin-top: 40px;
	}
}
#site-info .sub-heading {
	display: flex;
	align-items: center;
	padding-left: 1em;
	margin-top: 80px;
	margin-bottom: 24px;
}
@media screen and (max-width:768px) {
	#site-info .sub-heading {
		margin-top: 40px;
		margin-bottom: 12px;
	}
}
#site-info .sub-heading::before {
	content: "";
	position: absolute;
	left: 0;
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 2px;
	background-color: #F8B856;
}
#site-info .child-heading {
	position: relative;
	font-size: 1.8rem;
	font-weight: var(--fw-bold);
	line-height: 1.4;
	margin-top: 40px;
	margin-bottom: 20px;
	padding-left: 2.5em;
	text-indent: -2.5em;
}
@media screen and (max-width:768px) {
	#site-info .child-heading {
		font-size: 1.6rem;
		margin-top: 20px;
		margin-bottom: 10px;
	}
}
#site-info p {
	margin-bottom: 24px;
}
@media screen and (max-width:768px) {
	#site-info p {
		margin-bottom: 12px;
	}
}
#site-info p.period {
	padding-left: 1em;
}
#site-info ul {
	padding-left: 1em;
	margin-bottom: 24px;
}
#site-info ul.period {
	padding-left: 2em;
}
#site-info ul li {
	line-height: 1.4;
	padding-bottom: 10px;
	padding-left: 0.7em;
	text-indent: -0.7em;
}
#site-info ul li:last-of-type {
	padding-bottom: 0;
}
#site-info ol {
	padding-left: 0.5em;
}
#site-info ol li {
	line-height: 1.4;
	padding-bottom: 10px;
	padding-left: 2.5em;
	text-indent: -2.5em;
}
#site-info ol li:last-of-type {
	padding-bottom: 0;
}
#site-info dl {
	display: flex;
	justify-content: flex-end;
	margin-top: 80px;
}
@media screen and (max-width:768px) {
	#site-info dl {
		margin-top: 40px;
	}
}
#site-info dl dt {
	font-weight: var(--fw-medium);
}

/****************************************
アンケート　questionnaire
***************************************/
#questionnaire h2 {
	margin-bottom: 48px;
}	
@media screen and (max-width: 768px) {
	#questionnaire h2 {
		margin-bottom: 24px;
	}
}
.questionnaire_signature {
	margin-top: 1em;
	text-align: right;
}
.questionnaire_banner {
	width: 640px;
	margin-top: 86px;
}
@media screen and (max-width: 768px) {
	.questionnaire_banner {
		width: 100%;
		margin-top: 48px;
	}
}
.questionnaire_banner a {
	background: #FFFFFF;
	border-radius: 12px;
	box-shadow: 0px 2px 16px rgba(0, 0, 0, 0.1);
	display: inline-block;
}
@media screen and (max-width: 768px) {
	.questionnaire_banner a {
		border-radius: 10px;
	}
}
.questionnaire_banner a.hover img {
	filter: brightness(103%);
}

/****************************************
各種サポート　support
***************************************/
@media screen and (max-width:768px) {
	.door-nav.support ul {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 0.65fr;
	}
	.door-nav.honbu ul {
		display: grid;
		grid-template-columns: 1fr 1fr 2.2fr;
	}
	.door-nav.branch ul {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
	.door-nav.branch a {
		word-break: break-all;
	}
}
.support .door-content__box::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
}
.support .door-content__box:first-of-type::after {
	background: url("../../support/assets/support_bg01.png") 112% 26px no-repeat;
}
@media screen and (max-width:768px) {	
	.support .door-content__box:first-of-type::after {
		background-size: 35%;
		background-position: 97% bottom;
	}
}	
.support .door-content__box:nth-of-type(2)::after {
	background: url("../../support/assets/support_bg02.png") 98% 72px no-repeat;
}
@media screen and (max-width:768px) {	
	.support .door-content__box:nth-of-type(2)::after {
		background-size: 52%;
		background-position: 93% 17%;
	}
}	
.support .door-content__box:last-of-type::after {
	background: url("../../support/assets/support_bg03.png") 118% 142px no-repeat;
}
@media screen and (max-width:768px) {	
	.support .door-content__box:last-of-type::after {
		background-size: 69%;
		background-position: 147% 23%
	}
}	
.support-consultation h2 {
	margin-bottom: 40px;
}
@media screen and (max-width:768px) {	
	.support-consultation h2 {
		margin-bottom: 24px;
	}
}
.support-consultation h3 {
	margin-bottom: 24px;
}
@media screen and (max-width:768px) {	
	.support-consultation h3 {
		margin-bottom: 16px;
	}
}
.support-consultation p {
	margin-bottom: 40px;
}
@media screen and (max-width:768px) {	
	.support-consultation p {
		margin-bottom: 24px;
	}
}
.support-consultation figure {
	margin-bottom: 40px;
}
@media screen and (max-width:768px) {	
	.support-consultation figure {
		margin-bottom: 24px;
	}
}
.support-consultation figure img {
	border: 1px solid var(--orange);
	border-radius: 8px;
}
.primary-btn.kokoro::after {
	content: none;
}
.primary-btn.kokoro img {
	position: absolute;
	right: 16px;
	top: calc(50% - 7px);
}
.primary-btn.kokoro.hover img {
 filter: invert(40%) sepia(77%) saturate(1613%) hue-rotate(343deg) brightness(97%) contrast(99%);
}

/****************************************
専門家コラム　column
タグ検索結果　tags
***************************************/
.tag-search {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 40px 0 80px;
}	
@media screen and (max-width:768px) {
	.tag-search {
		margin: 0 0 40px;
	}	
}	
.tag-search dt {
	width: 150px;
}	
@media screen and (max-width:768px) {
	.tag-search dt {
		width: 100%;
		margin-bottom: 24px;
	}	
}
.tag-search dd {
	width: calc(100% - 150px);
}
@media screen and (max-width:768px) {
	.tag-search dd {
		width: 100%;
	}	
}
.tags form {
	padding: 40px 80px;
}
@media screen and (max-width:768px) {
	.tags form {
		padding: 24px;
		margin-bottom: 24px;
	}
}
.tags form input[type="text"] { 
	height: 55px;
	width: 798px;
}
@media screen and (max-width:768px) {
	.tags form input[type="text"] { 
		height: 36px;
		width: calc(100% - 64px);
	}
}
.tags form .search__btn {
	height: 55px;
	width: 201px;
}
@media screen and (max-width:768px) {
	.tags form .search__btn {
		height: 36px;
		width: 64px;
	}
}
.tags form .search__btn [type="image"],
.tags form .search__btn img {
	margin-right: 12px;
	margin-bottom: -3px;
}
@media screen and (max-width:768px) {
	.tags form .search__btn img {
		margin: 0;
	}
	.tags form .search__btn span {
		display: none;
	}
}
/****************************************
こころの基礎知識　members
***************************************/
@media screen and (max-width: 768px) {
	.door-nav.members ul {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}	
.door-content.members::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url("../images/top_members_bg_k.png") 511px -121px no-repeat;
	background-size: 104%;
	z-index: 1;
}
@media screen and (max-width:768px) {
	.door-content.members::before {
		background-position: -97% 57%;
		background-size: 145%;
	}
}
.door-content.members::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url("../images/top_members_bg_l.png") 631px 63% no-repeat;
	background-size: 104%;
	z-index: 0;
}
@media screen and (max-width:768px) {
	.door-content.members::after {
		background-position: -85% 10%;
		background-size: 144%;
	}
}
.door-content.recuperation {
	width: 100%;
}
.door-content.recuperation::before {
	content: none;
}
.door-content.recuperation::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url(../images/top_members_bg_k.png) 628px -153px no-repeat;
	background-size: 104%;
	z-index: 1;
}
@media screen and (max-width: 768px) {
	.door-content.recuperation::after {
		background-position: -85% 10%;
		background-size: 144%;
	}
}
.members .door-content__box {
	padding: 45px 40px 60px;    
}
@media screen and (max-width:768px) {
	.members .door-content__box {
		padding: 24px;    
	}
}
.members .door-content__box:last-of-type {
	margin-bottom: 0;
}
.members .door-content__box figure {
	position: absolute;
	z-index: 1;
}
.members .door-content__box#consultation figure {
	top: -71px;
	right: 189px;
}
@media screen and (max-width:768px) {
	.members .door-content__box#consultation {
		margin-bottom: 85px;
	}
	.members .door-content__box#consultation figure {
		display: none;
	}
}
.members .door-content__box#stress figure {
	display: none;
}
@media screen and (max-width:768px) {
	.members .door-content__box#stress figure {
		display: inline-block;
		top: -73px;
		right: 10%;
	}
}
.members .door-content__box#life figure {
	top: -60px;
	right: 189px;
}
@media screen and (max-width:768px) {
	.members .door-content__box#life {
		margin-bottom: 85px;
	}
	.members .door-content__box#life figure {
		display: none;
	}
}
.members .door-content__box#mind figure {
	display: none;
}
@media screen and (max-width:768px) {
	.members .door-content__box#mind figure {
		display: inline-block;
		top: -62px;
		right: 10%;
	}
}
.members .door-content__box ul {
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
@media screen and (max-width:768px) {
	.members .door-content__box ul {
		grid-template-columns: 1fr;
		gap: 8px;
	}
}	
.members .door-content__box hgroup {
	display: flex;
	align-items: center;
	margin-bottom: 64px;
}
@media screen and (max-width:768px) {
	.members .door-content__box hgroup {
		display: inline-block;
		margin-bottom: 0;
	}
}	
.members .door-content__box hgroup h2 {
	white-space: nowrap;
	margin-bottom: 0;
	margin-right: 1em;
}
@media screen and (max-width:768px) {
	.members .door-content__box hgroup h2 {
		font-size: 2.4rem;
		margin-bottom: 16px;
	}
}	
.members .door-content__box hgroup p {
	margin-bottom: 0;
	letter-spacing: 0.03em;
}
@media screen and (max-width:768px) {
	.members .door-content__box hgroup p {
		margin-bottom: 16px;
		letter-spacing: 0.05em;
	}
}
/****************************************
こんな時どうする？　school
***************************************/
.door-content.school {
	width: 100%;
}
.door-content.school::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url("../images/top_members_bg_k.png") 787px -66px no-repeat;
	background-size: 68%;
	z-index: 1;
}	
@media screen and (max-width:768px) {
	.door-content.school::before {
		background-position: -40% 32vw;
		background-size: 154%;
	}	
}		
.school .door-content__box ul {
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
@media screen and (max-width:768px) {
	.school .door-content__box ul {
		grid-template-columns: 1fr;
		gap: 8px;
	}
}
.school .door-content__box {
	padding: 45px 40px 60px; 
	    margin-bottom: 0;
	background: var(--gradation-orange);
}
@media screen and (max-width:768px) {
	.school .door-content__box {
		padding: 24px; 
		margin-top: 45px;
	}
}
.school .door-content__box hgroup {
	display: flex;
	align-items: center;
	margin-bottom: 64px;
}
@media screen and (max-width:768px) {
	.school .door-content__box hgroup {
		display: inline-block;
		margin-bottom: 0;
	}
}	
.school .door-content__box hgroup h2 {
	white-space: nowrap;
	margin-bottom: 0;
	margin-right: 1em;
}
@media screen and (max-width:768px) {
	.school .door-content__box hgroup h2 {
		font-size: 2.4rem;
		margin-bottom: 16px;
	}
	.school .door-content__box#rework hgroup h2 {
		white-space: normal;
	}
}	
.school .door-content__box hgroup p {
	margin-bottom: 0;
	letter-spacing: 0.03em;
}
@media screen and (max-width:768px) {
	.school .door-content__box hgroup p {
		margin-bottom: 16px;
		letter-spacing: 0.05em;
	}
}
.school .door-content__box#rework hgroup p {
	width: 30%;
}
@media screen and (max-width: 768px) {
	.school .door-content__box#rework hgroup p {
		width: 100%;
	}
}
.school .door-content__box figure {
	position: absolute;
	z-index: 1;
	top: -68px;
	right: 189px;
}
@media screen and (max-width:768px) {
	.school .door-content__box figure {
		right: 41px;
	}
}
.door-content__file p {
	margin-bottom: 0;
}
.door-content__file p:not(:last-of-type) {
	margin-bottom: 16px;
}
.sub-heading.school {
	display: flex;
	align-items: center;
	padding-left: 1em;
	margin-top: 40px;
	margin-bottom: 24px;
}
.sub-heading.school::before {
	content: "";
	position: absolute;
	left: 0;
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 2px;
	background-color: #F8B856;
}
/****************************************
コラム関連の詳細ページ
		こころの基礎知識　members
		こんな時どうする？　school
		専門家コラム　column
***************************************/
.detail {
	position: relative;
	width: 100%;
	margin-top: 80px;
}
@media screen and (max-width:768px) {
	.detail {
		margin-top: 0;
	}
}
.detail::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url("../images/bg_k.png") right top no-repeat;
}
@media screen and (max-width:768px) {
	.detail::before {
		background-position: right 100px;
		background-size: 50%;
	}
}
.detail::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: min(130vw, 80%);
	width: 100%;
	background: url("../images/bg_l.png") left bottom no-repeat;
	background: url(../images/bg_l.png) left 55% no-repeat;
}
@media screen and (max-width:768px) {
	.detail::after {
		height: min(350vw, 80%);
		background-position: left bottom;
		background-size: 50%;
	}
}
.detail-page {
	position: relative;
	width: 100%;
	background-color: rgba(255,255,255,0.8);
	border: 1px solid var(--orange);
	backdrop-filter: blur(8px);
	border-radius: 12px;
	padding: 80px 103.2px 120px;
	margin-bottom: 40px;
	z-index: 1;
}
@media screen and (max-width:768px) {
	.detail-page {
		padding: 23px;
		margin-bottom: 24px;
	}
}
.detail-page::after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 8px;
	background-color: var(--orange);
	border-radius: 12px 12px 0 0;
	z-index: 1;
}
.detail-page > header  {
	padding-bottom: 80px;
	border-bottom: 1px dashed var(--black);
}
@media screen and (max-width:768px) {
	.detail-page > header  {
		padding-bottom: 24px;
	}
}
.detail-page > header > p {
	margin-bottom: 24px;
}
@media screen and (max-width:768px) {
	.detail-page > header > p {
		font-size: 1.6rem;
		margin-bottom: 16px;
	}
}
.detail-page > header > h1 {
	position: relative;
	font-size: 4.8rem;
	line-height: 1.4;
}
@media screen and (max-width:768px) {
	.detail-page > header > h1 {
		font-size: 2.0rem;
		font-weight: var(--fw-bold);
	}
}
.detail-page > h2 {
	position: relative;
	font-size: 2.0rem;
  font-weight: var(--fw-bold);
	line-height: 1.4;
	display: flex;
	align-items: center;
	padding-left: 1em;
	margin-top: 80px;
}	
@media screen and (max-width:768px) {
	.detail-page > h2 {
		font-size: 1.6rem;
		margin-top: 24px;
	}	
}	
.detail-page > h2::before {
	content: "";
	position: absolute;
	left: 0;
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 2px;
	background-color: #F8B856;
}	
.detail-page > p,
.detail-page > .news-detail__body,
.detail-page > .news-detail__parts,
.detail-page > .column_img {
	margin-top: 24px;
}	
.detail-page > .column_img figcaption {
	font-size: 1.5rem;
	line-height: 1.3;
	padding-top: 8px;
}	
.detail-page > .figure,
.detail-page > .news-detail__img {
	margin-top: 24px;
	text-align: center;
}
.detail-page__table {
	margin-top: 24px;
	overflow-x: auto;
}
.detail-page__table table {
	max-width: 100%!important;
}
@media screen and (max-width:768px) {
	.detail-page__table table {
		max-width: max-content!important;
	}
}
.detail-page__table table th,
.detail-page__table table td {
	padding: 30px 30px 30px 40px!important;
	border: 1px solid #ED7A94!important;
	background-color: var(--white)!important;
}	
.detail-page__table table th span,
.detail-page__table table td span {
	font-size: inherit!important;
}	
@media screen and (max-width:768px) {
	.detail-page__table table th,
	.detail-page__table table td {
		padding: 12px 24px!important;
		word-break: auto-phrase!important;
	}	
}	
.detail-page__table table th {
	background: var(--gradation-pink)!important;
}
.detail-cooperation {
	padding: 40px;
	border-radius: 16px;
	background: var(--gradation-pink);
	margin-top: 120px;
}
@media screen and (max-width:768px) {
	.detail-cooperation {
		padding: 24px;
		margin-top: 24px;
	}
}
.detail-cooperation h3 {
	position: relative;
	font-size: 2.0rem;
  font-weight: var(--fw-bold);
	line-height: 1.4;
	display: flex;
	align-items: center;
	padding-left: 1em;
	margin-bottom: 24px;
}	
@media screen and (max-width:768px) {
	.detail-cooperation h3 {
		font-size: 1.6rem;
		margin-bottom: 16px;
	}	
}	
.detail-cooperation h3::before {
	content: "";
	position: absolute;
	left: 0;
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 2px;
	background-color: #F8B856;
}
.detail-cooperation__name a img {
	margin: 0 0 6px 10px;
	width: 16px;
}		
@media screen and (max-width: 768px) {
	.detail-cooperation__name a img {
		margin: 0 0 3px 10px;
	}			
}			
.detail-cooperation__name a.hover {
	color: var(--orange);
	text-decoration: underline;
}			
.detail-cooperation__name a.hover img {
	filter: invert(65%) sepia(48%) saturate(813%) hue-rotate(343deg) brightness(92%) contrast(99%)
}			
.detail-cooperation__url a.hover {
	color: var(--orange);
	text-decoration: underline;
}
.detail-cooperation__txt {
	padding-top: 1.5em;
}
@media screen and (max-width:768px) {
	.detail-cooperation__txt {
		padding-top: 16px;
	}
}
.detail-cooperation .primary-btn {
	margin-top: 40px;
}
.detail-cooperation .grad-item::before {
	background: -webkit-linear-gradient(180deg, rgba(254, 243, 243, 0) 0%, #FEF3F3 55%);
	background: linear-gradient(180deg, rgba(254, 243, 243, 0) 0%, #FEF3F3 55%);
}
.detail-sns {
	display: flex;
	align-items: center;
	position: fixed;
	white-space: nowrap;
	left: 0;
	top: 260px;
	width: 80px;
	height: 498px;
	writing-mode: vertical-rl;
	background-color: var(--white);
	padding: 20px 0;
	border-radius: 0 12px 12px 0;
	box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.1);
	z-index: 2;
}	
.detail-page .detail-sns {
	display: none;
}
.news .detail-sns {
	height: 245px;
}	
@media screen and (max-width:768px) {
	.detail-sns {
		display: none;
		position: relative;
		left: inherit;
		top: inherit;
		width: 100%;
		writing-mode: rl;
		padding: 0;
		margin-top: 24px;
		border-radius: 0 12px 12px 0;
		box-shadow: none;
	}	
	.detail-page .detail-sns {
		display: block;
		background: none;
		height: auto;
	}	
	.news .detail-sns {
		height: auto;
	}	
}	
.detail-sns__nav {
	display: flex;
	align-items: center;
	position: relative;
	padding-top: 1.1em;
	margin-bottom: 50px;
	font-size: 2.0rem;
	font-weight: var(--fw-bold);
}	
.detail-sns__nav::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	width: 12px;
	height: 12px;
	border-radius: 2px;
	background-color: rgba(64, 64, 64, 0.5);
}
.detail-sns__nav.hover {
	color: var(--orange);
}	
.detail-sns__nav.hover::before {
	background-color: var(--orange);
}
@media screen and (max-width:768px) {	
	.detail-sns__nav {
		display: none;
	}
}
.detail-sns__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
@media screen and (max-width:768px) {	
	.detail-sns__btn {
		width: 100%;
	}
}	
.detail-sns__btn li:not(:last-of-type) {
	margin-bottom: 12px;
}
@media screen and (max-width:768px) {	
	.detail-sns__btn li:not(:last-of-type) {
		margin-bottom: 0;
		margin-right: 24px;
	}
	.detail-sns__btn li:first-of-type {
		width: 100%;
		text-align: center;
		margin-bottom: 16px;
		margin-right: 0;
	}
}
.detail-sns__btn li a {
	width: 24px;
	display: flex;
	align-items: center;
}
@media screen and (max-width:768px) {	
	.detail-sns__btn li a {
		width: auto;
	}
}
.detail-sns__btn li a img {
	width: 100%;
}
.detail-sns__btn li a.hover img {
	filter: brightness(110%);
	transform: scale(1.05);
}
.detail-nav {
	position: relative;
	z-index: 1;
	display: flex;
}
.detail-nav ul {
	width: 100%;
}
.detail-nav ul li {
	float: left;
	width: 48%;
}
.detail-nav ul li.detail-nav__next {
	float: right;
	text-align: right;
}
.detail-nav ul li a {
	position: relative;
	display: inline-block;
	padding-left: 56px;
	line-height: 1.4;
}
.detail-nav ul li.detail-nav__next a {
	padding-left: 0;
	padding-right: 56px;
}
.detail-nav ul li.detail-nav__before a::before,
.detail-nav ul li.detail-nav__next a::before {
	content: "";
	position: absolute;
	top: -4px;
	left: 0;
	width: 32px;
	height: 32px;
	border-radius: 32px;
	background-color: var(--orange);
	border: 1px solid var(--orange);
}
.detail-nav ul li.detail-nav__next a::before {
	left: inherit;
	right: 0;
}
.detail-nav ul li.detail-nav__before a::after,
.detail-nav ul li.detail-nav__next a::after {
	position: absolute;
	content: "";
	top: 7.5px;
	left: 13.5px;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--white);
	border-right: 2px solid var(--white);
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}
.detail-nav ul li.detail-nav__next a::after {
	left: inherit;
	right: 13.5px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.detail-nav ul li a b {
  font-weight: var(--fw-medium);
}
@media screen and (max-width:768px) {	
	.detail-nav ul li a b {
		display: none;
	}
}
.detail-nav ul li a span {
	display: none;
}
@media screen and (max-width:768px) {	
	.detail-nav ul li a span {
		display: inline-block;
	}
}
.detail-nav .detail-nav__list {
	margin-top: 40px;
	width: 100%;
	text-align: center;
}
@media screen and (max-width:768px) {	
	.detail-nav .detail-nav__list {
		margin-top: 24px;
	}
}
.detail-nav .detail-nav__list a {
	display: inline-flex;
	align-items: center;
	padding-left: 0;
}
.detail-nav .detail-nav__list a img {
	margin-right: 24px;
}

.detail-nav ul li a.hover {
	color: var(--orange);
	text-decoration: underline;
}
.detail-nav ul li.detail-nav__before a.hover::before,
.detail-nav ul li.detail-nav__next a.hover::before {
	background-color: var(--white);
	border-color: var(--grey);
}
.detail-nav ul li.detail-nav__before a.hover::after,
.detail-nav ul li.detail-nav__next a.hover::after {
	border-top-color: 2px solid var(--orange);
	border-right-color: 2px solid var(--orange);
}
.detail-nav ul li a.hover img {
	filter: brightness(120%);
}
.detail-support {
	position: relative;
	overflow-x: hidden;
	margin-top: 200px;
}
@media screen and (max-width:768px) {
	.detail-support {
		margin-top: 96px;
	}
}
.detail-support__box {
  background: var(--gradation-pink);
  border-top-left-radius: 1600px 400px;
  border-top-right-radius: 1600px 400px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
  padding-bottom: 40px;
	padding-top: 45px;
}
@media screen and (max-width:768px) {
	.detail-support__box {
		background: var(--gradation-pink);
		padding-top: 40px;
		padding-bottom: 48px;
	}
}
.detail-support__list {
	display: flex;
	justify-content: center;
	width: 966px;
	margin: 0 auto;
	background-color: var(--white);
	border-radius: 16px;
}
@media screen and (max-width:768px) {
	.detail-support__list {
		flex-wrap: wrap;
		width: 100%;
		margin: 0 auto;
	}
}
.detail-support__list li {
	position: relative;
	width: 33.33%;
	height: 266px;
	text-align: center;
	padding: 30px 0;
}
@media screen and (max-width:768px) {
	.detail-support__list li {
		width: 100%;
		height: auto;
		padding: 30px 0;
	}
}
.detail-support__list li:nth-of-type(2)::before,
.detail-support__list li:nth-of-type(2)::after {
	content: "";
	position: absolute;
	top: 78px;
	border-left: 1px dashed var(--black);
	height: 62px;
}
@media screen and (max-width:768px) {
	.detail-support__list li:nth-of-type(2)::before,
	.detail-support__list li:nth-of-type(2)::after {
		top: 0;
		border-left: none;
		border-top: 1px dashed var(--black);
		height: 1px;
		width: 50%;
	}
}
.detail-support__list li:nth-of-type(2)::before {
	left: 0;
}
@media screen and (max-width:768px) {
	.detail-support__list li:nth-of-type(2)::before {
		left: 25%;
	}
}
	
.detail-support__list li:nth-of-type(2)::after {
	right: 0;
}
@media screen and (max-width:768px) {
	.detail-support__list li:nth-of-type(2)::after {
		right: 25%;
		top: inherit;
		bottom: 0;
	}
}
@media screen and (max-width:768px) {
	.detail-support__list li img {
		width: 24px;
	}
	.detail-support__list li div {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 60px;
	}
}
.detail-support__list li p {
	font-size: 2.8rem;
	font-weight: var(--fw-bold);
	line-height: 1.4;
	margin: 8px auto 24px;
}
@media screen and (max-width:768px) {	
	.detail-support__list li p {
		font-size: 2.0rem;
		width: auto;
		margin: 0 auto;
	}
}
.detail-support__list li span {
	display: block;
	width: 248px;
	margin: 0 auto 24px;
}
.detail-support__list li:nth-of-type(2) span {
	width: 256px;
}
@media screen and (max-width:768px) {	
	.detail-support__list li span {
		width: auto;
		padding: 0 40ox;
		margin: 10px auto 0;
		line-height: 1.5;
	}
}	
.detail-support__list li a {
	position: absolute;
	bottom: 0;
	margin-bottom: 30px;
	margin-left: -12px;
}
@media screen and (max-width:768px) {
	.detail-support__list li a {
		position: relative;
		bottom: inherit;
		margin-bottom: 0;
		margin-left: 0;
	}
}
.detail-support__box .primary-btn {
	margin: 40px calc((100% - 193px) / 2) 0;
}	
@media screen and (max-width:768px) {
	.detail-support__box .primary-btn {
		margin: 25px 0 0 calc(100% - 193px);
	}	
}
.detail-support__box h2.line {
	text-align: center;
	background-position: center bottom;
	margin-bottom: 40px;
	padding-bottom: 16px;
}	
.detail-column {
	position: relative;
	margin-top: 200px;
	z-index: 1;
}	
@media screen and (max-width:768px) {
	.detail-column {
		margin-top: 48px;
	}	
}	
.detail-column h2.line {
	text-align: center;
	background-position: center bottom;
	margin-bottom: 40px;
	padding-bottom: 16px;
}
@media screen and (max-width:768px) {
	.detail-column h2.line {
		margin-bottom: 24px;
	}
}
.breadcrumb.column {
	margin-top: 104px;
}
@media screen and (max-width:768px) {
	.breadcrumb.column {
		margin-top: 88px;
	}
}
.detail.column {
	margin-top: 166px;
}
@media screen and (max-width:768px) {
	.detail.column {
		margin-top: 92px;
	}
}
.detail-page.column {
	border: none;
}
.detail-page.column > header > time {
	display: inline-block;
	margin-bottom: 16px;
}
.detail-page > header > .column-list__tag {
	margin-bottom: 40px;
}
@media screen and (max-width:768px) {
	.detail-page > header > .column-list__tag {
		margin-bottom: 16px;
	}
}	
.detail-page.column > header > h1 {
	background:  url("../images/tt_icon.svg") left 0.55em no-repeat;
	padding-left: 1em;
}
@media screen and (max-width:768px) {
	.detail-page.column > header > h1 {
		padding-left: 1.5em;
		background-position: left 0.5em;
	}
}
.detail-nav.column .detail-nav__list {
	margin-top: -27px;
}
@media screen and (max-width:768px) {
	.detail-nav.column .detail-nav__list {
		margin-top: 24px;
	}
}
/* 影を適用（切り抜かれた形に沿って影を出す） */
.folder {
	z-index: 1;
	position: relative;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(8px);
	filter: drop-shadow(0px 0px 16px rgba(0, 0, 0, 0.1));
	border-radius: 0 16px 16px 16px;
}
/* フォルダ本体 */
.folder .detail-page {
	width: 100%;
	min-height: 300px;
	background: none;
	position: relative;
	backdrop-filter: none;
	/* 本体の右・下・左の角丸 */
	border-radius: 0 16px 16px 16px;
	padding-top: 30px;
}
/* 左側の可変幅タブ（100% - 342px） */
.folder .detail-page::before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 0;
	/* 全体から342px引いた幅をすべてタブにする */
	width: calc(100% - 342px);
	height: 86px;
	background-color: rgba(255, 255, 255, 0.8);
	/* 左上と右上の角丸 */
	border-radius: 16px 16px 0 0;
}
@media screen and (max-width:768px) {
	.folder .detail-page::before {
		width: calc(100% - 108px);
		height: 46px;
		border-radius: 12px 12px 0 0;
	}
}
/* タブの右付け根の「逆角丸」 */
.folder .detail-page::after {
	content: "";
	position: absolute;
	bottom: 100%;
	/* タブの右端の位置に配置 */
	left: calc(100% - 342px);
	width: 16px;
	height: 16px;
	/* 逆角丸（凹み）の描画 */
	background: radial-gradient(circle at top right, transparent 16px, var(--white) 16px);
	transform: translateY(-100%);
}
@media screen and (max-width:768px) {
	.folder .detail-page::after {
		left: calc(100% - 108px);
		width: 12px;
		height: 12px;
		/* 逆角丸（凹み）の描画 */
		background: radial-gradient(circle at top right, transparent 12px, var(--white) 12px);
		transform: translateY(-100%);
	}
}
.folder .detail-nav.upside {
	 position: absolute;
	 align-items: center;
	 top: -86px;
	 right: 0;
	 width: 342px;
	 height: 86px;
	 padding: 0 24px;
}
@media screen and (max-width:768px) {
	 .folder .detail-nav.upside {
		 position: absolute;
		 align-items: center;
		 top: -68px;
		 right: 0;
		 width: 108px;
		 height: 46px;
		 padding:0 3px 0px 20px;
	}
	.detail-nav.upside ul li a {
		padding-left: 0;
	}
	.detail-nav.upside ul li.detail-nav__next a{
		padding-right: 0;
	}
}
/****************************************
お知らせ詳細ページ
***************************************/
.detail.news .detail-sns__nav {
	display: none;
}
.detail.news .detail-page {
	border: none;
	border-radius: 16px;
	background-color: var(--white);
	box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.1);
	padding: 120px 103.2px;
}
@media screen and (max-width:768px) {
	.detail.news .detail-page {
		border-radius: 12px;
		padding: 23px;
	}
}
.detail.news .detail-page::after {
	content: none;
}
.detail.news .detail-page > header > h1 {
	background:  url("../images/tt_icon.svg") left 0.55em no-repeat;
	padding-left: 1em;
}
@media screen and (max-width:768px) {
	.detail.news .detail-page > header > h1 {
		padding-left: 1.5em;
		background-position: left 0.5em;
	}
}
.detail.news .detail-page .news-list__data {
	flex-wrap: wrap;
	margin-bottom: 36px;
}
@media screen and (max-width:768px) {
	.detail.news .detail-page .news-list__data {
		margin-bottom: 8px;
	}
}
.detail.news .detail-page .news-list__data time {
	width: 100%;
	margin-bottom: 16px;
}
.news-return {
	text-align: center;
}
/****************************************
検索結果ページ
***************************************/
form.gsc-search-box {
	max-width: 100%!important;
	width: 100%!important;
	margin: auto!important;
}
.gsc-above-wrapper-area {
	max-width: 100%!important;
	width: 100%!important;
}
.gsc-wrapper {
	max-width: 100%!important;
	width: 100%!important;
}
