/** @format */

@charset "utf-8";

/*
 style.css
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 62.5%;
	line-height: 1.5;
	overflow-x: hidden;
}
body {
	color: #313131;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
		"游ゴシック", "Yu Gothic", sans-serif;
	overflow-x: hidden;
}
img {
	max-width: 100%;
	vertical-align: top;
}
a {
	color: #4e73aa;
	text-decoration: underline;
	transition: 0.2s;
	cursor: pointer;
}

ol,
ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption,
th,
td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}

q,
blockquote {
	quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
	content: "";
	content: none;
}

a img {
	border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

input,
textarea {
	box-sizing: border-box;
	/*	-webkit-appearance: none;*/
	max-width: 100%;
}

input[type="checkbox"] {
	-webkit-appearance: checkbox;
}

/* tel */
@media print, screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/* -----------------------------------------------

= 全ページ共通

----------------------------------------------- */

/* = 共通パーツ
----------------------------------------------- */

@media print, screen and (min-width: 768px) {
	/* PC */
	html {
		min-width: 1140px;
		font-size: 10px;
	}
	html.font-large {
		font-size: 12px;
	}
	body {
		font-size: 1.5rem;
	}
	.sp {
		display: none !important;
	}
	a:hover {
		text-decoration: none;
	}
}

@media print, screen and (max-width: 1140px) {
	html {
		overflow: scroll;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	html {
		font-size: calc(100vw / 75);
	}
	body {
		font-size: 2.6rem;
	}
	.pc {
		display: none !important;
	}
}

/* = ヘッダー
----------------------------------------------- */

.header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.header a {
	text-decoration: none;
}
/* ロゴ */
.header .container .logo a {
	display: block;
}
/* サイト内検索 */
.header .container .search {
	position: relative;
	border: 1px solid #e5e5e5;
	border-radius: 2px;
}
.header .container .search::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 8px;
	width: 15px;
	height: 15px;
	margin: auto;
	background-image: url(../img/shared/icon_search.svg);
	background-repeat: no-repeat;
	background-size: 15px 15px;
}
.header .container .search input {
	border: 0;
	border-right: 1px solid #e5e5e5;
	background-color: #f6f6f6;
	-webkit-appearance: none;
}
.header .container .search input::placeholder {
	color: #a0a0a0;
}
.header .container .search button {
	color: #4e73aa;
	font-weight: bold;
	text-align: center;
}
/* 文字サイズ変更ボタン */
.header .container .font {
	display: flex;
	align-items: center;
}
.header .container .font dd {
	display: flex;
	justify-content: space-between;
	border: 1px solid #e5e5e5;
	border-radius: 2px;
}
.header .container .font dd button {
	background-color: #f6f6f6;
	color: #aaaaaa;
}
.header .container .font dd button:first-child {
	border-right: 1px solid #e5e5e5;
}
.header .container .font dd button.active {
	background-color: #fff;
	color: #313131;
}
/* 電話番号・英文 */
.header .container .info .tel {
	position: relative;
	font-weight: bold;
}
.header .container .info .tel::before {
	content: "";
	display: block;
	position: absolute;
	top: 13px;
	left: 0;
	width: 17px;
	height: 14px;
	background-image: url(../img/shared/icon_tel.svg);
	background-repeat: no-repeat;
	background-size: 17px 14px;
}
.header .container .info .tel a {
	color: #313131;
}
.header .container .info .en {
	color: #d72d20;
	font-family: "Oswald", sans-serif;
	text-align: right;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.header .container {
		max-width: 1100px;
		height: 80px;
		margin: 0 auto;
		padding: 0 20px;
	}
	/* ロゴ */
	.header .container .logo {
		width: 280px;
	}
	/* ヘッダーコンテンツ大枠 */
	.header .container .h_contents {
		display: flex;
		align-items: center;
	}
	/* サイト内検索 */
	.header .container .search {
		display: flex;
		margin-right: 20px;
		font-size: 14px;
	}
	.header .container .search input {
		display: block;
		width: 180px;
		height: 35px;
		padding: 10px 10px 10px 30px;
		font-size: 1.5rem;
	}
	.header .container .search button {
		width: 60px;
		height: 35px;
		font-size: 14px;
	}
	/* 文字サイズ変更ボタン */
	.header .container .font {
		margin-right: 30px;
	}
	.header .container .font dt {
		margin-right: 15px;
	}
	.header .container .font dt,
	.header .container .font dd button {
		font-size: 1.4rem;
	}
	.header .container .font dd {
		width: 120px;
	}
	.header .container .font dd button {
		width: 50%;
		height: 30px;
	}
	/* 電話番号・英文 */
	.header .container .info .tel {
		margin: 5px 0;
		padding: 0 0 0 27px;
		font-size: 1.4rem;
	}
	.header .container .info .tel span {
		font-size: 24px;
	}
	.header .container .info .en {
		padding-right: 10px;
		font-size: 1.3rem;
	}
	/* ヘッダーナビゲーションメニュー */
	.header .g_nav {
		position: absolute;
		width: 100%;
		min-width: 1140px;
		border-top: 2px solid #d72d20;
		background-color: #bc291e;
		z-index: 999;
		transition: 2s;
	}
	.header .g_nav .wrap {
		position: relative;
	}
	.header .g_nav .wrap::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		width: 100%;
		height: 1px;
		background-color: #e35f55;
		z-index: 10;
	}
	.header .g_nav .wrap::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		width: 100%;
		height: 30px;
		background: linear-gradient(
				rgba(189, 41, 30, 1) 0%,
				rgba(189, 41, 30, 0.5) 100%
			)
			no-repeat 50% 50% / 100% 100%;
	}
	.header .g_nav.fixed {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 10;
	}
	.header .g_nav.fixed ul li a {
		padding: 12px 0;
	}
	.header .g_nav .g_menu {
		display: flex;
		align-items: center;
		justify-content: space-between;
		max-width: 1100px;
		margin: 0 auto;
		padding: 0 20px;
	}
	.header .g_nav ul {
		position: relative;
	}
	.header .g_nav ul li {
		position: relative;
		z-index: 1;
	}
	.header .g_nav ul li a {
		display: block;
		padding: 17px 0;
		color: #fff;
		font-size: 1.9rem;
		font-weight: bold;
		text-align: center;
		z-index: 1;
	}
	.header .g_nav ul li a span {
		border-left: 1px solid #db645b;
	}
	.header .g_nav ul li:last-child a span {
		border-right: 1px solid #db645b;
	}
	.header .g_nav ul li a span {
		display: block;
		width: 220px;
	}
	.header .g_nav ul li:hover a {
		background-color: #9c130a;
	}
	.header .g_nav ul li:hover a span {
		border-color: #9c130a;
	}
	.header .g_nav li:hover + li a span {
		border-left-color: #bc291e;
	}
	/*  ドロップダウンメニュー  */
	.header .g_nav .sub {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		width: 260px;
		padding: 5px 0;
		background-color: #9c130a;
		z-index: 9999;
	}
	.header .g_nav ul li .sub li {
		border-top: 1px solid #a6281f;
	}
	.header .g_nav ul li .sub li:last-child {
		border-bottom: 1px solid #a6281f;
	}
	.header .g_nav ul li .sub li a {
		position: relative;
		padding: 11px 20px;
		color: #fff;
		font-size: 1.6rem;
		text-align: left;
	}
	.header .g_nav ul li .sub li a::after {
		content: "";
		display: block;
		position: absolute;
		top: 18px;
		right: 20px;
		border-style: solid;
		border-width: 4px 0 4px 7px;
		border-color: transparent transparent transparent #fff;
	}
	.header .g_nav ul li .sub li a:hover {
		background-color: #820a02;
	}
	.header .g_nav ul li .sub li a span {
		border: 0;
	}
	.sp_menu {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.header {
		position: fixed;
		top: 0;
		width: 100%;
		background-color: #fff;
		box-shadow: 0px 5px 3px -3px rgba(0, 0, 0, 0.3);
		-webkit-box-shadow: 0px 5px 3px -3px rgba(0, 0, 0, 0.3);
		-moz-box-shadow: 0px 5px 3px -3px rgba(0, 0, 0, 0.3);
		z-index: 9999;
	}
	/* ロゴ */
	.header .logo {
		width: 46vw;
		margin-left: 4vw;
	}
	/* メニューエリア */
	.header .sp_menu {
		display: flex;
		justify-content: space-between;
	}
	.header .sp_menu .menu {
		text-align: center;
		border-left: 1px solid #dcdcdc;
	}
	.header .sp_menu .menu a {
		display: block;
		width: 14.667vw;
		height: 14.667vw;
	}
	/* アクセス */
	.header .sp_menu .access a .img {
		padding: 2.2vw 0 1.6vw 0;
	}
	.header .sp_menu .access a .img img {
		width: 4.134vw;
	}
	/* お電話 */
	.header .sp_menu .tel a .img {
		padding: 2.8vw 0 1.7vw 0;
	}
	.header .sp_menu .tel a .img img {
		width: 6vw;
	}
	.header .sp_menu .menu a p {
		color: #313131;
		font-size: 1.9rem;
		font-weight: bold;
	}
	/* ドロワーメニュー */
	.header .sp_menu .nav_btn {
		border-left: 0;
	}
	.header .nav_btn {
		position: relative;
		width: 14.667vw;
		height: 14.667vw;
		color: #fff;
		background: #bd291e;
	}
	.header .nav_btn::before,
	.header .nav_btn::after,
	.header .nav_btn span::before {
		content: "";
		display: block;
		position: absolute;
		right: 3.6vw;
		width: 7.5vw;
		height: 0.4vw;
		background: #fff;
	}
	.header .nav_btn::before {
		top: 3vw;
	}
	.header .nav_btn::after {
		top: 7vw;
	}
	.header .nav_btn span::before {
		top: 5vw;
	}
	.header .nav_btn span::after {
		content: "MENU";
		display: block;
		position: absolute;
		right: 0;
		bottom: 1.6vw;
		width: 100%;
		font-size: 2rem;
		font-weight: bold;
	}
	.header .g_nav {
		display: none;
		position: absolute;
		top: 14.667vw;
		left: 0;
		width: 100%;
		max-height: calc(100vh - 14.667vw);
		height: auto;
		color: #fff;
		background: #bd291e;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	.header .g_nav ul li a {
		color: #fff;
	}
	.header .g_nav .g_menu .sub {
		display: none;
	}
	/* opened */
	.js-gnav_opened {
		overflow: hidden;
	}
	.js-gnav_opened .header .nav_btn span:after {
		content: "閉じる";
	}
	.js-gnav_opened .header .nav_btn:before {
		top: 38%;
		right: 30%;
		width: 40%;
		transform: rotate(-45deg);
	}
	.js-gnav_opened .header .nav_btn:after {
		display: none;
	}
	.js-gnav_opened .header .nav_btn span:before {
		top: 38%;
		right: 30%;
		width: 40%;
		transform: rotate(45deg);
	}
	.header .g_nav .wrap {
		background-color: #9c130a;
	}
	.header .g_nav .g_menu {
		padding-top: 1.4vw;
	}
	.header .g_nav .g_menu li {
		border-top: 1px solid #a6281f;
	}
	.header .g_nav .g_menu li:last-child {
		border-bottom: 1px solid #a6281f;
	}
	.header .g_nav .g_menu li a {
		display: block;
		position: relative;
		padding: 3.467vw 12vw 3.467vw 5.3vw;
		font-size: 3.2rem;
		font-weight: bold;
	}
	.header .g_nav .g_menu li a::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		width: 2.4vw;
		height: 3.067vw;
		margin: auto;
		background-size: 2.4vw 3.067vw;
		background-repeat: no-repeat;
		background-image: url(../img/shared/icon_arrow07.svg);
	}
	.header .g_nav .g_menu li a::after {
		right: 5.5vw;
		transform: rotate(90deg);
	}
	.header .g_nav .g_menu li.not_sub a::after {
		transform: rotate(0deg);
	}
	.header .g_nav .g_menu .sub {
		padding: 4vw 8vw;
		background-color: #820a02;
	}
	.header .g_nav .g_menu .sub li {
		margin-bottom: 4vw;
		border: 0;
	}
	.header .g_nav .g_menu .sub li:last-child {
		margin-bottom: 0;
		border: 0;
	}
	.header .g_nav .g_menu .sub li a {
		padding: 0;
		font-size: 3rem;
	}
	.header .g_nav .g_menu .sub li a::after {
		content: none;
	}
	.header .g_nav .search {
		padding: 4vw 2.66vw;
	}
	.header .g_nav .search .inner {
		position: relative;
		display: flex;
		align-items: center;
	}
	.header .g_nav .search .inner::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 4vw;
		width: 5.334vw;
		height: 5.334vw;
		margin: auto;
		background-image: url(../img/shared/icon_search.svg);
		background-repeat: no-repeat;
		background-size: 5.334vw 5.334vw;
	}
	.header .g_nav .search input {
		display: block;
		width: 70.667vw;
		padding: 3.534vw 3vw 3.534vw 11vw;
		border-radius: 5px 0px 0px 5px;
		font-size: 3.2rem;
		border: 0;
		-webkit-appearance: none;
	}
	.header .g_nav .search input::placeholder {
		color: #a0a0a0;
	}
	.header .g_nav .search .inner button {
		width: 24vw;
		padding: 2.8vw 0;
		border-radius: 0px 5px 5px 0px;
		background-color: #740801;
		color: #fff;
		font-size: 3.2rem;
		font-weight: bold;
	}
}

