@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&family=Zen+Maru+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');

/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
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,
font,
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 {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}

html {
	font-size: 62.5%;
}

body,
table,
input,
textarea,
select,
option {
	font-family: 'Outfit', 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
	display: block;
}

ol,
ul {
	list-style: none;
	box-sizing: border-box;
}

blockquote,
q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}

a,
a:link {
	color: #191919;
	text-decoration: none;
}

a:visited {
	color: #191919;
}

a:hover {
	opacity: 0.7;
}

a:active {
	color: #191919;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	margin: 0 auto;
	color: #1E1E1E;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 1px;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFFFFF;
}

.content {
	max-width: 1000px;
	width: 95%;
	margin: 0 auto;
}

#container {
	position: relative;
	z-index: 0;
	text-align: left;
}

#main {
	display: block;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}

@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.5rem;
	}

	.content {
		width: 90%;
	}

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}

	.pc {
		display: none !important;
	}

	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}

/*------------------------------------------------------------
	共通
------------------------------------------------------------*/
.br-tb {
	display: none;
}

.br-sp {
	display: none;
}

@media screen and (max-width:896px) {
	.br-tb {
		display: block;
	}

	.tb-off {
		display: none;
	}
}

@media screen and (max-width:425px) {
	.br-sp {
		display: block;
	}

	.sp-off {
		display: none;
	}
}



/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

#header .header_content {
	background-color: #fff;
	padding: 30px;
	display: flex;
	justify-content: space-between;
}

#header .header_content .right {
	display: flex;
	align-items: center;
	gap: 30px;
}

#header .header_logo a h1 {
	font-size: clamp(9px, 2vw, 10px);
	display: flex;
	align-items: center;
	gap: 15px;
	letter-spacing: 0;
}

#header .header_logo a h1 span {
	font-size: clamp(17px, 5vw, 24px);
	color: #00C6EA;
}

#header .header_nav nav ul {
	display: flex;
	align-items: center;
}

#header .header_nav nav ul li a {
	display: block;
	padding: 0 20px;
	line-height: 1.0;
	color: #00C6EA;
	background-image: linear-gradient(to bottom, #00C6EA 2px, transparent 2px);
	background-size: 2px 4px;
	background-repeat: repeat-y;
	background-position: right top;
	font-weight: bold;
	letter-spacing: 0;
}

#header .header_tel a {
	font-size: 19px;
	color: #00C6EA;
	font-weight: 500;
}

#header .header_tel a span {
	font-size: 25px;
	letter-spacing: 1px;
}

#header .zdo_drawer_menu {
	display: none;
}

#header .zdo_drawer_menu .header_tel {
	margin-top: 30px;
}

#header .zdo_drawer_menu .header_tel a {
	background-color: #00C6EA;
	color: #fff;
	text-align: center;
	border-radius: 50vh;
}

@media screen and (max-width:1275px) {
	#header .header_nav nav ul li a {
		font-size: 14px;
		padding: 0 15px;
	}

	#header .header_tel a {
		font-size: 16px;
	}

	#header .header_tel a span {
		font-size: 22px;
	}
}

@media screen and (max-width:1150px) {
	#header .header_content .right {
		display: none;
	}

	#header .zdo_drawer_menu {
		display: block;
	}
}

@media screen and (max-width:896px) {
	#header .header_content {
		padding: 20px 15px;
	}
}

@media screen and (max-width:430px) {
	#header .header_logo a h1 {
		gap: 10px;
	}
}


/*------------------------------------------------------------
	メインビジュアル
------------------------------------------------------------*/
#mainvisual {
	margin-top: 97.5px;
	width: 100%;
	position: relative;
}

#mainvisual .mainvisual_img {
	width: 95%;
	height: 95%;
	margin: auto;
	overflow: hidden;
	border-radius: 20px;
}

#mainvisual .mainvisual_img .swiper-slide {
	height: 100%;
	width: 100%;
	position: relative;
}

