@charset "UTF-8";

div.section {
  margin-bottom: 20px;
}

/* 全体
--------------------------------- */
html {
  vertical-align: baseline;
}
body {
  position: relative !important;
  font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, メイリオ, sans-serif;
  color: #2f2f2f;
  line-height: 1.7em;
  -moz-font-feature-settings: inherit;
  -moz-font-language-override: inherit;
  border: 0 none;
  font-size-adjust: inherit;
  font-stretch: inherit;
  font-style: inherit;
  font-variant: inherit;
  padding: 0;
  vertical-align: baseline;
}

/* テキスト
--------------------------------- */
p {
  margin: 0;
  padding-bottom: 20px;
  line-height: 1.7em;
}
p a:link {
  text-decoration: underline;
}
p a:hover {
  text-decoration: none;
}
a {
  line-height: inherit;
  outline: 0 none;
  color: #2aaee6;
  text-decoration: none;
  background: none;
}
a:hover {
  color: #2aaee6;
  text-decoration: underline;
}
.large {
  font-size: 16px;
  font-size: 1.6rem;
}
.xlarge {
  font-size: 18px;
  font-size: 1.8rem;
}
.xxlarge {
  font-size: 20px;
  font-size: 2.0rem;
}
small, .small {
  font-size: 13px;
  font-size: 1.3rem;
}
xsmall, .xsmall {
  font-size: 12px;
  font-size: 1.2rem;
}
xxsmall, .xxsmall {
  font-size: 10px;
  font-size: 1rem;
}
.notice {
  color: #e34628;
}
.bold {
  font-weight: 700;
}
.caption {
  font-size: 1.2rem;
}
p.caption {
  margin-top: -10px !important;
}

/* ルビ */
.ruby-bottom {
  line-height: 1.4em;
}

ruby {
  display: inline-table;
  border-collapse: collapse;
  /*height: 2em;*/
  height: 1.9em;
  margin: 0;
  padding: 0;
  border: none;
  white-space: nowrap;
  text-indent: 0;
  /*vertical-align: 0.9em;*/
  vertical-align: bottom;
  text-decoration: inherit;
  text-align: center;
  line-height: 1em;
}

h1 ruby {
  height: 0.7em;
}

/* 上ルビ */
ruby>rtc {
  display: table-header-group;
  height: 25%;
  margin: 0;
  padding: 0;
  border: none;
  font: inherit;
  font-size: 50%;
  line-height: 1em;
}

/* 各文字に対応するルビ */
ruby>rtc>rt {
  display: table-cell;
  margin: 0;
  padding: 0 0.125em;
  border: none;
  font-size: 100%;
  text-align: center;
  line-height: 1em;
}

/* ルビ対象テキスト */
ruby>rb {
  display: table-cell;
  max-height: 75%;
  margin: 0;
  padding: 0 0.125em;
  border: none;
  font: inherit;
  text-decoration: none;
  text-align: center;
  line-height: 1em;
  vertical-align: top;
}

/* 非対応環境向け括弧類 */
ruby>rp {
  display: none;
}

/* Firefox、Safari、Opera用指定

ruby {
  display : inline-table;
  text-align : center;
  text-indent : 0px;
  white-space : nowrap;
  border : none;
  margin : 0px;
  padding : 0px;
  line-height : 1;
  height : 1em;
  vertical-align : text-bottom;
  border      : none;
}

/* rb（本文）
------------------------------------------- */
/* Firefox、Safari、Opera用指定
rb {
  display      : table-row-group;
  line-height    : 1;
  text-align    : center;
  border      : none;
  margin      : 0px;
  padding      : 0px;
  white-space    : nowrap;
}

/* rt（フリガナ）
------------------------------------------- */
/* firefox、Safari、Opera用指定
rt {
  display : table-header-group;
  font-size    : 0.625em;
  line-height    : 1.1;
  text-align    : center;
  white-space    : nowrap;
  border      : none;
  margin      : 0px;
  padding: 0px;
}

 /* 全ブラウザ共通指定
rp {
  display : none;
}
*/

