@charset "UTF-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, footer, header, hgroup, menu, nav, section{
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}



article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}



table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}


.cf::after{
  content: "";
  clear: both;
  display: block;
}
*{
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  /*user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;*/
}
select, input, textarea{
  user-select: auto;
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  -o-user-select: auto;
}
li{
  list-style: none;
}
img{
  max-width: 100%;
  vertical-align: middle;
}

a{
  color: #000;
  text-decoration: none;
}
body{
  font-family: "Noto Sans Japanese", "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  color: #000;
  width: 100%;
  font-size: 14px;
  overflow-x: hidden;
  line-height: 2;
}

strong{
  font-size: large;
}
small {
  font-size: 60%;
}

.center{
  text-align: center !important;
}
.t_left{
  text-align: left !important;
}
.t_right{
  text-align: right !important;
}
.f_left{
  float: left !important;
}
.f_right{
  float: right !important;
}
.mb_20{
  margin-bottom: 20px !important;
}
.mb_30{
  margin-bottom: 30px !important;
}
.mb_40{
  margin-bottom: 40px !important;
}
.mb_50{
  margin-bottom:50px !important;
}
.mb_60{
  margin-bottom:60px !important;
}
.mb_80{
  margin-bottom: 80px !important;
}


.bold{
  font-weight: bold;
}
.no_margin{
  margin: 0 !important;
}

.col_8{width: 80%;}
.col_2{width: 20%;}

.col_7{width: 70%;}
.col_3{width: 30%;}

.col_6{width: 60%;}
.col_4{width: 40%;}

.col_5{width: 50%;}

a:hover {
  opacity: .8;
}

h1, h2, h3, h4, h5{
  font-weight: normal;
}

p.btn {
  display: inline-block;
}

.btn a{
  display: block;
  border-radius: 5px;
  padding: 3px 80px;
  color: #19623B;
  background:#fff;
}

.red_txt{
  color: #D0121B;
}
.gray_txt{
  color: #898989;
}
section {
  position: relative;
  width: 100%;
}


/*====================================================================
common
====================================================================*/

#wrapper {
  position: relative;
  padding-top: 160px;
}

#wrapper.page{
  padding-top: 200px;
}

.inner {
  width: 960px;
  margin: 0 auto;
}


table.tb01{
  border: 1px solid #C7C9BE;
  border-collapse: collapse;
  width: 100%;
}
table.tb01 th{
  word-wrap: break-word;
}

table.tb01 th, table.tb01 td{
  vertical-align: middle;
  text-align: center;
  font-weight: normal;
  font-size: 14px;
  padding:5px 10px;
  border: 1px solid #C7C9BE;
}
table.tb01 tr:first-child th{
  padding:2px 10px;
}

table.tb01 td.small{
  line-height: 1;
  font-size: 7px;
  padding: 5px 0;
}

.flex_box{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
}

/*====================================================================
nav
====================================================================*/
.nav{
  background: #fff;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  width: 100%;
  z-index: 100;
  padding: 20px 0;
  position: fixed;
}


.nav .inner{
  width: 960px;
  margin: 0 auto;
  position: relative;
}


.nav h1{
  position: absolute;
  left: 20px;
  top: 0px;
}
.nav h2.sub_title {
  margin-left: 160px;
  margin-bottom: 20px;
}


#nav_link, #nav_link_sub{
  margin-left: 160px;
}
#nav_link_sub{
  margin-top: 10px;
}
#nav_link li, #nav_link_sub li {
  float: left;
  text-align: center;
}

#nav_link li a, #nav_link_sub li a {
  display: block;
  padding: 8px 14px;
  border-left:1px solid #000;
}
#nav_link_sub li a {
  padding: 0px 14px;
  border-left:1px solid #ccc;
}

#nav_link li.active a {
  background: #F1E0D1;
}

#nav_link li:last-child a{
  border-right:1px solid #000;
}
#nav_link_sub li:last-child a {
  border-right:1px solid #ccc;
}




