@charset "utf-8";

/* break point */
/* ---------------------
	(max-width) 1320, 991, 768
	(min-width) 1321, 992, 769
--------------------- */

/*========================================
	*top
========================================*/

/*------------------------------
	*common
------------------------------*/
.top_title {
 margin-bottom: 55px;
 position: relative;
 line-height: 1;
}
.top_title h2 {
 font-size: 4.2em;
 text-shadow: 3px 0 0 #fff,-3px 0 0 #fff,0 3px 0 #fff,0 -3px 0 #fff,2px 2px 0 #fff,-2px 2px 0 #fff,2px -2px 0 #fff,-2px -2px 0 #fff;
}
.top_title p {
 font-size: 7.2em;
 color: #e5e5e5;
 font-weight: 600;
 position: absolute;
 left: 45px;
 bottom: 15px;
 z-index: -1;
 transform: scale(0.8, 1);
 -moz-transform: scale(0.8, 1);
 -webkit-transform: scale(0.8, 1);
 -ms-transform: scale(0.8, 1);
}
.top_btn a {
 font-size: 1.7em;
 color: #fff;
 background: #007dbc;
 text-align: center;
 padding: 8px 10px;
 position: relative;
}
.top_btn a span::after {
 content: "";
 width: 9px;
 aspect-ratio: 1 / 1;
 border-top: 2px solid #fff;
 border-right: 2px solid #fff;
 position: absolute;
 top: 50%;
 right: 20px;
 transform: rotate(45deg) translateY(-50%);
}
@media screen and (max-width: 768px) {
 .top_title {
  margin-bottom: 25px;
 }
 .top_title h2 {
  font-size: 3em;
 }
 .top_title p {
  font-size: 5em;
  left: 20px;
  letter-spacing: -0.03em;
 }
}


/*------------------------------
	*メイン画像
------------------------------*/
.main_visual {
	position: relative;
}
.main_slider {
	position: relative;
	overflow: hidden;
}
.main_slider .swiper-slide,.main_slider picture,.main_slider img {
	width: 100%;
	height: 100%;
}
.main_slider img {
	object-fit: cover;
}
/* コントロール */
.controls {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 16px;
	z-index: 10;
}
/* ページャー */
.controls .pagination {
	position: static;
	width: auto;
}
.pagination .swiper-pagination-bullet {
	background: #b3b3b3;
	border: 1px solid #8f8f8f;
 border-radius: 50%;
	opacity: 1;
	width: 12px;
	height: 12px;
 outline: none;
}
.pagination .swiper-pagination-bullet-active {
	background: #3abeeb;
}
.toggle {
	width: 28px;
	height: 28px;
	border: none;
	background: #fff;
	border: 1px solid #4d4d4d;
	border-radius: 50%;
	cursor: pointer;
	position: relative;
}
.toggle::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 10px;
	background: linear-gradient(to right, #000 0 3px, transparent 3px 5px, #000 5px 10px);
}
.toggle.is-paused::before {
	content: '';
	width: 0;
	height: 0;
	border-left: 8px solid #000;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	background: none;
	transform: translate(-40%, -50%);
}
.slider_banner {
 position: absolute;
 right: 30px;
 bottom: 20px;
 z-index: 10;
}
.slider_banner ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-end;
 width: 220px;
 gap: 10px;
}
.slider_banner li {
	max-width: 106px;
}
.slider_banner img {
	display: block;
	max-width: 100%;
	height: auto;
}
@media (hover: hover) and (min-width: 992px) {
	.slider_banner a:hover,button.toggle:hover {
		opacity: 0.8;
	}
 .pagination .swiper-pagination-bullet:hover:not(.swiper-pagination-bullet-active) {
  background: #606060;
 }
}
@media screen and (max-width: 991px) {
 .controls {
  transform: unset;
  left: 15px;
 }
 .slider_banner li {
  max-width: 88px;
 }
}
@media screen and (max-width: 768px) {
 .controls {
  bottom: 10px;
  gap: 8px;
 }
 .pagination .swiper-pagination-bullet {
  margin: 0 6px 0 0 !important;
 }
 .toggle {
  width: 26px;
  height: 26px;;
 }
 .slider_banner {
  right: 10px;
  bottom: 15px;
 }
 .slider_banner li {
  max-width: 70px;
 }
}


