@charset "UTF-8";
/*mixin
----------------------------------------------------*/
.h_top-c .h_top-medal img, .h_top-telbtn ul li img, #mainimage p img, .ttl_img img, .img01, .top_kuchikomi img, .top_kiteyokatta img, .nayami_img img, .tokutyou_img img, .shisei_img img, .media_img img, .campaign_img img, .cause_conts01 img, .cause_conts03-img img, .voice_img img, .contact_telnum img, .merit_img img, .recommend_img img, .line_conts-img img, .line_conts-btn img, .side_logo img, #pagetop p img, .common_contact img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*基本設定
----------------------------------------------------*/
body {
  margin: 0;
  padding: 0;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", sans-serif;
  color: #3f1f00;
  line-height: 1.8;
  font-size: 15px;
  -webkit-text-size-adjust: 100%;
  position: relative;
}

html {
  overflow-y: scroll;
}

a {
  color: #ff8102;
  text-decoration: underline;
}

a:hover {
  color: #ff8102;
  text-decoration: none;
  opacity: 0.8;
}

img {
  border: 0;
}

h1, h2, h3, h4, h5, p {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

ul, li, dl, dt, dd {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

table {
  width: 100%;
  border: 0;
}

figure {
  margin: 0;
  padding: 0;
  line-height: 0;
}

.clear {
  clear: both;
}

.bold {
  font-weight: bold;
}

.fix {
  min-height: 1px;
}

.fix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

* html .fix {
  height: 1px;
  /*\*/
  /*/
height: auto;
overflow: hidden;
/**/
}

.red {
  color: #f73609;
}

.img01 {
  line-height: 0;
}

.img01 img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.img02 img{
  width: auto;
  max-width: 100%;
  height: auto;
}

.img_f-l {
  float: left;
  margin-right: 30px;
  margin-bottom: 15px;
}

.img_f-l img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.img_f-r {
  float: right;
  margin-left: 30px;
  margin-bottom: 15px;
}

.img_f-r img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.strong01 {
  font-weight: bold;
  text-decoration: underline;
}

.strong02 {
  color: #ff3508;
  font-weight: bold;
}

.strong03 {
  font-size: 1.2em;
  color: #f1201a;
  font-weight: bold;
}

.strong04 {
  text-decoration: underline;
}

.strong05 {
  font-size: 1.2em;
  font-weight: bold;
}

.strong06 {
  font-size: 1.2em;
  font-weight: bold;
  text-decoration: underline;
}

.strong07 {
  font-size: 1.4em;
  font-weight: bold;
  text-decoration: underline;
  color: #fda717;
}

.mt0 {
  margin-top: 0 !important;
}

.mt20 {
  margin-top: 20px;
}

.mb0 {
  margin-bottom: 0 !important;
}

.br{
  display: block;
}

/*header
----------------------------------------------------*/
#header {
  position: relative;
  z-index: 3;
  padding-bottom: 30px;
}

.h_wrap {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  position: relative;
}

.h_h1-t {
  width: 100%;
  border-bottom: 3px solid #fda717;
  padding: 10px 0;
  line-height: 1;
  margin-bottom: 30px;
}

.h_h1-t h1 {
  font-size: 13px;
  width: 95%;
  max-width: 1042px;
  margin: 0 auto;
}

.h_top {
  width: 95%;
  max-width: 1042px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.h_top-l {
  width: 45%;
  max-width: 350px;
}

.h_logo {
  margin-bottom: 30px;
}

.h_logo p {
  line-height: 0;
}

.h_logo p img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.h_access p {
  letter-spacing: 0.025em;
}

.h_top-c {
  margin-left: 30px;
}

.h_top-c .h_top-medal {
  margin-top: 20px;
}

.h_top-r {
  width: 55%;
  max-width: 535px;
  margin-left: 30px;
}

.h_top-telbtn {
  border-bottom: 1px dotted #b0906f;
}

.h_top-telbtn ul {
  display: flex;
  justify-content: space-between;
}

.h_top-telbtn ul li {
  margin-right: 9px;
}

.h_top-telbtn ul li:last-of-type {
  margin-right: 0;
}

.h_top-telbtn ul li img{
  width: 100%;
  max-width: 100%;
  height: auto;
}

.h_top-open {
  margin-top: 16px;
}

.h_top-open dl {
  display: flex;
  flex-wrap: wrap;
}

.h_top-open dl dt {
  width: 7em;
  font-weight: bold;
}

.h_top-open dl dd {
  width: calc(100% - 7em);
}

.h_top-open dl dd span {
  margin-left: 8px;
  color: #df2b2b;
}

/*nav
----------------------------------------------------*/
#nav {
  margin: 0 auto;
  padding: 0;
  background: #6e5437;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 4;
}

.nav_wrap {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.nav_wrap ul {
  display: flex;
  justify-content: space-between;
  border-left: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
}

.nav_wrap ul li {
  border-left: 1px solid #e8e8e8;
}

.nav_wrap ul li:first-child {
  border-left: none;
}

.nav_wrap ul li a {
  display: block;
  padding: 16px 30px;
  text-align: center;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  box-sizing: border-box;
  position: relative;
}

.nav_sp {
  display: none;
}

/*mainimage
----------------------------------------------------*/
#mainimage {
  background: url("../images/top/bg_mainiamge.png") no-repeat center center;
  background-size: cover;
  height: 100%;
  max-height: 850px;
}

#mainimage p {
  text-align: center;
  line-height: 0;
}