/* = フッター
----------------------------------------------- */
.footer {
	position: relative;
}
.footer a {
	text-decoration: none;
}
/* リンク */
.footer .link {
	background-color: #bd291e;
}
.footer .link ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.footer .link ul li a {
	position: relative;
	color: #fff;
}
.footer .link ul li a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 6px;
	height: 11px;
	margin: auto;
	background-image: url(../img/shared/icon_arrow04.svg);
	background-repeat: no-repeat;
	background-size: 6px 11px;
}
/* 病院情報 */
.footer .hospital .container .info .wrap {
	display: flex;
	align-items: flex-end;
}
.footer .hospital .container .info .wrap .access_link a {
	position: relative;
}
.footer .hospital .container .info .wrap .access_link a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 6px;
	height: 11px;
	margin: auto;
	background-image: url(../img/shared/icon_arrow05.svg);
	background-repeat: no-repeat;
	background-size: 6px 11px;
}
.footer .hospital .container .info .tel {
	position: relative;
	font-weight: bold;
}
.footer .hospital .container .info .tel::before {
	content: "";
	display: block;
	position: absolute;
	top: 13px;
	left: 0;
	width: 17px;
	height: 14px;
	background-image: url(../img/shared/icon_tel.svg);
	background-repeat: no-repeat;
	background-size: 17px 14px;
}
.footer .hospital .container .info .tel a {
	color: #313131;
}
/* SNS */
.footer .hospital .sns li {
	background-color: #f8f8f8;
}
.footer .hospital .sns li a {
	position: relative;
}
.footer .hospital .sns li a::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 35px 35px;
	border-color: transparent transparent #eee transparent;
}
.footer .hospital .sns li a {
	display: flex;
	align-items: center;
}
.footer .hospital .sns li a p {
	color: #313131;
	font-weight: bold;
	text-align: center;
}
/* メニュー */
.footer .menu {
	background-color: #f8f8f8;
}
.footer .menu .container {
	display: flex;
}
/* ページトップ */
.pagetop {
	display: none;
	position: fixed;
	right: 70px;
	bottom: 30px;
	width: 60px;
	height: 60px;
	background-color: #c9c9c9;
	border-radius: 50%;
	cursor: pointer;
}
.pagetop::after {
	content: "";
	display: block;
	position: absolute;
	top: 37%;
	left: 37%;
	border-style: solid;
	border-width: 0 8px 13px 8px;
	border-color: transparent transparent #fff transparent;
}
/* コピーライト */
.footer .copyright {
	display: block;
	color: #959595;
	text-align: center;
}
@media print, screen and (min-width: 768px) {
	/* PC */
	.footer .container {
		max-width: 1100px;
		margin: 0 auto;
		padding: 0 20px;
	}
	/* リンク */
	.footer .link ul {
		padding: 25px 0;
	}
	.footer .link ul li {
		margin-right: 30px;
	}
	.footer .link ul li a {
		padding-left: 15px;
	}
	.footer .link ul li a:hover {
		text-decoration: underline;
	}
	/* 病院情報 */
	.footer .hospital .container {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.footer .hospital .container .info .logo {
		width: 280px;
		padding: 30px 0 20px 0;
	}
	.footer .hospital .container .info .wrap {
		margin-bottom: 10px;
	}
	.footer .hospital .container .info .wrap .address {
		margin-right: 15px;
	}
	.footer .hospital .container .info .wrap .access_link a {
		padding-left: 10px;
		text-decoration: underline;
	}
	.footer .hospital .container .info .wrap .access_link a:hover {
		text-decoration: none;
	}
	.footer .hospital .container .info .tel {
		margin-bottom: 40px;
		padding: 0 0 0 27px;
		font-size: 1.4rem;
	}
	.footer .hospital .container .info .tel span {
		font-size: 24px;
	}
	/* SNS */
	.footer .hospital .sns {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 670px;
	}
	.footer .hospital .sns li {
		width: 320px;
	}
	.footer .hospital .sns li a {
		padding: 20px 0;
	}
	.footer .hospital .sns li a:hover p {
		color: #4e73aa;
	}
	.footer .hospital .sns li a:hover::after {
		border-color: transparent transparent #517bba transparent;
	}
	.footer .hospital .sns li a img {
		width: 40px;
		margin: 0 17px;
	}
	.footer .hospital .sns li:nth-child(2) a img {
		margin-right: 30px;
	}
	.footer .hospital .sns li a p {
		font-size: 16px;
	}
	/* メニュー */
	.footer .menu .container {
		background-image: url(../img/shared/footer_menu_bg.jpg);
		background-repeat: repeat-y;
		background-position: center;
	}
	.footer .menu .container ul {
		display: flex;
		flex-direction: column;
		flex-flow: column wrap;
		width: 100%;
		height: 300px;
		padding-top: 30px;
		overflow: hidden;
	}
	.font-large .footer .menu .container ul {
		height: 365px;
	}
	.footer .menu .container ul li {
		width: 210px;
		padding: 0 32px 0 32px;
		margin-bottom: 20px;
	}
	.footer .menu .container ul li:nth-child(7n) {
		margin-bottom: 0;
	}
	.footer .menu .container ul li a:hover {
		text-decoration: underline;
	}
	/* コピーライト */
	.footer .copyright {
		padding: 25px 0;
		font-size: 1.4rem;
	}
	.pagetop:hover {
		background-color: #517bba;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.footer .container {
		padding: 0 5.32vw;
	}
	/*  リンク  */
	.footer .link ul {
		justify-content: space-between;
		padding: 4vw 0;
	}
	.footer .link ul li {
		width: 48%;
		margin-bottom: 2.66vw;
	}
	.footer .link ul li:last-child,
	.footer .link ul li:nth-last-child(2) {
		margin-bottom: 0;
	}
	.footer .link ul li a {
		padding-left: 4vw;
	}
	.footer .link ul li a::before {
		width: 1.334vw;
		height: 2.4vw;
		background-size: 1.334vw 2.4vw;
	}
	/*  病院情報  */
	.footer .hospital .container {
		padding: 7.3vw 5.32vw;
	}
	.footer .hospital .container .info .logo {
		width: 57.334vw;
		margin-bottom: 4vw;
	}
	.footer .hospital .container .info .wrap {
		margin-bottom: 4vw;
	}
	.footer .hospital .container .info .wrap .access_link {
		margin-left: 4vw;
	}
	.footer .hospital .container .info .wrap .access_link a {
		padding-left: 2.66vw;
	}
	.footer .hospital .container .info .wrap .access_link a::before {
		width: 1.2vw;
		height: 2.267vw;
		background-size: 1.2vw 2.267vw;
	}
	.footer .hospital .container .info .tel {
		margin-bottom: 7.35vw;
	}
	.footer .hospital .container .info .tel::before {
		top: 1.6vw;
		width: 4.4vw;
		height: 3.734vw;
		background-size: 4.4vw 3.734vw;
	}
	.footer .hospital .container .info .tel a {
		display: block;
		padding-left: 6.7vw;
	}
	.footer .hospital .container .info .tel span {
		line-height: 1;
		font-size: 5rem;
	}
	/* SNS */
	.footer .hospital .sns li {
		margin-bottom: 5.32vw;
	}
	.footer .hospital .sns li:last-child {
		margin-bottom: 0;
	}
	.footer .hospital .sns li::after {
		border-width: 0 0 9.334vw 9.334vw;
	}
	.footer .hospital .sns li a {
		padding: 5.934vw 4vw;
	}
	.footer .hospital .sns li a img {
		width: 11.334vw;
		margin-right: 5.32vw;
	}
	.footer .hospital .sns li a p {
		width: 64.667vw;
		font-size: 3.2rem;
	}
	/* メニュー */
	.footer .menu .container ul {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		padding: 6.7vw 0 4vw 0;
	}
	.footer .menu .container ul li {
		width: 50%;
		width: calc(100% / 2);
		margin-bottom: 2.66vw;
	}
	.footer .menu .container ul li a {
		font-size: 2.4rem;
	}
	/* コピーライト */
	.footer .copyright {
		padding: 5vw 0;
		font-size: 2rem;
	}
	/*  ページトップ  */
	.pagetop {
		right: 2.66vw;
		width: 10.667vw;
		height: 10.667vw;
	}
	.pagetop::after {
		top: 35%;
		left: 35%;
		border-width: 0 1.6vw 2.4vw 1.6vw;
	}
}

/* -----------------------------------------------

= テンプレート

----------------------------------------------- */

/* = page_ttl
----------------------------------------------- */
.page_ttl {
	position: relative;
}
.page_ttl .heading01 {
	font-family: "Yu Mincho", "YuMincho", serif;
	font-weight: 600;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.page_ttl {
		padding-top: 64px;
		background-color: #f8f8f8;
	}
	.page_ttl .inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 240px;
		overflow: hidden;
	}
	.page_ttl .heading01 {
		min-width: 440px;
		margin-left: 100px;
		font-size: 3.4rem;
	}
	.page_ttl .img {
		width: 60%;
	}
	.page_ttl .img img {
		width: 100%;
		height: 240px;
		object-fit: cover;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.page_ttl {
		padding-top: 14.667vw;
	}
	.page_ttl .inner {
		display: flex;
		flex-direction: column-reverse;
	}
	.page_ttl .inner .img {
		height: 31.334vw;
		overflow: hidden;
	}
	.page_ttl .heading01 {
		padding: 4vw 4.65vw;
		background-color: #f8f8f8;
		font-size: 4rem;
	}
}

/* = contents
------------------------------------------------ */

@media print, screen and (min-width: 768px) {
	/* PC */
	.contents .container {
		display: flex;
		justify-content: space-between;
		max-width: 1100px;
		margin: 0 auto;
		padding: 0 20px 90px 20px;
	}
	.contents .main {
		width: 780px;
	}
	.contents .side_menu {
		width: 270px;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.contents .container {
		padding: 0 2.66vw;
	}
}

/* = breadcrumbs
----------------------------------------------- */
.breadcrumbs li {
	display: inline-block;
	position: relative;
	color: #707070;
}
.breadcrumbs li::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 10px;
	height: 8px;
	margin: auto;
	background-image: url(../img/shared/icon_breadcrumb.svg);
	background-repeat: no-repeat;
	background-size: cover;
}
.breadcrumbs li:last-child::before,
.breadcrumbs li:last-child::after {
	display: none;
}
.breadcrumbs li a {
	display: inline-block;
	color: #4e73aa;
	text-decoration: none;
}
@media print, screen and (min-width: 768px) {
	/* PC */
	.breadcrumbs {
		max-width: 1100px;
		margin: 0 auto;
		padding: 20px 20px 30px 20px;
		text-align: right;
	}
	.breadcrumbs li {
		margin-right: 15px;
		padding-right: 24px;
		font-size: 1.3rem;
	}
	.breadcrumbs li:last-child {
		margin-right: 0;
		padding-right: 0;
	}
	.breadcrumbs li a:hover {
		text-decoration: underline;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.breadcrumbs {
		padding: 1vw 2.66vw 3vw;
	}
	.breadcrumbs ul {
		text-align: right;
	}
	.breadcrumbs ul li {
		margin-right: 2.66vw;
		padding-right: 4.6vw;
		font-size: 1.8rem;
	}
	.breadcrumbs ul li:last-child {
		margin-right: 0;
		padding-right: 0;
	}
	.breadcrumbs ul li::before {
		right: 0;
		width: 2.134vw;
		height: 1.734vw;
		background-size: 2.134vw 1.734vw;
	}
}

/* = margin
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	/* PC */
	.mb0 {
		margin-bottom: 0px !important;
	}
	.mb10 {
		margin-bottom: 10px !important;
	}
	.mb20 {
		margin-bottom: 20px !important;
	}
	.mb30 {
		margin-bottom: 30px !important;
	}
	.mb40 {
		margin-bottom: 40px !important;
	}
	.mb50 {
		margin-bottom: 50px !important;
	}
	.mb60 {
		margin-bottom: 60px !important;
	}
	.mb70 {
		margin-bottom: 70px !important;
	}
	.mb80 {
		margin-bottom: 80px !important;
	}
	.mb90 {
		margin-bottom: 90px !important;
	}
	.mb100 {
		margin-bottom: 100px !important;
	}
}
@media screen and (max-width: 767px) {
	/* SP */
	.mb0 {
		margin-bottom: 0 !important;
	}
	.mb10 {
		margin-bottom: 1.33vw !important;
	}
	.mb20 {
		margin-bottom: 2.66vw !important;
	}
	.mb30 {
		margin-bottom: 4vw !important;
	}
	.mb40 {
		margin-bottom: 5.33vw !important;
	}
	.mb50 {
		margin-bottom: 6.66vw !important;
	}
	.mb60 {
		margin-bottom: 8vw !important;
	}
	.mb70 {
		margin-bottom: 9.3vw !important;
	}
	.mb80 {
		margin-bottom: 10.66vw !important;
	}
	.mb90 {
		margin-bottom: 12vw !important;
	}
	.mb100 {
		margin-bottom: 13.33vw !important;
	}
}

/* = heading
---------------------------------------------- */
.heading02 {
	position: relative;
	background-color: #b23329;
	color: #fff;
	font-weight: bold;
}
.heading02::after {
	content: "";
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
}
.heading02 span {
	display: block;
	position: relative;
	border-top: 2px solid #8a130a;
}
.heading02 span::before,
.heading02 span::after {
	content: "";
	display: block;
	position: absolute;
	border-style: solid;
}
.heading02 span::before {
	top: 0;
	left: 0;
	border-width: 30px 30px 0 0;
	border-color: #8a130a transparent transparent transparent;
}
.heading02 span::after {
	right: 0;
	bottom: 0;
	border-width: 0 0 30px 30px;
	border-color: transparent transparent #8a130a transparent;
}/*
.heading03 {
	position: relative;
	border-bottom: 1px solid #dcdcdc;
	font-weight: bold;
}
.heading03::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 200px;
	height: 2px;
	background-color: #b23329;
}
.heading04 {
	position: relative;
	border-top: 1px solid #d7d7d7;
	background-color: #f8f8f8;
	font-weight: bold;
}
.heading04::before,
.heading04 span::before {
	content: "";
	display: block;
	position: absolute;
}
.heading04::before {
	top: 2px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #f3f3f3;
}
.heading04 span {
	position: relative;
}
.heading04 span::before {
	top: 0;
	bottom: 0;
	left: -20px;
	width: 6px;
	height: auto;
	min-height: 23px;
	margin: auto;
	background-color: #b23329;
}*/
.heading05 {
	font-weight: bold;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.heading02 {
		margin-bottom: 40px;
		padding-top: 2px;
		font-size: 2.6rem;
	}
	.heading02 span {
		padding: 9px 30px;
		border-top: 2px solid #8a130a;
	}
/*	.heading03 {
		padding: 10px 15px;
		margin-bottom: 40px;
		font-size: 2.4rem;
	}
	.heading04 {
		margin-bottom: 40px;
		padding: 12px 20px;
		font-size: 2rem;
	}*/
	.heading05 {
		margin-bottom: 20px;
		font-size: 2.2rem;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.heading02 {
		margin-bottom: 5.5vw;
		padding-top: 2px;
		font-size: 3.6rem;
	}
	.heading02 span {
		padding: 2.134vw 4.6vw;
	}
	.heading02 span::before {
		border-width: 4.667vw 4.667vw 0 0;
	}
	.heading02 span::after {
		border-width: 0 0 4.667vw 4.667vw;
	}
	.heading03 {
		padding: 2.66vw;
		margin-bottom: 6.6vw;
		font-size: 3.4rem;
	}
	.heading03::before {
		width: 30.667vw;
	}
	.heading04 {
		margin-bottom: 6.6vw;
		padding: 2.067vw 4vw;
		font-size: 3.2rem;
	}
	.heading04 span::before {
		left: -4vw;
	}
	.heading05 {
		margin-bottom: 2.66vw;
		font-size: 3.2rem;
	}
}

/* = text
----------------------------------------------- */
strong {
	font-weight: 700;
}
.text_center {
	text-align: center;
}
.text_right {
	text-align: right;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.text01 {
		font-size: 1.5rem;
		line-height: 2;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.text01 {
		font-size: 2.6rem;
		line-height: 1.95;
	}
}

/* = note
----------------------------------------------- */
.note01 li {
	position: relative;
}
.note01 li::before {
	content: "※";
	display: block;
	position: absolute;
	left: 0;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.note01 {
		font-size: 1.3rem;
		line-height: 1.7;
	}
	.note01 li {
		padding-left: 20px;
	}
	.note01 li + li {
		margin-top: 8px;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.note01 {
		font-size: 2.2rem;
		line-height: 1.545;
	}
	.note01 li {
		padding-left: 4vw;
	}
	.note01 li + li {
		margin-top: 2%;
	}
}

/* = text_btn
----------------------------------------------- */
.text_btn01 a {
	display: block;
	position: relative;
	border-bottom: 1px solid #761810;
	background-color: #b23329;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
.text_btn01 a::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 35px 35px;
	border-color: transparent transparent #871f17 transparent;
}
.text_btn01 a span {
	position: relative;
}
.text_btn01 a span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -5px;
	width: 7px;
	height: 9px;
	margin: auto;
	background-repeat: no-repeat;
	background-size: 7px 9px;
	background-image: url(../img/shared/icon_arrow07.svg);
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.text_btn01 a {
		min-width: 330px;
		padding: 15px 0;
		font-size: 2.2rem;
	}
	.text_btn01 a:hover {
		background-color: #9c2319;
	}
	.text_btn01 a span {
		padding-left: 15px;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.text_btn01 a {
		padding: 3vw 0;
		font-size: 3.6rem;
	}
	.text_btn01 a::after {
		border-width: 0 0 6.4vw 6.4vw;
	}
	.text_btn01 a span {
		padding-left: 2.66vw;
	}
	.text_btn01 a span::before {
		left: -1.5vw;
		width: 1.6vw;
		height: 2vw;
		background-size: 1.6vw 2vw;
	}
}

/* = text_link
----------------------------------------------- */
.text_link ul {
	display: flex;
	position: relative;
	flex-wrap: wrap;
	align-items: baseline;
	background-color: #f8f8f8;
}
.text_link ul li {
	border-bottom: 1px solid #e5e5e5;
	background-color: #fff;
}
.text_link ul li a {
	position: relative;
	text-decoration: none;
}
.text_link ul li a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
	width: 7px;
	height: 9px;
	margin: auto;
	background-image: url(../img/shared/icon_text_link.svg);
	background-repeat: no-repeat;
	background-size: 7px 9px;
}
.text_link ul li a::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 25px 25px;
	border-color: transparent transparent #dcdcdc transparent;
}
.text_link ul li a {
	display: block;
	font-weight: bold;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.text_link {
		margin-bottom: 60px;
	}
	.text_link ul {
		margin-bottom: 50px;
		padding: 20px 20px 0 20px;
	}
	.text_link ul li {
		width: 360px;
		margin-right: 20px;
		margin-bottom: 20px;
	}
	.text_link ul li:nth-child(2n) {
		margin-right: 0;
	}
	.text_link ul li a {
		padding: 20px 20px 20px 40px;
		font-size: 1.7rem;
	}
	.text_link ul li a:hover {
		background-color: #517bba;
		color: #fff;
	}
	.text_link ul li a:hover::after {
		border-color: transparent transparent #3663a6 transparent;
	}
	.text_link ul li:hover .inner::after {
		background-image: url(../img/shared/icon_arrow06.svg);
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.text_link {
		margin-bottom: 6.7vw;
	}
	.text_link ul {
		padding: 2.66vw;
	}
	.text_link ul li {
		width: 100%;
		margin-bottom: 2.66vw;
	}
	.text_link ul li:last-child {
		margin-bottom: 0;
	}
	.text_link ul li a::before {
		left: 4vw;
		width: 2.4vw;
		height: 3.067vw;
		background-size: 2.4vw 3.067vw;
	}
	.text_link ul li a::after {
		border-width: 0 0 5.334vw 5.334vw;
	}
	.text_link ul li a {
		padding: 4vw 4vw 4vw 8.8vw;
		font-size: 3.2rem;
	}
}

/* = box
----------------------------------------------- */
.box01 {
	background: #f8f8f8;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.box01 {
		padding: 20px;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.box01 {
		padding: 2.66vw;
	}
}

/* = list
----------------------------------------------- */

.list01 li {
	position: relative;
}
.list01 li::before {
	content: "";
	display: block;
	position: absolute;
	top: 8px;
	left: 0;
	width: 13px;
	height: 13px;
	background-image: url(../img/shared/icon_list01.svg);
	background-repeat: no-repeat;
	background-size: 13px 13px;
}
.list02 {
	list-style-type: decimal;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.list01 li {
		padding-left: 27px;
		font-size: 1.5rem;
		line-height: 2;
	}
	.list01 li + li {
		margin-top: 7px;
	}
	.list02 li {
		margin-left: 26px;
		font-size: 1.7rem;
		line-height: 1.8;
	}
	.list02 li + li {
		margin-top: 7px;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.list01 li {
		padding-left: 5.3vw;
		font-size: 2.6rem;
		line-height: 1.692;
	}
	.list01 li + li {
		margin-top: 2%;
	}
	.list01 li::before {
		top: 1.5vw;
		left: 1.067vw;
		width: 2.66vw;
		height: 2.66vw;
		background-size: 2.66vw 2.66vw;
	}
	.list02 {
		padding-left: 2.7vw;
	}
	.list02 li {
		margin-left: 2.66vw;
		font-size: 2.6rem;
		line-height: 1.692;
	}
	.list02 li + li {
		margin-top: 2%;
	}
}

/* = link
----------------------------------------------- */
.link01 a {
	display: block;
	position: relative;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.link01 {
		font-size: 1.5rem;
		line-height: 2;
	}
	.link01 li + li {
		margin-top: 10px;
	}
	.link01 a {
		padding-left: 22px;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.link01 {
		font-size: 2.6rem;
		line-height: 1.692;
	}
	.link01 li + li {
		margin-top: 2%;
	}
	.link01 a {
		padding-left: 5.5vw;
	}
	.link01 a::before {
		top: 1.7vw;
		left: 1.2vw;
		width: 1.87vw;
		height: 2.5vw;
	}
}

/* = file type icon
----------------------------------------------- */
.file01 a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 16px;
	height: 16px;
	margin: auto;
}
.file01 a.pdf::after {
	background: url(../img/shared/icon_pdf.png) no-repeat;
}
.file01 a.xls::after {
	background: url(../img/shared/icon_xls.png) no-repeat;
}
.file01 a.doc::after {
	background: url(../img/shared/icon_doc.png) no-repeat;
}
.file01 a.ppt::after {
	background: url(../img/shared/icon_ppt.png) no-repeat;
}
.file01 a.txt::after {
	background: url(../img/shared/icon_txt.png) no-repeat;
}
.file01 a.mwv::after {
	background: url(../img/shared/icon_mwv.png) no-repeat;
}

@media screen and (max-width: 767px) {
	/* SP */

	.file01 a::after {
		width: 3vw;
		height: 3.4vw;
		background-size: 3vw !important;
		vertical-align: text-top;
	}
}

/* = image float
----------------------------------------------- */

.img_left {
	float: left;
}
.img_left img {
	width: 100%;
}
.img_right {
	float: right;
}
.img_right img {
	width: 100%;
}
@media print, screen and (min-width: 768px) {
	/* PC */
	.img_left {
		width: 290px;
		overflow: hidden;
		margin: 8px 20px 10px 0;
	}
	.img_right {
		width: 290px;
		overflow: hidden;
		margin: 8px 0 10px 20px;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.img_left {
		width: 33.8%;
		margin: 2% 3% 2% 0;
	}
	.img_right {
		width: 33.8%;
		margin: 2% 0 2% 3%;
	}
	.img_left img,
	.img_right img {
		height: 24vw;
	}
}

/* = image
----------------------------------------------- */
.caption01 {
	color: #707070;
}
.img_clm01 .item img {
	max-width: 100%;
}
.img_clm02,
.img_clm03,
.img_clm04 {
	display: flex;
	flex-wrap: wrap;
}
.img_clm02 .item {
	width: 48.19%;
}
.img_clm02 .item:nth-child(2n-1) {
	margin-right: 1.81%;
}
.img_clm02 .item:nth-child(2n) {
	margin-left: 1.81%;
}
.img_clm03 .item {
	width: 30.91%;
}
.img_clm04 .item {
	width: 22.73%;
}
.img_clm03 .item:nth-child(3n) {
	margin-left: 1.81%;
}
.img_clm03 .item:nth-child(3n-1) {
	margin-right: 1.81%;
	margin-left: 1.81%;
}
.img_clm03 .item:nth-child(3n-2) {
	margin-right: 1.81%;
}
.img_clm04 .item:nth-child(4n-3) {
	margin-right: 1.51%;
}
.img_clm04 .item:nth-child(4n-2),
.img_clm04 .item:nth-child(4n-1) {
	margin-right: 1.51%;
	margin-left: 1.51%;
}
.img_clm04 .item:nth-child(4n) {
	margin-left: 1.51%;
}
.img_clm02 .item img,
.img_clm03 .item img,
.img_clm04 .item img {
	max-width: 100%;
}
.img_clm03_text .textarea {
	background-color: #f8f8f8;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.caption01 {
		margin: 10px 0 0;
		font-size: 1.2rem;
		line-height: 1.66;
	}
	.img_clm02 .item {
		margin-bottom: 10px;
	}
	.img_clm03 .item {
		margin-bottom: 10px;
	}
	.img_clm04 .item {
		margin-bottom: 10px;
	}
	.img_clm03_text img {
		margin-bottom: 2px;
	}
	.img_clm03_text .textarea .heading04 {
		margin-bottom: 0;
	}
	.img_clm03_text .textarea .text01 {
		padding: 0 15px 15px 15px;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.caption01 {
		margin-top: 1vw;
		font-size: 2rem;
		line-height: 1.5;
	}
	.img_clm02 .item {
		width: 48.15%;
		margin-bottom: 2.66vw;
	}
	.img_clm03 .item {
		margin-bottom: 2.66vw;
	}
	.img_clm04 .item {
		width: 47.88%;
		margin-bottom: 2.66vw;
	}
	.img_clm04 .item:nth-child(2n-1) {
		margin-left: 2.6%;
	}
	.img_clm04 .item:nth-child(2n) {
		margin-right: 0;
		margin-left: 2.6%;
	}
	.img_clm04 .item:nth-child(4n-1) {
		margin-left: 0;
	}
	.img_clm04 .item:nth-child(4n-3) {
		margin-left: 0;
	}
	.img_clm03_text .item {
		display: flex;
		position: relative;
		justify-content: space-between;
		width: 100%;
		margin: 0 0 4vw 0 !important;
		padding: 2.66vw 2.66vw 2.66vw 0;
		border-top: 1px solid #d7d7d7;
		background-color: #f8f8f8;
	}
	.img_clm03_text .item::before {
		content: "";
		display: block;
		position: absolute;
		top: 2px;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #f3f3f3;
	}
	.img_clm03_text .item .img {
		width: 32vw;
	}
	.img_clm03_text .textarea {
		width: 54.667vw;
	}
	.img_clm03_text .textarea .heading04 {
		margin-bottom: 0.5vw;
		padding: 0 4vw;
		border-top: 0;
	}
	.img_clm03_text .textarea .heading04::before {
		content: none;
	}
	.img_clm03_text .textarea .heading04 span::before {
		width: 1.067vw;
	}
	.img_clm03_text .textarea .text01 {
		line-height: 1.8;
	}
}

/* = table
----------------------------------------------- */
table {
	width: 100%;
}
.table01 th,
.table01 td {
	border: 1px solid #d2d2d2;
	line-height: 2;
}
.table01 thead th {
	color: #fff;
	background: #b23329;
	text-align: center;
}
.table01 tbody th {
	background-color: #f8f8f8;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.table01 th,
	.table01 td {
		padding: 5px 15px;
		font-size: 1.6rem;
	}
	.table01 tr th {
		width: 101px;
	}
	.table01 thead th {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px) {
	/* SP */
	.table01 th,
	.table01 td {
		padding: 2% 3%;
		font-size: 2.6rem;
		line-height: 1.6;
	}
	.table01 tbody th {
		width: 30%;
	}
}

/* = frame01
------------------------------------------------ */
.frame01 {
	background-color: #f6f6f6;
}
.frame01 .frame_in .wrap {
	border: 1px solid #eee;
	background-color: #fff;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.frame01 .heading04 {
		margin-bottom: 0;
	}
	.frame01 .frame_in {
		padding: 0 7px 7px 7px;
	}
	.frame01 .frame_in .wrap {
		padding: 15px 20px;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.frame01 .heading04 {
		margin-bottom: 0;
	}
	.frame01 .frame_in {
		padding: 0 1.3vw 1.3vw 1.3vw;
	}
	.frame01 .frame_in .wrap {
		padding: 2.66vw 3.4vw;
	}
}

/* = frame01 （お問い合わせ先）
------------------------------------------------ */
.frame01 .wrap .contact_wrap .number li {
	position: relative;
	font-weight: bold;
}
.frame01 .wrap .contact_wrap .number li::before {
	content: "";
	display: block;
	position: absolute;
	background-repeat: no-repeat;
}
.frame01 .wrap .contact_wrap .number .tel::before {
	top: 15px;
	left: 0;
	width: 22px;
	height: 18px;
	background-image: url(../img/shared/icon_tel.svg);
	background-size: 22px 18px;
}
.frame01 .wrap .contact_wrap .number .fax::before {
	top: 15px;
	left: 3px;
	width: 18px;
	height: 18px;
	background-image: url(../img/shared/icon_fax.svg);
	background-size: 18px 18px;
}
.frame01 .wrap .contact_wrap .number li a {
	color: #313131;
	text-decoration: none;
}
.frame01 .wrap .contact_wrap .number li span {
	color: #b23329;
}
@media print, screen and (min-width: 768px) {
	/* PC */
	.frame01 .frame_in .wrap .text01 {
		margin-bottom: 20px;
	}
	.frame01 .wrap .contact_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.frame01 .wrap .contact_wrap .number li {
		padding-left: 30px;
		font-size: 2rem;
	}
	.frame01 .wrap .contact_wrap .number li span {
		margin-right: 12px;
	}
	.frame01 .wrap .contact_wrap .number li strong {
		font-size: 30px;
	}
}
@media screen and (max-width: 767px) {
	/* SP */
	.frame01 .frame_in .wrap .text01 {
		margin-bottom: 4vw;
	}
	.frame01 .frame_in .wrap .contact_wrap .number {
		margin-bottom: 4vw;
	}
	.frame01 .frame_in .wrap .contact_wrap .number li {
		padding-left: 6.6vw;
		font-size: 3rem;
	}
	.frame01 .frame_in .wrap .contact_wrap .number span {
		margin-right: 2.66vw;
		font-size: 3rem;
	}
	.frame01 .frame_in .wrap .contact_wrap .number strong {
		font-size: 4.6rem;
	}
	.frame01 .wrap .contact_wrap .number .tel::before {
		top: 3.4vw;
		width: 5.067vw;
		height: 4.134vw;
		background-size: 5.067vw 4.134vw;
	}
	.frame01 .wrap .contact_wrap .number .fax::before {
		top: 3.4vw;
		left: 0.8vw;
		width: 4.134vw;
		height: 4.134vw;
		background-size: 4.134vw;
	}
}

/* = contact_form
----------------------------------------------- */
.contact_form .container {
	background-color: #f6f6f6;
}
.contact_form form {
	border: 1px solid #eee;
	background-color: #fff;
}
.contact_form form tr {
	border-bottom: 1px dashed #dedede;
}
.contact_form form tr:last-child {
	border-bottom: 0;
}
.contact_form form th {
	display: flex;
	align-items: center;
	position: relative;
	font-weight: bold;
}
.contact_form form .textarea,
.contact_form form .radio,
.contact_form form .line02 {
	align-items: flex-start;
}
.contact_form form th span {
	display: block;
	position: relative;
	background-color: #b23329;
	color: #fff;
	text-align: center;
}
.contact_form form th span::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: -9px;
	border-style: solid;
	border-width: 10px 0 10px 9px;
	border-color: transparent transparent transparent #b23329;
}
.contact_form form tr td input {
	border: 1px solid #d2d2d2;
	font: inherit;
}
.contact_form form textarea {
	display: block;
	border: 1px solid #d2d2d2;
	font: inherit;
}
.contact_form form .select select {
	border: 1px solid #d2d2d2;
	border-radius: 0;
	background-color: #fff;
}
.contact_form form .checkbox input,
.contact_form form .checkbox label,
.contact_form form .radio input,
.contact_form form .radio label {
	vertical-align: middle;
}
.contact_form form .checkbox td {
	display: flex;
}
.contact_form form .checkbox label,
.contact_form form .radio label {
	display: inline-flex;
	align-items: center;
}
.contact_form .submit ul {
	display: flex;
	justify-content: space-between;
}
.contact_form .submit ul li:first-child {
	background-color: #b23329;
}
.contact_form .submit ul li:first-child:hover {
	background-color: #9c2319;
}
.contact_form .submit ul li:last-child {
	background-color: #f6f6f6;
}
.contact_form .submit ul li:last-child:hover {
	background-color: #eee;
}
.contact_form .submit ul li button {
	position: relative;
	font: inherit;
	font-weight: bold;
	overflow: visible;
	cursor: pointer;
}
.contact_form .submit ul li:first-child button {
	border-bottom: 1px solid #761810;
	color: #fff;
}
.contact_form .submit ul li:last-child button {
	border-bottom: 1px solid #e5e5e5;
	color: #626262;
}
.contact_form .submit ul li button::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 35px 35px;
}
.contact_form .submit ul li:first-child button::after {
	border-color: transparent transparent #871f17 transparent;
}
.contact_form .submit ul li:last-child button::after {
	border-color: transparent transparent #dcdcdc transparent;
}
.contact_form .submit ul li button span {
	position: relative;
}
.contact_form .submit ul li button span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -20px;
	width: 7px;
	height: 9px;
	margin: auto;
	background-repeat: no-repeat;
	background-size: 7px 9px;
}
.contact_form .submit ul li:first-child button span::before {
	background-image: url(../img/shared/icon_arrow07.svg);
}
.contact_form .submit ul li:last-child button span::before {
	background-image: url(../img/shared/icon_arrow03.svg);
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.contact_form .container {
		padding: 7px;
	}
	.contact_form form {
		width: 100%;
	}
	.contact_form form table {
		width: 100%;
	}
	.contact_form form tr {
		display: flex;
	}
	.contact_form form th,
	.contact_form form td {
		font-size: 1.6rem;
		padding: 15px 20px;
	}
	.contact_form form th {
		width: 175px;
	}
	.contact_form form th span {
		width: 35px;
		height: 20px;
		font-size: 1.2rem;
	}
	.contact_form form td {
		width: 510px;
	}
	.contact_form form tr td input {
		height: 30px;
		padding: 5px;
		font-size: 1.5rem;
	}
	.contact_form form .text_s td input {
		width: 260px;
	}
	.contact_form form .text_m td input {
		width: 350px;
	}
	.contact_form form .text_l td input {
		width: 470px;
	}
	.contact_form form textarea {
		width: 510px;
		height: 150px;
		padding: 5px;
		font-size: 1.5rem;
	}
	.contact_form form .select select {
		width: 265px;
		height: 30px;
		padding: 0 5px;
		font-size: 1.4rem;
	}
	.contact_form form .checkbox input,
	.contact_form form .radio input {
		margin-right: 12px;
	}
	.contact_form form .checkbox input[type="checkbox"],
	.contact_form form .radio input[type="radio"] {
		width: 18px;
		height: 18px;
		margin: auto;
		margin-right: 7px;
	}
	.contact_form form .checkbox label,
	.contact_form form .radio label {
		font-size: 1.5rem;
	}
	.contact_form form .checkbox label {
		margin-right: 20px;
	}
	.contact_form form .radio p {
		margin-bottom: 10px;
	}
	.contact_form form .radio p:last-child {
		margin-bottom: 0;
	}
	.contact_form form .line02 p {
		margin-bottom: 20px;
	}
	.contact_form form .line02 input {
		width: 390px;
	}
	.contact_form form .line02 p:last-child {
		margin-bottom: 0;
	}
	.contact_form form .line02 p span {
		margin-right: 20px;
		font-size: 1.5rem;
	}
	.contact_form .submit ul {
		width: 490px;
		margin: 0 auto;
	}
	.contact_form .submit ul li button {
		width: 230px;
		padding: 15px 0;
		font-size: 2rem;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.contact_form .container {
		padding: 0 1.3vw 1.3vw 1.3vw;
	}
	.contact_form form td {
		display: block;
	}
	.contact_form form th {
		padding: 2.66vw 4vw 0;
		font-size: 2.6rem;
	}
	.contact_form form th span {
		width: 6.667vw;
		height: 4vw;
		margin-left: 1vw;
		line-height: 1.7;
		font-size: 1.8rem;
	}
	.contact_form form th span::after {
		right: -1.734vw;
		border-style: solid;
		border-width: 2vw 0 2vw 1.734vw;
		border-color: transparent transparent transparent #b23329;
	}
	.contact_form form td {
		padding: 2.66vw 4vw 4vw 4vw;
	}
	.contact_form form tr input {
		height: 8vw;
		padding: 2vw;
		font-size: 2.6rem;
	}
	.contact_form form .text_s input {
		width: 53.334vw;
	}
	.contact_form form .text_m input {
		width: 69.334vw;
	}
	.contact_form form .text_l input,
	.contact_form form textarea,
	.contact_form form .select select {
		width: 100%;
	}
	.contact_form form textarea {
		height: 49.334vw;
	}
	.contact_form form .select select {
		height: 9.2vw;
		padding: 0 2.66vw;
		font-size: 2.6rem;
	}
	.contact_form form .checkbox td {
		display: block;
	}
	.contact_form form .checkbox input,
	.contact_form form .radio input {
		height: auto;
	}
	.contact_form form .checkbox input[type="checkbox"] {
		width: 4vw;
		height: 4vw;
		margin-right: 1.7vw;
	}
	.contact_form form .radio input[type="radio"] {
		width: 4vw;
		height: 4vw;
		margin-right: 1.7vw;
	}
	.contact_form form .checkbox p,
	.contact_form form .radio p {
		margin-bottom: 2.66vw;
	}
	.contact_form form .checkbox p:last-child,
	.contact_form form .radio p:last-child {
		margin-bottom: 0;
	}
	.contact_form form .checkbox label,
	.contact_form form .radio label,
	.contact_form form .line02 p span {
		font-size: 2.6rem;
	}
	.contact_form form .line02 input {
		width: 60vw;
	}
	.contact_form form .line02 p {
		margin-bottom: 4vw;
	}
	.contact_form form .line02 p:last-child {
		margin-bottom: 0;
	}
	.contact_form form .line02 p span {
		margin-right: 2.66vw;
	}
	.contact_form .submit ul li button {
		width: 44vw;
		padding: 3vw 0;
		font-size: 3.6rem;
	}
	.contact_form .submit ul li button::after {
		border-width: 0 0 6.4vw 6.4vw;
	}
	.contact_form .submit ul li button span {
		padding-left: 2.66vw;
	}
	.contact_form .submit ul li button span::before {
		left: -1.5vw;
		width: 1.6vw;
		height: 2vw;
		background-size: 1.6vw 2vw;
	}
}

/* = news
------------------------------------------------ */
.news .news_list .item {
	border-bottom: 1px dotted #b2b2b2;
}
.news .news_list .item a {
	display: flex;
	align-items: center;
	position: relative;
	text-decoration: none;
}
.news .news_list .item a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 27px;
	width: 7px;
	height: 9px;
	margin: auto;
	background-image: url(../img/shared/icon_news01.svg);
	background-repeat: no-repeat;
	background-size: 7px 9px;
}
.news .news_list .item a time {
	color: #959595;
}
.news .news_list .item a .cat {
	color: #fff;
	font-weight: bold;
	text-align: center;
}
.news .news_list .item a .cat.important {
	background-color: #eb6877;
}
.news .news_list .item a .cat.notice {
	background-color: #13b5b1;
}
.news .news_list .item a .cat.recruit {
	background-color: #c490bf;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.news .news_list .item a {
		padding: 19px 60px 19px 10px;
	}
	.news .news_list .item a:hover::after {
		background-image: url(../img/shared/icon_news02.svg);
	}
	.news .news_list .item a p {
		text-decoration: underline;
	}
	.news .news_list .item a:hover p {
		text-decoration: none;
	}
	.news .news_list .item a time,
	.news .news_list .item a .cat {
		margin-right: 20px;
		font-size: 1.3rem;
		text-decoration: none;
	}
	.news .news_list .item a .cat {
		width: 70px;
	}
	.news .list_all a p {
		padding: 20px 60px 20px 15px;
		border-bottom: 2px solid #bd291e;
		font-size: 1.7rem;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.news {
		margin-bottom: 9vw;
	}
	.news .news_list .item a {
		display: block;
		position: relative;
		padding: 2.8vw 13vw 2.8vw 4vw;
	}
	.news .news_list .item a time,
	.news .news_list .item a .cat {
		font-size: 2rem;
		vertical-align: middle;
	}
	.news .news_list .item a p {
		margin-top: 2vw;
	}
	.news .news_list .item a .cat {
		display: inline-block;
		width: 14vw;
		margin: 0 0 0 2.66vw;
	}
	.news .news_list .item a .article_ttl {
		margin-top: 1.867vw;
		line-height: 1.7;
	}
	.news .news_list .item a::after {
		right: 5.4vw;
		width: 2.4vw;
		height: 3.067vw;
		background-size: 2.4vw 3.067vw;
	}
}

/* = side_menu / side_nav
----------------------------------------------- */
.side_nav a {
	text-decoration: none;
}
.side_nav_inner {
	background-color: #f8f8f8;
}
.side_nav_inner li a {
	display: block;
}
.side_nav .side_nav_2nd li a,
.side_nav_3rd li a {
	position: relative;
}
.side_nav .side_nav_1st {
	border-top: 2px solid #b23329;
	font-weight: bold;
}
.side_nav .side_nav_2nd li {
	background-color: #fff;
}
.side_nav .side_nav_2nd li a {
	position: relative;
	border-bottom: 1px solid #e5e5e5;
}
.side_nav .side_nav_2nd li a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
	width: 7px;
	height: 9px;
	margin: auto;
	background-image: url(../img/shared/icon_sidenav.svg);
	background-repeat: no-repeat;
	background-size: 7px 9px;
}
.side_nav .side_nav_2nd.current li a::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 25px 25px;
	border-color: transparent transparent #4e73aa transparent;
}
.side_nav .side_nav_3rd li {
	position: relative;
}
.side_nav .side_nav_3rd li::before {
	content: "・";
	display: block;
	position: absolute;
	left: 0;
	color: #4e73aa;
	font-size: 1.5rem;
}
.side_nav .side_nav_3rd li a {
	border-bottom: 0;
}
.side_nav .side_nav_3rd li a::before,
.side_nav .side_nav_2nd.current .side_nav_3rd li a::after {
	content: none;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.side_nav {
		margin-bottom: 15px;
	}
	.side_nav_inner {
		padding: 5px;
	}
	.side_nav .side_nav_1st {
		font-size: 2rem;
		letter-spacing: 1px;
		padding: 14px 10px;
	}
	.side_nav .side_nav_2nd {
		font-size: 1.7rem;
	}
	.side_nav .side_nav_2nd li a {
		padding: 18px 25px 18px 40px;
	}
	.side_nav .side_nav_2nd li a:hover {
		background-color: #517bba;
		color: #fff;
	}
	.side_nav .side_nav_3rd {
		margin-bottom: 5px;
		padding: 20px 10px 20px 35px;
	}
	.side_nav .side_nav_3rd li {
		margin-bottom: 15px;
	}
	.side_nav .side_nav_3rd li:last-child {
		margin-bottom: 0;
	}
	.side_nav .side_nav_3rd li a {
		padding: 0;
		padding-left: 18px;
		font-size: 1.5rem;
	}
	.side_nav .side_nav_3rd li a:hover {
		background-color: transparent;
		color: #4e73aa;
		text-decoration: underline;
	}
}

/* = side_menu / service_menu
----------------------------------------------- */
.side_menu .service_menu li {
	border-bottom: 1px solid #e9e9e9;
}
.side_menu .service_menu li a {
	display: flex;
	position: relative;
	align-items: center;
	background-color: #fbfbfb;
	text-decoration: none;
}
.side_menu .service_menu li a .img {
	background-image: url(../img/shared/service_menu_bg.jpg);
	background-position: left;
	background-repeat: repeat;
}
.side_menu .service_menu li a .img span {
	display: block;
	position: relative;
	border-radius: 50%;
}
.side_menu .service_menu li a .img span img {
	position: absolute;
}
.side_menu .service_menu li a p::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 25px 25px;
	border-color: transparent transparent #ebebeb transparent;
}
@media print, screen and (min-width: 768px) {
	/* PC */
	.side_menu .service_menu {
		margin-bottom: 30px;
	}
	.side_menu .service_menu li a .img {
		width: 95px;
	}
	.side_menu .service_menu li a .img span {
		width: 60px;
		height: 60px;
		margin: 15px auto;
	}
	.side_menu .service_menu li a .img span img {
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}
	.side_menu .service_menu li.item_emergency a .img span img,
	.side_menu .service_menu li.item_joint a .img span img,
	.side_menu .service_menu li.item_clinical a .img span img {
		width: 29px;
	}
	.side_menu .service_menu li.item_birth a .img span img {
		width: 18px;
	}
	.side_menu .service_menu li.item_cancer a .img span img {
		width: 25px;
	}
	.side_menu .service_menu li.item_nurse a .img span img {
		width: 23px;
	}
	.side_menu .service_menu li.item_visit a .img span img {
		width: 26px;
	}
	.side_menu .service_menu li.item_team a .img span img {
		width: 33px;
	}
	.side_menu .service_menu li.item_safety a .img span img {
		width: 30px;
	}
	.side_menu .service_menu li.item_public a .img span img {
		width: 20px;
	}
	.side_menu .service_menu li.item_recruit a .img span img {
		width: 25px;
	}
	.side_menu .service_menu li.item_medical a .img span img {
		width: 22px;
	}
	.side_menu .service_menu li a p {
		width: 135px;
		padding: 10px 20px;
		line-height: 1.35;
		font-size: 1.8rem;
	}
}

