@charset "utf-8";

/*slide.cssの読み込み
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@import url(slide.css);

/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
html *,
::before,
::after {
	box-sizing: border-box;
}
body {
	margin: 0px;
	padding: 0px;
	color: #666;	/*全体の文字色*/
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 16px;	/*文字サイズ*/
	line-height: 3;		/*行間*/
	background: #fff;	/*背景色*/
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
video {max-width: 100%;}
iframe {width: 100%;}





/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #666;	/*リンクテキストの色*/
	-webkit-transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
	transition: 0.5s;			/*同上*/
	text-decoration: none;
}
a:hover {
	color: #17184e;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}


/*inner共通
---------------------------------------------------------------------------*/
.inner {
	max-width: 1400px;	/*サイトの最大幅。「#mainimg」のmax-widthと揃える。*/
	margin: 0 auto;
	padding: 0 3%;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
	
/* ▼ 診療一覧：ドロップダウン */
.pc-nav .mega-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 1000px; 
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  padding: 20px;
  z-index: 1000;
}

.pc-nav li.dropdown-parent:hover .mega-menu {
  display: block;
}

/* ヘッダー部分 */
.mega-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5px;
  margin-left: 20px;
}
.mega-header span {
  font-size: 18px;
  font-weight: bold;
  color: #003366;
}
.tabs {
  display: flex;
  gap: 10px;
}
.tabs .tab {
  padding: 6px 14px;
  border-radius: 20px;
  background: #f5f5f5;
  border: none;
  cursor: pointer;
}
.tabs .tab.active {
  background: #003366;
  color: #fff;
}

/* 本文（診療科リスト） */

.mega-body {
  display: flex;          /* 横並び */
  flex-wrap: wrap;        /* はみ出したら次の行に折り返す */
  gap: 20px;              /* 項目のすきま */
  box-sizing: border-box; /* paddingも幅に含める */
}
	
.mega-body ul {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr); /* 3列 */
  gap: 10px 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.mega-body li {
  display: block;          /* 横書きのため block */
  margin: 0;               /* 不要な margin 削除 */
  padding: 6px 0;
  list-style: none;
  max-width: 200px;        /* 幅制限 */
  word-break: break-word;  /* 長い単語で折り返す */

}
.mega-body li a {
  text-decoration: none;
  color: #333;
  display: block;         /* 横書き＆ブロック化 */
  position: relative;
  padding-right: 20px;

}
/* 矢印アイコン */
.mega-body li a::after {
  content: "→";
  position: absolute;
  right: 0;
  color: #666;
  font-size: 14px;
}
	
	.mega-body li a:hover {
		color: #003366;
		opacity: 0.8;
		
		
	}	
	

	
/* ヘッダー */	
.site-header {
  position: fixed;
  top: 0; 
  left: 0;
  width: 100%;
  z-index: 999;
  font-family: "Noto Sans JP", sans-serif;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* 上段 */
.header-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 13px 37px 0;
}
	
	
.header-left .logo { height: 84px; }
	
@media (max-width: 768px) {
.header-left .logo { height: 63px; }	
}
	
	
.header-right { text-align: right; }
.header-actions { 
	margin-bottom: 4px; 
    margin-top: -10px;	
	}
	
.header-info { font-size: 15px; color: #333; }

/* 下段（PC用） */
.header-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
	padding: 0 20px 6px;
}
.pc-nav ul {
  display: flex;
  list-style: none;
  margin: 0; 
  padding: 0;
  font-size: 18px;
}
.pc-nav li { 
	margin: 0 63px; 
	position: relative; 
	
	}
.pc-nav li a { 
	text-decoration: none; 
	color: #333; 
	font-weight: bold; 
	
	}
	
.pc-nav li a:hover {  
	opacity: 0.5;
	}
	
.pc-nav .dropdown { display: none; position: absolute; top: 100%; left: 0; background: #fff; border: 1px solid #ddd; }
.pc-nav li.dropdown-parent:hover .dropdown { display: block; }

	.pc-nav {
  margin-left: 268px;
	}
	
.header-buttons { 
	display: flex; 
	gap: 10px; 
	
	}

.header-buttons a:hover {
	background: #0075c4;		
		
		
	}
	
/* 下段：項目の縦線 */

.pc-nav li:not(:first-child)::before {
  content: "";
  position: absolute;
  left: -67px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 1.2em;
  background-color: #ccc;
}

.pc-nav li.no-divider::before {
  content: none;
}
	

	
/* ヘッダー：レスポンシブ */

@media (max-width: 1850px) {
  .pc-nav ul {
    font-size: 17px; 
  }
  .header-info {
    font-size: 14px;
  }
  .header-buttons a.navy-btn {
    padding: 1px 70px;
    font-size: 15px;
  }
.pc-nav {
    margin-left: 180px;
}	
#mainimg {
	box-shadow: none;
    margin: 100px auto 0;
}	
}



@media (max-width: 1750px) {
  .pc-nav ul {
    font-size: 16px;
  }
  .header-buttons a.navy-btn {
    padding: 1px 55px;
    font-size: 14px;
  }

}

	
@media (max-width: 1650px) {
  .pc-nav ul {
    font-size: 15px;
  }
  .header-info {
    font-size: 13px;
  }
  .header-buttons a.navy-btn {
    padding: 1px 40px;
    font-size: 13px;
  }

}


@media (max-width: 1550px) {
  .header-top {
    padding: 10px 30px 0; 
  }
  .header-left .logo {
    height: 75px;
  }
  .header-info {
    font-size: 12.5px;
  }
  .pc-nav ul {
    font-size: 14.5px;
  }
  .header-buttons a.navy-btn {
    padding: 1px 35px;
    font-size: 12.5px;
  }
.pc-nav {
    margin-left: 110px;
}
#mainimg {
    margin: 90px auto 0;
}	
}


@media (max-width: 1450px) {
  .header-top {
    padding: 8px 25px 0;
  }
  .header-left .logo {
    height: 68px;
  }
  .header-info {
    font-size: 12px;
  }
  .pc-nav ul {
    font-size: 14px;
  }
  .header-buttons a.navy-btn {
    padding: 1px 30px;
    font-size: 12px;
  }
}


@media (max-width: 1350px) {
  .header-top {
    padding: 6px 20px 0;
  }
  .header-left .logo {
    height: 62px;
  }
  .pc-nav ul {
    font-size: 13.5px;
  }
  .header-buttons a.navy-btn {
    padding: 1px 24px;
    font-size: 11.5px;
  }
.pc-nav {
    margin-left: 40px;
}
}