#mainvisual .mainvisual_img .swiper-slide::before {
	content: "";
	background-color: rgba(0, 0, 0, 0.1);
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

#mainvisual .mainvisual_img .swiper-slide img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	min-height: 400px;
	object-position: left center;
}

#mainvisual .mainvisual_ttl {
	position: absolute;
	bottom: 10%;
	right: 5%;
	z-index: 99;
	writing-mode: vertical-rl;
}

#mainvisual .mainvisual_ttl h2 {
	font-size: clamp(26px, 3vw, 38px);
	font-weight: normal;
	color: #fff;
	letter-spacing: 5px;
}

@media screen and (max-width:896px) {
	#mainvisual {
		margin-top: 75px;
	}

	#mainvisual .mainvisual_img {
		width: 90%;
		height: 95%;
	}

	#mainvisual .mainvisual_ttl {
		right: 10%;
		bottom: 5%;
	}
}


@media screen and (max-width:480px) {
	#mainvisual .mainvisual_img .swiper-slide img {
		object-position: 25% center;
	}
}

/*------------------------------------------------------------
	共通
------------------------------------------------------------*/
.top_ttl {
	writing-mode: vertical-rl;
	margin-right: auto;
	padding-right: 85px;
	margin-right: 35px;
	position: relative;
}

.top_ttl::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 45%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.top_ttl h2 {
	color: #00C6EA;
	font-size: clamp(26px, 4vw, 36px);
	letter-spacing: 5px;
}

@media screen and (max-width:896px) {
	.top_ttl {
		writing-mode: horizontal-tb;
		text-align: center;
		padding: 25px 0;
		width: fit-content;
		margin: 0 auto 25px;
		position: relative;
	}

	.top_ttl::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
		z-index: -1;
	}

	.top_ttl h2 {
		letter-spacing: 2px;
	}
}

/* フェードイン */
.fadeInWrapper {
	opacity: 0;
	transition: all 1s;
	transform: translate(0, 50px);
}

.fadeInWrapper.fadeIn {
	opacity: 1;
	transform: translate(0, 0);
}

/* ローディング */
#splash {
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 101;
	background: #fff;
	text-align: center;
}

#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

#splash_logo .header_logo h1 {
	font-size: 14px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
}

#splash_logo .header_logo h1 span {
	font-size: 30px;
	color: #00C6EA;
}

/*------------------------------------------------------------
	お知らせ・診療時間
------------------------------------------------------------*/
#sec_01 .sec_01-content {
	padding: 50px 0 100px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 100px;
}

#sec_01 .sec_01-ttl {
	text-align: center;
	padding: 30px 0;
	width: fit-content;
	margin: 0 auto 25px;
	position: relative;
}

#sec_01 .sec_01-ttl::after {
	content: "";
	position: absolute;
	left: 5%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	z-index: -1;
}

#sec_01 #news .sec_01-ttl::after {
	background: url(../img/news_icon_01.svg) no-repeat;
	background-position: 25%;
	background-size: contain;
}

#sec_01 #time .sec_01-ttl::after {
	background: url(../img/time_icon_01.svg) no-repeat;
	background-position: 27%;
	background-size: 71px 71px;
}

#sec_01 .sec_01-ttl h2 {
	color: #00C6EA;
	font-size: clamp(26px, 4vw, 36px);
	letter-spacing: 2px;
}

#sec_01 #news .news_list ul li {
	display: none;
}

#sec_01 #news .news_list ul li:nth-last-child(1) {
	display: block;
}

#sec_01 #news .news_list ul li .ttl {
	display: flex;
	align-items: center;
	gap: 30px;
	border-bottom: 1px dashed #BABABA;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

#sec_01 #news .news_list ul li .ttl h3 {
	font-size: 20px;
	font-weight: 500;
}

#sec_01 #news .news_list ul li p {
	line-height: 1.8;
}

#sec_01 #time .time_table table {
	width: 100%;
	border-collapse: collapse;
}