#nav_link_sub{
  font-size: 10px;
}





.sub_nav {
  position: absolute;
  right: -20px;
  top: 0px;
}
.sub_nav li{
  display: inline-block;
  margin-right: 5px;
}
.sub_nav li a {
  display: block;
  padding: 5px 14px;
  border:1px solid #000;
  font-size: 14px;
}
.sub_nav li.active a {
  background: #F1E0D1;
}
/*====================================================================
header
====================================================================*/

.slide {
  width: 960px;
  margin: 0 auto;
  height: 307px;
  position: relative;
}


/*====================================================================
footer
====================================================================*/
.footer_contents{
  width: 960px;
  margin: 0 auto;
}
.footer_contents .inner{
  width: 960px;
  margin: 0 auto;
  padding: 40px 0 20px 0;
  margin: 0 auto;
  text-align: center;
}
.footer_contents li{
  display: inline-block;
  font-size: 10px;
  margin-right: 10px;
}
.footer_contents li:nth-child(2n){
  border-left: 1px solid #000;
  border-right: 1px solid #000;
}
.footer_contents li a{
  padding: 0 10px;
}

.footer_contents li:last-child{
  font-size: 7px;
  margin-right: 0px;
}
#page_top{
  float: right;
  text-align: center;
  margin: 50px 0;
}
#page_top span{
  font-size: 7px;
}
/*====================================================================
- index/page
====================================================================*/
.content{
  width: 960px;
  margin: 0 auto;
  padding: 20px 40px;
}
.page .content{
  width: 960px;
  margin: 0 auto;
  padding: 20px 0px;
}
h2.tit01{
  color: #A45E3E;
  font-size: 20px;
  margin-bottom: 20px;
}
h2.tit02{
  font-size: 14px;
  margin: 25px 0;
  padding-bottom: 5px;
  border-bottom: 1px solid #A45E3E;
  color: #A45E3E;
}

h3{
  color: #231815;
  font-size: 18px;
  margin-bottom: 15px;
  padding-top: 10px;
}


h3.cat_title{
  font-size: 22px;
  margin-bottom: 35px;
}


h4.h_name{
  font-size: 16px;
}




.index_cont div.cont_l{
  width: 45%;
  float: left;
}
.index_cont div.cont_r{
  width: 50%;
  float: right;
}
p.tel{
  font-size: 27px;
}

ul.links{
  margin-left:20px;
  border-top: 1px solid #000;
}

ul.links li{
  padding: 10px 0px;
  border-bottom: 1px solid #000;
  overflow: hidden;
}
ul.links li div:first-child{
  margin-right: 20px;
  float: left;
}
ul.links li div{
  overflow: hidden;
}
ul.links li h4{
  font-size: 18px;
  line-height: 1;
}
ul.links li h5{
  font-size: 13px;
}
ul.links li p{
  font-size: 20px;
  line-height: .9;
  padding-top: 5px;
}

.top_note {
	margin: 15px 0 10px;
}

.top_note h4 {
	margin: 0 0 5px;
	font-size: 16px;
	font-weight: bold;
}

.top_note p {
	margin-right: -60px;
}

/*整形外科・内科*/
.header_title{
  background: #F1E0D1;
  padding: 5px 40px;
}
.header_title h2{
  font-size: 22px;
  line-height: 1.5;
}

.miyasita{
  margin-bottom: 5px;
  color:#ED754F;
}
.miyasita dt{
  font-size: 20px;
  display: inline-block;
}
.miyasita dd{
  font-size: 15px;
  display: inline-block;
  letter-spacing: 1px;
}
.miyasita dd:nth-child(2n){
  padding: 0 3px;
  font-size: 18px;
}
.doctor li{
  width: 31%;
  float: left;
  margin-right: 40px;
}

.doctor li p.expert{
  font-size: 11px;
  padding: 10px 0 5px 0;
}
.doctor li p.expert span{
  color: #9D9D9E;
}
.doctor li h3.name{
  font-size: 18px;
}