.mainiamge_sp {
  display: none;
}

/*main
----------------------------------------------------*/
#main {
  background: #fff8d4;
  width: 100%;
  padding: 52px 0;
  position: relative;
  display: block;
}

#conts_wrap {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}

#conts {
  width: 775px;
  background: #fff;
  padding: 32px 30px;
  box-sizing: border-box;
}

#side {
  width: 240px;
  padding: 0 0 32px;
}

.conts01 {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 32px;
  min-height: 1px;
}

.conts01:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.conts02 {
  width: 100%;
  box-sizing: border-box;
  margin-top: 1em;
  min-height: 1px;
}

.conts02:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.ttl_img {
  text-align: center;
}

.img01 {
  box-shadow: 0 0 5px #f1eee9;
}

/*top
----------------------------------------------------*/
/* 口コミ No.1 */
/* 来てよかった！ */
/* こんなお悩みはありませんか？ */
.onayami_ttl01 {
  margin-bottom: 30px;
}

.nayami_list {
  position: relative;
}

.nayami_list01 {
  padding: 0 30px;
}

.nayami_list01 li {
  background: url("../images/top/icon_check01.png") no-repeat left top;
  padding-left: 34px;
  font-size: 18px;
  font-weight: bold;
  color: #6e5437;
  margin-bottom: 1em;
}

.nayami_list01 li:last-child {
  margin-bottom: 0;
}

.nayami_img {
  position: absolute;
  right: 2.5%;
  top: 0;
}

/* ３つの特徴 */
.tokutyou_conts {
  border: 6px solid #7dbe2b;
  background: #7dbe2b;
  box-sizing: border-box;
  border-radius: 10px;
  margin-top: 30px;
  box-shadow: 4px 4px 13px rgba(0, 0, 0, 0.15);
}

.tokutyou_conts:last-of-type {
  margin-bottom: 60px;
}

.tokutyou_ttl {
  background: #7dbe2b no-repeat 30px 12px;
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  padding: 19px 32px;
  padding-left: 140px;
  box-sizing: border-box;
  line-height: 1.5;
  min-height: 120px;
}

.tokutyou_ttl01 {
  background-image: url("../images/top/tokutyou01.png");
}

.tokutyou_ttl02 {
  background-image: url("../images/top/tokutyou02.png");
}

.tokutyou_ttl03 {
  background-image: url("../images/top/tokutyou03.png");
}

.tokutyou_text {
  padding-top: 24px;
  padding-bottom: 24px;
  background: #fff;
}

.tokutyou_img {
  text-align: center;
}

.tokutyou_img img {
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.09);
}

/* 正しい姿勢などの講演をしています！ */
.shisei_img {
  text-align: center;
  margin-top: 30px;
}

/* 医師から当院の技術を推薦！ */
.suisen_conts{
  position: relative;
}

.suisen_ttl{
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin-top: -140px;
}

.suisen_conts-wrap{
  background: #fff8d4;
  box-sizing: border-box;
  padding: 72px 32px 32px;

  display: flex;
  justify-content: space-between;
  margin-top: 172px;
}

.suisen_mainttl{
  text-align: center;
}

.suisen_mainttl img{
  width: auto;
  max-width: 100%;
  height: auto;
}

.suisen_img-main img{
  width: auto;
  max-width: 100%;
  height: auto;

  box-shadow: 0 0 5px #f1eee9;
}