/* = side_menu / info
----------------------------------------------- */
.side_menu .info dl {
	border-top: 1px solid #e9e9e9;
}
.side_menu .info dl dt {
	color: #b23329;
	font-weight: bold;
}
.side_menu .info dl dd dl dt {
	color: #313131;
}
.side_menu .info .access_btn a {
	display: block;
	position: relative;
	border: 1px solid #d2d2d2;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
.side_menu .info .access_btn a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 27px;
	width: 7px;
	height: 9px;
	margin: auto;
	background-image: url(../img/shared/icon_arrow03.svg);
	background-repeat: no-repeat;
	background-size: 7px 9px;
}
@media print, screen and (min-width: 768px) {
	/* PC */
	.side_menu .info dl {
		padding: 15px 7px 30px 7px;
	}
	.side_menu .info dl dt {
		padding-bottom: 15px;
		font-size: 1.7rem;
	}
	.side_menu .info dl dd {
		line-height: 1.9;
	}
	.side_menu .info dl dd dl {
		margin-top: 20px;
		padding: 0;
		border: 0;
	}
	.side_menu .info dl dd dl dt {
		padding: 0;
		font-size: 1.5rem;
	}
	.side_menu .info .access_btn {
		margin-top: 20px;
	}
	.side_menu .info .access_btn a {
		padding: 16px 45px 16px 20px;
		line-height: 1.7;
		font-size: 1.5rem;
	}
	.side_menu .info .access_btn a:hover {
		background-color: #517bba;
		color: #fff;
	}
}