@media (max-width: 1250px) {
  .header-left .logo {
    height: 58px;
  }
  .pc-nav ul {
    font-size: 13px;
  }
  .header-buttons a.navy-btn {
    padding: 1px 18px;
    font-size: 11px;
  }
.pc-nav {
    margin-left: 20px;
}
#mainimg {
    margin: 77px auto 0;
}
}


@media (max-width: 1150px) {
  .header-left .logo {
    height: 48px;
  }
  .pc-nav ul {
    font-size: 12.5px;
  }
  .header-buttons a.navy-btn {
    padding: 1px 14px;
    font-size: 10.5px;
  }
}



@media (max-width: 1024px) {
  .pc-only { display: none !important; }
  .sp-only { display: block !important; }
}
	
@media (max-width: 1024px) {
    .header-top {
        padding: 19px 17px;
    }
}
	
	
@media (max-width: 400px) {
    .header-top {
        padding: 17px 11px 12px;;
    }
    .hamburger {
        top: 27px;
        right: 23px;
    }
}	
	
	
	
/* ヘッダー：ボタン */
.round-btn {
  display: inline-block;
  padding: 0 18px;
  margin: 0;
  font-size: 14px;
  text-decoration: none;
}
	
.sp-nav .round-btn {
  margin: 13px 0 0 4px;
  background: #FFF;
}
	
	
.navy-btn {
  display: inline-block;
  background: #003366;
  color: #fff !important;
  border-radius: 50px;
    padding: 1px 90px;
    font-size: 16px;
    text-decoration: none;
    letter-spacing: 1px;
}
}

	
/* ハンバーガー */
.hamburger { display: none; flex-direction: column; cursor: pointer; }
/* 1024px以下では表示 */
@media (max-width: 1024px) {
  .hamburger {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  position: fixed;
  top: 27px;
  right: 27px;
  z-index: 10001; /* sp-nav より前面に */
  }
}
	
.hamburger span { width: 25px; height: 3px; background: #003366; margin: 5px 0; display: block; }

.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}
.hamburger span {
  transition: all 0.3s ease;
}
	
/* スマホメニュー */
.sp-nav { display: none; background: #e9f3fb; padding: 15px; }
.sp-nav ul { list-style: none; padding: 0; margin: 0; }
.sp-nav ul li { padding: 12px; border-bottom: 1px solid #ccc; }
.sp-nav ul li a { text-decoration: none; color: #003366; font-size: 16px; }
.sp-buttons { display: flex; gap: 10px; margin-bottom: 15px; }
.sp-footer { font-size: 13px; color: #333; margin-top: 15px; }

#sp-nav {
  display: none;          /* 初期は非表示 */
  position: fixed;        /* 画面全体に固定 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;          /* 画面高さに合わせる */
  background: #e9f3fb;
  padding: 15px;
  box-sizing: border-box;
  overflow-y: auto;       /* 縦スクロール可能に */
  -webkit-overflow-scrolling: touch; /* iOSスムーズスクロール */
  z-index: 9999;
}
	
/* アコーディオン */
.accordion .dropdown { display: none; padding-left: 15px; }
.accordion.open .dropdown { display: block; }
.accordion-toggle { display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
.toggle-icon { font-size: 18px; }

/* 表示制御 */
/*.pc-only { display: block; }*/
.sp-only { display: none; }




/*ロゴ画像*/

h1#logo{
    position:relative;
}  
h1#logo span a{
    position: absolute;
    display: block;
    top: 85px;
    left: 670px;
    width: 170px;
    height: 33px;
    background: #fff;
    border: 2px solid #f00;
    color: #f00;
    text-align: center;
    line-height: 1.8;
} 
h1#logo span a:hover{
    background: #f00;
    color: #fff;
}   
@media screen and (max-width: 890px) {
	h1#logo span a {
		top: 10vw;
		left: auto;
		width: 20vw;
		height: 22px;
		right: 3%;
		font-size: 1.8vw;
		line-height: 1;
		padding: 6px 0;
	}  
}  
@media screen and (max-width: 580px) {
    h1#logo span a {
		top: 8vw;
		height: 18px;
    }  
}  
@media screen and (max-width: 480px) {
    h1#logo span a {
		top: 12vw;
	}
}

/*トップ紹介状
---------------------------------------------------------------------------*/
.box11 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #17184e;
    background: white;
    border-top: solid 5px #17184e;
    /* box-shadow: 0 3px 5px #17184e; */
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
    font-weight: bold;
    /* color: #6091d3; */
	line-height: 2.3;
}

.box11 p {
    margin-top: 10px; 
    padding: 0;
}

.box11midashi {
    padding: 0 0 0 20px;
    border-bottom: 1px dotted;
}



/*トップ活動報告
---------------------------------------------------------------------------*/
#media {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-row-gap: 20px;
	grid-column-gap: 20px;
}
.box12 {
	display: flex;
	align-items: flex-start;
    padding: 0.5em 1em;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.box12 img {
	width: 40%;
}
.box12 p {
	line-height: 2;
}
.box12-date {
    margin-bottom: 1px;
	font-size: .9rem;
}

@media screen and (max-width:768px) {
	#media {
		margin-bottom: 50px;
		grid-template-columns: repeat(1, 1fr);
	}
}


/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	clear: both;
	overflow: hidden;
	background: #003366;	/*背景色*/
}
/*メニュー１個あたりの設定*/
#menubar li {
	float: left;	/*左に回り込み*/
	width: 7.6%;	/*メニュー幅（100÷13個=7.6%）*/
	padding-top: 5px;	/*この数字と「#menubar li a」のpaddingの１つ目(7px)の数字を足した合計が「#menubar li a」の３つ目の数字(12px)になるようにする。*/
}
#menubar li a {
	display:  block;
	text-decoration: none;
	font-size: .9rem;
	font-weight: bold;
	text-align: center;
	color: #fff;	/*文字色*/
	padding: 7px 0px 12px;	/*上、左右、下への余白。上の「#menubar li」のpadding-topの解説と合わせて読んで下さい。*/
}
/*マウスオン時、現在表示中メニュー*/
#menubar li a:hover,
#menubar li.current a {
	background: #fff;	/*背景色*/
	color: #17184e;		/*文字色*/
	font-weight: bold;
	border-radius: 8px 8px 0px 0px;	/*角丸のサイズ。左上、右上、右下、左下への順。*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {
	display: none;
}
/*３本バーアイコンを表示させない*/
#menubar_hdr {
	display: none;
}

