/* 基本 */
body {
	width: 100%;
	color: #000000;
}
body.no-scroll {
	overflow: hidden;
}
div img{
	max-width: 100%;
}
img.fit {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.main-container p,
.phone-container p,
.dr-container p {
	width: 100%;
}
.ac {
	text-align: center;
}
.ar {
	text-align: right;
}
.al {
	text-align: left;
}
.mgt {
	margin-top: 20px;
}
.table {
	display: table;
}

.pc {
	display: block;
}
.sp {
	display: none;
}
@media screen and (max-width: 768px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
}

/* 共通パーツ - レイアウト */
.slick-list {
	margin-bottom: 80px;
}
.box-mid {
	width: 1280px;
	max-width: 96%;
	margin: 0 auto 80px;
	display: flex;
	flex-wrap: wrap;
}
.box-mid-foot {
	width: 1280px;
	max-width: 96%;
	margin: 0 auto 30px;
	display: flex;
	flex-wrap: wrap;
}
.box-full {
	width: 100%;
	margin: 0 auto 80px;
	display: flex;
	flex-wrap: wrap;
}
.box-full .cont-mid {
	width: 1280px;
	max-width: 96%;
	margin: 0 auto;
}
.box-mid .cont-full,
.box-full .cont-full {
	width: 100%;
}
.box-mid .cont-half,
.box-full .cont-half {
	width: 50%;
}
.box-mid .cont-quar,
.box-full .cont-quar {
	width: 23%;
}
.box-mid .cont-one {
	width: 15%;
}
.box-mid .cont-two {
	width: 20%;
}
.box-mid .cont-three {
	width: 30%;
}
.box-mid .cont-three.table {
	padding: 1em 3em 1em 0;
}
.box-mid .cont-four {
	width: 40%;
}
.box-mid .cont-six {
	width: 60%;
}
.box-mid .cont-seven {
	width: 70%;
}
.box-mid .cont-eight {
	width: 80%;
}
.box-mid .cont-nine {
	width: 85%;
}

.img_r{
    margin:0;
    padding: 10px 0 30px 60px;
}
.img_l{
    margin:0;
    padding: 10px 60px 30px 0;
}


@media screen and (max-width: 768px) {
	.slick-list {
		margin-bottom: 50px;
	}
	.box-mid {
		max-width: 90%;
	}
    .box-mid-foot {
		max-width: 90%;
	}
	.box-mid,
	.box-full {
		margin: 0 auto 50px;
	}
	.box-mid .cont-half,
	.box-full .cont-half,
	.box-mid .cont-three,
    .box-mid .cont-four,
	.box-mid .cont-seven,
    .box-mid .cont-six,
    .box-mid .cont-one,
    .box-mid .cont-nine {
		width: 100%;
	}
	.box-mid .cont-quar,
	.box-full .cont-quar {
		width: 48%;
		margin-bottom: 15px;
	}
	.box-mid .cont-three.table {
		padding: 3em 0 0;
	}
        .img_r{
    margin:10px 0 0 0;
    padding: 0;
    width: 100%;
}
        .img_l{
    margin:10px 0 0 0;
    padding: 0;
    width: 100%;
}
}

/* 共通パーツ - リスト */
.main-container ul,ol {
	width: 100%;
}
.main-container ul {
	padding-left: 0;
	list-style: none;
}
.main-container ul li {
	position: relative;
	margin-bottom: 5px;
	padding-left: 20px;
}
.main-container ul li:before {
	content: "";
	position: absolute;
	top: .6em;
	left: 0;
	width: 15px;
	height: 15px;
	background-color: #d59eab;
	border-radius: 50%;
}
.main-container ul.brd li {
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: solid 1px #cccccc;
}

/* フォント */
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	line-height: 2em;
}
.txs {
	font-size: 14px;
}
.ins-title p {
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 34px;
	font-weight: normal;
	line-height: 1.2em;
	margin: 0 auto;
}
.ins-title p span {
	font-size: 24px;
    padding: 0 0 10px 0;
}
.main-container h1 {
	font-size: 24px;
	font-weight: normal;
	color: #ffffff;
	width: 100%;
	padding: 50px 35px;
	background-color: #574192;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}
h2 {
	font-size: 22px;
	font-weight: normal;
	width: 100%;
	padding-bottom: 10px;
	border-bottom: solid 2px #cccccc;
	position: relative;
}
h2:before {
	content: '';
	width: 15%;
	left: 0;
	bottom: -2px;
	border-bottom: 2px solid #44237e;
	position: absolute;
}
h2.nb {
	border-bottom: none;
}
h2.nb:before {
	border-bottom: none;
}

h2.ac {
	margin: 0 auto 50px;
}
.toppage h2 {
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 24px;
	font-weight: normal;
	color: #44237e;
	margin: 0 0 30px;
}
h3 {
	font-size: 18px;
	font-weight: 500;
	width: 100%;
	padding: 15px 20px;
	background: #f0f0fb;
}
h4 {
	font-size: 18px;
	font-weight: 500;
}
.cont-three h3 {
	text-align: center;
	display: table-cell;
	vertical-align: middle;
}

.tel-body span {
	font-size: 28px;
}

.footer-title {
	font-size: 18px;
	font-weight: bold;
}
.footer-link {
	font-size: 14px;
}
.footer-copy p {
	font-size: 12px;
}

@media screen and (max-width: 768px) {
    body {
	font-size: 15px;
}
    .ins-title p {
	font-size: 28px;
	padding: 25px 30px;
}
	.ins-title p span {
		font-size: 16px;
	}
	.main-container h1 {
		padding: 20px 100px 20px 20px;
        font-size: 20px;
	}
    h2 {
		font-size: 18px;
	}
	h2.ac {
		margin: 0 auto 25px;
	}
	h2:before {
		width: 27%;
	}
}

@media screen and (max-width: 768px) {
 h3 {
		font-size: 17px;
	}   
}

/* リンク - 共通 */
a,
a:visited {
	color: #000000;
	text-decoration: none;
	transition: .3s;
}
a:hover {
	color: #a594c5;
	text-decoration: underline;
	text-underline-offset: 3px;
}

a:hover img {
	opacity: 0.6;
  filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	transition: .4s;
}
a.txt-link,
a.txt-link:visited{
	color: #44237e;
    text-decoration: underline;
}
a.txt-link:hover{
	color: #a594c5;
    text-decoration: underline;
}
a.title-link,
a.title-link:hover {
	color: #44237e;
}
a.title-link:hover {
	color: #a594c5;
    text-decoration: none;
}

a.title-link::after {
	content: '';
	width: 8px;
	height: 8px;
	margin-left: 20px;
	display: inline-block;
	border-right: solid 1px #44237e;
	border-bottom: solid 1px #44237e;
	transform: translate(-50%, -50%) rotate(-45deg);
}
ul li a,
ul li a:hover,
ul li a:visited {
	color: #44237e;
}
ul li a:hover{
	color: #a594c5;
}

/* リンク - ナビメニュー PC / パンくず */
#navigation_pc a,
#navigation_pc a:hover,
#navigation_pc a:visited,
.breadcrumb a,
.breadcrumb a:hover,
.breadcrumb a:visited {
	color: #000000;
    padding:10px;
    text-decoration: none;
}

#navigation_pc a:hover{
	color: #fff;
    /*background: #f2f2f2;*/ /* メガメニューの背景色 */
    padding:10px;
}

