@charset "utf-8";
@import url("../css/navi.css");
.clearfix:after {
	content				: "" ;
	display				: block ;
	clear				: both ;
}

.clearfix	{
	display				: block ;
}

/* Hides from IE-mac \*/
* html .clearfix { height : 1% ; }
/* End hide from IE-mac */

html	{
	background		: none ;
	position		: relative ;
	width			: 100% ;
	height			: 100% ;
	margin: 0;
	padding: 0;
}

body	{
	width	: 100% ;
	padding	: 0 ;
	margin	: 0 ;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-size	: 16px ;
	font-weight	: 400 ;
	line-height	: 1.5;
	color	: #333;
	-webkit-text-size-adjust: 100%;
	position: relative ;
	overflow-x: hidden;
	background-color: #fff;
	font-style: normal;
}

a img	{
	border			: none ;
}

a	{
	color: #000;
	text-decoration	: none ;
}

a:hover{
	color: #000;
	text-decoration	: none ;
}

form{
	margin			: 0 ;
	padding			: 0 ;
}

h1,h2,h3 {
	margin			: 0;
	padding			: 0;
	border			: 0;
	font-size		: 100%;
	vertical-align	: baseline;
	text-decoration : none;
}

/*************************ヘッダー*************************/
.header{
	width: 100%;
}

.head{
	width: 100%;
	margin: 10px 0;
	display: inline-block;
}

.logo{
	width: 630px;
	height: 120px;
	float: left;
	margin: 0 0 0 30px;
	display: inline-block;
}
.logo_img{
	width: 90px;
	height: 112px;
	margin: 0;
	float: left;
}
.logo_img img{
	width: 90px;
	height: 112px;
}

.logo_name h1{
	width: calc( 100% - 90px );
	font-size: 36px;
	font-weight: 700;
	float: left;
	margin: 25px 0 0;
	padding: 0;
	line-height: 1;
}
.logo_name h1 span{
	font-size: 28px;
}

.head_r{
	width: 790px;
	float: right;
}

.head_btnarea01{
	width: 390px;
	float: right;
	margin: 0 0 20px;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
}

/* ボタンの基本スタイル */
.custom-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 50px;
    background-color: #f8b62d;
    border: 2px solid #f8b62d;
    border-radius: 50px;
    text-decoration: none;
    position: relative;
    transition: all 0.3s ease;
    cursor: pointer;
}

/* ボタンのテキスト */
.button-text {
    color: #fff;
    font-size: 21px;
    font-weight: 500;
    transition: color 0.3s ease;
    padding-right: 35px; /* 矢印分のスペース */
}

/* 矢印アイコン */
.arrow-wrapper {
    position: absolute;
    right: 15px;
    width: 20px;
    height: 20px;
}

.arrow-wrapper img {
    width: 20px;
    height: 20px;
}

/* ホバー時 */
.custom-button:hover {
    background-color: #fff;
    border: 2px solid #f8b62d;
}

.custom-button:hover .button-text {
    color: #f8b62d;
}

.head_btnarea02{
	width: 790px;
	margin: 20px 0 0;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
}

/* SNSフォローボタンの基本スタイル */
.sns-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 50px;
    background-color: #fff;
    border: 2px solid #0abab5;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    gap: 8px;
    position: relative;
}

/* ボタンのテキスト */
.sns-button-text {
    color: #333;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    transition: color 0.3s ease;
}

/* SNSアイコン */
.sns-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sns-icon img {
    width: 35px;
    height: 35px;
}

/* ホバー時 */
.sns-button:hover {
    background-color: #cdf1f0;
    border: 2px solid #0abab5;
}

.sns-button:hover .sns-button-text {
    color: #333; /* テキスト色はそのまま */
}

@media screen and (min-width:1050px) and ( max-width:1499px) {
/*　画面サイズが1050pxから1499pxまではここを読み込む　*/
.head_r{
	width: 390px;
	float: right;
}

.head_btnarea02{
	width: 300px;
	margin: 0;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	float: right;
}

/* SNSフォローボタンの基本スタイル */
.sns-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border: 2px solid #0abab5;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    gap: 8px;
    position: relative;
}

/* ボタンのテキスト */
.sns-button-text {
    display: none;
}

}


/*************************メニュー*************************/
.menu_area {
    width: 100%;
    padding: 15px 0;
    background-color: #0abab5;
}