/*ドロップダウンメニュー用
---------------------------------------------------------------------------*/
/*ドロップダウンブロックの設定*/
#menubar ul.ddmenu {
	position:absolute;
	visibility: hidden;
	z-index: 100;
	box-shadow: 0px 1px 3px rgba(0,0,0,0.15);	/*ボックスの影。右に、下に、広げる幅、0,0,0は黒の事で0.15は透明度15%の事。*/
	background: #333;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.8);	/*背景色。0,0,0は黒の事で0.8は透明度80%の事。*/
	width: 25%;	/*幅。お好みで変更してもらってOKです。*/
	padding: 10px;	/*ボックス内の余白*/
	border-radius: 8px;	/*角丸のサイズ*/
	border: 2px solid #fff;	/*枠線の幅、線種、色*/
}
/*メニュー１個あたりの設定*/
#menubar ul.ddmenu li {
	padding-top: 0;
	width: 50%;	/*幅*/
	height: 2em;	/*高さ*/
	overflow: hidden;	/*上の高さを超えた時に非表示にする設定。文字数が増えた時にレイアウトが崩れないための設定ですが、文字を全て表示させたいならこの行と上の行を削除。*/
}
#menubar ul.ddmenu li a {
	background: transparent;	/*背景色をリセットする*/
	border-radius: 0;
	text-align: left;	/*文字を左寄せ*/
	padding: 0 10px;	/*上下、左右への余白*/
	color: #fff;	/*文字色*/
}
/*マウスオン時*/
#menubar ul.ddmenu li a:hover {
	border-radius: 0;
	background: #fff;	/*背景色*/
	color: #17184e;		/*文字色*/
}

/*トップページメイン画像
---------------------------------------------------------------------------*/
#mainimg {
	clear: both;
	//box-shadow: 0px 10px 40px rgba(0,0,0,0.2);	/*ボックスの影。右に、下に、広げる幅、0,0,0は黒の事で0.2は透明度20%の事。*/
	position: relative;
	max-width: 1400px;	/*画像の最大幅。「.inner」のmax-widthと揃える。*/
	margin: 117px auto 0;
}


#video {
    position: relative;
    width: 80vw;
    height: 90vh;
	margin: 0 auto;
    overflow: hidden;
}
#video > video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
}
@media (max-width: 885px) {
	#video {
		width: 100%;
		height: 60vh;
		object-fit: contain;
		object-position: center bottom;
	}
}
@media (max-width: 800px) {
	#video {
		width: 100%;
		height: 50vh;
	}
}
@media (max-width: 767px) {
	#video {
		width: 100%;
		height: 40vh;
	}
}

#yoyaku_btn {
	position: absolute;
	bottom: 0;
    left: 50%;
    margin-right: -50%;
	padding: 20px 30px;
    transform: translate(-50%, -50%);
	background: #35af7c;
	border-bottom: 6px solid #2B7B50;
	border-radius: 100vw;
	color: #fff;
	font-size: 1.7rem;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	transition: .3s;
	z-index: 5;
}
#yoyaku_btn:hover {
	opacity: .6;
	border-bottom: 2px solid #2B7B50;
}


/*コンテンツ（mainとsubを囲むブロック）
---------------------------------------------------------------------------*/
.contents {
	clear: both;
	overflow: hidden;
	padding: 40px 0;	/*上下、左右に空けるボックス内の余白*/
}
/*コンテンツのh2タグの設定*/
.contents h2 {
	clear: both;
	font-size: 20px;	/*文字サイズ*/
	line-height: 1.4;	/*行間*/
	margin-bottom: 20px;	/*見出しの下にとるスペース*/
	padding: 10px 20px;	/*上下、左右への余白*/
	background: linear-gradient(#fff, #eee);	/*グラデーション*/
	border-bottom: 1px solid #dcdcdc;	/*メニュー下の線の幅、線種、色*/
	border-top: 4px solid #17184e;	/*メニューの上の線の幅、線種、色*/
	box-shadow: 0px 1px 3px rgba(0,0,0,0.15);	/*ボックスの影。右に、下に、広げる幅、0,0,0は黒の事で0.15は透明度15%の事。*/

}
/*コンテンツのh2タグ内のspanタグ設定（色付き文字部分）*/
.contents h2 span {
	display: block;
	color: #17184e;		/*文字色*/
	font-size: 12px;	/*文字サイズ*/
	letter-spacing: 0.1em;	/*文字間隔を少し広げる設定*/
	padding-left: 3px;
}
/*コンテンツのh3タグの設定*/
.contents h3 {
	clear: both;
	margin-bottom: 20px;	/*見出しの下にとるスペース*/
	padding: 0px 20px;		/*上下、左右への余白*/
	background: #17184e;	/*背景色*/
	color: #fff;		/*文字色*/
}
/*コンテンツの段落タグ設定*/
.contents p {
	padding: 0px 20px 15px;	/*上、左右、下への余白*/
}
.contents h2 + p,
.contents h3 + p {
	margin-top: -10px;
}

/*メインコンテンツ
---------------------------------------------------------------------------*/
.main {
	float: left;	/*左に回り込み*/
	width: 78%;		/*幅*/
}
/*1カラム時のメインコンテンツ*/
.contents.c1 .main {
	float: none;
	width: auto;
}

/*求人一覧ページの各ブロック
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list {
	position: relative;
	overflow: hidden;
	padding: 0 0 0 0;		/*ボックス内の余白*/
	border: 3px solid #dcdcdc;	/*枠線の幅、線種、色*/
	margin-bottom: 8px;		/*ボックス間の余白*/
	box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;	/*ボックスの影。右へ、下へ、広げる幅、0,0,0は黒の事で0.1は透明度10%の事。insetは内側への影、という意味。*/
}
/*ボックス内のh4タグ設定*/
.list h4 {
	font-size: 24px;	/*文字サイズ*/
	color: #a21e1e;		/*文字色*/
}
.list h4 a {
	color: #a21e1e;	/*リンクテキストの文字色*/
}
/*ボックス内のp(段落)タグ設定*/
.list p {
	padding: 0px 0px 10px;	/*上、左右、下への余白*/
}
/*「詳細を見る・応募する」ボタン*/
.btn {
	display: block;
	color: #fff;
	text-decoration: none;
	background: #27acd9;	/*背景色（古いブラウザ用）*/
	background-image: linear-gradient(360deg, rgba(39, 172, 217, 1), rgba(140, 205, 226, 1));	/*グラデーション*/
	//border: 2px solid #27acd9;
	font-size: 20px;	/*文字サイズ*/
	text-align: center;	/*文字をセンタリング*/
	padding: 10px;		/*ボタン内の余白*/
	border-radius: 4px;	/*角丸のサイズ*/
	letter-spacing: 0.2em;	/*文字間隔を広くとる設定*/
	box-shadow: 2px 2px 5px rgba(0,0,0,0.3);	/*ボックスの影。右に、下に、広げる幅、0,0,0は黒の事で0.15は透明度15%の事。*/
	-webkit-appearance: none;
}
/*「詳細を見る・応募する」ボタン。マウスオン時。*/
.btn:hover {
	position: relative;
	top: 1px;
	left: 1px;	/*マウスオン時に少し移動させる設定。*/
	box-shadow: none;	/*ボックスの影を消す設定。*/
	//color: #27acd9;		/*文字色*/
	background-image: linear-gradient(360deg, rgba(140, 205, 226, 1), rgba(39, 172, 217, 1));	/*グラデーション*/
}
/*アイコン（正社員、アルバイト、パート、未経験可、など）共通*/
.icon {
	display: inline-block;
	margin: 2px;
	font-size: 12px;	/*文字サイズ*/
	padding: 0 5px;		/*ボックス内の余白*/
	border-radius: 4px;	/*角丸のサイズ*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	background: #eee;	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#fff, #eee);	/*グラデーション*/
}
.icon a {
	text-decoration: none;
}
/*アイコン色付き（正社員）*/
.icon.color1 {
	border: 1px solid #a21e1e;	/*枠線の幅、線種、色*/
	background: #d42a2a;	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#d42a2a, #a21e1e);	/*グラデーション*/
	color: #fff;	/*文字色*/
}
/*アイコン色付き（アルバイト）*/
.icon.color2 {
	border: 1px solid #161995;	/*枠線の幅、線種、色*/
	background: #2b2ebc;	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#2b2ebc, #161995);	/*グラデーション*/
	color: #fff;	/*文字色*/
}