.suisen_img{
  width: 194px;
}

.suisen_img-info{
  width: 100%;
  max-width: 194px;
  background: #fff;
  padding: 24px 12px;
  box-sizing: border-box;
  margin-top: 20px;
  text-align: center;
}

.suisen_img-info p{
  line-height: 1.2;
}

.suisen_img-info01{
  border-bottom: 1px solid #e0d9d1;
  margin-bottom: 12px;
  padding-bottom: 12px;
}

.suisen_img-info02{
  font-weight: bold;
}

.suisen_text{
  width: calc(100% - 194px);
  margin-left: 24px;
}

.suisen_text-ttl{
  font-size: 26px;
  font-weight: bold;
  color: #6e5437;
  line-height: 1.5;
  padding-bottom: 6px;
  border-bottom: 2px dashed #d1c69d;
  margin-bottom: 16px;
  text-align: left;
  letter-spacing: 0.05em;
}

.suisen_text-textarea p{
  font-size: 18px;

}

/* 実績 */
.achievement p{
  margin-bottom: 1em;
}

/* メディア掲載 */
.media_img {
  text-align: center;
}

/* キャンペーン実施中 */
.campaign_img {
  text-align: center;
}

/* ご存知でしたか？ */
.cause_conts01 {
  text-align: center;
}

.cause_conts02 {
  border: 6px solid #ff6c03;
  border-radius: 10px;
  box-sizing: border-box;
  margin-top: 60px;
}

.cause_ttl01 {
  background: #ff6c03;
  width: 100%;
  margin: 0 auto;
  padding: 12px 170px 12px 40px;
  box-sizing: border-box;
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.025em;
  position: relative;
}

.cause_ttl01:after {
  content: "";
  display: block;
  width: 96px;
  height: 142px;
  background: url("../images/top/cause_ttl02.png") no-repeat left top;
  background-size: contain;
  position: absolute;
  right: 55px;
  top: -72px;
}

.cause_conts02-text {
  background: #fff;
  box-sizing: border-box;
  padding: 32px;
}

.cause_conts03 {
  margin-top: 40px;
}

.cause_conts03-img {
  text-align: center;
}

/* なぜ、こんなにも症状が根本改善するのか？ */
.kaizen_conts {
  margin-top: 20px;
}

.kaizen_conts p {
  margin-bottom: 1em;
}

.kaizen_conts p:last-of-type {
  margin-bottom: 0;
}

/* ７つの理由 */
.select_ttl {
  box-sizing: border-box;
  padding: 24px 24px 16px 130px;
  border-radius: 10px;
  background: #fffbed no-repeat 30px 16px;
  min-height: 116px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  color: #6e5437;
}

.select_conts {
  margin-top: 20px;
  clear: both;
}

.select_conts:first-of-type {
  margin-top: 0;
}

.select_ttl01 {
  background-image: url("../images/top/select_ttl01.png");
}

.select_ttl02 {
  background-image: url("../images/top/select_ttl02.png");
}

.select_ttl03 {
  background-image: url("../images/top/select_ttl03.png");
}

.select_ttl04 {
  background-image: url("../images/top/select_ttl04.png");
}

.select_ttl05 {
  background-image: url("../images/top/select_ttl05.png");
}

.select_ttl06 {
  background-image: url("../images/top/select_ttl06.png");
}

.select_ttl07 {
  background-image: url("../images/top/select_ttl07.png");
}

.select_text {
  margin-top: 24px;
}

/* 患者様の声 */
.voice_conts {
  margin-top: 40px;
}

.voice_conts:first-of-type {
  margin-top: 0;
}

.voice_ttl01 {
  background: #fda717;
  border-radius: 10px;
  padding: 28px 30px;
  box-sizing: border-box;
  line-height: 1.5;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  position: relative;
  margin-bottom: 40px;
}

.voice_ttl01 span {
  display: block;
  width: 100%;
  border-top: 1px dotted #fff;
  padding-top: 8px;
  margin-top: 8px;
  font-size: 17px;
  font-weight: bold;
}

.voice_ttl01:after {
  content: "";
  display: block;
  border: 30px solid transparent;
  border-top: 20px solid #fda717;
  position: absolute;
  bottom: -50px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
}

.voice_img {
  text-align: center;
  margin-bottom: 1em;
}

.voice_img img {
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.09);
}

