@charset "utf-8";


.space {
	margin-bottom: 3rem !important;
}
.inline-text {
	display: inline-block;
}
.text-center {
	text-align: center !important;
}
.text-right {
	text-align: right !important;
}
.flex-center {
	display: flex;
	justify-content: center;
}
.red-text {
	color: #FF0000;
}
.bold-text {
	font-weight: 600;
}
.border {
	border: 1px solid rgba(0,0,0,0.2);
}
.clear {
	clear: both;
}
.img-center img {
	margin: 0 auto;
}
.movie-box {
	display: block;
	margin: 0 auto 40px;
	width: 100%;
}
a[target="_blank"],
.link-btn[target="_blank"] div {
	background-image: url('../images/blank-p.png');
}
a[target="_blank"]:has(img) {
	background: none;
	padding: 0 !important;
}
a[target="_blank"] {
	background-repeat: no-repeat;
	padding-right: 1.5em;
	background-size: 1em;
	background-position: top 0.25em right;
}
a[href$=".pdf"],
.link-btn[href$=".pdf"] div {
	background-image: url(../images/pdf-icon.png);
}
a[href$=".pdf"] {
	background-repeat: no-repeat;
	padding-right: 1.5em;
	background-size: 1em;
	background-position: top 0.25em right;
}
.link-btn[href$=".docx"] div {
	background-image: url(../images/doc-icon.png);
}
.link-btn[href$=".xlsx"] div {
	background-image: url(../images/icon_excel.png);
}
.fade {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.8s ease, transform 0.6s ease;
}

