@charset 'UTF-8';
/* CSS Document */


/*校正用*/
div.test, p.test { display:none;}
body.test div.test,
body.test p.test{ display:block;}

/* -------------------------------------------------------- html & body */
html {
  height: 100%;
  background-position: center;
  position: relative;
}
body {}
body:before {}
body:after {}
div.wrapper {
  position: relative;
  z-index: 1;
  z-index: 1;
}
body.top div.wrapper {}
body.top div.contents-wrapper {
  box-sizing: border-box;
}
div.contents-wrapper {
  padding-left: 2rem;
  padding-right: 2rem;
  box-sizing: border-box;
}
div.contents-wrapper div.inner {}
div.inner {
  width: 100%;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
  padding: 0;
}
/* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- loading */
/* loading */
.loader-bg {
  background: #fff;
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
}
/* .loader-bg.is-inview {
	opacity: 1 !important;
} */
.loader-bg .loading-logo div.loading-logo-wrap {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  z-index: 10000;
  display: block;
  width: 75%;
  max-width: 72rem;
  height: auto; /* background: url(../img/loading-logo-pre.png) no-repeat;
	background-size: 22.5rem 8rem; */
}
/* .loader-bg .loading-logo div.loading-logo-wrap > div {
width: 22.5rem;
	max-height: 0;
	transition: 1s all;
	overflow: hidden;
} */
/* .loader-bg.animate__animated .loading-logo div.loading-logo-wrap > div {
	width: 100%;
	height: auto;
} */
.loader-bg .loading-logo div.loading-logo-wrap > div img {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  height: auto;
  display: block;
}
/* .loader-bg-figure {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}
.loader-bg-figure img {
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);transition: 10s all;
}
 */
/* .loader-bg.is-inview.animate__animated .loader-bg-figure img {
-webkit-transform: translateX(-50%) translateY(-50%) scale(1.1);
	transform: translateX(-50%) translateY(-50%) scale(1.1);
	opacity: 0;

} */
/* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- header */
header {
  /* background: #fff; */
  width: calc(100%);
  z-index: 100000;
  position: relative;
  /* background: #39454f; */
  /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.09); */ /* box-shadow: 0 0 0 2px #fff inset, 5px 5px 25px #e7ecf1; */ /* box-shadow: 5px 5px 25px #e7ecf1; */
  /* height: 6rem; */
  /* border-top: 0.1rem solid #303030; */
  /* padding-top: 1rem;
	padding-bottom: 1rem; */
  box-sizing: border-box; /* background: #fff; */ /* background: #f4f5f6; */ /* max-height: 12rem; */ /* padding-top: 1rem;
	padding-bottom: 1rem; */ /* background: rgba(255,255,255,0.90); */ /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.09); */
  padding-top: 4rem;
  padding-bottom: 4rem;
  border-bottom: 0.1rem solid #9f005d;
}
body.top header {
  border-bottom: none;
}
header > div.inner {
  width: 100%;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}