.voice_text {
  padding: 24px 26px;
  box-sizing: border-box;
  background: #fffbed;
}

.voice_text p {
  margin-bottom: 1em;
}

.voice_text p:last-of-type {
  margin-bottom: 0;
}

.voice_text p.voice_memo {
  text-align: right;
  font-size: 12px;
}

.voice_btn {
  margin-top: 30px;
}

.voice_btn p a {
  width: 100%;
  max-width: 340px;
  background: linear-gradient(to bottom, #ffb12b 0%, #e38800 100%);
  color: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  padding: 30px 20px;
  box-sizing: border-box;
  border-radius: 8px;
  line-height: 1;
  margin: 0 auto;
}

.voice_btn p a span {
  vertical-align: middle;
  margin-left: 12px;
}

/* コンテンツ内　お問い合わせ
----------------------------------------------------*/
.contact_ttl {
  line-height: 0;
  text-align: center;
}

.contact_ttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.contact_conts {
  width: 100%;
  border: 2px solid #ff8102;
  padding: 33px;
  box-sizing: border-box;
  border-radius: 10px;
  background: #fff8d4;
}

.contact_telnum {
  text-align: center;
}

.contact_btn-conts {
  margin-bottom: 15px;
}

.contact_btn-conts:last-of-type {
  margin-bottom: 0;
}

.contact_btn-tel p a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: linear-gradient(to bottom, #ff852e 0%, #f24900 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  box-shadow: 4px 4px 3px rgba(0, 0, 0, 0.2);
  padding: 20px;
  box-sizing: border-box;
  border-radius: 4px;
}

.contact_btn-tel p a img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.contact_btn-mail p a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  width: 100%;
  background: linear-gradient(to bottom, #ffd84c 0%, #e8ae00 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.19);
  padding: 20px;
  box-sizing: border-box;
  border-radius: 4px;
}

.contact_btn-mail p a img {
  margin-right: 15px;
}

.contact_open {
  border-top: 2px dotted #fdab21;
  border-bottom: 2px dotted #fdab21;
  margin: 24px auto;
  padding: 20px 16px;
  display: flex;
  justify-content: space-between;
}

.contact_open-info dl {
  display: flex;
  align-items: flex-start;
}

.contact_open-info dl dt {
  width: 5em;
  background: #fff;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
  padding: 4px;
  display: inline-table;
  margin-right: 8px;
  text-align: center;
}

.contact_open-info dl dd {
  width: calc(100% - 5em);
  padding: 4px;
}

.contact_closed-info dl {
  display: flex;
}

.contact_closed-info dl dt {
  width: 5em;
  background: #fff;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
  padding: 4px;
  display: inline-table;
  margin-right: 8px;
  text-align: center;
}

.contact_closed-info dl dd {
  width: calc(100% - 5em);
  padding: 4px;
}

.contact_open-tbl01 {
  background: #fffef7;
  box-sizing: border-box;
  border: 2px solid #391902;
  padding: 9px;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  display: block;
}

.contact_open-tbl01 tbody {
  display: block;
}

.contact_open-tbl01 tbody tr {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #391902;
}

.contact_open-tbl01 tbody tr:last-of-type {
  border-bottom: none;
}

.contact_open-tbl01 tbody tr th {
  width: calc(100%/9);
  text-align: center;
  border-right: 1px solid #391902;
}

.contact_open-tbl01 tbody tr th:first-of-type {
  width: 200px;
}

.contact_open-tbl01 tbody tr th:last-of-type {
  border-right: none;
}

.contact_open-tbl01 tbody tr td {
  width: calc(100%/9);
  text-align: center;
  border-right: 1px solid #391902;
}

.contact_open-tbl01 tbody tr td:first-of-type {
  width: 200px;
}

.contact_open-tbl01 tbody tr td:last-of-type {
  border-right: none;
}

.contact_access-info {
  display: flex;
  margin-bottom: 12px;
}

.contact_access-info dt {
  background: #faf5d7;
  padding: 7px;
  font-size: 14px;
  font-weight: bold;
  color: #391902;
  line-height: 1;
  width: 100%;
  max-width: 83px;
  height: 100%;
  max-height: 27px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contact_access-info dd {
  width: calc(100% - 98px);
  margin-left: 15px;
  color: #391902;
}

.contact_btn {
  margin-bottom: 26px;
}

.contact_access-map {
  line-height: 0;
  margin-bottom: 10px;
}

.contact_access-map iframe {
  width: 100%;
  height: 100%;
  min-height: 400px;
}

/* 当院のメリット */
.merit_img {
  text-align: center;
}

/* 推薦の声 */
.recommend_conts {
  border-top: 13px solid #6e5437;
  border-radius: 10px 10px 0 0;
  background: #fffbed;
  box-sizing: border-box;
  padding: 24px 36px;
  margin-top: 40px;
}

.recommend_conts:first-of-type {
  margin-top: 0;
}

.recommend_ttl {
  position: relative;
  margin-top: 40px;
  min-height: 120px;
}

.recommend_ttl01 {
  font-size: 22px;
  font-weight: bold;
  color: #6e5437;
  line-height: 1.5;
  padding-bottom: 12px;
  padding-left: 100px;
  padding-right: 12px;
  border-bottom: 2px dashed #d1c69d;
}

.recommned_medal {
  position: absolute;
  left: -30px;
  top: -25px;
}

.recommend_img img {
  box-shadow: 0 0 5px #f1eee9;
  margin-bottom: 20px;
}

.recommend_info {
  width: 100%;
  max-width: 194px;
  background: #fff;
  padding: 24px 12px;
  box-sizing: border-box;
}

.recommend_info p {
  line-height: 1;
  text-align: center;
}

.recommend_info .recommend_info-company {
  border-bottom: 1px solid #e0d9d1;
  margin-bottom: 12px;
  padding-bottom: 12px;
  line-height: 1.2;
}

.recommend_info .recommend_info-name {
  font-weight: bold;
}

.recommend_text p {
  margin-bottom: 1em;
}

.recommend_text p:last-of-type {
  margin-bottom: 0;
}

/* 院長ごあいさつ */
.greeting_img img {
  box-shadow: 0 0 5px #f1eee9;
  margin-bottom: 20px;
}

.greeting_profile {
  width: 100%;
  max-width: 226px;
  padding: 24px 22px;
  box-sizing: border-box;
  background: #fdf4d0;
}

.greeting_profile p {
  line-height: 1;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}

.greeting_profile .gretting_company {
  border-bottom: 1px solid #decab4;
  margin-bottom: 12px;
  padding-bottom: 12px;
}

.greeting_profile .greeting_name {
  font-weight: bold;
  font-size: 19px;
}

.greeting_profile .greeting_name span {
  font-size: 15px;
  margin-right: 4px;
}

.greeting_conts p {
  margin-bottom: 1em;
}

.greeting_conts p:last-of-type {
  margin-bottom: 0;
}

/* line@予約 */
.line_conts {
  position: relative;
}

.line_conts-img {
  text-align: center;
  position: relative;
}

.line_conts-btn {
  position: absolute;
  top: 46%;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
}

.ttl_img {
  text-align: center;
}

/* 最後に... */
.last_conts {
  margin-bottom: 30px;
}

.last_conts:last-of-type {
  margin-bottom: 0;
}

.last_conts p {
  margin-bottom: 1em;
}

.last_conts p:last-of-type {
  margin-bottom: 0;
}

.last_ttl01 {
  margin-bottom: 15px;
  line-height: 1.5;
}

.last_ttl01 span {
  font-size: 24px;
  font-weight: bold;
  color: #ff3508;
  border-bottom: 2px solid;
  line-height: 1;
}

.last_img {
  text-align: center;
}

.last_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*サイドバー
----------------------------------------------------*/
.side_campaign {
  position: relative;
  margin-bottom: 10px;
}

.side_campaign-img {
  position: relative;
  line-height: 0;
}

.side_campaign-text {
  position: absolute;
  top: 80px;
  left: 33px;
  font-size: 16px;
  font-weight: bold;
  color: #391902;
  line-height: 1.25;
}

.side_campaign-text span {
  display: block;
  background: linear-gradient(transparent 60%, #f2f461 60%);
}

.side_bnr01,
.side_bnr02 {
  margin-bottom: 20px;
}

.side_bnr01 p,
.side_bnr02 p {
  margin-bottom: 10px;
  line-height: 0;
}

.side_bnr01 p:last-of-type,
.side_bnr02 p:last-of-type {
  margin-bottom: 0;
}

.side_menu {
  margin-bottom: 20px;
  box-sizing: border-box;
  border: 4px solid #fda717;
  border-radius: 8px;
}

.side_ttl {
  font-size: 17px;
  font-weight: bold;
  color: #fff;
  padding: 16px 8px;
  box-sizing: border-box;
  text-align: center;
  border-radius: 4px 4px 0 0;
  line-height: 1;
}

.side_ttl-first,
.side_ttl-about,
.side_ttl-case {
  background: #fda717;
}

.side_menu-conts {
  box-sizing: border-box;
  padding: 10px;
  border-radius: 0 0 4px 4px;
  background: #fff;
}

.side_menu-conts li {
  border-bottom: 1px dotted #fdb946;
  padding-bottom: 6px;
  margin-bottom: 6px;
  text-align: center;
  position: relative;
}

.side_menu-conts li a {
  color: #3f1f00;
  text-decoration: none;
}

.side_menu-conts li:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.side_info {
  width: 100%;
  box-sizing: border-box;
  border: 2px solid #ff8102;
  border-radius: 10px;
  background: #fff;
  padding-bottom: 36px;
}

.side_info-ttl {
  text-align: center;
  margin-bottom: 8px;
  background: #ff8102;
  box-sizing: border-box;
  padding: 16px 8px;
  text-align: center;
  border-radius: 7px 7px 0 0;
  font-size: 17px;
  font-weight: bold;
  color: #fff;
}

.side_info-address {
  margin: 20px auto;
}

.side_logo {
  text-align: center;
}

.side_info-list01 {
  text-align: left;
}

.side_info-list01 dt,
.side_info-list01 dd {
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}

.side_info-list01 dt {
  background: url("../images/common/./side_info-icon01.png") no-repeat left 5px;
  padding-left: 10px;
  margin-bottom: 4px;
  font-weight: bold;
}

.side_info-contact {
  border-top: 1px dotted #373737;
  margin: 20px auto 20px;
  padding: 15px 0 0;
  width: calc(100% - 30px);
  box-sizing: border-box;
}

.side_contact-tel {
  text-align: center;
  line-height: 0;
  margin-bottom: 15px;
}

.side_contact-btn {
  text-align: center;
  line-height: 0;
  box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.19);
  border-radius: 8px;
}

.side_conts01 {
  margin: 0 15px 20px;
}

.side_conts01 img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.side_conts01:last-of-type {
  margin-bottom: 0;
}

.side_info-map {
  margin: 15px auto 0;
}

.side_info-map iframe {
  width: 100%;
  height: auto;
}

.side_ttl01 {
  border-top: 1px solid #9c8b78;
  border-bottom: 1px solid #9c8b78;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: bold;
  color: #3f1f00;
  padding: 10px 0;
}

.side_conts01 p {
  font-size: 13px;
  text-align: center;
  margin-bottom: 1em;
}

.side_conts01 p:last-of-type {
  margin-bottom: 0;
}

/*ページトップ
----------------------------------------------------*/
#pagetop {
  position: absolute;
  bottom: -60px;
  right: 2.5%;
  margin: 0 0 0 auto;
  z-index: 9998;
  width: 100px;
  height: 100px;
}

#pagetop p {
  line-height: 0;
}