.breadcrumb a:hover{
	color: #a594c5;
    /*background: #f2f2f2;*/ /* メガメニューの背景色 */
    padding:10px;
}

.toppage #navigation_pc a,
.toppage #navigation_pc a:hover,
.toppage #navigation_pc a:visited {
	color: #ffffff;
}
.toppage #navigation_pc a:hover {
	color: #fff;
}

/* リンク - ナビメニュー SP */
#navigation_sp a,
#navigation_sp a:hover,
#navigation_sp a:visited {
	color: #3f287b;
	text-decoration: none;
}
#navigation_sp a::before {
	content: '';
	width: 8px;
	height: 8px;
	margin-right: 5px;
	display: inline-block;
	border-right: solid 1px #44237e;
	border-bottom: solid 1px #44237e;
	transform: translate(-30%, -30%) rotate(-45deg);
}

/* リンク - TOP - ニュース */
.news-text a {
	color: transparent;
	background: linear-gradient(to right, #a594c5 50%, #000 50%) 100%;
	background-clip: text;
	background-size: 200% 100%;
	transition: background-position 0.8s;
}
.news-text a:hover {
	background-position: 0 100%;
}

/* リンク - TOP - 研究内容 */
a.kenkyu-link,
a.kenkyu-link:visited {
	color: #fff;
}
a.kenkyu-link:hover .kenkyu-link-box {
	opacity: 0.7;
	transition: .3s;
	z-index: 10;
}
a.kenkyu-link:hover img {
	opacity: 0.8;
	transition: .3s;
	z-index: 5;
}

/* リンク - 中ページ */
.link-arrow,
.link-arrow:hover,
.link-arrow:visited {
	color: #44237e;
	padding-left: 24px;
	position: relative;
}
.link-arrow:hover {
	color: #a594c5;
}

.link-arrow::before {
	content: '';
	width: 8px;
	height: 8px;
	display: inline-block;
	border-right: solid 1px #44237e;
	border-bottom: solid 1px #44237e;
	position: absolute;
	top: 50%;
	left: 7px;
	transform: translate(-50%, -50%) rotate(-45deg);
}
.link-out,
.link-out:hover,
.link-out:visited {
	color: #44237e;
	padding-left: 0;
}
.link-out:hover {
	color: #a594c5;
}

.link-out svg {
	width: 16px;
	height: 16px;
	margin-right: 8px;
}
.dr-button-link a,
.dr-button-link a:visited {
	color: #44237e;
}
.dr-button-link a:hover {
	color: #ffffff;
	text-decoration: none;
	background: #9b8aba;
	border: solid 1px #9b8aba;
}
.dr-button-link a .fa-window-restore {
	color: #44237e;
}
.dr-button-link a .fa-file-pdf {
	color: #b74849;
}
.dr-button-link a:hover .fa-window-restore,
.dr-button-link a:hover .fa-file-pdf {
	color: #ffffff;
}


/* リンク - フッター */
footer a,
footer a:visited {
	color: #000000 !important;
}
footer a:hover {
	color: #a594c5 !important;
	text-decoration: underline!important;
}
.footer-link {
	text-decoration: underline;
	text-underline-offset: 3px;
	position: relative;
}
.footer-link:hover {
	text-decoration: underline !important;
}
a.footer-link::after {
	content: '';
	width: 8px;
	height: 8px;
	display: inline-block;
	border-right: solid 1px #000;
	border-bottom: solid 1px #000;
	transform: translate(-50%, -50%) rotate(-45deg);
	position: absolute;
	top: 48%;
	right: -15px;
}
a.footer-link:hover::after {
	border-right: solid 1px #5d5d5d;
	border-bottom: solid 1px #5d5d5d;
}
/* リンク - ページトップボタン */
#page-top {
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}