.menu_box {
    width: 1050px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.menu01, .menu02, .menu03, .menu04, .menu05, .menu06, .menu07, .menu08, .menu09 {
    font-size: 18px;
    text-align: center;
}

.menu01 a, .menu02 a, .menu03 a, .menu04 a, .menu05 a, 
.menu06 a, .menu07 a, .menu08 a, .menu09 a {
    width: 100%;
    font-weight: 700;
    position: relative;
    padding: 0;
    display: inline-block;
    text-decoration: none;
    text-align: center;
    color: #000;
    transition: color .2s;
}

.menu08 a { 
    padding-left: 18px; 
    background: url("../img/svg/gnavi01.svg") left center no-repeat;
}

.menu09 a { 
    padding-left: 20px; 
    background: url("../img/svg/gnavi02.svg") left center no-repeat;
}

.menu01 a::after, .menu02 a::after, .menu03 a::after, .menu04 a::after,
.menu05 a::after, .menu06 a::after, .menu07 a::after, .menu08 a::after, .menu09 a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
}

.menu01 a:hover::after, .menu02 a:hover::after, .menu03 a:hover::after,
.menu04 a:hover::after, .menu05 a:hover::after, .menu06 a:hover::after,
.menu07 a:hover::after, .menu08 a:hover::after, .menu09 a:hover::after {
    transform: scale(1, 1);
}

.menu01 a:hover, .menu02 a:hover, .menu03 a:hover, .menu04 a:hover,
.menu05 a:hover, .menu06 a:hover, .menu07 a:hover, .menu08 a:hover, .menu09 a:hover {
    color: #fff;
}


@media screen and (min-width:769px) and ( max-width:1049px) {
/*　画面サイズが769pxから1079pxまではここを読み込む　*/

.menu_area{
	display: none;
}
.head_btnarea01{
	display: none;
}
.head_btnarea02{
	display: none;
}

}




/* ボタンの共通CSS */
.btn {
	margin-top: 30px;
	text-align: center;
}
.btn a {
	background-color: #fff;
	border: 2px solid #0abab5;
	border-radius: 5px;
	color: #0abab5;
	display: inline-block;
	font-size: 16px;
	padding: 6px 0;
	position: relative;
	text-decoration: none;
	width: 176px;
	font-weight: 700;
	border-radius: 50px;
}
/* hoverで反転 */
.btn a {
	transition: all .5s;
}
.btn a:hover {
	background-color: #0abab5;
	color: #fff;
	border: 2px solid #0abab5;
}
.btn a:hover::before {
	border-right: 3px solid #fff;
	border-top: 3px solid #fff;
}

/* 見出し */
.title_box{
	width: 300px;
	margin: 0 auto 80px;
}

.title h2{
	width: 100%;
	text-align: center;
	font-size: 36px;
	font-weight: 700;
	margin: 0;
	padding: 0;
}

.title_border{
	width: 100%;
	height: 4px;
	background-color: #0abab5;
	margin: 0 0 5px;
}

.title_sub{
	width: 100%;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
}


/*************************フッター*************************/
/* お問い合わせ */
.cont_txt01{
	width: 100%;
	text-align: center;
	margin: -30px 0 50px;
}

/* ボタンコンテナ */
.contact-buttons-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    margin: 0 0 200px;
}
/* 共通スタイル */
.contact-button {
    width: 360px;
    height: 50px;
    border-radius: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none;
    font-size: 21px;
    font-weight: 700;
    transition: all 0.3s ease;
    cursor: pointer;
}

/* アイコン共通 */
.button-icon {
    position: absolute;
    left: 48px;
    width: 32px;
    height: 32px;
}

.button-icon img {
    width: 100%;
    height: 100%;
}

/* 電話ボタン */
.phone-button {
    background-color: #fff;
    border: 2px solid #0abab5;
    color: #333;
}

.phone-button:hover {
    background-color: #cdf1f0;
}

/* お問い合わせボタン */
.inquiry-button {
    background-color: #fff;
    border: 2px solid #0abab5;
    color: #333;
}

.inquiry-button:hover {
    background-color: #cdf1f0;
}

/* LINE登録ボタン */
.line-button {
    background-color: #f8b62d;
    border: none;
    color: #fff;
}

.line-button:hover {
    background-color: #fce3ae;
    color: #fff;
}