#sec_01 #time .time_table table th,
#sec_01 #time .time_table table td {
	font-weight: normal;
	color: #00C6EA;
	border-right: 2px solid #E8E8E8;
	border-bottom: 2px solid #E8E8E8;
	text-align: center;
	padding: 5px;
}

#sec_01 #time .time_table table td {
	font-size: 10px;
}

#sec_01 #time .time_table table tr:nth-last-child(1) th,
#sec_01 #time .time_table table tr:nth-last-child(1) td {
	border-bottom: 0;
}

#sec_01 #time .time_table table tr th:nth-last-child(1),
#sec_01 #time .time_table table tr td:nth-last-child(1) {
	border-right: 0;
}

#sec_01 #time .time_txt {
	margin-top: 20px;
}

#sec_01 #time .time_txt p {
	display: flex;
	gap: 10px;
	margin-bottom: 10px;
	line-height: 1.8;
}

#sec_01 #time .time_txt p span {
	color: #00C6EA;
}

@media screen and (max-width:896px) {
	#sec_01 .sec_01-content {
		grid-template-columns: 1fr;
		gap: 100px;
	}

	#sec_01 #news .fadeInWrapper {
		opacity: 1;
		transform: translate(0, 0)
	}
}

@media screen and (max-width:430px) {
	#sec_01 #news .news_list ul li .ttl {
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
	}
}


/*------------------------------------------------------------
	診療科目
------------------------------------------------------------*/
#subject {
	position: relative;
	padding: 100px 0;
}

#subject::before {
	content: "";
	background-color: #F0F6F7;
	border-radius: 85px 85px 0 0;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

#subject .subject_ttl::before {
	background: url(../img/subject_icon_01.svg) no-repeat;
	background-size: 80%;
	background-position: center top;
}

#subject .subject_top {
	display: grid;
	grid-template-columns: auto 1fr;
	margin-bottom: 60px;
}

#subject .subject_top .subject_list ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

#subject .subject_top .subject_list ul li {
	background-color: #fff;
	border-radius: 20px;
	padding: 30px 0;
	font-weight: bold;
}

#subject .subject_top .subject_list ul li p {
	border-left: 2px solid #00C6EA;
	color: #00C6EA;
	font-size: clamp(20px, 4vw, 26px);
	padding-left: 35px;
	margin-left: -0.5px;
}

#subject .subject_bottom {
	background-color: #fff;
	border-radius: 20px;
	padding: 50px 65px;
}

#subject .subject_bottom .subject_list ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 65px;
}

#subject .subject_bottom .subject_list ul li img {
	display: block;
	margin: 0 auto 30px;
	height: 60px;
	object-fit: contain;
}

#subject .subject_bottom .subject_list ul li h3 {
	font-size: clamp(18px, 4vw, 20px);
	padding: 10px 0;
	margin-bottom: 25px;
	text-align: center;
	color: #00C6EA;
	border-top: 2px solid #00C6EA;
	border-bottom: 2px solid #00C6EA;
}

#subject .subject_bottom .subject_list ul li p {
	line-height: 1.8;
}

@media screen and (max-width:896px) {
	#subject .subject_ttl::before {
		background-size: contain;
		background-position: center;
	}

	#subject .subject_top {
		grid-template-columns: 1fr;
		margin-bottom: 50px;
	}

	#subject .subject_bottom {
		padding: 50px 40px;
	}

	#subject .subject_bottom .subject_list ul {
		gap: 40px;
	}
}

@media screen and (max-width:768px) {
	#subject .subject_top .subject_list ul {
		grid-template-columns: 1fr;
	}

	#subject .subject_top .subject_list ul li {
		max-width: 400px;
		width: 100%;
		margin: auto;
		padding: 20px 0;
		border-radius: 15px;
	}

	#subject .subject_top .subject_list ul li p {
		padding-left: 20px;
	}

	#subject .subject_bottom .subject_list ul {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media screen and (max-width:430px) {
	#subject::before {
		border-radius: 50px 50px 0 0;
	}

	#subject .subject_bottom {
		padding: 50px 20px;
	}
}