/* リンク - ボタン */
.button-link {
	margin-top: 30px;
	text-decoration: none;
}
.button-link a {
	color: #44237e;
	text-align: center;
	padding: 10px 60px;
	display: inline-block;
	border: solid 1px #44237e;
	border-radius: 30px;
	position: relative;
	transition: .3s;
}
.button-link a:hover {
	color: #fff;
	text-decoration: none;
	background: #9b8aba;
	border: solid 1px #9b8aba;
}
.button-link a::after {
	content: '';
	width: 8px;
	height: 8px;
	display: inline-block;
	border-right: solid 1px #44237e;
	border-bottom: solid 1px #44237e;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(-50%, -50%) rotate(-45deg);
}
.button-link a:hover::after {
	border-right: solid 1px #fff;
	border-bottom: solid 1px #fff;
}

@media screen and (max-width: 768px) {
	.button-link a {
		width: 100%;
	}
}

/* ヘッダー */
header {
	width: 100%;
	padding: 1.5% 1.5% 0.7% 1.5%;
	background: #ffffff;
	display: flex;
	flex-wrap: wrap;
	top: 0;
	z-index: 20;
}
.toppage header {
	background: none;
	position: absolute;
}
header #logo {
	width: 280px;
	height: auto;
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
	header {
		padding: 0;
	}
	header #logo {
		width: 55%;
		margin: 20px 0 0 5%;
	}
	header.scrolled {
		/*position: fixed;*/
        position: absolute;
	}
	.toppage header.scrolled {
		background-image: linear-gradient(#000000cc, #0000004d 80%, transparent);
	}
}

