@charset "UTF-8";
/*!
Theme Name: 見附動物病院
Theme URI: https://www.mitsukeah.com/
Author: 見附動物病院
Description: 見附動物病院の公式サイト用テーマ
Version: 1.0.0
Text Domain: mitsuke-ah
License: GPL-2.0-or-later
*/



/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}



body {
	width: 100%;
	height: 100vh;
	animation: bggradient 20s ease infinite;
	background-attachment: fixed;
	font-size: 14px;
	line-height: 1.8;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	overflow-x: hidden;
	color:#000;
	counter-reset: number 0;
	background: none;
}


html {
  scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
a{
	color:#000;
	text-decoration: none;
	transition : all 0.5s ease 0s;
}

a:hover{
	color: #666;
	opacity: 0.7;
}


img a:hover{
	opacity: 0.7;
}


a:active, a:focus,input:active, input:focus{outline:0;}

h1 {
	font-size: 40px;
	font-weight: 500;
	padding: 10px 0;
	letter-spacing: 3px;
}

@media (max-width: 600px) {
	h1 {
	font-size: 30px;
	font-weight: 500;
	padding: 10px 0;
}
}


hr {
	height: 1px;
}

* {
    box-sizing: border-box !important;
}


a.anchor {
    display: block;
}


/* 共通
------------------------------------------------------------*/

.center {
	text-align: center !important;
}

.right {
	text-align: right !important;
}

.left {
	text-align: left !important;
}

.img-cen {
	margin: 10px auto;
	text-align: center;
}

img{
	width: 100%;
	height: auto;
	vertical-align:top;
}

img.img-nomal {
	width: inherit;
}

img.img100 {
	width:100px !important;
}

img.img120 {
	width:120px !important;
}

img.img200 {
	width:200px !important;
}

img.img500 {
	width:500px !important;
}

img.img80p {
	width:80% !important;
	border-radius: 20px;
}
img.img100p {
	width:100% !important;
	border-radius: 20px;
}
@media (max-width: 800px) {
img.img80p {
	width:100% !important;
}
img.img100p {
	width:100% !important;
}
img.img500 {
	width:90% !important;
}
}


.mtb10 {margin: 10px 0 !important;}
.mtb15 {margin: 15px 0 !important;}
.mtb20 {margin: 20px 0 !important;}
.mtb30 {margin: 30px 0 !important;}
.mtb50 {margin: 50px 0 !important;}
.mtb70 {margin: 70px 0 !important;}

.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt50 {margin-top: 50px !important;}
.mt70 {margin-top: 70px !important;}

.mb0 {margin-bottom: 0 !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb70 {margin-bottom: 70px !important;}
.mb100 {margin-bottom: 100px !important;}

.ptb70 {padding: 70px 0 !important;}

.pb30 {padding-bottom: 30px !important;}
.pb50 {padding-bottom: 50px !important;}
.pb70 {padding-bottom: 70px !important;}
.pb90 {padding-bottom: 90px !important;}
.pb100 {padding-bottom: 100px !important;}

.pt30 {padding-top: 30px !important;}
.pt50 {padding-top: 50px !important;}
.pt70 {padding-top: 70px !important;}
.pt100 {padding-top: 100px !important;}
.pt120 {padding-top: 120px !important;}
.pt200 {padding-top: 200px !important;}

.spacer20 {height: 20px;}
.spacer30 {height: 30px;}
.spacer50 {height: 50px;}
.spacer60 {height: 60px;}
.spacer70 {height: 70px;}
.spacer75 {height: 75px;}
.spacer80 {height: 80px;}
.spacer100 {height: 100px;}
.spacer120 {height: 120px;}
.spacer200 {height: 200px;}

.tb {
	font-weight: 600;
}

.ft12 {font-size: 12px;}
.ft14 {font-size: 14px;}
.ft16 {font-size: 16px;}

.center {text-align: center;}

@media screen and (min-width: 600px){
.br-sp {display: none; }
}
@media screen and (max-width: 600px){
.br-pc {display: none; }
}



.bg-light {
	background: rgba(243,238,213,0.5);
	width: 100%;
	padding: 80px 0 20px 0;
}


@media only screen and (max-width: 800px) {
	.bg-light {
	padding: 80px 0 0 0;
}
}
	




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


.top-title {
	width: 100%;
	max-width: 1200px;
	padding: 20px 30px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	 justify-content: space-between; 
}

.top-logo {
	width: 300px;
	margin-right: 50px;
}
.top-menu {
	width: 470px;
	text-align: right;
}

.logo {
	display: none;
}

.top-tel {
	padding: 0 5px;
	text-align: center;
	letter-spacing: 1px;
}
.top-tel1 {
	font-size: 24px;
	font-weight: 600;
	top: 5px;
    position: relative;
}
.top-tel2 {
	font-size: 14px;
	font-weight: 600;
    position: relative;
}

.att-left {
	display: block;
}
.top-time {
	display: block;
	padding: 10px 5px 0;
	text-align: center;
	letter-spacing: 1px;
	border-top: 2px solid var(--blue-main);
	margin-top: 10px;
	font-size: 16px;
	font-weight: 500;
}
.top-time2 {
	padding: 0 0 0 15px;
	text-align: center;
	letter-spacing: 1px;
	font-size: 14px;
	font-weight: normal;
}


@media screen and (max-width:1000px) {
	.top-title {
	display: none;
}
	.logo {
	display: block;
		padding-left: 30px;
}
}

nav ul{
	list-style: none;
	display: flex;
	justify-content: center;
	letter-spacing: 1px;
}

nav ul ul{
	display: block;
}

nav ul li{
	position: relative;
	text-align: left;
}

nav ul li a{
	display: block;
	text-decoration: none;
	color: #fff;
	padding:20px 35px;
	transition:all .3s;
}

nav ul li li a{
	padding:10px 25px;
}


@media screen and (max-width:1200px) {
nav ul li a{
	padding:20px 25px;
}
nav ul li li a{
	padding:10px 20px;
}
}

nav ul li a:hover{
	color:#fff;
	opacity: 1;
}

nav ul li.has-child::before{
	content:'';
	position: absolute;
	left:20px;
	top:28px;
	width:6px;
	height:6px;
	border-top: 2px solid #fff;
    border-right:2px solid #fff;
    transform: rotate(135deg);
}

@media screen and (max-width:1200px) {
nav ul li.has-child::before{
    left:10px;
}
}

nav li.has-child ul{
	position: absolute;
	left:0;
	top:67px;
	z-index: 4;
	background:var(--blue-main);
	width:230px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}

nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

nav li.has-child ul li a{
	color: #fff;
	border-bottom:solid 1px #fff;
}

nav li.has-child ul li:last-child a{
	border-bottom:none;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active{
	background:rgba(255,255,255,0.2);
}


@media screen and (max-width:1000px){
	nav{
		padding: 0;
	}
	
	nav ul{
		display: block;
	}
	
nav ul li a{
	/*border-bottom:1px solid #fff;*/
}


nav ul li.has-child::before{
	left:30px;	
	top: 23px;
}

nav ul ul li.has-child::before{
    transform: rotate(135deg);
	left:20px;
}
    
nav ul li.has-child.active::before{
    transform: rotate(-45deg);
}

}



#header{
	height: 70px;
	width:100%;
    z-index: 999;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	padding: 20px 0;
	background: var(--blue-main);
	font-weight: 500;
}



#header.m_fixed {
	left: 0;
	position: fixed;
	top: 0;
}



@media screen and (max-width:1000px) {
#g-nav{
    position:fixed;
    z-index: 999;
	right:-120%;
    top:0;
	width:100%;
    height: 100vh;
	background:var(--blue-main);
	transition: none;
	font-size: 18px;
}

#g-nav.panelactive{
    right: 0;
}

#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav ul {
    margin:100px auto 0 auto;
}
    
#g-nav ul ul{
    width: 100%;
    margin: 0;
}
 
#g-nav ul li.has-child ul{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	visibility:visible;
	opacity:1;
	display: none;
	transition:none;
    transform: none;
	background: var(--blue-hover);
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: left; 
}

#g-nav li a{
	color: #fff;
	text-decoration: none;
	padding:10px 20px 10px 50px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}
}


	
.openbtn1{
    display: none;
}
 
@media screen and (max-width:1000px) {
.openbtn1{
 display: block;
	position:fixed;
    z-index: 9999;
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}

/*ボタン内側*/
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
  background: #fff;
    width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
  top:15px; 
}

.openbtn1 span:nth-of-type(2) {
  top:23px;
}

.openbtn1 span:nth-of-type(3) {
  top:31px;
}


.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 15px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 15px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}
}


.nav01c li a{
	position: relative;
}

.nav01c li.current a,
.nav01c li a:hover{
	color:#eee;
}

.nav01c li a::after {
    content: '';
    position: absolute;
    bottom: 16px;
    left: 25%;
    width: 50%;
    height: 1px;
    background:#eee;
    transition: all .3s;
    transform: scale(0, 1);
    transform-origin: left top;
}

