@charset "utf-8";

/* -----------------------------------------------------------
　PC・スマホ・他ページ共通
----------------------------------------------------------- */

/* :::::::::: 診療時間 :::::::::: */
  
table.schedule {
  width:100%;
  text-align:center;
}

table.schedule caption {
  caption-side:bottom;
  text-align:left;
  font-size:1em;
  margin:2% 0 0;
}

table.schedule th {
  box-sizing:border-box;
  background:#143c33;
  color:#FFF;
  font-size:1em;
  padding:0.3em 0;
  border:solid 1px #793547;
  font-weight:normal;
}

table.schedule td {
  box-sizing:border-box;
  font-size:1em;
  color:#793547;
  width:10%;
  padding:0.5em 0;
  border:solid 1px #793547;
  background:#FFFFFF;
}

table.schedule .time {
  width:28%;
}
  
table.schedule td.time {  
  color:#143c33;
}

table.schedule .sun {
  width:12%;
}

table.schedule th.sun {
  letter-spacing:-0.2em;
}

/* :::::::::: 【PC】アクセスマップ :::::::::: */

@media screen and (min-width: 769px){  
  section .map_box {
    position:relative;
    float:right;
    width:100%;
    height:400px;
    margin-bottom:10px;
  }
  
  section iframe {
    width:100%;
    height:100%;
    pointer-events:none;
  }
  
  section .map_box .map_caution {  
    position:absolute;
    bottom:2%;
    left:2%;
    padding:3px;
    margin:0;
    background:#FFFFFF;
    max-width:85%;
    font-size:14px;
    line-height:16px;
  }
}

/* :::::::::: 【SP】アクセスマップ :::::::::: */

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

  section .map_box {
    position:relative;
    width:100%;
    height:16em;    
    margin:0 auto 5%;
  }

  section iframe {
    width:100%;
    height:100%;
    pointer-events:none;
  }
  
  section .map_box .map_caution {  
    position:absolute;
    bottom:2%;
    left:2%;
    padding:3px;
    margin:0;
    background:#FFFFFF;
    max-width:80%;
    font-size:13px;
    line-height:15px;
  }  
}
  

/* -----------------------------------------------------------
　トップページ
----------------------------------------------------------- */

@media screen and (min-width: 769px){
  
  /* :::::::::: 【PC】お知らせ欄 :::::::::: */
    
  section.notice {
	padding:0 0 130px;
	background:url(../images/index/notice_bg.png) no-repeat bottom;
	margin:0 auto 90px;
  }
  
  section.notice dl {
    width:100%;
    height:auto;
    overflow-y:scroll;
    margin:0;
  }
  
  section.notice dl dt{
    font-size:18px;
	color:#611028;
    line-height:1.1em;
    margin:0 0 5px;
	padding:0.8em;
	border-top:solid 1px #201f1c;
	border-bottom:solid 1px #201f1c;
  }
  
  section.notice dl dd{
    font-size:17px;
    line-height:30px;
	margin:0 0 20px;
	padding:0.5em 0;
	border-bottom:dotted 1px #201f1c;
  }
  
  /* :::::::::: 【PC】特長 :::::::::: */  
  
  #index .main section.feature {
	background:url(../images/index/feature_bg.png) no-repeat top 100px center;  
	margin:0 auto 100px;
  }
  
  section.feature h2 {margin:0 0 60px;}
  
  section.feature section {
	width:100%;
	height:auto;
	margin:0;
  }
  
  section.feature section h3 {
	position:relative;
	width:100%;
	height:auto;
	line-height:1.1em;
	font-family: YuMincho, 'Yu Mincho','游明朝',"ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	font-weight:bold;
	margin:0 0 20px;
	font-size:22px;
	padding:10px 0 0 3em;
  }
  
  section.feature section h3 span.f_number {
	position:absolute;
	font-size:40px;
	margin: 0;
	bottom:0.1em;
	left:0;
  }
  
  #index .main section.feature section p {
	margin:0 0 40px; 
	font-size:17px; 
  }
  
  /* :::::::::: 【PC】診療リンク :::::::::: */  
  
  #index .main ul.topic {
	width:100%;
	height:auto;
	overflow:hidden;
	margin:0 auto 50px;
  }
  
  #index .main ul.topic li {
    width:230px;
	height:auto; 
	overflow:hidden;
	margin:0 30px 0 0;
	float:left;
	list-style-type:none;
	font-size:17px;
	font-family: YuMincho, 'Yu Mincho','游明朝',"ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	text-align:center;
  }
  
  #index .main ul.topic li:last-child {margin:0;}	
  
  #index .main ul.topic li span {
	display:block;
	text-align:center;
	font-weight:bold;
	font-size:20px;
	line-height:1em;
	border-bottom:solid 1px #201f1c;
	padding:0 0 0.2em; 
	margin:0 0 10px; 
  }
  
  #index .main ul.topic li p {
	text-align:left;
	margin:0 auto 15px;  
  }
  
  #index .main ul.topic li p.detail { 
    width:150px;
	text-align:center;
	height:auto;
	line-height:1.1em;
	font-size:15px;
	margin:0 auto;
	border:solid 1px #201f1c;
  }
  
  #index .main ul.topic li p.detail a { 
    box-sizing:border-box;
    color:inherit;
	display:block;
	width:100%;
	height:100%;
	text-decoration:none;
	padding:0.4em 0.5em 0.3em;
  }
  
  #index .main ul.topic li p.detail a:hover { 
    color:#FFF;
    background:#143c33;
  }
}