.fade.show {
	opacity: 1;
	transform: translateY(0);
}
a img {
	transition: all .4s;
}
@media (any-hover: hover) {
	a img:hover {
		opacity: 0.6;
	}
}
/************************************
html, body, wrapper
************************************/
html, body {
	position: relative;
}
body {
	color: #353535;
	font-family: "M PLUS 1p", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-text-size-adjust: none;
	font-size: 62.5%;
	font-weight: 400;
	line-height: 1;
	transition: none;
}
#wrapper {
	position: relative;
	font-size: 1.600em;
}
/************************************
header
************************************/
#header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px;
	position: sticky;
	top: 0;
	z-index: 9999;
}
@media screen and (min-width: 800px){
	#header {
		height: 85px;
	}
	.scroll #header {
		background-color: rgba(255,255,255,0.9);
	}
}
/************************************
header-logo
************************************/
#header-logo {
	width: calc(100% - 80px);
	max-width: 210px;
}
.en #header-logo {
	max-width: 600px;
}
#header-logo img {
	display: block;
	width: 100%;
}
@media screen and (min-width: 800px){
	.en #header-logo {
		margin-right: 30px;
	}
}
/************************************
sp-btn
************************************/
#sp-btn {
	cursor: pointer;
	transition: all .4s;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	text-align: center;
	position: relative;
	z-index: 9999;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,1) 0%, rgba(172,220,245,1) 100%);
}
#sp-btn span {
	display: block;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: #FFFFFF;
	width: 20px;
	margin-left: -10px;
	transition: all .4s;
}
#sp-btn span:nth-child(1){
	margin-top: -7px;
}
#sp-btn span:nth-child(2){
	margin-top: -1px;
}
#sp-btn span:nth-child(3){
	margin-top: 5px;
}
#sp-btn.active {
	background: none;
}
#sp-btn.active span {
	background-color: #f26b92;
}
#sp-btn.active span:nth-of-type(1) {
	-webkit-transform: translateY(7px) rotate(-45deg);
	transform: translateY(7px) rotate(-45deg);
}
#sp-btn.active span:nth-of-type(2) {
	left: 50%;
	opacity: 0;
	-webkit-animation: active-menu-bar02 .8s forwards;
	animation: active-menu-bar02 .8s forwards;
}
@media (any-hover: hover) {
	#sp-btn:hover {
		opacity: 0.5;
	}
}
@-webkit-keyframes active-menu-bar02 {
	100% {
		height: 0;
	}
}
@keyframes active-menu-bar02 {
	100% {
		height: 0;
	}
}
#sp-btn.active span:nth-of-type(3) {
	-webkit-transform: translateY(-5px) rotate(45deg);
	transform: translateY(-5px) rotate(45deg);
}
@media screen and (min-width: 800px){
	#sp-btn {
		display: none;
	}
}
/************************************
nav
************************************/
#nav {
	position: fixed;
	width: 100%;
	height: 100vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	top: 0;
	left: 100%;
	opacity: 0;
	transition: all .4s;
}
#nav.active {
	z-index: 9998;
	left: 0;
	opacity: 1;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(249,211,217,1) 0%, rgba(213,237,250,1) 100%);
}
#nav::before {
	content: "MENU";
	height: 74px;
	border-bottom: 1px solid rgba(255,255,255,0.6);
	font-size: 1.6em;
	width: 100%;
	padding: 1em 15px;
	display: flex;
	align-items: center;
	color: rgba(0,0,0,0.6);
}
#global-menu {
	margin: 0;
	padding: 0;
}
#global-menu li {
	list-style: none;
	position: relative;
	line-height: 1.4;
}
#global-menu a {
	display: block;
	padding: 1em 65px 15px 15px;
	border-bottom: 1px solid rgba(255,255,255,0.6);
	color: rgba(0,0,0,0.8);
	font-size: 1.15em;
	text-decoration: none;
	position: relative;
	background: none;
	transition: all .4s;
}
#global-menu a::before {
	content: '';
	height: 1em;
	width: 1em;
	display: block;
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);
	background: url('../images/arrow-p.png') center / 1em no-repeat;
}
#global-menu a[target="_blank"]::before {
	background-image: url('../images/blank-p.png');
}
#global-menu .instagram a,
#global-menu .facebook a {
	padding-left: 50px;
	background: none;
}
#global-menu .instagram a::after,
#global-menu .facebook a::after {
	content: '';
	height: 1em;
	width: 1em;
	display: block;
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	background: url('../images/ig-icon.png') center / 1em no-repeat;
}
#global-menu .facebook a::after {
	background-image: url('../images/fb-icon.png');
}
#global-menu a.no-link::before {
	display: none;
}
#global-menu li .trigger {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	cursor: pointer;
}
#global-menu li .trigger::before,
#global-menu li .trigger::after {
	content: '';
	height: 1px;
	width: 15px;
	display: block;
	background-color: #f26b92;
	position: absolute;
	top: 28px;
	right: 30px;
	transition: all .4s;
}
#global-menu li .trigger::after {
	height: 15px;
	width: 1px;
	top: 21px;
	right: 37px;
}
#global-menu li .trigger.active::before,
#global-menu li .trigger.active::after {
	transform: rotate(-135deg);
}
#global-menu li ul {
	display: none;
	z-index: 11;
	position: relative;
	padding: 0;
}
#global-menu li ul li {
	background: rgba(255,255,255,0.5);
}
@media (any-hover: hover) {
	#global-menu a:hover,
	#global-menu li:has(.trigger:hover) a {
		color: #f26b92;
		background: rgba(255,255,255,0.5);
	}
}
@media screen and (min-width:800px){
	#nav,
	#nav.active {
		position: relative;
		left: auto;
		top: auto;
		display: block;
		z-index: 1;
		width: auto;
		height: auto;
		overflow-y: inherit;
		padding-top: 0;
		background: none;
		opacity: 1;
	}
	#nav::before {
		display: none;
	}
	#global-menu {
		display: flex;
	}
	#global-menu li a {
		padding: 1em 0.7em;
		border-bottom: 0;
		text-align: center;
		position: relative;
		display: flex;
		height: 100%;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		line-height: 1.4;
		font-size: clamp(1px, 1.4vw, 1em);
	}
	
	#global-menu li span::before,
	#global-menu li span::after,
	#global-menu a::before {
		display: none;
	}
	#global-menu a::after {
		position: absolute;
		left: 1em;
		content: '';
		width: calc(100% - 2em);
		height: 2px;
		background: rgba(0,59,143,1);
		background: linear-gradient(115deg, rgba(243,167,180,1) 0%, rgba(172,220,245,1) 100%);
		bottom: 4px;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform 0.3s;
	}
	@media (any-hover: hover) {
		#global-menu a:hover {
			background-color: rgba(255,255,255,0);
		}
		#global-menu .active a::after,
		#global-menu a:hover::after {
			transform: scale(1, 1);
			transform-origin: left top;
		}
	}
	#global-menu .instagram a,
	#global-menu .facebook a {
		text-indent: -9999px;
		padding: 1em 1.5em;
	}
	#global-menu .instagram a::after,
	#global-menu .facebook a::after {
		height: 1.5em;
		width: 1.5em;
		left: 50%;
		transform: translate(-50% , -50%);
		background: url('../images/ig-icon-c.png') center / 1.5em no-repeat;
	}
	#global-menu .facebook a::after {
		background-image: url('../images/fb-icon-b.png');
	}
	@media (any-hover: hover) {
		#global-menu .instagram a:hover,
		#global-menu .facebook a:hover {
			opacity: 0.4;
		}
	}
	#global-menu li .trigger {
		display: none;
	}
	#global-menu li ul,
	#global-menu li ul.active {
		display: none;
	}
	#global-menu li:hover ul {
		display: block;
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -8.5em;
		width: 17em;
		background: rgba(0,59,143,1);
		background: linear-gradient(115deg, rgba(249,211,217,1) 0%, rgba(213,237,250,1) 100%);
		border-radius: 6px;
		overflow: hidden;
	}
	#global-menu li ul li {
		border-top: 1px dashed rgba(255,255,255,0.8) !important;
		background: rgba(255,255,255,0);
	}
	#global-menu li ul li:first-child {
		border-top: 0 !important;
	}
	#global-menu li.active ul li a,
	#global-menu li ul li a {
		margin: 4px;
		border-radius: 6px;
		line-height: 1.4;
		padding: 1em 0;
		display: block;
	}
	#global-menu li ul li a::after {
		display: none;
	}
	@media (any-hover: hover) {
		#global-menu li ul li a:hover {
			background-color: rgba(255,255,255,0.8);
		}
	}
}
@media screen and (min-width: 1000px){
	#global-menu li a {
		padding: 1em 1em;
	}
}
/************************************
pankuzu
************************************/
#pankuzu {
	margin: 0 15px;
	padding: 1em;
	border-radius: 10px;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
	font-size: 0.9em;
	line-height: 1.4;
}
#pankuzu a {
	color: rgba(0,0,0,0.8);
}
/************************************
contents
************************************/
#contents {
	display: flex;
	flex-direction: column;
	max-width: 1400px;
	margin: 0 auto;
	padding: 15px;
	line-height: 1.7;
	position: relative;
}
@media screen and (min-width: 960px){
	#contents {
		flex-direction: row;
		justify-content: space-between;
	}
}
/************************************
main
************************************/
#main {
	width: 100%;
	margin-bottom: 2em;
}
.staff #main {
	margin-bottom: 0;
}
@media screen and (min-width: 960px){
	#contents:has(#sub) #main {
		width: calc(100% - 350px);
	}
	.staff #main {
		margin-bottom: 2em;
	}
}
#main p {
	margin-bottom: 1.5em;
}
#main p.date {
	margin-bottom: 0;
}
/************************************
sub
************************************/
#sub {
	width: 100%;
	margin-bottom: 2em;
}
.sub-box {
	border-radius: 10px;
	background: url('../images/bg-img.jpg') center / cover no-repeat;
	position: relative;
	padding: 0.4em 0;
	box-shadow: 0 0 1px rgba(0,0,0,0.3);
}
.sub-box::before {
	content: "";
	background: #FFFFFF;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border-radius: 6px;
	position: absolute;
	top: 5px;
	left: 5px;
}
.sub-box-title {
	color: #664e44;
	position: relative;
	z-index: 2;
	padding: 1rem 1.5rem;
}
.sub-box-text {
	position: relative;
	z-index: 2;
	padding: 0 1.5rem;
	margin-top: -0.7em;
}
.sub-box-text:last-child {
	padding-bottom: 1em;
}
.sub-box-text.border {
	padding-bottom: 1rem;
	border: 0;
	border-bottom: 2px dotted rgba(0,0,0,0.2);
}
.sub-box-list {
	padding: 0;
	margin: 0 0 1em;
	position: relative;
}
.sub-box-list li {
	list-style: none;
}
.sub-box-list a {
	color: #664e44;
	padding: 0.3rem 0.7rem 0.3rem 3.5em;
	display: block;
	text-decoration: none;
	position: relative;
	background: none;
}
.sub-box-list a::before {
	content: '';
	height: 1em;
	width: 1em;
	display: block;
	position: absolute;
	top: 0.7em;
	left: 1.5em;
	background: url('../images/arrow-p.png') center / 1em no-repeat;
	z-index: 2;
}
.sub-box-list a[target="_blank"]::before {
	background-image: url('../images/blank-p.png');
}
.sub-box-list .active a {
	color: #f26b92;
}
.sub-box-list .active a::before {
	background-image: url('../images/arrow-w.png');
}
.sub-box-list a::after {
	content: '';
	height: 1.5em;
	width: 1.5em;
	display: block;
	position: absolute;
	top: 0.45em;
	left: 1.25em;
	background-color: #f26b92;
	border-radius: 50%;
	z-index: 1;
	opacity: 0;
	transition: all .4s;
}
.sub-box-list .active a::after {
	opacity: 1;
}
@media (any-hover: hover) {
	.sub-box-list a:hover::before {
		background-image: url('../images/arrow-w.png');
	}
	.sub-box-list a:hover::after {
		opacity: 1;
	}
}
@media screen and (min-width: 960px) {
	#sub {
		width: 300px;
		position: relative;
		margin-top: 2em;
	}
	.sub-box {
		position: sticky;
		top: 100px;
		z-index: 3;
	}
}
/************************************
page-title
************************************/
#page-title {
	color: #f26b92;
	padding: 1em 0 0.7em;
	position: relative;
	margin-bottom: 1.5em;
	font-size: 2.1em;
	line-height: 1.4;
}
#page-title::before {
	content: '';
	height: 5px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.2) 0%, rgba(172,220,245,0.2) 100%);
}
/************************************
contents-title
************************************/
.contents-title {
	font-size: 1.9em;
	color: #664e44;
	line-height: 1.4;
	margin-bottom: 0.7em;
}
.contents-title.staff {
	border-top: 2px dashed #aaaaaa;
	margin: 2rem 0;
	padding: 2rem 0 0;
}
@media screen and (max-width: 700px){
	.contents-title.staff {
		text-align: center;
	}
}
.contents-sub-title {
	font-size: 1.45em;
	padding: 0.5em 0.7em;
	border-radius: 10px;
	margin: 1em 0;
	line-height: 1.4;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
}
.contents-sub-title.img-title {
	display: flex;
	align-items: center;
	padding: 0 0.7em 0 0;
	justify-content: flex-start;
	border-radius: 6px;
	overflow: hidden;
}
.contents-sub-title.img-title span {
	max-width: 100px;
	margin-right: 1em;
}
.contents-sub-title.img-title img {
	width: 100%;
	display: block;
}
@media screen and (min-width: 640px){
	.contents-sub-title.img-title span {
		max-width: 180px;
	}
}
.contents-mini-title {
	font-size: 1.3em;
	line-height: 1.4;
	margin-bottom: 1em;
	position: relative;
	display: flex;
	align-items: center;
	color: #174F92;
}
.contents-mini-title::after {
	content: "";
	flex-grow: 1;
	height: 2px;
	background-color: rgb(30,72,165,0.2);
	display: block;
	margin-left: 0.7em;
}
.contents-micro-title {
	font-size: 1.15em;
	line-height: 1.4;
	margin-bottom: 0.5em;
}
/************************************
▼bg-box▼
************************************/
.bg-box {
	padding: 1em;
	border-radius: 10px;
	border: 2px solid rgba(0,0,0,0.2);
	margin-bottom: 1.5em;
}
.bg-box.yellow {
	background-color: #fffcf0;
}
.bg-box .circle-list,
.bg-box .point-list,
.bg-box p {
	margin: 0.5rem 0 !important;
}
/************************************
▼point-list▼
************************************/
.point-list {
	margin: 0 0 1.5em;
	padding: 0;
}
.point-list li {
	position: relative;
	list-style: none;
	padding-left: 30px;
	margin-bottom: 0.7em;
}
.point-list li .point {
	position: absolute;
	top: 0;
	left: 0;
}
.point-list .point-list {
	margin: 0.5em 0 0;
}
.point-list .point-list li {
	margin: 0 0 0.5em;
}
/************************************
▼circle-list▼
************************************/
.circle-list {
	margin: 0 0 1.5em;
	padding: 0;
}
.circle-list li {
	position: relative;
	padding-left: 1.5em;
	margin-bottom: 0.7em;
	list-style: none;
}
.circle-list.inline li {
	display: inline-block;
	margin-right: 1.5em;
}
.circle-list li::before {
	content: '';
	height: 0.7em;
	width: 0.7em;
	border-radius: 50%;
	display: block;
	position: absolute;
	top: 0.6em;
	left: 0;
	background-color: #f26b92;
}
.circle-list .arrow-list {
	margin: 0.5em 0 0;
}
.circle-list .arrow-list li {
	margin: 0 0 0.5em;
}
.circle-list .arrow-list li::before {
	display: none;
}
/************************************
▼arrow-list▼
************************************/
.arrow-list {
	margin: 0 0 1.5em;
	padding: 0;
}
.arrow-list li {
	padding-left: 1.5em;
	margin-bottom: 0.7em;
	list-style: none;
	background: url('../images/arrow-p.png') top 0.4em left / 1em no-repeat;
}
/************************************
▼number-list▼
************************************/
.number-list {
	margin: 0 0 1.5em;
	padding-left: 2em;
}
.number-list li {
	list-style:decimal;
	margin-bottom: 0.7em;
}
.number-list.zero li {
	list-style: decimal-leading-zero;
}
/************************************
▼.right-img▼
************************************/
.right-img {
	max-width: 480px;
	display: block;
	margin: 2em auto;
}
.right-img.min {
	max-width: 240px;
}
.right-img img {
	display: block;
	margin: 0 auto;
}
@media screen and (min-width: 700px){
	.right-img {
		max-width: 33%;
		float: right;
		margin: 0 0 2em 2em;
	}
	.cms-img {
		text-align: center;
		max-width: 640px;
		margin: 0 auto;
	}
	.cms-img .right-img {
		width: 100%;
		max-width: inherit;
		float: none;
		margin: 0 0 0.5em;
	}
	.cms-img img {
		display: block;
		box-shadow: 0 0 2px rgba(0,0,0,0.3);
	}
}
/************************************
▼cms-img▼
************************************/
.cms-img {
	text-align: center;
	max-width: 640px;
}
@media screen and (min-width: 700px){
	.cms-img .right-img {
		width: 100%;
		max-width: inherit;
		float: none;
		margin: 0 0 0.5em;
	}
}
/************************************
▼normal-table▼
************************************/
.normal-table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #cccccc;
	border-left: 1px solid #cccccc;
	margin-bottom: 1.5em;
	background-color: #FFFFFF;
}
.normal-table th,
.normal-table td {
	text-align: left;
	font-weight: 400;
	border-bottom: 1px solid #cccccc;
	border-right: 1px solid #cccccc;
	padding: 0.7em;
}
.normal-table th {
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
}
.normal-table .bg,
.normal-table.society .head {
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
}
.normal-table.society .head th {
	background: none;
}
.normal-table .bg th {
	background: none;
}
.normal-table.society div {
	padding-top: 0.7em;
	margin-top: 0.7em;
	border-top: 1px dashed #aaaaaa;
}
.normal-table.society .circle-list {
	margin-bottom: 0;
}
.normal-table.society .circle-list li {
	margin-top: 0.7em;
	margin-bottom: 0;
}
.normal-table.society tr td:nth-child(5) a {
	display: block;
	width: 3.5em;
	margin: 0 auto;
}
@media screen and (max-width: 960px) {
	.normal-table.society {
		display: block;
		border: 0;
	}
	.normal-table.society tbody {
		width: 100%;
		display: block;
	}
	.normal-table.society tr {
		display: block;
		border-top: 1px solid #cccccc;
		border-left: 1px solid #cccccc;
		margin-bottom: 1.5em;
	}
	.normal-table.society tr.head {
		display: none;
	}
	.normal-table.sp th,
	.normal-table.sp td,
	.normal-table.society td {
		display: block;
		position: relative;
	}
	.normal-table.society td {
		padding-left: 7.5em;
	}
	.normal-table.society td::before {
		position: absolute;
		top: 0;
		left: 0;
		padding: 0.7em;
		height: 100%;
		width: 6.5em;
		display: flex;
		align-items: center;
		background: rgba(0,59,143,1);
		background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
		white-space:pre-wrap;
		line-height: 1.4;
	}
	.normal-table.society td:empty {
		display: none;
	}
	.normal-table.society tr td:nth-child(1)::before {
		content: "開催日時";
	}
	.normal-table.society tr td:nth-child(2)::before {
		content: "研究会名";
	}
	.normal-table.society tr td:nth-child(3)::before {
		content: "開催場所";
	}
	.normal-table.society tr td:nth-child(4)::before {
		content: "演題名・\A所属・演者";
	}
	.normal-table.society tr td:nth-child(5)::before {
		content: "開催報告";
	}
}
/************************************
▼scroll-hint▼
************************************/
.scroll-hint {
	display: none;
}
.table-scroll table {
	min-width: 460px;
}
.table-scroll {
	overflow-x: auto;
	position: relative;
}
.table-scroll .scroll-hint {
	position: absolute;
	top: 100px;
	left: 50%;
	transform: translateX(-50%);
	padding: 10px;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.8) 0%, rgba(172,220,245,0.8) 100%);
	font-weight: 700;
	line-height: 1.4;
	display: none;
	animation: scroll-hint-animation 2s infinite ease;
	border-radius: 6px;
}