/*TOP 特徴　各ブロック
---------------------------------------------------------------------------*/
/*各キャストボックスの設定(アイコンver.の新しい設定)*/
.medical-department-content {
	margin: 50px auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-row-gap: 30px;
	grid-column-gap: 30px;
}
.medical-department-content li {
	padding: 10px 10px 0;
	//background: #003366;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
	border-radius: 20px;
	transition: .5s;
}
.medical-department-content li:hover {
	opacity: .5;
}
.medical-department-content img {
	display: block;
	width: 80%;
	margin: 0 auto;
	transform: scale(1);
	transition: .3s ease-in-out;
}
.zoomIn a:hover img{
	transform: scale(1.2);
}
.mask {
    display: block;
    line-height: 0;
    overflow: hidden;
	border-radius: 10px;
}
.medical-department-content figcaption {
	margin: 0 auto;
	text-align: center;
	//color: #fff;
	color: #003366;
	font-size: 1.3rem;
	font-weight: bold;
}
@media (max-width: 883px) {
	.medical-department-content {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 767px) {
	.medical-department-content {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-row-gap: 25px;
		grid-column-gap: 20px;
	}
	.medical-department-content figcaption {
		font-size: .95rem;
	}
}


/*各キャストボックスの設定(写真ver.の古い設定)*/
.list-container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 20px;
	row-gap: 25px;
}
.list {
	padding: 0 10px;		/*ボックス内の余白*/
	border: 3px solid #dcdcdc;	/*枠線の幅、線種、色*/
	box-shadow: 0px 0px 50px #42a8d5 inset;	/*ボックスの影。右へ、下へ、広げる幅、色。insestは影を内側に向ける意味。*/
	line-height: 1.5;
	transition: .3s;
}
.list a {
	text-decoration: none;
}
/*マウスオン時。内側の影を消す設定。*/
.list:hover {
	box-shadow: none;
}
/*２カラム時のボックス幅*/
.c2 .list a {
	padding: 15px;	/*ボックス内の余白*/
	height: 300px;	/*高さ*/
}
/*ボックス内のp(段落)タグ設定*/
.list p {
	padding: 0px !important;
}
/*ボックス内のh4タグ設定*/
.list h4 {
	padding: 5px;
	color: #333;	/*文字色*/
	text-align: center;	/*文字をセンタリング*/
	font-weight: bold;
	margin-top: 20px;
}



/*トップページ内「ニュース」ブロック
---------------------------------------------------------------------------*/
	
#new {
  margin-top: 50px;
}