/* ナビメニュー PC */
#navigation_pc {
	width: calc(100% - 280px);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
#navigation_pc ul {
	margin: 0 0 10px;
	padding-left: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
#navigation_pc ul#upper-navi {
	max-width: 100%;
	width: 770px;
    font-size: 0.9em;
}
#navigation_pc ul#lower-navi {
	width: 770px;
}
#navigation_pc ul li {
	margin-left: 20px;
}
@media screen and (max-width: 870px) {
#navigation_pc ul li {
	margin-left: 0px;
}
}

@media screen and (max-width: 768px) {
	#navigation_pc {
		display: none;
	}
}

/* サブメニュー */
/*.mega__menu {
position: relative;
}*/
ul.mega__menu-second {
  visibility: hidden;
  opacity: 0;
    z-index: 999;
}
ul.mega__menu-second li {
font-size: 0.9em;
}

.header__menu li:hover {
  /*background: #f2f2f2;*/ /* メニューの背景色 */
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
    /*padding:10px;*/
    background-image: linear-gradient(90deg, #f1bfa6, #9a99c6);
}
.header__menu .mega__menu li:hover {
  background: none; /* メニューの背景色 */
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
li.mega__menu ul.mega__menu-second {
  position: absolute;
  /*top: 51px;*/
  right:0;
    /*left:0;*/
     margin: 0 auto;
  width: auto;
  background: #f2f2f2; /* メガメニューの背景色 */
  padding: 15px 20px 20px 40px;
  box-sizing: border-box;
  text-align: center;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
    text-align: center;
    background-image: linear-gradient(90deg, #f1bfa6, #9a99c6);
}
li.mega__menu:hover ul.mega__menu-second {
  /*top: 51px;*/
  visibility: visible;
  opacity: 1;
}
.mega__menu-second li a {
color: #fff !important;
}
.mega__menu-second li a:hover {
color: #000 !important;
}

/* ナビメニュー SP */
/* ナビメニュー SP ボタン */
#navigation_sp_button {
	width: 40px;
	height: 30px;
	margin: 25px 5% 20px calc(35% - 40px);
	display: none;
	flex-direction: column;
	justify-content: space-between;
	cursor: pointer;
	position: relative;
	z-index: 1001;
}
#navigation_sp_button span {
	width: 100%;
	height: 2px;
	background-color: #000000;
	display: inline-block;
	transition: transform 0.3s ease;
	transform: scale(1) translateY(0);
	opacity: 1;
}
.toppage #navigation_sp_button span {
	background-color: #ffffff;
}
#navigation_sp_button.open span:first-child {
	transform: rotate(45deg) translate(12px, 12px);
}
#navigation_sp_button.open span:nth-child(2) {
	opacity: 0;
	transition: .3s;
}
#navigation_sp_button.open span:last-child {
	transform: rotate(-45deg) translate(8px, -8px);
}
@media screen and (max-width: 768px) {
	#navigation_sp_button {
		display: flex;
	}
}
/* ナビメニュー SP メニュー */
#navigation_sp {
	width: 100%;
	padding: 5px 5% 40px;
	overflow: auto;
	display: none;
//	display: block;
	background: #e8dbf1;
	z-index: 20;
}
#navigation_sp.open {
	display: block;
}
#navigation_sp ul {
	list-style: none;
	padding-left: 0;
}
#navigation_sp ul ul {
	padding-left: 15px;
}
#navigation_sp li {
	padding: 8px 0;
	border-bottom: solid 1px #3f287b;
}
#navigation_sp li.nbd {
	border-bottom: none;
}
@media screen and (max-width: 768px) {
	#navigation_sp {
		display: none;
	}
}

/* メイン */
main {
	z-index: 5;
}