/* = service共通
----------------------------------------------- */
.service ul li.item_birth .img span {
	background-color: #ecb25c;
}
.service ul li.item_cancer .img span {
	background-color: #73b8b5;
}
.service ul li.item_emergency .img span {
	background-color: #78bedf;
}
.service ul li.item_joint .img span {
	background-color: #7db98a;
}
.service ul li.item_clinical .img span {
	background-color: #dfa477;
}
.service ul li.item_nurse .img span {
	background-color: #dc8c8f;
}
.service ul li.item_visit .img span {
	background-color: #b388af;
}
.service ul li.item_team .img span {
	background-color: #c3bd73;
}
.service ul li.item_safety .img span {
	background-color: #eba3c2;
}
.service ul li.item_public .img span {
	background-color: #75a9c8;
}
.service ul li.item_recruit .img span {
	background-color: #afcc6c;
}
.service ul li.item_medical .img span {
	background-color: #9099c6;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.service ul li.item_birth a:hover p::after {
		border-color: transparent transparent #f8b551 transparent;
	}
	.service ul li.item_cancer a:hover p::after {
		border-color: transparent transparent #6ebebb transparent;
	}
	.service ul li.item_emergency a:hover p::after {
		border-color: transparent transparent #70c1e7 transparent;
	}
	.service ul li.item_joint a:hover p::after {
		border-color: transparent transparent #79be88 transparent;
	}
	.service ul li.item_clinical a:hover p::after {
		border-color: transparent transparent #e8a46f transparent;
	}
	.service ul li.item_nurse a:hover p::after {
		border-color: transparent transparent #e3868a transparent;
	}
	.service ul li.item_visit a:hover p::after {
		border-color: transparent transparent #b785b3 transparent;
	}
	.service ul li.item_team a:hover p::after {
		border-color: transparent transparent #cac36d transparent;
	}
	.service ul li.item_safety a:hover p::after {
		border-color: transparent transparent #f19ec2 transparent;
	}
	.service ul li.item_public a:hover p::after {
		border-color: transparent transparent #6fabcf transparent;
	}
	.service ul li.item_recruit a:hover p::after {
		border-color: transparent transparent #b3d465 transparent;
	}
	.service ul li.item_medical a:hover p::after {
		border-color: transparent transparent #8c97cb transparent;
	}
}