/* 科目見出し */
.news-group {
  margin-bottom: 15px;
}
.news-group h3 {
  font-size: 0.95rem;
  line-height: 1;
  margin: 4px 0 0;
  padding: 7px 27px 4px;
  color: #383838;
  border-radius: 8px;
  display: inline-block;
}
.label.ort { background: #eef0ff; }  /* 整形外科 */
.label.rhe { background: #efdcdc; }  /* リウマチ科 */
.label.nai { background: #c5d2dd; }  /* 内科 */
.label.nou { background: #e6d3f4; }  /* 脳神経外科 */
.label.pul { background: #dff2c7; }  /* 呼吸器内科 */
.label.ent { background: #f4cfb3; }  /* 耳鼻科 */
.label.gas { background: #bdcfef; }  /* 消化器内科 */
.label.uro { background: #cee2cc; }  /* 泌尿器科 */
.label.der { background: #f7e8d0; }  /* 皮膚科 */
.label.ped { background: #dff1f2; }  /* 小児科 */
.label.cal   { background: #f9e6ff; }   /* コールセンター */
.label.all   { background: #ffffcf; }   /* 全科共通 */

/* お知らせリスト */
.news-group ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.news-group li {
  border-bottom: 1px solid #eee;
  padding: 4px 0;
  display: flex;
  align-items: baseline;
}

/* 更新日 */
.post-date {
  flex-shrink: 0;
  font-size: 0.85em;
  color: #888;
  margin-right: 10px;
  min-width: 6em;
}

/* 内容 */
.news-text {
  flex: 1;
}


/* 1024px未満のとき */
@media screen and (max-width: 1024px) {
  .news-group li {
    flex-direction: column; /* 縦並びに切り替え */
    align-items: flex-start;
    padding: 10px 0;
  }
  .post-date {
    margin-bottom: 4px;
    min-width: auto;
    font-size: 0.9em;
    color: #666;
  }
  .news-text {
    font-size: 0.95em;
    line-height: 1.5;
  }
  .news-group h3 {
    font-size: 1em;
    display: block; /* 横幅いっぱいに */
    border-radius: 0; 
    padding: 0px 15px;
    letter-spacing: 1px;  
  }
}
	



/*一覧ページのボックス内の右上のマーク
（CMSの場合は管理ページだと「オプション1」～のプルダウン、setup.phpだと「オプション選択肢」に関連します）
---------------------------------------------------------------------------*/
/*option1〜option3、と、newアイコン共通*/
.option1,.option2,.option3,.new {
	font-size: 10px;	/*文字サイズ*/
	text-align: center;
	display: block;
	width: 90px;
	padding-top: 10px;
	position: absolute;
	right: -20px;
	top: -20px;
	transform: rotate(45deg) translate(22px);
}
/*option1*/
.option1 {
	color: #FFF;	/*文字色*/
	background: #f83d72;	/*背景色*/
}
/*option2*/
.option2 {
	color: #000;	/*文字色*/
	background: #ffd200;	/*背景色*/
}
/*option3*/
.option3 {
	color: #FFF;	/*文字色*/
	background: #999;	/*背景色*/
}
/*new*/
.new {
	color: #FFF;	/*文字色*/
	background: #003366;	/*背景色*/
}

/*subコンテンツ
---------------------------------------------------------------------------*/
/*subブロック*/
.sub {
	float: right;	/*右に回り込み*/
	width: 22%;		/*幅*/
}
/*1カラム時のサブブロック*/
.contents.c1 .sub {
	display: none;	/*非表示にする設定*/
}
/*subコンテンツ内のh2タグ設定*/
.sub h2 {
	margin-bottom: 0;
	box-shadow: none;
	font-size: 16px;	/*文字サイズ*/
	text-align: center;	/*内容をセンタリング*/
	padding: 15px;		/*ボックス内の余白*/
	border: 1px solid #dcdcdc;	/*メニューの線の幅、線種、色*/
}
/*subコンテンツ内の段落タグ設定*/
.sub p {
	margin: 0 !important;
	padding: 10px !important;
}

.sub a img {
	 transition: .3s;
}
.sub a img:hover {
	opacity: .6;
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
.sub ul.submenu {
	margin-bottom: 15px;	/*メニューブロックの下に空けるスペース*/
	border-top: solid 1px #dcdcdc;	/*上の線の線種、幅、色*/
}
/*メニュー１個ごとの設定*/
.sub ul.submenu li a {
	text-decoration: none;
	display: block;
	padding: 5px 10px;	/*メニュー内の余白。上下、左右への設定。*/
	border-bottom: solid 1px #dcdcdc;	/*下の線の線種、幅、色*/
	border-left: solid 1px #dcdcdc;		/*左の線の線種、幅、色*/
	border-right: solid 1px #dcdcdc;	/*右の線の線種、幅、色*/
}
/*マウスオン時の背景色*/
.sub ul.submenu li a:hover {
	background: #fcf18f;	/*背景色*/
}
/*h2直下にsubmenuが続いた場合のみ、submenuの上の線を消す設定*/
.sub h2 + ul.submenu {
	border-top: none;
}

/*subコンテンツ内のbox1
---------------------------------------------------------------------------*/
.sub .box1 {
	color: #000;	/*文字色*/
	overflow: hidden;
	padding: 10px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	border: solid 1px #dcdcdc;	/*線の線種、幅、色*/
	box-shadow: 0px 0px 20px rgba(0,0,0,0.1) inset;	/*ボックスの影。右へ、下へ、広げる幅、0,0,0は黒の事で0.1は透明度10%の事。insetは内側への影、という意味。*/
}



/*h2直下にbox1が続いた場合のみ、box1の上の線を消す設定*/
.sub h2 + .box1 {
	border-top: none;
}
/*box1内のサブメニュー*/
.sub ul.submenu {
	margin-bottom: 0;
}

/*subコンテンツ内のlist-subボックス
---------------------------------------------------------------------------*/
/*ボックス１個あたりの設定*/
.sub .list-sub {
	position: relative;
	overflow: hidden;
	border-left: 1px solid #dcdcdc;		/*左の線の線種、幅、色*/
	border-right: 1px solid #dcdcdc;	/*右の線の線種、幅、色*/
	border-bottom: 1px solid #dcdcdc;	/*下の線の線種、幅、色*/
	line-height: 1.5;	/*行間を少し狭くする。基本となる値は一番上のbodyにあります。*/
	font-size: 12px;	/*文字サイズ*/
}

.sub .list-sub {
  position: relative;
  overflow: hidden;
  border: 1px solid #dcdcdc;
  border-radius: 8px;       /* 角丸 */
  margin: 10px 0;           /* ボックス間の余白 */
  //box-shadow: 0 2px 6px rgba(0,0,0,0.1); /* 影 */
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}


.sub .list-sub a {
  display: block;
  text-decoration: none;
  overflow: hidden;
  padding: 9px 15px;            /* ボタン内余白を広めに */
  background: #f9f9f9;      /* 薄い背景色 */
  border-radius: 8px;       /* 角丸をリンクにも適用 */
  color: #333;              /* 文字色 */
}


/*マウスオン時のボックス*/

.sub .list-sub a:hover {
  background: #e6f0fa;
  transform: translateY(-2px);  /* 浮き上がる感じ */
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}



/*h4タグ*/
.sub .list-sub a h4 {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 5px;
}



/*段落(p)タグ*/

.sub .list-sub p {
  padding: 0 !important;
  margin: 0;
  font-size: 13px;
  color: #555;
}


/*画像*/
.sub .list-sub figure {
	width: 30%;		/*画像の幅*/
	float: left;	/*左に回り込み*/
	margin-right: 5px;	/*画像右側に空ける余白*/
}


.sub-links {
  margin-top: 15px;
  display: flex;
  flex-direction: column;
  gap: 8px; 
}


.sub .list-sub2 {
	font-size: 14px;	/*文字サイズ*/
}


.sub .list-sub2 a:hover {
	background: #fcf18f;	/*背景色*/
}

.sub .list-sub2 a {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 200px;
	height: 40px;
	margin-bottom: 5px;
	margin-top: 5px;
	margin-right: auto;
	margin-left: auto;
	font-weight: bold;
	border: 2px solid #27acd9;
	background: #27acd9;
	color: #fff;
	transition: 0.5s;
	padding: 0em 1em;
}

.sub-links a {
  display: block;
  padding: 6px 10px;            
  background: #fafafa;          
  border-left: 3px solid #c0c0c0; 
  border-radius: 4px;
  text-decoration: none;
  color: #333;
  font-size: 14px;
  box-shadow: none;              
  transition: background 0.15s;
}

.sub-links a:hover {
  background: #f0f4f8;           /* 軽く色が変わるだけ */
  transform: none;               /* 浮かさない */
}


.sub-links a small {
  display: block;
  font-size: 12px;
  color: #666;
  margin-top: 2px;
}




/*お問い合わせ
---------------------------------------------------------------------------*/



.contact-icons {
  display: flex;
  justify-content: space-around;
  margin: 15px 3px 0;
}

.contact-item {
  flex: 1;
  text-align: center;
  padding: 20px 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  margin: 0 5px;
  text-decoration: none;
  color: #003366;
  background: #fff;
  transition: 0.3s;
}

.contact-item:hover {
  background: #003366;
  color: #fff;
}

.contact-item i {
  margin-bottom: 10px;
}

.contact-item .title {
  font-weight: bold;
  font-size: 22px;
}

.contact-item .desc {
  font-size: 13px;
  color: #666;
}

/* タイトルと説明の上下余白をゼロに */
.contact-item .title,
.contact-item .desc {
  margin: 0;
  line-height: 1.2; /* 行間を詰める */
}
	
	
.contact-info {
  font-size: 14px;
  margin-top: 10px;
　line-height: 1;
}
	
.contact-info p {
    margin: initial !important;
    padding: 5px 15px 0 !important;
}
	

.contact-info .phone {
  font-weight: bold;
  font-size: 16px;
  color: #003366;
 position: relative; /* 擬似要素の基準 */
  display: inline-block; /* 幅を文字サイズに合わせたい場合 */
}

.contact-info .phone::after {
    content: "";
    position: absolute;
    left: 15px;
    bottom: 3px;
    width: 99%;
    height: 1px;
    background-color: #e2e2e2;
}
	
.contact-info .time {
  line-height: 2;
  color: #666;
}

.contact-info .note {
  font-size: 12px;
	line-height: 1.3;
  color: #666;
}

.marker {
  background-color: #FFF176; /* 蛍光黄色 */
  font-weight: bold;
  padding: 2px 4px;
  border-radius: 3px; /* 角丸 */
}	
	




#topics {
  font-size: 100%;	/*文字サイズ*/
  width: 100%; /*幅指定*/
  margin: 0 auto;
  //padding: 3em;
  display: content;
  background: #fff;	/*背景色*/
  color: #eee;	/*文字色*/
  clear: both;
}




/*下　アクセス
---------------------------------------------------------------------------*/
#foot {
  font-size: 100%;	/*文字サイズ*/
  width: 100%; /*幅指定*/
  margin: 0 auto;
  padding: 3em;
  display: flex;
	background: #003366;	/*背景色*/
	color: #eee;	/*文字色*/
}


#right .pr,
#left .pr {
	display: block;
	font-size: 80%;
}

#right,
#left  {
  width: 50%;
  line-height: 2;		/*行間*/
}
 

/*other*/
.other {
	letter-spacing: 0.1em;	/*文字間隔を広くする設定。通常がいいならこの行削除。*/
	font-size: 16px;		/*文字サイズを大きく*/
	border: 1px solid #999;	/*テーブルの枠線の幅、線種、色*/
	margin-bottom:3px;	/*テーブルの枠線の幅、線種、色*/
}
.other-hover {
	transition: .3s;
}
.other-hover:hover {
	background: #fcf18f;
}


/*otherの受付時間の小文字部分*/
.other span {
	display: block;
	font-size: 11px;	/*文字サイズを小さく*/
}


.c-both { 
	/*↑名前は何でもいい*/
clear: both;
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	background: #003366;	/*背景色*/
	color: #fff;	/*文字色*/
	font-size: 85%;	/*文字サイズ*/
	line-height: 2;		/*行間*/
}
footer a {
	color: #fff;
}
footer a:hover {
	opacity: .9;
}
footer .pr {
	display: block;
	font-size: 80%;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	overflow: hidden;
	padding: 20px 0;
}
/*１行分の設定*/
#footermenu ul {
	float: left;	/*左に回り込み*/
	width: 25%;		/*幅。今回は５列作ったのでここの幅18%と下のpadding(合計の2%)でトータル20%になるよう設定。列に応じて調整して下さい。*/
	padding-right: 1%;
}

#footermenu .title {
	font-size: 1.1rem;
	font-weight: bold;
}

/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: center;
	background: #333;	/*背景色*/
}
#copyright a {
	text-decoration: none;
}


/*よく頂く質問ページ
---------------------------------------------------------------------------*/
/*ブロック全体*/
.faq {
	padding: 0px 20px;	/*上下、左右への余白*/
}
/*質問の設定*/
.faq dt {
	color: #17184e;	/*文字色*/
	padding-top: 15px;
}
.faq dt a {
	color: #17184e;	/*文字色*/
}
/*回答の設定*/
.faq dd {
	border-bottom: 1px solid #dcdcdc;	/*下線の幅、線種、色*/
	overflow: hidden;
	padding-bottom: 15px;
}

/*テーブル
---------------------------------------------------------------------------*/
.biz-hour {
	display: block;
	margin: 0 auto 20px;
	border-collapse: collapse;
	overflow-x: auto;
}
.biz-hour th, .biz-hour td {
	padding: 10px 15px;
	text-align: center;
	border: 1px solid #fff;
}
.biz-hour th {
	background-color: #eee;
	color: #003366;
	font-weight: normal;
}

/*ta1設定*/
.ta1 {
	width: 100%;
	margin: 0 auto 20px;
}
.ta1, .ta1 td, .ta1 th {
	border: 2px solid #fff;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px 15px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	width: auto;
	text-align: center;	/*真ん中*/
	background: #f6f5f2;	/*背景色*/
	font-size: 18px;	/*文字サイズ*/
}
/*ta1の左側ボックス*/
.ta1 th {
	//width: 140px;	/*幅*//*診療時間変更に伴い無しにしてみる*/
	text-align: center;	/*センタリング*/
	font-weight: normal;
}

.ta1 td {
	text-align: center;	/*センタリング*/
	font-weight: normal;
}

/*左側ボックスに画像を入れた場合の設定*/
.ta1 th img {
	width: 100%;
}
/*labelタグを２列表示にする*/
.ta1.cms td label {
	float: left;
	width: 50%;
}

/*submitボタンの設定
---------------------------------------------------------------------------*/
input[type="submit"],
input[type="button"],
input[type="reset"] {
	padding: 10px 30px;	/*ボタン内の余白*/
	margin-bottom: 20px;
	border: none;
	border-radius: 30px;	/*角丸のサイズ*/
	background: linear-gradient(#fff, #eee);	/*グラデーション*/
	font-size: 16px;	/*文字サイズ*/
	border: 1px solid #ccc;
}
/*マウスオン時の設定*/
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover{
	background: #fff;	/*背景色*/
}

/*PAGE TOP設定
---------------------------------------------------------------------------*/
#pagetop {
	clear: both;
	padding-top: 40px;
}
#pagetop a {
	color: #fff;		/*文字色*/
	font-size: 20px;	/*文字サイズ*/
	background: #17184e;	/*背景色*/
	text-decoration: none;
	text-align: center;
	display: block;
	float: right;
	width: 60px;	/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 10px;	/*角丸のサイズ*/
	border: 3px solid #fff;	/*枠線の幅、線種、色*/
	box-shadow: 0px 5px 15px rgba(0,0,0,0.2);	/*ボックスの影*/
	margin-bottom: 20px;
}
/*マウスオン時*/
#pagetop a:hover {
	background: #fff;	/*背景色*/
	color: #17184e;		/*文字色*/
}

/*NEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*UPアイコン
---------------------------------------------------------------------------*/
.upicon {
	background: #0072ff;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*その他
---------------------------------------------------------------------------*/
.look {
	background: #fff;
	color: #003366;
	font-size: .85rem;
	padding: 5px 8px;
	border-radius: 100vw;
}
.look:hover {
	background: #27acd9;
	color: #fff;
}
.mb15,.mb1em {margin-bottom: 15px;}
.clear {clear: both;}
ul.disc {padding: 0em 25px 15px;list-style: disc;}
.color1, .color1 a {color: #a21e1e;}
.bg1 {background: #f6f5f2;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
img.fr {float: right;margin-left: 10px;margin-bottom: 10px;}
img.fl {float: left;margin-right: 10px;margin-bottom: 10px;}
.big1 {font-size: 20px;}
.sub .big1 {font-size: 100%;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}
.date {text-align: right;color: #999;font-size: 12px;}
.kenko {display: none;}




/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:900px){

/*inner共通
---------------------------------------------------------------------------*/
.inner {
	width: auto;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	border-bottom: 1px solid #dcdcdc;	/*下の線の幅、線種、色*/
}

/*ヘッダー右側の電話番号ブロック
---------------------------------------------------------------------------*/
/*ブロック全体を非表示にする*/
#contact {
	display: none;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*スマホ用メニューを非表示から表示に切り替える*/
#menubar-s {
	display: block;
}
/*メニュー１個あたりの設定*/
#menubar-s li {
	float: left;	/*左に回り込み*/
	width: 50%;		/*メニュー幅*/
}
#menubar-s li a {
	display: block;
	text-decoration: none;
	text-align: center;	/*文字をセンタリング*/
	padding: 15px 0;	/*上下、左右へのメニュー内の余白*/
	border-bottom: 1px solid #dcdcdc;	/*下線の幅、線種、色*/
	border-right: 1px solid #dcdcdc;	/*右線の幅、線種、色*/
}
/*偶数番目のメニューの右側の線を消す*/
#menubar-s li:nth-child(even) a {
	border-right: none;
}
/*PC用メニューを非表示にする*/
#menubar {
	display: none;
}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: absolute;
	top: 15px;		/*上から28pxの場所に配置*/
	right: 2%;		/*右から5%の場所に配置*/
	width: 30px;	/*幅*/
	border: 1px solid #000;	/*枠線の幅、線種、色*/
	padding: 12px 10px 5px;	/*上、左右、下へのボックス内余白*/
	background: #fff;		/*背景色*/
}
/*３本のバー（1本あたり）*/
#menubar_hdr span {
	display: block;
	border-top: 3px solid #000;	/*枠線の幅、線種、色*/
	margin-bottom: 7px;			/*バー同士の余白*/
}