.nav01c li li a::after {
    display: none;
}

.nav01c li.current a::after,
.nav01c li a:hover::after {
    transform: scale(1, 1);
}
@media screen and (max-width:960px) {
.nav01c li a::after {
    display: none;
}  
}


/* TOP
------------------------------------------------------------*/

.bg-slider {
	min-height: calc(100vh - 130px);
	width: 100vw;
	background-position:center center;
	background-size: cover;
	position: relative;
}


.top-copy{
	font-size: 22px;
	line-height: 1.5;
	font-weight: bold;
	position: absolute;
	top:90px;
	left: 50px;
	display: inline-block;
	color: #000;
}

.top-copy li {
	background: #fff;
	padding: 10px 20px;
	margin-bottom: 10px;
	border-radius: 5px;
}

@media screen and (max-width:500px) {
	.top-copy{
	font-size: 18px;
	top:60px;
	left: 20px;
}
}
	

/*メイン*/

.back-img {
	background-image: none;
	background-position: center center;
	background-size: cover;
	height: 300px;
	width: 100%;
}

@media screen and (max-width:500px) {
	.back-img{
	background-image: none;
	background-position: center center;
	background-size: cover;
	height: 200px;
	width: 100%;
}
}


.container {
	width: 100%;
	position: relative;
}


.bg-gray {
	background:#F9F9F9;
}

.wrap {
	width: 100%;
}


.child_1{
  order: 1;
}
.child_2{
  order: 2;
}


@media (max-width: 800px) {
.child_1{
  order: 2;
}
.child_2{
  order: 1;
}
}



.content{
    margin: 0 auto;
	padding: 0 40px;
	max-width: 1200px;
}


.fw-about{
    margin: 0 auto;
	padding:40px;
	font-size: 16px;
}



.s-content{
    margin: 0 auto;
	padding: 100px 40px 40px;
	z-index: 1;
	position: relative;
	max-width: 1200px;
}


.con-title {
	margin-bottom: 60px;
	text-align: center;
}

.s-con-h2{
    font-size: 28px;
	letter-spacing: 5px;
	font-weight: 500;
}

.h2-ss {
	font-size: 14px;
	font-weight: 600;
}

.s-mds {
	border:2px solid #000;
	border-radius: 30px;
	padding: 10px;
	font-size: 18px;
	font-weight: 500;
	margin: 10px auto 50px;
	text-align: center;
	display: table;
	min-width: 480px;
	letter-spacing: 2px;
}


@media screen and (max-width: 900px) {
.content{
    width: 90%;
	padding: 0 10px;
	margin: 0 auto 50px;
}
.content h2,.s-content h2{
    font-size: 30px;
}
	
.s-con-h2{
    font-size: 30px;
}
	
.s-content{
    width: 90%;
	padding: 50px 0;
	margin: 0 auto 50px;
}

.content h3,.s-content h3{
    font-size: 22px;
	letter-spacing: 1px;
	font-weight: 600;
}
	
	.s-mds {
	border:2px solid #000;
	border-radius: 30px;
	padding: 10px;
	font-size: 18px;
	font-weight: 500;
	margin: 10px auto 50px;
	text-align: center;
	display: table;
	min-width: 100%;
	letter-spacing: 2px;
}
}




.t-box2{
  display: flex;
  justify-content: space-between;
	flex-wrap :wrap;
	margin: 0 auto 50px;
    max-width: 960px;
}

.tb2{
  width: calc((100% / 2) - 20px);
	padding: 40px;
	background:#E7E7E7;
	border-radius: 20px;
	text-align: center;
}

.tb2 img{
  border-radius: 20px;
}


.tb2 p{
	font-size: 20px;
	font-weight: 600;
	margin: 30px 0 5px;
}

.tbss {
	font-size: 12px !important;
	margin: 0 !important;
}
.tbtxt {
	padding: 20px 0 10px;
}


@media(max-width: 800px){
 .t-box2{
  flex-direction: column;
}

.tb2{
  width: 100%;
		margin:0 0 20px 0;
}
}




.ab-wrap {
	margin: 0 auto;
	max-width: 960px;
	padding: 0 20px 0;
	text-align: center;
	background:rgba(255,255,255,0.4);
}

.ab-wrap p {
	font-size: 16px;
	font-weight: 600;
	color: red;
}
.green {
	color: var(--blue-main) !important;
}

.ab-wrap a {
	color: var(--blue-main);
}

.ab-wrap a:hover {
	text-decoration: underline;
}



@media screen and (max-width: 800px) {
	.ab-wrap {
	width: 100%;
		padding: 0;
}
	.ab-wrap h1{
	font-size: 20px;
}
}


.staff-tit {
	font-weight: 600;
	font-size: 18px;
	text-align: center;
	margin-bottom: 20px;
}

.about-dl {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}

.about-dl dl {
padding: 30px 0;
border-top: 2px dotted #000;
}

.about-dl dt {
padding-bottom: 5px;
	font-weight: 600;
	font-size: 18px;
}

.no-bd {
	border-bottom: 2px dotted #000;
}

@media screen and (min-width: 801px) {

.about-dl dt {
clear: left;
float: left;
width: 300px;
}
.about-dl dd {
margin-left:330px;
}
}



.about-dl ul {
	margin-left: 15px;
}
.about-dl li {
	list-style: disc;
}



.number ol {
  counter-reset:num;
  list-style-type: none!important;
  padding:0;
  margin:0;
}
.number ol li {
	list-style-type: none!important;
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 30px;
}

.number ol li:before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  display:inline-block;
  background:transparent;
  border:#000 1px solid;
  color: #000;
  font-weight:bold;
  font-size: 12px;
  border-radius: 50%;
  left: 0;
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  top: 9px;
}



/*新着アーカイブ*/


.pickup-img {
	background:#ff6347;
	padding: 5px 10px;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	position: absolute;
	top:0;
	line-height: 1.8;
	z-index: 5;
}

.pt-name {
	display: inline-block;
    background:#F7F7F7;
    padding: 6px 10px;
    font-size: 12px;
    position: absolute;
    top:-40px;
}


.arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "\f105";
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
  vertical-align: middle;

}




/*ニュースアーカイブ（一覧用）*/


.news-dt{
  margin: 0;
  display: inline-block;
  font-size: 14px;
	font-weight: 500;
  padding: 0 15px 0 0;
	letter-spacing: 2px;
}


.news-category{
  margin: 0;
  min-width: 140px;
  padding: 0 20px 0 0;
}
.news-category span{
  background: var(--blue-main);
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 5px 20px;
  font-size: 12px;
  line-height: 1;
}



.news-title{
  margin: 10px 0 0;
  width: 100%;
	font-size: 18px;
	font-weight: 500;
	position: relative;
}


.news-title a{
  color: #000000;
}
.news-title a:hover{
  color: #666 !important;
}

.text-all {
	font-size: 14px;
	padding: 10px 0;
}
.time-wrap {
	margin: 10px 0 30px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 2px;
}


.news-wrap {
	width: 100%;
	padding: 0 50px 100px;
	margin-bottom: 20px;
}

.news-wrap h3 {
	font-size: 24px;
    letter-spacing: 2px;
    font-weight: 500;
	margin-bottom: 30px;
}

.article-wrap {
	font-size: 16px;
}

.article-wrap img {
	width: inherit;
}

@media screen and (max-width: 800px){

.news-dt-h{
  min-width: 100px;
}
.news-title-h{
  margin-top: 10px;
	padding-right: 0;
}
	
.news-item {
  flex-wrap: wrap;
}
.news-dt{
  min-width: 100px;
}
.news-title{
  margin-top: 10px;
}
	
.news-wrap {
	width: 100%;
	padding: 0 0 80px;
	margin-bottom: 20px;
}

.news-wrap h3 {
	font-size: 22px;
}
}


/*新着リスト*/


.news-list{
  list-style: none outside;
  margin: 0 auto 40px;
	max-width: 960px;
}
.news-list .n-item a{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #000;
  border-bottom: 1px solid #000;
  padding: 20px 20px;
}
.news-list .n-item:first-child a{
  border-top: 1px solid #000;
}
.news-list .n-item .date{
  margin: 0;
  min-width: 140px;
  font-size: 14px;
  color: #000;
  padding: 0 20px 0 0;
}
.news-list .n-item .category{
  margin: 0;
  min-width: 140px;
  padding: 0 20px 0 0;
}
.news-list .n-item .category span{
  background: var(--blue-main);
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 5px 20px;
  font-size: 12px;
  line-height: 1;
}
.news-list .n-item .title{
  margin: 0;
  width: 100%;
	font-size: 16px;
}
.news-list .n-item a:hover .title{
  color: var(--blue-main);
}

@media screen and (max-width: 767px){
.news-list .n-item a{
  flex-wrap: wrap;
}
.news-list .n-item .date{
  min-width: 100px;
}
.news-list .n-item .title{
  margin-top: 10px;
}
}



/* 症例など */

.gallery-wrap {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 100px;
	background: #F9F9F9;
	border-radius: 20px;
}

