@charset "utf-8";
/* -----------------------------------------------------------
color / 段落
----------------------------------------------------------- */
.txt-left {
  text-align: left;
  line-height: 24px;
  padding: 0;
  margin: 0 !important;
}
.txt-center {
  text-align: center;
}
.blue {
  color: #0e2db6 !important;
}
.purple {
  color: #4B0082;
}
.pink {
  color: #F19FB9 !important;
}
/* -----------------------------------------------------------
　見出し
----------------------------------------------------------- */
h3 {
  clear: both;
  margin-bottom: 15px;
  padding: 15px 0 15px 15px;
  background: url(../images/title_bg.png) 0 0 no-repeat;
  font-size: 24px;
  color: #707DB6;
  letter-spacing: 1px;
  line-height: 1;
}
h3.long {
  clear: both;
  margin-bottom: 15px;
  padding: 15px 0 15px 15px;
  background: url(../images/title_bg_l.png) 0 0 no-repeat;
  font-size: 24px;
  color: #707DB6;
  letter-spacing: 1px;
  line-height: 1;
}
h4 {
  clear: both;
  margin-bottom: 10px;
  padding: 8px 0 8px 5px;
  background-color: #ABB7D8;
  border-radius: 3px 3px 3px 3px;
  -webkit-border-radius: 3px 3px 3px 3px;
  -moz-border-radius: 3px 3px 3px 3px;
  font-size: 18px;
  color: #FFF;
  line-height: 1;
}
h4:before {
  content: "● ";
  color: #F4F5F9;
}
h5 {
  clear: both;
  margin-bottom: 5px;
  padding-bottom: 8px;
  border-bottom: 1px dotted #CCC;
  font-size: 18px;
  color: #006933;
  line-height: 1;
}
h5:before {
  content: "◆ ";
  color: #B2D1C1;
}
/* =======================================================================

   全体
   
======================================================================= */
body {
  font-family: Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: url(../images/bg.png) 0 0 repeat-x;
}
body#detail {
  background: url(../images/bg2.png) 0 0 repeat-x;
}
/* -----------------------------------------------------------
　ラッパー
----------------------------------------------------------- */
#wrapper {
  width: 100%;
}
/* -----------------------------------------------------------
　ヘッダ
----------------------------------------------------------- */
header {
  margin: 0 auto 10px auto;
  width: 1020px;
}
header h1 {
  width: 100%;
  height: 30px;
  margin: 0 auto;
  font-size: 12px;
  font-weight: normal;
  color: #333;
  line-height: 2.5;
  letter-spacing: 1px;
  text-align: right;
}
.header_info {
  margin: 0 auto 1.5rem;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: 100%;
}
.header_logo {
  width: 45%;
  text-align: left;
  margin: 0 2.5rem 0 0;
}
.header_logo img {
  width: 100%;
  height: auto;
  margin: 0 1rem 0 0;
}
.cashless {
  width: 35%;
  text-align: center;
  font-size: small;
  margin: 1.25rem 0 0 0;
}
.telinfo {
  width: 30%;
  text-align: right;
}
.telinfo img {
  width: 100%;
  height: auto;
}
/* :::::::::: メインナビ :::::::::: */
#main_nav_wrapp {
  height: 50px;
  width: 100%;
  margin-bottom: 20px;
  background: url(../images/main_nav_bg.png) 0 top repeat-x;
}
#main_nav {
  width: 1020px;
  margin: 0 auto;
}
#main_nav ul li {
  float: left;
}
/* :::::::::: キービジュアル :::::::::: */
h2#key_visual {
  clear: both;
  margin: 0 auto 10px auto;
  width: 1020px;
}
/* ::::::::::  :::::::::: */
#category {
  clear: both;
  height: 100px;
  width: 750px;
  margin: 0 auto 20px auto;
  background: url(../images/category_bg.jpg) 0 0 no-repeat;
}
#category p {
  padding-top: 38px;
  font-size: 27px;
  font-weight: bold;
  color: #F19FB9;
  text-align: center;
  letter-spacing: 1px;
  line-height: 1;
}
/* -----------------------------------------------------------
　コンテンツラッパー
----------------------------------------------------------- */
#contents_wrapper {
  clear: both;
  width: 100%;
}
#contents_wrapper1 {
  width: 1020px;
  margin: 0 auto;
}
/* -----------------------------------------------------------
　メインコンテンツ
----------------------------------------------------------- */
#main_contents {
  width: 750px;
  float: right;
}
/* ::::::::::  :::::::::: */
dl#hitokoto {
  width: 740px;
  margin: 0 auto 40px auto;
}
dl#hitokoto dt {
  margin-bottom: 5px;
  font-size: 20px;
  font-weight: bold;
  color: #EA6A93;
  line-height: 1;
}
dl#hitokoto dd {
  margin-bottom: 25px;
  line-height: 1.8;
}
/* :::::::::: お知らせ欄 :::::::::: */
dl#information {
  width: 740px;
  margin: 0 auto 40px auto;
}
dl#information dt {
  margin-bottom: 5px;
  font-size: 20px;
  font-weight: bold;
  color: #EA6A93;
  line-height: 1;
}
dl#information dd {
  margin-bottom: 25px;
  line-height: 1.8;
}
/* ::::::::::  :::::::::: */
#home_menu {
  margin-bottom: 30px;
}
#home_menu ul li {
  float: left;
  display: inline;
  margin-right: 15px;
}
#home_menu ul li:last-child {
  margin-right: 0;
}
/* :::::::::: ご挨拶欄 :::::::::: */
ol.list_tokutyou {
  counter-reset: number;
  list-style-type: none !important;
  padding: 0.5em;
}
ol.list_tokutyou li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 30px;
}
ol.list_tokutyou li:before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display: inline-block;
  background: #f19fb9;
  color: white;
  font-family: 'Avenir', 'Arial Black', 'Arial', sans-serif;
  font-weight: bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
}
/* ::::::::::  :::::::::: */
#about {
  width: 750px;
  margin-bottom: 30px;
  padding-bottom: 10px;
  background: url(../images/home_photo.jpg) right 0 no-repeat;
}
#about h2 {
  height: 60px;
  padding: 0;
  margin: 0 0 15px 0;
  background-image: none;
}
#about p {
  width: 470px;
  line-height: 1.5;
}
/* :::::::::: 医院概要 :::::::::: */
#clinic_info {
  width: 750px;
  margin-bottom: 40px;
}
#clinic_info1 {
  float: left;
  width: 320px;
}
#clinic_info1 p.logo {
  margin-bottom: 10px;
  font-size: 26px;
  font-weight: bold;
  color: #707DB6;
}
#clinic_info1 dl {
  clear: both;
}
#clinic_info1 dl dt {
  clear: both;
  float: left;
  width: 80px;
  margin: 0 10px 30px 0;
  padding: 6px 0 4px 0;
  background: #ABB7D8;
  border-radius: 12px 12px 12px 12px;
  -webkit-border-radius: 12px 12px 12px 12px;
  -moz-border-radius: 12px 12px 12px 12px;
  font-weight: bold;
  font-size: 15px;
  color: #FFF;
  text-align: center;
  line-height: 1;
}
#clinic_info1 dl dd {
  float: left;
  width: auto;
  margin-bottom: 30px;
  padding: 2px 0 0 0;
  line-height: 1.4;
}
#clinic_info1 ul.card {
  clear: both;
  max-width: 320px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: left; /* 子要素をflexboxにより中央に配置する */
  align-items: center; /* 子要素をflexboxにより中央に配置する */
}
#clinic_info1 ul.card li {
  margin-right: 3%;
  margin-bottom: 1%;
  width: 12.5%;
  vertical-align: baseline;
}
#clinic_info1 ul.card li img {
  max-width: 100%;
}
#clinic_info2 {
  float: right;
  width: 420px;
}
#map_canvas {
  width: 420px;
  height: 260px;
  padding: 0 0 1rem;
}
#access #map_canvas {
  width: 100%;
  height: 450px;
}
/* :::::::::: 診療時間表 :::::::::: */
#timetable {
  clear: both;
}
#timetable table {
  width: 100%;
  border-collapse: collapse;
}
#timetable table th, #timetable table td {
  border: 1px solid #ABB7D8;
  vertical-align: middle;
  word-break: break-all;
  font-size: 18px;
  color: #666;
  text-align: center;
  line-height: 1;
}
#timetable table thead th, #timetable table thead td {
  padding: 10px 0 8px 0;
  background: #ABB7D8;
  font-weight: bold;
  color: #FFF;
}
#timetable table thead th {
  width: 28%;
}
#timetable table thead td {
  width: 9%;
}
#timetable table tbody th, #timetable table tbody td {
  padding: 10px 0 8px 0;
  background: #FFF;
  font-weight: normal;
}
#timetable table tbody th {
  font-weight: bold;
}
#timetable table tbody th span {
  font-size: 14px;
  color: #999;
}
#timetable table tbody td {
  font-size: 22px;
  color: #ABB7D8;
  line-height: 1;
}
#timetable table tbody td span {
  font-size: 28px;
}
#timetable table tfoot th, #timetable table tfoot td {
  padding: 12px 0 10px 0;
  background: #FFF;
  font-weight: normal;
  line-height: 1.6;
}
#timetable table tfoot td span {
  color: #ABB7D8;
}
#clinic_info2 #timetable {
  width: 420px;
}
#clinic_info2 #timetable th, #clinic_info1 #timetable td {
  padding: .3rem .5rem;
}
#clinic_info2 #timetable table thead th, #clinic_info1 #timetable table thead td {
  font-size: 16px;
  line-height: 1.2;
  padding: .3rem .5rem;
}
#clinic_info2 #timetable table thead th {
  width: auto;
  white-space: nowrap;
}
#clinic_info2 #timetable table tfoot td {
  text-align: left;
  font-size: 14px;
  line-height: 1.2;
  padding: .3rem .5rem;
}
#clinic_info2 #timetable tbody th, #clinic_info2 #timetable tbody td {
  font-size: 14px;
  line-height: 1.2;
  padding: .3rem .5rem;
}
#clinic_info2 #timetable tbody th {
  text-align: center;
}
#clinic_info2 #timetable tbody th span {
  display: block;
  font-size: 12px;
}
/* -----------------------------------------------------------
　サブコンテンツ
----------------------------------------------------------- */
#sub_contents {
  width: 240px;
  float: left;
  padding-top: 5px;
  margin-bottom: 30px;
}
#sub_contents ul {
  margin: 0 0 20px 0;
  background-color: #FAEBF0;
  border: 1px solid #FAD8E2;
  border-radius: 6px 6px 6px 6px;
  -webkit-border-radius: 6px 6px 6px 6px;
  -moz-border-radius: 6px 6px 6px 6px;
}
#sub_contents ul li {
  width: 230px;
  margin: 0 auto 5px auto;
}
#sub_contents ul li a {
  display: block;
  padding: 17px 0 15px 30px;
  border-radius: 6px 6px 6px 6px;
  -webkit-border-radius: 6px 6px 6px 6px;
  -moz-border-radius: 6px 6px 6px 6px;
  font-size: 18px;
  line-height: 1;
}
#sub_contents ul li a:link, #sub_contents ul li a:visited {
  background: url(../images/sub_links_off.png) 10px 1.1em no-repeat #FFF;
  color: #333;
  text-decoration: none;
}
#sub_contents ul li a:hover, #sub_contents ul li a:active {
  background: url(../images/sub_links_on.png) 10px 1.1em no-repeat #FFF;
  color: #F99;
  text-decoration: none;
}