/* LINE登録ボタンの右矢印 */
.line-arrow {
    position: absolute;
    right: 15px;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.line-arrow img {
    width: 21px;
    height: 21px;
}

/* リンクバナー */
.bnr_box{
	width: 1050px;
	margin: 0 auto 80px;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
}

.bnr_img {
    width: 200px;
    height: 80px;
    overflow: hidden;
    position: relative;
}

.bnr_img a {
    display: block;
    width: 100%;
    height: 100%;
}

.bnr_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
    transform-origin: center center;
    display: block;
}

.bnr_img:hover img {
    transform: scale(0.9);
}

.foot_border{
	width: 100%;
	height: 3px;
	background-color: #0abab5;
	margin: 0 0 80px;
}


/* ボトム */
.bottom_area{
	width: 1050px;
	margin: 0 auto 50px;
}

.bottom_line{
	width: 1050px;
	display: inline-block;
}

.bottom_l{
	width: 500px;
	margin: 0 50px 0 0;
	float: left;
}

.bottom_r{
	width: 500px;
	float: left;
}

.bottom_logo_line{
	width: 500px;
	display: inline-block;
	margin: 0 0 50px;
}

.bottom_logo_l{
	width: 90px;
	height: 113px;
	float: left;
}
.bottom_logo_l img{
	width: 90px;
	height: 113px;
}

.bottom_logo_r h2{
	width: calc( 100% - 90px );
	float: left;
	font-size: 27px;
	font-weight: 700;
	line-height: 1;
	margin: 30px 0 0;
}
.bottom_logo_r h2 span{
	font-size: 21px;
}

.bottom_phone_box{
	width: 450px;
	padding: 10px 25px;
	background-color: #cdf1f0;
	display: inline-block;
	margin: 0 0 15px;
}

.bottom_phone_l{
	width: 170px;
	float: left;
}
.bottom_phone_r{
	width: 280px;
	font-size: 14px;
	float: left;
}
.bottom_phone{
	width: 280px;
	font-size: 24px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 4px;
}
.bottom_phone img{
	width: 32px;
	height: 32px;
}

/* テーブル */
.table-container {
    width: 500px;
}

.schedule-table {
    width: 500px;
    border-collapse: collapse;
    background-color: #fff;
    font-size: 14px;
}

.schedule-table th,
.schedule-table td {
    border: 1px solid #333;
    text-align: center;
    padding: 5px;
    vertical-align: middle;
}

.schedule-table thead th {
    background-color: #cdf1f0;
    font-weight: 400;
    height: 30px;
}

.time-header {
    background-color: #cdf1f0;
    font-weight: 400;
    text-align: left;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 14px;
    white-space: nowrap;
}

.time-header02 {
    background-color: #cdf1f0;
    font-weight: 400;
    text-align: left !important;
    padding-left: 20px !important;
    padding-right: 0;
    font-size: 14px;
    white-space: nowrap;
}

.time-detail {
    font-size: 12px;
    display: block;
    margin-top: 2px;
}

.bottom_txt01 p{
	width: 195px;
	padding: 10px;
	border: solid 1px #000;
	margin: 10px 0 15px;
}

.bottom_btnarea01{
	width: 390px;
	margin: 35px 0 0;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
}

.maps{
	width: 500px;
	height: 500px;
	margin: 0 auto 20px;
}

.calen_txt{
	width: 100%;
	font-size: 14px;
	text-align: center;
	margin: 10px 0 0;
}


/************************* サイトマップ：アコーディオン *************************/
.sitemap-accordion {
    width: 100%;
    background-color: #0abab5;
}

.accordion-header {
    width: 100%;
    background-color: #0abab5;
    border: none;
    padding: 5px 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}

.accordion-header:hover {
    background-color: #09a3a3;
}

.sitemap-text {
    color: #fff;
    font-family: "fot-tsukuardgothic-std", sans-serif !important;
    font-size: 27px;
    font-weight: 500;
    letter-spacing: 1px;
}

.arrow-icon {
    width: 12px;
    height: 12px;
    margin-left: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(135deg);  /* 下向き */
    transition: transform 0.3s ease;
}

.accordion-header.active .arrow-icon {
    transform: rotate(-45deg);  /* 上向き */
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background-color: #fff;
}

.sitemap-container {
    width: 1050px;
    margin: 0 auto;
    padding: 20px 0;
}