/* TOP - スライダー */
.slick-list {
	z-index: 0;
}
.slick-prev,
.slick-next {
	z-index: 10;
	width: 40px;
	height: 40px;
}
.slick-prev {
	left: 40px;
}
.slick-next {
	right: 0px;
}
.slick-prev::before,
.slick-next::before {
	content: '';
	width: 23px;
	height: 23px;
	border-left: 4px solid #fff;
	border-bottom: 4px solid #fff;
	display: block;
	opacity: 1;
}
.slick-prev::before {
	transform: translate(-50%, -50%) rotate(45deg);
}
.slick-next::before {
	transform: translate(-50%, -50%) rotate(-135deg);
}
.slick-dots {
	bottom: 20px;
}
.slick-dots li {
	width: 12px;
	height: 12px;
	background: #fff;
	border-radius: 6px;
}
.slick-dots li.slick-active {
	background: #ff9999;
}
.slick-dots li button::before {
	content: '';
}
@media screen and (max-width: 768px) {
	.slick-prev,
	.slick-next {
		display: none !important;
	}
	.slick-dotted.slick-slider {
		margin-bottom: 0;
	}
}

/* TOP - お知らせ */
.top-news {
	display: block;
}
.news-line {
	border-bottom: solid 1px #bfbfbf;
	display: flex;
	flex-wrap: wrap;
}
.news-line .news-date {
	width: 160px;
}
.news-line .news-text {
	width: calc(100% - 160px);
}
.new {
  color: #ff6600;
  font-weight:500;
    margin-left: 20px;
}

@media screen and (max-width: 768px) {
	.news-line .news-date {
		width: 100%;
		margin-bottom: 0.1em;
	}
	.news-line .news-text {
		width: 100%;
		margin-top: 0.5em;
	}
}