.doctor li h3.name span{
  font-size: 14px;
}
.facility.flex_box li{
  width: 194px;
  margin-bottom: 5px;
}

/*アクセス*/
.hos_list{
  margin-top: 80px;
}
.hos_list dt{
font-size: 16px;
  margin-bottom: 5px;
}
.hos_list dd{
  margin-bottom: 25px;
}
.hos_list dd span{
  font-size: 16px;
}
ul.place li{
  display: inline-block;
  margin-bottom: 40px;
}
ul.place li:first-child{
  margin-right: 10px;
}




/*居宅介護支援事務所*/
.page.kyotaku, .page.rihabili, .page.visit{
  background: #FFF6D2;
  width: 100%;
}
.header_title_w{
  background: #fff;
  padding: 5px 40px;
  margin-top: 10px;
}
.header_title_w h2{
  font-size: 22px;
}
.header_title_w h2 span{
  font-size: 14px;
  display: block;
}
.page.kyotaku .header_title_w{
  padding: 20px 0;
}
.re_content{
  border-bottom: 1px solid #A45E3E;
}
.re_content div.col_6, .re_content div.col_4{
  min-height: 230px;
}
.kyotaku_image01{
  position: absolute;
  right: 40px;
  top: -50px;
  z-index: 10;
}
p.soudan{
  color: #A45E3E;
  font-weight: bold;
}
ul.service_list{
  text-align: right;
}
ul.service_list li{
  display: inline-block;
}


/*通所リハビリセンター*/
.care_detail.flex_box{
  background: #fff;
  border-radius: 20px;
  padding: 40px;
}
.care_detail.flex_box div.col_4{
  padding-right: 40px;
}

.care_detail.flex_box h4{
  font-size: 16px;
  position: relative;
  padding-left: 18px;
  margin-bottom: 15px;
  line-height: 1.7;
}
.care_detail.flex_box h4:before{
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 15px;
  background: #A45E3E;
  left: 0;
  top: 7px;
}

.schedule{
  border-top:1px solid #A45E3E;
  padding: 40px 0;
}
.schedule_content{
  margin-bottom: 40px;
  position: relative;
}
.schedule_time{
  width: 198px;
  height: 468px;
  float: left;
}
.schedule_list{
  float: left;
}
.schedule_list li{
  font-size: 15px;
  padding-left: 20px;
  line-height: 1.7;
}
.schedule_list li:first-child{
  padding-top: 10px;
  margin-bottom: 50px;
}
.schedule_list li:nth-child(2n){
  margin-bottom: 27px;
}
.schedule_list li:nth-child(3n){
  margin-bottom: 17px;
}
.schedule_list li:nth-child(4n){
  margin-bottom: 17px;
}
.schedule_list li:nth-child(5n){
  margin-bottom: 19px;
}
.schedule_list li:nth-child(6n){
  margin-bottom: 27px;
}
.schedule_image{
  position: absolute;
  right: 20px;
  top: 65px;
}
.facility02.flex_box li{
  width: 156px;
  margin-bottom: 5px;
}

/*訪問リハビリテーション*/

.content.visit_area{
  border-top:1px solid #A45E3E;
  padding: 40px 0;
}
.flex_box.doc{
  justify-content: flex-start;
}
.flex_box.doc li{
  width: 140px;
  margin-right: 40px;
}
.flex_box.doc li h4{
  font-size: 16px;
  padding: 5px 0;
}
.flex_box.doc li h4 span{
  font-size: 14px;
  display: block;
}
.visit_area h3.cat_title{
  margin-bottom: 20px;
}
.flex_box.service{
  justify-content: flex-start;
  padding-top: 60px;
  margin-bottom: 60px;
}
.flex_box.service li{
  width: 195px;
  margin-right: 40px;
}
.flex_box.service li:nth-child(2n){
  width: 230px;
  margin-right: 40px;
}
.flex_box.service li h4{
  font-size: 16px;
  padding: 5px 0;
  font-weight: bold;
}