/*------------------------------
	*ご案内
------------------------------*/
.info_btn_box {
 background: #f5f5f5;
}
.info_btn_box ul {
 max-width: 1100px;
 margin: auto;
 display: grid;
 grid-template-columns: repeat(5,1fr);
 gap: 20px;
 align-items: stretch;
}
.info_btn_box li {
 height: 138px;
}
.info_btn_box li a {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 padding: 20px;
 height: 100%;
 background: #fff;
 border-radius: 10px;
 box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.info_btn_box .icon {
 flex: 1;
 display: flex;
 align-items: center;
 justify-content: center;
}
.info_btn_box li a img {
 aspect-ratio: 75 / 59;
 width: 75px;
 margin: auto;
}
.info_btn_box li a p {
 letter-spacing: 1.2px;
 text-align: center;
}
.info_btn_box li a span {
 font-size: 1.6em;
 line-height: 1.1;
 font-weight: bold;
 margin-top: 10px;
}
.info_btn_box li a span.em {
 font-size: 1.7em;
}
@media (hover: hover) and (min-width: 992px) {
	.info_btn_box li a:hover {
		background: #edf6ff;
  text-decoration: underline;
	}
}
@media screen and (max-width: 1320px) {
 .info_btn_box ul {
  grid-template-columns: repeat(3,1fr);
 }
}
@media screen and (max-width: 768px) {
 .top_information {
  margin-top: 70px;
 }
 .info_btn_box ul {
  grid-template-columns: repeat(2,1fr);
  gap: 12px;
 }
 .info_btn_box li {
  height: 127px;
 }
 .info_btn_box li a {
  padding: 10px 5px 15px;
 }
 .info_btn_box li a p {
  letter-spacing: unset;
 }
 .info_btn_box li a span {
  font-size: 1.4em;
 }
 .info_btn_box li a span.em {
  font-size: 1.6em;
 }
}


/*------------------------------
	*外来受診・休診日
------------------------------*/
.info_visit {
 border: 1px solid #eeeeee;
 box-shadow: 0px 0px 7px 0.28px rgba(42, 55, 67, 0.2);
 padding: 30px 40px;
 padding: 22px 30px 30px;
}
.info_visit_inner {
 display: flex;
 gap: 20px;
 justify-content: space-around;
}
.reception_box,.closed_box {
 width: 100%;
}
.visit_box_inner {
 width: auto;
 margin: 0 auto;
}
.info_visit h3 {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 margin-bottom: 8px;
}
.info_visit h3 span {
 font-size: 22px;
 color: #08478d
}
.info_visit h3 span.sub {
 font-size: 15px;
 color: #cc0000;
}
.box_body {
 padding-left: 20px;
}

/* 外来受診 */
.reception_box {
 max-width: 638px;
 max-width: 618px;
}
.reception_item_box {
 display: flex;
 flex-wrap: wrap;
 gap: 5px 40px;
}
.reception_item {
 display: flex;
 align-items: center;
}
.reception_item h4 {
 font-size: 1.5em;
 font-weight: 500;
 background: #d9ecff;
 color: #08478d;
 border-radius: 15px;
 text-align: center;
 width: 80px;
 margin-right: 25px;
}
.reception_item p, .reception_item span {
 line-height: 1.4;
}
.reception_item p span {
 font-weight: bold;
}
.reception_item p span.text_l {
 font-size: 26px;
}
.reception_item p span.text_s {
 font-size: 20px;
}
.reception_box p.reception_note {
 font-size: 1.4em;
 margin-top: 10px;
}
/* ライン */
.visit_border {
 width: 1px;
 height: 90px;
 background: #aaa;
 flex-shrink: 0;
 align-self: stretch;
 margin: auto 0;
}
/* 休診日 */
.closed_box {
 max-width: 284px;
 max-width: 264px;
}
.closed_box p {
 font-size: 1.5em;
}

.visit_btn {
 display: flex;
 justify-content: center;
 gap: 20px;
 flex-wrap: wrap;
 margin-top: 15px;
}
.visit_btn a {
 font-size: 1.6em;
 border: 1px solid #08478d;
 background: #fff;
 color: #08478d;
 padding: 6px 32px 6px 20px;
 width: 100%;
 max-width: 156px;
 line-height: 1.2;
 font-weight: 500;
}
.visit_btn a span::after {
 border-color: #08478d;
}
@media (hover: hover) and (min-width: 992px) {
 .visit_btn a:hover {
  background: #08478d;
  color: #fff;
 }
 .visit_btn a:hover span::after {
  border-color: #fff;
 }
}
@media screen and (max-width: 991px) {
 .info_visit_inner {
  gap: 50px;
 }
 .box_body {
  padding-left: 10px;
 }
 .reception_box {
  max-width: 400px;
 }
 .closed_box {
  max-width: 230px;
 }
 .reception_item h4 {
  margin-right: 20px;
 }
}
@media screen and (max-width: 768px) {
 .info_visit {
  box-shadow: unset;
  border: unset;
  width: unset;
  max-width: unset;
  padding: 10px 15px;
 }
 .info_visit_inner {
  display: block;
 }
 .reception_box, .closed_box {
  max-width: 580px;
  margin: 0 auto;
 }
 .visit_border {
  width: 85%;
  max-width: 550px;
  height: 1px;
  margin: 23px auto 20px;
 }
 .reception_item_box {
  justify-content: space-between;
  gap: 2px 15px;
 }
}


/*------------------------------
	*重要なお知らせ・小児科
------------------------------*/
.info_btm_box h3 {
 font-size: 2.4em;
 text-align: center;
 font-weight: 500;
 line-height: 1.2;
}
.info_btm_box .info_inner {
 display: flex;
 align-items: stretch;
 gap: 30px 40px;
}
.news_imp_box {
 width: 100%;
 max-width: 490px;
 background: #ffe1ed;
}
.news_imp_box h3 {
 color: #c1272d;
 margin-bottom: 15px;
}
.news_imp_box h3::before {
 content: "";
 display: inline-block;
 background: url("images/icon_imp.png") no-repeat center center;
 width: 23px;
 aspect-ratio: 1 / 1;
 vertical-align: -3px;
 margin-right: 10px;
}
.news_imp_list li a {
 display: block;
 font-size: 1.8em;
 padding: 20px 0 20px 30px;
 border-bottom: 1px solid #ccc;
 position: relative;
}
.news_imp_list li a::before {
 content: "";
 width: 9px;
 aspect-ratio: 1 / 1;
 border-top: 2px solid #808080;
 border-right: 2px solid #808080;
 position: absolute;
 top: 50%;
 left: 5px;
 transform: rotate(45deg) translateY(-50%);
}
.info_box {
 width: 100%;
}
.info_box .box_inner {
 padding: 20px;
}
.info_box h3 {
 color: #fff;
 background: #004898;
 border-radius: 5px;
 padding: 11px;
 margin-bottom: 20px;
}
.info_box .meta {
 color: #cc0000;
 font-weight: 500;
 display: flex;
 justify-content: space-between;
 align-items: center;
 flex-wrap: wrap;
 padding: 10px 0 20px;
}
.info_box .meta p span,.info_box .meta p.note {
 font-size: 1.7em;
}
.info_box .meta p span.time {
 font-size: 2.3em;
}
.info_box .schedule_list {
 padding: 10px 0;
}
.month_box {
 display: flex;
 align-items: center;
 gap: 10px 20px;
}
.info_box .schedule_list .month_box + .month_box {
 margin-top: 25px;
}
.month_box .month {
 font-size: 1.8em;
 font-weight: 500;
 background: #86c1e9;
 padding: 2px 8px;
 text-align: center;
 width: 100%;
 max-width: 126px;
 border-radius: 5px;
}
.month_box .dates {
 font-size: 1.7em;
 font-weight: 500;
 display: flex;
 flex-wrap: wrap;
 gap: 4px 8px;
}
.month_box .date {
 white-space: nowrap;
}
.month_box .date::after {
 content: "、";
}
.month_box .date:last-child::after {
 content: "";
}
@media (hover: hover) and (min-width: 992px) {
 .news_imp_list li a:hover {
  text-decoration: underline;
 }
}
@media screen and (max-width: 1320px) {
 .info_btm_box .info_inner {
  flex-direction: column;
 }
 .news_imp_box {
  max-width: unset;
 }
 .info_box .meta {
  justify-content: center;
  flex-direction: column;
 }
}
@media screen and (max-width: 768px) {
 .info_btm_box .info_inner {
  max-width: unset;
  width: unset;
 }
 .news_imp_box h3,.info_box h3 {
  font-size: 2.1em;
 }
 .news_imp_list li a {
  padding: 16px 0 16px 25px;
  font-size: 1.6em;
 }
 .news_imp_list li a::before {
  left: 2px;
 }
 .info_box .box_inner {
  padding: 20px;
 }
 .info_box .meta {
  padding: 0 0 20px;
 }
 .info_box .meta p span, .info_box .meta p.note {
  font-size: 1.6em;
 }
 .info_box .meta p span.time {
  font-size: 2em;
 }
 .info_box .schedule_list {
  padding: 0 10px;
 }
 .month_box {
  flex-direction: column;
  gap: 5px 10px;
 }
 .month_box .month {
  max-width: unset;
  font-size: 1.7em;
 }
 .month_box .dates {
  justify-content: center;
  font-size: 1.6em;
  gap: 0;
 }
}


/* 新着情報 */
.tab_list {
	display: flex;
	align-items: stretch;
	gap: 15px 10px;
	margin-bottom: 20px;
}
.tab_list li {
	display: flex;
	flex: 1;
}
.tab_list li button {
	width: 100%;
	font-size: 1.7em;
	text-align: center;
 font-weight: 500;
 background: #fff;
	border: 1px solid #666;
 border-radius: 5px;
	padding: 0.57em 0.3em;
}
.tab_list li button.current {
	position: relative;
 color: #fff;
	background: #007dbc;
	border-color: #007dbc;
}
.tab_list li button.current::after {
	content: '';
	width: 16px;
	height: 8px;
	border: 8px solid transparent;
	border-top: 8px solid #007dbc;
	border-bottom: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
}
.tab-content {
	display: none;
}
.tab-content.is-active {
	display: block;
}

.news_list li a .date {
 min-width: 120px;
}
.news_list li a .cat {
 min-width: 100px;
}
.news_btn {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-top: 40px;
}
.news_btn a {
 width: 100%;
 max-width: 300px;
}
@media (hover: hover) and (min-width: 992px) {
	.tab_list li button:not(.current):hover {
		background: #eee;
  text-decoration: underline;
	}
 .news_btn a:hover {
  background: #003775;
 }
}
@media screen and (max-width: 991px) {
	.tab_list {
		flex-wrap: wrap;
	}
	.tab_list li {
		flex: auto;
		width: calc((100% - 20px) / 3);
	}
}
@media screen and (max-width: 768px) {
 .tab_list {
  gap: 12px 6px;
 }
 .tab_list li button {
  font-size: 1.5em;
  padding: 0.25em 0.1em;
 }

 .news_btn {
  justify-content: flex-end;
 }
 .news_btn a {
  display: flex;
  font-size: 1.6em;
  justify-content: space-between;
  align-items: center;
  max-width: 160px;
  padding: 8px 20px;
 }
}


/* キャッチコピー */
.catch {
 padding: 0 0 30px;
 display: flex;
 justify-content: right;
 margin-top: -30px;
}
.catch p span {
 font-size: clamp(1.4em, 2.8vw, 2.8em);
 font-family: "Noto Serif JP", serif;
 font-weight: 700;
 line-height: 1.4;
 letter-spacing: 0.05em;
}
.catch p:nth-child(2) span {
 padding-left: 2.8em;
}
.catch span.em.bold {
 font-weight: 900;
}
@media screen and (max-width: 768px) {
 .catch {
  padding: 25px 0;
 }
 .catch p span {
  font-size: clamp(1.45em, 4vw, 2em);
  line-height: 1.3;
 }
 .top_useful_info .catch p:nth-child(2) span {
  padding-left: 1em;
 }
}


/* 当院の特徴 */
.top_features .catch_inner {
 text-align: right;
 padding-right: clamp(3.5em, 9.5vw, 15em);
}
.top_features .catch span {
 font-size: 4.2em;
}
.top_features .catch span.em {
 font-size: 4.8em;
}
.top_features .catch span.accent {
 position: relative;
}
.top_features .catch span.accent::before {
 content: "";
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%,-50%);
 z-index: -77;
}
.top_features .catch span.accent.green::before {
 background: url("images/catch_accent_green.png") no-repeat 0 0 / cover;
 width: 90px;
 height: 90px;
}
.top_features .catch span.accent.pink::before {
 background: url("images/catch_accent_pink.png") no-repeat 0 0 / cover;
 width: 58px;
 height: 58px;
}
.top_features  .catch p:nth-child(1) span:last-child {
 padding-right: 2em;
}
.top_features .catch p:nth-child(2) span {
 padding: 0;
}
.top_features .catch p:nth-child(2) span::after {
 content: "!!";
 display: inline-block;
 transform: scale(1 , 1.15);
}