/* header */
/* div.header-top */
header div.header-top {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
header div.header-top div.inner {}
/* */
header div.header-top div.utility {
  float: right;
  background: #f8f8f8;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
  border-radius: 1000rem;
}
header div.header-top div.utility ul {
  font-size: 0; /* margin-bottom: 1rem; */
}
header div.header-top div.utility ul li {
  display: inline-block;
}
/* ------------------------------------------------------------------------------------------  */
header div.header-top div.utility ul li a {
  font-size: 1.4rem;
  letter-spacing: 0.125rem;
  position: relative;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 0.25rem;
  padding-bottom: 0.5rem;
  color: #2c3b4a;
  display: block;
  text-decoration: none;
  /* font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, sans-serif, 'Noto Sans JP', YakuHanJP, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif; */
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
}
header div.header-top div.utility ul li:nth-child(1) a::before {
  position: absolute;
  top: 50%;
  right: 0;
  width: 0.1rem;
  height: 1rem;
  margin: auto;
  content: '';
  -webkit-transform: translateY(-50%) rotate(30deg);
  transform: translateY(-50%) rotate(30deg);
  background: #2c3b4a;
  z-index: 1;
}
header div.header-top div.utility ul li a:hover {
  text-decoration: underline;
}
/* ------------------------------------------------------------------------------------------  */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- nav */
/* header div.header-bottom {
  border-top: 0.1rem #f4f4f7 solid;
  border-bottom: 0.1rem #f4f4f7 solid;
} */
/* header.opacity div.header-bottom {
	box-shadow: 0 0.2rem 2.5rem rgba(0,22,38,.1);
} */
header div.logo {
  margin-right: ;
  position: relative; /* top: -0.5rem; */
  /* top: 1rem; */
  /* 	top: -3rem; */
  /* margin-bottom: 1rem; */
  top: 0;
  /* float: left; */ /* margin-right: 12%; */
  height: 100%;
  z-index: 1000;
  /* width: 50rem; */
}
header div.logo h1, header div.logo span {
  /* display: none; */
  height: 100%;
  display: block;
}
header div.logo a {
  color: #333333;
  text-decoration: none;
  font-size: 2.4rem;
  font-weight: normal;
  letter-spacing: 0.25rem;
}
header div.logo a > span {
  display: block;
}
header div.logo img {
  width: 42%;
  max-width: 48rem;
  transition: 0.25s all;
  position: absolute;
  top: 0;
  left: 0;
}
body.top header div.logo img {
  top: -2rem;
}
header div.logo a > span span {}
header div.logo a:hover {
  opacity: 0.75:
}
/* */
div.menu-button {
  display: none;
}
nav {
  /* border-top: 0.1rem solid #a3a37c; */
  /* border-bottom: 0.1rem solid #a3a37c; */
  /* position: relative; */
  height: 100%; /* background: #f1deb4; */ /* border-top: 0.1rem solid #e9ebec; */ /* border-bottom: 0.2rem solid #f3f3f3; */ /* width: calc(98% - 18rem); */ /* float: left; */
  float: right;
  width: calc(100% - 42%);
}
nav > div.inner {
  width: 100%;
  /* max-width: 120rem; */
}
nav div.inner > ul {
  /* width: 100%; */
  height: 100%;
  white-space: nowrap;
  font-size: 0; /* height: 2rem; */ /* padding-top: 1rem;
	padding-bottom: 1rem; */
  /* float: right; */
  /* width: calc(100% - 36%); */
  /* text-align: right; */
  text-align: right; /* padding-top: 3rem;
	padding-bottom: 3rem; */
}
nav ul li {
  position: relative;
  display: inline-block;
  /* width: 16.666666%; */
  /* float: left;
	width: 12.5%; */
  /* height: 80px; */
  vertical-align: middle; /* width: 25%; */ /* padding-top: 2rem;
	padding-bottom: 2rem; */
}
nav ul li:after {}
nav ul li:first-child:before {}
nav > div.inner > ul > li > a:hover::after {}
nav ul li a {
  font-size: clamp(1.4rem, 1.4vw, 1.6rem);
  line-height: 1.5;
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  /* color: #1b3600; */
  padding-left: min(0.50vw, 1.5rem);
  padding-right: min(0.50vw, 1.5rem);
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: normal;
  transition: 0.25s all;
  /* color: #f279b7; */
  /* color: #006cbc; */
  color: #9f005d; /* font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, sans-serif, 'Noto Sans JP', YakuHanJP, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif; */ /* font-family: "Yu Gothic", YuGothic, sans-serif, 'Noto Sans JP', YakuHanJP, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif; */ /* border-radius: 1000rem; */
  transition: 0.25s all;
}
nav ul li a:hover {
  /* background: #e8f5fe;
	color: #333333; */
  opacity: 0.75;
}
nav ul li a:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  content: "";
  width: 0;
  height: 0.2rem;
  background: #9f005d;
  transition: 0.125s all;
}
nav ul li a:hover:after {
  width: 100%;
}
nav div.inner > ul > li > a:before {}
nav div.inner > ul > li > a:hover:before {}
nav ul li a::after {}
nav ul li:first-child a::before {}
/* sub-menu */
nav > div.inner > ul > li > div.sub-menu {
  max-height: 0;
  overflow: hidden;
  transition: 0.25s all;
  position: absolute;
  /* background: #fff; */
  background-color: rgba(255, 255, 255, 1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.09);
  /* width: 150%; */
  min-width: 100%;
  top: 6.0rem;
  left: 0;
  opacity: 0; /* transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
 */
}
nav > div.inner > ul > li:hover div.sub-menu {
  max-height: 100rem;
  overflow: visible;
  opacity: 1;
  top: 5.0rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
nav > div.inner > ul > li > div.sub-menu ul li {
  float: none;
  width: 100%;
  display: block;
}
nav > div.inner > ul > li > div.sub-menu ul li a {
  display: block;
  border-bottom: none;
  font-size: 1.4rem;
  letter-spacing: 0;
  padding: 1.0rem 5rem 1.0rem 2rem;
  /* padding-left: 0;
	padding-right: 0;
	padding-top: 1rem;
	padding-bottom: 1rem; */
  /* border-bottom: 0.1rem #eee solid; */
  text-align: left;
  position: relative;
}
nav > div.inner > ul > li > div.sub-menu ul li a:after {
  display: none;
}
nav > div.inner > ul > li > div.sub-menu ul li a:hover {
  background: #f8f8f8;
}
nav > div.inner > ul > li > div.sub-menu ul li:after {
  display: none;
}
nav > div.inner > ul > li > div.sub-menu ul li:first-child:before {
  display: none;
}
nav > div.inner > ul > li > div.sub-menu ul li a::before {
  border-right: 0.1rem solid #333333;
  border-top: 0.1rem solid #333333;
  content: "";
  display: block;
  height: 0.75rem;
  right: 1rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transition: all 0.2s ease-in-out 0s;
  width: 0.75rem;
  z-index: 1;
}
nav > div.inner > ul > li > div.sub-menu ul li a::after {}
nav > div.inner > ul > li.icon-facebook {}
nav > div.inner > ul > li.icon-facebook img {
  width: 3rem;
  height: 3rem;
}
nav div.inner > ul > li.icon-facebook a:after {
  display: none;
}
/* header の へんけい */
header.opacity div.header-bottom {}
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
a.anchor {
  position: absolute;
  top: -6rem;
}
body.top section {
  /* border-top: 0.5rem solid #39454f; */ /* background:; */
}
section {
  font-size: 1.8rem;
  line-height: 2;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
section div.inner {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  clear: both; /* overflow: hidden; */
  box-sizing: border-box;
  /* padding-left: 4rem;
  padding-right: 4rem; */
}
section div.title {
  /* text-align: center; */
  margin-bottom: 3rem;
  /* border-bottom: 0.3rem double #484838; */
  position: relative;
}
section div.title h2 {
  padding: 1rem 3rem;
  font-weight: normal;
  font-size: 2.4rem;
  letter-spacing: 0.25rem;
  color: #333333;
  /* width: 15rem;
	margin-left: auto;
	margin-right: auto;height: 15rem;
	background: #fff;
	display: block;
	background: #fff;
	border: 0.1rem double #484838;
	border-right: none;
	border-bottom: none;
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: 0.25rem;
	color: #484838;
	position: relative;
	z-index: 1;
	line-height: 1.5; */
  position: relative;
  display: inline-block;
}
section div.title:after {
  /* position: absolute;
	left: 0;
	top: 0;
	width: 2rem;
	height: 2rem;
	border-left: 0.2rem solid #333333;
	content: ""; */
}
section div.title:before {
  /* position: absolute;
	left: 0;
	top: 0;
	width: 2rem;
	height: 2rem;
	border-top: 0.2rem solid #333333;
	content: ""; */
}
section div.title h2:after {
  /* position: absolute;
	right: 0;
	bottom: 0;
	width: 2rem;
	height: 2rem;
	border-right: 0.2rem solid #3ca8c4;
	content: ""; */
}
section div.title h2:before {
  /* position: absolute;
	right: 0;
	bottom: 0;
	width: 2rem;
	height: 2rem;
	border-bottom: 0.2rem solid #3ca8c4;
	content: ""; */
}
section div.title h2 span {
  /* position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%) scaleX(0.975);
	-webkit-transform: translateX(-50%) translateY(-50%) scaleX(0.975);
	white-space: nowrap; */
}
/* section div.title span.material-icons {
	display: block;
	color:   #2c3b4a;
	font-size: 4rem;
}
section div.title span.en {
	display: none;
	color: #9b9b9b;
	font-size: 2rem;
	transform: scaleY(0.95);
	display: block;
} */
section div.titles-wrap div.description {
  margin-bottom: 4rem;
  font-size: 1.6rem;
}
section {}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
div.link {
  position: relative;
}
div.link:after {
  /* position: absolute;
	width: 2.75rem;
	height: 2.75rem;
	content: "";
	background: #fff;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	right: 0.75rem;
	border-radius: 1000rem; */
}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
div.link a {
  display: block;
  /* border: 0.1rem solid #333333; */
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  box-sizing: border-box;
  text-align: center;
  color: #9f005d;
  text-decoration: none;
  font-weight: normal;
  position: relative;
  /* background: #26406f; */
  transition: 0.25s all; /* border-radius: 0.5rem; */ /* border-radius: 0.25rem; */ /* border-radius: 1000rem; */ /* box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.25); */
  border-bottom: 0.175rem dotted rgba(159, 0, 93, 0.5);
}
div.link a:before {
  /* border-right: 0.1rem solid #85d5ec;
	border-top: 0.1rem solid #85d5ec; */
  /* border-top: 0.3rem solid transparent;
	border-bottom: 0.3rem solid transparent;
	border-left: 0.75rem solid #85d5ec;
	content: "";
	display: block;
	height: 0 !important;
	right: 0.9rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transition: all 0.2s ease-in-out 0s;
	width: 0 !important;
	z-index: 1; */
  border-right: 0.1rem solid #9f005d;
  border-top: 0.1rem solid #9f005d;
  content: "";
  display: block;
  height: 1.0rem;
  right: 1.0rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transition: all 0.2s ease-in-out 0s;
  width: 1.0rem;
  z-index: 1;
}
div.link a:after {
  /* position: absolute;
  top: 50%;
  margin: auto;
  content: "";
  height: 0.1rem;
  width: 1.5rem;
  background: #333;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  animation-iteration-count: infinite;
  	animation-duration: 2s;
  	animation-fill-mode: both;
  	animation-name: slideHorizontal; z-index: 1;
  right: 1.5rem;
  reset
  display: block;
  padding: 0;
  border-radius: 0; */
}
div.link a:hover:before {
  /* border-right: 0.1rem solid #26406f;
  border-top: 0.1rem solid #26406f; */
}
div.link a:after {
  /* position: absolute;
	top: 50%;
	margin: auto;
	content: "";
	height: 0.1rem;
	width: 1.5rem;
	background: #85d5ec;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	animation-iteration-count: infinite;
	animation-duration: 2s;
	animation-fill-mode: both;
	animation-name: slideHorizontal;
	z-index: 1;
	right: 1.5rem; */
}
div.link a:hover {
  /* background: #fff;
  color: #333333; */
}
/* */
/* div.link.pink a {
	border: 0.1rem solid #e8f5fe;
	background: #fbe9f8;
	color: #26406f;
}
div.link.pink a:before {
	border-right: 0.1rem solid #26406f;
	border-top: 0.1rem solid #26406f;
}
div.link.pink a:hover {
	background: #fff;
	color: #333333;
} */
/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- */
/* @-webkit-keyframes slideHorizontal {
 0% {
 height: 0.1rem;
 width: 0;
 -webkit-transform: translateX(-50%) translateY(-50%);
 transform: translateX(-50%) translateY(-50%);
 visibility: visible;
 opacity: 0;
 right: 5rem;
}
 10% {
 opacity: 1;
}
 90% {
 opacity: 1;
}
 100% {
 height: 0;
 width: 2rem;
 -webkit-transform: translateX(-50%) translateY(0);
 transform: translateX(-50%) translateY(0);
 opacity: 1;
 right: 0;
}
}
@keyframes slideHorizontal {
 0% {
 height: 0.1rem;
 width: 0;
 -webkit-transform: translateX(-50%) translateY(-50%);
 transform: translateX(-50%) translateY(-50%);
 visibility: visible;
 opacity: 0;
 right: 5rem;
}
 10% {
 opacity: 1;
}
 90% {
 opacity: 1;
}
 100% {
 height: 0;
 width: 2rem;
 -webkit-transform: translateX(-50%) translateY(0);
 transform: translateX(-50%) translateY(0);
 opacity: 1;
 right: 0;
}
}
.slideHorizontal {
	-webkit-animation-name: slideHorizontal;
	animation-name: slideHorizontal;
} */
/* div.link a[href$=".pdf"]:after {
	display: none;
} */
/* div.link a:hover:before {
	border-right: 0.1rem solid #fff;
	border-top: 0.1rem solid #fff;
} */
/* div.link a.active {
	background: #ccc;
	color: #fff;
	pointer-events: none;
}
div.link a.active:hover:after {
	display: none;
}
div.link a.active:after {
	display: none;
} */
section .strong {
  color: #6c5025;
}
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* div.from-main-visual-to-greeting-bg {
	background-color: #8EC5FC;
	background-image: linear-gradient(0deg, #e8f5fe 0%, #e8f5fe 60%, #fbe9f8 100%);
} */
section.main-visual {
  padding-top: 4rem;
  padding-bottom: 8rem;
}
section.main-visual div.inner {
  position: relative;
  padding: 0; /* background: linear-gradient(90deg, rgba(226, 207, 255, 1), rgba(251, 253, 191, 1)); */ /* background: #f8f8f8; */
  min-height: 52rem;
}
section.main-visual div.clearfix {}
section.main-visual div.main-visual-copy-description {
  /* font-size: 8.0rem; */
  position: absolute;
  bottom: 25%; /* */
  left: 0;
  transform: translateY(50%);
  -webkit-transform: translateY(50%);
  z-index: 1000; /* text-shadow: 1px 0 0 #fff, 1px 1px 0 #fff, 0 1px 0 #fff, -1px 1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 0 -1px 0 #fff, 1px -1px 0 #fff; */
  max-width: 60rem;
  width: 60%;
}
section.main-visual div.main-visual-copy-description-bg {
  /* font-size: 8.0rem; */
  position: absolute;
  top: 30%; /* */
  left: -8rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  z-index: 1000; /* text-shadow: 1px 0 0 #fff, 1px 1px 0 #fff, 0 1px 0 #fff, -1px 1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 0 -1px 0 #fff, 1px -1px 0 #fff; */
  max-width: 60rem;
}
section.main-visual div.main-visual-copy-description-bg {}
section.main-visual div.main-visual-copy {
  margin-bottom: 8rem;
}
section.main-visual div.main-visual-copy img {}
section.main-visual div.main-visual-description {
  line-height: 3;
  letter-spacing: 0;
  font-size: clamp(1.2rem, 1.5vw, 1.6rem);
  width: 80%;
  white-space: nowrap;
}
@media only screen and (max-width: 1200px) {
  /* section.main-visual div.main-visual-description br.responsive-inline-block {
	display: inline-block;
} */
}
section.main-visual div.main-visual-visual {
  float: right;
  width: 60%;
  overflow: hidden;
  border-radius: 2rem;
}
section.main-visual div.main-visual-visual img {
  position: relative;
  left: 0;
}
section.main-visual div.scroll-arrow {
  opacity: 1;
  position: relative;
  width: 4rem;
  height: 4rem;
  left: 0;
  bottom: -30rem;
}
section.main-visual div.scroll-arrow:after {
  border-right: 0.1rem solid #9f005d;
  border-top: 0.1rem solid #9f005d;
  content: "";
  display: block;
  height: 0.5rem;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(135deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(135deg);
  transition: all 0.2s ease-in-out 0s;
  width: 0.5rem;
}
section.main-visual div.scroll-arrow:before {
  width: 5rem;
  height: 5rem;
  display: block;
  left: 50%;
  position: absolute;
  content: "";
  top: 50%;
  z-index: 100000;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  /* border: 1px solid #1e2e53; */
  box-sizing: border-box;
  border-radius: 100rem;
  z-index: 0;
  animation-iteration-count: infinite;
  animation-duration: 2s;
  animation-fill-mode: both;
  animation-name: circle;
}
section.main-visual div.scroll-arrow span {
  position: relative;
  display: block;
  width: 100%;
}
section.main-visual div.scroll-arrow span:after {
  width: 0.1rem;
  position: absolute;
  content: "";
  height: 3rem;
  background: #9f005d;
  display: block;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  bottom: -2rem;
  animation-iteration-count: infinite;
  animation-duration: 2s;
  animation-fill-mode: both;
  animation-name: slideInDown;
}
section.main-visual div.scroll-arrow span:before {
  content: "Scroll";
  font-size: 1.2rem;
  letter-spacing: 0.25rem;
  position: absolute;
  top: -7.0rem;
  left: 52.5%;
  transform: translateX(-50%) rotate(90deg);
  -webkit-transform: translateX(-50%) rotate(90deg);
  color: #9f005d;
  white-space: nowrap;
  z-index: 1;
  font-weight: bold; /* font-family: 'Oswald', sans-serif; */
}
section.main-visual div.video-wrap {}
section.main-visual div.video-wrap video {
  max-width: 100%;
  display: block;
}
/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- */
@-webkit-keyframes slideInDown {
  0% {
    height: 3rem;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    visibility: visible;
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    height: 0;
    -webkit-transform: translateX(-50%) translateY(0);
    transform: translateX(-50%) translateY(0);
    opacity: 0;
  }
}
@keyframes slideInDown {
  0% {
    height: 3rem;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    visibility: visible;
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    height: 0;
    -webkit-transform: translateX(-50%) translateY(0);
    transform: translateX(-50%) translateY(0);
    opacity: 0;
  }
}
.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
section.topics {
  /* background: #f0f5f5; */
  position: relative;
  clear: both;
  overflow: hidden;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  top: -20rem;
  margin-bottom: -20rem;
  z-index: 1000;
}
section.topics div.inner {
  float: right;
  width: 50%;
  background: rgba(255, 255, 255, 0.75);
  border-radius: 2rem;
  box-sizing: border-box;
  padding: 2rem 4rem;
  box-shadow: 0 0 2rem 0.1rem rgba(0, 0, 0, 0.075);
}
section.topics div.heading h2 {
  color: #9f005d;
  font-size: 2.1rem;
}
section.topics div.topics-wrap {
  background: #fff; /* border-radius: 1rem;
	position: relative;
	box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.25); */
}
section.topics div.titles-wrap {
  /* float: left;
	width: 26%;
	margin-right: 6%;
	box-sizing: border-box;
	padding: 2rem; */
}
section.topics div.topics-wrap div.title {
  margin-bottom: 0;
  text-align: center;
}
section.topics div.topics-wrap div.title:after {
  z-index: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  content: "";
  width: 100%;
  height: 0.1rem;
  background: #333333;
}
section.topics div.topics-wrap div.title h2 {
  margin-left: auto;
  margin-right: auto;
  /* height: 15rem; */
  /* display: block; */
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.25rem;
  position: relative;
  z-index: 1;
  line-height: 1.5; /* 
	margin-bottom: 4rem; */
  color: #333333;
  background: #fff;
  margin-bottom: 0;
  padding: 0;
  padding-top: 0;
  display: inline-block;
  padding-left: 2rem;
  padding-right: 2rem;
}
/* */
section.topics div.article-list {
  margin-left: auto;
  margin-right: auto;
  padding-top: 2rem;
  padding-bottom: 2rem;
  box-sizing: border-box; /* float: left;
	width: calc(68% - 2rem); */
}
/* */
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
div.article-list ul {
  /* margin-bottom: 4rem; */
  position: relative; /* padding-left: 1rem;
	padding-right: 1rem; */
}
div.article-list ul li a {
  display: block;
  border-bottom: 0.175rem dotted rgba(159, 0, 93, 0.5);
  font-size: 1.5rem;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  transition: 0.25s all;
  color: #000;
  text-decoration: none;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  /* padding-left: 34rem; */
  padding-right: 4rem;
  background: #fff; /* box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.25); */ /* margin-bottom: 2rem; */
  clear: both;
  overflow: hidden;
  transform: 0.25s all;
  line-height: 1.75;
}
div.article-list ul li a:hover {
  background: #f8f8f8;
}
div.article-list ul li:first-child a {
  border-top: 0.175rem dotted rgba(159, 0, 93, 0.5);
}
div.article-list ul li a div.new {
  background: #f2e7ba;
  color: #9f005d;
  display: inline-block;
  text-align: center;
  font-size: 1.2rem;
  width: 8rem;
}
div.article-list ul li a div.update {
  color: #000;
  display: inline-block;
  font-size: 1.4rem;
  width: 10rem;
  white-space: nowrap;
}
div.article-list ul li a div.heading {
  /* width: calc(100% - 34rem); */
}
/* div.article-list ul li:after {
	position: absolute;
	width: 2.75rem;
	height: 2.75rem;
	content: "";
	background: #fff;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	right: 0.75rem;
	border-radius: 1000rem;
} */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
div.article-list ul li a {
  position: relative;
}
div.article-list ul li a:before {
  border-right: 0.1rem solid #9f005d;
  border-top: 0.1rem solid #9f005d;
  content: "";
  display: block;
  height: 0.75rem;
  right: 1.0rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transition: all 0.2s ease-in-out 0s;
  width: 0.75rem;
  z-index: 1;
}
div.article-list ul li a:before {
  right: 1rem;
  opacity: 1;
}
div.article-list ul li a:after {
  /* position: absolute;
  top: 50%;
  margin: auto;
  content: "";
  height: 0.1rem;
  width: 1.5rem;
  background: #333333;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  animation-iteration-count: infinite;
  animation-duration: 2s;
  animation-fill-mode: both;
  animation-name: slideHorizontal;
  z-index: 1;
  right: 1.5rem; */
}
/* section.topics div.link {
  position: absolute;
  left: 2rem;
  bottom: 4rem;
  width: 26%;
} */
section.topics div.link a {
  float: right;
  padding-right: 4rem;
}
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
section.about, section.patient, section.training {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
section.about div.inner, section.patient div.inner, section.training div.inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
}
section div.column {
  width: calc(28% - 4rem);
  margin-right: 4rem;
  position: relative;
}
section div.column div.heading h2 {
  color: #9f005d;
  font-size: 2.1rem;
  margin-bottom: 4rem;
}
section div.column div.heading {
  position: relative;
}
section div.column div.cut-illust {
  position: absolute;
  bottom: 0;
  right: 0;
}
section div.column div.cut-illust img {
  max-width: 12rem;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translateX(10%);
  -webkit-transform: translateX(10%);
}
section div.column.figure {
  width: 72%;
  border-radius: 2.5rem;
  overflow: hidden;
  margin-right: 0;
  position: relative;
}
section.patient div.column.figure::before, section.training div.column.figure::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.0) 100%);
  height: 100vh;
  z-index: 1;
  content: "";
}
section div.column div.links-wrap a {
  color: #000;
  text-decoration: none;
  display: block;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 0.175rem dotted rgba(159, 0, 93, 0.5);
  position: relative;
  box-sizing: border-box;
  padding-right: 4rem;
  transition: 0.25s all;
}
section div.column div.links-wrap a:hover {
  color: #9f005d;
}
section div.column div.links-wrap a:before {
  /* border-right: 0.1rem solid #85d5ec;
	border-top: 0.1rem solid #85d5ec; */
  /* border-top: 0.3rem solid transparent;
	border-bottom: 0.3rem solid transparent;
	border-left: 0.75rem solid #85d5ec;
	content: "";
	display: block;
	height: 0 !important;
	right: 0.9rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transition: all 0.2s ease-in-out 0s;
	width: 0 !important;
	z-index: 1; */
  border-right: 0.1rem solid #9f005d;
  border-top: 0.1rem solid #9f005d;
  content: "";
  display: block;
  height: 0.75rem;
  right: 1.0rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transition: all 0.2s ease-in-out 0s;
  width: 0.75rem;
  z-index: 1;
}
section.about {}
section.about div.inner {
  flex-direction: row-reverse;
}
section.about div.inner div.column {
  margin-right: 0;
}
section.about div.inner div.column.figure {
  margin-right: 4rem;
}
section.about div.inner div.column.figure div {
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}
section.about div.inner div.column.figure div img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
}
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
section.patient {}
section.patient div.inner div.column.figure div {
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}
section.patient div.inner div.column.figure div img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
}
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
section.outpatient {
  width: calc(100% + 2rem);
  margin-left: -1rem;
  margin-right: -1rem;
}
section.outpatient div.inner {
  padding: 0;
}
section.outpatient div.outpatient-list {}
section.outpatient div.outpatient-list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
section.outpatient div.outpatient-list ul:first-child li:first-child {
  width: 44vw;
  max-width: 56rem;
  height: 21vw;
  margin-right: min(2vw, 4rem);
}
section.outpatient div.outpatient-list ul li.heading-wrap {
  position: relative;
}
section.outpatient div.outpatient-list ul li.heading-wrap div.heading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
}
section.outpatient div.outpatient-list ul li.heading-wrap div.heading h2 {
  color: #9f005d;
  font-size: 2.1rem;
}
section.outpatient div.outpatient-list ul li.heading-wrap div.heading div.cut-illust {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
}
section.outpatient div.outpatient-list ul li.heading-wrap div.cut-illust img {
  max-width: 12rem;
  position: relative;
  transform: translateX(100%);
  -webkit-transform: translateX(100%);
}
section.outpatient div.outpatient-list ul li {
  width: 21vw;
  height: 21vw;
  max-width: 26.5rem;
  max-height: 26.5rem;
  margin-right: min(2vw, 4rem);
  margin-bottom: 4rem;
}
section.outpatient div.outpatient-list ul:first-child li:nth-child(3) {
  margin-right: 0;
}
section.outpatient div.outpatient-list ul:nth-child(2) li:nth-child(4n) {
  margin-right: 0;
}
section.outpatient div.outpatient-list ul li a {
  background: #fff;
  display: block;
  border-radius: 1rem;
  text-align: center;
  width: 100%;
  height: 100%;
  position: relative;
  text-decoration: none;
  box-shadow: 0 0 2rem 0.1rem rgba(0, 0, 0, 0.075);
  transition: 0.25s all;
}
section.outpatient div.outpatient-list ul li a:hover {
  box-shadow: 0 0 2rem 1rem rgba(0, 0, 0, 0.075);
  background: #f8f8f8;
}
section.outpatient div.outpatient-list ul li a div.thumbnail {
  position: absolute;
  top: 45%; /* */
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  width: 100%;
}
section.outpatient div.outpatient-list ul li a div.thumbnail img {
  max-width: 16.25rem;
  width: 65%;
}
section.outpatient div.outpatient-list ul li a div.heading {
  color: #000;
  position: absolute;
  bottom: 1.75rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  white-space: nowrap;
  font-size: clamp(1.4rem, 1.6vw, 1.6rem);
  line-height: 1.25;
}
/* section.outpatient div.outpatient-list ul li a:hover div.heading {
  color: #9f005d;
} */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
section.training {}
section.training div.description {
  font-size: 1.6rem;
}
section.training div.link a {
  float: right;
  padding-right: 4rem;
}
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
div.banner {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}
div.banner ul {
  padding-top: 4rem;
  padding-bottom: 4rem;
  display: flex;
}
div.banner ul li {
  width: 22%;
  margin-right: 4%;
  box-shadow: 0 0 2rem 0.1rem rgba(0, 0, 0, 0.075);
  overflow: hidden;
  border-radius: 1rem;
}
div.banner ul li:nth-child(4) {
  margin-right: 0;
}
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
div.scroller {
  /* background: #2c3b4a; */
  bottom: 2.5rem;
  display: block;
  height: 8rem;
  position: fixed;
  right: 0.5rem;
  width: 8rem;
  z-index: 1000000000;
}
div.scroller div.button {
  height: 8rem;
  position: absolute;
  top: 0;
  width: 8rem;
}
div.scroller div.button a {
  display: block;
  height: 8rem;
  position: relative;
  width: 8rem;
  z-index: 1; /* border-radius: 1000rem; */
}
div.scroller div.button a::before {
  position: absolute;
  bottom: -2rem;
  left: 50%;
  content: "トップへ";
  white-space: nowrap;
  transform: translateX(-50%) translateY(0);
  -webkit-transform: translateX(-50%) translateY(0);
  font-size: 1.4rem;
  /* opacity: 0.0; */
  transition: all 0.2s ease-in-out 0s;
  color: #303030;
  /*   border-right: 0.1rem solid #fff;
  border-top: 0.1rem solid #fff;
  content: "";
  display: block;
  height: 1rem;
  left: 50%;
  position: absolute;
  top: 50%; 
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  transition: all 0.2s ease-in-out 0s;
  width: 1rem; */
}
div.scroller:hover div.button a {
  /*  background: #fff; */
}
div.scroller:hover div.button a::before {
  /* border-right: 0.1rem solid #2c3b4a;
  border-top: 0.1rem solid #2c3b4a; */
  /* opacity: 1; */
}
div.scroller:after {
  height: 0;
  width: 0;
  background: #2c3b4a;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  content: "";
  z-index: -1;
  /* border-radius: 10000rem; */
  transition: 0.25s all;
}
div.scroller:hover:after {
  /* 	height: 7rem;
	width: 7rem; */
}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
footer {
  z-index: 1000;
  position: relative;
  color: #666;
}
footer div.inner {
  padding-top: 4rem;
  display: flex;
}
body.top footer div.inner {
  align-items: flex-end;
}
footer div.inner div.column {
  width: 48%;
}
footer div.inner div.column:nth-child(1) {
  margin-right: 4%;
}
footer div.logo {
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
}
footer div.logo img {
  max-width: 36rem;
  /* margin-left: auto;
  margin-right: auto; */
  display: block;
}
footer div.address {
  margin-left: 1rem;
  font-size: 1.4rem;
}
footer div.tel-fax {
  margin-left: 1rem;
  margin-bottom: 2rem;
}
footer div.tel-fax a {
  color: #666;
}
footer div.map {
  margin-bottom: 2rem;
}
footer div.map iframe {
  overflow: hidden;
  border-radius: 1rem;
}
footer div.inner div.column div.footer-site-map {
  display: flex;
}
body.top footer div.inner div.column div.footer-site-map {
  margin-bottom: 14rem;
}
footer div.inner div.column div.footer-site-map ul {
  width: 30.00%;
  font-size: 1.4rem;
  margin-right: 3.33%;
}
footer div.inner div.column div.footer-site-map ul li.heading {
  margin-bottom: 1rem;
}
footer div.inner div.column div.footer-site-map ul li.heading a {
  border-bottom: 0.1rem solid #666;
}
footer div.inner div.column div.footer-site-map ul a {
  text-decoration: none;
  color: #666;
  padding-bottom: 0.25rem;
  margin-bottom: 0.25rem;
  display: block;
}
footer div.inner div.column div.footer-site-map ul a:hover {
  color: #9f005d;
}
footer div.footer-information {
  border-top: 0.1rem solid #9f005d;
  text-align: center;
  line-height: 1.5;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  color: #999;
  padding-top: 1rem;
  padding-bottom: 1.5rem;
  margin-top: 4rem;
}
body.top footer div.footer-information {
  margin-top: 0;
}
/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- topic-path */
.topic-path {
  font-size: 1.2rem;
  display: block;
  /* margin: 0 auto 40px; */
  /* background: #4568DC; */
  /* background: -webkit-linear-gradient(to right, #B06AB3, #4568DC);
	background: linear-gradient(to right, #B06AB3, #4568DC); */
  /* 		background: #f8f8f8; */
  /* background: #f2f2f0; */
  text-align: left;
  background: none; /* font-family: 'Noto Sans JP', "Yu Gothic", YuGothic, sans-serif, 'Noto Sans JP', YakuHanJP, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;font-family: "Yu Gothic", YuGothic, sans-serif, 'Noto Sans JP', YakuHanJP, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	border-bottom: 0.1rem solid #f8f8f8; */
}
.topic-path ul {
  padding: 1rem;
  /* padding-left: 0.5em;
	padding-right: 0.5em;	 */
  list-style: none;
}
.topic-path ul li {
  display: inline;
}
.topic-path ul li a {
  font-size: 1.2rem;
  /* font-weight: bold; */
  text-decoration: none;
  position: relative;
  padding-right: 1rem;
  padding-left: 1rem;
  /* color: #689d38; */
  /* color: #003e6c; */
  color: #26406f;
  font-weight: normal;
  text-decoration: underline;
}
.topic-path ul li:first-child a {
  padding-left: 0;
}
.topic-path ul li span {
  padding-right: 1rem;
  padding-left: 1rem;
}
.topic-path ul li a:before {
  width: 0.4rem;
  height: 0.4rem;
  position: absolute;
  top: 50%;
  right: 0;
  content: "";
  /* 	border-top: 1px solid #003e6c;
	border-right: 1px solid #003e6c; */
  border-top: 1px solid #39454f;
  border-right: 1px solid #39454f;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  transition: all .2s ease-in;
}
.topic-path ul li a:hover {
  text-decoration: none;
}