.price_area{
  background: #fff;
  border-radius: 15px;
  padding:10px 20px 40px 20px;
  width: 75%;
}

.price_area h4{
  font-size: 16px;
  position: relative;
  padding-left: 18px;
  margin-bottom: 15px;
}
.price_area h4:before{
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 15px;
  background: #A45E3E;
  left: 0;
  top: 7px;
}
div.price_txt{
  border-left: 3px solid #000;
  padding-left: 10px;
  margin-left: 60px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.7;
}
div.price_txt small{
  font-size: 11px;
  font-weight: normal;
}
div.price_txt span{
  font-size: 11px;
  border:1px solid #000;
  padding: 2px 5px;
  font-weight: normal;
}
.about_time{
  border:1px solid #000;
  display: inline-block;
  text-align: center;
  padding: 5px 60px;
  margin-left: 60px;
  margin-top:10px;
}

.rihabili_root li{
  margin-bottom: 40px;
  position: relative;
  font-size: 20px;
  font-weight: bold;
  padding-left: 48px;
  line-height: 1.6;
}
.rihabili_root li:last-child:after{
  position: inherit;
}
.rihabili_root li:after{
  content: "";
  background: url(../img/arrow.png) left center no-repeat;
  position: absolute;
  width: 14px;
  height: 18px;
  left: 9px;
  bottom: -25px;
}
.rihabili_root li.no01{
  background: url(../img/no01.png) left center no-repeat;
}
.rihabili_root li.no02{
  background: url(../img/no02.png) left center no-repeat;
}
.rihabili_root li.no03{
  background: url(../img/no03.png) left center no-repeat;
}
.rihabili_root li.no04{
  background: url(../img/no04.png) left center no-repeat;
}
.rihabili_root li.no05{
  background: url(../img/no05.png) left center no-repeat;
}
.rihabili_image{
  position: absolute;
  right: 0;
  bottom: 50px;
}

/*個人情報保護*/

#privacy h3.cat_title{
  font-size: 16px;
  margin-bottom: 15px;
}

#privacy p{
  font-size: 11px;
  margin-bottom: 15px;
}

#privacy h4{
  font-size: 12px;
  margin-bottom: 15px;
}
#privacy h5{
  font-size: 11px;
  margin-bottom: 15px;
}
#privacy h5 span{
  font-size: 14px;
  color: #A45E3E;
}
.policy{
  padding-bottom: 40px;
  border-bottom: 1px solid #231815;
}
/*====================================================================
transition
====================================================================*/

#nav_top,
#nav_link li a,
.main_nav a{
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
}

.top_modal_link {
  margin: 30px 0 0 20px;
}

.top_modal_link p {
  margin: 0 0 10px;
  padding: 0 0 0 15px;
  font-size: 14px;
  line-height: 1.4;
  position: relative;
}

.top_modal_link p::before {
  position: absolute;
  content: '';
  left: 0;
  top: 5px;
  width: 10px;
  height: 10px;
  background: #000;
}

.top_modal_link p a:hover {
  text-decoration: underline;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: .2s;
  z-index: 100;
}

.modal.open {
  opacity: 1;
  pointer-events: auto;
}

.modal_box {
  background: #fff;
  padding: 30px 40px;
  border-radius: 5px;
  display: none;
}

.modal_box.open {
  display: block;
}

.modal_box p {
  font-size: 14px;
}

.modal_outer {
  position: relative;
}

.modal_close {
  position: absolute;
  top: -60px;
  right: -65px;
  width: 60px;
  height: 50px;
  cursor: pointer;
}

.modal_close::before,
.modal_close::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 40px;
  height: 2px;
  background-color: #fff;
  transform: rotate(-45deg);
  border-radius: 1px;
}

.modal_close::after {
  transform: rotate(45deg);
}