/* 見出し
--------------------------------- */
.copy { margin-bottom: 5px; font-size: 20px; font-size: 2.0rem; color: #009bdc;}
.title1 { font-size: 18px; font-size: 1.8rem; color: #131313;}
.title2 { font-size: 17px; font-size: 1.7rem; color: #131313;}
.title2-primary { font-size: 15px; font-size: 1.5rem; color: #fff;}
.title3 { font-size: 16px; font-size: 1.6rem; color: #131313;}

.title1, .title2, .title2-primary, .title3 {
  line-height: inherit;
  padding-bottom: 0.336em;
  padding-top: 0.336em;
}
.title1 {
  margin-top: 0;
  padding: 10px 0 10px;
  margin-bottom: 25px;
  font-weight: 400;
  background-color: #ededed;
}
.title1 span {
  display: block;
  padding: 0 18px;
  border-left: solid 5px #55beeb;
}
.title2 {
  position: relative;
  margin: 0 0 15px 0;
  padding: 5px 0 8px 26px;
  font-weight: 400;
  border-bottom: solid 2px #55beeb;
}
.title2:before {
  content: "";
  position: absolute;
  top: 1em;
  left: 0;
  display: block;
  width: 13px;
  height: 13px;
  margin-top: -6px;
  border: 3px solid #55beeb;
  border-radius: 10px;
}
.title2-primary {
  position: relative;
  margin: 0;
  padding: 5px 30px;
  font-weight: 400;
  background-color: #55beeb;
}
.title2-primary:before {
  content: "";
  position: absolute;
  top: 1.2em;
  left: 15px;
  display: block;
  width: 10px;
  height: 10px;
  margin-top: -6px;
  border: 2px solid #fff;
  border-radius: 10px;
}
.title3 {
  margin: 0 0 10px 0;
  padding: 12px 0 8px;
  font-weight: 400;
}
.title3 span {
  padding: 0 8px 0 14px;
  line-height: 1.2em;
  border-left: solid 3px #55beeb;
}
.sub-head {
  padding: 0;
  margin: 0 0 10px 0;
  color:#009bdc;
  font-weight: 700;
}

/* ライン
--------------------------------- */
hr {
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  border-color: #d0d0d0 -moz-use-text-color -moz-use-text-color;
  border-image: none;
  border-right: 0 none;
  border-style: solid none none;
  border-width: 1px 0 0;
  margin-bottom: 20px;
  margin-top: 0px;
}
hr.dotted-line {
  height: 1px;
  -moz-border-bottom-colors: none;
  -moz-border-left-colors: none;
  -moz-border-right-colors: none;
  -moz-border-top-colors: none;
  background: url("/img/common/line/line-dotted.png") repeat-x left bottom;
  border: 0 none;
  border-style: none;
  margin-bottom: 20px;
  margin-top: 0px;
}

/* リスト
--------------------------------- */
ul {
  margin-bottom: 20px;
}
li {
  line-height: 1.7em;
}
ul.disc {
  padding: 0;
  margin-left: 0;
}
.disc > li {
  position: relative;
  padding-left: 15px;
  list-style: none;
}
.disc > li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 1em;
  display: block;
  width: 5px;
  height: 5px;
  margin-top: -5px;
  border-radius: 4px;
  background-color: #55beeb;
}
ol {
  padding: 0;
  list-style: inside decimal;
}
ol ul.disc {
  margin: 0 0 20px 20px;
}
ol.number {
  padding: 0;
  margin-left: 1.5em;
  margin-bottom: 20px;
  list-style: decimal;
}
ol.number ol.number {
  margin-bottom: 0;
}
ol.number ul {
  margin: 0;
}
ul.kome {
  padding-left: 1em;
  text-indent: -1em;
  list-style: none;
}
ul.kome ul {
  margin-left: 0;
}
ul.kome ul.disc > li {
  position: relative;
  padding-left: 28px;
  list-style: none;
}
ul.style-none {
  margin: 0 0 20px 0;
  padding: 0;
}
ul.style-none li {
  margin-bottom: 10px;
  text-indent: 0;
  padding: 0;
  list-style: none;
}
ul.disc li ul.style-none {
  margin: 0;
}
.pagelink {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}
.pagelink li {
  white-space: nowrap;
  border-right: 1px solid #aaaaaa;
  display: inline;
  padding: 0 10px 0 15px;
}
.pagelink li a {
  background: url("/img/common/icons/arrow_07.png") no-repeat scroll 100% 6px rgba(0, 0, 0, 0);
  padding-right: 14px;
}

/* ボタン
--------------------------------- */
.btn {
  margin: 0 0 20px 0;
  padding: 6px 12px;
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
  line-height: 1.42857;
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 0;
  cursor: pointer;
  font-size: 14rem;
  font-size: 14px;
  font-weight: normal;
  -moz-user-select: none;
  background-image: none;
}
.btn img {
  margin-bottom: 0;
}

/* ボタンサイズ */
.btn-lg {
  padding: 12px 16px;
  line-height: 1.33em;
  border-radius: 6px;
  font-size: 14px;
  font-size: 1.4rem;
}
.btn-md {
  padding: 8px 12px;
}
.btn-sm {
  padding: 5px 10px;
  line-height: 1.5em;
  border-radius: 0;
  font-size: 12px;
  font-size: 1.2rem;
}

/* ボタン色 */
.btn-default {
  color: #fff;
  background-color: #7f7f7f;
  border-color: #7b7b7b;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open .dropdown-toggle.btn-default {
  color: #fff;
  opacity: 0.6;
  border-color:#adadad;
  background-color: #7f7f7f;
}
.btn-primary {
  background-color: #2aaee6;
  border-color: none;
  color: #ffffff;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-default {
  color: #fff;
  opacity: 0.6;
  border-color:#2aaee6;
  background-color: #2aaee6;
}
.btn-sub {
  color: #2aaee6;
  border: 1px solid #2aaee6;
  background-color: transparent;
}
.btn-sub:hover,
.btn-sub:focus,
.btn-sub:active,
.btn-sub.active,
.open .dropdown-toggle.btn-default {
  color: #2aaee6;
  border-color:#2aaee6;
  background-color: #dcf1fb;
}

/* ボタンアイコン */
.btn a img.icoback,
.skiplink a img.icoback {
  margin-left: 3px;
}
.btn a img.icofront,
.skiplink a img.icofront {
  margin-right: 5px;
}
[class^="icon-"] a:before,
[class*=" icon-"] a:before,
[class^="icon-"] a:after,
[class*=" icon-"] a:after,
i[class^="icon-"],
i[class*=" icon-"] {
  position: absolute;
  text-decoration: none;
}
.icon-right a:after {
  right: 14px;
}
.icon-arw1.icon-right:after,
.icon-arw1.icon-left:before {
  margin: 3px 0 0 5px;
  height: inherit;
  vertical-align: middle;
  content: url(/img/common/icons/arrow_01.png);
}
.icon-arw2.icon-left a:before,
.icon-arw2.icon-right:after,
a.icon-arw2.right:after {
  margin: 3px 0 0 5px;
  height: inherit;
  vertical-align: bottom;
  content: url(/img/common/icons/arrow_02.png);
}
.icon-arw3.icon-left a:before,
.icon-arw3.icon-right:after {
  margin: 0 0 0 10px;
  vertical-align: top;
  height: inherit;
  content: url(/img/common/icons/arrow_03.png);
}
a.icon-arw4.left {
  padding: 0 0 0 15px;
  color: #626262;
  background: url(/img/common/icons/arrow_04.png) no-repeat left;
}
img.icon {
  position: relative;
  margin: 0 6px;
  top: -0.1em;
}
.btn.arrow_01 span {
  padding: 0 18px 0 0;
  display: inline-block;
  background-image: url(/img/common/icons/arrow_01.png);
  background-repeat: no-repeat;
  background-position: right 50%;
}
.btn.arrow_02 span {
  padding: 0 18px 0 0;
  background-image: url(/img/common/icons/arrow_02.png);
  background-repeat: no-repeat;
  background-position: right 50%;
}
.btn.arrow_03 span {
  padding: 0 14px 0 0;
  background-image: url(/img/common/icons/arrow_03.png);
  background-repeat: no-repeat;
  background-position: right 50%;
}

/* ボタン横並び */
.btn.rank  {
  margin-right: 10px;
}

/* パンくず
--------------------------------- */
.breadcrumb > li {
  margin-right: 4px;
}
.breadcrumb > li + li:before {
  color: #818181;
  content: ">";
  padding: 0 4px 0 0;
}
.breadcrumb {
  font-size: 1.1rem;
  background: none;
  border-radius: 4px;
  list-style: none outside none;
  padding: 0;
  color: #a4a4a4;
}
.breadcrumb > .active {
    color: #2f2f2f;
}

/* ラベル
--------------------------------- */
.label {
  margin-right: 10px;
  border-radius: 0;
  color: #ffffff;
  display: inline;
  font-weight: 400;
  line-height: 1;
  padding: 0.1em 0.5em 0.1em;
  text-align: center;
  vertical-align: baseline;
  white-space: nowrap;
}
.label-default {
  background-color: #676767;
  font-weight: bold;
}
.label-primary {
  background-color: #55beeb;
  font-weight: bold;
}
.label-topics {
  display: inline-table;
  padding: 3px 0;
  vertical-align: middle;
  width: 96px;
  font-size: 1rem;
  background-color: #676767;
}
h3 span.label {
  display: inline;
  padding: 0.1em 0.5em;
  border-left: none;
}

/* パネル
--------------------------------- */
.panel {
  margin-bottom: 20px;
  background-color: #ffffff;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.panel-body {
  padding: 15px;
}
.area .panel .panel-body {
  padding: 28px;
}
.panel-border {
  border: solid 1px #cfcfcf;
}
.panel-default {
  background-color: #f5f5f5;
}
.panel-primary {
  background-color: #dff0f8;
}
.panel-sub {
  background-color: #d0d0d0;
}
.panel-primary-dark {
  background-color: #55beeb;
}
.panel-border-notice {
  border: solid 1px #55beeb;
  padding: 15px 30px;
}
.box-shadow {
  position:relative;
}
.box-shadow:before, .box-shadow:after {
  content:"";
  position:absolute;
  z-index:-1;
  -webkit-box-shadow:0 0 10px rgba(0,0,0,0.3);
  -moz-box-shadow:0 0 10px rgba(0,0,0,0.3);
  box-shadow:0 0 10px rgba(0,0,0,0.3);
  top: 50%;
  bottom: 0;
  left: 20px;
  right: 20px;
  -moz-border-radius: 400px / 20px;
  border-radius: 400px / 20px;
}
.floatbox.three-row {
  width: 220px;
  float: left;
  margin: 0 15px 0 0;
}
.panel-body.tel-box {
  padding: 10px;
}
.panel-body.tel-box img.icon {
  margin-left: 0;
}
.panel-body.tel-box span.tel {
  display: inline-block;
  padding: 10px 0 0 0;
  font-size: 20px;
  font-size: 2.0rem;
  height: 40px;
}

/* フォーム
--------------------------------- */
.input-group {
  margin-bottom: 20px;
  width: 100% !important;
}
textarea {
  width: 100%;
}
text {
  width: 100%;
}
.input-group .form-control {
  float: left;
  width: 100%;
}
.form-control {
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #cccccc;
  border-radius: 4px;
  box-shadow: none;
  color: #555555;
  display: block;
  font-size: 14px;
  height: 34px;
  line-height: 1.42857;
  padding: 6px 12px;
  transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
  width: 100%;
}
.input-group span.caption {
  color: #9d9d9d;
}
.input-group dl dt.label{
  padding: 0;
  margin: 0;
  color: #2f2f2f;
  font-size: 1.4rem;
  font-size: 14px;
}
input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  width: 100%;
}
textarea,input,select {
  padding: 6px;
  border-radius: 0;
  box-shadow: 1px 1px 1px 0px rgba(0,0,0,0.1) inset;
  border: 1px solid #cfcfcf;
}

/* トグル
--------------------------------- */
.panel-group .panel {
  border-radius: 0;
  margin-bottom: 10px;
  overflow: hidden;
}
.panel-group .panel:last-child {
  margin-bottom: 20px;
}
.panel-default > .panel-heading {
  background-color: #f5f5f5;
  border-color: #fff;
  color: #2f2f2f;
}
.panel-heading a.collapsed {
  color: #2f2f2f;
}
.panel-heading {
  border-bottom: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  color: #2f2f2f;
  padding: 10px 15px 10px 50px;
  background: url('/img/common/icons/icon_q.png') no-repeat 8px 6px;
}
.panel-group .panel-heading + .panel-collapse .panel-body {
  border-top: 2px solid #fff;
}
.panel-title {
  color: #2f2f2f;
  font-size: 14px;
  font-size: 1.4rem;
  margin-bottom: 0;
  margin-top: 0;
}
.panel-heading a {
  line-height: 1.7em;
}
.open .panel-title a {
  color: #2aaee6;
}
.panel-collapse .panel-body {
  padding: 15px 15px 15px 50px;
  background: url('/img/common/icons/icon_a.png') no-repeat 8px 15px;
}

/* トグルボタンのプラス、マイナス画像 */
.panel-heading h2 {
  padding: 0 30px 0 0;
  position: relative;
  background: url('/img/common/icons/icon_plus.png') no-repeat 100% 50%;
}
.panel-heading.open h2 {
  background: url('/img/common/icons/icon_minus.png') no-repeat 100% 50%;
}

/* アラート
--------------------------------- */
.alert {
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 0;
  margin-bottom: 20px;
  padding: 8px 15px;
}
.alert-success {
  background-color: #dff0f8;
  border-color: #ddf1fb;
  background-image: none;
  background-repeat: no-repeat;
  color: #2f2f2f;
}
.alert-warning {
  border: solid 1px #f5f5f5;
  background-color: #f5f5f5;
  background-image: none;
  background-repeat: no-repeat;
  color: #2f2f2f;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #f2dede;
  background-image: none;
  background-repeat: no-repeat;
  color: #e34628;
}

/* テ―ブル
--------------------------------- */
table {
  width: 100%;
  margin-bottom: 20px;
}
table ul {
  margin-bottom: 0;
}

/* デフォルトのテーブル */
table.table-default {
  width: 100%;
  border: solid 2px #fff;
}
table.table-default thead th {
  padding: 4px;
  text-align: center;
  background: #dff0f8;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
}
table.table-default th {
  padding: 8px;
  text-align: left;
  background: #f5f5f5;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
}
table.table-default td {
  padding: 8px;
  text-align: left;
  background: #f5f5f5;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
}
table.table-default th:last-child,
table.table-default td:last-child {
  border-right: none;
}

/* スケジュールのテーブル */
table.table-default.schedule {
  width: 100%;
  border: solid 2px #fff;
}
table.table-default.schedule thead th {
  padding: 4px 0;
  background: #dff0f8;
  border-bottom: solid 2px #fff;
  border-right: none;
}
table.table-default.schedule th {
  padding: 10px 0;
  text-align: center;
  background: #f5f5f5;
  border-bottom: solid 2px #fff;
  border-right: none;
}
table.table-default.schedule th:first-child {
  border-right: solid 2px #fff;
}
table.table-default.schedule td {
  padding: 10px 0;
  text-align: center;
  background: #f5f5f5;
  border-bottom: solid 2px #fff;
  border-right: none;
}

/* 横組みのテーブル */
table.table-parallel {
  width: 100%;
}
table.table-parallel thead {
  background: #ddf1fb;
  border-bottom: solid 2px #fff;
}
table.table-parallel thead th {
  border-right: solid 2px #fff;
  padding: 15px;
  background: #dff0f8;
}
table.table-parallel thead th:last-child {
  border-right: none;
}
table.table-parallel th {
  padding: 15px;
  border-bottom: solid 2px #fff;
  background: #dff0f8;
}
table.table-parallel td {
  padding: 15px;
  border-left: solid 2px #fff;
  border-bottom: solid 2px #fff;
  background: #f5f5f5;
}

/* プログラムのテーブル */
table.table-program {
  width: 100%;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6em;
  text-align: center;
  border-bottom: solid 2px #fff;
}
table.table-program thead {
  background: #fff;
}
table.table-program thead th {
  padding: 8px 15px;
  text-align: center;
  background: #55beeb;
  border: solid 2px #fff;
}
table.table-program th {
  padding: 8px 15px;
  white-space: nowrap;
  background: #55beeb;
  color: #fff;
  border-right: solid 2px #fff;
  border-left: solid 2px #fff;
  border-bottom: solid 2px #fff;
}
table.table-program td {
  padding: 8px;
  border-left: solid 2px #fff;
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
}

/* サイドナビのテーブル */
table.table-sidenav {
  margin-bottom: 20px;
  width: 100%;
}
table.table-sidenav thead th {
  padding: 0;
  font-size: 1.2rem;
  font-weight: 400;
  color: #fff;
  background: #676767;
  border-bottom: solid 2px #fff;
}
table.table-sidenav th {
  padding: 5px 0 ;
  font-weight: 400;
  background: url("/img/common/line/line-dotted.png") repeat-x scroll left bottom rgba(0, 0, 0, 0);
}
table.table-sidenav td {
  background: url("/img/common/line/line-dotted.png") repeat-x scroll left bottom rgba(0, 0, 0, 0);
}
 
/* テーブルのモジュール */
table th.text-left,
table td.text-left {
  text-align: left;
}
table th.text-right,
table td.text-right {
  text-align: right;
}
table .bgnone {
  background-color: #fff !important;
  border-top: none !important;
  border-left: none !important;
  border-bottom: solid 2px #fff;
}
table .grey {
  background-color: #f5f5f5;
}
table .darkgrey {
  background-color: #7b7b7b;
}
table .darkblue {
  background-color: #dff0f8;
}
table .blue {
  background-color: #eef8fd;
}
table .pink {
  background-color: #ffeff5;
}
table .green {
  background-color: #f4f9d6;
}
table .yellow {
  background-color: #fff7e1;
}
.col10 { width: 10%; }
.col15 { width: 15%; }
.col19 { width: 19%; }
.col20 { width: 20%; }
.col25 { width: 25%; }
.col28 { width: 28%; }
.col30 { width: 30%; }
.col35 { width: 35%; }
table th.border,table td.border {
  border-right: solid 2px #fff;
}
table.schedule th.title_01 {
  width: 35%;
}

/* 画像
--------------------------------- */
img.photo {
  margin-bottom: 20px;
  border: solid 1px #e6e6e6;
}
img.notice {
  border: solid 1px #20b1e7 !important;
}
.photoset img {
  margin-bottom: 10px;
  border: solid 1px #e6e6e6;
}
.photoset p {
  line-height: 1.6em;
}
.photoset p.sub-head {
  margin-bottom: 20px;
}
.pull-left {
  margin: 0 28px 20px 0;
}
img.align-right {
  margin:0 0 20px 28px;
}
img.align-bottom {
  margin: 0 15px 0 15px;
  vertical-align: bottom;
}
img.img-half {
  width: 100%;
}

/* フローのボックス
--------------------------------- */
.flow .arrow img {
  margin: -10px auto 10px;
  display: block;
}
ul.flow {
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}
ul.flow li {
  padding-bottom: 10px;
  margin-bottom: 20px;
  background: url(/img/common/icons/arrow_flow.png) no-repeat bottom;
}
ul.flow li p.step {
  margin-top: 10px;
  padding-bottom: 10px;
}
ul.flow li hr.dotted-line {
  margin-bottom: 15px;
}
.last {
  padding: 0 !important;
  margin: 0 !important;
  background-image: none;
}
.last .panel-primary {
  margin: 0 0 20px 0;
}
.panel.policy {
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
}
p.tel {
  margin: 10px 0;
  padding: 2px 10px;
  display: inline-block;
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
  background-color: #fff;
}
p.tel span {
  display: block;
}

/* トピックス
--------------------------------- */
.topics-date {
  font-size: 1.2rem;
  color: #9d9d9d;
}
h1 span.topics-date {
  display: table-cell;
  vertical-align: middle;
  padding: 0 0 5px 0;
  border-left: none !important;
  font-size: 1.2rem;
  color: #787878;
}
h1 span.topics-date .label-topics {
  display: inline-table;
  vertical-align: text-top;
  padding: 3px 0;
  border-left: none !important;
}

/* 吹き出し
--------------------------------- */
ol.step {
  margin: 0 0 30px 0;
  padding: 0;
  width: 100%;
  list-style: none;
}
ol.step li {
  margin: 0 16px 0 0;
  float: left;
}
.arrow_box {
  padding: 10px;
  position: relative;
  text-align: center;
  width: 32%;
  height: auto;
  color: #2f2f2f;
  background-color: #dff0f8;
}
.arrow_box.active {
  font-weight: 700;
  color: #fff;
  background-color: #55bdeb;
}
.arrow_box span {
  margin: 0 5px 0 0;
  font-weight: 700;
}
.arrow_box.last {
  padding: 10px !important;
  margin: 0;
}
.arrow_box:after {
  content: ' ';
  height: 0;
  position: absolute;
  width: 0;
  border: 8px solid transparent;
  border-left-color: #dff0f8;
  left: 100%;
  top: 32%;
}
.arrow_box.last:after {
  content: ' ';
  height: 0;
  position: absolute;
  width: 0;
  border: none;
  left: 100%;
  top: 10px;
}
.arrow_box.active:after {
  border-left-color: #55bdeb;
}

/* マージン、パディング
--------------------------------- */
.mt0 {
  margin-top: 0 !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.pb0 {
  padding-bottom: 0 !important;
}

/* メインビジュアル背景
--------------------------------- */
.main-visual-clinic-policy { background-color: #e7f3fb;}
.main-visual-clinic-greeting { background-color: #fffff2;}
.main-visual-clinic-staff { background-color: #deeaf6;}
.main-visual-clinic-recommend { background-color: #f1f1f1;}
.main-visual-shinryo-care { background-color: #f1f1f1;}
.main-visual-shinryo-schedule { background-color: #fffcf4;}
.main-visual-shinryo-flow { background-color: #f1f1f1;}
.main-visual-shinryo-facilities { background-color: #f9f6f4;}
.main-visual-shinryo-access { background-color: #e3f3fb;}
.main-visual-mentalhealth_support-rework { background-color: #f3f3f3;}
.main-visual-mentalhealth_support-rework_flow { background-color: #f3f3f3;}
.main-visual-mentalhealth_support-cbt { background-color: #f3f3f3;}
.main-visual-faq { background-color: #f1f1f1;}
.main-visual-titleonly { background-color: #f3f3f3;}

@media (max-width: 647px) { /* スマートフォンの解像度の場合 */
/*
  ruby {
    height: 1.9em;
    vertical-align: bottom;
  }

  h1 ruby {
    height: 1.7em;
  }
*/
  /* title1 */
  .title1 {
    margin-bottom: 15px;
  }

  /* コピー */
  .copy { font-size: 16px; font-size: 1.6rem;}
  
  /* テーブルの項目を横並びから縦並びにする */
  .table-responsive {
    border: none;
    margin-bottom: 20px;
    overflow-x: scroll;
    overflow-y: hidden;
    width: 100%;
  }
  .table-responsive thead,
  .table-responsive tbody,
  .table-responsive th,
  .table-responsive td,
  .table-responsive tr {
    display: block;
    width: 100% !important;
  }
  .table-responsive th {
    border-top:solid 2px #fff;
    border-bottom: none !important;
  } 
  .table-responsive thead {
    display: none;
  }
  .table-responsive tbody tr td {
    border: none;
    text-align: left;
  }
  .table-responsive tbody tr td:before {
    padding-right: 10px;
    white-space: nowrap;
  }
  .table-responsive2 thead,
  .table-responsive2 tbody,
  .table-responsive2 th,
  .table-responsive2 td,
  .table-responsive2 tr {
    display: block;
  }
  .table-responsive2 thead {
    display: none;
  }
  .table-responsive2 th {
    text-align: center;
    border-right: none !important;
    border-left: none !important;
  }
  .table-responsive2 tbody tr td {
    border: none;
    border-bottom: 2px solid #fff;
    position: relative;
    padding-left: 20%;
    text-align: left;
  }
  br.brnone{
     display: none;
  }
  .table-responsive2 tbody tr td:before {
    color: #55beeb;
    font-weight: 700;
    position: absolute;
    top: 6px;
    left: 6px;
    width: 45%;
    padding-right: 10px;
    white-space: nowrap;
  }
  .table-responsive2 tbody tr td:only-of-type:before {
    content: "月～金" !important;
  }
  .table-responsive2 tbody tr td:nth-of-type(1):before {
    content: "月";
  }
  .table-responsive2 tbody tr td:nth-of-type(2):before {
    content: "火";
  }
  .table-responsive2 tbody tr td:nth-of-type(3):before {
    content: "水";
  }
  .table-responsive2 tbody tr td:nth-of-type(4):before {
    content: "木";
  }
  .table-responsive2 tbody tr td:nth-of-type(5):before {
    content: "金";
  }

  /* フルサイズ以外のレスポンシブ対応画像 */
  img.img-half {
    width: 50%;
  }

  /* 3つ並びのボックス */
  .floatbox.three-row {
    width: 100%;
    margin: 0;
    float: none;
  }

  /* ふきだし */
  ol.step {
    font-size: 11px;
    font-size: 1.1rem;
    margin: 0 0 30px 0;
    padding: 0;
    width: 100%;
    list-style: none;
  }
  ol.step li {
    margin: 0 16px 0 0;
    float: left;
  }
  .arrow_box {
    padding: 10px;
    position: relative;
    text-align: center;
    width: 29%;
    height: auto;
  }

  /* ページ内リンク */
  .pagelink li {
    display: inline-block;
    margin-bottom: 10px;
  }

  /* エリア情報 */
  .area .panel .panel-body {
  padding: 15px;
  }
  
  /* 理念のボックス */
  .panel.policy {
  text-align: left;
  font-size: 14px;
  font-size: 1.4rem;
  }
}