.gallery-wrap h2 {
	font-size: 20px;
	text-align: center;
	padding-bottom: 5px;
    border-bottom: solid 2px #000;
    display: table;
    margin: 0 auto 50px;
}

.gallery-wrap img {
	border-radius: 20px;
}

.swiper-slide {
	text-align: center;
}

.swiperThumbnail1 .swiper-slide {
	opacity: 0.5;
	font-size: 12px;
}

.swiperThumbnail1 .swiper-slide-thumb-active {
	opacity: 1;
}

.swiperThumbnail2 .swiper-slide {
	opacity: 0.5;
	font-size: 12px;
}

.swiperThumbnail2 .swiper-slide-thumb-active {
	opacity: 1;
}

@media screen and (max-width: 700px){
.gallery-wrap {
	width: 100%;
	margin: 0 auto;
	padding: 40px 20px;
	border-radius: 20px;
}
	.swiperThumbnail1 img ,.swiperThumbnail2 img {
		border-radius: 10px;
	}
}




/* 病院案内 */

.top_block {
    margin: 5em auto;
    position: relative;
}

.top_photo_a {
    width: 74%;
    margin-right: 15%;
    border-radius: 20px;
}

.top_text_a {
    background-color: #FFF;
    width: 40%;
    padding: 4em 5% 2em 5%;
    position: absolute;
    right: 0;
    bottom: 0;
    border-radius: 20px 0 0 0;
}
.top-h {
	font-size: 20px;
	margin-bottom: 15px;
	font-weight: 600;
	color: var(--blue-main);
}


.abou_block {
    margin: 5em auto;
    position: relative;
}

.abou_photo_a {
    width: 84%;
    margin-right: 15%;
    border-radius: 20px;
}

.abou_text_a {
    background-color: #FFF;
    width: 40%;
    padding: 4em 5% 2em 5%;
    position: absolute;
    right: 0;
    bottom: 0;
    border-radius: 20px 0 0 0;
}
.abou_text_a a {
	color:var(--blue-main); 
}
.ab-h {
	font-size: 20px;
	margin-bottom: 15px;
	font-weight: 600;
	color: var(--blue-main);
}

@media screen and (max-width: 900px){
	.top_block {
    display: block;
    margin: 2em auto 2em auto;
    height: auto !important;
}
	.top_photo_a {
	width: 100%;
    border-radius: 30px;
    margin: 0;
}
	.top_text_a {
    width: 100%;
    padding: 3em 8%;
    position: static;
    border-radius: 0;
}
	.top-h {
	font-size: 20px;
	margin-bottom: 10px;
}
.abou_block {
    display: block;
    margin: 2em auto 2em auto;
    height: auto !important;
}
	.abou_photo_a {
	width: 100%;
    border-radius: 30px;
    margin: 0;
}
	.abou_text_a {
    width: 100%;
    padding: 3em 8%;
    position: static;
    border-radius: 0;
}
	.ab-h {
	font-size: 20px;
	margin-bottom: 10px;
}
}


.staff-dl {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}

.staff-dl dl {
padding: 25px 0;
border-top: 1px solid #000;
}

.staff-dl dt {
padding-bottom: 5px;
	font-weight: 600;
	font-size: 15px;
	padding-left: 0;
}

.staff-bd {
	border-bottom: 1px solid #000;
}

@media screen and (min-width: 801px) {

.staff-dl dt {
clear: left;
float: left;
width: 300px;
padding-left: 30px;
}
.staff-dl dd {
margin-left:330px;
}
}

.staff-dl ul {
	margin-left: 15px;
}
.staff-dl li {
	list-style: disc;
}

.kgk {
	font-size: 12px;
	padding: 2px 5px;
	border: 1px solid #000;
	margin-right: 20px;
}