#pagetop p img {
  line-height: 0;
}

/*お問い合わせコンテンツ
----------------------------------------------------*/
.common_contact {
  background: url("../images/common/bg_contact.png") repeat left top;
  line-height: 0;
  text-align: center;
  padding: 50px 0 60px;
}

.common_contact-pc {
  display: block;
}

.common_contact-sp,
.sp_btm {
  display: none;
}

/*footer
----------------------------------------------------*/
#footer {
  width: 100%;
  background: #fff;
  max-width: 1040px;
  margin: 40px auto;
}

.f_menu ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.f_menu ul li:first-child:before {
  content: "|";
  margin: 0 12px 0 0;
}

.f_menu ul li:after {
  content: "|";
  margin: 0 12px;
}

.f_menu ul li a {
  color: inherit;
  text-decoration: none;
}

.f_menu ul li a:hover {
  text-decoration: underline;
}

.f_info {
  display: flex;
  justify-content: center;
  margin: 50px auto 30px;
  padding: 25px 0;
  border-top: 1px solid #3f1f00;
  border-bottom: 1px solid #3f1f00;
}

.f_info-logo,
.f_info-tel,
.f_info-address,
.f_info-access {
  font-size: 13px;
  margin: 0 8px;
}

.f_info-logo {
  font-weight: bold;
}

.f_copy {
  font-size: 13px;
  text-align: center;
  margin-bottom: 32px;
}