.title1:before, .title2:before, .title3:before{
  color: #0abab5;
  margin-right: 8px;
}

.title1:before{
  content: '○';
}

.title2:before{
  content: '>';
}

.title3 {
    position: relative;       /* 擬似要素を相対配置に対応 */
    padding-left: 15px;       /* ○ の分だけ左に余白を確保 */
    line-height: 1.2;
}

.title3::before {
    content: '>';
    position: absolute;       /* タイトルの左側に固定 */
    left: 0;                  /* 左端に配置 */
    top: 0;                   /* 上端に配置 */
    font-size: 1em;           /* 文字サイズを調整 */
    line-height: 1.2;
}

.title3-box {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 20px;
    margin: 0 0 30px 15%;
}


.title0 a,
.title1 a,
.title2 a,
.title3 a {
    color: #333;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.title0 a:hover,
.title1 a:hover,
.title2 a:hover,
.title3 a:hover {
    text-decoration: none;
    color: #0abab5;
}

.title0 {
    width: 100%;
    font-size: 28px;
    font-weight: 700;
}

.title1 {
    margin: 30px 0 10px 5%;
    border-bottom: solid 2px #0abab5;
    font-size: 24px;
    font-weight: 700;
}

.title2 {
    margin: 0 0 15px 10%;
    padding-bottom: 2px;
    border-bottom: dotted 2px #0abab5;
	font-size: 20px;
	font-weight: 700;
}

.title3 {
    font-size: 14px;
}






/**コピーライト**/
.copy{
	text-align: center;
	font-size: 14px;
	color: #0abab5;
}

/****fadein****/
.content_box {
  width: 100%;
  opacity: 0;
  transition: .5s;
  position: relative;
}

.content_box.active {
  opacity: 1;
  transform: translateY(0);
}

.fadeIn {
  transform: translateY(30px);
  opacity: 0;
  transition: transform .5s ease-out, opacity 1.5s ease-out;
}

.fadeIn.active {
  transform: translateY(0);
  opacity: 1;
}

/****ページトップ****/
#page-top {
	position: fixed;
	bottom: 20px;
	left: 20px;
	opacity: 0.8;
	cursor: pointer ;
	z-index: 9999 ;
}

#page-top img {
	width			: 60px ;
	height			: 60px;
}


/*************************下層共通*************************/
.bg_title{
	width: 100%;
	padding: 50px 0 25px;
	margin: 15px 0 100px;
	background-color: #cdf1f0;
}

.bg_title_main{
	width: 100%;
	text-align: center;
	font-size: 36px;
	font-weight: 700;
	padding: 0;
	margin: 0 0 20px;
}
.bg_title_main span{
	font-size: 18px;
}

.bg_title_main img{
	width: 60px ;
	height: 60px;
	margin: 10px auto 0;
}

.linebg{
	width: 100%;
	padding: 50px 0 10px;
	margin: 0 0 150px;
	background-color: #cdf1f0;
}

.bg_title02{
	width: 100%;
	padding: 0 0 25px;
	margin: 15px 0 100px;
	background-color: #0abab5;
}
.bg_title03{
	width: 100%;
	padding: 50px 0 25px;
	margin: 15px 0 100px;
	background-color: #0abab5;
}

.bg_title_main02{
	width: 100%;
	text-align: center;
	font-size: 36px;
	font-weight: 700;
	padding: 0;
	margin: 0 0 10px;
}

.bg_title_main02 img{
	width: 60px ;
	height: 60px;
	margin: 20px auto 0;
	background-color: #fff;
	border-radius: 50%;
}