/* = スライド（slick-theme.css）
----------------------------------------------- */
/* Slider */
.slick-loading .slick-list {
	background: #fff url("../img/shared/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
	font-family: "slick";
	font-weight: normal;
	font-style: normal;

	src: url("./fonts/slick.eot");
	src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"),
		url("./fonts/slick.woff") format("woff"),
		url("./fonts/slick.ttf") format("truetype"),
		url("./fonts/slick.svg#slick") format("svg");
}

/* Arrows */
.slick-prev,
.slick-next {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	text-indent: -999em;
	width: 75px;
	background-color: #f8f8f8;
}
.slick-prev:before,
.slick-next:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 75px;
	height: 75px;
	margin: auto;
	background-repeat: no-repeat;
	background-size: 75px 75px;
	opacity: 0.75;
	z-index: 1;
}
.slick-prev::before {
	left: 0;
	background-image: url(../img/shared/icon_slick_prev.jpg);
}
.slick-next::before {
	right: 0;
	background-image: url(../img/shared/icon_slick_next.jpg);
}
.slick-prev:hover,
.slick-next:hover {
	background-color: #517bba;
}
.slick-prev:hover::before {
	background-image: url(../img/shared/icon_slick_prev_hover.jpg);
}
.slick-next:hover::before {
	background-image: url(../img/shared/icon_slick_next_hover.jpg);
}
.slick-prev {
	left: 0;
}
.slick-next {
	right: 0;
}