/*------------------------------------------------------------
	医療概要
------------------------------------------------------------*/
#overview {
	padding: 100px 0;
}

#overview .overview_content {
	display: grid;
	grid-template-columns: auto 1fr;
}

#overview .overview_ttl::before {
	background: url(../img/overview_icon_01.svg) no-repeat;
	background-size: 80%;
	background-position: center top;
}

#overview .overview_table table {
	width: 100%;
	border-collapse: collapse;
}

#overview .overview_table table tr th,
#overview .overview_table table tr td {
	padding: 20px 0;
	border-bottom: 1px solid #DEDEDE;
	line-height: 1.8;
}

#overview .overview_table table tr th {
	width: 185px;
	color: #00C6EA;
	font-weight: 500;
	vertical-align: top;
}

#overview .overview_table table tr td {
	padding: 20px;
}

#overview .overview_table table tr td a {
	text-decoration: underline;
}

@media screen and (max-width:896px) {
	#overview .overview_ttl::before {
		background-size: contain;
		background-position: center;
	}

	#overview .overview_content {
		grid-template-columns: 1fr;
	}

	#overview .overview_table table tr th {
		width: 32%;
	}
}


/*------------------------------------------------------------
	アクセス
------------------------------------------------------------*/
#access {
	position: relative;
	padding: 100px 0;
}

#access::before {
	content: "";
	background-color: #F0F6F7;
	border-radius: 85px 85px 0 0;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

#access .access_ttl::before {
	background: url(../img/access_icon_01.svg) no-repeat;
	background-size: 50%;
	background-position: 30% top;
}

#access .access_content {
	display: grid;
	grid-template-columns: auto 1fr;
}

#access .access_inner>p {
	margin-bottom: 30px;
	line-height: 1.8;
}

#access .access_right {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
}

#access .access_map iframe {
	aspect-ratio: 1/1;
	min-height: 450px;
	border-radius: 20px;
}

#access .access_info>p span {
	font-size: clamp(16px, 4vw, 18px);
}

#access .access_info>img {
	margin: 30px 0 10px;
	border-radius: 14px;
}

#access .access_info .btn {
	margin: 25px 0;
}

#access .access_info .btn a {
	background-color: #fff;
	color: #00C6EA;
	font-size: 18px;
	border-radius: 10px;
	padding: 15px 35px;
	display: flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
}

#access .access_info .btn a::after {
	content: "";
	width: 17px;
	height: 12px;
	background: url(../img/access_icon_02.svg) no-repeat center;
	background-size: contain;
}

#access .access_info .access_txt {
	margin-bottom: 25px;
}

#access .access_info .access_txt:nth-last-child(1) {
	margin-bottom: 0;
}

#access .access_info .access_txt h3 {
	color: #00C6EA;
	font-size: 18px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	gap: 12.5px;
}

#access .access_info .access_txt h3::before {
	content: "";
	width: 20px;
	height: 20px;
}

#access .access_info .access_txt.car h3::before {
	background: url(../img/access_icon_03.svg) no-repeat center;
	background-size: contain;
}

#access .access_info .access_txt.bus h3::before {
	background: url(../img/access_icon_04.svg) no-repeat center;
	background-size: contain;
}

#access .access_info .access_txt p {
	line-height: 1.8;
}

#access .access_info .access_txt.bus p:nth-last-child(1) {
	border-top: 1px dashed #1E1E1E;
	padding-top: 10px;
	margin-top: 10px;
}

@media screen and (max-width:896px) {
	#access .access_ttl::before {
		background-size: contain;
		background-position: center;
	}

	#access .access_content {
		grid-template-columns: 1fr;
	}

	#access .access_right {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	#access .access_map iframe {
		aspect-ratio: 0/0;
		min-height: 450px;
	}
}