@media screen and (max-width: 768px) {
/* ★★★★★★★★★★★★768pxまでの幅の場合に適応される★★★★★★★★★★★★ */
/*************************ヘッダー*************************/
.menu_area{
	display: none;
}
.head_btnarea01{
	display: none;
}
.head_btnarea02{
	display: none;
}

.logo{
	width: 300px;
	height: 60px;
	float: left;
	margin: 0 0 0 15px;
	display: inline-block;
}
.logo_img{
	width: 45px;
	height: 56px;
	margin: 0;
	float: left;
}
.logo_img img{
	width: 45px;
	height: 56px;
}

.logo_name h1{
	width: calc( 100% - 45px );
	font-size: 16px;
	font-weight: 700;
	float: left;
	margin: 13px 0 0;
	padding: 0;
	line-height: 1.2;
}
.logo_name h1 span{
	font-size: 14px;
}

/* 見出し */
.title_box{
	width: 300px;
	margin: 0 auto 40px;
}

.title h2{
	width: 100%;
	text-align: center;
	font-size: 36px;
	font-weight: 700;
	margin: 0;
	padding: 0;
}

.title_border{
	width: 100%;
	height: 4px;
	background-color: #0abab5;
	margin: 0 0 5px;
}

.title_sub{
	width: 100%;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
}

/* お問い合わせ */
.cont_txt01{
	width: 90%;
	text-align: center;
	margin: 0 auto 50px;
}

/* ボタンコンテナ */
.contact-buttons-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    margin: 0 0 100px;
}
/* 共通スタイル */
.contact-button {
    width: 360px;
    height: 50px;
    border-radius: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-decoration: none;
    font-size: 21px;
    font-weight: 700;
    transition: all 0.3s ease;
    cursor: pointer;
}

/* アイコン共通 */
.button-icon {
    position: absolute;
    left: 48px;
    width: 32px;
    height: 32px;
}

.button-icon img {
    width: 100%;
    height: 100%;
}

/* 電話ボタン */
.phone-button {
    background-color: #fff;
    border: 2px solid #0abab5;
    color: #333;
}

.phone-button:hover {
    background-color: #cdf1f0;
}

/* お問い合わせボタン */
.inquiry-button {
    background-color: #fff;
    border: 2px solid #0abab5;
    color: #333;
}

.inquiry-button:hover {
    background-color: #cdf1f0;
}

/* LINE登録ボタン */
.line-button {
    background-color: #f8b62d;
    border: none;
    color: #fff;
}

.line-button:hover {
    background-color: #fce3ae;
    color: #fff;
}

/* LINE登録ボタンの右矢印 */
.line-arrow {
    position: absolute;
    right: 15px;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.line-arrow img {
    width: 21px;
    height: 21px;
}

/* リンクバナー */
.bnr_box{
	width: 100%;
	margin: 0 auto 40px;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-justify-content: left;
	justify-content: left;
}

.bnr_img {
    width: 45%;
    height: auto;
    margin: 0 2.5% 15px;
    overflow: hidden;
    position: relative;
}

.bnr_img a {
    display: block;
    width: 100%;
    height: 100%;
}

.bnr_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
    transform-origin: center center;
    display: block;
}

.bnr_img:hover img {
    transform: scale(1.0);
}

.foot_border{
	width: 100%;
	height: 3px;
	background-color: #0abab5;
	margin: 0 0 40px;
}

/* ボトム */
.bottom_area{
	width: 90%;
	margin: 0 auto 50px;
}

.bottom_line{
	width: 100%;
	display: inline-block;
}

.bottom_l{
	width: 100%;
	margin: 0 0 30px;
	float: none;
}

.bottom_r{
	width: 100%;
	float: none;
}

.bottom_logo_line{
	width: 100%;
	display: inline-block;
	margin: 0 0 20px;
}

.bottom_logo_l{
	width: 45px;
	height: 56px;
	float: left;
}
.bottom_logo_l img{
	width: 45px;
	height: 56px;
}

.bottom_logo_r h2{
	width: calc( 100% - 45px );
	float: left;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	margin: 13px 0 0;
}
.bottom_logo_r h2 span{
	font-size: 14px;
}

.bottom_phone_box{
	width: calc( 100% - 50px );
	padding: 10px 25px;
	background-color: #cdf1f0;
	display: inline-block;
	margin: 0 0 15px;
}

.bottom_phone_l{
	width: 100%;
	float: none;
	margin: 0 0 15px;
}
.bottom_phone_r{
	width: 100%;
	font-size: 14px;
	float: none;
}
.bottom_phone{
	width: 100%;
	font-size: 24px;
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 4px;
}
.bottom_phone img{
	width: 32px;
	height: 32px;
}

/* テーブル */
.table-container {
    width: 100%;
}

.schedule-table {
    width: calc( 100% - 2px );
    border-collapse: collapse;
    background-color: #fff;
    font-size: 14px;
}

.schedule-table th,
.schedule-table td {
    border: 1px solid #333;
    text-align: center;
    padding: 5px;
    vertical-align: middle;
}

.schedule-table thead th {
    background-color: #cdf1f0;
    font-weight: 400;
    height: 30px;
}