@media screen and (max-width: 768px){
  
  /* :::::::::: 【SP】お知らせ欄 :::::::::: */
  
 section.notice dl::-webkit-scrollbar {
    width: 12px;
  }
  
  section.notice dl::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    border-radius: 10px;
  }
  
  section.notice dl::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
    box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
  }

  section.notice {
	padding:0 0 20%;
	background:url(../images/index/notice_bg.png) no-repeat bottom;
	background-size:100%;
	margin:0 auto 10%;
  }
  
  section.notice dl {
    width:100%;
    height:auto;
    overflow-y:scroll;
    margin:0;
  }
  
  section.notice dl dt{
    font-size:1.1;
	color:#611028;
    line-height:1.1em;
    margin:0 0 0.3em;
	padding:0.8em;
	border-top:solid 1px #201f1c;
	border-bottom:solid 1px #201f1c;
  }
  
  section.notice dl dd{
    font-size:1em;
    line-height:1.4em;
	margin:0 0 5%;
	padding:0.5em 0;
	border-bottom:dotted 1px #201f1c;
  } 
  
  /* :::::::::: 【SP】特長 :::::::::: */  
  
  #index .main section.feature {
	background:url(../images/index/feature_bg.png) no-repeat top 100px center; 
	background-size:80%; 
  }
  
  section.feature section {
	width:100%;
	height:auto;
	margin:0;
  }
  
  section.feature section h3 {
	box-sizing:border-box;
	position:relative;
	width:100%;
	height:auto;
	line-height:1.1em;
	font-family: YuMincho, 'Yu Mincho','游明朝',"ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	font-weight:bold;
	margin:0 0 3%;
	font-size:1.05em;
	padding:0.5em 0 0 2.7em;
  }
  
  section.feature section h3 span.f_number {
	position:absolute;
	font-size:1.8em;
	margin: 0;
	bottom:0.1em;
	left:0;
  }
  
  #index .main section.feature section p {
	margin:0 0 8%; 
	font-size:1em; 
  }
  
  /* :::::::::: 【SP】診療リンク :::::::::: */  
  
  #index .main ul.topic {
	width:100%;
	height:auto;
	overflow:hidden;
	margin:0;
  }
  
  #index .main ul.topic li {
    width:48%;
	height:auto; 
	overflow:hidden;
	margin:0 4% 5% 0;
	float:left;
	list-style-type:none;
	font-size:1em;
	font-family: YuMincho, 'Yu Mincho','游明朝',"ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	text-align:center;
  }
  
  #index .main ul.topic li:nth-child(even) {margin:0;}	
  
  #index .main ul.topic li span {
	display:block;
	text-align:center;
	font-weight:bold;
	font-size:1.1em;
	line-height:1em;
	border-bottom:solid 1px #201f1c;
	padding:0 0 0.2em; 
	margin:0 0 3%; 
  }
  
  #index .main ul.topic li p {
	text-align:left;
	margin:0 auto 4%;  
  }
  
  #index .main ul.topic li p.detail { 
    box-sizing:border-box;
    display:block;
    width:auto;
	text-align:center;
	height:auto;
	line-height:1.1em;
	font-size:0.8em;
	margin:0;
	border:solid 1px #201f1c;
  }
  
  #index .main ul.topic li p.detail a { 
    box-sizing:border-box;
    color:inherit;
	display:block;
	width:100%;
	height:100%;
	text-decoration:none;
	padding:0.4em 0.5em 0.3em;
	
  }
}