@media screen and (max-width:430px) {
	#access::before {
		border-radius: 50px 50px 0 0;
	}
}

/*------------------------------------------------------------
	よくあるご質問
------------------------------------------------------------*/
#faq {
	padding: 100px 0;
}

#faq {
	padding: 100px 0;
}

#faq .faq_ttl {
	text-align: center;
	padding: 30px 0;
	margin-bottom: 25px;
	position: relative;
}

#faq .faq_ttl::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	z-index: -1;
	background: url(../img/faq_icon_01.svg) no-repeat top;
	background-size: contain;
}

#faq .faq_ttl h2 {
	font-size: clamp(26px, 4vw, 36px);
	color: #00C6EA;
	letter-spacing: 2px;
}

#faq .faq_list {
	max-width: 730px;
	margin: 0 auto;
}

#faq .faq_item {
	border-bottom: 1px solid #1E1E1E;
}

#faq .faq_item:nth-last-child(1) {
	border-bottom: 0;
}

#faq .faq_item .question {
	position: relative;
	cursor: pointer;
	padding: 20px;
	transition: all .5s ease;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 5px;
	align-items: center;
	justify-content: space-between;
}

#faq .faq_item .question h3 {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 30px;
	line-height: 1.8;
}

#faq .faq_item .answer p {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 30px;
}

#faq .faq_item .question h3 span {
	font-size: 27px;
	font-weight: 500;
	line-height: 1.2;
	color: #00C6EA;
}

#faq .faq_item .answer {
	display: none;
	padding: 0 20px 20px 20px;
}

#faq .faq_item .answer p {
	line-height: 1.8;
	display: grid;
	grid-template-columns: auto 1fr;
}

#faq .faq_item .answer p .faq_icon {
	font-size: 27px;
	font-weight: 500;
	line-height: 1.2;
	color: #D0D0D0;
}

#faq .faq_item .answer p a {
	text-decoration: underline;
}

#faq .faq_item .question .faq_btn {
	width: 15px;
	height: 15px;
	display: block;
	position: relative;
}

#faq .faq_item .question .faq_btn::before,
#faq .faq_item .question .faq_btn::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#faq .faq_item .question .faq_btn::before {
	visibility: visible;
	width: 1px;
	height: 100%;
	border-left: 1px solid #1E1E1E;
}

#faq .faq_item .question .faq_btn::after {
	visibility: visible;
	width: 100%;
	height: 1px;
	border-bottom: 1px solid #1E1E1E;
}

#faq .faq_item .question.close .faq_btn::before {
	visibility: hidden;
}

@media screen and (max-width:430px) {
	#faq .faq_item .question {
		padding: 20px 0;
	}

	#faq .faq_item .question h3 {
		gap: 15px;
	}

	#faq .faq_item .answer {
		padding: 20px 0;
	}

	#faq .faq_item .answer p {
		gap: 15px;
	}
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#footer .footer_content {
	padding: 75px 0 85px;
	border-top: 10px solid #F0F6F7;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

#footer .footer_logo a h1 {
	font-size: clamp(14px, 4vw, 18px);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#footer .footer_logo a h1 span {
	font-size: clamp(28px, 8vw, 33px);
	color: #00C6EA;
}

#footer .footer_left>p {
	margin: 10px 0 20px;
}

#footer .footer_tel {
	margin-bottom: 25px;
}

#footer .footer_tel a {
	font-size: 19px;
	color: #00C6EA;
	font-weight: 500;
}

#footer .footer_tel a span {
	font-size: 25px;
	letter-spacing: 1px;
}

#footer .footer_copy p {
	font-size: 12px;
}

#footer .footer_right {
	max-width: 450px;
	width: 100%;
	margin-left: auto;
}

#footer .footer_table table {
	width: 100%;
	border-spacing: 0;
	border-radius: 12px;
	border: 1px solid #E2E2E2;
	overflow: hidden;
}