.time-header {
    background-color: #cdf1f0;
    font-weight: 400;
    text-align: left;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 14px;
    white-space: nowrap;
}

.time-header02 {
    background-color: #cdf1f0;
    font-weight: 400;
    text-align: left !important;
    padding-left: 20px !important;
    padding-right: 0;
    font-size: 14px;
    white-space: nowrap;
}

.time-detail {
    font-size: 12px;
    display: block;
    margin-top: 2px;
}

.bottom_txt01 p{
	width: 195px;
	padding: 10px;
	border: solid 1px #000;
	margin: 10px 0 15px;
}

.bottom_btnarea01{
	width: 100%;
	margin: 35px 0 0;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
}

.maps{
	width: 100%;
	height: 500px;
	margin: 0 auto 20px;
}

/* ボタンの基本スタイル */
.custom-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    background-color: #f8b62d;
    border: 2px solid #f8b62d;
    border-radius: 50px;
    text-decoration: none;
    position: relative;
    transition: all 0.3s ease;
    cursor: pointer;
    margin: 0 0 25px;
}


/*************************サイトマップ：アコーディオン*************************/
.sitemap-accordion {
	display: none;
}


/****ページトップ****/
#page-top {
	position: fixed;
	bottom: 20px;
	left: 20px;
	opacity: 0.8;
	cursor: pointer ;
	z-index: 9999 ;
}

#page-top img {
	width: 30px ;
	height: 30px;
}

/*************************下層共通*************************/
.bg_title{
	width: 100%;
	padding: 30px 0 15px;
	margin: 15px 0 50px;
	background-color: #cdf1f0;
}

.bg_title_main{
	width: 100%;
	text-align: center;
	font-size: 27px;
	font-weight: 700;
	padding: 0;
	margin: 0 0 20px;
}
.bg_title_main span{
	font-size: 16px;
}
.bg_title_main img{
	width: 60px ;
	height: 60px;
	margin: 10px auto 0;
}

.linebg{
	width: 100%;
	padding: 50px 0 10px;
	margin: 0 0 80px;
	background-color: #fff;
}

.pcbr{
	display: none;
}


}


@media screen and (min-width: 769px) {
/*　画面サイズが769pxからはここを読み込む　*/
.spbr{
	display: none;
}

}




/* ■■■■■■■■■■■■注目医療＆診療内容■■■■■■■■■■■■ */
.pick_box {
    width: 1050px;
    margin: 0 auto 100px;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}

.medical-card {
    display: inline-block;
    text-decoration: none;
    overflow: hidden;
    margin: 0 10px 20px;
    position: relative;
}

.medical-card-image {
    width: 240px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.medical-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
    display: block;
}

.medical-card-text {
    padding: 15px;
    background-color: #fff;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    transition: transform 0.3s ease;
    transform-origin: center center;
}

/* ホバー効果 */
.medical-card:hover .medical-card-image img {
    width: 90%;
    height: 90%;
}

.new_icon {
    width: 50px;
    height: 50px;
    position: absolute;
    left: 10px;
    bottom: 10px;
}

.new_icon img {
	width: 100%;
    height: 100%;
}

/* ■レスポンシブ■ */
@media screen and (max-width: 768px) {
    .pick_box {
        width: 90%;
        margin: 0 auto 80px;
        justify-content: space-around;
    }

    .medical-card {
        width: 100%;
        margin: 0 0 20px;
    }

    .medical-card-image {
        width: 120px;
        height: 75px;
        float: left;
    }

    .medical-card-text {
        width: calc(100% - 150px);
        height: 45px;
        background-color: #cdf1f0;
        text-align: left;
        float: left;
    }
    
    .medical-card-text span{
        font-size: 12px;
    }

    .medical-card:hover .medical-card-image img {
        width: 100%;
        height: 100%;
    }

    .new_icon {
        width: 25px;
        height: 25px;
    }
}



/* ■■■■■■■■■■■■見出し■■■■■■■■■■■■ */
.title-box{
	width: 300px;
	display: block;
	margin: 160px auto 80px;
}
.title-box h2{
	width: 100%;
	text-align: center;
	font-size: 36px;
	font-weight: 700;
	margin: 0 auto 5px;
	padding: 0 0 5px;
	border-bottom: solid #0abab5 4px;
}
.title-box p{
	text-align: center;
	font-size: 18px;
	font-weight: 700;
}