@keyframes scroll-hint-animation {
	0% {
		transform: translate(-50%, -50%);
	}
	50% {
		transform: translate(-40%, -50%);
	}
	100% {
		transform: translate(-50%, -50%);
	}
}

.table-scroll .scroll-hint--show {
	display: block;
}
/************************************
▼link-btn▼
************************************/
.link-btn,
.link-btn[target="_blank"] {
	display: flex;
	justify-content: center;
	padding: 1em;
	border-radius: 10px;
	margin-bottom: 1em;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
	color: rgba(0,0,0,0.8);
	font-size: clamp(1em, 5.5vw, 1.3em);
	text-decoration: none;
	position: relative;
	box-shadow: 0 0 1px rgba(0,0,0,0.3);
}
.link-btn::before {
	content: "";
	background: #FFFFFF;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border-radius: 6px;
	position: absolute;
	top: 5px;
	right: 5px;
	transition: all .4s;
}
.link-btn div {
	display: inline-block;
	position: relative;
	padding-right: 1.5em;
	background: url('../images/arrow-p.png') center right / 1em no-repeat;
	transition: all .4s;
}
.staff .link-btn {
	display: none;
}
.staff .link-btn.staff-sp {
	display: flex;
	margin-top: 2em;
}
@media screen and (min-width: 960px) {
	.staff .link-btn {
		display: flex;
	}
	.staff .link-btn.staff-sp {
		display: none;
	}
}
@media (any-hover: hover) {
	.link-btn:hover::before {
		width: 0;
	}
	.link-btn:hover div {
		color: #f26b92;
	}
}
/************************************
▼flex-list▼
************************************/
.flex-list {
	display: flex;
	flex-wrap: wrap;
}
.flex-list.base {
	display: flex;
	align-items: baseline;
}
.flex-list-inner,
.flex-list a {
	width: 100%;
	margin-bottom: 3%;
}
.flex-list-inner img {
	display: block;
	margin: 0 auto;
}
@media screen and (min-width: 640px){
	.flex-list {
		align-items: stretch;
		gap: 3%;
	}
	.flex-list-inner,
	.flex-list a {
		width: 48.5%;
	}
}
@media screen and (min-width: 960px){
	.flex-list {
		gap: 2%;
	}
	.flex-list:has(> :nth-child(3)) .flex-list-inner,
	.flex-list:has(> :nth-child(3)) a {
		width: 31.99999%;
	}
	.flex-list:has(> :nth-child(4)) .flex-list-inner,
	.flex-list:has(> :nth-child(4)) a {
		width: 49%;
	}
	.flex-list:has(> :nth-child(5)) .flex-list-inner,
	.flex-list:has(> :nth-child(5)) a {
		width: 31.99999%;
	}
}
/************************************
page-contents-list
************************************/
#page-contents-list {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	gap: 16px;
}
#page-contents-list li {
	width: 100%;
	list-style: none;
}

#page-contents-list li a {
	color: #212121;
	padding-left: 1.5em;
	background: url('../images/arrow-p.png') top 0.4em left / 1em no-repeat;
	display: flex;
	height: 100%;
	position: relative;
	z-index: 2;
	transition: all .4s;
}
#page-contents-list li.source-h1 {
	font-size: 1.3em;
	font-weight: bold;
	border-top: 1px solid rgba(243,167,180,0.5);
	padding-top: 1em;
	margin-top: 1em;
}
#page-contents-list li.source-h1:first-child {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

#page-contents-list li.source-h2 {
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,1) 0%, rgba(172,220,245,1) 100%);
	border-radius: 10px;
	position: relative;
}
#page-contents-list li.source-h2::after {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #FFFFFF;
	border-radius: 10px;
	transition: all .4s;
}
#page-contents-list li.source-h2 a {
	box-shadow: 0 0 2px rgba(0,0,0,0.3);
	padding: 0.5em  0.7em  0.5em  2.2em;
	background-position: center left 0.7em;
	border-radius: 10px;
	align-items: center;
	text-decoration: none;
}

@media (any-hover: hover) {
	#page-contents-list li.source-h2:hover::after {
		width: calc(100% - 6px);
		height: calc(100% - 6px);
		top: 3px;
		left: 3px;
		border-radius: 8px;
	}
	#page-contents-list li a:hover {
		color: #f26b92;
	}
}
@media screen and (min-width: 640px){
	#page-contents-list li.source-h2 {
		width: calc(50% - 8px);
	}
}
@media screen and (min-width: 960px){
	#page-contents-list li.source-h2 {
		width: calc(33.33333% - 11px);
	}
}
/************************************
auto-toc
************************************/
.auto-toc {
	background-color: #f9f9f9;
	border: 2px solid #ccc;
	padding: 15px;
	margin: -1em 0 2em;
	border-radius: 10px;
}
.staff .auto-toc,
.specialty .auto-toc,
.sitemap .auto-toc,
.en .auto-toc {
	display: none;
}
.auto-toc p {
	margin-bottom: 0.5em !important;
	font-size: 1.1em;
	font-weight: 600;
}
.auto-toc ul {
	margin: 0;
	padding: 0;
	counter-reset: number 0;
}
.auto-toc li {
	position: relative;
	padding-left: 2.2em;
	margin-bottom: 5px;
	list-style: none;
}
.auto-toc li::before {
	counter-increment: number 1;
	content: counter(number,decimal-leading-zero);
	background-color: #FFFFFF;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.2) inset;
	position: absolute;
	top: 0.1em;
	left: 0;
	font-size: 0.9em;
	padding: 0 0.3em;
	border-radius: 3px;
}
.auto-toc a {
	color: #333;
	text-decoration: none;
	display: block;
	transition: all .4s;
}
@media (any-hover: hover) {
	.auto-toc a:hover {
		text-decoration: underline;
		color: #0066cc;
	}
}
/************************************
home
************************************/
body.home {
	background: url('../images/bg-img.jpg') center top / 100% 90vw no-repeat;
}
@media screen and (min-width: 960px){
	body.home {
		background-size: 100% calc(52vw + 85px);
	}
}
@media screen and (min-width: 1250px){
	body.home {
		background-size: 100% 750px;
	}
}
#home-head {
	position: relative;
}
/************************************
home-slide
************************************/
:root {
  --peek-width: 10px;
  --gap: 15px;
}
#home-slide {
	margin-bottom: 2em;
	padding-left: 8px;
}
#home-slide .slider-container {
	position: relative;
	width: 100%;
	overflow: hidden;
}
#home-slide .slider-wrapper {
	display: flex;
	gap: var(--gap);
	transform: translateX(var(--peek-width));
	transition: transform 0.7s cubic-bezier(0.25, 1, 0.5, 1);
}
#home-slide .slide {
	flex: 0 0 calc(100% - (var(--peek-width) * 2) - var(--gap));
	max-width: 1200px;
	box-sizing: border-box;
}
#home-slide .slide img {
	border-radius: 10px;
	width: 100%;
	height: auto;
	display: block;
}