/* Dots */
.slick-dots {
	position: absolute;
	bottom: 70px;
	display: block;
	width: 100%;
	list-style: none;
	text-align: center;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: 0 8px;
	cursor: pointer;
}
.slick-dots li button {
	display: block;
	width: 15px;
	height: 15px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
}
.slick-dots li button:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 15px;
	height: 15px;
	background-color: #fff;
	border-radius: 50%;
	text-align: center;
}
.slick-dots li.slick-active button:before {
	background-color: #4e73aa !important;
}

/* = スライド（slick.css）
----------------------------------------------- */
/* Slider */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}
.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.slick-list:focus {
	outline: none;
}
.slick-list.dragging {
	cursor: pointer;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.slick-track:before,
.slick-track:after {
	display: table;
	content: "";
}
.slick-track:after {
	clear: both;
}
.slick-loading .slick-track {
	visibility: hidden;
}
.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}
[dir="rtl"] .slick-slide {
	float: right;
}
.slick-slide img {
	display: block;
}
.slick-slide.slick-loading img {
	display: none;
}
.slick-slide.dragging img {
	pointer-events: none;
}
.slick-initialized .slick-slide {
	display: block;
}
.slick-loading .slick-slide {
	visibility: hidden;
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
	display: none;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.slick-slider.sp {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.slick-slider.pc {
		display: none;
	}
	.slick-dots {
		bottom: 4.5vw;
	}
	.slick-dots li {
		width: 3vw;
		height: 3vw;
		margin: 0 1.7vw;
	}
	.slick-dots li button {
		width: 3vw;
		height: 3vw;
	}
	.slick-dots li button:before {
		width: 3vw;
		height: 3vw;
	}
}

/* -----------------------------------------------

= トップページ

----------------------------------------------- */

/* = トップページ共通
----------------------------------------------- */

@media print, screen and (min-width: 768px) {
	/* PC */

	.home .top_contents {
		position: relative;
	}
	.home .top_contents .container {
		max-width: 1100px;
		margin: 0 auto;
		padding: 0 20px;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.home .top_contents .container {
		padding: 0 2.66vw;
	}
}

/* = メインビジュアル
----------------------------------------------- */
.main_visual {
	position: relative;
	overflow: hidden;
}
.main_visual .slider .slick-slide img {
	width: 100%;
}
.main_visual .slider .slick-dots li button:before {
	border-radius: 50%;
	background-color: #fff;
}
.main_visual .lead {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.main_visual .lead p {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro",
		"Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	text-shadow: 0 0 10px #fff;
}
.main_visual .lead .main {
	color: #4772b2;
}
.main_visual .lead .sub {
	color: #626262;
}
/* 緊急のお知らせ */
.emergency {
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.emergency .container {
	margin: 0 auto;
	background-color: #fff;
	border: 5px solid #a7190e;
}
.emergency .container .emergency_ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #a7190e;
	color: #fff;
	font-weight: bold;
}
.emergency .container .news_list {
	overflow: scroll;
}
.emergency .container .news_list .ttl {
	color: #a7190e;
	font-weight: bold;
}
.emergency .container .news_list ul li {
	position: relative;
	font-weight: bold;
}
.emergency .container .news_list ul li::before {
	content: "・";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.5rem;
}
.emergency .container .news_list ul li a {
	text-decoration: underline;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.main_visual {
		padding-top: 64px;
	}
	.main_visual .slider .slick-dots li button:before {
		width: 15px;
		height: 15px;
	}
	.main_visual .lead {
		width: 1100px;
		height: 100px;
	}
	.main_visual .lead .main {
		margin-bottom: 20px;
		font-size: 40px;
		letter-spacing: 5px;
	}
	.main_visual .lead .sub {
		font-size: 15px;
		letter-spacing: 2px;
	}
	/* 緊急のお知らせ */
	.emergency,
	.emergency .container {
		display: flex;
	}
	.emergency .container {
		width: 1100px;
		max-height: 300px;
	}
	.emergency .container .emergency_ttl {
		width: 170px;
		font-size: 1.8rem;
	}
	.emergency .container .news_list {
		width: 890px;
		padding: 15px 20px;
	}
	.emergency .container .news_list .item {
		margin-bottom: 15px;
	}
	.emergency .container .news_list .item:last-child {
		margin-bottom: 0;
	}
	.emergency .container .news_list .ttl {
		margin-bottom: 10px;
		font-size: 2.6rem;
	}
	.emergency .container .news_list .text,
	.emergency .container .news_list ul li {
		font-size: 1.5rem;
	}
	.emergency .container .news_list .text {
		margin-bottom: 10px;
	}
	.emergency .container .news_list ul li {
		margin-bottom: 5px;
		padding-left: 20px;
	}
	.emergency .container .news_list ul li:last-child {
		margin-bottom: 0;
	}
	.emergency .container .news_list ul li a:hover {
		text-decoration: none;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.main_visual {
		margin-top: 14.667vw;
	}
	.main_visual .lead {
		right: auto;
		left: 6.7vw;
		width: 53.334vw;
		height: 48vw;
	}
	.main_visual .lead .main {
		margin-bottom: 4vw;
		font-size: 4.4rem;
		letter-spacing: 0.5rem;
	}
	.main_visual .lead .sub {
		line-height: 2;
		font-size: 2rem;
		letter-spacing: 0.2rem;
	}
	/*  緊急のお知らせ  */
	.emergency {
		display: flex;
	}
	.emergency .container {
		display: flex;
		flex-direction: column;
		width: 88%;
		max-height: 60vw;
	}
	.emergency .container .emergency_ttl {
		padding: 1.467vw 0;
		font-size: 3.2rem;
	}
	.emergency .container .news_list {
		padding: 2.66vw 4vw;
	}
	.emergency .container .news_list .ttl {
		margin-bottom: 2.66vw;
		font-size: 3.6rem;
	}
	.emergency .container .news_list .text {
		margin-bottom: 1vw;
	}
	.emergency .container .news_list ul li {
		margin-bottom: 1vw;
		padding-left: 4vw;
	}
	.emergency .container .news_list ul li::before {
		font-size: 2.6rem;
	}
}

/* = ユーザーメニュー
----------------------------------------------- */
.top_usermenu .menu_btn {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.top_usermenu .menu_btn li {
	position: relative;
	background-color: #f6f6f6;
	cursor: pointer;
	overflow: hidden;
	text-transform: uppercase;
}
.top_usermenu .menu_btn .inner {
	position: relative;
	border: 1px solid #eee;
	background-color: #fff;
	text-align: center;
}
.top_usermenu .menu_btn .inner::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 15px;
	left: 0;
	width: 18px;
	height: 10px;
	margin: auto;
	background-image: url(../img/shared/icon_arrow01.svg);
	background-repeat: no-repeat;
	background-size: 18px 10px;
}
.top_usermenu .menu_btn li.select .inner::after {
	background-image: url(../img/shared/icon_arrow02.svg);
}
.top_usermenu .menu_btn .inner p {
	font-weight: bold;
}
.top_usermenu .menu_cont {
	background-color: #f8f8f8;
}
.top_usermenu .menu_cont ul {
	display: none;
	position: relative;
	flex-wrap: wrap;
	align-items: baseline;
	border-top: 1px solid #b23329;
}
.top_usermenu .menu_cont ul::before {
	content: "";
	display: block;
	position: absolute;
	top: -22px;
	border-style: solid;
	border-width: 0 16.5px 22px 16.5px;
	border-color: transparent transparent #b23329 transparent;
}
.top_usermenu .menu_cont li {
	border-bottom: 1px solid #e5e5e5;
	background-color: #fff;
}
.top_usermenu .menu_cont li a {
	position: relative;
	text-decoration: none;
}
.top_usermenu .menu_cont li a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
	width: 7px;
	height: 9px;
	margin: auto;
	background-image: url(../img/shared/icon_arrow03.svg);
	background-repeat: no-repeat;
	background-size: 7px 9px;
}
.top_usermenu .menu_cont li a::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 25px 25px;
	border-color: transparent transparent #dcdcdc transparent;
}
.top_usermenu .menu_cont li a {
	display: block;
	font-weight: bold;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.home .top_usermenu .container {
		margin-top: -40px;
	}
	.top_usermenu .menu_btn li {
		width: 238px;
		padding: 6px;
		margin-bottom: 33px;
		z-index: 0;
	}
	.top_usermenu .menu_btn li .inner {
		overflow: hidden;
		z-index: 0;
	}
	.top_usermenu .menu_btn li .inner span {
		position: absolute;
		display: block;
		width: 0;
		height: 0;
		border-radius: 50%;
		-webkit-transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
		transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		z-index: -1;
	}
	.top_usermenu .menu_btn li:hover .inner {
		color: #fff;
	}
	.top_usermenu .menu_btn li:nth-child(1) .inner span,
	.top_usermenu .menu_btn li:nth-child(1):hover .inner span {
		background-color: #317bc5;
	}
	.top_usermenu .menu_btn li:nth-child(2) .inner span,
	.top_usermenu .menu_btn li:nth-child(2):hover .inner span {
		background-color: #d964ad;
	}
	.top_usermenu .menu_btn li:nth-child(3) .inner span,
	.top_usermenu .menu_btn li:nth-child(3):hover .inner span {
		background-color: #e4a021;
	}
	.top_usermenu .menu_btn li:nth-child(4) .inner span,
	.top_usermenu .menu_btn li:nth-child(4):hover .inner span {
		background-color: #75b93a;
	}
	.top_usermenu .menu_btn li .inner:hover span {
		width: 235%;
		height: 562.5px;
	}
	.top_usermenu .menu_btn .inner img {
		width: 130px;
		padding: 25px 0 18px 0;
	}
	.top_usermenu .menu_btn .inner p {
		margin-bottom: 36px;
		font-size: 1.8rem;
		transition: all 0.5s;
	}
	.top_usermenu .menu_cont ul {
		margin-bottom: 50px;
		padding: 20px 20px 0 20px;
	}
	.top_usermenu .menu_cont ul:nth-child(1)::before {
		left: 110px;
	}
	.top_usermenu .menu_cont ul:nth-child(2)::before {
		left: 392px;
	}
	.top_usermenu .menu_cont ul:nth-child(3)::before {
		right: 392px;
	}
	.top_usermenu .menu_cont ul:nth-child(4)::before {
		right: 110px;
	}
	.top_usermenu .menu_cont li {
		width: 340px;
		margin-right: 20px;
		margin-bottom: 20px;
	}
	.top_usermenu .menu_cont li:nth-child(3n) {
		margin-right: 0;
	}
	.top_usermenu .menu_cont li a {
		padding: 20px 20px 20px 40px;
		font-size: 1.7rem;
	}
	.top_usermenu .menu_cont li a:hover {
		background-color: #517bba;
		color: #fff;
	}
	.top_usermenu .menu_cont li a:hover::after {
		border-color: transparent transparent #3663a6 transparent;
	}
	.top_usermenu .menu_btn li:hover .inner::after {
		background-image: url(../img/shared/icon_arrow06.svg);
	}
	.top_usermenu .sp_wrap {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.home .top_usermenu .container {
		padding: 2.66vw 2.66vw 0;
	}
	.top_usermenu .menu_btn li {
		width: 46.19%;
		margin-bottom: 2.66vw;
		padding: 1.2vw;
	}
	.top_usermenu .menu_btn li .inner::after {
		bottom: 2.66vw;
		width: 3.467vw;
		height: 2vw;
		background-size: 3.467vw 2vw;
	}
	.top_usermenu .menu_btn li .inner img {
		width: 22.667vw;
		padding: 4vw 0;
	}
	.top_usermenu .menu_btn li .inner p {
		margin-bottom: 7.2vw;
		font-size: 2.8rem;
	}
	.top_usermenu .menu_cont ul {
		margin: 2.66vw 0 5.32vw 0;
		padding: 2.66vw;
	}
	.top_usermenu .menu_cont ul::before {
		top: -2.934vw;
		border-width: 0 2.2vw 2.934vw 2.2vw;
	}
	.top_usermenu .menu_cont ul:nth-child(1)::before {
		left: 21vw;
	}
	.top_usermenu .menu_cont ul:nth-child(2)::before {
		right: 21vw;
	}
	.top_usermenu .menu_cont ul:nth-child(3)::before {
		left: 21vw;
	}
	.top_usermenu .menu_cont ul:nth-child(4)::before {
		right: 21vw;
	}
	.top_usermenu .menu_cont li {
		width: 100%;
		margin-bottom: 2.66vw;
	}
	.top_usermenu .menu_cont li:last-child {
		margin-bottom: 0;
	}
	.top_usermenu .menu_cont li a::before {
		left: 4vw;
		width: 2.4vw;
		height: 3.067vw;
		background-size: 2.4vw 3.067vw;
	}
	.top_usermenu .menu_cont li a::after {
		border-width: 0 0 5.334vw 5.334vw;
	}
	.top_usermenu .menu_cont li a {
		padding: 4vw 4vw 4vw 8.8vw;
		font-size: 3.2rem;
	}
	.top_usermenu .pc_wrap {
		display: none;
	}
}

/* = ニュース
----------------------------------------------- */
.top_news {
	border-top: 1px solid #eaeaea;
	background-color: #f8f8f8;
}
.top_news .ttl {
	text-align: center;
}
.top_news .wrap .category li {
	background-color: #bd291e;
	color: #fff;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}
.top_news .wrap .category li.current {
	position: relative;
	border-top: 1px solid #bd291e;
	background-color: #fff;
	color: #313131;
}
.top_news .wrap .news_list {
	background-color: #fff;
}
.top_news .news_list li {
	display: none;
	background: #fff;
}
.top_news .news_list li.current {
	display: block;
}
.top_news .news_list .item {
	border-bottom: 1px dotted #b2b2b2;
}
.top_news .news_list .item a {
	text-decoration: none;
}
.top_news .wrap .category li.current::after,
.top_news .news_list .item a::after,
.top_news .list_all a p::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 27px;
	width: 7px;
	height: 9px;
	margin: auto;
	background-image: url(../img/shared/icon_news01.svg);
	background-repeat: no-repeat;
	background-size: 7px 9px;
}
.top_news .wrap .category li.current::after {
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	transform: rotate(90deg);
}
.top_news .news_list .item a time {
	color: #959595;
}
.top_news .news_list .item a .cat {
	color: #fff;
	font-weight: bold;
	text-align: center;
}
.top_news .news_list .item a .cat.important {
	background-color: #eb6877;
}
.top_news .news_list .item a .cat.notice {
	background-color: #13b5b1;
}
.top_news .news_list .item a .cat.recruit {
	background-color: #c490bf;
}
.top_news .list_all {
	background-color: #fff;
	text-align: right;
}
.top_news .list_all a p {
	display: inline-block;
	position: relative;
}
.hide {
	display: none;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.home .top_news .container {
		padding-bottom: 50px;
	}
	.top_news .ttl {
		padding: 30px 0;
		font-size: 3.6rem;
	}
	.top_news .wrap .category {
		display: flex;
	}
	.top_news .wrap .category li {
		width: 185px;
		margin-right: 5px;
		padding: 13.5px 0;
	}
	.top_news .wrap .category li:hover {
		background-color: #9c130a;
		color: #fff;
	}
	.top_news .wrap .category li.current:hover {
		background-color: #fff;
		color: #313131;
	}
	.top_news .wrap .news_list {
		padding-top: 5px;
	}
	.top_news .news_list .item a {
		display: flex;
		align-items: center;
		position: relative;
		padding: 20px 60px 20px 25px;
	}
	.top_news .news_list .item a:hover::after,
	.top_news .list_all a p:hover::after {
		background-image: url(../img/shared/icon_news02.svg);
	}
	.top_news .news_list .item a .article_ttl {
		text-decoration: underline;
	}
	.top_news .news_list .item a p {
		text-decoration: underline;
	}
	.top_news .news_list .item a:hover p {
		text-decoration: none;
	}
	.top_news .news_list .item a time,
	.top_news .news_list .item a .cat {
		margin-right: 20px;
		font-size: 1.3rem;
		text-decoration: none;
	}
	.top_news .news_list .item a .cat {
		width: 70px;
	}
	.top_news .list_all a p {
		padding: 20px 60px 20px 15px;
		border-bottom: 2px solid #bd291e;
		font-size: 1.7rem;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.home .top_news .container {
		padding-bottom: 5.32vw;
	}
	.top_news .category {
		position: relative;
	}
	.top_news .container .ttl {
		padding: 6vw 0;
		font-size: 5rem;
	}
	.top_news .category .ttl {
		position: relative;
		width: 100%;
		padding: 2.267vw 0;
		background-color: #bd291e;
		color: #fff;
		line-height: 1;
		font-size: 3.6rem;
	}
	.top_news .category .ttl::after {
		content: "";
		display: block;
		position: absolute;
		top: 3.8vw;
		right: 5vw;
		border-style: solid;
		border-width: 2.134vw 1.6vw 0 1.6vw;
		border-color: #fff transparent transparent transparent;
	}
	.top_news .category select {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		font-size: 2.6rem;
	}
	.top_news .news_list .item a {
		display: block;
		position: relative;
		padding: 2.8vw 13vw 2.8vw 4vw;
	}
	.top_news .news_list .item a time,
	.top_news .news_list .item a .cat {
		font-size: 2rem;
		vertical-align: middle;
	}
	.top_news .news_list .item a p {
		margin-top: 2vw;
	}
	.top_news .news_list .item a .cat {
		display: inline-block;
		width: 14vw;
		margin: 0 0 0 2.66vw;
	}
	.top_news .news_list .item a .article_ttl {
		margin-top: 1.867vw;
		line-height: 1.7;
	}
	.top_news .list_all {
		border-bottom: 2px solid #bd291e;
	}
	.top_news .list_all a {
		display: block;
		text-align: center;
		padding: 5.334vw 0;
		font-size: 3.2rem;
		text-decoration: none;
	}
	.top_news .list_all a p {
		display: block;
	}
	.top_news .news_list .item a::after,
	.top_news .list_all a p::after {
		right: 5.4vw;
		width: 2.4vw;
		height: 3.067vw;
		background-size: 2.4vw 3.067vw;
	}
}

/* = サービス一覧
----------------------------------------------- */
.top_service ul {
	display: flex;
	flex-wrap: wrap;
}
.top_service ul li {
	text-align: center;
}
.top_service ul li a {
	display: block;
	text-decoration: none;
}
.top_service ul li a .img {
	background: -moz-linear-gradient(#ffffff 0%, #f9f9f9 100%);
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		from(#ffffff),
		to(#f9f9f9)
	);
	background: -webkit-linear-gradient(#ffffff 0%, #f9f9f9 100%);
	background: -o-linear-gradient(#ffffff 0%, #f9f9f9 100%);
	background: linear-gradient(#ffffff 0%, #f9f9f9 100%);
}
.top_service ul li a .img span {
	display: inline-block;
	position: relative;
	border-radius: 50%;
}
.top_service ul li .img span img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.top_service ul li a p {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	font-weight: bold;
}
.top_service ul li a p::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	border-style: solid;
	border-width: 0 0 35px 35px;
	border-color: transparent transparent #f6f6f6 transparent;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.top_service ul {
		border-top: 1px solid #e9e9e9;
	}
	.top_service ul li {
		width: 16.666%;
	}
	.top_service ul li a {
		border-right: 1px solid #e9e9e9;
		border-bottom: 1px solid #e9e9e9;
	}
	.top_service ul li:nth-child(6n-5) a {
		border-left: 1px solid #e9e9e9;
	}
	.top_service ul li a .img {
		padding: 50px 0;
	}
	.top_service ul li a .img span {
		width: 100px;
		height: 100px;
		margin: 0 auto;
		-webkit-transition: color 0.5s;
		-moz-transition: color 0.5s;
		transition: color 0.5s;
	}
	.top_service ul li a .img span::after {
		display: block;
		pointer-events: none;
		position: absolute;
		width: 86px;
		height: 86px;
		border-radius: 50%;
		content: "";
		top: 5px;
		left: 5px;
		padding: 2px;
		/* box-shadow: 0px 0px 8px #ecb25c; */
		background: transparent;
		-webkit-transition: -webkit-transform 0.5s, opacity 0.8s;
		-moz-transition: -moz-transform 0.5s, opacity 0.8s;
		transition: transform 0.5s, opacity 0.8s;
	}
	.top_service ul li a:hover .img span::after {
		box-shadow: 0px 0px 12px #ecb25c;
		background: #ecb25c;
		-webkit-transform: scale(1.3);
		-moz-transform: scale(1.3);
		-ms-transform: scale(1.3);
		transform: scale(1.3);
		opacity: 0;
	}
	.top_service ul li.item_birth a:hover .img span::after {
		box-shadow: 0px 0px 12px #ecb25c;
		background: #ecb25c;
	}
	.top_service ul li.item_cancer a:hover .img span::after {
		box-shadow: 0px 0px 12px #73b8b5;
		background: #73b8b5;
	}
	.top_service ul li.item_emergency a:hover .img span::after {
		box-shadow: 0px 0px 12px #78bedf;
		background: #78bedf;
	}
	.top_service ul li.item_joint a:hover .img span::after {
		box-shadow: 0px 0px 12px #7db98a;
		background: #7db98a;
	}
	.top_service ul li.item_clinical a:hover .img span::after {
		box-shadow: 0px 0px 12px #dfa477;
		background: #dfa477;
	}
	.top_service ul li.item_nurse a:hover .img span::after {
		box-shadow: 0px 0px 12px #dc8c8f;
		background: #dc8c8f;
	}
	.top_service ul li.item_visit a:hover .img span::after {
		box-shadow: 0px 0px 12px #b388af;
		background: #b388af;
	}
	.top_service ul li.item_team a:hover .img span::after {
		box-shadow: 0px 0px 12px #c3bd73;
		background: #c3bd73;
	}
	.top_service ul li.item_safety a:hover .img span::after {
		box-shadow: 0px 0px 12px #eba3c2;
		background: #eba3c2;
	}
	.top_service ul li.item_public a:hover .img span::after {
		box-shadow: 0px 0px 12px #75a9c8;
		background: #75a9c8;
	}
	.top_service ul li.item_recruit a:hover .img span::after {
		box-shadow: 0px 0px 12px #afcc6c;
		background: #afcc6c;
	}
	.top_service ul li.item_medical a:hover .img span::after {
		box-shadow: 0px 0px 12px #9099c6;
		background: #9099c6;
	}
	.top_service ul li a .img span img {
		width: 100%;
		transition: 0.5s;
		transform: rotateY(0deg);
		z-index: 2;
	}
	.top_service ul li.item_birth .img span img {
		width: 29px;
	}
	.top_service ul li.item_cancer .img span img {
		width: 42px;
	}
	.top_service ul li.item_emergency .img span img {
		width: 48px;
	}
	.top_service ul li.item_joint .img span img {
		width: 49px;
	}
	.top_service ul li.item_clinical .img span img {
		width: 48px;
	}
	.top_service ul li.item_nurse .img span img {
		width: 37px;
	}
	.top_service ul li.item_visit .img span img {
		width: 43px;
	}
	.top_service ul li.item_team .img span img {
		width: 55px;
	}
	.top_service ul li.item_safety .img span img {
		width: 50px;
	}
	.top_service ul li.item_public .img span img {
		width: 33px;
	}
	.top_service ul li.item_recruit .img span img {
		width: 43px;
	}
	.top_service ul li.item_medical .img span img {
		width: 36px;
	}
	.top_service ul li a p {
		padding: 8px 0;
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.top_service ul {
		border-top: 1px solid #e9e9e9;
	}
	.top_service ul li {
		width: 33.14vw;
		width: calc(100% / 3);
	}
	.top_service ul li:nth-child(3n-2) a {
		border-left: 1px solid #e9e9e9;
	}
	.top_service ul li a {
		border-right: 1px solid #e9e9e9;
		border-bottom: 1px solid #e9e9e9;
	}
	.top_service ul li a .img {
		padding: 7.3vw 0;
	}
	.top_service ul li a .img span {
		width: 15.334vw;
		height: 15.334vw;
		margin: 0 auto;
	}
	.top_service ul li.item_birth a .img span img {
		width: 4.4vw;
	}
	.top_service ul li.item_cancer a .img span img {
		width: 6.4vw;
	}
	.top_service ul li.item_emergency a .img span img {
		width: 7.334vw;
	}
	.top_service ul li.item_joint a .img span img {
		width: 7.467vw;
	}
	.top_service ul li.item_clinical a .img span img {
		width: 7.334vw;
	}
	.top_service ul li.item_nurse a .img span img {
		width: 5.334vw;
	}
	.top_service ul li.item_visit a .img span img {
		width: 6.667vw;
	}
	.top_service ul li.item_team a .img span img {
		width: 8.4vw;
	}
	.top_service ul li.item_safety a .img span img {
		width: 7.867vw;
	}
	.top_service ul li.item_public a .img span img {
		width: 5.067vw;
	}
	.top_service ul li.item_recruit a .img span img {
		width: 6.4vw;
	}
	.top_service ul li.item_medical a .img span img {
		width: 5.467vw;
	}
	.top_service ul li a p {
		min-height: 8.4vw;
		padding: 1.3vw;
		font-size: 2.2rem;
	}
	.top_service ul li a p::after {
		border-width: 0 0 5.334vw 5.334vw;
	}
}

/* = 交通アクセス
----------------------------------------------- */
.top_access .ttl {
	position: relative;
	text-align: center;
}
.top_access .ttl::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 5px;
	margin: auto;
	background-color: #bd291e;
}
.top_access .container .wrap .info dl {
	border-top: 1px solid #e9e9e9;
}
.top_access .container .wrap .info dl dt {
	color: #b23329;
	font-weight: bold;
}
.top_access .container .wrap .info dl dd dl dt {
	color: #313131;
}
.top_access .container .wrap .info .access_btn a {
	display: block;
	position: relative;
	border: 1px solid #d2d2d2;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
.top_access .container .wrap .info .access_btn a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 27px;
	width: 7px;
	height: 9px;
	margin: auto;
	background-image: url(../img/shared/icon_arrow03.svg);
	background-repeat: no-repeat;
	background-size: 7px 9px;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.home .top_contents .top_access .container {
		max-width: 1300px;
		padding: 0;
	}
	.top_access .ttl {
		margin-bottom: 40px;
		padding: 70px 0 20px 0;
		font-size: 3.6rem;
	}
	.top_access .container .wrap {
		display: flex;
		justify-content: space-between;
		padding-bottom: 100px;
	}
	.top_access .container .wrap .map {
		width: 57.693%;
	}
	.top_access .container .wrap .info {
		width: 39.231%;
	}
	.top_access .container .wrap .info dl {
		padding: 15px 7px 25px 7px;
	}
	.top_access .container .wrap .info dl dt {
		padding-bottom: 15px;
		font-size: 1.7rem;
	}
	.top_access .container .wrap .info dl dd {
		line-height: 1.9;
	}
	.top_access .container .wrap .info dl dd dl {
		margin-top: 20px;
		padding: 0;
		border: 0;
	}
	.top_access .container .wrap .info dl dd dl dt {
		padding: 0;
		font-size: 1.5rem;
	}
	.top_access .container .wrap .info .access_btn {
		width: 400px;
		margin-top: 20px;
	}
	.top_access .container .wrap .info .access_btn a {
		padding: 16px 60px 16px 50px;
		line-height: 1.7;
		font-size: 20px;
	}
	.top_access .container .wrap .info .access_btn a:hover {
		background-color: #517bba;
		color: #fff;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.top_access .ttl {
		margin-bottom: 6.8vw;
		padding: 9.3vw 0 4vw 0;
		font-size: 5rem;
	}
	.top_access .ttl::after {
		width: 10.667vw;
		height: 1.067vw;
	}
	.top_access .map {
		margin-bottom: 5.32vw;
	}
	.top_access .map iframe {
		height: 85.334vw;
	}
	.top_access .container .wrap {
		margin-bottom: 9.4vw;
	}
	.top_access .container .wrap .info dl {
		margin-bottom: 5.32vw;
	}
	.top_access .container .wrap .info dl dt {
		padding: 2.8vw 1.2vw;
		font-size: 3.2rem;
	}
	.top_access .container .wrap .info dl dd {
		padding: 0 1.2vw;
		line-height: 1.7;
	}
	.top_access .container .wrap .info dl dd dl {
		margin-top: 5.32vw;
		border-top: 0;
	}
	.top_access .container .wrap .info dl dd dl dt,
	.top_access .container .wrap .info dl dd dl dd {
		padding: 0;
	}
	.top_access .container .wrap .info dl dd dl dt {
		margin-bottom: 1vw;
		font-size: 2.6rem;
	}
	.top_access .container .wrap .info .access_btn {
		margin-top: 5.32vw;
		padding: 0;
	}
	.top_access .container .wrap .info .access_btn a {
		padding: 3.8vw 0;
		font-size: 3.6rem;
	}
	.top_access .container .wrap .info .access_btn a::after {
		right: 5.4vw;
		width: 2.4vw;
		height: 3.067vw;
		background-size: 2.4vw 3.067vw;
	}
}

/* = ⽇本⾚⼗字社 関連サイト
----------------------------------------------- */
.home .top_relation {
	border-top: 1px solid #e9e9e9;
}
.top_relation .container .ttl {
	text-align: center;
}
.top_relation .container .slick-initialized .slick-slide a {
	display: block;
	border: 1px solid #e5e5e5;
}

@media print, screen and (min-width: 768px) {
	/* PC */
	.home .top_relation .container {
		max-width: 1300px;
		padding: 0;
		padding-bottom: 75px;
	}
	.top_relation .container .ttl {
		padding: 24px 0;
		font-size: 2.4rem;
	}
	.top_relation .container .slick-initialized .slick-slide {
		padding: 0 12px;
	}
	.top_relation .container .slick-initialized .slick-slide a:hover {
		opacity: 0.8;
	}
	.top_relation .container .slick-list {
		max-width: 1120px;
		margin: 0 auto;
	}
}

@media screen and (max-width: 767px) {
	/* SP */
	.top_relation .container .ttl {
		padding: 5.667vw 0;
		font-size: 5rem;
	}
	.top_relation .container ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: baseline;
		margin-bottom: 9.4vw;
	}
	.top_relation .container ul li {
		width: 47.599%;
		margin-bottom: 4vw;
		border: 1px solid #e5e5e5;
	}
	.top_relation .container ul li:last-child,
	.top_relation .container ul li:nth-last-child(2) {
		margin-bottom: 0;
	}
	.top_relation .container ul li a {
		display: block;
	}
}

/*--------------------------------------------------------

for iphone

----------------------------------------------------------*/
.iphone .list02 {
	padding-left: 4vw;
}

/*--------------------------------------------------------

for print only

----------------------------------------------------------*/
@media print {
	/* Hide various parts from the site
    .js-animation {
        display: none;
    }
    */
	html {
		max-width: 1300px;
		margin: 0 auto;
		zoom: 65%;
	}
	.header .g_nav {
		position: relative !important;
	}
	.main_visual {
		max-width: 1300px;
		margin: 0 auto;
		padding: 0;
	}
	.slider li {
		width: 1200px;
		margin: 0 auto;
	}
	.page_ttl {
		padding-top: 0;
	}
}