/* -----------------------------------------------------------
　下層ページ
----------------------------------------------------------- */

@media screen and (min-width: 769px){
  
  /* :::::::::: 【PC】クリニック紹介 :::::::::: */
  
  .flipsnap .item img  {
    width:100%;
  }
  
  .ContTxtArea p.comment {
    text-indent:-9999px;
  }    
    
  /* :::::::::: 【PC】診療科目 :::::::::: */   
  
  div.case {
	box-sizing:border-box;
	background:#fffbfc; 
	padding:1em; 
	overflow:hidden;
	border:solid 1px #882b46;
  }
  
  .main section table.case th ,
  .main section table.case td { 
    padding:0.4em 1em;
	text-align:center;
	border:solid 1px #333;
  }  
  
  .main section table.case th:nth-of-type(1) {background:#7CFCFF;}
  .main section table.case th:nth-of-type(2) {background:#FFB98A;}
  .main section table.case td:nth-of-type(1) {background:#D8F9FF;}  
  .main section table.case td:nth-of-type(2) {background:#D5FFB8;}
  
  .main section ul.flow_ul li {
	width:auto;
	margin:0 3em 10px 0;
	float:left;
  }
  
  .main section.flow {
	position:relative;
	padding:0 0 50px; 
  }
  
  .main section.flow:nth-last-of-type(1) {padding:0;}
  
  .main section.flow::after {
	position:absolute;
	display:block;
	content:"";
	width:0;
	height:0;
	border-top:solid 1.6em #8a2a46;
	border-left:solid 1em transparent;
	border-right:solid 1em transparent;
	margin:auto;
    bottom:0;
	left:0;
	right:0;
  }
  
  .main section.flow:nth-last-of-type(1)::after {content:none;}  	
}


@media screen and (max-width: 768px){
  
  /* :::::::::: 【SP】 :::::::::: */  
  

  
  /* :::::::::: 【SP】クリニック紹介 :::::::::: */
  /*** 画面幅に対しての画像の表示サイズ
  　　 max-widthは画像ファイルの横幅サイズ ****/
  
  .viewport {
    width:80%;
    overflow:hidden;
    margin:0 auto;
  }
  
  /*** 画像枚数×100% ****/
  
  .flipsnap {
    width:600%;
  }
  
  ul.flipsnap  {
    margin:0;
  }
  
  /*** 100%÷画像枚数 ****/
  .item {
    float:left;
    width:calc(100% / 6);
    cursor:pointer;
    overflow:hidden;
  }
  
  .item p {
    padding:3px 0 8px 0;
    font-weight:bold;
    color:#333;
    text-align:center;
  }
  p.comment {
    text-align:center;
    margin-top:10px;
  }
  
  /* :::::::::: 【SP】診療科目 :::::::::: */  
  
  .main section div.case {
	box-sizing:border-box;
	background:#fffbfc; 
	padding:0.5em; 
	overflow:hidden;
	border:solid 1px #882b46;
  }
  
  .main section table.case th ,
  .main section table.case td { 
    padding:0.4em 1em;
	textalign:center;
	border:solid 1px #CCC;
  }
  
    .main section table.case th:nth-of-type(1) {background:#7CFCFF;}
  .main section table.case th:nth-of-type(2) {background:#FFB98A;}
  .main section table.case td:nth-of-type(1) {background:#D8F9FF;}  
  .main section table.case td:nth-of-type(2) {background:#D5FFB8;}
  
  .main section ul.flow_ul li {
	width:auto;
	margin:0 3em 0.5em 0;
	float:left;
  }  
  
  .main section.flow {
	position:relative;
	padding:0 0 2.5em; 
  }
  
  .main section.flow:nth-last-of-type(1) {padding:0;}
  
  .main section.flow::after {
	position:absolute;
	display:block;
	content:"";
	width:0;
	height:0;
	border-top:solid 1.6em #8a2a46;
	border-left:solid 1em transparent;
	border-right:solid 1em transparent;
	margin:auto;
    bottom:0;
	left:0;
	right:0;
  }   
  
  .main section.flow:nth-last-of-type(1)::after {content:none;}     
}