/* ナビゲーションボタンの装飾 */
#home-slide .nav-btn {
	position: absolute;
	bottom: 10px;
	cursor: pointer;
	z-index: 10;
	width: 44px;
	height: 44px;
	box-shadow: 0 0 2px rgba(0,0,0,0.3);
	border-radius: 50%;
	border: 0;
	text-indent: -9999px;
	transition: all .4s;
}
#home-slide .prev-btn {
	left: 25px;
	background: url('../images/slide-prev.png') rgba(255,255,255,0.5) center / cover no-repeat;
}
#home-slide .next-btn {
	left: 80px;
	background: url('../images/slide-next.png') rgba(255,255,255,0.5) center / cover no-repeat;
}
@media (any-hover: hover) {
	#home-slide .nav-btn:hover { background-color: rgba(255,255,255,1); }
}
/************************************
home-news
************************************/
#home-news {
	margin-left: 15px;
	border-radius: 10px 0 0 10px;
	background-color: #FFFFFF;
}
#home-news .news-list {
	margin-top: 0;
	line-height: 1.7;
	border-top: 1px solid rgba(0,0,0,0.1);
}
.home-news-link {
	display: block;
	padding: 1em;
	text-align: right;
	color: #212121;
}
.home-news-link span {
	padding-left: 1.8em;
	background: url('../images/arrow-p.png') center left / 1em no-repeat;
	transition: all .4s;
}
@media (any-hover: hover) {
	.home-news-link span:hover {
		opacity: 0.6;
	}
}
@media screen and (min-width: 1200px){
	#home-news {
		position: absolute;
		bottom: -20px;
		right: 0;
	}
}
/************************************
home-title
************************************/
.home-title {
	color: #f26b92;
	padding: 1.5rem 1rem;
	font-size: 1rem;
	line-height: 1.4;
}
.home-title span {
	font-size: clamp(1.3em, 7vw, 2.4em);
	color: #664e44;
	margin-right: 0.5em;
	display: inline-block !important;
}
#home-news .home-title {
	padding: 1rem;
}
#home-news .home-title span {
	font-size: clamp(1.3em, 7vw, 1.9em);
}
.home-instagram-box .home-title {
	padding: 0;
	margin-bottom: 2em;
		text-align: center;
}
.home-instagram .home-title span {
	padding-top: 1.2em;
	margin-right: 0;
	background: url('../images/ig-icon-c.png') center top / 1em no-repeat;
}
@media screen and (max-width: 960px){
	.home-title {
		text-align: center;
	}
	.home-title span {
		display: block !important;
		margin-right: 0;
	}
	#home-news .home-title {
		padding-top: 2em;
		padding-bottom: 2em;
	}
}
/************************************
home-greeting
************************************/
#home-greeting {
	max-width: 1150px;
	padding: 0 25px;
	margin: 6em auto;
	position: relative;
}
.home-greeting-text {
	padding: 15px 0;
	margin: 0 auto;
	max-width: 480px;
}
.home-greeting-text img {
	margin: 0 auto 2.5em;
	width: 100%;
}
.home-greeting-text p {
	margin: 1.5em 0;
	line-height: 1.7;
}
.greeting-name {
	text-align: right;
}
.greeting-name span:nth-child(1) {
	color: #6d6d6d;
	line-height: 1.5;
	display: block;
}
.greeting-name span:nth-child(2) {
	font-size: 2.3em;
	font-weight: 600;
	line-height: 1.7;
	display: block;
}
.home-greeting-img {
	display: none;
}
@media screen and (min-width: 480px){
	.greeting-name {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		text-align: left;
	}
	.greeting-name span:nth-child(1) {
		margin-right: 1.5em;
	}
}
@media screen and (min-width: 960px){
	#home-greeting {
		display: flex;
		justify-content: space-between;
	}
	.home-greeting-text .home-title {
		padding: 0;
	}
	.home-greeting-text img {
		display: none;
	}
	.home-greeting-img {
		display: block;
		width: 384px;
		margin-top: 6em;
	}
	.home-greeting-text {
		max-width: 39em;
		font-size: 1.05em;
		margin: 0 1rem;
	}
	.greeting-name {
		position: absolute;
		bottom: 0;
		right: 25px;
	}
}
/*max-width: 27em;
}
@media screen and (min-width: 960px){
	.home-greeting-text p {
		margin: 1.2em 1.7rem 1.2em 1.2rem;
		max-width: inherit;
	}
	.home-greeting-text .home-title {
		text-align: left;
		padding-top: 0;
		padding-bottom: 0;
	}
	.greeting-name {
		margin-right: 1rem;
	}
}
/************************************
home-link-btn
************************************/
.home-link-btn {
	padding: 3em 15px;
}
.home-link-btn.bg {
	background: url('../images/bg-img.jpg') center / cover no-repeat;
	padding-top: 1px;
}
.home-link-btn-box {
	max-width: 1070px;
	margin: 0 auto;
}
.home-link-btn .home-title {
	padding: 0;
}
.home-link-btn.bg .home-title {
	margin-top: -1.5em;
}
.home-link-btn-list {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin-top: 2em;
	gap: 16px;
}
.home-link-btn-list li {
	width: calc(50% - 8px);
	list-style: none;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,1) 0%, rgba(172,220,245,1) 100%);
	border-radius: 10px;
	position: relative;
}
.home-link-btn-list li::after {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #FFFFFF;
	border-radius: 10px;
	transition: all .4s;
}
.home-link-btn-list li a {
	color: #212121;
	text-decoration: none;
	background: url('../images/arrow-p.png') bottom 25px right 20px / 1em no-repeat;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	height: 100%;
	padding: 100px 20px 20px 20px;
	box-shadow: 0 0 2px rgba(0,0,0,0.3);
	border-radius: 10px;
	line-height: 1.7;
	position: relative;
	z-index: 2;
	transition: all .4s;
}