/*main,subコンテンツ
---------------------------------------------------------------------------*/
.main, .sub {
	float: none;
	width: auto;
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー１個ごとの設定*/
.sub ul.submenu li {
	width: 50%;		/*半分の幅にする*/
	float: left;	/*左に回り込み*/
}
/*偶数番目のメニューの左のラインを消す設定*/
.sub ul.submenu li:nth-child(even) a {
	border-left: none;
}

/*subコンテンツ内のlist-subボックス
---------------------------------------------------------------------------*/
/*画像*/
.sub .list-sub figure {
	width: 20%;		/*画像の幅*/
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*アイコン*/
section#new h2::before {
	float: right;	/*右に回り込み*/
	margin-top: 4px;
	font-size: 18px;	/*文字サイズ*/
	background: #fff;	/*背景色*/
	border-radius: 50%;	/*角丸のサイズ*/
	width: 30px;		/*幅*/
	line-height: 30px;	/*高さ*/
	text-align: center;	/*文字をセンタリング*/
	border: 1px solid #dcdcdc;	/*枠線の幅、線種、色*/
	box-shadow: 1px 1px 6px rgba(0,0,0,0.1) inset;	/*内側への影*/
}
/*プラスアイコンの文字*/
section#new h2.close::before {
	content: "＋";
}
/*マイナスアイコンの文字*/
section#new h2.open::before {
	content: "−";
}