.feature_list {
 display: flex;
 flex-direction: column;
 gap: 5px;
}
.feature_item {
 background-size: 140% 140%;
 background-position: center;
}
.feature_item:nth-child(1) {
 background-image: linear-gradient(260deg, rgb(230, 215, 177) 0%, rgb(255, 255, 255) 48%);
}
.feature_item:nth-child(2) {
 background-image: linear-gradient(110deg, rgb(206, 224, 255) 0%, rgb(255, 255, 255) 48%);
}
.feature_item:nth-child(3) {
 background-image: linear-gradient(260deg, rgb(255, 220, 213) 0%, rgb(255, 255, 255) 48%);
}
.feature_item:nth-child(4) {
 background-image: linear-gradient(110deg, rgb(188, 236, 210) 0%, rgb(255, 255, 255) 48%);
}

.feature_item a {
 display: flex;
 align-items: stretch;
 overflow: hidden;
}
.feature_item:nth-child(even) a {
 flex-direction: row-reverse;
}
.feature_img {
 position: relative;
 overflow: hidden;
}
.feature_item:nth-child(odd) .feature_img {
 clip-path: polygon(0 0,calc(100% - 142px) 0,100% 100%, 0 100%);
}
.feature_item:nth-child(even) .feature_img {
 clip-path: polygon(142px 0,100% 0,100% 100%, 0 100%);
}
.feature_img img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.feature_item:nth-child(odd) .feature_img img {
 object-position: 20% 50%;
 padding-right: 80px;
}
.feature_item:nth-child(even) .feature_img img {
 object-position: 78% 50%;
 padding-left: 80px;
}
.feature_img::before {
 content: "";
 position: absolute;
 top: 0;
 width: clamp(76px, 7.2vw, 96px);
 height: 100%;
 z-index: 88;
}
.feature_item:nth-child(odd) .feature_img::before {
 right: 68px;
 transform: skewX(25deg);
}
.feature_item:nth-child(even) .feature_img::before {
 left: 68px;
 transform: skewX(335deg);
}
.feature_item:nth-child(1) .feature_img::before {
 background: #d8c79a;
}
.feature_item:nth-child(2) .feature_img::before {
 background: #cee0ff;
}
.feature_item:nth-child(3) .feature_img::before {
 background: #ffc3b8;
}
.feature_item:nth-child(4) .feature_img::before {
 background: #ccecdb;
}