@media (any-hover: hover) {
	.home-link-btn-list li:hover::after {
		width: calc(100% - 10px);
		height: calc(100% - 10px);
		top: 5px;
		left: 5px;
		border-radius: 8px;
	}
	.home-link-btn-list li:hover a {
		color: #f26b92;
	}
}
.home-link-btn-list li a::before {
	content: "";
	width: 60px;
	height: 60px;
	position: absolute;
	top: 25px;
	left: 20px;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
.bg .home-link-btn-list li:nth-child(1) a::before {
	background-image: url('../images/home-link-btn-icon01-01.png');
	width: 76px;
}
.bg .home-link-btn-list li:nth-child(2) a::before {
	background-image: url('../images/home-link-btn-icon01-02.png');
}
.bg .home-link-btn-list li:nth-child(3) a::before {
	background-image: url('../images/home-link-btn-icon01-03.png');
}
.bg .home-link-btn-list li:nth-child(4) a::before {
	background-image: url('../images/home-link-btn-icon01-04.png');
}
.bg .home-link-btn-list li:nth-child(5) a::before {
	background-image: url('../images/home-link-btn-icon01-05.png');
}
.bg .home-link-btn-list li:nth-child(6) a::before {
	background-image: url('../images/home-link-btn-icon01-06.png');
}
.bg .home-link-btn-list li:nth-child(7) a::before {
	background-image: url('../images/home-link-btn-icon01-07.png');
}
.bg .home-link-btn-list li:nth-child(8) a::before {
	background-image: url('../images/home-link-btn-icon01-08.png');
}
.home-link-btn-list li:nth-child(1) a::before {
	background-image: url('../images/home-link-btn-icon02-01.png');
	width: 76px;
}
.home-link-btn-list li:nth-child(2) a::before {
	background-image: url('../images/home-link-btn-icon02-02.png');
}
.home-link-btn-list li:nth-child(3) a::before {
	background-image: url('../images/home-link-btn-icon02-03.png');
}
.home-link-btn-list li:nth-child(4) a::before {
	background-image: url('../images/home-link-btn-icon02-04.png');
}
.home-link-btn-list li:nth-child(5) a::before {
	background-image: url('../images/home-link-btn-icon02-05.png');
	width: 70px;
}
.bg .home-link-btn-list li a span {
	display: none;
}
.home-link-btn-list li a span {
	display: block;
}
.home-link-btn-list li a span span {
	display: inline-block;
}
@media screen and (max-width: 620px) {
	.home-link-btn-list li a span span:nth-child(2) {
		display: block;
	}
}
@media screen and (max-width: 550px) {
	.home-link-btn-list li:nth-child(3) a span span {
		display: block;
	}
}
@media screen and (max-width: 440px) {
	.home-link-btn-list li a {
		padding-bottom: 50px;
		background-position: bottom 25px left 20px;
		justify-content: center;
	}
}
@media screen and (min-width: 960px) {
	.home-link-btn-list li {
		width: calc(33.0% - 8px);
	}
	.bg .home-link-btn-list li {
		width: calc(24.5% - 8px);
	}
}
/************************************
home-instagram
************************************/
.home-instagram {
	padding: 3em 15px;
	background: url('../images/bg-img.jpg') center / cover no-repeat;
}
.eapps-instagram-feed {
	position: relative;
	z-index: 2;
	margin-bottom: -50px;
}
.home-instagram-box {
	max-width: 1070px;
	margin: 0 auto;
}
.home-instagram-box-inner {
	position: relative;
	min-height: 4em;
	overflow: hidden;
}
.home-instagram-box-inner .home-instagram-link {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
	width: 14em;
	margin-left: -7em;
}
.home-instagram-list {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	gap: 16px;
}
.home-instagram-list div {
	width: calc(50% - 8px);
	list-style: none;
}
.home-instagram-list div a {
	display: block;
	padding: 0 !important;
	transition: all .4s;
}
.home-instagram-list div:nth-child(5) {
	display: none;
}
@media (any-hover: hover) {
	.home-instagram-list div a:hover {
		opacity: 0.6;
	}
}
@media screen and (min-width: 640px) {
	.home-instagram-list div {
		width: calc(24.4% - 8px);
	}
}
@media screen and (min-width: 960px) {
	.home-instagram-list div {
		width: calc(19.45% - 8px);
	}
	.home-instagram-list div:nth-child(5) {
		display: block;
	}
}
/************************************
home-foot-btn
************************************/
.home-foot-btn {
	padding: 3em 15px;
}
.home-foot-btn-list {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	gap: 16px;
	max-width: 1070px;
	margin: 0 auto;
}
.home-foot-btn-list li {
	width: 100%;
	list-style: none;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,1) 0%, rgba(172,220,245,1) 100%);
	border-radius: 10px;
	position: relative;
}
.home-foot-btn-list li::after {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #FFFFFF;
	border-radius: 10px;
	transition: all .4s;
}
.home-foot-btn-list li a {
	color: #212121;
	text-decoration: none;
	background: url('../images/arrow-p.png') center right 20px / 1em no-repeat;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	height: 100%;
	padding: 20px 55px 20px 20px;
	box-shadow: 0 0 2px rgba(0,0,0,0.2);
	border-radius: 10px;
	line-height: 1.7;
	position: relative;
	z-index: 2;
	transition: all .4s;
}
.home-foot-btn-list li a[target="_blank"] {
	background-image: url('../images/blank-p.png');
	padding-left: 65px
}
.home-foot-btn-list li a[target="_blank"]::before {
	content: "";
	width: 30px;
	height: 30px;
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	background: url('../images/fb-icon-b.png') center / cover no-repeat;
}
@media (any-hover: hover) {
	.home-foot-btn-list li:hover::after {
		width: calc(100% - 10px);
		height: calc(100% - 10px);
		top: 5px;
		left: 5px;
		border-radius: 8px;
	}
	.home-foot-btn-list li:hover a {
		color: #f26b92;
	}
}
@media screen and (min-width: 420px) {
	.home-foot-btn-list li {
		width: calc(50% - 8px);
	}
}
@media screen and (min-width: 960px) {
	.home-foot-btn-list li {
		width: calc(24.5% - 8px);
	}
}
/************************************
staff-list
************************************/
.staff-list {
	display: flex;
	flex-wrap: wrap;
	margin-top: -0.7em;
	margin-bottom: 2em;
}
.staff-list a {
	display: flex;
	flex-direction: column;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.4) 0%, rgba(172,220,245,0.4) 100%);
	padding: 5px;
	border-radius: 10px;
	width: 100%;
	color: #212121;
	text-decoration: none;
	margin: 0.7em 0;
}
.staff-list-bg {
	display: flex;
	flex-direction: column;
	background-color: #FFFFFF;
	height: 100%;
	border-radius: 6px;
	padding: 1em;
	transition: all .4s;
}
@media (any-hover: hover) {
	.staff-list a:hover .staff-list-bg {
		background-color: rgba(255,255,255,0);
	}
}
.staff-detail-job,
.staff-detail-job2 {
	color: #ad4462;
	line-height: 1.4;
	margin-top: 0.3em;
}
.staff-detail-job2 {
	color: rgba(0,0,0,0.6);
}

@media screen and (min-width: 480px){
	.staff-list a {
		width: 48%;
		margin-left: 4%;
	}
	.staff-list a:nth-child(2n+1) {
		margin-left: 0;
	}
}
@media screen and (min-width: 880px){
	.staff-list a {
		width: 32%;
		margin-left: 2%;
	}
	.staff-list a:nth-child(2n+1) {
		margin-left: 2%;
	}
	.staff-list a:nth-child(3n+1) {
		margin-left: 0;
	}
}
.staff-detail-head {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2em;
	align-items: baseline;
}
.staff-detail-name {
	margin-right: 1em;
}
.staff-detail-etc {
	display: flex;
	flex-wrap: wrap;
}
.staff-detail-etc .staff-detail-job {
	margin-right: 1em;
}
/************************************
▼news▼
************************************/
.news-detail {
	margin-bottom: 3em;
}
#main .news-detail p {
	margin-bottom: 0;
}
.news-img {
	display: flex;
	flex-wrap: wrap;
	max-width: 400px;
	margin: 0 auto;
	align-items: stretch;
	gap: 2%;
}
.news-img a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	border: 1px solid #ccc;
	width: 100%;
	margin-bottom: 1.5em;
}
.news-img a > div {
	height: 200px;
	padding: 10px;
	overflow: hidden;
}
.news-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.news-img p {
	flex-grow: 1;
	margin: 0;
	padding: 10px;
	background-color: #f9f9f9;
	border-top: 1px dashed #ccc;
	font-size: 0.9em;
	display: flex;
	justify-content: center;
}
.news-text {
	margin: 1.5em 0;
}
.news-file {
	padding: 0;
	margin: 1.5em 0;
}
.news-file li {
	list-style: none;
	margin-bottom: 0.7em;
}
.news-file li a {
	padding-left: 2.2em;
	background: url('../images/file-icon.png') top 0.1em left / 1.5em no-repeat;
	display: block;
}
.news-link {
	margin: 1.5em 0;
	padding-left: 2.2em;
	background: url('../images/link-icon.png') top 0.1em left / 1.5em no-repeat;
	display: block;
}
@media screen and (min-width: 640px){
	.news-img {
		max-width: inherit;
	}
	.news-img a {
		width: 49%;
	}
}
@media screen and (min-width: 960px){
	.news-img:has(> :nth-child(3)) a {
		width: 31.99999%;
	}
}
@media screen and (min-width: 1200px){
	.news-img:has(> :nth-child(4)) a {
		width: 23.5%;
	}
	.news-img:has(> :nth-child(5)) a {
		width: 18.4%;
	}
}
/************************************
.news-list
************************************/
.news-list {
	margin: -1em 0 0;
	padding: 0;
}
.news-list li {
	position: relative;
	list-style: none;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	transition: all .4s;
}
.news-list li a {
	padding: 2.7em 1em 0.7em;
	display: block;
	color: #212121;
	text-decoration: none;
	transition: all .4s;
	position: relative;
	z-index: 3;
	background: none;
}
.news-list li a span {
	background: url('../images/arrow-p.png') top 0.25em right / 1em no-repeat;
	padding-right: 1.5em;
}
.news-list li a[target="_blank"] span {
	background-image: url('../images/blank-p.png');
}
@media (any-hover: hover) {
	.news-list li a:hover {
		color: #f26b92;
		text-decoration: underline;
	}
}
@media (any-hover: hover) {
	.news-list li:hover {
		opacity: 0.6;
	}
}
.new-icon,
.news-list li a span.new-icon {
	background-color: #FF8B00;
	color: #FFFFFF;
	padding: 0 0.5em;
	display: inline-block;
	font-size: 0.85em;
	border-radius: 3px;
	margin-left: 0.5em;
	animation: flash 2s linear infinite;
}
@keyframes flash {
	0%,100% {
		opacity: 1;
	}
	50% {
		opacity: 0.3;
	}
}
.news-list li .date {
	position: absolute;
	top: 0.7em;
	left: 1em;
	color: #454545;
	margin: 0 !important;
}
.news-list li .category {
	position: absolute;
	top: 1em;
	left: 11.5em;
	border-radius: 999px;
	text-align: center;
	width: 8em;
	font-size: 0.85em;
	background-color: #FFF6C9;
	margin: 0 !important;
}
.news-list li .category.patient {
	background-color: #ffcccc;
}
.news-list li .category.support {
	background-color: #cef2d7;
}
.news-list li .category.event {
	background-color: #d3dff4;
}
@media screen and (min-width: 800px){
	.news-list li a {
		padding: 0.7em 1em 0.7em 17.5em;
	}
}