/*その他
---------------------------------------------------------------------------*/
body.s-n .sub,body.s-n #footermenu,.m-n {display: none;}
.fl-half{float:left;width:45%;margin-left:3%;}








/*左側（小さい端末だと上に位置するボタン）*/
#mainimg #btn_job1 {
	left: 3%;		/*メイン画像に対して左から10%の場所に配置*/
	bottom: 5%;	/*メイン画像に対して下から45%の場所に配置*/
	width: 18%;;	/*画像幅*/
}
/*右側（小さい端末だと下に位置するボタン）*/
#mainimg #btn_job2 {
	left: 28%;		/*メイン画像に対して左から10%の場所に配置*/
	bottom: 5%;	/*メイン画像に対して下から10%の場所に配置*/
	width: 18%;;	/*画像幅*/
}


/*左側（小さい端末だと上に位置するボタン）のボタン*/
#mainimg #btn_job3 {
	left: 53%;		/*メイン画像に対して左から10%の場所に配置*/
	bottom: 5%;	/*メイン画像に対して下から45%の場所に配置*/
	width: 18%;;	/*画像幅*/
}
/*右側（小さい端末だと下に位置するボタン）のボタン*/
#mainimg #btn_job4 {
	left: 78%;		/*メイン画像に対して左から10%の場所に配置*/
	bottom: 5%;	/*メイン画像に対して下から10%の場所に配置*/
	width: 18%;	/*画像幅*/
}


.btn {
	font-size: 16px;	/*文字サイズ*/
	letter-spacing: normal;
}


a.btn_01 {
	-webkit-appearance: none;
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	color: #27acd9;
	transition: 0.5s;
}
a.btn_01:hover {
	color: #fff;
	background: #27acd9;
}