.feature_content {
 position: relative;
 display: flex;
 flex-direction: column;
 justify-content: center;
 height: 300px;
}
.feature_item:nth-child(odd) .feature_content {
 padding-left: clamp(10px, 0.8vw, 30px);
}
.feature_item:nth-child(even) .feature_content {
 padding-left: clamp(50px, 5vw, 120px);
}
.feature_content h3 {
 font-size: 3.6em;
 font-weight: bold;
 margin-bottom: 20px;
 line-height: 1.4;
}
.feature_content p {
 font-size: 1.9em;
}
.feature_content .sp_text {
 display: none;
}
@media screen and (max-width: 1320px) {
 .feature_item:nth-child(odd) .feature_img img,
 .feature_item:nth-child(even) .feature_img img {
  padding: 0;
 }
}
@media (hover: hover) and (min-width: 992px) {
 .feature_item a:hover img {
  opacity: 0.7;
 }
 .feature_img {
  flex: 1 1 auto;
  min-width: 0;
 }
 .feature_content {
  flex: 0 0 clamp(355px, 32vw, 474px);
  width: clamp(355px, 32vw, 474px);
 }
 .feature_item a {
  height: 300px;
 }
 .feature_content p {
  padding-left: clamp(5px,0.5vw,20px);
 }
 .feature_item:nth-child(odd) .feature_content {
  padding-left: clamp(10px, 0.8vw, 30px);
 }
 .feature_item:nth-child(even) .feature_content {
  padding-left: clamp(50px, 5vw, 120px);
 }
}
@media screen and (max-width: 991px) {
 .feature_content {
  flex: 0 0 48%;
 }
 .feature_item:nth-child(odd) .feature_content {
  padding-left: 0;
  padding-right: clamp(10px, 1.4vw, 50px);
  align-items: flex-end;
 }
 .feature_item:nth-child(even) .feature_content {
  padding-left: clamp(10px, 1.4vw, 50px);
  align-items: flex-start;
 }
}
@media screen and (max-width: 768px) {
 .top_features .top_title p,.top_useful_info .top_title p {
  font-size: 4.5em;
  left: 10px;
 }
 .top_features .catch_inner {
  padding-right: 0;
 }
 .top_features .catch p span {
  font-size: 2em;
 }
 .top_features .catch p span.em {
  font-size: 2.5em;
 }
 .top_features .catch span.accent.green::before {
  width: 48px;
  height: 48px;
 }
 .top_features .catch span.accent.pink::before {
  width: 38px;
  height: 38px;
 }

 .feature_img {
  width: 48%;
 }
 .feature_item:nth-child(odd) .feature_img {
  clip-path: polygon(0 0,calc(100% - 39px) 0,100% 100%, 0 100%);
 }
 .feature_item:nth-child(even) .feature_img {
  clip-path: polygon(39px 0,100% 0,100% 100%, 0 100%);
 }
 .feature_item:nth-child(odd) .feature_img img {
  object-position: 30% 50%;
 }
 .feature_item:nth-child(even) .feature_img img {
  object-position: 60% 50%;
 }
 .feature_img::before {
  width: 39px;
  width: 35px;
 }
 .feature_item:nth-child(odd) .feature_img::before {
  right: 19px;
  transform: skewX(13deg);
 }
 .feature_item:nth-child(even) .feature_img::before {
  left: 19px;
  transform: skewX(347deg);
 }
 .feature_content {
  flex: 1;
  height: 164px;
 }
 .feature_item:nth-child(odd) .feature_content {
  padding-right: 10px;
 }
 .feature_item:nth-child(even) .feature_content {
  padding-left: 10px;
 }
 .feature_content h3 {
  font-size: 2.2em;
  margin-bottom: 14px;
 }
 .feature_content p {
  font-size: 1.4em;
  line-height: 1.4;
 }
 .feature_content .pc_text {
  display: none;
 }
 .feature_content .sp_text {
  display: block;
 }
}