/* TOP - 教授あいさつ */
.aisatsu-left {
	padding: 100px 6%;
	background-image: linear-gradient(90deg, #f5e3ea, #d2c7f1);
}
@media screen and (max-width: 768px) {
	.aisatsu-left {
		padding: 30px 6% 40px;
		order: 1;
	}
	.aisatsu-right {
		order: 0;
	}
}


/* TOP - スタッフ紹介 */
.staff-left {
	width: 48%;
	padding-right: 2%;
}
.staff-right {
	width: 48%;
	padding-top: 20px;
	padding-left: 2%;
}
@media screen and (max-width: 768px) {
	.staff-right {
		padding: 15px 0 0;
	}
}

/* TOP - 研究内容 */
.top-kenkyu {
	padding: 80px 0;
	background: url('../img/top/research_bg.jpg') no-repeat top center;
	background-size: cover;
}
.kenkyu-left {
	padding: 0 1% 0 6%;
	position: relative;
}
.kenkyu-right {
	padding: 0 6% 0 1%;
	position: relative;
}
.kenkyu-link-box {
	color: #fff;
	text-align: center;
	/*width: 160px;*/
	padding: 20px 20px;
	background: #44237e;
	opacity: 0.9;
	display: block;
	position: absolute;
	top: 48%;
	left: 55%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transition: .3s;
}
.kenkyu-right .kenkyu-link-box {
	left: 45%;
}

@media screen and (max-width: 768px) {
	.top-kenkyu {
		padding: 50px 0 20px;
	}
	.kenkyu-left,
	.kenkyu-right {
		padding: 0 5%;
	}
	.kenkyu-link-box,
	.kenkyu-right .kenkyu-link-box {
		left: 50%;
        top: 43%;
        width: 70%;
	}
}

/* TOP - アバウト */
.about-left {
	width: 48%;
	padding-right: 2%;
}
.about-right {
	width: 48%;
	padding-left: 2%;
}
.about-left img,
.about-right img {
	width: 600px;
	max-width: 100%;
}
.about-left h2,
.about-right h2 {
	margin: 0.5em 0;
}

/* TOP - レジデント希望 */
	.top-resident {
		margin-bottom: 0;
	}
.resident-right {
	width: 48%;
	padding: 100px 0 100px 2%;
	background-image: linear-gradient(90deg, #ebeaf9, #ecf3fb);
}
.resident-right p {
	width: 93%;
	max-width: 600px;
}

@media screen and (max-width: 768px) {
	.resident-right {
		padding: 30px 5% 40px;
	}
	.resident-right p {
		width: 100%;
	}
}

/* TOP - バナーエリア */
.banner-area {
	padding: 80px 0;
	background: #f6f6f6;
}
.top-banner {
	justify-content: space-between;
	margin-bottom: 0;
}
.top-banner .cont-quar {
	text-align: center;
	background: #fff;
}

@media screen and (max-width: 768px) {
	.banner-area {
		padding: 40px 0 25px;
	}
}

/* 中ページ - コーナ―タイトル */
.ins-title {
	position: relative;
}
.ins-title img {
	width: 100%;
	min-height: 200px;
	object-fit: cover;
}
.ins-title p {
	text-align: center;
	padding: 25px 45px 35px 45px;
	background: #fafbfb;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	opacity: 0.9;
}

@media screen and (max-width: 768px) {
	.ins-title {
		margin-bottom: 30px;
	}
        .ins-title p {
	padding: 20px 20px 25px 20px;
}
}

/* 中ページ - パンくず */
.breadcrumb {
	width: 96%;
	max-width: 1686px;
	margin: 15px auto 50px;
    font-size: 85%;
}

/* 中ページ - タブ */
.tab-container {
	margin-bottom: 50px;
	justify-content: space-between;
}
.tab-container .tab {
	text-align: center;
	width: 49.5%;
	padding: 5px;
	background: #f6f6f6;
	display: inline-block;
	position: relative;
}
.tab-container .tab:hover,
.tab-container .tab.act {
	color: #ffffff;
	text-decoration: none;
	background-image: linear-gradient(90deg, #f1bfa6, #9a99c6);
}
.tab-container .tab.act {
	pointer-events: none;
}
.tab-container .tab:hover::before,
.tab-container .tab.act:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #c5acb6;
}

@media screen and (max-width: 768px) {
	.tab-container {
		margin-bottom: 20px;
	}
	.tab-container .tab {
		color: #44237e;
		width: 100%;
	}
	.tab-container .tab::after {
		content: '';
		width: 8px;
		height: 8px;
		display: inline-block;
		border-right: solid 1px #44237e;
		border-bottom: solid 1px #44237e;
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.tab-container .tab.act {
		display: none;
	}
}

/* 中ページ - 電話番号エリア */
.phone-container {
	margin-bottom: 50px;
	justify-content: space-between;
}
.cont-half.tel {
	text-align: center;
	width: 48%;
	border: solid 1px #b8b8b8;
}
.cont-half.tel .tel-title {
	font-weight: bold;
	background: #f6f6f6;
}
.cont-half.tel .tel-title p {
	margin: 0;
	padding: 7px;
	border-bottom: solid 1px #b8b8b8;
}

@media screen and (max-width: 768px) {
	.cont-half.tel {
		width: 100%;
	}
	.cont-half.tel.left {
		margin-bottom: 20px;
	}
}

/* 中ページ - 先生方へ */
.dr-container {
	margin-bottom: 80px;
	padding: 20px;
	background: #f6f6f6;
}
.dr-container p {
	text-align: center;
	width: 100%;
}
.dr-container p.dr-title {
	font-size: 20px;
}
.dr-container a,
.dr-container a:visited {
	color: #44237e;
	text-decoration: none;
	transition: .3s;
}
.dr-container a:hover {
	color: #a594c5;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.dr-buttons {
	width: 82%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.dr-buttons p {
	width: 30%;
}

.dr-button-link a {
	width: 100%;
	border: solid 1px #44237e;
	border-radius: 30px;
	display: inline-block;
	position: relative;
    padding: 5px 2.5em;
}
.dr-button-link .fa-window-restore,
.dr-button-link .fa-file-pdf {
	width: 16px;
	height: 16px;
	position: absolute;
	top: 12px;
	right: 15px;
}

.dr-container2 {
    margin-top: 70px;
	margin-bottom: 80px;
	padding: 20px 40px;
	background: #f6f6f6;
}
.dr-container2 p {
	text-align: left;
}
.dr-container2 p.dr-title {
	font-size: 20px;
}
.dr-container2 .tel-body{
    margin: 2vw auto 0 auto;
    text-align: center;
}
.dr-container2 .tel-body p{
    margin: 0 auto;
    text-align: center;
}

.link-container2 {
    width: 100%;
	margin-bottom: 0px;
	padding: 0px;
	background: #ffffff;
}
.link-container2 p {
	text-align: center;
	width: 100%;
}
.link-buttons {
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.link-buttons p {
	width: 32%;
}
.link-buttons .half {
	width: 48%;
}
.link-buttons .button-link a {
    padding: 5px 2em;
    margin: 0;
	width: 100%;
}

@media screen and (max-width: 768px) {
    .dr-container {
	margin-bottom: 50px;
}
    .dr-container p.dr-title {
	font-size: 18px;
}
	.dr-buttons {
		width: 100%;
		flex-direction: column;
	}
	.dr-buttons p {
		width: 96%;
		margin: 10px auto;
	}
	.dr-button-link a {
		padding: 7px 0;
	}
	.dr-button-link .fa-window-restore,
	.dr-button-link .fa-file-pdf {
		width: 20px;
		height: 20px;
		top: 12px;
		right: 25px;
	}
            .dr-container2 {
            margin-top: 50px;
	margin-bottom: 50px;
            padding: 20px 30px;
}
            .link-container2 {
	margin-bottom: 0px;
}
	.link-buttons {
		width: 100%;
		flex-direction: column;
	}
	.link-buttons p {
		width: 96%;
		margin: 10px auto;
	}
    .link-buttons .half {
	width: 96%;
        margin: 10px auto;
}
}

/* 中ページ - リンク */
.link-container {
	justify-content: space-between;
}
.link-container .cont-half {
	width: 49%;
	display: flex;
}
.link-container .cont-six a,
.link-container .cont-six a:visited {
	font-size: 20px;
	text-align: left;
	vertical-align: middle;
	padding: 0 50px 0 35px;
	background: #f0f0fb;
	display: table-cell;
	position: relative;
}
.link-container .cont-six a:hover {
	color: #ffffff;
	text-decoration: none;
	background: #9b8aba;
}
.link-container .cont-six a::after {
	content: '';
	width: 8px;
	height: 8px;
	display: inline-block;
	border-right: solid 1px #44237e;
	border-bottom: solid 1px #44237e;
	transform: translate(-50%, -50%) rotate(-45deg);
	position: absolute;
	top: 50%;
	right: 30px;
}
.link-container .cont-six a:hover::after {
	border-right: solid 1px #ffffff;
	border-bottom: solid 1px #ffffff;
}
@media screen and (max-width: 768px) {
	.link-container {
		flex-direction: column;
	}
	.link-container .cont-half {
		width: 100%;
		margin-bottom: 15px;
        display: block;
	}
	.link-container .cont-six a,
	.link-container .cont-six a:visited {
        font-size: 18px;
	padding: 1em 55px 1em 15px;
	}
}

/* 中ページリスト */
.msg {
	font-size: 18px;
}
ol {
    padding-left: 30px;
    margin: 20px 0;
}
.msg li {
    font-weight: 600;
    color: #44237e;
    margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
.msg {
	font-size: 16px;
}
}

/* フッター */
footer {
	width: 100%;
	padding: 1.5% 0;
	z-index: 10;
	background: #e8dbf1;
}
.footer-copy {
	margin: 0 auto 50px;
}
.footer-access {
	width: 28%;
}
.footer-menu {
	width: 18%;
    font-size: 85%;
}
.footer-menu ul {
	padding-left: 0;
	list-style: none;
}
.footer-menu ul li {
//	margin-bottom: 10px;
}

.footer-copy {
	margin-bottom: 0;
	padding: 15px 0;
	border-top: solid 1px #aca3b9;
}

@media screen and (max-width: 768px) {
	.footer-access {
		width: 100%;
		margin-bottom: 20px
	}
	.footer-menu {
		width: 50%;
	}
	.footer-menu ul {
		margin: 0;
	}
}

/* ページトップボタン */
/*#page-top {
	width: 80px;
	height: 80px;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 15;
	transition: opacity 0.3s ease, background-color 0.3s ease;
	opacity: 0;
	visibility: hidden;
	display: flex;
	background-color: #9180b8;
	position: fixed;
	right: 0;
	bottom: 0;
}
#page-top::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%) rotate(-45deg);
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
*/


/* 表示状態 */
#page-top.show {
	opacity: 1;
	visibility: visible;
}

/* ホバー時 */
#page-top:hover {
	background-color: #7a6a9f;
}

/* マージン */
.ct_mb10 {
margin-bottom:10px;
}
@media only screen and (max-width: 768px) {
.ct_mb10 {
margin-bottom:10px;
}
}
.ct_mb20 {
margin-bottom:20px;
}
@media only screen and (max-width: 768px) {
.ct_mb20 {
margin-bottom:10px;
}
}
.ct_mb30 {
margin-bottom:30px;
}
@media only screen and (max-width: 768px) {
.ct_mb30 {
margin-bottom:15px;
}
}
.ct_mb40 {
margin-bottom:40px;
}
@media only screen and (max-width: 768px) {
.ct_mb40 {
margin-bottom:40px;
}
}
.ct_mb50 {
margin-bottom:50px;
}
@media only screen and (max-width: 768px) {
.ct_mb50 {
margin-bottom:25px;
}
}
.ct_mb60 {
margin-bottom:60px;
}
@media only screen and (max-width: 768px) {
.ct_mb60 {
margin-bottom:30px;
}
}
.ct_mb80 {
margin-bottom:80px;
}
@media only screen and (max-width: 768px) {
.ct_mb80 {
margin-bottom:40px;
}
}
.ct_mb100 {
margin-bottom:100px;
}
@media only screen and (max-width: 768px) {
.ct_mb100 {
margin-bottom:50px;
}
}
.ct_mb120 {
margin-bottom:120px;
}
@media only screen and (max-width: 768px) {
.ct_mb120 {
margin-bottom:60px;
}
}
.ct_mt70 {
margin-top:70px;
}
@media only screen and (max-width: 768px) {
.ct_mt70 {
margin-top:30px;
}
}
.ct_mt60 {
margin-top:60px;
}
@media only screen and (max-width: 768px) {
.ct_mt60 {
margin-top:30px;
}
}
.ct_mt50 {
margin-top:50px;
}
@media only screen and (max-width: 768px) {
.ct_mt50 {
margin-top:30px;
}
}
.ct_mt40 {
margin-top:40px;
}
@media only screen and (max-width: 768px) {
.ct_mt40 {
margin-top:20px;
}
}
.ct_mt30 {
margin-top:30px;
}
@media only screen and (max-width: 768px) {
.ct_mt30 {
margin-top:30px;
}
}
.ct_mt20 {
margin-top:20px;
}
@media only screen and (max-width: 768px) {
.ct_mt20 {
margin-top:20px;
}
}
.ct_mt15 {
margin-top:15px;
}
@media only screen and (max-width: 768px) {
.ct_mt15 {
margin-top:15px;
}
}

.red {
    color: #990000;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
    width: 100%;
}
.hr1 {
  border-top: 1px solid #ccc;
    margin: 40px 0 20px 0;
}

@media only screen and (max-width: 768px) {
 .hr1 {
    margin: 20px 0 0 0;
}   
}


/* ページトップボタン */
.pagetop a {
  position: fixed;
  right: 0px;
  bottom: 0px;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  /*opacity: 0.8;*/
  z-index: 9999;
}
.pagetop a:hover {
 opacity: 0.8;
}
.pagetop img {
width:75px;
}

@media (max-width: 768px) {	
.pagetop a {
  position: fixed;
  right: 0px;
  bottom: 0px;
  z-index: 9999;
   opacity: 0.8 !important;
}
.pagetop a:visited {
 opacity: 0.8 !important;
}
.pagetop a:active {
 opacity: 0.8 !important;
}
.pagetop a:hover {
 opacity: 0.8 !important;
}
.pagetop img {
width:65px;
position: fixed;
  right: 0px;
  bottom: 0px;
}