.grid_fit {
	max-width: 920px;
	margin: 50px auto;
	grid-gap: 40px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.item-wrap {
	
}
.item {
	display: block;
	 overflow:hidden;
	border-radius: 20px;
}


.item img {
  object-fit: cover;
	border-radius: 20px;
	transition:1s all;
}

/*
.item img:hover{
  transform:scale(1.2,1.2);
  transition:1s all;
}
*/

.item-wrap p {
  font-size: 14px;
	margin: 5px 0 0;
	position: relative;
	    padding-left: 50px;
}

.item-wrap p::before {
  position: absolute;
  content: "";
  top: 50%;
	left: 15px;
  width: 20px;
  height: 2px;
  background-color: black;
}


.cats {
	display: grid;
	grid-gap: 20px;
	overflow: hidden;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.cat {
	padding: 20px;
	background: #F9F9F9;
	border-radius: 20px;
	font-size: 12px;
	text-align: left;
}

.cat p {
	font-size: 14px !important;
	color: #000 !important;
	margin: 10px 0 5px;
}

.cat img {
	border-radius: 10px;
}




/* ケアセンター */


.heading-001 {
    padding: 3px 10px;
	margin-bottom: 5px;
    background-image: repeating-linear-gradient(-45deg, #fff, #fff 3px, var(--blue-pale) 3px, var(--blue-pale) 7px);
    color: #000 !important;
	font-size: 16px;
	display: table;
}

.heading-002 {
    padding: 3px 0 0;
    margin-bottom: 10px;
	border-bottom: 2px solid #000;
    color: #000 !important;
	font-size: 16px;
	display: table;
}


/* 価格表 */


.price-tit {
	font-weight: 600;
	font-size: 18px;
	text-align: center;
	margin-bottom: 20px;
}


.price-wrap {
	margin: 50px auto;
	max-width: 960px;
	padding: 0 20px 0;
	text-align: center;
}

.price-wrap ul {
	margin-left: 15px;
	text-align: left;
}
.price-wrap li {
	list-style: disc;
}


.price-wrap table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

.price-wrap table tr {
  background-color: #fff;
  border: 2px solid #ccc;
  padding: .35em;
}
.price-wrap table th,
.price-wrap table td {
  padding: 1em 10px 1em 1em;
  border-right: 2px solid #ccc;
}
.price-wrap table th {
  font-size: 14px;
}
.price-wrap table thead tr{
  background-color: var(--blue-pale);
}
.txt{
   text-align: left;
}
.price{
   text-align: left;
}

.th-s {
	width: 120px;
}
.th-m {
	width: 200px;
	font-weight: 600;
}

@media screen and (max-width: 800px) {
	.price-wrap {
	padding: 0;
}
  .price-wrap table {
    border: 0;
    width:100%
  }
  .price-wrap table th{
    background-color: var(--blue-pale);
    display: block;
    border-right: none;
  }
  .price-wrap table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  
  .price-wrap table tr {
    display: block;
    margin-bottom: 20px;
  }
  
  .price-wrap table td {
    border-bottom: 2px solid #ccc;
    display: block;
    text-align: right;
    position: relative;
    padding: .625em .625em .625em 4em;
    border-right: none;
  }
  
  .price-wrap table td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
  }
  
  .price-wrap table td:last-child {
    border-bottom: 0;
  }
}

.box-yellow {
	background: #fff599; 
	padding: 20px 30px;
	margin-top: 10px;
	border-radius: 10px;
}


.app-wrap {
	margin: 50px auto;
	max-width: 960px;
	padding: 70px 30px 80px;
	text-align: center;
	background: #F2F2F2;
	border-radius: 20px;
	font-size: 14px;
}

.app-wrap p {
	font-size: 18px;
	font-weight: 600;
	display: table;
	border-bottom: 2px solid #000;
	padding-bottom: 5px;
	margin: 0 auto 30px;
}
.app-btn {
	border-radius: 30px;
	background: #000;
	color: #fff;
	padding: 15px 35px;
	font-size: 16px;
	font-weight: 500;
	margin: 20px auto 0;
	text-align: center;
	display: inline-block;
	min-width: 250px;
	letter-spacing: 2px;
	transition : all 0.5s ease 0s;
}


.app-btn:hover {
	border-radius: 30px;
	background: #999;
	opacity: 1;
}

.app-btn-sp {
	margin-right: 10px;
}
.app-pc {
	display: inline;
}

@media screen and (max-width: 800px) {
	.app-wrap {
		padding: 40px 25px 50px;
}
	.app-wrap p {
	font-size: 16px;
}
	
}

@media screen and (max-width: 600px) {
	.app-btn-sp {
	margin-right:0;
}
	.app-pc {
	display: none;
}
	.app-btn {
	border-radius: 30px;
	background: #000;
	color: #fff;
	min-width: 100%x;
	transition : all 0.5s ease 0s;
}
}
	

/* CAPP */

.capp-txt {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}
.capp-att {
	font-size: 12px;
	line-height: 1.5;
	color: red;
	margin-top: 10px;
}


/* 採用情報 */

.incho-wrap {
  width: 90%;
  display: flex;
	margin: 0 auto;
}

.incho-img {
  width: 300px; /*幅指定*/
  padding: 50px;
}
.incho-img p {
  text-align: center;
	margin: 10px;
	font-weight: 500;
}
.incho-img img {
	border-radius: 50%;
	object-fit: cover;
}

.incho-txt {
  width: 100%;
  flex: 1;
  padding: 30px;
}


.incho-img2 {
  width: 300px; /*幅指定*/
  padding: 40px 50px 20px;
	margin: 0 auto;
}
.incho-img2 p {
  text-align: center;
	margin: 10px;
	font-weight: 500;
	color: #000;
}
.incho-img2 img {
	border-radius: 50%;
	object-fit: cover;
}


.mini {
	padding: 20px 0 10px;
	font-size: 10px;
}


.staff {
	width: 90%;
	margin: 0 auto;
	max-width: 960px;
	padding: 0 20px 0;
}

.staff h3 {
	margin: 10px 0;
	font-size: 18px;
	font-weight: 600;
}

.staff dl {
	margin-bottom: 10px;
}
.staff dt{
	float: left;
	font-weight: 600;
	padding-bottom: 5px;
	font-size: 14px;
}

.staff dd{
	margin-left: 100px;
	padding-bottom: 5px;
	font-size: 14px;
}


.r-dd dl{
	margin-bottom: 10px;
	border-top: none;
	padding: 10px 0;
}
.r-dd dt{
	float: left;
	font-weight: 600;
	padding-bottom: 5px;
	font-size: 14px;
	width: 100px;
}

.r-dd dd{
	margin-left: 110px !important;
	padding-bottom: 5px;
	font-size: 14px;
}

.rs-dd dl{
	margin-bottom: 10px;
	border-top: none;
	padding: 10px 0;
}
.rs-dd dt{
	float: left;
	font-weight: 600;
	padding-bottom: 5px;
	font-size: 14px;
	width: 70px;
}

.rs-dd dd{
	margin-left: 80px !important;
	padding-bottom: 5px;
	font-size: 14px;
}


@media screen and (min-width: 801px) {

.r-dd dt {
	clear: inherit;
	float: left;
}
.r-dd dd {
margin-left:120px;
}
.rs-dd dt {
	clear: inherit;
	float: left;
}
.rs-dd dd {
margin-left:90px;
}
}



@media(max-width: 700px){
	.incho-wrap {
		width: 100%;
		display: block;
	}
	.incho-img {
		width: 80%;
		margin: 0 auto;
		padding: 20px 50px 0;
	}
	.incho-img p {
		margin: 20px 0 0;
}
	.incho-txt{
    width: 100%;
  }
}

.about-dl h3 {
	font-size: 18px;
	font-weight: 600;
}


/* 3カラム */

.f-box3 {
  display: flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	margin: 0 0 30px;
}
	
.fb3 {
	width: calc((100% / 3) - (40px * 2 / 3));
	font-size: 16px;
	text-align: left;
	overflow: hidden;
	margin-bottom: 50px;
	margin-right:40px;
	position: relative;
	background: #fff;
	border-radius: 10px;
}
.fb3:nth-of-type(3n) {
margin-right: 0;/*右端に来る箱だけ右側の余白を消す*/
}

.fb3-wr {
	padding: 10px 30px 20px;
}



.image-trim {
  position: relative;
  overflow: hidden;
  padding-top: 70%; /* 比率 */
}
.image-trim img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
	height: 100%;
  object-fit: cover;
}

@media(max-width: 800px){
  .f-box3 {
   flex-direction: column;
	  width: 100%;
	  margin: 0 auto 30px;
  }
	.fb3 {
	width: 100%;
	margin-right:0;
		font-size: 14px;
}

}





/* 2カラム */


.f-box2{
  display: flex;
  justify-content: space-between;
	flex-wrap :wrap;
	margin: 0 auto 50px;
    max-width: 960px;
    padding: 0 20px 0;
}

.fb2-1{
  width: 400px;
	margin-right: 50px;
}

.fb2-1 img{
  border-radius: 20px;
}

.fb2-2{
  width: 100%;
  flex: 1;
}

.fb2-2 p{
	font-size: 18px !important;
	font-weight: 600;
	margin: 30px 0 10px;
}


.ft20 {
	font-size: 20px;
	font-weight: 500;
}


@media(max-width: 800px){
 .f-box2{
  flex-direction: column;
	 width: 100%;
}

.fb2-1,.fb2-2{
  width: 100%;
		margin:0 0 20px 0;
}
	.fb2-2 p{
	font-size: 18px !important;
	font-weight: 600;
	margin: 10px 0 10px;
}
}






/*マップ*/

.map {
	padding-bottom: 10px;
}
.map-wrap {
	width: 100%;
	background:#fff8f9;
	padding:40px 0;
}

.gmap {
overflow: hidden;
position: relative;
	height: 300px;
	margin: 0 auto 50px;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}


@media(max-width: 800px){
	.map-wrap {
	padding:30px 0;
}
	
	.gmap {
height: 300px;
}
}





.topics dl {
padding: 15px 0;
	font-size: 14px;
}

.topics dt {
padding-bottom: 5px;
	font-weight: 400;
	letter-spacing: 0.3em;
}

.topics dd {
padding-bottom: 5px;
}


@media screen and (min-width: 768px) {
	.topics dl {
		font-size: 16px !important;
	}
.topics dt {
clear: left;
float: left;
width: 130px;
}
.topics dd {
margin-left: 150px;
}
}







/* ボタン共通設定 */
.btn-a{
position: relative;
    /*ボタンの形状*/
text-decoration: none;
display: inline-block;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
}

/* 矢印が右に移動 */

.btnarrow1::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
position: absolute;
    top:42%;
    right: 13px;
    /*矢印の形状*/
    width: 5px;
    height: 5px;
    border-top: 2px solid ;
    border-right: 2px solid;
    transform: rotate(45deg);
}

/*hoverした際の移動*/
.btnarrow1:hover::after{
    right: 11px;
	border-top: 2px solid ;
    border-right: 2px solid;
}


@media screen and (max-width: 800px){
	.btnarrow1::after{
    display: none;
}
}
	


/*矢印が右に移動する*/
.btnarrow4{
    /*矢印と下線の基点とするためrelativeを指定*/
  position: relative;
    /*形状*/
    display: inline-block;
  padding: 0 20px;
    color: #333;
    text-decoration: none;
    outline: none;
}

/*矢印と下線の形状*/
.btnarrow4::before{
    content: '';
    /*絶対配置で下線の位置を決める*/
  position: absolute;
    bottom:-8px;
    left:15%;
    /*下線の形状*/    
    width: 85%;
    height: 1px;
  background:#333;
    /*アニメーションの指定*/
    transition: all .3s;
}

.btnarrow4::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    bottom:-3px;
    right:0;
    /*矢印の形状*/    
    width: 15px;
    height:1px;
  background:#333;
    transform: rotate(35deg);
    /*アニメーションの指定*/
    transition: all .3s;
}

/*hoverした際の移動*/
.btnarrow4:hover::before{
    left:20%;
}

.btnarrow4:hover::after{
    right:-5%;
}