#footer .footer_table table tr th,
#footer .footer_table table tr td {
	text-align: center;
	padding: 8px 10px;
	font-weight: normal;
	background-color: #fff;
	border-bottom: 1px solid #E2E2E2;
	border-right: 1px solid #E2E2E2;
}

#footer .footer_table table tr td {
	font-size: 10px;
}

#footer .footer_table table tr:nth-child(1) th {
	background-color: #00C6EA;
	color: #fff;
}

#footer .footer_table table tr:nth-child(n+2) th,
#footer .footer_table table tr td {
	color: #00C6EA;
}

#footer .footer_table table tr:nth-last-child(1) th,
#footer .footer_table table tr:nth-last-child(1) td {
	border-bottom: 0;
}

#footer .footer_table table tr th:nth-last-child(1),
#footer .footer_table table tr td:nth-last-child(1) {
	border-right: 0;
}

#footer .footer_nav {
	margin-top: 30px;
}

#footer .footer_nav nav ul {
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: 1fr 1fr;
	gap: 20px;
}

#footer .footer_nav nav ul li a {
	color: #00C6EA;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: clamp(14px, 4vw, 16px);
	font-weight: bold;
}

#footer .footer_nav nav ul li a::after {
	content: "";
	border-top: 1px solid #00C6EA;
	border-right: 1px solid #00C6EA;
	width: 10px;
	height: 10px;
	transform: rotate(45deg) skew(-20deg, -20deg);
}

#footer #page-top {
	position: fixed;
	right: 5%;
	bottom: 5%;
	z-index: 99;
}

@media screen and (max-width:896px) {
	#footer .footer_content {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	#footer .footer_left {
		order: 2;
		text-align: center;
	}

	#footer .footer_right {
		order: 1;
		margin: 0 auto;
		max-width: 100%;
	}
}

@media screen and (max-width:430px) {
	#footer .footer_left>p {
		font-size: 14px;
	}

	#footer .footer_table table tr th,
	#footer .footer_table table tr td {
		padding: 8px 5px;
	}

	#footer .footer_nav nav ul {
		gap: 20px 10px;
		grid-template-rows: 1fr 1fr 1fr;
	}

	#footer .footer_nav nav ul li a {
		gap: 5px;
	}
}




/*------------------------------------------------------------
	ご持参いただくもの
------------------------------------------------------------*/
.bring {
	margin-bottom: 100px;
}


.bring h2 {
	color: #ffffff;
	font-size: clamp(26px, 4vw, 36px);
	letter-spacing: 2px;
	background-color: #00C6EA;
	padding: 16px 0;
	text-align: center;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
}

.bring_wrapper {
	margin: 0 auto 16px;
	width: 100%;
	max-width: 740px;
	border: 5px solid #00C6EA;
	border-radius: 36px;
}

.bring_flex {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	margin-bottom: 40px;
}

.bring_contentsbox {
	padding: 40px;
}

.bring_list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.bring_list li {
	display: flex;
	gap: 10px;
	font-size: 18px;
	align-items: flex-start;
}


.bring_list li img {
	margin-top: 4px;
}

.bring_attention {
	text-indent: -1em;
	padding-left: 1em;
	line-height: 1.8;
}

span.note_small {
	font-size: 12px;
	display: block;
	line-height: 1.65;
	margin-top: 15px;
}

@media screen and (max-width:896px) {
	.bring_list li {
		font-size: 16px;
	}

	.bring_list li img {
		margin-top: 2px;
	}

	.bring_card {
		width: 160px;
	}
}


@media screen and (max-width:580px) {
	.bring_flex {
		flex-direction: column;
	}

	.bring_card {
		margin: 0 auto;
	}

}


@media screen and (max-width:480px) {

	.bring_wrapper {
		border-radius: 26px;
	}

	.bring_contentsbox {
		padding: 25px;
	}

	.bring_flex {
		margin-bottom: 25px;
		gap: 25px;
	}

	.bring h2 {
		border-top-left-radius: 20px;
		border-top-right-radius: 20px;
	}
}