.sub .list-sub2 {
	font-size: 14px;	/*文字サイズ*/
}
.sub .list-sub2 a:hover {
	background: #fcf18f;/*背景色*/
}
.sub .list-sub2 a {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 200px;
	height: 40px;
	margin-bottom: 5px;
	margin-top: 5px;
	margin-right: auto;
	margin-left: auto;
	font-weight: bold;
	border: 2px solid #27acd9;
	background: #27acd9;
	color: #fff;
	transition: 0.5s;
	padding: 0em 2em;
}
	
	
/*ボックス全体*/
#footermenu {
	overflow: hidden;
	padding: 30px;
}
/*１行分の設定*/
#footermenu ul {
	float: left;	/*左に回り込み*/
	width: 100%;		/*幅。*/
	padding: 10px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
}

#footermenu ul li {
	font-size: 15px;		/*文字サイズ*/
	padding: 10px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	background: #FFF;	/*背景色*/
	color: #000;	/*文字色*/

}

#footermenu ul li a {
	font-size: 15px;		/*文字サイズ*/
	color: #000;	/*文字色*/
	text-decoration: none;
}

#foot {
  font-size: 100%;	/*文字サイズ*/
  width: 100%; /*幅指定*/
  margin: 0 auto;
  padding: 1.5em;
  display: block;
	background: #003366;	/*背景色*/
	color: #eee;	/*文字色*/
}
#right {
  width: 100%;
  line-height: 2;		/*行間*/
}
#left {
  width: 100%; /*幅指定*/
  line-height: 2;		/*行間*/
}

}



/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 12px;	/*文字サイズ*/
	line-height: 2.5;	/*行間*/
}



a {
	color: #666;	/*リンクテキストの色*/
	-webkit-transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
	transition: 0.5s;			/*同上*/
	text-decoration: none;
}


a:hover {
	color: #17184e;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}



/*トップページメイン画像
---------------------------------------------------------------------------*/
#mainimg {
    margin: 84px auto 0;
}
#yoyaku_btn {
	position: absolute;
	bottom: 0;
    left: 50%;
    margin-right: -50%;
	padding: 10px 20px;
    transform: translate(-50%, 0);
	font-size: 1.1rem;
}



/*コンテンツ
---------------------------------------------------------------------------*/
.contents {
	padding: 20px 0;	/*上下、左右に空けるボックス内の余白*/
}
/*コンテンツのh2タグの設定*/
.contents h2 {
	font-size: 16px;	/*文字サイズ*/
	padding: 5px 10px;	/*上下、左右への余白*/
}
/*コンテンツのh3タグの設定*/
.contents h3 {
	padding: 0px 10px;	/*上下、左右への余白*/
}
/*コンテンツの段落タグ設定*/
.contents p {
	padding: 0px 10px 15px;	/*上、左右、下への余白*/
}



/*地図追加
---------------------------------------------------------------------------*/
#foot {
	font-size: 85%;		/*文字サイズ*/
	background: #003366;	/*背景色*/

}
.contentA{background: #b3d874;}
.contentB{background: #6fb5ff;}
.contentA,.contentB{
  width: 50%;
  height: 100px;
}






/*各キャストボックスの設定*/
.list-container {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 20px;
	row-gap: 20px;
}




.sp {display:none;}
.kenko {display: block;}

/*求人一覧ページの各ブロック
---------------------------------------------------------------------------*/
/*ボックス内のh4タグ設定*/
.list h4 {
	font-size: 20px;	/*文字サイズ*/
}
/*「詳細を見る・応募する」ボタン*/
.btn {
	font-size: 16px;	/*文字サイズ*/
	letter-spacing: normal;
}



test.btn {
	font-size: 16px;	/*文字サイズ*/
	letter-spacing: normal;
	color: #f00;	/*文字色*/
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー１個ごとの設定*/
.sub ul.submenu li {
	width: auto;
	float: none;
}
/*偶数番目のメニューの左のラインを戻す設定*/
.sub ul.submenu li:nth-child(even) a {
	border-left: 1px solid #ccc;
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
.sub ul.submenu li a {
	padding: 10px;	/*メニュー内の余白*/
}


.sub .list-sub2 {
	font-size: 14px;	/*文字サイズ*/
}


.sub .list-sub2 a:hover {
	background: #fcf18f;	/*背景色*/
}

.sub .list-sub2 a {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 230px;
	height: 40px;
	margin-bottom: 10px;
	margin-top: 5px;
	margin-right: auto;
	margin-left: auto;
	font-weight: bold;
	border: 2px solid #27acd9;
	background: #27acd9;
	color: #fff;
	transition: 0.5s;
	padding: 0em 1.5em;
}



/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体
#footermenu {
	display: none;
}
*/

footer {
	clear: both;
	background: #003366;	/*背景色*/
	color: #fff;	/*文字色*/
	font-size: 85%;	/*文字サイズ*/
	line-height: 2;		/*行間*/
}



/*テーブル（ta1）
---------------------------------------------------------------------------*/
.biz-hour {
	overflow-x: scroll;
}
	
/*ta1設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	font-size: 14px;	/*文字サイズ*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 16px;}
img.fr,img.fl {float: none;margin: 0;width: 100%;}
.sh {display:block;}
.pc {display:none;}
.fl-half{float:none;width:100%;margin-left:0;}



/*メニューをページ下部に固定*/
#sp-fixed-menu {
    position: fixed;
    width: 100%;
    bottom: 0px;
    font-size: 0;
    //opacity: 0.9;
    z-index: 99;
}
 
#sp-fixed-menu ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
}
 
#sp-fixed-menu li {
    justify-content: center;
    align-items: center;
    width: 50%;
    padding: 0;
    margin: 0 3px;
    font-size: 15px;
	font-weight: bold;
	letter-spacing: 1px;
    //border-right: 1px solid #fff;
	border-radius: 10px 10px 0 0;
}
 
#sp-fixed-menu li:first-child {
    background: #339966;
}
#sp-fixed-menu li:nth-child(2) {
    background: #0066cc;
}
#sp-fixed-menu li:last-child{
   background: #ff6600;
}
 
#sp-fixed-menu li a {
   color: #fff;
    text-align: center;
    display: flex;
    flex-direction: column; /* ← アイコンを上、文字を下に */
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px 5px;
    font-size: 14px;
    line-height: 1.2;

}
	

#sp-fixed-menu li a .iconn {
    display: block;
    width: 27px;   /* アイコンサイズ（調整可） */
    height: auto;
    margin-bottom: 10px; /* テキストとの余白 */
}	
	
	
	
 
/* spのみ表示 */
@media (min-width: 1024px){
    .for-sp {
        display: none;
    }
}


}