.topic-path ul li br { display:none;}
.topic-path ul li div { display:inline-block;}
/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- div.page-title */
div.page-title { /* 
	margin-top: 2rem; */
  /* margin-bottom: 2rem; */
  padding-top: 1rem;
  padding-bottom: 1rem; /* background: #39454f; */
  position: relative; /* background-image: linear-gradient(0deg, #fff 0%, #e8f5fe 30%, #e8f5fe 60%, #fbe9f8 100%); */ /* background-image: linear-gradient(0deg, #fff 0%, #e8f5fe 100%); */
  border-bottom: 0.1rem solid #b3b3b3;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
}
div.page-title div.page-title-bg {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
div.page-title div.page-title-bg img {
  max-width: 10rem;
}
div.page-title div.title {
  /* border: 0.2rem solid #39454f; */
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: ; /* background: #fff; */ /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.09); */ /* border-top: 1rem solid #a4d4ed;
	border-right: 1rem solid #cba5bd;
	border-bottom: 1rem solid #e9afbd;
	border-left: 1rem solid #aed071; */
}
div.page-title div.title h1 {
  font-size: 3.0rem;
  letter-spacing: 0.125rem;
  font-weight: normal; /* display: none; */
  color: #9e005f;
}
div.page-title div.title h1 div {
  display: inline-block;
}
div.page-title div.title h1 span {
  color: #39454f;
  display: inline-block;
}
div.page-title div.description h2 {
  /* background: #fff; */
  font-weight: normal;
  text-align: left;
  padding-bottom: 1rem;
  font-size: 1.4rem;
}
div.page-title div.update {
  /* background: #f8f8f8; */
  /* color: #1e82be; */
  text-align: left;
  font-size: 1.4rem; /*
	font-family: oswald; */
}
div.page-title div.description div.number {
  border-radius: 100rem;
  border: 0.1rem solid #f0f0f0;
  display: inline-block;
  padding-left: 1rem;
  padding-right: 1rem;
  background: #f8f8f8;
  white-space: nowrap;
}
div.page-title div.description span.material-icons {
  color: #39454f;
  font-size: 1.8rem;
  vertical-align: middle;
  position: relative;
  top: -0.1rem;
}
div.page-title:after {
  /* position: absolute;
	width: calc(10rem);
	height: calc(10rem);
	content: "";
	border-radius: 3rem;
	background: linear-gradient(to right, #fde0d7 0%, #fde0d7 100%);
	border: 1rem double #fff;

	border-image: linear-gradient(to right, #333333; 0%, #3da9c4 100%);
	border-image-slice: 1;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	z-index: 0;
	opacity: 0.25; */ /* filter: blur(1rem); */
}
div.page-title:before {
  /* position: absolute;
	width: calc(10rem);
	height: calc(10rem);
	content: "";
	border-radius: 3rem;
	background: linear-gradient(to right, #e7e9f4 0%, #fff 100%);
	border: 1rem double #fff;

	border-image: linear-gradient(to right, #333333; 0%, #3da9c4 100%);
	border-image-slice: 1;
	left: 52.5%;
	top: 65%;
	transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	z-index: 1;
	opacity: 0.45; */ /* filter: blur(1rem); */
}
/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- div.map */
div.anchor-wrap {
  position: relative;
}
div.anchor-wrap a {
  position: absolute;
  top: -8rem;
}
/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  */
/* sticky する */
/* aside を表示したいときは、 .main-aside-wrap を active にする */
.main-aside-wrap {
  display: block;
  /* overflow: hidden; */
}
.main-aside-wrap main {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  position: relative;
}
.main-aside-wrap aside {
  display: none;
}
.main-aside-wrap.active {
  display: flex;
}
.main-aside-wrap.active main {
  width: 80%;
}
.main-aside-wrap.active main:after {
  position: absolute;
  top: 4rem;
  right: 0;
  width: 0.1rem;
  height: calc(100% - 8rem);
  content: "";
  background: #b3b3b3;
}
.main-aside-wrap.active aside {
  display: block;
  width: calc(100% - 80% - 4rem);
  margin-left: auto;
}
.main-aside-wrap aside div.aside-list-wrap {
  height: 100%;
}
.main-aside-wrap aside div.aside-list-wrap div.aside-list {
  position: sticky;
  top: 2rem;
  left: 0;
}
/* .contentBody {
	width: 76%;
	float: left;
	margin-right: 4%;
	background: #fff;
	box-sizing: border-box;padding: 4rem;
} */
aside {
  /* font-family: "Noto Sans JP"; */
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  margin-bottom: 4rem;
}
aside div.aside-heading {
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  margin-top: 4rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  border: 0.1rem solid #9f005d;
  border-radius: 1000rem;
  text-align: center;
  color: #9f005d;
  margin-bottom: 2rem;
}
aside div.aside-list ul li a {
  display: block;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  border-bottom: 0.1rem solid #e3e4e5;
  color: #303030;
  position: relative;
  text-decoration: none;
  transition: 0.25s all;
  font-size: 1.4rem;
}
aside a:hover {
  background: #f8f8f8;
}
aside div.aside-list ul li a:after {
  left: 0;
  transition: 0.25s all;
  border-right: 0.1rem solid #303030;
  border-top: 0.1rem solid #303030;
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transition: 0.25s all;
  z-index: 1;
  /* content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  right: 1rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transition: all 0.2s ease-in-out 0s;
  border-top: 0.15rem solid #303030;
  border-right: 0.15rem solid #303030; */
}
aside div.aside-list ul li a::before {
  /* position: absolute;
  top: 50%;
  right: 1rem;
  background: #303030;
  content: "";
  width: 1.5rem;
  height: 0.15rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%); */
}
/* */
aside div.number {
  display: none;
}
aside div.thumbnail {
  display: none;
}
aside div.category-list-details {}
aside div.update-label {
  display: none;
}
aside.topics div.update-label {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 0.5rem;
}
aside.topics div.new {
  font-size: 1.0rem;
  margin-right: 1rem;
  /* font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; */
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
  margin-right: 1rem;
  background: #f2e7ba;
  /* border: 0.1rem solid #2c3b4a; */
  color: #9f005d;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}
aside.topics div.update {
  font-size: 1.0rem;
  /* font-family: 'Noto Serif JP', YakuHanJP, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; */
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
}
aside div.heading {
  font-size: 1.4rem;
}
aside div.description {
  display: none;
}
aside div.category-labels-wrap {
  display: none;
}
aside div.category-label {
  display: none;
}
/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- div.category-list */
div.category-list {
  margin-top: 2rem;
  padding-left: 4rem;
  padding-right: 4rem;
}
div.category-list ul li a {
  display: block;
  color: #303030;
  text-decoration: none;
  position: relative;
  transition: 0.25s all;
  padding: 1rem;
}
div.category-list ul li a div.number {
  background: #2c3b4a;
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 4rem;
  height: 4rem;
  content: "";
  z-index: 10;
}
div.category-list ul li a div.number span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  color: #fff;
}
div.category-list ul li a div.category-list-details div.update-label {
  clear: both;
  overflow: hidden;
  margin-bottom: 0.5rem;
}
div.category-list ul li a div.category-list-details div.update-label div.new {
  font-size: 1.2rem;
  float: left;
  margin-right: 1rem;
  background: #f2e7ba;
  color: #9f005d;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}
div.category-list ul li a div.category-list-details div.update-label div.update {
  font-size: 1.2rem;
  float: left;
}
div.category-list ul li a div.category-list-details {}
div.category-list ul li a div.thumbnail {
  position: relative;
  margin-bottom: 1rem;
}
div.category-list ul li a div.thumbnail:before {
  position: relative;
  padding-top: 75%;
  content: "";
  display: block;
}
div.category-list ul li a div.thumbnail img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
}
div.category-list ul li a div.category-list-details div.heading {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}
div.category-list ul li a div.category-list-details div.description {
  font-size: 1.4rem;
  color: #aaa;
}
div.category-list ul li a div.category-list-details div.category-labels-wrap {
  clear: both;
  overflow: hidden;
  margin-bottom: 0.5rem;
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 0.1rem solid #333;
}
div.category-list ul li a div.category-list-details div.category-labels-wrap div.category-label {
  font-size: 1.2rem;
  float: left;
  margin-right: 1rem;
  border: 0.1rem solid #ccc;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  border-radius: 1000rem;
  background: #f0f0f0;
}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ category-list default */
div.category-list.default ul {
  display: flex;
  flex-wrap: wrap;
}
div.category-list.default ul li {
  width: 30%;
  margin-right: 4.5%;
  margin-bottom: 2rem;
  font-size: 1.6rem;
}
div.category-list.default ul li:nth-child(3n) {
  margin-right: 0;
}
div.category-list.default ul li a:hover {
  background: #f8f8f8;
}
/* default の とき 非表示にする */
div.category-list.default ul li a div.number {
  display: none;
}
div.category-list.default ul li a div.category-list-details div.update-label {
  display: none;
}
div.category-list.default ul li a div.category-list-details div.category-labels-wrap {
  display: none;
}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ category-list update */
div.category-list.update ul {
  display: block;
}
div.category-list.update ul li {
  width: 100%;
  font-size: 1.6rem;
}
div.category-list.update ul li:nth-child(3n) {
  margin-right: 0;
}
div.category-list.update ul li a {
  overflow: hidden;
  clear: both;
  border-top: 0.1rem solid #ccc;
  position: relative;
  padding-right: 4rem;
}
div.category-list.update ul li a:after {
  border-right: 0.1rem solid #9f005d;
  border-top: 0.1rem solid #9f005d;
  content: "";
  display: block;
  height: 1rem;
  right: 1rem;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
  transition: all 0.2s ease-in-out 0s;
  width: 1rem;
}
div.category-list.update ul li a:before {
  /* content: "";
  display: block;
  height: 0.1rem;
  right: 1.25rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transition: all 0.2s ease-in-out 0s;
  width: 2rem;
  background: #333; */
}
div.category-list.update ul li:last-child a {
  border-bottom: 0.1rem solid #ccc;
}
div.category-list.update ul li a:hover {
  background: #f8f8f8;
}
div.category-list.update ul li a div.thumbnail {
  position: relative;
  margin-right: 2rem;
  margin-bottom: 0;
  float: left;
  width: 20%;
  max-width: 20rem;
}
div.category-list.update ul li a div.category-list-details {
  float: left;
  width: calc(80% - 2rem);
}
div.category-list.update ul li a div.category-list-details div.category-labels-wrap {
  clear: both;
  overflow: hidden;
  margin-bottom: 0;
  padding-top: 1rem;
  margin-top: 0;
  border: none;
}
/* update の とき 非表示にする */
div.category-list.update ul li a div.number {
  display: none;
}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ category-list update.no-thumbnail */
div.category-list.update.no-thumbnail ul li a div.category-list-details {
  width: calc(100%);
}
/* update.no-thumbnail の とき 非表示にする */
div.category-list.update.no-thumbnail ul li a div.thumbnail, div.category-list.update.no-thumbnail ul li a div.number {
  display: none;
}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ category-list double */
div.category-list.double ul {
  display: flex;
  flex-wrap: wrap;
}
div.category-list.double ul li {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 2rem;
}
div.category-list.double ul li:nth-child(3n) {
  margin-right: 4%;
}
div.category-list.double ul li:nth-child(2n) {
  margin-right: 0;
}
/* double の とき 非表示にする */
div.category-list.double ul li a div.number, div.category-list.double ul li a div.update-label, div.category-list.double ul li a div.category-list-details div.category-labels-wrap {
  display: none;
}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ category-list box */
div.category-list.box ul {
  display: flex;
  flex-wrap: wrap;
}
div.category-list.box ul li {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 2rem;
  border: 0.1rem solid #9f005d;
  box-sizing: border-box;
}
div.category-list.box ul li:nth-child(3n) {
  margin-right: 4%;
}
div.category-list.box ul li:nth-child(2n) {
  margin-right: 0;
}
div.category-list.box ul li a {
  padding: 3rem;
  padding-right: 4rem;
}
div.category-list.box ul li a.saiyo {
  /* 採用情報ページはボックスの余白を小さくする */
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
}
div.category-list.box ul li a:after {
  border-right: 0.1rem solid #9f005d;
  border-top: 0.1rem solid #9f005d;
  content: "";
  display: block;
  height: 1rem;
  right: 1rem;
  position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
  transition: all 0.2s ease-in-out 0s;
  width: 1rem;
}
div.category-list.box ul li a:before {
  /* content: "";
  display: block;
  height: 0.1rem;
  right: 1.25rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transition: all 0.2s ease-in-out 0s;
  width: 2rem;
  background: #333; */
}
div.category-list.box ul li a:hover {
  background: #f8f8f8;
}
/* box の とき 非表示にする */
div.category-list.box ul li a div.thumbnail, div.category-list.box ul li a div.category-list-details div.update-label, div.category-list ul li a div.category-list-details div.description, div.category-list.box ul li a div.category-list-details div.category-labels-wrap, div.category-list.box ul li a div.number {
  display: none;
}
/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- category-list patient */
div.category-list.patient {}
div.category-list.patient div.heading h2 {
  border-bottom: 0.1rem solid #ccc;
  margin-bottom: 4rem;
  margin-top: 4rem;
  padding-bottom: 2rem;
}
div.category-list.patient ul li div.number, div.category-list.patient ul li div.update-label, div.category-list.patient ul li div.description, div.category-list.patient ul li div.category-labels-wrap {
  display: none;
}
div.category-list.patient ul {
  display: flex;
  flex-wrap: wrap;
}
div.category-list.patient ul li {
  width: 30%;
  margin-right: 4.5%;
  margin-bottom: 2rem;
  font-size: 1.6rem;
  box-sizing: border-box;
  /*   border: 0.1rem solid #ccc;
   */
  /* box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); */
  border-bottom: 0.1rem solid #f2e7ba;
  /* border-radius: 0.8rem; */
}
div.category-list.patient ul li:nth-child(3n) {
  margin-right: 0;
}
div.category-list.patient ul li a {
  display: block;
  position: relative;
  display: flex;
  flex-wrap: nowrap;
}
div.category-list.patient ul li a:after {
  right: 0;
  transition: 0.25s all;
  border-right: 0.1rem solid #b3b3b3;
  border-top: 0.1rem solid #b3b3b3;
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  transition: 0.25s all;
  z-index: 1;
}
div.category-list.patient ul li a div.thumbnail {
  position: relative;
  margin-right: 2rem;
  margin-bottom: 0;
  width: 20%;
  max-width: 20rem;
}
div.category-list.patient ul li a div.category-list-details {
  width: calc(100%);
  position: relative;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
div.category-list.patient ul li a div.thumbnail + div.category-list-details {
  width: calc(80% - 2rem);
  position: relative;
}
div.category-list.patient ul li a div.category-list-details div.heading {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- scroll- effect アニメーション */
/* addClass ではなく、はじめから つけておかないとうごかない! */
.scroll-effect-trigger {
  opacity: 0;
  transition: 1s 2s all;
  transform: translateY(4rem);
  -webkit-transform: translateY(4rem);
}
.scroll-effect-trigger.scroll-effect {
  opacity: 1;
  transform: translateY(0);
  -webkit-transform: translateY(0);
}
/*追記*/
div.category-list.patient div.heading h2 {
  width: 100%;
}
div.category-list.patient li.komochi {
  border-bottom: none;
}
div.category-list.patient li.komochi > a {
  display: none;
}
/*topFBリンクバナー用追記*/
.flex2 {display: flex;max-width: 120rem;margin-left: auto;margin-right: auto;flex-wrap: wrap;}
div.banner2 {max-width: 50%;min-width: 350px;margin-left: auto;margin-right: auto;}
div.banner2 ul {padding-top: 7rem;padding-bottom: 6rem;display: flex;justify-content: space-around;flex-wrap: wrap;;}
div.banner2 ul li {width: 44%;margin-bottom: 4%;box-shadow: 0 0 2rem 0.1rem rgba(0, 0, 0, 0.075);overflow: hidden;border-radius: 1rem;}
.fb {max-width: 50%;display: flex;justify-content: center;}
.fbsp {display: none;}
@media only screen and (max-width: 1050px) {
.fb {display: none;}
div.banner2 {max-width: 70%;margin: 0 auto;}
.flex2 {flex-wrap: wrap;}
.fbsp {;width: 100%; display: flex;justify-content: center;}
}
@media only screen and (max-width: 480px) {
.fbsp {width: 100%;display: flex;justify-content: center;}
.flex2 {flex-wrap: wrap;}
div.banner2 {max-width: 100%;}
}






.i-prev, .i_next { }
.i-next::after { content:""; position:absolute; display:block; left:calc(50% - 6px); top:calc(50% - 0.4rem); width:0.8rem; height:0.8rem; margin:0; border-top:1px solid #333; border-right:1px solid #333; transform:rotate(45deg); box-sizing:border-box; }
.i-prev::after { content:""; position:absolute; display:block; left:calc(50% - 3px); top:calc(50% - 0.4rem); width:0.8rem; height:0.8rem; margin:0; border-bottom:1px solid #333; border-left:1px solid #333; transform:rotate(45deg); box-sizing:border-box; }

.pager { width:100%; margin:clamp(1.5rem,5vw,3rem) auto; }
.pagenavi { /*text-align:center;*/ }
.pagenavi .page, .pagenavi .prev, .pagenavi .next, .pagenavi .current, .pagenavi .last, .pagenavi .page.s , .pagenavi .page.s:hover { display:inline-block; margin:5px; width:40px; height:40px; line-height:38px; background:#f9f9f9; color:#333; letter-spacing:1px; text-align:center; vertical-align:middle; border-radius:2rem; /*box-shadow:0 3px 0 rgba(0, 0, 0, 0.1); transition-delay:0s;*/ transition-duration:0.5s; transition-property:background-color, color; transition-timing-function:ease, ease; box-sizing:border-box; text-decoration:none; position:relative; }
.pagenavi .page.s { box-shadow:0 3px 0 rgba(0, 0, 0, 0.1); transition-delay:0s; transition-duration:0.25s; }
.pagenavi .prev.disable, .pagenavi .next.disable, .pagenavi .prev.disable:hover, .pagenavi .next.disable:hover { background:rgba(0, 0, 0, 0.1); box-shadow:none; cursor:default; color:#fff; }
.pagenavi .current, .pagenavi .page:hover, .pagenavi .prev:hover, .pagenavi .next:hover, .pagenavi .current:hover, .pagenavi .last:hover { background:#9e005f; color:#fff; transition-property:background-color, color; transition-timing-function:ease, ease; }
.pagenavi .next:hover .i-next::after, .pagenavi .next.disable .i-next::after { border-color:#fff; }
.pagenavi .prev:hover .i-prev::after, .pagenavi .prev.disable .i-prev::after { border-color:#fff; }