/************************************
▼faq-box▼
************************************/
.faq-box {
	margin: 1rem 0;
}
.faq-box-in {
	border: 3px solid rgba(0,0,0,0.1);
	border-radius: 10px;
	padding: 1rem 3.5rem 1rem 3.5rem;
	position: relative;
	font-weight: bold;
	line-height: 1.5;
	cursor: pointer;
}
.faq-box-in:first-child {
	transition: all .4s;
}
.faq-box-in.active {
	border-radius: 10px 10px 0 0;
	border-bottom: 2px solid rgba(0,0,0,0.1);
	background-color: #fffde6;
}
.faq-box-in:hover {
	background-color: #fffde6;
}
.faq-box-in.answer {
	background-color: rgba(243,167,180,0.1);
	font-weight: normal;
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
	padding-right: 1.35rem;
	cursor: auto;
	border-radius: 0 0 10px 10px;
	border-top: 0;
}
.faq-box-in::before {
	content: "Q.";
	position: absolute;
	top: 1rem;
	left: 1rem;
	color: #002060;
}
.faq-box-in.answer::before {
	content: "A.";
	color: #f26b92;
	top: 1.45rem;
	left: 1.05rem;
	font-weight: bold;
}
.faq-box-in .circle-list,
.faq-box-in .point-list,
.faq-box-in p {
	margin: 0.5rem 0 !important;
}
.faq-box-icon {
	position: absolute;
	top: 50%;
	right: 1.65rem;
	transition: all .4s;
	margin-top: -2px;
}
.faq-box-icon::before,
.faq-box-icon::after {
	content: '';
	height: 3px;
	width: 19px;
	display: block;
	background: #f26b92;;
	position: absolute;
	top: 0;
	right: -8px;
}
.faq-box-icon::after{
	height: 19px;
	width: 3px;
	top: -8px;
	right: 0;
}
.active .faq-box-icon {
	transform: rotate(135deg);
	margin-top: 2px;
	right: 1.75rem;
}
/************************************
▼chart-table▼
************************************/
.chart-table-sp {
	display: none;
}
.chart-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 1.5em;
}
.chart-table th,
.chart-table td {
	border-bottom: 2px solid rgba(0,0,0,0.1);
	border-left: 2px solid rgba(0,0,0,0.1);
	padding: 15px 8px 15px 8px;
	vertical-align: middle;
	font-size: 0.95em;
}
.chart-table tr th:first-child,
.chart-table tr td:first-child {
	border-left: 0;
}
.chart-table tr td.border:first-child {
	border-left: 2px solid rgba(0,0,0,0.1);
}
.chart-table th {
	text-align: left;
}
.chart-table td.time {
	background-color: rgba(0,0,0,0.04);
	padding: 15px 0;
	text-align: center;
	width: 1.5em;
	line-height: 1.2;
	border-top: 0;
	border-right: 0;
}
.chart-table .week {
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
}
.chart-table .week td {
	border-top: 3px solid rgba(0,0,0,0.3);
	border-bottom: 3px solid rgba(0,0,0,0.3);
	text-align: center;
}
.chart-table .border-bottom th,
.chart-table .border-bottom td,
.chart-table th.border-bottom,
.chart-table td.border-bottom {
	border-bottom: 3px solid rgba(0,0,0,0.3);
}
.chart-table th span {
	font-size: 0.9em;
}
.chart-table td.none {
	text-align: center;
}
.chart-table th a {
	font-size: 0.9em;
	display: block;
	line-height: 1.4;
	margin-top: 0.5em;
}
.chart-table .inline-text {
	display: block;
}
@media screen and (max-width: 740px) {
	.chart-table-sp {
		display: block;
	}
	.chart-table-pc {
		display: none;
	}
	.chart-table-sp .chart-table br {
		display: none;
	}
	.chart-table-sp .chart-table th {
		border-top: 2px solid rgba(0,0,0,0.1);
		background: rgba(0,59,143,1);
		background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
	}
	.chart-table tr th,
	.chart-table tr td {
		padding: 0.3em 0.7em;
	}
	.chart-table-sp .chart-table tr td:first-child {
		background-color: #FFF8DB;
		width: 3em;
		text-align: center;
		padding: 0.3em 0;
	}
	.chart-table th a {
		display: inline-block;
	}
	.chart-table tr td:has(.has-time) {
		padding: 0;
	}
	.has-time {
		position: relative;
	}
	.has-time:nth-child(2) {
		border-top: 2px solid rgba(0,0,0,0.1);
	}
	.has-time div:nth-child(1) {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		background-color: rgba(0,0,0,0.04);
		border-right: 2px solid rgba(0,0,0,0.1);
		width: 3em;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.has-time div:nth-child(2) {
		padding: 0.3em 0.7em 0.3em 3.7em;
	}
	.chart-table tr:has(td:empty) {
		display: none;
	}
}
/************************************
▼clinical_statistics-table▼
************************************/
.clinical_statistics-head01 {
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
	line-height: 1.2;
}
.clinical_statistics-head02 {
	line-height: 1.2;
}
@media screen and (max-width: 640px) {
	.clinical_statistics-table {
		font-size: 0.9em;
	}
	.clinical_statistics-head02 br {
		display: none;
	}
	.clinical_statistics-table .no-br {
		display: none;
	}
}
/************************************
▼pregnancy-flow▼
************************************/
.pregnancy-flow2 {
	position: relative;
	padding: 1.4em 1em 0.1em;
	background-color: #fffcf0;
	border-radius: 6px;
	margin-bottom: 3.5em;
	border: 2px solid rgba(0,0,0,0.1);
}
.pregnancy-flow2::after {
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	bottom: -37px;
	left: 50%;
	margin-left: -20px;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 20px solid rgba(255,145,145,0.95);
}
.pregnancy-flow2.last::after {
	display: none;
}
.pregnancy-flow2 .flow {
	color: #5678c0;
	font-weight: bold;
	font-size: 1.2em;
	margin-bottom: 1em !important;
}
.pregnancy-flow2 .circle-list li::before {
	background-color: #5678c0;
}
/************************************
▼questionnaire-box▼
************************************/
.questionnaire-box {
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.5em;
}
.questionnaire-comment {
	width: 82%;
	position: relative;
	margin:  0 15px 0 0;
	padding: 1em;
	border: solid 3px #FFF3C6;
	box-sizing: border-box;
	border-radius: 6px;
	background-color: #fffcf0;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.questionnaire-comment:before {
	content: "";
	position: absolute;
	top: 50%;
	right: -24px;
	margin-top: -12px;
	border: 12px solid transparent;
	border-left: 12px solid #fffcf0;
	z-index: 2;
}
.questionnaire-comment:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -30px;
	margin-top: -14px;
	border: 14px solid transparent;
	border-left: 14px solid #FFF3C6;
	z-index: 1;
}
.none .questionnaire-comment:before,
.none .questionnaire-comment:after {
	display: none;
}
.questionnaire-comment .circle-list li,
.questionnaire-comment .circle-list,
.questionnaire-comment .point-list,
.questionnaire-comment p {
	margin: 0.5rem 0 !important;
}
.questionnaire-img {
	width: 15%;
	display: flex;
	align-items: center;
}
.none .questionnaire-comment {
	width: 65%;
}
.none .questionnaire-img {
	width: 30%;
}
.wide .questionnaire-comment {
	width: 82%;
}
.wide .questionnaire-img {
	width: 15%;
}
@media screen and (max-width: 640px) {
	.questionnaire-box {
		flex-direction: column-reverse;
		align-items: center;
	}
	.questionnaire-comment,
	.none .questionnaire-comment {
		width: 100%;
		margin: 30px 0 0;
	}
	.questionnaire-comment:before {
		top: -24px;
		right: 50%;
		margin-top: 0;
		margin-right: -12px;
		border: 12px solid transparent;
		border-bottom: 12px solid #fffcf0;
	}
	.questionnaire-comment:after {
		content: "";
		position: absolute;
		top: -30px;
		right: 50%;
		margin-top: 0;
		margin-right: -14px;
		border: 14px solid transparent;
		border-bottom: 14px solid #FFF3C6;
	}
	.questionnaire-img {
		width: 150px;
	}
	.none .questionnaire-img {
		width: auto;
	}
}
/************************************
▼resident-box▼
************************************/
.resident-box {
	text-align: center;
	border-radius: 15px;
	background-color: #FFE0E1;
	border: 3px solid #FFA5A7;
	padding: 1.5em 1em 1px;
	font-size: clamp(1px, 5.0vw, 1.15em);
}
.resident-box h2 {
	font-size: 2.3em;
	font-weight: bold;
	line-height: 1.4;
}
.resident-box p {
	margin-top: 1.5em;
}
.resident-text.big {
	font-size: 1.3em;
}
/************************************
▼history-box▼
************************************/
.history-box {
	display: flex;
	flex-direction: column;
	gap: 1.5em;
	margin-bottom: 3em;
}
.history-box-img {
	width: 100%;
	text-align: center;
}
.history-box-img img {
	max-width: 150px;
	margin: 0 10px;
	display: inline-block;
}
@media screen and (min-width: 640px){
	.history-box {
		flex-direction: row-reverse;
	}
	.history-box-img {
		width: 170px;
		text-align: center;
	}
	.history-box-text {
		width: calc(100% - 170px);
	}
}
.history-open {
	border-top: 2px solid rgb(30,72,165,0.2);
	border-bottom: 2px solid rgb(30,72,165,0.2);
	padding: 1em 3.5em 1em 1em;
	margin-bottom: 0 !important;
	position: relative;
	font-weight: bold;
	cursor: pointer;
}
.history-open.active {
	background-color: rgb(30,72,165,0.3);
}
.history-table {
	background-color: rgb(30,72,165,0.1);
	font-weight: normal;
	padding: 1em;
}
.history-open-icon {
	position: absolute;
	top: 50%;
	right: 1.65rem;
	transition: all .4s;
	margin-top: -2px;
}
.history-open-icon::before,
.history-open-icon::after {
	content: '';
	height: 3px;
	width: 19px;
	display: block;
	background: #f26b92;
	position: absolute;
	top: 0;
	right: -8px;
}
.history-open-icon::after{
	height: 19px;
	width: 3px;
	top: -8px;
	right: 0;
}
.active .history-open-icon {
	transform: rotate(135deg);
	margin-top: 2px;
	right: 1.75rem;
}
.history-table .normal-table {
	margin-bottom: 0;
	table-layout: fixed;
}
.history-table .normal-table tr th {
	width: 6em;
	text-align: center;
}
.history-table .normal-table tr td:nth-child(2) {
	width: 4em;
}
.history-table .normal-table tr td:nth-child(3) {
	width: auto;
}
/************************************
▼senior-list▼
************************************/
.senior-list {
	max-width: 860px;
	margin: 0 auto 3em;;
}
.senior-list a {
	display: block;
	padding: 1em;
	border-radius: 10px;
	margin-bottom: 1em;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
	color: rgba(0,0,0,0.8);
	font-size: clamp(1em, 5.5vw, 1.3em);
	text-decoration: none;
	position: relative;
	text-align: center;
}
.senior-list a::before {
	content: "";
	background: #FFFFFF;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border-radius: 6px;
	position: absolute;
	top: 5px;
	right: 5px;
	transition: all .4s;
}
.senior-list a div {
	position: relative;
}
.senior-list a img {
	display: block;
	margin-bottom: 0.9em;
}
.senior-title {
	font-size: 1.3em;
	line-height: 1.4;
	margin-bottom: 0.2em;
	position: relative;
}
.staff01 {
	color: #84466f;
}
.staff02 {
	color: #7988b8;
}
.staff03 {
	color: #FF5828;
}
.staff04 {
	color: #F66;
}
.staff05 {
	color: #063;
}
.staff06 {
	color: #10335D;
}
/************************************
▼senior-staff▼
************************************/
.senior-staff {
	display: flex;
	justify-content: space-between;
	margin: 0 auto 1.5em;
}
.senior-staff div {
	width: 32%;
	text-align: center;
}
.senior-staff img {
	margin: 0 auto 1em;
	display: block;
}
/************************************
▼certified-table▼
************************************/
.normal-table.certified {
	position: relative;
	margin-bottom: 3em;
	table-layout: fixed;
}
.normal-table.certified th {
	width: 18em;
}
.normal-table.certified a {
	display: inline-block;
	padding: 0.5em 1em 0.5em 1.8em;
	background: url('../images/arrow-p.png') top 0.9em left / 1em no-repeat;
}
.normal-table.certified a[target="_blank"] {
	background-image: url('../images/blank-p.png');
}
@media screen and (max-width: 960px) {
	.normal-table.certified {
		display: block;
		border: 0;
	}
	.normal-table.certified tbody {
		width: 100%;
		display: block;
	}
	.normal-table.certified tr {
		display: block;
		border-top: 1px solid #cccccc;
		border-left: 1px solid #cccccc;
		margin-bottom: 1.5em;
	}
	.normal-table.certified th {
		width: 100%;
	}
}
/************************************
▼page-attention▼
************************************/
.page-attention {
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
	color: #212121;
	font-size: 1rem;
	padding: 0.3em 0.7em;
	display: inline-block;
	vertical-align: middle;
}
.senior-name {
	border-bottom: 1px solid rgba(0,0,0,0.1);
	padding-bottom: 0.5em;
	text-align: right;
}
/************************************
▼voice-list▼
************************************/
.voice-list div {
	position: relative;
	transition: all .4s;
	overflow: hidden;
	border-radius: 10px;
	box-shadow: 0 0 1px rgba(0,0,0,0.3);
}
.voice-list-text {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	font-size: clamp(1px , 6.5vw , 1.6em);
	font-weight: 600;
	line-height: 1.4;
	background: #FFFFFF;
	padding: 0.5em 0 0.5em 1em;
	color: #212121;
	width: 6.2em;
}
.voice-list-text span {
	font-weight: 400;
	display: block;
	font-size: 0.6em;
	color: #f26b92;
}
@media (any-hover: hover) {
	.voice-list div:hover {
		opacity: 0.6;
	}
	.voice-list div a:hover img {
		opacity: 1;
	}
}
/************************************
▼voice-box▼
************************************/
.voice-box {
	max-width: 860px;
	margin: 0 auto 3em;;
}
/************************************
▼voice-title▼
************************************/
.voice-title {
	margin-bottom: 1.5rem;
	font-size: 1.6em;
	color: #f26b92;
}
.voice img {
	border-radius: 10px;
}
/************************************
▼contact▼
************************************/
.contact-head-box {
	border-radius: 10px;
	background: url('../images/bg-img.jpg') center / cover no-repeat;
	position: relative;
	padding: 1em 0 0.7em;
	font-size: clamp(1px, 11vw, 3.0em);
	box-shadow: 0 0 1px rgba(0,0,0,0.3);
	margin-bottom: 30px;
}
.contact-head-box::before {
	content: "";
	background: #FFFFFF;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border-radius: 6px;
	position: absolute;
	top: 5px;
	left: 5px;
}
.contact-img {
	margin: 0 auto 0.2em;
	max-width: 300px;
	width: 85%;
	position: relative;
}
.contact-title {
	text-align: center;
	position: relative;
	font-size: 1em;
	color: #f26b92;
}
.contact-text {
	text-align: center;
	font-size: clamp(1px, 5.5vw, 1.4em);
	font-weight: 600;
}
.contact-text span {
	display: inline-block;
}
.normal-table.contact {
	max-width: 460px;
	margin: 0 auto;
}
.normal-table.contact th,
.normal-table.contact td {
	font-size: 1.3em;
	text-align: center;
}
/************************************
▼link-list▼
************************************/
.link-list {
	margin: 0 0 1.5em;
	padding: 0;
}
.link-list li {
	list-style: none;
	border-top: 2px dashed rgba(0,0,0,0.2);
}
.link-list li:first-child {
	border-top: 0;
	margin-top: -1em;
}
.link-list li a {
	display: block;
	transition: all .4s;
	padding: 1em 0 1em 2.2em;
	background: url('../images/link-icon.png') top 1.1em left / 1.5em no-repeat;
	color: #212121;
}
.link-list li a span {
	background: url('../images/blank-p.png') top 0.25em right / 1em no-repeat;
	padding-right: 1.5em;
}
@media (any-hover: hover) {
	.link-list li a:hover {
		color: #f26b92;
		text-decoration: none;
	}
}
/************************************
▼sitemap▼
************************************/
.sitemap-box div {
	position: relative;
	border-radius: 10px;
	background: url('../images/bg-img.jpg') center / cover no-repeat;
	padding: 0.4em 5px;
	margin-bottom: 1.5em;
	box-shadow: 0 0 1px rgba(0,0,0,0.3);
}
.sitemap-box div::before {
	content: "";
	background: #FFFFFF;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border-radius: 6px;
	position: absolute;
	top: 5px;
	left: 5px;
}
.sitemap-box h2 {
	position: relative;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	margin: 0;
}
.sitemap-box a {
	color: #664e44;
	padding: 0.7rem 45px 0.7rem 20px;
	display: block;
	font-size: 1rem;
	text-decoration: none;
	position: relative;
	transition: all .4s;
}
.sitemap-box a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,1) 0%, rgba(172,220,245,1) 100%);
	bottom: 0;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 0.3s;
}
@media (any-hover: hover) {
	.sitemap-box a:hover {
		color: #f26b92;
	}
	.sitemap-box a:hover::after {
		transform: scale(1, 1);
		transform-origin: left top;
	}
}
.sitemap-box a[target="_blank"] {
	background: none;
}
.sitemap-box a::before {
	content: '';
	height: 1em;
	width: 1em;
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	background: url('../images/arrow-p.png') center / 1em no-repeat;
}
.sitemap-box a[target="_blank"]::before {
	background-image: url('../images/blank-p.png');
}
.sitemap-box ul {
	position: relative;
	padding: 0;
	margin: 0;
}
.sitemap-box ul li {
	border-bottom: 1px solid rgba(0,0,0,0.2);
	list-style: none;
}
.sitemap-box ul li a {
	color: #212121;
}
.sitemap-box ul li.sub a {
	padding-left: 2.5em;
}
.sitemap-box ul li.sub a::after {
	content: '';
	height: 0.7em;
	width: 0.7em;
	border-radius: 50%;
	border: 2px solid #f26b92;
	display: block;
	position: absolute;
	top: 50%;
	left: 1.3em;
	transform: translateY(-50%);
}
.sitemap-box div:nth-child(1) h2:last-child,
.sitemap-box div:nth-child(2) li:last-child,
.sitemap-box div:nth-child(3) li:last-child,
.sitemap-box div:nth-child(4) h2:last-child {
	border-bottom: 0;
}
@media screen and (min-width: 640px){
	.sitemap-box {
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto;
		align-items: stretch;
		gap: 2%;
	}
	.sitemap-box div {
		width: 49%;
	}
	.sitemap-box div:nth-child(1) h2:last-child,
	.sitemap-box div:nth-child(3) li:last-child {
		border-bottom: 1px solid rgba(0,0,0,0.2);
	}
}
@media screen and (min-width: 960px){
	.sitemap-box div {
		width: 23.5%;
	}
	.sitemap-box div:nth-child(4) h2:last-child {
		border-bottom: 1px solid rgba(0,0,0,0.2);
	}
}
/************************************
▼members▼
************************************/
.members-list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 16px;
}
.members-list-inner {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 0 0 3px rgba(0,0,0,0.1) inset;
	padding: 1em;
	width: 100%;
	border-radius: 10px;
}
.members-list-inner .staff-img {
	height: 300px;
	padding: 10px;
	margin-bottom: 10px;
	overflow: hidden;
}
.members-list-inner .staff-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.members-list-inner p {
	margin-bottom: 0 !important;
}
.members-list-inner .staff-detail-title {
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.3) 0%, rgba(172,220,245,0.3) 100%);
	padding: 0.5em 0.7em;
	line-height: 1.4;
	border-radius: 10px;
	margin: 1em 0 0.5em;
}
.members-list-inner .staff-detail-etc {
	justify-content: center;
}
.members-list-inner .staff-detail-etc .staff-detail-job {
	margin-right: 0;
}
.members-list-inner .staff-detail-name {
	margin-right: 0;
	display: flex;
	justify-content: center;
}
.news-file li a {
	padding-left: 2.2em;
	background: url('../images/file-icon.png') top 0.1em left / 1.5em no-repeat;
	display: block;
}
.news-link {
	margin: 1.5em 0;
	padding-left: 2.2em;
	background: url('../images/link-icon.png') top 0.1em left / 1.5em no-repeat;
	display: block;
}
@media screen and (min-width: 640px){
	.members-list-inner {
		width: calc(50% - 8px);
	}
}
@media screen and (min-width: 960px){
	.members-list-inner {
		width: calc(33.333333% - 11px);
	}
}
/************************************
▼footer▼
************************************/
#footer {
	border-top: 1px solid rgba(0,0,0,0.1);
}
#footer-inner {
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	line-height: 1.7;
	position: relative;
	width: 100%;
}
#footer-detail {
	margin: 2em 0;
}
#footer-logo {
	display: block;
	margin: 0 auto 1.5rem;
	padding: 0 20px;
	max-width: 340px;
}
.en #footer-logo {
	max-width: 640px;
}
#footer-logo img {
	width: 100%;
	display: block;
}
#footer-detail p {
	display: flex;
	justify-content: center;
	font-size: 0.9em;
}
/************************************
▼footer-navi▼
************************************/
#footer-navi {
	border-top: 1px solid rgba(0,0,0,0.2);
}
#footer-navi div {
	position: relative;
}
#footer-navi h2,
#footer-navi h5 {
	border-bottom: 1px solid rgba(0,0,0,0.2);
	margin: 0;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.2) 0%, rgba(172,220,245,0.2) 100%);
}
#footer-navi a {
	color: #664e44;
	padding: 0.7rem 45px 0.7rem 20px;
	display: block;
	font-size: 1rem;
	text-decoration: none;
	position: relative;
	background: rgba(255,255,255,1);
	transition: all .4s;
}
@media (any-hover: hover) {
	#footer-navi a:hover,
	#footer-navi div:has(.trigger:hover) h2:first-child a,
	#footer-navi div:has(.trigger:hover) h5:first-child a {
		background: rgba(255,255,255,0);
		color: #f26b92;
	}
}
#footer-navi a::before {
	content: '';
	height: 1em;
	width: 1em;
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	background: url('../images/arrow-p.png') center / 1em no-repeat;
}
#footer-navi a[target="_blank"]::before {
	background-image: url('../images/blank-p.png');
}
#footer-navi a.no-link::before {
	display: none;
}
#footer-navi .trigger {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 3.1em;
	z-index: 10;
	cursor: pointer;
}
#footer-navi .trigger::before,
#footer-navi .trigger::after {
	content: '';
	height: 1px;
	width: 15px;
	display: block;
	background: #f9738d;
	position: absolute;
	top: 23px;
	right: 17px;
	transition: all .4s;
}
#footer-navi .trigger::after {
	height: 15px;
	width: 1px;
	top: 16px;
	right: 24px;
}
#footer-navi .trigger.active::before,
#footer-navi .trigger.active::after {
	transform: rotate(-135deg);
}
#footer-navi ul {
	display: none;
	z-index: 11;
	position: relative;
	padding: 0;
	margin: 0;
}
#footer-navi ul li {
	border-bottom: 1px solid rgba(0,0,0,0.2);
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,0.2) 0%, rgba(172,220,245,0.2) 100%);
	list-style: none;
}
#footer-navi ul li a {
	color: #212121;
	background: rgba(255,255,255,0);
}
#footer-navi ul li.sub a {
	padding-left: 1.5em;
}
@media (any-hover: hover) {
	#footer-navi ul li a:hover {
		background: rgba(255,255,255,0.5);
		color: #f26b92;
	}
}
#footer-navi ul li.sub a::after {
	content: '';
	height: 0.7em;
	width: 0.7em;
	border-radius: 50%;
	border: 2px solid #f26b92;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#footer-list {
	padding: 0 20px;
}
#footer-list li {
	display: flex;
	justify-content: center;
}
#footer-list li a {
	margin: 0.5em;
	color: #212121;
	font-size: 0.9em;
}
#footer-list li img {
	max-width: 30px;
}