/* お役立ち情報 */
.useful_slider {
 display: flex;
 align-items: center;
 position: relative;
 padding-bottom: 52px;
}
.useful_slider .swiper-wrapper {
 margin: 0 -7.5px;
}
.useful_slider_inner {
 margin: 0 30px;
 padding: 1em 0;
 overflow: hidden;
 position: relative;
}
.useful_slide a,.useful_slide img {
	width: 100%;
 height: 100%;
 object-fit: cover;
}
.useful_slide img {
 border-radius: 12px;
 box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.08);
}
.swiper-slide.useful_slide {
 margin: 0 7.5px;
 box-sizing: border-box;
}
.useful_slider .swiper-button-next, .useful_slider .swiper-button-prev {
 width: auto;
 height: auto;
 color: #000;
 transform: translateY(-50%);
 top: calc(50% - 30px);
 margin: 0;
}
.useful_slider .swiper-button-prev {
 left: 0;
}
.useful_slider .swiper-button-next {
 right: 0;
}
.useful_slider .swiper-button-prev::after,
.useful_slider .swiper-button-next::after {
 font-size: 2.5em;
}
.useful_slider .swiper-pagination {
	bottom: 0;
}
.useful_slider .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #b3b3b3;
	outline: unset;
}
.useful_slider .swiper-pagination-bullet-active {
	background: #336699;
}