.rsv_btn {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
display: inline-block;
width:100%;
font-size:1.1rem;
font-weight:bold;
color:#fff !important;
text-align: center;
padding: 1.5rem 2rem 1.3rem;
margin: 0.3rem 0 0.5rem;
text-decoration: none !important;
background: #F19FB9;
border-radius: 6px 6px 6px 6px;
-webkit-border-radius: 6px 6px 6px 6px;
outline: 1px solid #fff;
outline-offset: -.3rem;
}
.rsv_btn:hover {
  opacity: 0.8;
}



/* :::::::::: オルソケラトロジー :::::::::: */
.orthokeratologyTbl {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1em;
}
.orthokeratologyTbl th, .orthokeratologyTbl td {
  border: 1px solid #ABB7D8;
  vertical-align: middle;
  word-break: break-all;
  text-align: center;
  line-height: 1;
}
.orthokeratologyTbl th {
  padding: 10px 0 8px 0;
  background: #ABB7D8;
  font-weight: bold;
  color: #FFF;
  width: 50%;
}
.orthokeratologyTbl td {
  padding: 10px 0 8px 0;
  background: #FFF;
  font-weight: normal;
  color: #666;
  width: 25%;
}
.orthokeratologyTbl td.price {
  text-align: right;
}
/* :::::::::: English :::::::::: */
.language_tbl {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1em;
}
.language_tbl th, .language_tbl td {
  border: 1px solid #ABB7D8;
  vertical-align: middle;
  word-break: break-all;
  text-align: left;
  line-height: 1;
}
.language_tbl th {
  padding: 10px;
  background: #ABB7D8;
  font-weight: bold;
  color: #FFF;
}
.language_tbl td {
  padding: 10px;
  background: #FFF;
  font-weight: normal;
  color: #666;
  width: 50%;
  line-height: 1.5;
}