.btnarrow5{
    /*矢印の基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/
  border: 1px solid #000;
    padding: 8px 30px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: #000;
    outline: none;
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow5:hover{
  background:#000;
  color:#fff;
}

/*矢印と下線の形状*/
.btnarrow5::before{
  content:"";
    /*絶対配置で下線の位置を決める*/
  position: absolute;
  top:50%;
  right:-26px;
    /*下線の形状*/
  width:40px;
  height:1px;
  background:#000;
    /*アニメーションの指定*/
    transition: all .2s linear;
}

.btnarrow5::after{
  content:"";
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top: 20%;
    right: -21px;
    /*矢印の形状*/
  width:1px;
  height:12px;
  background:#333;
    transform:skewX(45deg);
    /*アニメーションの指定*/
    transition: all .2s linear;
}

/*hoverした際の移動*/
.btnarrow5:hover::before{
  right:-30px;
}

.btnarrow5:hover::after{
  right:-25px;
}



.btnarrow6 a {
    background: #eee;
    border-radius: 5px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 280px;
    padding: 10px 25px;
    color: #000;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.btnarrow6 a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.btnarrow6 a:hover {
  background: #999;
  color: #FFF;
}
.btnarrow6 a:hover:after {
  right: 1.4rem;
}



/* 404
------------------------------------------------------------*/

.tit404 {
	text-align: center;
	width: 100%;
}

.tit404 p {
	font-size: 22px;
	font-weight: bold;
}




/* CONTACT
------------------------------------------------------------*/

.tel-wrap {
	border-radius: 10px;
	background: var(--blue-pale);
	padding: 30px;
	margin:0 auto 50px;
	text-align: center;
	width: 70%;
	color: #000 !important;
}
.tel-wrap p {
	font-size:40px;
	letter-spacing: 3px;
	font-weight: 600;
	padding-bottom: 10px;
}


.con-wrap {
	margin: 0 auto;
	max-width: 960px;
	padding: 40px;
	text-align: center;
}

.con-wrap p {
	font-size: 16px;
	font-weight: 600;
}

.con-wrap2 {
	padding: 5px 0 15px;
	font-size: 12px;
}


.tel {
	font-size: 35px !important;
	font-weight: bold;
	padding: 10px 0 20px 0;
	display: block;
	letter-spacing: 2px;
}

.tel-time {
	background: #ce4025;
	color: #fff;
	display: inline;
	font-size: 12px;
	margin-right: 10px;
	padding: 5px 10px;
}

@media screen and (max-width: 768px) {
	.con-wrap {
	width: 100%;
		padding: 30px 10px;
}
	.tel {
	font-size: 26px !important;
}
	.tel-wrap {
	width: 100%;
		padding: 30px 20px;
		font-size: 14px;
}
.tel-wrap p {
	font-size:30px;
}
}

/* 2カラム46 */


.f-box46{
  display: flex;
	max-width: 1100px;
	margin: 0 auto;
	flex-wrap :wrap;
	padding: 0 20px;
  flex-direction: column;
}

.fb4-l{
  width: 100%;
		margin:0 0 40px 0;
}
.fb6-r{
  width: 100%;
		margin:0 0 10px 0;
}


	

.sw-form {
	margin: 0 auto;
	text-align: left;
}


.sw-q {
	margin-bottom: 20px;

}

.sw-1 {
	width: 100%;
}
.sw-2{
	width: 100%;
}



.fm-red {
	color: red;
	font-weight: 500;
}

input, textarea {
 background: inherit;
  width: 100%;
  max-width: 100%;
  margin: 0.5rem 0;
  padding: 0.7rem 1rem;
	border: 1px solid #000;
  color: #000000;
	font-size: 14px !important;
	display: inline-block;
	border-radius: 0 !important;
}


/* 送信ボタン */
input.sub-btn {
	width: 300px;
	padding: 17px 0;
	background: #000;
	color: #FFF;
	border: none;
	margin: 0 auto !important;
    display: block;
    font-weight: 600;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
	cursor:pointer;
	font-size: 16px;
}

/* 送信ボタンホバー */
input.sub-btn:hover{
	background: #666;

}

@media(max-width: 600px){
input[type="submit"],
input[type="button"],
input[type="reset"] {
  -webkit-appearance: none;
}
}




input::placeholder, textarea::placeholder {
  color: #7a7a7a;
	font-weight:400!important;
}
input.error, textarea.error {
  background:#FD2629;
  color: #fff;
}
input.error::placeholder, textarea.error::placeholder {
  color: black;
}

textarea {
  height: 10rem;
}

input[type=radio] {
	display: inline;
	width: 20px;
}


.wpcf7-list-item {
	margin: 0 !important;
}
.wpcf7-list-item-label {

}

.check-last {
	display: flex;
	font-size: 12px;
}

input[type=checkbox] {
	display: inline;
	width: inherit;
	margin-right: 10px;
}

input[type=select] {
	display: inline;
}




select{
  position: relative;
	font-size: 14px;
  margin: 0.5rem 0;
  padding: 0.7rem 1rem;
	border: 1px solid #000;
  width: 100%;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
	    background: inherit;
	border-radius: 0 !important;
}

.select-wrap {
    position: relative;
}

.select-wrap:after {
  content: "";
    position: absolute;
    right: 15px;
    top: 25px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #000000;
    border-left: 2px solid #000000;
    transform: translateY(-50%) rotate(
-135deg
);
  font-size: 20px;
  pointer-events: none;
}


@media screen and (max-width: 768px) {
	input, textarea {
		width: 100%;
  margin: 0.5rem 0;
  padding: 0.7rem 1rem;
	border: 1px solid #000;
  color: #000000;
	font-size: 14px !important;
	display: inline-block;
}
}
	

.wpcf7 form.sent .wpcf7-response-output, 
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output, 
.wpcf7 form.sent .wpcf7-response-output {
    border: 0 !important;
    padding: 20px !important;
    background: #f2be41 !important;
    margin: 0 0.5em 1em !important;
}

.f12 {
	font-size: 12px;
	line-height: 1.6 !important;
	margin-bottom: 10px;
}

.bg-checkbox {
    margin-bottom: 1rem;
}

.bg-checkbox input[type=checkbox] {
    position: relative;
    cursor: pointer;
    width: 18px;
    height: 18px;
    margin-top: -1px;
    background-color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    transition: .3s;
	padding: 5px 12px;
}



.bg-checkbox input[type=checkbox]:checked {
}

.bg-checkbox input[type=checkbox]:checked::before {
    position: absolute;
    top: 5px;
    left: 6px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 14px;
    content: '\f00c';
}


.recap p {
	text-align: center;
	font-size: 10px !important;
	font-weight: normal !important;
}
.grecaptcha-badge { visibility: hidden; }


/* フッター
------------------------------------------------------------*/

#footer{
	clear: both;
	text-align: left;
	width: 100%;
	margin-top: 100px;
}

.line {
	border-top: solid 3px var(--blue-main);
	margin: 0 20px;
}


.img150 {
	width: 150px;
}


.ft-ab{
	margin: 70px auto 50px;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 950px;
}

.ft-ab1 {
	width: 450px;
	padding: 0 20px;
}
.ft-ab2 {
	width: 100%;
	flex: 1;
	padding: 0 20px;
}

.ft-ab2 p{
	padding: 10px;
	font-size: 12px;
}

@media only screen and (max-width: 800px){
	.ft-ab1 {
	width: 100%;
		margin-bottom: 30px;
		letter-spacing: 0;
}
	.ft-ab2 {
	width: 100%;
}
}

.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 130%; /* 比率を4:3に固定 */
}

@media only screen and (max-width: 800px){
	.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}
}
	

/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	border: none;
}

.red {color: red;}
.blue {color: blue;}
.yellow {color:#FFE34B;}
.mdr {color:var(--blue-main);}



.tel {
	font-size: 20px;
	font-weight: 600;
}

.t-time {
	font-size: 14px;
	font-weight: normal;
}



.pt {
	font-size: 13px;
	font-weight: 500;
	background-color: var(--blue-main);
	padding: 4px 7px;
	color: #fff;
	line-height: 1;
	letter-spacing: 0;
	margin-right: 10px;
}


.tbl-weekly {
	width: 100%;
	border-bottom: 2px solid #ccc;
	border-left: 2px solid #ccc;
	margin: 10px 0;
}

.tbl-weekly .col01 {
	width: 30%;
}

.tbl-weekly .col02,
.tbl-weekly .col03,
.tbl-weekly .col04,
.tbl-weekly .col05,
.tbl-weekly .col06,
.tbl-weekly .col07,
.tbl-weekly .col08 {
	width: 10%;
}

.tbl-weekly th {
	font-size: 14px;
	background: #fff;
	text-align: center;
	padding: 11px 0;
	vertical-align: middle;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	font-weight: bold;
}

.tbl-weekly tr:first-child th {
	font-size: 14px;
	padding: 7px 0;
	border-top: 2px solid #ccc;
}

.tbl-weekly td {
	font-size: 14px;
	padding: 7px 0;
	text-align: center;
	vertical-align: middle;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	font-weight: bold;
	color: #000;
}

.tbl-weekly tr:first-child td:nth-child(7) {
	color: #000;
}

.tbl-weekly tr:first-child td:nth-child(8) {
	color: #000;
}

.tbl-weekly .week td {
	color: #000;
}






.copy {
	text-align: center;
	padding-bottom: 50px;
	letter-spacing: 1px;
}

	
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}




/* いろいろ
------------------------------------------------------------*/



/* ページネーション */

.n-p {
	width: 100%;
	margin: 40px auto 20px auto;
	text-align: center;
	font-size: 14px;
}

.page-numbers {
  margin: 10px 5px;
	line-height: 2.2;
  padding: 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  text-align: center;
	border-radius: 7px;
}

.n-p a{
    color: #fff;
    background: #000;
}

.current {
	background:#000;
	color: #fff;
}



.page-numbers:hover {
	background: #999;
	color: #fff !important;
	opacity: 1 !important;
	text-decoration: none;
}