.useful_slider .swiper-toggle {
	position: absolute;
	right: 30px;
	bottom: 8px;
	background: #fff;
	color: #333;
 border: 1px solid #4d4d4d;
	padding: 2px 10px;
	font-size: 1.4em;
}
.useful_slider .swiper-toggle::before {
 content: "";
 display: inline-block;
	width: 8px;
	height: 10px;
	background: linear-gradient(to right, #000 0 3px, transparent 3px 5px, #000 5px 10px);
 margin-right: 5px;
}
.useful_slider .swiper-toggle.is-paused::before {
	content: '';
	width: 0;
	height: 0;
	border-left: 8px solid #000;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	background: none;
}
@media (hover: hover) and (min-width: 992px) {
 .useful_slide a:hover img {
  opacity: 0.7;
 }
 .useful_slider .swiper-toggle:hover {
  background: #eee;
 }
 .useful_slider .swiper-pagination-bullet:hover:not(.swiper-pagination-bullet-active) {
  background: #868686;
 }
}
@media screen and (max-width: 768px) {
 .useful_inner {
  width: 100%;
 }
 .useful_slider {
  padding-bottom: 55px;
 }
 .swiper-wrapper,.useful_slider_inner {
  margin: 0;
 }
 .useful_slider .swiper-button-prev,
 .useful_slider .swiper-button-next,
 .useful_slider .swiper-button-prev::after,
 .useful_slider .swiper-button-next::after {
  display: none;
 }
 .useful_slider .swiper-pagination {
  bottom: 6px;
  left: 15px;
  text-align: left;
  width: 80%;
 }
 .useful_slider .swiper-toggle {
  right: 15px;
  bottom: 0;
 }
 .useful_slide img {
  border-radius: 15px;
 }
}


/* 関連施設 */
.top_facilities .facilities_list {
 display: flex;
 justify-content: center;
 gap: 15px 10px;
 display: grid;
 grid-template-columns: repeat(3,minmax(284px,1fr));
}
.top_facilities .facilities_item {
 width: 100%;
 border: 1px solid #696969;
 border-radius: 10px;
 padding: 1px;
}
.top_facilities .facilities_item a {
 display: flex;
 align-items: center;
}
.top_facilities .facilities_img {
 width: 100%;
 max-width: clamp(85px,6vw,121px);
 height: 100%;
}
.top_facilities .facilities_img img {
 border-radius: 8px 0 0 8px;
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.top_facilities .facilities_content {
 padding: 4px 0px 4px 10px;
 display: flex;
 flex-direction: column;
 justify-content: center;
 line-height: 1.2;
}
.top_facilities .facilities_title {
 font-size: clamp(1.5em, 1.2vw, 1.8em);
}
.top_facilities .facilities_title::after {
 content: "";
 display: inline-block;
 width: 15px;
 height: 15px;
 background: url("images/link-target.png") no-repeat 0 0 / cover;
 margin-left: 10px;
 vertical-align: -1px;
}
.top_facilities .facilities_text {
 font-size: clamp(1.3em, 1vw, 1.5em);
 margin-top: 5px;
}
@media (hover: hover) and (min-width: 992px) {
 .top_facilities .facilities_item a:hover .facilities_title {
  text-decoration: underline;
 }
 .top_facilities .facilities_item a:hover img {
  opacity: 0.7;
 }
}
@media screen and (max-width: 1320px) {
 .top_facilities .facilities_list {
  grid-template-columns: repeat(2, minmax(284px, 358px));
 }
 .top_facilities .facilities_item {
  max-width: 358px;
 }
 .top_facilities .facilities_item:first-child {
  grid-column: 1 / -1;
  justify-self: center;
 }
 .top_facilities .facilities_img {
  max-width: 121px;
 }
 .top_facilities .facilities_content {
  padding: 10px 0 10px 12px;
 }
 .top_facilities .facilities_title {
  font-size: 1.8em;
 }
 .top_facilities .facilities_text {
  font-size: 1.4em;
 }
}
@media screen and (max-width: 991px) {
 .top_facilities .facilities_list {
  grid-template-columns: 100%;
 }
 .top_facilities .facilities_item {
  max-width: 438px;
  justify-self: center;
 }
 .top_facilities .facilities_img {
  max-width: 151px;
 }
}
@media screen and (max-width: 768px) {
 .top_facilities .facilities_img {
  width: 33%;
  min-width: 80px;
 }
 .top_facilities .facilities_content {
  padding: 5px 0 5px 10px;
 }
 .top_facilities .facilities_title {
  font-size: clamp(1.6em, 2.5vw, 2em);
 }
 .top_facilities .facilities_title::after {
  width: 12px;
  height: 12px;
  margin-left: 6px;
  vertical-align: 1px;
 }
 .top_facilities .facilities_text {
  font-size: clamp(1.4em,2.2vw ,1.6em);
 }
}