/* :::::::::: モジュール :::::::::: */
.flex2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}
.flex2 >section, .flex2 >li {
  width: 48%;
  margin: 0 !important;
}

/* card */
ul.card {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: left;
  align-items: center;
}
ul.card li {
  margin-right: 3%;
  margin-bottom: 1%;
  width: 10.5%;
  vertical-align: baseline;
}
ul.card li img {
  max-width: 100%;
}
.gv_navWrap::after {
  content: "Slide image";
  display: block;
  font-size: 90%;
  margin-top: 15px;
}
/* -----------------------------------------------------------
　フッタ
----------------------------------------------------------- */
#footer_wrapper {
  clear: both;
  width: 100%;
  padding: 30px 0 30px 0;
  background: url(../images/footer_bg.png) repeat-x;
}
#footer {
  margin: 0 auto;
  width: 1020px;
}
#footer a:link, #footer a:visited {
  color: #333;
  text-decoration: none;
}
#footer a:hover, #footer a:active {
  color: #F99;
  text-decoration: none;
}
#footer_logo {
  margin-bottom: 20px;
  text-align: center;
}
#footer_nav {
  margin-bottom: 15px;
}
#footer ul {
  padding-bottom: 20px;
  text-align: center;
}
#footer ul li {
  display: inline;
  margin-right: 5px;
  padding-right: 10px;
  background: url(../images/footer_line.png) right 0.3em no-repeat;
  font-size: 14px;
  line-height: 1;
}
#footer ul li:last-child {
  margin-right: 0;
  padding-right: 0;
  background: none;
}
#copyright {
  clear: both;
  width: 100%;
  font-size: 11px;
  text-align: center;
  color: #333;
  letter-spacing: 1px;
}
#copyright a:link, #copyright a:visited {
  color: #333;
  text-decoration: none;
}
#copyright a:hover, #copyright a:active {
  color: #333;
  text-decoration: none;
}
/* -----------------------------------------------------------
　
----------------------------------------------------------- */
ul.list li {
  margin: 0 0 10px 4px;
  padding-left: 16px;
  background: url(../images/c_listmark.png) 0 0.6em no-repeat;
}
ul.list li span {
  font-weight: bold;
  color: #707DB6;
}
ul.step li {
  margin-bottom: 10px;
  padding: 5px 10px 5px 42px;
  border: 1px solid #F19FB9;
  border-radius: 5px 5px 5px 5px;
  font-size: 16px;
  font-weight: bold;
  color: #EA6A94;
  text-align: left;
  letter-spacing: 2px;
}
ul.step li span {
  font-weight: normal;
  color: #333333;
  letter-spacing: 0;
}
ul.step li.num1 {
  background: url(../images/step_num1.png) 8px 0.3em no-repeat #FDF1F5;
}
ul.step li.num2 {
  background: url(../images/step_num2.png) 8px 0.3em no-repeat #FDF1F5;
}
ul.step li.num3 {
  background: url(../images/step_num3.png) 8px 0.3em no-repeat #FDF1F5;
}
ul.step li.num4 {
  background: url(../images/step_num4.png) 8px 0.3em no-repeat #FDF1F5;
}
ul.step li.num5 {
  background: url(../images/step_num5.png) 8px 0.3em no-repeat #FDF1F5;
}
ul.step li.num6 {
  background: url(../images/step_num6.png) 8px 0.3em no-repeat #FDF1F5;
}
ul.step li.arrow {
  margin-bottom: 10px;
  padding: 0;
  border: none;
  text-align: center;
  color: #F9D9E3;
}
ul#career li {
  margin-bottom: 5px;
}
dl.step dt {
  padding: 5px 10px 5px 42px;
  border: 1px solid #F19FB9;
  border-bottom: 1px dotted #F19FB9;
  border-radius: 5px 5px 0 0;
  font-size: 16px;
  font-weight: bold;
  color: #EA6A94;
  text-align: left;
  letter-spacing: 2px;
}
dl.step dt.num1 {
  background: url(../images/step_num1.png) 8px 0.3em no-repeat #FDF1F5;
}
dl.step dt.num2 {
  background: url(../images/step_num2.png) 8px 0.3em no-repeat #FDF1F5;
}
dl.step dt.num3 {
  background: url(../images/step_num3.png) 8px 0.3em no-repeat #FDF1F5;
}
dl.step dt.num4 {
  background: url(../images/step_num4.png) 8px 0.3em no-repeat #FDF1F5;
}
dl.step dt.num5 {
  background: url(../images/step_num5.png) 8px 0.3em no-repeat #FDF1F5;
}
dl.step dd {
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #F19FB9;
  border-top: none;
  border-radius: 0 0 5px 5px;
  text-align: left;
}
dl.step dd p {
  margin: 0;
}
dl.step dd.arrow {
  margin-bottom: 10px;
  padding: 0;
  border: none;
  text-align: center;
  color: #F9D9E3;
}
/* -----------------------------------------------------------
　
----------------------------------------------------------- */
.box {
  margin-bottom: 40px;
  width: 750px;
}
.box p {
  margin-bottom: 20px;
}
.box p#sign {
  padding-left: 5px;
}
.box p#sign span {
  font-size: 20px;
  letter-spacing: 2px;
}
.image_right {
  float: right;
  margin: 0 0 10px 10px;
}
.clinic {
  width: 740px;
  margin: 0 0 20px 10px;
}
.clinic_box {
  float: left;
  display: inline;
  width: 360px;
  margin-right: 10px;
}
.clinic_box p {
  margin-bottom: 0;
  text-align: center;
}
.clinic_box p.short {
  letter-spacing: -1px;
}
.clinic_top {
  width: 740px;
  margin: 0 0 20px 10px;
}
.clinic_top1 {
  float: left;
  display: inline;
  width: 410px;
  text-align: center;
}
.clinic_top1 p.text {
  text-align: left;
}
.clinic_top2 {
  float: right;
  display: inline;
  width: 300px;
  margin-right: 10px;
  padding-top: 12px;
  text-align: center;
}
.cataract-equipment {
  width: 340px;
  height: auto;
  margin: 0 0 20px 20px;
  overflow: hidden;
  float: left;
  text-align: center;
}
.cataract-equipment img {
  text-align: center;
}
.cataract-equipment-title {
  font-family: Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  margin: 0 !important;
  padding: 5px 0 0 0;
  color: #707db6;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  background-image: none;
}
.cataract-equipment1 {
  width: 730px;
  height: auto;
  margin: 0 auto 30px;
  overflow: hidden;
  text-align: center;
}
.cataract-equipment1 img {
  text-align: center;
}
.cataract-equipment-title {
  font-family: Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  margin: 0 !important;
  padding: 5px 0 0 0;
  color: #707db6;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  background-image: none;
}
/* -----------------------------------------------------------
CALENDAR
----------------------------------------------------------- */
.calendar {
  width: 100%;
  margin: 0 auto 30px;
  border: 2px solid #E6E6E6;
  table-layout: fixed;
}
.calendar th {
  font-weight: bold;
  font-size: 0.85em;
  text-align: center;
  vertical-align: middle;
  line-height: 1;
  padding: 7px 0 3px;
  border-left: 2px solid #E6E6E6;
  border-right: 2px solid #E6E6E6;
  border-top: 2px solid #E6E6E6;
}
.calendar td {
  font-weight: bold;
  font-size: 0.85em;
  text-align: center;
  vertical-align: middle;
  line-height: 1.2;
  padding: 5px 1px 2px;
  border-left: 2px solid #E6E6E6;
  border-right: 2px solid #E6E6E6;
  border-top: 1px solid #E6E6E6;
}
.calendar th.week {
  background-color: #ABB7D8;
  color: #fff;
  padding: 5px 1px 2px;
  line-height: 1.2;
}
.calendar tr.day {
  border-top: 2px solid #E6E6E6;
}
.cellSunday {
  color: #ff0004;
}
.cellHoliday {
  color: #ff0004;
}

.img_c{
  max-width: 90%;
  display: block;
  margin: 1rem auto;
}