/* Mitsuke palette, sampled from the supplied logo (#0256A9). */
:root {--blue-main:#0256A9;--blue-deep:#003F7D;--blue-light:#78AEE0;--blue-pale:#EAF4FC;--blue-hover:#0875C9;--blue-border:#BCD8ED;}
body{color:#243443;background:#fff;font-family:'M PLUS Rounded 1c',sans-serif;}
a{color:var(--blue-main)} a:hover{color:var(--blue-hover)}
.mitsuke-hero{min-height:clamp(560px,calc(100vh - 255px),860px);background:linear-gradient(120deg,rgba(0,63,125,.38),rgba(2,86,169,.18)),url('images/gaikan2025.jpg') center/cover;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;padding:40px 20px;}
@media (max-width:1000px){.mitsuke-hero{min-height:clamp(460px,72vh,680px);}}
@media (max-width:600px){.mitsuke-hero{min-height:62vh;max-height:620px;background-position:center center;}}
.mitsuke-hero h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:.12em;line-height:1.4}.mitsuke-hero p{font-size:1.2rem;margin-top:1rem}
.mitsuke-content>h1{font-size:2.4rem;line-height:1.4}.mitsuke-content h2{font-size:1.8rem;line-height:1.5}.mitsuke-card h2{font-size:1.5rem}.mitsuke-footer h2{font-size:1.3rem;color:#fff}
.mitsuke-content{max-width:1050px;margin:auto;padding:64px 24px}.mitsuke-content h1,.mitsuke-content h2{color:var(--blue-deep);margin:0 0 24px}.mitsuke-content h2{border-left:6px solid var(--blue-main);padding-left:16px;margin-top:44px}.mitsuke-content p{line-height:1.9;margin:0 0 16px}.mitsuke-content ul{margin:0 0 24px 1.4em;line-height:1.9}
.mitsuke-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.mitsuke-card{background:var(--blue-pale);border:1px solid var(--blue-border);border-radius:10px;padding:28px}.mitsuke-card h3{color:var(--blue-deep);margin:0 0 16px}.mitsuke-card a{font-weight:700}.mitsuke-btn{display:inline-block;background:var(--blue-main);color:#fff;padding:12px 22px;border-radius:30px;text-decoration:none}.mitsuke-btn:hover{background:var(--blue-hover);color:#fff}
.mitsuke-photo{width:100%;height:auto;border-radius:8px}.mitsuke-schedule{overflow:auto}.mitsuke-schedule img{max-width:100%;height:auto;border:1px solid var(--blue-border)}.mitsuke-table{border-collapse:collapse;width:100%}.mitsuke-table th,.mitsuke-table td{padding:12px;border:1px solid var(--blue-border);text-align:left}.mitsuke-table th{background:var(--blue-pale);color:var(--blue-deep)}.mitsuke-note{padding:16px;background:var(--blue-pale);border-left:4px solid var(--blue-main)}
.mitsuke-footer{background:var(--blue-deep);color:#fff;padding:48px 24px}.mitsuke-footer-inner{max-width:1050px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:32px}.mitsuke-footer a{color:#fff}.mitsuke-footer-logo{width:220px;max-width:100%;height:auto}.mitsuke-copy{text-align:center;margin-top:30px}.mitsuke-news li{border-bottom:1px solid var(--blue-border);padding:13px 0}.mitsuke-news time{color:var(--blue-deep);font-weight:700;margin-right:14px}
@media(max-width:700px){.mitsuke-grid,.mitsuke-footer-inner{grid-template-columns:1fr}.mitsuke-content{padding:40px 18px}}

/* 獣医師担当表 /schedule/ */
.vet-schedule{width:min(100%,1100px);margin:0 auto;padding:10px 0 60px}.vet-schedule__notice{margin:0 0 48px;padding:24px 28px;background:#f3f9fc;border-left:5px solid #5aa9cf;border-radius:4px;color:#3d4b52;font-size:15px;line-height:2}.vet-schedule__month+.vet-schedule__month{margin-top:64px}.vet-schedule__heading{margin:0 0 24px;padding:0 0 12px;border-bottom:2px solid #5aa9cf;color:#277da7;font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.4;text-align:center}.vet-schedule__image{width:100%;text-align:center}.vet-schedule__image img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto}@media(max-width:767px){.vet-schedule{padding:0 0 40px}.vet-schedule__notice{margin-bottom:36px;padding:18px;font-size:13px;line-height:1.9}.vet-schedule__month+.vet-schedule__month{margin-top:48px}.vet-schedule__heading{margin-bottom:18px;padding-bottom:10px}}

/* Sakata navigation: only user-triggered opening/closing animates. */
.openbtn1 { border: 0; padding: 0; background: transparent; }
#header .logo img { background: transparent; border-radius: 0; }
@media screen and (min-width:1001px) {
  #g-nav .nav01c > li > a { padding-left: 20px; padding-right: 20px; }
}
@media screen and (max-width:1000px) {
  #g-nav { height: 100vh; height: 100dvh; visibility: hidden; }
  #g-nav.nav-animate { transition: right .6s ease, visibility 0s linear .6s; }
  #g-nav.panelactive { visibility: visible; transition-delay: 0s; }
  #g-nav.nav-resizing { transition: none; }
  #g-nav #g-nav-list, #g-nav.panelactive #g-nav-list { position: relative; width: 100%; height: 100vh; height: 100dvh; overflow-y: auto; }
}

/* Clinic page — scoped styles; shared header and navigation remain unchanged. */
.mitsuke-content--clinic { max-width:1170px; padding-top:64px; padding-bottom:80px; }
.mitsuke-content--clinic .clinic-page-header { text-align:center; padding:12px 0 36px; border-bottom:1px solid var(--blue-border); }
.mitsuke-content--clinic .clinic-page-header h1 { margin:10px 0 0; padding:0; font-size:36px; letter-spacing:.16em; color:var(--blue-deep); }
.mitsuke-content--clinic .clinic-eyebrow { display:block; color:var(--blue-main); font-size:12px; font-weight:700; letter-spacing:.2em; }
.clinic-page { color:#253e50; font-size:16px; }
.clinic-page .clinic-intro { text-align:center; padding:32px 0 12px; }
.clinic-page .clinic-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 24px; padding:12px 0 24px; }
.clinic-page .clinic-links a { padding:8px 0; font-size:14px; border-bottom:1px solid var(--blue-border); }
.clinic-page .clinic-links a::after { content:'↓'; margin-left:12px; }
.clinic-page a:focus-visible { outline:3px solid var(--blue-main); outline-offset:4px; }
.clinic-page .clinic-section { padding:52px 0; border-bottom:1px solid var(--blue-border); scroll-margin-top:90px; }
.clinic-page .clinic-heading { margin-bottom:28px; }
.clinic-page .clinic-heading h2 { margin:8px 0 0; padding:0; border:0; font-size:28px; letter-spacing:.06em; }
.clinic-page .clinic-hours { width:100%; table-layout:fixed; }
.clinic-page .clinic-hours caption { padding:0 0 12px; font-size:14px; }
.clinic-page .clinic-hours th,.clinic-page .clinic-hours td { padding:20px 24px; text-align:center; border-bottom:1px solid var(--blue-border); }
.clinic-page .clinic-hours thead th { background:var(--blue-pale); color:var(--blue-deep); font-size:14px; }
.clinic-page .clinic-hours tbody th { font-size:16px; font-weight:500; }
.clinic-page .clinic-hours td { font-size:22px; font-weight:500; font-variant-numeric:tabular-nums; }
.clinic-page .clinic-hours td:last-child { font-size:16px; }
.clinic-page .clinic-closed { margin:20px 0 8px; }
.clinic-page .clinic-closed strong { margin-right:18px; color:var(--blue-deep); }
.clinic-page .clinic-small { font-size:14px; }
.clinic-page p a { text-decoration:underline; text-underline-offset:4px; }
.clinic-page .clinic-animals { display:grid; grid-template-columns:repeat(4,1fr); margin:0 0 20px; gap:16px; list-style:none; }
.clinic-page .clinic-animals li { padding:24px 12px; border-radius:8px; background:var(--blue-pale); color:var(--blue-deep); text-align:center; font-size:20px; font-weight:500; }
.clinic-page .clinic-animals span { font-size:13px; margin-left:6px; }
.clinic-page .clinic-care-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:start; }
.clinic-page .clinic-service { padding:22px 0; border-bottom:1px solid var(--blue-border); }
.clinic-page .clinic-service:first-child { padding-top:0; }
.clinic-page h3 { font-size:20px; color:var(--blue-deep); margin:0 0 16px; font-weight:500; }
.clinic-page .clinic-service h3 span { color:var(--blue-main); margin-right:16px; font-size:14px; }
.clinic-page .clinic-service p { margin-bottom:0; }
.clinic-page .clinic-list { list-style:disc; margin:0 0 0 1.3em; padding:0; }
.clinic-page .clinic-list li { padding:3px 0; }
.clinic-page .clinic-list li::marker { color:var(--blue-main); }
.clinic-page .clinic-tests { font-size:15px; }
.clinic-page .clinic-photo { margin:0; width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:12px; }
.clinic-page .clinic-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.clinic-page .clinic-photo--placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; text-align:center; background:linear-gradient(145deg,#edf5fb,#dcebf5); border:1px solid var(--blue-border); color:#416781; }
.clinic-page .clinic-photo__icon { width:48px; height:36px; border:2px solid #779bb4; border-radius:6px; position:relative; margin:0 0 20px; }
.clinic-page .clinic-photo__icon::before { content:''; position:absolute; width:12px; height:12px; border:2px solid #779bb4; border-radius:50%; top:9px; left:15px; }
.clinic-page .clinic-photo__icon::after { content:''; position:absolute; width:19px; height:6px; border:2px solid #779bb4; border-bottom:0; border-radius:4px 4px 0 0; top:-8px; left:12px; }
.clinic-page .clinic-photo figcaption span,.clinic-page .clinic-photo figcaption strong { display:block; }
.clinic-page .clinic-photo figcaption strong { font-size:18px; font-weight:500; margin:8px 0; }
.clinic-page .clinic-photo figcaption span { font-size:12px; }
.clinic-page .clinic-photo figcaption .clinic-photo__tag { font-size:10px; letter-spacing:.18em; }
.clinic-page .clinic-split { display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:start; }
.clinic-page .clinic-split--reverse { grid-template-columns:1.1fr 1fr; }
.clinic-page .clinic-badge { display:inline-block; padding:4px 14px; border:1px solid var(--blue-border); border-radius:30px; color:var(--blue-main); font-size:13px; margin-bottom:16px; }
.clinic-page .clinic-lead { font-size:22px; color:var(--blue-deep); }
.clinic-page .clinic-registration { display:flex; flex-wrap:wrap; gap:8px 24px; padding:18px 24px; background:#f4f7fa; font-size:13px; margin-top:28px; }
.clinic-page .clinic-registration dt { font-weight:700; }
.clinic-page .clinic-notice { border-left:3px solid var(--blue-main); padding:16px 20px; background:var(--blue-pale); margin:22px 0 14px; }
.clinic-page .clinic-notice h3 { font-size:16px; margin-bottom:8px; }
.clinic-page .clinic-notice p { margin:0; }
.clinic-page .clinic-annual { padding:28px; background:#f4f7fa; margin:32px 0 40px; border-radius:8px; }
.clinic-page .clinic-annual p { margin:0; }
.clinic-page .clinic-flow__start { padding:20px; background:var(--blue-pale); text-align:center; border-radius:8px; }
.clinic-page .clinic-flow__branches { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:16px; }
.clinic-page .clinic-flow__branch { padding:24px; border:1px solid var(--blue-border); border-radius:8px; }
.clinic-page .clinic-flow__branch h4 { font-size:18px; color:var(--blue-deep); margin-bottom:18px; }
.clinic-page .clinic-flow__branch ol { margin:0 0 0 1.3em; }
.clinic-page .clinic-flow__branch li { padding:0 0 16px 4px; }
.clinic-page .clinic-flow__branch li:last-child { padding-bottom:0; }
.clinic-page .clinic-flow__time { display:block; margin-top:8px; color:var(--blue-deep); }
.clinic-page .clinic-contact { text-align:center; padding:40px 24px; margin-top:48px; background:var(--blue-pale); border-radius:12px; }
.clinic-page .clinic-contact>a { display:inline-block; font-size:32px; font-weight:700; letter-spacing:.03em; margin-bottom:12px; }
.clinic-page .clinic-contact>a span { font-size:14px; }
.clinic-page .clinic-contact p:last-child { margin:0; }
@media(max-width:800px) {
 .clinic-page .clinic-care-layout,.clinic-page .clinic-split,.clinic-page .clinic-split--reverse { grid-template-columns:1fr; gap:28px; }
 .clinic-page .clinic-care-layout .clinic-photo { max-width:600px; }
 .clinic-page .clinic-split>.clinic-photo { order:2; }
 .clinic-page .clinic-flow__branches { grid-template-columns:1fr; }
}
@media(max-width:500px) {
 .mitsuke-content--clinic { padding-top:36px; }
 .mitsuke-content--clinic .clinic-page-header h1 { font-size:30px; }
 .clinic-page { font-size:15px; }
 .clinic-page .clinic-section { padding:36px 0; }
 .clinic-page .clinic-heading h2 { font-size:24px; }
 .clinic-page .clinic-animals { grid-template-columns:repeat(2,1fr); gap:10px; }
 .clinic-page .clinic-animals li { padding:18px 8px; font-size:18px; }
 .clinic-page .clinic-hours th,.clinic-page .clinic-hours td { padding:16px 5px; }
 .clinic-page .clinic-hours th:first-child { width:20%; }
 .clinic-page .clinic-hours th:nth-child(2) { width:46%; }
 .clinic-page .clinic-hours td { font-size:18px; white-space:nowrap; }
 .clinic-page .clinic-hours td:last-child { font-size:14px; }
 .clinic-page .clinic-flow__branch,.clinic-page .clinic-annual { padding:20px; }
 .clinic-page .clinic-contact { padding:28px 16px; }
 .clinic-page .clinic-contact>a { font-size:26px; }
}

/* Trimming reservation flow: steps and conditional branches. */
.clinic-page .clinic-flow--diagram { margin-top:40px; }
.clinic-page .clinic-flow--diagram>h3 { font-size:24px; margin-bottom:28px; }
.clinic-page .clinic-flow__entry { display:flex; gap:24px; align-items:center; padding:28px 32px; background:var(--blue-pale); border:1px solid var(--blue-border); border-radius:12px; }
.clinic-page .clinic-flow__entry h4 { color:var(--blue-deep); font-size:20px; margin-bottom:8px; }
.clinic-page .clinic-flow__entry p,.clinic-page .clinic-flow__step p { margin:0; }
.clinic-page .clinic-flow__number { display:flex; flex-direction:column; flex:none; align-items:center; justify-content:center; width:64px; height:72px; border-radius:10px; background:var(--blue-main); color:#fff; font-family:Arial,sans-serif; font-size:34px; font-weight:700; line-height:1.1; }
.clinic-page .clinic-flow__number small { font-size:10px; letter-spacing:.14em; margin-bottom:5px; }
.clinic-page .clinic-flow__icon { display:block; width:36px; flex:none; margin-left:auto; color:var(--blue-main); }
.clinic-page .clinic-flow__icon svg { display:block; width:100%; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.clinic-page .clinic-flow__routes { display:grid; grid-template-columns:1fr 1fr; gap:28px; padding-top:42px; }
.clinic-page .clinic-flow__route { position:relative; min-width:0; padding:0 24px 24px; border:1px solid var(--blue-border); border-radius:12px; background:#f8fbfe; }
.clinic-page .clinic-flow__route::before { content:''; position:absolute; left:50%; top:-43px; height:30px; border-left:2px solid #78a3c4; }
.clinic-page .clinic-flow__route::after { content:''; position:absolute; left:calc(50% - 6px); top:-17px; border-left:7px solid transparent; border-right:7px solid transparent; border-top:9px solid #78a3c4; }
.clinic-page .clinic-flow__condition { margin:0 -24px 24px; padding:16px 12px; border-radius:11px 11px 0 0; background:var(--blue-main); color:#fff; text-align:center; font-size:18px; }
.clinic-page .clinic-flow__route--same-day { background:#f6f8fa; }
.clinic-page .clinic-flow__route--same-day .clinic-flow__condition { background:#48677f; }
.clinic-page .clinic-flow__step { display:flex; align-items:flex-start; gap:16px; background:#fff; border:1px solid var(--blue-border); border-radius:10px; padding:22px 18px; }
.clinic-page .clinic-flow__step>div { min-width:0; flex:1; }
.clinic-page .clinic-flow__step .clinic-flow__number { width:48px; height:57px; font-size:27px; }
.clinic-page .clinic-flow__step h5 { color:var(--blue-deep); font-size:18px; margin-bottom:8px; }
.clinic-page .clinic-flow__step p { font-size:14px; }
.clinic-page .clinic-flow__step .clinic-flow__icon { width:26px; }
.clinic-page .clinic-flow__arrow { text-align:center; color:#6896b9; font:32px/1.4 Arial,sans-serif; padding:7px 0; }
.clinic-page .clinic-flow__step .clinic-flow__timebox { margin:14px 0 10px; padding:10px 12px; background:var(--blue-pale); border-radius:6px; color:var(--blue-deep); }
.clinic-page .clinic-flow__timebox span { display:block; font-size:12px; }
.clinic-page .clinic-flow__timebox strong { display:block; font-size:23px; font-weight:700; font-variant-numeric:tabular-nums; }
.clinic-page .clinic-flow__results { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.clinic-page .clinic-flow__result { border:1px solid var(--blue-border); background:#fff; border-radius:10px; text-align:center; overflow:hidden; }
.clinic-page .clinic-flow__result-label { display:block; background:var(--blue-pale); padding:10px 6px; color:var(--blue-deep); font-size:13px; font-weight:700; }
.clinic-page .clinic-flow__result>strong { display:block; padding:20px 10px; font-size:15px; color:var(--blue-deep); }
.clinic-page .clinic-flow__result--retry .clinic-flow__result-label { background:#e8edf1; color:#435c70; }
@media(max-width:1000px) {
 .clinic-page .clinic-flow__routes { gap:18px; }
 .clinic-page .clinic-flow__route { padding:0 16px 20px; }
 .clinic-page .clinic-flow__condition { margin-left:-16px; margin-right:-16px; }
 .clinic-page .clinic-flow__step { padding:18px 12px; gap:12px; }
 .clinic-page .clinic-flow__step .clinic-flow__icon { display:none; }
}
@media(max-width:760px) {
 .clinic-page .clinic-flow__routes { grid-template-columns:1fr; gap:42px; }
 .clinic-page .clinic-flow__entry { padding:22px 18px; gap:16px; }
 .clinic-page .clinic-flow__entry h4 { font-size:18px; }
 .clinic-page .clinic-flow__entry .clinic-flow__icon { display:none; }
 .clinic-page .clinic-flow__route--same-day::before { display:none; }
 .clinic-page .clinic-flow__route--same-day::after { content:'または'; border:0; width:80px; top:-33px; left:calc(50% - 40px); text-align:center; font-size:13px; color:#48677f; }
 .clinic-page .clinic-flow--diagram>h3 { font-size:21px; }
}

/* Shared fixed-page heading, matching the clinic page. */
.mitsuke-content--page { padding-top:64px; }
.mitsuke-content--page .mitsuke-page-header { text-align:center; padding:12px 0 36px; margin-bottom:32px; border-bottom:1px solid var(--blue-border); }
.mitsuke-content--page .mitsuke-page-header__en { display:block; color:var(--blue-main); font-size:12px; font-weight:700; letter-spacing:.2em; }
.mitsuke-content--page .mitsuke-page-header h1 { margin:10px 0 0; padding:0; font-size:36px; line-height:1.4; letter-spacing:.16em; color:var(--blue-deep); overflow-wrap:anywhere; }
.mitsuke-content--clinic .mitsuke-page-header { margin-bottom:0; }
@media(max-width:500px) {
 .mitsuke-content--page { padding-top:36px; }
 .mitsuke-content--page .mitsuke-page-header h1 { font-size:30px; }
}

/* Shared post lists and news pagination. */
.mitsuke-content ul.news-list { margin:0 auto 40px; padding:0; }
.news-list .n-item .date { flex-shrink:0; }
.news-list .n-item .category { flex-shrink:0; max-width:220px; }
.news-list .n-item .category span { line-height:1.5; overflow-wrap:anywhere; }
.news-list .n-item .title { min-width:0; overflow-wrap:anywhere; }
.news-more { text-align:center; }
.news-pagination ul.page-numbers { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:32px 0 0; padding:0; list-style:none; }
.news-pagination a.page-numbers,.news-pagination span.page-numbers { display:block; padding:8px 14px; border:1px solid var(--blue-border); border-radius:4px; }
.news-pagination .page-numbers.current { background:var(--blue-main); color:#fff; }
.news-list a:focus-visible,.news-more a:focus-visible,.news-pagination a:focus-visible { outline:3px solid var(--blue-main); outline-offset:3px; }
@media(max-width:767px) { .news-list .n-item .category { max-width:100%; flex-shrink:1; } }

/* Information pages: reserved image areas and recruitment details. */
.mitsuke-detail-page .mitsuke-media { margin:0; min-width:0; }
.mitsuke-detail-page .mitsuke-image-placeholder { aspect-ratio:4/3; min-height:220px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:12px; padding:28px; border:1px dashed #779bb4; border-radius:12px; background:var(--blue-pale); color:var(--blue-deep); text-align:center; overflow-wrap:anywhere; }
.mitsuke-detail-page .mitsuke-image-placeholder>span { font-size:12px; letter-spacing:.08em; }
.mitsuke-detail-page .mitsuke-image-placeholder strong { font-size:18px; font-weight:500; }
.mitsuke-detail-page .mitsuke-image-placeholder small { font-size:13px; }
.mitsuke-detail-page .mitsuke-media img { display:block; width:100%; height:auto; border-radius:12px; }
.mitsuke-detail-page .mitsuke-media figcaption { margin-top:12px; font-size:13px; line-height:1.8; color:#416781; }
.mitsuke-detail-page .mitsuke-case-media { max-width:560px; margin:32px auto 0; }
.mitsuke-detail-page .mitsuke-recruit-media { max-width:720px; margin:24px auto 0; }
.mitsuke-detail-page .mitsuke-recruit-media .mitsuke-image-placeholder { aspect-ratio:16/9; }
.mitsuke-detail-page .mitsuke-recruit-details { margin:0; border-top:1px solid var(--blue-border); }
.mitsuke-detail-page .mitsuke-recruit-details>div { display:grid; grid-template-columns:180px minmax(0,1fr); border-bottom:1px solid var(--blue-border); }
.mitsuke-detail-page .mitsuke-recruit-details dt { padding:22px 24px; font-weight:500; color:var(--blue-deep); background:var(--blue-pale); }
.mitsuke-detail-page .mitsuke-recruit-details dd { margin:0; padding:22px 24px; line-height:1.9; overflow-wrap:anywhere; }
@media(max-width:600px) {
 .mitsuke-detail-page .mitsuke-image-placeholder { padding:20px; min-height:200px; }
 .mitsuke-detail-page .mitsuke-recruit-details>div { grid-template-columns:1fr; }
 .mitsuke-detail-page .mitsuke-recruit-details dt { padding:14px 18px; }
 .mitsuke-detail-page .mitsuke-recruit-details dd { padding:16px 18px; }
}

/* Primary menu: linked parent plus independent submenu controls. */
#g-nav .has-child::before { display:none; }
#g-nav .submenu-toggle { font:inherit; color:#fff; background:transparent; border:0; cursor:pointer; }
#g-nav .nav-parent-button { display:block; width:100%; text-align:left; padding:20px 38px 20px 16px; white-space:nowrap; }
#g-nav .submenu-toggle::after { content:''; position:absolute; right:16px; top:50%; width:6px; height:6px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-70%) rotate(45deg); }
#g-nav .submenu-toggle[aria-expanded="true"]::after { transform:translateY(-20%) rotate(225deg); }
#g-nav .submenu-toggle-icon { position:absolute; right:0; top:0; width:36px; height:100%; max-height:64px; padding:0; }
#g-nav .nav-parent-button { position:relative; }
#g-nav a:focus-visible,#g-nav button:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
@media(min-width:1001px) {
 #g-nav .nav01c>li>a { padding:20px 16px; white-space:nowrap; }
 #g-nav .nav01c>.has-child>a { padding-right:38px; }
 #g-nav .has-child>ul { top:100%; }
 #g-nav .has-child.active>ul { visibility:visible; opacity:1; }
 #g-nav .has-child:hover>ul { visibility:hidden; opacity:0; }
 #g-nav .has-child.active:hover>ul { visibility:visible; opacity:1; }
}
@media(max-width:1000px) {
 #g-nav .nav-parent-button { padding:10px 60px 10px 50px; font-weight:bold; letter-spacing:.1em; }
 #g-nav .has-child>a { padding-right:64px; }
 #g-nav .submenu-toggle-icon { width:54px; height:47px; max-height:none; }
 #g-nav .submenu-toggle::after { right:25px; }
 #g-nav .sub-menu>li>a { padding-left:68px; }
}

/* About: facilities and consolidated staff/access sections. */
.mitsuke-about .clinic-links {gap:16px 28px;margin-bottom:32px;}
.mitsuke-about-hero {margin:0;}
.mitsuke-about-hero img {display:block;width:100%;height:auto;max-height:540px;object-fit:cover;border-radius:16px;}
.mitsuke-about .clinic-heading {margin-bottom:28px;}
.mitsuke-about .clinic-section {scroll-margin-top:110px;}
.mitsuke-facilities {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;}
.mitsuke-facilities figure {margin:0;min-width:0;}
.mitsuke-facilities img {display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;}
.mitsuke-facilities figcaption {padding-top:12px;color:var(--blue-deep);font-size:17px;font-weight:700;text-align:center;}
.mitsuke-about .mitsuke-table {width:100%;table-layout:fixed;}
.mitsuke-about .mitsuke-table th:first-child,.mitsuke-about .mitsuke-table td:first-child {width:30%;}
.mitsuke-about .mitsuke-table td {overflow-wrap:anywhere;}
.mitsuke-about #ab-03 .mitsuke-grid {display:block;}
.mitsuke-about #ab-03 .mitsuke-photo {display:block;max-width:720px;width:100%;height:auto;object-fit:contain;border-radius:12px;}
.mitsuke-tests .mitsuke-media {display:flex;align-items:center;justify-content:center;min-height:240px;padding:24px;box-sizing:border-box;background:#fff;border:1px solid var(--blue-border);border-radius:12px;}
.mitsuke-tests .mitsuke-media img {display:block;width:auto;max-width:100%;height:auto;max-height:280px;object-fit:contain;margin:auto;}
@media(max-width:900px){.mitsuke-facilities {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.mitsuke-facilities {grid-template-columns:1fr;gap:24px;}.mitsuke-about .clinic-links {gap:12px 16px;}.mitsuke-about .clinic-section {padding:36px 0;}.mitsuke-about .mitsuke-table th,.mitsuke-about .mitsuke-table td {padding:12px 8px;font-size:14px;}.mitsuke-about-hero img {border-radius:12px;}.mitsuke-tests .mitsuke-media {min-height:200px;}}

/* Keep the About map link styled as a button, including hover/focus. */
.mitsuke-about p a.mitsuke-btn,
.mitsuke-about p a.mitsuke-btn:hover,
.mitsuke-about p a.mitsuke-btn:focus-visible {
  text-decoration: none;
}
.mitsuke-about p a.mitsuke-btn:focus-visible {
  outline: 3px solid var(--blue-deep);
  outline-offset: 4px;
}