#copy {
	font-size: 0.8em;
	padding: 0 100px 2em 20px;
	line-height: 1.4;
}
@media screen and (min-width:640px){
	.en #footer-detail {
		margin-bottom: 0;
	}
	#footer-navi {
		display: flex;
		flex-wrap: wrap;
		padding: 1em 20px 0.7rem;
		border-top: 0;
		max-width: 38em;
		margin: 0 auto;
	}
	#footer-navi div {
		margin: 0 1%;
		width: 48%;
	}
	#footer-navi h2,
	#footer-navi h5 {
		border-bottom: 0;
		background: none;
	}
	#footer-navi a {
		padding-left: 0;
	}
	#footer-navi a.no-link::before {
		display: block;
	}
	#footer-navi .trigger {
		display: none;
	}
	#footer-navi ul {
		display: block;
	}
	#footer-navi ul li {
		border-bottom: 0;
		background: none;
	}
	#footer-navi ul li a {
		font-size: 0.9em;
	}
	#footer-navi a::after {
		position: absolute;
		left: 0;
		content: '';
		width: 100%;
		height: 2px;
		background: rgba(0,59,143,1);
		background: linear-gradient(115deg, rgba(243,167,180,1) 0%, rgba(172,220,245,1) 100%);
		bottom: 0;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform 0.3s;
	}
	@media (any-hover: hover) {
		#footer-navi a:hover::after {
			transform: scale(1, 1);
			transform-origin: left top;
		}
	}
	#footer-list {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#footer-list li {
		display: flex;
		justify-content: center;
	}
	#footer-list li a {
		margin: 0.5em;
		color: #212121;
		font-size: 0.9em;
	}
	#footer-list li img {
		max-width: 30px;
	}
}
@media screen and (min-width:900px){
	#footer {
		padding-top: 1em;
	}
	#footer-navi {
		justify-content: center;
		max-width: inherit;
		margin: 0;
	}
	.en #footer-navi {
		padding: 1em 20px 0.7rem;
		max-width: 38em;
		margin: auto;
	}
	#footer-navi div {
		margin: 0 1%;
		width: auto;
	}
	#copy {
		text-align: center;
		padding: 0 0 3em;
	}
}
@media screen and (min-width:1200px){
	#footer-inner {
		flex-direction: row;
		justify-content: center;
	}
	.en #footer-inner {
		flex-direction: column;
	}
	#footer-navi {
		flex-wrap: nowrap;
		padding-left: 40px;
		padding-right: 0;
		width: 56em;
	}
	#footer-navi div {
		margin: 0 0 0 2%;
	}
}
@media screen and (min-width:1400px){
	#footer-bottom {
		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: calc(54em + 340px);
		margin: 0 auto;
		padding-bottom: 0.5em;
	}
	.en #footer-bottom {
		display: block;
	}
	#footer-list {
		padding-left: 0;
	}
	.en #footer-list {
		padding: 0 20px;
	}
	#copy {
		padding: 0;
	}
	.en #copy {
		padding: 0 0 3em;
	}
}
/************************
page_top
************************/
#page_top{
	width: 50px;
	height: 50px;
	position: fixed;
	right: -50px;
	bottom: 20px;
	background: rgba(0,59,143,1);
	background: linear-gradient(115deg, rgba(243,167,180,1) 0%, rgba(172,220,245,1) 100%);
	opacity: 0.9;
	border-radius: 50%;
	transition: all .4s;
	z-index: 100;
}
#page_top.active {
	right: 20px;
}
#page_top a{
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}
#page_top a::before{
	content: '';
	position: absolute;
	top: 20px;
	left: 17px;
	width: 15px;
	height: 15px;
	border-top: 4px solid #FFFFFF;
	border-right: 4px solid #FFFFFF;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}