@charset "UTF-8";
/*
Theme Name: 八王子足改善センター®
Theme URI:https://hachioji-ashi.com
Author: Osen
Version: 1.0
Text Domain: hachioji-ashi.com
*/
/*----------------------------------------
	clearfix
----------------------------------------*/
/* all display
-------------------------------------------------- */
.wrap {
  width: 1200px;
  box-sizing: border-box;
  margin: 0 auto;
  *zoom: 1;
}
.wrap:before {
  display: inline-table;
}
.wrap:after {
  content: "";
  display: block;
  clear: both;
}

#main {
  width: 100%;
  float: left;
}

.main-inner {
  margin-right: 330px;
}

#side {
  width: 290px;
  float: left;
  margin-left: -290px;
}

.left-content #main {
  width: 100%;
  float: left;
}
.left-content .main-inner {
  margin-right: 330px;
  margin-left: 0;
}
.left-content #side {
  width: 290px;
  float: left;
  margin-left: -290px;
}

.right-content #main {
  width: 100%;
  float: left;
}
.right-content .main-inner {
  margin-left: 330px;
  margin-right: 0;
}
.right-content #side {
  width: 290px;
  float: left;
  margin-left: -100%;
}

.one-column #content .wrap {
  width: 1000px;
}
.one-column #content .wrap #main {
  width: 100%;
  float: none;
}
.one-column #content .wrap #main .main-inner {
  width: 100%;
  margin: 0;
}
.one-column #content .wrap #side {
  display: none;
}

/* ----------------------------------------
* レスポンシブ
* ~ / 1200px / 991px / 767px 
* desctop / laptop / tablet / phone
---------------------------------------- */
@media screen and (max-width: 1200px) {
  /* laptop */
  .wrap,
  .one-column #content .wrap {
    margin-left: 30px;
    margin-right: 30px;
    width: auto;
  }

  .main-inner {
    margin-right: 320px;
    box-sizing: border-box;
  }

  /* laptop end */
}
@media screen and (max-width: 991px) {
  /* tablet */
  .wrap,
  .one-column #content .wrap {
    margin-left: 20px;
    margin-right: 20px;
  }

  #main,
  .main-inner,
  #side {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .left-content #main,
  .right-content #main {
    float: none;
  }
  .left-content .main-inner,
  .right-content .main-inner {
    margin-right: 0;
    margin-left: 0;
    width: 100%;
  }
  .left-content #side,
  .right-content #side {
    width: 100%;
    float: none;
    margin: 0;
    padding: 0 5px;
  }

  /* tablet end */
}
@media screen and (max-width: 767px) {
  /* phone */
  .wrap,
  .one-column #content .wrap {
    margin-left: 0;
    margin-right: 0;
  }

  /* phone end */
}
/* ----------------------------------------
* カラースキーム
---------------------------------------- */
/* ----------------------------------------
* all
---------------------------------------- */
body {
  color: #252525;
  counter-reset: order number quality;
}

a {
  text-decoration: none;
  color: #ff8000;
}
a:hover {
  text-decoration: underline;
}
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

/* form
---------------------------------------- */
form input[type="submit"],
form button {
  background: #ff8000;
  color: #fff;
}
form input[type="submit"]:hover,
form button:hover {
  cursor: pointer;
}

/* ----------------------------------------
* content
---------------------------------------- */
#content {
  padding: 0 0 20px;
  margin-top: 20px;
  background: #fff6db;
}

@media screen and (max-width: 991px) {
  #content {
    margin-top: 0;
  }
}
.att_note {
  padding: 15px 20px;
  border: 2px solid #d8000f;
  font-size: 18px;
  font-weight: bold;
  color: #d8000f;
  background: #ffe4e6;
}

/* ----------------------------------------
* information
---------------------------------------- */
#information, #information_02 {
  max-width: 1200px;
  margin: 20px auto;
}
#information p, #information_02 p {
  padding: 10px;
  border: solid 1px #d71618;
  background-color: #fbe9e9;
  word-break: break-all;
  text-align: center;
  line-height: 1.4;
  font-size: 16px;
  overflow: hidden;
}

@media screen and (max-width: 991px) {
  #information {
    margin: 0 auto;
    padding: 60px 5px 5px;
  }
  #information p {
    font-size: 14px;
  }
}
/* ----------------------------------------
* breadcrumb
---------------------------------------- */
.breadcrumb {
  margin: 0 0 15px;
  padding-top: 15px;
  overflow: hidden;
  font-size: 12px;
}
.breadcrumb li {
  float: left;
  margin-left: 10px;
}
.breadcrumb li a {
  text-decoration: none;
}
.breadcrumb li a:hover {
  text-decoration: underline;
}

/* ----------------------------------------
* header
---------------------------------------- */
#header {
  position: relative;
  background: #fff;
}
#header .copy_sp {
  display: none;
}
#header .copy {
  height: 30px;
  line-height: 30px;
  padding: 0 10px;
  background-color: #ff8000;
  color: #fff;
  font-size: 14px;
  box-shadow: 0 3px 6px -3px rgba(0, 0, 0, 0.5);
}
#header .copy strong {
  display: block;
  max-width: 1200px;
  text-align: center;
  margin: 0 auto;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#header .wrap {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 0px 10px 20px;
}
#header .wrap > div {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  background: url('lib/images/header_photo.png?1571557020') no-repeat left top;
}
#header .wrap > div .center_box {
  width: 42%;
}
#header .wrap > div .center_box #logo {
  margin: 0 0 20px;
  text-align: center;
  position: relative;
}
#header .wrap > div .center_box p {
  margin-bottom: 10px;
  text-align: center;
}
#header .wrap > div .center_box ul li:nth-of-type(1) {
  text-align: center;
  background-color: #ff8000;
  margin-bottom: 10px;
  padding: 2px 5px;
  border-radius: 6px;
  color: #fff;
  letter-spacing: .1em;
  font-weight: bold;
  font-size: 18px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#header .wrap > div .center_box ul li:nth-of-type(2) {
  text-align: center;
  font-weight: bold;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#header .wrap > div .right_box {
  width: 36%;
}
#header .wrap > div .right_box p {
  padding: 0 10px;
  margin-bottom: 10px;
  text-align: center;
}
#header .wrap > div .right_box p:last-child {
  margin-bottom: 0;
}

#menu_navi {
  display: none;
}

@media screen and (min-width: 991px) and (max-width: 1100px) {
  #header .wrap > div {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    background: none;
  }
  #header .wrap > div div {
    margin: 0 20px;
  }
}
@media screen and (max-width: 991px) {
  /* header */
  #header {
    position: fixed;
    left: 0;
    top: 0;
    height: 55px;
    width: 100%;
    background-color: #fff;
    border-bottom: 5px solid #ff8000;
    box-shadow: 0 3px 6px -3px rgba(0, 0, 0, 0.5);
    z-index: 1000;
  }
  #header .copy_sp {
    display: block;
    position: absolute;
    left: 5px;
    top: 3px;
    height: 55px;
    line-height: 1.4;
    z-index: 9999;
    font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
  }
  #header .copy_sp a {
    font-weight: bold;
    text-decoration: none;
  }
  #header .copy_sp a strong {
    display: inline-block;
    font-size: 14px;
    letter-spacing: 0;
    color: #6a3906;
    font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
  }
  #header .copy_sp a strong span {
    font-size: 12px;
  }
  #header .copy_sp a strong b {
    font-size: 13px;
  }
  #header .copy_sp img {
    display: inline-block;
    margin-right: 5px;
    width: 40px;
    height: auto;
  }
  #header .wrap {
    display: none;
  }
  #header .copy {
    display: none;
  }
  #header #header-primary-nav {
    display: none;
  }

  #menu_navi {
    display: block;
    position: absolute;
    right: 5px;
    top: 5px;
    width: 44px;
    height: 40px;
    line-height: 40px;
    padding: 5px;
    background-color: #ff8000;
    z-index: 9999;
    cursor: pointer;
  }

  .menu-trigger {
    position: relative;
    width: 34px;
    height: 23px;
    display: inline-block;
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    box-sizing: border-box;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #fff;
    border-radius: 4px;
    display: inline-block;
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    box-sizing: border-box;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 10px;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  .menu-trigger span:nth-of-type(2)::after {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background-color: #fff;
    border-radius: 4px;
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
  }

  .menu-trigger.active span {
    background-color: #fff;
  }
  .menu-trigger.active span:nth-of-type(2)::after {
    background-color: #fff;
  }
  .menu-trigger.active span:nth-of-type(1) {
    transform: translateY(20px) scale(0);
  }
  .menu-trigger.active span:nth-of-type(2) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .menu-trigger.active span:nth-of-type(2)::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-20px) scale(0);
  }
}
/* ----------------------------------------
* gloval nav
---------------------------------------- */
#gnav {
  position: relative;
  width: 100%;
  background-color: #ff8000;
  box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.2);
}
#gnav ul {
  position: relative;
  max-width: 1200px;
  height: 54px;
  margin: 0 auto;
  -js-display: flex;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
#gnav li {
  width: 100%;
}
#gnav li.current-menu-item a {
  color: #fcff00;
}
#gnav li a {
  width: 100%;
  display: block;
  position: relative;
  height: 54px;
  line-height: 54px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
}
#gnav li a:hover {
  color: #fff;
  background-color: #f3a6ae;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-decoration: none;
}
#gnav li a::before {
  position: absolute;
  top: 12px;
  left: 0;
  content: '';
  width: 0;
  height: 30px;
  border-left: 1px solid #ccc;
}
#gnav li:last-child a::after {
  position: absolute;
  top: 12px;
  right: 0;
  content: '';
  width: 0;
  height: 30px;
  border-right: 1px solid #ccc;
}
#gnav #sub-container {
  display: none;
}

#gnav.fixed {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  width: 100%;
  height: 54px;
  z-index: 1000;
}

@media screen and (max-width: 991px) {
  #gnav {
    display: none;
    position: fixed;
    left: 0;
    top: -50px;
    width: 100%;
    z-index: 110;
    border-bottom: none;
    background: transparent;
    opacity: 0;
    -webkit-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;
  }
  #gnav.active {
    -webkit-overflow-scrolling: touch;
    display: block;
    top: 50px;
    opacity: 1;
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
  }
  #gnav:hover {
    cursor: pointer;
  }
  #gnav .wrap {
    margin: 0 0 50px;
  }
  #gnav ul {
    height: auto;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #gnav ul li {
    background: #ff8000;
  }
  #gnav ul li a {
    width: 100%;
    display: block;
    position: relative;
    height: auto;
    line-height: 0;
    text-align: left;
    color: #fff;
    cursor: pointer;
    padding: 25px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.8);
    outline: none;
    transition: background .3s ease-in-out;
  }
  #gnav ul li a:hover {
    color: #2B2D2D;
    border-top: none;
  }
  #gnav ul li a:hover .sub-menu {
    display: block;
  }
  #gnav ul li a::before {
    border-left: none;
  }
  #gnav ul li:last-child a::after {
    border-right: none;
  }
  #gnav ul li .sub-menu {
    display: block;
    position: relative;
    width: auto;
    margin-left: 20px;
    background: #fff;
    border: none;
    border-bottom: none;
  }
  #gnav ul li .sub-menu li {
    float: none;
    margin-right: 0;
  }
  #gnav ul li .sub-menu li:last-child {
    border-bottom: none;
  }
  #gnav ul li .sub-menu li a {
    color: #ff8000;
    background: #fff;
    padding: 10px 15px;
    border-bottom: 1px #e5e5e5 solid;
  }
  #gnav ul li .sub-menu li a:hover {
    background: #fafafa;
    color: #ff8000;
  }
  #gnav ul li .sub-menu .sub-menu {
    left: auto;
    top: auto;
  }
  #gnav #sub-container {
    display: block;
  }
  #gnav #sub-container li {
    background: #f32717;
  }
}
/* ----------------------------------------
* pagenation
---------------------------------------- */
.pagination {
  margin: 0 0 60px 0;
  padding: 0;
}

.pagination span, .pagination a {
  display: inline-block;
  width: 42px;
  height: 40px;
  margin: 0 5px 10px;
  line-height: 40px;
  vertical-align: middle;
  text-align: center;
  font-size: 18px;
  box-shadow: 0 5px 0 0 #e2e2e2;
  border: 1px solid #3e2723;
  background-color: #fff;
  transition: color 0.35s ease 0s, background-color 0.35s ease 0s;
  color: #252525;
}

.pagination a:hover {
  background-color: #ff8000;
  padding: 2px;
  color: #fff;
  text-decoration: none;
}

.pagination .current {
  background-color: #ff8000;
  box-shadow: 0 5px 0 0 #e2e2e2;
  color: #fff;
  font-size: 18px;
}

/* ----------------------------------------
* side
---------------------------------------- */
.banner {
  margin-bottom: 20px;
  padding: 0 10px;
  text-align: center;
}
.banner h3 {
  margin-bottom: 10px;
}
.banner li {
  margin-bottom: 30px;
}

@media screen and (min-width: 991px) {
  .banner {
    padding: 0;
  }
}
.side-widget-area {
  padding: 0;
}

.side-widget {
  margin-bottom: 20px;
  line-height: 1.6;
  font-size: 14px;
}
.side-widget .side-title {
  position: relative;
  padding: 10px 0;
  text-align: center;
  background-color: #ff8000;
  border: 4px solid #ff8000;
  color: #fff;
  font-size: 17px;
  font-weight: bold;
}
.side-widget ul li {
  position: relative;
  border-bottom: 1px solid #e5e5e5;
  font-weight: bold;
  background-color: #fff;
  padding: 16px 10px 16px 10px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 15px;
  -webkit-transition: 0.7s ease-in-out;
  -moz-transition: 0.7s ease-in-out;
  -o-transition: 0.7s ease-in-out;
  transition: 0.7s ease-in-out;
}
.side-widget ul li a {
  display: block;
  color: #39231e;
  text-decoration: none;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.side-widget ul li a:hover {
  background-color: #f9f0e2;
}
.side-widget ul li a img {
  display: block;
  max-width: inherit;
  width: 80px;
  height: 80px;
  margin-right: 15px;
  border: 1px solid #ccc;
}
.side-widget ul li a span {
  display: block;
  padding-top: 5px;
}
.side-widget ul li.widget_recent_comments a {
  background: none;
}
.side-widget .post-date {
  margin: 0 0 0 36px;
  font-size: 13px;
  color: #999999;
}

.widget_nav_menu ul li {
  padding: 16px 10px 16px 30px;
}
.widget_nav_menu ul li:before {
  content: "\f0da";
  font-family: FontAwesome;
  display: block;
  position: absolute;
  left: 15px;
  top: 14px;
  color: #ff8000;
  font-size: 18px;
}
.widget_nav_menu ul li:hover {
  background-color: #fbe9c7;
}

/* ----------------------------------------
* pagetop
---------------------------------------- */
.pagetop {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  bottom: 50px;
  right: 50px;
  color: #fff;
  z-index: 9999;
}
.pagetop span {
  display: block;
  border-radius: 25px;
  background: #2b2b2b;
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 40px;
  font-size: 36px;
}
.pagetop span i {
  color: #fff;
}
.pagetop.show {
  visibility: visible;
  opacity: .8;
}

@media screen and (max-width: 991px) {
  /* tablet */
  .pagetop {
    right: 20px;
    bottom: 80px;
  }

  /* tablet end */
}
/* ----------------------------------------
* footer
---------------------------------------- */
#footer .footer_nav {
  color: #1E252C;
  border-top: 1px solid #d2c7b1;
}
#footer .footer_nav a {
  color: #f9ef43;
}
#footer .footer_nav a:hover {
  color: #f9ef43;
}
#footer .footer-01 {
  padding: 20px 4%;
  text-align: center;
}
#footer .footer-01 .address dt {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.1em;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#footer .footer-01 .address dt a {
  color: #454545;
}
#footer .footer-01 .address dt a:hover {
  text-decoration: none;
  color: #999;
}
#footer .footer-01 .address dt a span {
  display: block;
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 1.4;
}
#footer .footer-01 .address dt a b {
  display: block;
  font-size: 18px;
}
#footer .footer-01 .address dt a img {
  margin-bottom: 15px;
}
#footer .footer-01 .address dd {
  font-weight: bold;
  line-height: 1.8;
}
#footer .footer-01 .address dd br {
  display: none;
}
#footer .footer-01 .address dd a {
  display: block;
  color: #222;
  font-size: 28px;
}
#footer .footer-02 {
  background-color: #ff8000;
  padding-bottom: 20px;
}
#footer .footer-02 ul {
  padding: 30px 0;
  text-align: center;
  border-bottom: 1px solid #d2c7b1;
}
#footer .footer-02 ul li {
  display: inline-block;
  margin: 0 15px;
  font-weight: bold;
  color: #fff;
}
#footer .footer-02 ul li a:hover {
  color: #fff;
}
#footer .footer-02 .footer-copy {
  padding: 20px;
  letter-spacing: 0.1em;
  color: #fff;
  font-style: italic;
  text-align: center;
  line-height: 1.6;
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  #footer {
    padding-bottom: 65px;
  }
  #footer .footer-01 .address dd br {
    display: block;
  }
  #footer .footer-01 .address dd span {
    display: block;
    margin-top: 10px;
  }
}
#sp_navi {
  display: none;
}

@media screen and (max-width: 991px) {
  #sp_navi {
    display: block;
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 100;
    padding: 2px 2px 5px;
    background: rgba(255, 255, 255, 0.8);
  }
  #sp_navi.block {
    display: block;
  }
  #sp_navi li {
    text-align: center;
  }
  #sp_navi li a {
    display: block;
  }
  #sp_navi .tel {
    width: 59.0%;
  }
  #sp_navi .web {
    width: 39.0%;
  }
}
@media screen and (max-width: 320px) {
  #sp_navi li a {
    font-size: 14px;
  }
  #sp_navi li a span {
    font-size: 12px;
  }
}
/* ----------------------------------------
* common
---------------------------------------- */
#index {
  background: #fff;
}

.location ul {
  padding: 6px 10px;
  background-color: #f32717;
}
.location ul li {
  flex-basis: 48%;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
}
.location ul li i {
  display: inline-block;
  margin-right: 6px;
  font-size: 18px;
}

/*sp*/
@media (max-width: 767px) {
  .location ul {
    padding: 6px 10px;
  }
  .location ul li {
    font-size: 14px;
  }
  .location ul li i {
    margin-right: 5px;
    font-size: 16px;
  }
}
/* ----------------------------------------
* TOP
---------------------------------------- */
.staff_panel {
  margin-right: 15px;
  padding: 10px;
  text-align: center;
  border: 1px solid #ff8000;
}
.staff_panel figure {
  margin-bottom: 10px;
}
.staff_panel dl dt {
  background: #ff8000;
  text-align: center;
  color: #fff;
  margin-bottom: 10px;
  padding: 5px 10px;
  line-height: 1.4;
}
.staff_panel dl dt span {
  font-size: 14px;
}
.staff_panel dl dd {
  text-align: left;
  font-size: 14px;
}
.staff_panel dl dd span {
  color: #ff8000;
}

.staff_slide {
  position: relative;
  overflow: hidden;
  padding: 40px 0 0;
}
.staff_slide .inner {
  position: relative;
  margin: 0 auto;
  padding-right: 10%;
}
.staff_slide .slick-list {
  overflow: visible;
}
.staff_slide .slick-nav-arrows {
  position: absolute;
  top: 10px;
  right: 0%;
}
.staff_slide .slick-arrow {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
}
.staff_slide .slick-next {
  right: 0;
}
.staff_slide .slick-prev {
  left: -80px;
}
.staff_slide .slick-next:before, .staff_slide .slick-prev:before {
  color: #000;
}
.staff_slide .staff-carousel {
  margin-bottom: 20px;
}
.staff_slide .staff-carousel .slick-dots li {
  position: relative;
  width: auto;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .staff_panel {
    margin-right: 24px;
    padding: 10px;
  }
  .staff_panel dl dd {
    font-size: 16px;
  }
}
/*----------------------------------------
	top_voice
----------------------------------------*/
.count {
  position: relative;
  text-align: center;
  background: #ffff00;
  border-bottom: 5px solid #ff8000;
}
.count:hover {
  opacity: 0.7;
  cursor: pointer;
}
.count:before {
  position: absolute;
  top: 50%;
  right: 5px;
  margin-top: -0.6em;
  font-size: 1.4em;
  content: "\f105";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  color: #000;
}
.count p {
  display: inline-block;
  padding: 5px 15px;
}
.count p span {
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  color: #000;
}
.count p strong {
  color: #000;
  font-weight: bold;
  font-size: 40px;
  letter-spacing: 0.1em;
}

.top_voice {
  margin-bottom: 60px;
}
.top_voice h2 {
  margin-bottom: 30px;
  padding: 0 10px;
  text-align: center;
}
.top_voice .text {
  padding: 20px 0 10px;
}
.top_voice .text p {
  margin-bottom: 20px;
  padding: 0 20px;
  line-height: 1.8;
}
.top_voice .text p:last-child {
  margin-bottom: 0;
}
.top_voice .text p strong {
  display: block;
  font-size: 18px;
  text-align: center;
  color: #ef3415;
}
.top_voice .list {
  padding: 10px 0;
  background: #fff8dd;
}
.top_voice .list section {
  width: 100%;
  margin-bottom: 10px;
  background: #fff;
  border: 2px solid #ff8000;
}
.top_voice .list section:last-child {
  margin-bottom: 0;
}
.top_voice .list section h3 {
  margin-bottom: 5px;
  line-height: 1.3;
  font-size: 18px;
  font-weight: bold;
}
.top_voice .list section .bloc {
  padding: 10px 5px 10px 10px;
}
.top_voice .list section .bloc > div figure {
  width: 28%;
}
.top_voice .list section .bloc > div div {
  width: 69%;
}
.top_voice .list section .bloc p {
  font-size: 12px;
  font-weight: bold;
}
.top_voice .list section .bloc .note {
  margin-top: 10px;
  font-size: 12px;
  font-weight: normal;
}
.top_voice .list section .movie {
  padding: 10px;
}
.top_voice .list section .movie .note {
  margin-top: 10px;
  font-size: 12px;
  font-weight: normal;
}
.top_voice .button {
  padding: 15px 0;
}

@media screen and (min-width: 768px) {
  .count:before {
    right: 10px;
    font-size: 2.6em;
  }
  .count p {
    padding: 5px 30px;
  }
  .count p span {
    font-size: 30px;
  }
  .count p strong {
    font-size: 60px;
  }

  .top_voice {
    padding: 30px 0 0;
  }
  .top_voice .text {
    padding: 20px 0 40px;
  }
  .top_voice .text p strong {
    font-size: 30px;
  }
  .top_voice .list {
    padding: 10px 10px;
  }
  .top_voice .list section {
    width: 49.5%;
  }
  .top_voice .list section:last-child {
    margin-bottom: 10px;
  }
  .top_voice .list section h3 {
    margin: 10px 0 5px;
    line-height: 1.4;
    font-size: 19px;
  }
  .top_voice .list section .bloc p {
    font-size: 14px;
  }
}
#related_post {
  background-color: #fff;
  margin: 30px 0 20px;
  padding: 0 15px;
}
#related_post ul {
  overflow-y: auto;
  max-height: 200px;
  padding: 15px 20px 0;
  border-left: 1px solid #bbb;
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
}
#related_post ul li {
  background: url('lib/images/common/check02.png?1520324520') no-repeat left 1px;
  margin-bottom: 15px;
  padding-left: 30px;
}
#related_post ul li a {
  color: #333333;
  text-decoration: underline;
  font-size: 16px;
}
#related_post ul li a time {
  display: block;
  margin: 0 0 5px;
}

@media screen and (min-width: 768px) {
  #related_post {
    padding: 0 30px;
  }
  #related_post ul li a time {
    display: inline-block;
    margin: 0 10px 0 0;
  }
}
#mainVisual {
  position: relative;
  width: 100%;
  background: #fff;
  margin-bottom: 30px;
}
#mainVisual .main_photo {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}
#mainVisual .main_gallery {
  width: 100%;
  height: 140px;
  overflow: hidden;
}
#mainVisual .main_gallery p {
  height: 100%;
}

@media screen and (min-width: 768px) {
  #mainVisual {
    margin-bottom: 40px;
  }
  #mainVisual .main_gallery {
    height: 228px;
    margin-top: 0;
  }
}
/*----------------------------------------
	top_service
----------------------------------------*/
.top_service {
  margin-bottom: 30px;
}
.top_service h2 {
  margin-bottom: 10px;
  text-align: center;
  padding: 15px 10px;
}
.top_service > div {
  padding: 0 10px;
}
.top_service > div > section {
  position: relative;
  margin-bottom: 40px;
  border: 5px solid #ff8000;
  padding: 10px 10px 0;
}
.top_service > div > section h3 {
  margin-bottom: 20px;
  padding: 0 0 15px 75px;
  border-bottom: 1px solid #ff8000;
  font-weight: bold;
  font-size: 20px;
  text-align: left;
  line-height: 1.2;
}
.top_service > div > section h3.sub {
  padding: 0 0 15px 0;
  text-align: center;
}
.top_service > div > section h3 strong {
  color: #ff8000;
  font-size: 22px;
}
.top_service > div > section h3 span {
  position: absolute;
  left: -10px;
  top: -10px;
}
.top_service > div > section h3 img {
  width: 70px;
}
.top_service > div > section p {
  line-height: 1.8;
  margin-bottom: 20px;
  font-size: 16px;
}
.top_service > div > section p strong {
  margin-bottom: 10px;
  color: #ff8000;
  border-bottom: double 5px #ff8000;
  line-height: 1.8;
  font-weight: bold;
  font-size: 18px;
}
.top_service > div > section p span {
  color: #e76124;
  font-weight: bold;
  font-size: 18px;
}
.top_service > div > section ul li {
  position: relative;
  padding: 0 0 0 5px;
  font-size: 15px;
  line-height: 1.8;
}
.top_service > div > section ul li:before {
  content: "\f521";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  font-size: 1.6em;
  padding-right: 0.5em;
  color: #cc9e00;
}
.top_service > div > section p.note {
  text-align: right;
  font-size: 13px;
}
.top_service > div > section figure.float_right {
  display: table;
  width: 100%;
  margin-bottom: 20px;
}
.top_service > div > section figure.float_right img {
  margin-bottom: 20px;
}
.top_service > div > section figure.float_right img:last-child {
  margin-bottom: 0;
}
.top_service > div > section figure.double {
  display: table;
  width: 100%;
  margin-bottom: 20px;
  vertical-align: top;
}
.top_service > div > section figure.double img {
  width: 50%;
}
.top_service > div > section figure.double img:nth-of-type(1) {
  padding-right: 2%;
}
.top_service > div > section figure.double img:nth-of-type(2) {
  padding-left: 2%;
}
.top_service > div > section figure.float_none {
  display: block;
  float: none;
  width: 100%;
  margin: 0 0 20px 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .top_service {
    margin-bottom: 50px;
  }
  .top_service h2 {
    margin-bottom: 20px;
  }
  .top_service > div {
    padding: 0 28px;
  }
  .top_service > div > section {
    border: 10px solid #ff8000;
    padding: 10px 20px 0;
  }
  .top_service > div > section h3 {
    font-size: 36px;
    text-align: center;
  }
  .top_service > div > section h3 strong {
    font-size: 40px;
  }
  .top_service > div > section h3 span {
    position: absolute;
    left: -15px;
    top: -15px;
  }
  .top_service > div > section h3 img {
    width: 100%;
  }
  .top_service > div > section p {
    font-size: 18px;
    line-height: 2.0;
  }
  .top_service > div > section ul {
    padding: 0 0 0 20px;
  }
  .top_service > div > section ul li {
    font-size: 22px;
    line-height: 1.6;
  }
  .top_service > div > section figure.float_right {
    display: table;
    float: right;
    width: 320px;
    margin: 0 0 10px 2em;
  }
  .top_service > div > section figure.float_right ul li {
    width: 100%;
    margin-bottom: 15px;
  }
  .top_service > div > section figure.double {
    display: table;
    float: right;
    width: 320px;
    margin: 0 0 10px 2em;
  }
  .top_service > div > section figure.double img {
    width: 100%;
  }
  .top_service > div > section figure.double img:nth-of-type(1) {
    padding-right: 0%;
    margin-bottom: 20px;
  }
  .top_service > div > section figure.double img:nth-of-type(2) {
    padding-left: 0%;
  }
  .top_service > div > section figure.float_none {
    display: block;
    float: none;
    width: 100%;
    margin: 0 0 20px 0;
    text-align: center;
  }
}
/*----------------------------------------
	top_comparison
----------------------------------------*/
#top_comparison {
  padding: 0 20px;
}
@media only screen and (max-width: 787px) {
  #top_comparison {
    padding: 0 10px;
  }
}
#top_comparison h2 {
  text-align: center;
  margin-bottom: 20px;
}
#top_comparison div {
  margin-bottom: 40px;
}
#top_comparison div p {
  padding: 0 10px;
  line-height: 1.8;
  font-size: 16px;
  margin-bottom: 20px;
}
#top_comparison div p b {
  margin-bottom: 10px;
  color: #c7000b;
  border-bottom: double 5px #c7000b;
  line-height: 1.8;
  font-weight: bold;
  font-size: 18px;
}
#top_comparison div figure {
  text-align: center;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  #top_comparison div p {
    font-size: 18px;
  }
}
/*----------------------------------------
	top_policy
----------------------------------------*/
#top_policy {
  margin-bottom: 10px;
  padding: 20px 15px 5px;
}
#top_policy h2 {
  margin: 30px 0;
}
#top_policy h3 {
  font-size: 26px;
  margin-bottom: 20px;
  color: #ff8000;
  font-weight: bold;
}
#top_policy h4 {
  font-size: 16px;
  margin-bottom: 20px;
  font-weight: bold;
  border-left: 6px solid #ff8000;
  padding: 0 10px;
}
#top_policy .staff_panel {
  margin: 0 0 20px;
}
#top_policy .youtube {
  margin-bottom: 30px;
}
#top_policy > figure {
  float: right;
  width: 42%;
  margin: 0 0 10px 15px;
}
#top_policy > figure figcaption {
  margin: 15px 0 5px;
  line-height: 1.6;
  font-weight: bold;
  font-size: 14px;
  text-align: center;
}
#top_policy > figure figcaption strong {
  display: block;
  text-align: left;
  font-size: 14px;
}
#top_policy > figure img {
  width: 100%;
  height: auto;
}
#top_policy div p {
  line-height: 1.8;
  margin-bottom: 20px;
}
#top_policy div .tar {
  margin-bottom: 30px;
  padding-right: 20px;
}

@media screen and (min-width: 768px) {
  #top_policy {
    padding: 20px 30px;
  }
  #top_policy h3 {
    text-align: center;
    font-size: 32px;
  }
  #top_policy h4 {
    font-size: 20px;
  }
  #top_policy div p {
    font-size: 20px;
    line-height: 2.2;
  }
  #top_policy .staff_panel {
    float: right;
    width: 38%;
    margin: 0 0 0 20px;
  }
  #top_policy > figure {
    width: 38%;
    margin: 0 0 10px 30px;
  }
  #top_policy > figure figcaption {
    font-size: 16px;
  }
  #top_policy > figure figcaption strong {
    text-align: center;
  }
}
/*----------------------------------------
	当院が選ばれる３つの特徴
----------------------------------------*/
#top_quality {
  padding: 0 0 15px;
  background: #fff8dd;
}
#top_quality div h2 {
  position: relative;
  padding: 15px 10px 10px 10px;
  border-top: 3px solid #ff8000;
  border-bottom: 1px dotted #532200;
  text-align: center;
  background: #fff;
  font-weight: 700;
  font-size: 20px;
}
#top_quality div h2 strong {
  color: #ff8000;
  font-size: 24px;
}
#top_quality div h2 b {
  background: linear-gradient(rgba(0, 0, 0, 0) 50%, #ffff6e 50%);
}
#top_quality div ul li {
  position: relative;
  padding: 15px 0 10px 50px;
  background: #fff;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  border-bottom: 1px dotted #532200;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#top_quality div ul li:last-child {
  margin-bottom: 0;
}
#top_quality div ul li:before {
  counter-increment: quality;
  content: counter(quality);
  position: absolute;
  left: 8px;
  top: 0;
  bottom: 0;
  height: 20px;
  margin: auto;
  padding: 5px 10px;
  background: #26d799;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.2;
  color: #fff;
  border-radius: 6px;
}
#top_quality div ul li strong {
  color: #ff8000;
}

@media screen and (min-width: 768px) {
  #top_quality {
    padding: 15px 10px;
    background: #fff2be;
  }
  #top_quality div h2 {
    font-size: 30px;
  }
  #top_quality div h2 strong {
    font-size: 30px;
  }
  #top_quality div ul li {
    padding: 12px 0 10px 60px;
    font-size: 24px;
  }
  #top_quality div ul li:before {
    left: 18px;
    font-size: 18px;
  }
}
/*----------------------------------------
	top_message
----------------------------------------*/
#top_message {
  margin-bottom: 30px;
  padding: 0 10px;
}
#top_message div figure {
  text-align: center;
  margin-bottom: 20px;
}
#top_message div figure ul li {
  width: 48%;
}
#top_message div figure figcaption {
  margin: 15px 0;
  line-height: 1.6;
  font-weight: bold;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#top_message div p {
  margin-bottom: 20px;
  padding: 0 10px;
  line-height: 1.8;
}
#top_message div p:last-child {
  margin-bottom: 0;
}
#top_message div p strong {
  background: linear-gradient(rgba(0, 0, 0, 0) 50%, #ffff6e 50%);
}
#top_message div p span {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  #top_message {
    margin-bottom: 50px;
    padding: 0 30px;
  }
  #top_message div figure {
    text-align: center;
    display: table;
    float: right;
    width: 320px;
    margin: 0 0 0 2em;
  }
  #top_message div figure ul li {
    width: 100%;
  }
  #top_message div figure ul li:nth-of-type(2) {
    display: none;
  }
}
/*----------------------------------------
	こんな悩みがあるのなら
----------------------------------------*/
.worry_list {
  padding: 0 1%;
}
.worry_list > div {
  width: 48%;
  margin: 0 1% 10px;
  background: #fffef9;
}
.worry_list > div dl dt {
  font-weight: bold;
  padding: 5px 10px;
  margin-bottom: 15px;
  border-left: 5px solid #ff8000;
  font-size: 15px;
}
.worry_list > div dl dd {
  margin-bottom: 5px;
  padding: 0 0 0 10px;
  line-height: 1.6;
  font-size: 14px;
}
.worry_list > div dl dd a {
  color: #252525;
  text-decoration: underline;
}
.worry_list > div dl dd i {
  display: inline-block;
  margin-right: 5px;
  color: #f32717;
}
.worry_list > div dl dd:last-child {
  margin-bottom: 15px;
}

#top_worry {
  width: 100%;
  margin-bottom: 30px;
}
#top_worry > div {
  position: relative;
  padding: 0 5px;
}
#top_worry > div h2 {
  position: relative;
  text-align: center;
  z-index: 10;
  margin-bottom: 30px;
}
#top_worry > div h3 {
  position: relative;
  text-align: center;
  z-index: 10;
  margin: 40px 0 30px;
}
#top_worry > div figure {
  position: relative;
  margin: -10px 0 30px;
  z-index: 1;
  text-align: center;
}
#top_worry > div ul {
  margin-bottom: 30px;
}
#top_worry > div ul li {
  width: 46%;
  margin: 0 2% 15px;
}
#top_worry > div ul li a {
  text-decoration: none;
}
#top_worry > div ul li a span {
  color: #000;
  display: block;
  margin-top: 10px;
  font-size: 14px;
}

@media screen and (min-width: 768px) {
  .worry_list {
    padding: 0 1%;
  }
  .worry_list > div {
    width: 31%;
    margin: 0 1% 15px;
  }
  .worry_list > div dl dt {
    padding: 5px 15px;
    font-size: 18px;
  }
  .worry_list > div dl dd {
    font-size: 16px;
  }

  #top_worry > div {
    padding: 0 30px;
  }
  #top_worry > div figure {
    margin: -10px 0 40px;
  }
  #top_worry > div ul li a span {
    font-size: 16px;
  }
}
/*----------------------------------------
	top_access
----------------------------------------*/
#top_access {
  padding: 0 10px;
  margin-bottom: 30px;
}
#top_access dl {
  margin-bottom: 10px;
}
#top_access dt {
  margin-bottom: 10px;
  font-weight: bold;
}
#top_access dd {
  line-height: 1.6;
}
#top_access p {
  margin-bottom: 10px;
  line-height: 1.6;
}
#top_access figure figcaption {
  display: block;
  margin-top: 10px;
  text-align: center;
  color: #f32717;
  font-weight: bold;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}

@media screen and (min-width: 768px) {
  #top_access {
    padding: 0 30px;
    margin-bottom: 40px;
  }
  #top_access dl {
    margin-bottom: 20px;
  }
  #top_access dt br {
    display: none;
  }
  #top_access figure {
    text-align: center;
    margin-top: 20px;
  }
  #top_access figure figcaption {
    margin-top: 15px;
    font-size: 24px;
  }
}
/*----------------------------------------
	top_reason
----------------------------------------*/
.top_reason {
  margin-bottom: 30px;
}
.top_reason h2 {
  margin-bottom: 20px;
  text-align: center;
}
.top_reason h2 span {
  display: block;
  text-align: center;
  background: #ff7e00;
  padding: 12px 10px;
}
.top_reason h2 strong {
  display: block;
  text-align: center;
  padding: 15px 10px;
}
.top_reason > div {
  padding: 0 10px;
}
.top_reason > div > section {
  margin-bottom: 40px;
}
.top_reason > div > section:last-child {
  margin-bottom: 0;
}
.top_reason > div > section > section {
  margin-bottom: 40px;
}
.top_reason > div > section > section ul {
  align-items: flex-start;
}
.top_reason > div > section > section ul li {
  width: 46%;
  margin-bottom: 30px;
  text-align: center;
}
.top_reason > div > section > section ul li:nth-of-type(1) {
  padding: 0 2% 0 0;
}
.top_reason > div > section > section ul li:nth-of-type(2) {
  padding: 0 0 0 2%;
}
.top_reason > div > section > section ul li span {
  display: block;
  margin-top: 15px;
  font-size: 14px;
}
.top_reason > div > section > section ul li strong {
  font-size: 18px;
  color: #ff8000;
}
.top_reason > div > section h3 {
  position: relative;
  margin-bottom: 20px;
  padding: 15px 10px;
  border-top: 3px solid #624122;
  border-bottom: 1px dotted #624122;
  font-weight: bold;
  font-size: 17px;
}
.top_reason > div > section h3 span {
  display: block;
  text-align: center;
  padding: 5px 15px;
  margin: 0 0 15px;
  background-color: #ff8000;
  border: 4px solid #ff8000;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 6px;
  font-size: 19px;
}
.top_reason > div > section h3 strong {
  display: block;
  color: #ff8000;
  font-size: 20px;
  line-height: 1.4;
  margin-bottom: 10px;
}
.top_reason > div > section h3 b {
  display: block;
  font-size: 15px;
}
.top_reason > div > section h3 u {
  text-decoration: none;
}
.top_reason > div > section p {
  padding: 0 10px;
  line-height: 1.8;
  margin-bottom: 20px;
  font-size: 14px;
}
.top_reason > div > section p strong {
  margin-bottom: 10px;
  color: #f32717;
  line-height: 1.8;
  font-weight: bold;
  font-size: 16px;
}
.top_reason > div > section p span {
  color: #e76124;
  font-weight: bold;
  font-size: 18px;
}
.top_reason > div > section dl {
  padding: 15px 20px 25px;
  background-color: #fff8ef;
  border-radius: 10px;
  margin-bottom: 20px;
}
.top_reason > div > section dl dt {
  margin-bottom: 5px;
  text-align: center;
  font-size: 28px;
  font-weight: bold;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
.top_reason > div > section dl dd {
  line-height: 2.0;
}
.top_reason > div > section dl dd b {
  border-bottom: double 3px #e5462c;
  font-size: 18px;
  color: #58382e;
  font-weight: bold;
}
.top_reason > div > section p.note {
  text-align: right;
  font-size: 13px;
}
.top_reason > div > section p.button {
  padding: 0 5px;
  text-align: center;
}
.top_reason > div > section p.button br {
  display: block;
}
.top_reason > div > section p.button a.link {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.top_reason > div > section figure.float_right {
  display: table;
  width: 100%;
  margin-bottom: 20px;
}
.top_reason > div > section figure.float_right img {
  margin-bottom: 20px;
  width: 100%;
}
.top_reason > div > section figure.float_right img:last-child {
  margin-bottom: 0;
}
.top_reason > div > section figure.double {
  display: table;
  width: 100%;
  margin-bottom: 20px;
  vertical-align: top;
}
.top_reason > div > section figure.double p {
  display: inline-block;
  width: 50%;
}
.top_reason > div > section figure.double p:nth-of-type(1) {
  padding: 0 2% 0 0;
}
.top_reason > div > section figure.double p:nth-of-type(2) {
  padding: 0 0 0 2%;
}
.top_reason > div > section figure.float_none {
  display: block;
  float: none;
  width: 100%;
  margin: 0 0 20px 0;
  text-align: center;
}
.top_reason > div > section .media {
  margin-bottom: 30px;
}
.top_reason > div > section .media h4 {
  text-align: center;
  margin-bottom: 20px;
}
.top_reason > div > section .media ul {
  max-width: 700px;
  margin: 0 auto 20px;
}
.top_reason > div > section .media ul li {
  width: 48%;
  margin-bottom: 20px;
}
.top_reason > div > section .media ul li figcaption {
  display: block;
  margin-top: 10px;
  line-height: 1.5;
  font-size: 14px;
}
.top_reason > div > section .media .magazine {
  margin-bottom: 30px;
  padding: 0;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .top_reason {
    margin-bottom: 50px;
  }
  .top_reason > div {
    padding: 0 30px;
  }
  .top_reason > div > section > section ul li span {
    display: block;
    margin-top: 15px;
    font-size: 16px;
  }
  .top_reason > div > section h3 {
    font-size: 22px;
  }
  .top_reason > div > section h3 span {
    font-size: 22px;
  }
  .top_reason > div > section h3 strong {
    margin-bottom: 5px;
    font-size: 26px;
  }
  .top_reason > div > section p {
    line-height: 2.0;
    font-size: 16px;
  }
  .top_reason > div > section p strong {
    font-size: 18px;
  }
  .top_reason > div > section dl {
    padding: 15px 30px 25px 30px;
  }
  .top_reason > div > section dl dt {
    margin-bottom: 10px;
  }
  .top_reason > div > section dl dd b {
    font-size: 20px;
  }
  .top_reason > div > section p.button {
    padding: 0;
  }
  .top_reason > div > section p.button br {
    display: none;
  }
  .top_reason > div > section p.button a.link {
    display: inline-block;
    width: 50%;
    margin: 0 auto;
  }
  .top_reason > div > section figure.float_right {
    display: table;
    float: right;
    width: 320px;
    margin: 0 0 20px 2em;
  }
  .top_reason > div > section figure.float_right ul li {
    width: 100%;
    margin-bottom: 15px;
  }
  .top_reason > div > section figure.double {
    display: table;
    float: right;
    width: 320px;
    margin: 0 0 10px 2em;
  }
  .top_reason > div > section figure.double p {
    width: 100%;
  }
  .top_reason > div > section figure.double p:nth-of-type(1) {
    padding: 0;
    margin-bottom: 20px;
  }
  .top_reason > div > section figure.double p:nth-of-type(2) {
    padding: 0;
  }
  .top_reason > div > section figure.float_none {
    display: block;
    float: none;
    width: 100%;
    margin: 0 0 20px 0;
    text-align: center;
  }
  .top_reason > div > section .check_box {
    width: 460px;
  }
  .top_reason > div > section .media ul {
    margin: 0 auto 30px;
  }
  .top_reason > div > section .media .magazine {
    margin-bottom: 40px;
    padding: 0 10px;
  }
}
/*----------------------------------------
	faq
----------------------------------------*/
.faq {
  margin-bottom: 30px;
  padding: 0 10px;
}
.faq .strained_back h3 {
  margin-bottom: 30px;
  padding: 10px;
  background: #ffff00;
  text-align: center;
  font-size: 24px;
  font-weight: normal;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.faq .strained_back p {
  padding: 0 10px;
}
.faq .strained_back p strong {
  font-size: 20px;
}
.faq .strained_back p u {
  font-weight: bold;
  font-size: 20px;
}
.faq .strained_back #movie_before_after p {
  text-align: center;
}
.faq .strained_back #movie_before_after .movie_before {
  margin-bottom: 30px;
}
.faq dl dt {
  position: relative;
  margin-top: 20px;
  padding: 8px 30px 8px 50px;
  border: 1px solid #ff8000;
  font-weight: bold;
  line-height: 1.4;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.faq dl dt:before {
  content: "Q";
  display: inline-block;
  position: absolute;
  line-height: 35px;
  background: #ff8000;
  color: #fff;
  font-weight: bold;
  width: 40px;
  height: 100%;
  text-align: center;
  left: 0px;
  top: 50%;
  font-size: 22px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
}
.faq dl dt:after {
  content: "\f0ab";
  font-family: FontAwesome;
  width: 1em;
  height: 1em;
  position: absolute;
  right: 5px;
  top: 0;
  bottom: 5px;
  margin: auto;
  font-size: 22px;
  color: #ff8000;
}
.faq dl dt.active:after {
  content: "\f0aa";
}
.faq dl dd {
  display: none;
  position: relative;
  margin-bottom: 30px;
  padding: 20px 20px;
  line-height: 1.8;
  background-color: #fff8ef;
  border-radius: 0 0 8px 8px;
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.faq dl dd:last-child {
  margin-bottom: 0;
}
.faq dl dd p {
  margin-bottom: 15px;
}
.faq dl dd p:last-child {
  margin-bottom: 0;
}
.faq .shop_list {
  background: #fff;
  padding: 20px;
}
.faq .shop_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.faq .shop_list ul li {
  flex-basis: 48%;
  padding: 0 1%;
  margin-bottom: 20px;
  text-align: center;
}
.faq table {
  width: 660px;
  border-collapse: collapse;
  border: 1px solid #aaa;
  background: #fff;
  margin-bottom: 20px;
}
.faq table thead th {
  padding: 10px;
  text-align: center;
  font-weight: bold;
}
.faq table thead th:nth-of-type(2) {
  background: #fed34f;
}
.faq table thead th:nth-of-type(3) {
  background: #d3eb8b;
}
.faq table thead th:nth-of-type(4) {
  background: #9bedfe;
}
.faq table tbody th {
  background: #eeeeee;
  padding: 10px;
  width: 16%;
}
.faq table tbody td {
  padding: 10px;
  background: #fff;
  width: 28%;
  vertical-align: top;
}
.faq table tbody td:nth-of-type(1) {
  background: #fff8e5;
}
.faq table tbody td ul {
  padding-left: 20px;
}
.faq table tbody td ul li {
  list-style: disc;
}

@media screen and (min-width: 768px) {
  .faq {
    margin-bottom: 50px;
    padding: 0 30px;
  }
  .faq .photo_right_01 {
    float: right;
    width: 60%;
    margin: 0 0 0 20px;
  }
  .faq .photo_right_02 {
    float: right;
    width: 50%;
    margin: 0 0 0 20px;
  }
  .faq table {
    width: 100%;
  }
  .faq table tbody th {
    width: 16%;
  }
  .faq table tbody td {
    width: 28%;
  }
}
/*----------------------------------------
	top_recommend
----------------------------------------*/
#top_recommend {
  margin-bottom: 30px;
}
#top_recommend h2 {
  margin-bottom: 10px;
  padding: 0 10px;
  text-align: center;
}
#top_recommend > div {
  margin-bottom: 10px;
  padding: 10px;
  background: #fffbf2;
  border: 1px solid #f8c851;
}
#top_recommend > div div {
  margin-bottom: 15px;
}
#top_recommend > div div figure {
  width: 30%;
  max-height: 110px;
  overflow: hidden;
}
#top_recommend > div div dl {
  width: 67%;
}
#top_recommend > div div dl dt {
  margin-bottom: 5px;
  background: #f8c851;
  padding: 5px 10px;
  width: 100%;
  font-weight: bold;
  font-size: 17px;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#top_recommend > div div dl dd {
  padding: 5px 10px;
  font-weight: bold;
  font-size: 18px;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#top_recommend > div div dl dd span {
  display: block;
  font-size: 14px;
}
#top_recommend > div p {
  position: relative;
  background: #fee5c4;
  padding: 2%;
  line-height: 1.6;
  border-radius: 10px;
}
#top_recommend > div p:after {
  content: '';
  position: absolute;
  display: block;
  top: -25px;
  left: 14%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-bottom: 15px solid #fee5c4;
}
#top_recommend > div p strong {
  color: #d8000f;
}

@media screen and (min-width: 768px) {
  #top_recommend {
    padding: 0 30px;
  }
  #top_recommend h2 {
    margin-bottom: 20px;
  }
  #top_recommend > div {
    position: relative;
  }
  #top_recommend > div div {
    margin-bottom: 0;
  }
  #top_recommend > div div figure {
    max-height: none;
    overflow: auto;
  }
  #top_recommend > div div dl dt {
    padding: 10px 15px;
    font-size: 20px;
  }
  #top_recommend > div div dl dd {
    padding: 10px 15px;
    font-size: 22px;
  }
  #top_recommend > div div dl dd span {
    font-size: 16px;
  }
  #top_recommend > div p {
    position: absolute;
    left: 35%;
    top: 150px;
    max-width: 520px;
    padding: 2%;
    line-height: 1.6;
  }
  #top_recommend > div p:after {
    top: 40%;
    left: -15px;
    border-top: 9px solid transparent;
    border-right: 15px solid #fee5c4;
    border-bottom: 9px solid transparent;
  }
}
/*----------------------------------------
	top_thought
----------------------------------------*/
#top_thought {
  padding: 0 10px 20px;
}
#top_thought h2 {
  text-align: center;
}
#top_thought figure {
  float: right;
  width: 48%;
  margin: 0 0 10px 10px;
}
#top_thought figure figcaption {
  margin: 15px 0 5px;
  line-height: 1.6;
  font-size: 14px;
  font-weight: bold;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#top_thought .staff {
  width: 100%;
  margin: 0 auto 30px;
}
#top_thought .staff li {
  width: 46%;
}
#top_thought .staff li span {
  display: block;
  margin: 15px 0 5px;
  line-height: 1.6;
  font-weight: bold;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#top_thought p {
  margin-bottom: 20px;
  line-height: 1.8;
}
#top_thought p:last-child {
  margin-bottom: 0;
}
#top_thought p span {
  background: linear-gradient(rgba(0, 0, 0, 0) 50%, #ffff6e 50%);
  font-weight: bold;
}
#top_thought p b {
  font-weight: bold;
}
#top_thought p strong {
  color: #ff8000;
  border-bottom: double 4px #ff8000;
  line-height: 1.8;
  font-weight: bold;
  font-size: 18px;
}
#top_thought .name {
  padding-right: 20px;
  margin-bottom: 0;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}

@media screen and (min-width: 768px) {
  #top_thought {
    padding: 0 0 20px;
  }
  #top_thought figure {
    display: table;
    float: right;
    width: 320px;
    margin: 0 0 0 2em;
  }
  #top_thought figure figcaption {
    font-size: 16px;
  }
  #top_thought .staff {
    width: 80%;
  }
}
/*----------------------------------------
	shop
----------------------------------------*/
#shop .shop_list {
  margin-bottom: 30px;
}

#shop .shop_list:last-child {
  margin-bottom: 0;
}

#shop .shop_list section {
  width: 49%;
  margin-bottom: 20px;
  background-color: #f6f5f4;
}

#shop .shop_list h3 {
  margin-bottom: 20px;
  padding: 15px;
  background-color: #ff8000;
  color: #fff;
  font-size: 17px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#shop .shop_list section div {
  padding: 0 20px 20px;
}

#shop .shop_list section p {
  margin-bottom: 20px;
  line-height: 1.8;
}

#shop .shop_list section p:last-child {
  margin-bottom: 0;
}

#shop .shop_list section li {
  width: 48.5%;
}

/*sp*/
@media (max-width: 767px) {
  #shop .shop_list section {
    width: 100%;
  }

  #shop .shop_list section li {
    width: 100%;
    margin-bottom: 20px;
  }
}
/****************************************

          price

*****************************************/
#price {
  position: relative;
}
#price .anchor ul {
  margin-bottom: 15px;
  text-align: center;
}
#price .anchor ul li {
  width: 23.5%;
  margin: 0 2% 15px 0;
}
#price .anchor ul li:nth-of-type(4n) {
  margin: 0 0 15px 0;
}
#price .anchor ul li a {
  display: table;
  width: 100%;
  height: 60px;
  color: #fff;
  font-weight: bold;
  padding: 0 10px;
  background: #ff8000;
}
#price .anchor ul li a span {
  display: table-cell;
  vertical-align: middle;
}
#price .anchor ul li a i {
  display: table-cell;
  vertical-align: middle;
  padding-right: 0;
  font-size: 20px;
}
#price .about {
  margin-bottom: 50px;
}
#price .about div {
  margin-bottom: 20px;
  padding: 1em 2em;
  border: 2px solid #ff8000;
  background-color: #fff6f6;
}
#price .about div h2 {
  margin-bottom: 20px;
  padding: 0 0 10px 0;
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 2px dotted #532200;
  text-align: center;
  line-height: 1.6;
  font-weight: bold;
  font-size: 24px;
}
#price .about div h2 span {
  border-bottom: double 3px #e5462c;
}
#price .about div li {
  position: relative;
  margin-bottom: 10px;
  padding: 0 0 0 35px;
  line-height: 1.4;
  font-size: 20px;
  font-weight: bold;
}
#price .about div li:last-child {
  margin-bottom: 0;
}
#price .about div li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: 0px;
  width: 33px;
  height: 31px;
  background: url('lib/images/common/check02.png?1520324520') no-repeat left top;
  z-index: 2;
}
#price .about p {
  line-height: 1.8;
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 18px;
}
#price .about p strong {
  color: #ff8000;
  font-size: 28px;
  font-weight: bold;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#price .about p u {
  border-bottom: double 3px #ff8000;
  text-decoration: none;
  font-size: 34px;
}
#price .about p span {
  color: #ff8000;
  font-weight: bold;
  font-size: 20px;
}
#price .guide > section {
  margin-bottom: 70px;
}
#price .guide > section:last-child {
  margin-bottom: 20px;
}
#price .guide picture {
  display: block;
  margin-bottom: 20px;
}
#price .guide .note {
  line-height: 2.0;
  margin: 0 0 30px;
  font-size: 16px;
  font-weight: 400;
}
@media only screen and (max-width: 787px) {
  #price .guide .note {
    font-size: 16px;
    line-height: 1.8;
    padding: 0 10px;
  }
}
#price .guide .price_text {
  margin-bottom: 30px;
  padding: 20px 15px;
  background-color: #ff8000;
  color: #fff;
  font-size: 30px;
  text-align: center;
  font-weight: bold;
  font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E","HGS明朝E","ＭＳ Ｐ明朝", serif;
}
#price .guide .price_text span {
  font-size: 16px;
}
#price .guide .price_text b {
  font-size: 22px;
}
#price .guide .price_text br {
  display: none;
}
#price .guide .u18 {
  margin-bottom: 30px;
}
#price .guide figure {
  margin-bottom: 30px;
}
#price .guide .attention {
  margin-bottom: 30px;
  font-weight: bold;
  line-height: 1.4;
  color: #ff8000;
}
#price .guide .att_text {
  text-align: right;
}
#price .guide .symptom_list {
  margin-bottom: 30px;
}
#price .guide .symptom_list ul li {
  width: calc(94% / 3);
  padding: 10px 0;
  margin: 0 1% 15px;
  text-align: center;
  background-color: #f32717;
  border-radius: 8px;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
}
#price .guide .symptom_list ul li span {
  font-size: 12px;
}
#price .guide .symptom_list ul li br {
  display: none;
}
#price .guide .symptom_list .toggle {
  padding: 0 1%;
}
#price .guide .symptom_list .toggle dt.bt_toggle {
  position: relative;
  margin: 10px 0 0;
  padding: 8px 30px 8px 15px;
  background: #ff8000;
  color: #fff;
  font-weight: bold;
  line-height: 1.4;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#price .guide .symptom_list .toggle dt.bt_toggle:after {
  content: "\f0ab";
  font-family: FontAwesome;
  width: 1em;
  height: 1em;
  position: absolute;
  right: 5px;
  top: 0;
  bottom: 5px;
  margin: auto;
  font-size: 22px;
  color: #fff;
}
#price .guide .symptom_list .toggle dt.bt_toggle.active:after {
  content: "\f0aa";
}
#price .guide .symptom_list .toggle .panel_toggle {
  display: none;
  padding-top: 20px;
}
#price .guide .flow > section {
  background: #fffdec;
  margin-bottom: 20px;
  padding: 20px;
}
@media only screen and (max-width: 787px) {
  #price .guide .flow > section {
    padding: 20px 10px 10px;
  }
}
#price .guide .flow > section div {
  width: 52%;
}
@media only screen and (max-width: 787px) {
  #price .guide .flow > section div {
    width: 100%;
  }
}
#price .guide .flow > section div h3 {
  position: relative;
  margin-bottom: 20px;
  padding: 0 0 15px 3.0em;
  border-bottom: 1px dotted #ff8000;
  color: #ff8000;
  font-size: 22px;
  font-weight: bold;
}
@media only screen and (max-width: 787px) {
  #price .guide .flow > section div h3 {
    padding: 0 0 15px 2.5em;
    margin-bottom: 15px;
    font-size: 20px;
  }
}
#price .guide .flow > section div h3:before {
  counter-increment: number;
  content: counter(number,decimal-leading-zero) ".";
  position: absolute;
  left: 15px;
  top: 0;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (max-width: 787px) {
  #price .guide .flow > section div h3:before {
    left: 10px;
    font-size: 28px;
  }
}
#price .guide .flow > section div p {
  line-height: 2.0;
  margin-bottom: 15px;
}
#price .guide .flow > section div p span {
  font-weight: bold;
  font-size: 16px;
}
#price .guide .flow > section figure {
  width: 44%;
}
@media only screen and (max-width: 787px) {
  #price .guide .flow > section figure {
    width: 100%;
  }
}
#price .guide .flow > section figure img {
  width: 100%;
  height: auto;
}
#price #refund .read {
  margin-bottom: 40px;
}
#price #refund h2 + p {
  text-align: left;
  line-height: 1.4;
  color: #58382e;
  font-weight: bold;
  font-size: 20px;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#price #refund h2 + p strong {
  color: #ff8000;
  border-bottom: double 3px #ffd634;
  font-size: 26px;
}
#price #refund .list_check {
  padding: 25px 30px 10px;
  background-color: #fff8ef;
  border-radius: 10px;
  margin-bottom: 20px;
}
#price #refund .list_check li {
  position: relative;
  margin-bottom: 12px;
  padding: 3px 0 0 30px;
  font-weight: bold;
  line-height: 1.4;
  font-size: 18px;
}
#price #refund .list_check li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: 0px;
  width: 27px;
  height: 26px;
  background: url('lib/images/common/check02.png?1520324520') no-repeat left top;
  z-index: 2;
}
#price #refund p {
  line-height: 1.8;
  padding: 0 20px;
  margin-bottom: 15px;
}
#price #refund p span {
  color: #ff8000;
  font-weight: bold;
  font-size: 22px;
}
#price #refund p strong {
  color: #ff8000;
  border-bottom: double 3px #ffd634;
  font-size: 30px;
}
#price #refund div div {
  width: 60%;
}
#price #refund div figure {
  width: 38%;
  padding-right: 20px;
}
#price #refund #guarantee {
  margin-bottom: 50px;
}
#price #refund #guarantee figure {
  margin-bottom: 20px;
}
#price #refund #application div {
  padding: 20px 20px 0;
  border: 5px solid #624122;
}
#price #refund #application p {
  font-size: 16px;
}
#price #refund #application p a {
  color: #ff8000;
  border-bottom: double 3px #ffd634;
  font-size: 22px;
}
#price #refund #application dt {
  padding: 10px;
  margin-bottom: 10px;
  background: #b28850;
  text-align: center;
  font-size: 20px;
  color: #fff;
}
#price #refund #application dd {
  line-height: 1.8;
  padding: 0 20px;
  margin-bottom: 20px;
}
#price #refund #application ul {
  padding: 0 20px;
  margin-bottom: 20px;
}
#price #refund #application ul li {
  position: relative;
  margin-bottom: 12px;
  padding: 0 0 0 30px;
  color: #58382e;
  font-weight: bold;
  font-size: 18px;
}
#price #refund #application ul li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;

  top: 1px;
  width: 27px;
  height: 26px;
  background: url('lib/images/common/check02.png?1520324520') no-repeat left top;
  z-index: 2;
}
#price .credit {
  padding: 1.5em 2em;
  margin-bottom: 40px;
  border: 2px solid #532200;
  background-color: #f1edee;
  border-radius: 10px;
}
#price .credit h2 {
  margin-bottom: 20px;
  text-align: center;
  color: #58382e;
  font-weight: bold;
  font-size: 24px;
}
#price .credit ul li {
  width: 18%;
}

/*sp*/
@media (max-width: 767px) {
  #price .anchor ul {
    margin-bottom: 15px;
    text-align: center;
  }
  #price .anchor ul li {
    width: 48%;
    margin: 0 1% 10px;
  }
  #price .anchor ul li:nth-of-type(4n) {
    margin: 0 1% 10px;
  }
  #price .anchor ul li span {
    font-size: 14px;
  }
  #price .about {
    margin-bottom: 40px;
  }
  #price .about div {
    padding: 1em 1em;
  }
  #price .about div h2 {
    font-size: 18px;
    text-align: left;
  }
  #price .about div h2 br {
    display: none;
  }
  #price .about div li {
    padding: 2px 0 0 35px;
    font-size: 18px;
  }
  #price .about p {
    font-weight: normal;
    font-size: 16px;
    padding: 0 5px;
  }
  #price .about p br {
    display: block;
  }
  #price .about p strong {
    font-size: 20px;
  }
  #price .guide .price_text {
    margin-bottom: 20px;
    font-size: 26px;
    text-align: center;
    padding: 20px 10px;
  }
  #price .guide .price_text span {
    font-size: 14px;
  }
  #price .guide .price_text b {
    font-size: 18px;
  }
  #price .guide .price_text br {
    display: block;
  }
  #price .guide .insurance_text dt {
    padding: 10px 5px;
    font-size: 20px;
  }
  #price .guide .insurance_text dd {
    padding: 10px 10px 0;
  }
  #price .guide .insurance_text dd img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
  }
  #price .guide .symptom_list ul li br {
    display: block;
  }
  #price .guide .flow dl {
    padding: 0 10px;
  }
  #price .guide .flow dt {
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 20px;
  }
  #price .guide .flow dd {
    font-size: 18px;
  }
  #price .guide .flow p {
    padding: 0 10px;
  }
  #price #refund h2 + p {
    font-size: 18px;
  }
  #price #refund .list_check {
    padding: 20px 10px 10px 15px;
  }
  #price #refund .list_check li {
    padding: 2px 0 0 35px;
    font-size: 18px;
  }
  #price #refund p {
    padding: 0 5px;
    margin-bottom: 15px;
  }
  #price #refund p span {
    font-size: 20px;
  }
  #price #refund p strong {
    font-size: 20px;
  }
  #price #refund div div {
    width: 100%;
  }
  #price #refund div figure {
    width: 100%;
    padding-right: 0;
  }
  #price #refund #application {
    margin-bottom: 20px;
  }
  #price #refund #application div {
    padding: 15px 15px 0;
  }
  #price .credit {
    padding: 1.5em 1em;
  }
  #price .credit h2 {
    font-size: 19px;
    text-align: left;
  }
  #price .credit ul li {
    width: 18%;
  }
}
/****************************************

          guarantee

*****************************************/
#guarantee {
  position: relative;
}
#guarantee .about {
  margin-bottom: 50px;
}
#guarantee .about .ttl {
  margin-bottom: 20px;
  color: #ff8000;
  text-align: center;
  line-height: 1.6;
  font-weight: bold;
  font-size: 36px;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
#guarantee .about div {
  margin-bottom: 20px;
  padding: 1em 2em;
  border: 2px solid #ff8000;
  background-color: #fff6f6;
}
#guarantee .about div h2 {
  margin-bottom: 20px;
  padding: 0 0 10px 0;
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 2px dotted #532200;
  text-align: center;
  line-height: 1.6;
  font-weight: bold;
  font-size: 24px;
}
#guarantee .about div h2 span {
  border-bottom: double 3px #e5462c;
}
#guarantee .about div li {
  position: relative;
  margin-bottom: 10px;
  padding: 0 0 0 35px;
  line-height: 1.4;
  font-size: 20px;
  font-weight: bold;
}
#guarantee .about div li:last-child {
  margin-bottom: 0;
}
#guarantee .about div li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: 0px;
  width: 33px;
  height: 31px;
  background: url('lib/images/common/check02.png?1520324520') no-repeat left top;
  z-index: 2;
}
#guarantee .about p {
  line-height: 1.8;
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 18px;
}
#guarantee .refund {
  margin-bottom: 50px;
}
#guarantee .refund > section {
  margin-bottom: 70px;
}
#guarantee .refund > section:last-child {
  margin-bottom: 0;
}
#guarantee .refund .note {
  margin-bottom: 30px;
}
#guarantee .refund .note ul li {
  position: relative;
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 18px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
}
#guarantee .refund .note ul li .left {
  text-align: center;
  background-color: #f32717;
  border: 4px solid #f32717;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 6px;
  min-width: 140px;
  margin: 0 20px 0 0;
  font-size: 22px;
}
#guarantee .refund .note ul li .right {
  display: block;
}
#guarantee .refund .note ul li .right u {
  text-decoration: underline;
  font-weight: bold;
}
#guarantee .refund .note p {
  line-height: 1.8;
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 18px;
}
#guarantee .refund .note p img {
  margin: 10px 0;
}
#guarantee .refund .note p b {
  color: #ff8000;
  font-weight: bold;
  font-size: 18px;
}
#guarantee .refund .note p strong {
  color: #ff8000;
  border-bottom: double 3px #ffd634;
  font-size: 30px;
}
#guarantee .refund figure {
  margin-bottom: 30px;
}
#guarantee .refund .application div {
  padding: 20px 20px 0;
  border: 5px solid #624122;
}
#guarantee .refund .application p {
  font-size: 16px;
  margin-bottom: 20px;
}
#guarantee .refund .application p a {
  color: #ff8000;
  border-bottom: double 3px #ffd634;
  font-size: 22px;
}
#guarantee .refund .application dt {
  padding: 10px;
  margin-bottom: 10px;
  background: #b28850;
  text-align: center;
  font-size: 20px;
  color: #fff;
}
#guarantee .refund .application dd {
  line-height: 1.8;
  padding: 0 20px;
  margin-bottom: 20px;
}
#guarantee .refund .application ul {
  padding: 0 20px;
  margin-bottom: 20px;
}
#guarantee .refund .application ul li {
  position: relative;
  margin-bottom: 12px;
  padding: 0 0 0 30px;
  color: #58382e;
  font-weight: bold;
  font-size: 18px;
}
#guarantee .refund .application ul li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: 1px;
  width: 27px;
  height: 26px;
  background: url('lib/images/common/check02.png?1520324520') no-repeat left top;
  z-index: 2;
}

/*sp*/
@media (max-width: 767px) {
  #guarantee .about {
    margin-bottom: 40px;
  }
  #guarantee .about .ttl {
    font-size: 24px;
  }
  #guarantee .about div {
    padding: 1em 1em;
  }
  #guarantee .about div h2 {
    font-size: 18px;
    text-align: left;
  }
  #guarantee .about div h2 br {
    display: none;
  }
  #guarantee .about div li {
    padding: 2px 0 0 35px;
    font-size: 18px;
  }
  #guarantee .about p {
    font-weight: normal;
    font-size: 16px;
    padding: 0 5px;
  }
  #guarantee .about p br {
    display: block;
  }
  #guarantee .about p strong {
    font-size: 20px;
  }
  #guarantee .refund > section {
    margin-bottom: 40px;
  }
  #guarantee .refund .note {
    margin-bottom: 30px;
  }
  #guarantee .refund .note ul li {
    display: block;
  }
  #guarantee .refund .note ul li .left {
    display: block;
    width: 100%;
    padding: 5px 15px 3px;
    margin: 0 0 10px;
    font-size: 20px;
  }
  #guarantee .refund .note ul li .right {
    padding: 0 10px;
    font-size: 16px;
  }
  #guarantee .refund .note p {
    line-height: 1.8;
    padding: 0 10px;
    margin-bottom: 15px;
    font-weight: normal;
    font-size: 16px;
  }
  #guarantee .refund .note p img {
    margin: 10px 0;
  }
  #guarantee .refund .note p b {
    font-size: 16px;
  }
  #guarantee .refund .note p strong {
    font-size: 24px;
  }
  #guarantee .refund figure {
    margin-bottom: 20px;
  }
}
/****************************************

          staff

*****************************************/
#staff {
  position: relative;
}
#staff .policy {
  margin-bottom: 50px;
}
#staff .policy > div {
  background-color: #fff8ef;
  padding: 20px 30px;
}
#staff .policy > div > figure {
  width: 38%;
  text-align: right;
}
#staff .policy > div h3 {
  margin-bottom: 20px;
  color: #ff8000;
  font-weight: bold;
  font-size: 32px;
}
#staff .policy > div div {
  width: 58%;
  margin-right: 4%;
}
#staff .policy > div div p {
  line-height: 1.8;
  margin-bottom: 20px;
  font-weight: bold;
}
#staff .policy > div div p span {
  line-height: 1.8;
  color: #ff8000;
  font-size: 18px;
  font-weight: bold;
}
#staff .policy > div div p b {
  font-size: 17px;
}
#staff .policy > div div p strong {
  color: #ff8000;
  border-bottom: double 4px #ff8000;
  line-height: 1.8;
  font-weight: bold;
  font-size: 18px;
}
#staff .policy > div div .tar {
  text-align: right;
  padding-right: 20px;
}
#staff .profile {
  margin-bottom: 40px;
}
#staff .profile > div {
  margin-bottom: 30px;
  padding: 0 20px;
}
#staff .profile > div dl {
  width: 52%;
}
#staff .profile > div dl dt {
  margin-bottom: 3px;
  font-weight: bold;
  color: #ff8000;
  font-size: 18px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#staff .profile > div dl dd {
  margin-bottom: 20px;
  line-height: 1.4;
  font-size: 16px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#staff .profile > div dl dd img {
  vertical-align: top;
}
#staff .profile > div figure {
  width: 300px;
}
#staff .profile > div figure img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}
#staff .story {
  margin-bottom: 50px;
}
#staff .story:last-child {
  margin-bottom: 0;
}
#staff .story section {
  margin-bottom: 40px;
}
#staff .story section:last-child {
  margin-bottom: 0;
}
#staff .story section > figure {
  float: right;
  width: 38%;
  margin: 0 10px 0 2em;
}
#staff .story section > figure img {
  margin-bottom: 25px;
}
#staff .story section h3 {
  position: relative;
  margin-bottom: 20px;
  padding: 0 0 15px 15px;
  border-bottom: 1px dotted #624122;
  color: #ff8000;
  font-weight: bold;
  font-size: 22px;
}
#staff .story section div {
  padding: 0 10px;
}
#staff .story section div p {
  line-height: 1.8;
  margin-bottom: 20px;
}
#staff .story section div p b {
  font-size: 17px;
}
#staff .story section div p strong {
  color: #ff8000;
  border-bottom: double 4px #ff8000;
  line-height: 1.8;
  font-weight: bold;
  font-size: 18px;
}

/*sp*/
@media (max-width: 767px) {
  #staff .policy {
    margin-bottom: 50px;
  }
  #staff .policy > div {
    padding: 20px 15px;
  }
  #staff .policy > div > figure {
    width: 100%;
    text-align: center;
  }
  #staff .policy > div > figure img {
    width: 100%;
    height: auto;
  }
  #staff .policy > div h3 {
    font-size: 26px;
  }
  #staff .policy > div div {
    width: 100%;
    margin-right: 0;
  }
  #staff .policy > div div p {
    margin-bottom: 20px;
  }
  #staff .policy > div div .tar {
    margin-bottom: 30px;
  }
  #staff .profile h2 span {
    display: block;
  }
  #staff .profile > div {
    margin-bottom: 10px;
    padding: 0 10px;
  }
  #staff .profile > div dl {
    width: 100%;
  }
  #staff .profile > div dl dt {
    margin-bottom: 5px;
  }
  #staff .profile > div dl dd {
    margin-bottom: 20px;
  }
  #staff .profile > div figure {
    width: 100%;
    margin-right: 0;
  }
  #staff .story section > figure {
    float: none;
    width: 100%;
    margin: 0 0 0 0;
  }
  #staff .story section > figure img {
    margin-bottom: 15px;
  }
  #staff .story section h3 {
    padding: 0 0 15px 10px;
    font-size: 22px;
    letter-spacing: 0;
  }
}
/****************************************

          about

*****************************************/
#about {
  position: relative;
}
#about .profile > div {
  margin-bottom: 30px;
  padding: 0 20px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-content: center;
  align-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#about .profile > div dl {
  margin-top: 0;
}
#about .profile > div dl dt {
  margin-bottom: 5px;
  font-weight: bold;
  color: #ff8000;
  font-size: 18px;
  font-family: 'Noto Sans JP',"游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
#about .profile > div dl dd {
  margin-bottom: 20px;
  line-height: 1.4;
  font-size: 18px;
  font-family: 'Noto Sans JP',"游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
#about .profile > div figure {
  margin-right: 80px;
}
#about .profile > div figure img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}
#about .story section {
  margin-bottom: 30px;
}
#about .story section:last-child {
  margin-bottom: 0;
}
#about .story section > figure {
  float: right;
  width: 40%;
  margin: 0 0 0 2em;
}
#about .story section > figure img {
  margin-bottom: 15px;
  box-shadow: 0 0 6px #aaa;
}
#about .story section h3 {
  position: relative;
  margin-bottom: 20px;
  padding: 0 0 10px 15px;
  border-bottom: 1px dotted #624122;
  color: #380707;
  font-weight: bold;
  font-size: 22px;
}
#about .story section div {
  padding: 0 10px;
}
#about .story section div p {
  line-height: 1.8;
  margin-bottom: 20px;
}
#about .story section div p:last-child {
  margin-bottom: 0;
}
#about .story section div p span {
  color: #e67a49;
}
#about .story section div p strong {
  display: block;
  margin-top: 10px;
  line-height: 1.8;
  color: #ff8000;
  font-size: 18px;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}

/*sp*/
@media (max-width: 767px) {
  #about .profile h2 span {
    display: block;
  }
  #about .profile > div {
    margin-bottom: 10px;
    padding: 0 10px;
  }
  #about .profile > div dl dt {
    margin-bottom: 5px;
  }
  #about .profile > div dl dd {
    margin-bottom: 20px;
  }
  #about .profile > div figure {
    width: 100%;
    margin-right: 0;
  }
  #about .story section > figure {
    float: none;
    width: 100%;
    margin: 0 0 0 0;
  }
  #about .story section > figure img {
    margin-bottom: 15px;
  }
  #about .story section h3 {
    padding: 0 0 10px 5px;
    font-size: 22px;
    letter-spacing: 0;
  }
  #about .story section div {
    padding: 0 5px;
  }
}
/****************************************

          method

*****************************************/
#method {
  position: relative;
}
#method .about {
  margin-bottom: 30px;
  padding: 30px 33px 0;
}
#method .about .picture {
  text-align: center;
  margin-bottom: 30px;
}
#method .about p {
  line-height: 1.8;
}
#method .about > div {
  margin-bottom: 20px;
  padding: 1em 2em;
  border: 4px solid #f32717;
  background-color: #fff8ef;
}
#method .about > div h2 {
  margin-bottom: 10px;
  padding: 0 0 10px 0;
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 2px dotted #532200;
  text-align: center;
  line-height: 1.6;
  font-weight: bold;
  font-size: 40px;
  color: #ff8000;
}
#method .about > div h2 span {
  border-bottom: double 3px #ff8000;
}
#method .about > div div ul {
  width: 70%;
}
#method .about > div div ul li {
  position: relative;
  padding: 10px 0 10px 50px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#method .about > div div ul li:last-child {
  margin-bottom: 0;
}
#method .about > div div ul li:before {
  counter-increment: quality;
  content: counter(quality);
  position: absolute;
  left: 8px;
  top: 0;
  bottom: 0;
  height: 20px;
  margin: auto;
  padding: 5px 10px;
  background: #ff8000;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.2;
  color: #fff;
  border-radius: 6px;
}
#method .about > div div ul li strong {
  color: #ff8000;
}
#method .about > div div figure {
  width: 25%;
}
#method .about > div div figure img {
  border: 1px solid #ccc;
}
#method .cause {
  padding: 0 33px;
}
#method .cause section {
  margin-bottom: 60px;
}
#method .cause section p {
  padding: 0 10px;
  line-height: 1.8;
  margin-bottom: 20px;
}
#method .cause section p strong {
  color: #ff8000;
  border-bottom: double 3px #ffd634;
  font-size: 26px;
}
#method .cause section p span {
  color: #ff8000;
  font-weight: bold;
  font-size: 22px;
}
#method .cause section .float_r {
  float: right;
  width: 35%;
  padding: 0 0 15px 15px;
}
#method .cause section .tac {
  text-align: center;
}
#method .cause section .ttl {
  display: block;
  color: #ff8000;
  font-size: 34px;
  font-weight: bold;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
  text-align: center;
}
#method .cause section figure {
  margin-bottom: 20px;
  text-align: center;
}
#method .cause section h3 {
  text-align: center;
  margin: 40px 0 20px;
}
#method .tonton {
  padding: 0 33px;
  margin-bottom: 30px;
}
#method .tonton h2 {
  text-align: center;
  margin-bottom: 30px;
}
#method .tonton .youtube {
  margin-bottom: 30px;
}
#method .tonton p {
  line-height: 1.8;
  padding: 0 10px;
  margin-bottom: 20px;
}
#method .tonton p strong {
  color: #ff8000;
  border-bottom: 1px solid #ff8000;
}
#method .tonton .tar {
  text-align: right;
  padding-right: 20px;
}
#method .tonton figure {
  text-align: center;
  margin-bottom: 30px;
}

/*sp*/
@media (max-width: 767px) {
  #method .about {
    padding: 30px 5px 0;
    margin-bottom: 40px;
  }
  #method .about > div {
    padding: 1em 1em;
  }
  #method .about > div h2 {
    font-size: 24px;
  }
  #method .about > div div ul {
    width: 100%;
    margin-bottom: 20px;
  }
  #method .about > div div ul li {
    padding: 5px 0 5px 50px;
    font-size: 20px;
    font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  #method .about > div div figure {
    width: 100%;
  }
  #method .about p {
    font-weight: normal;
    font-size: 16px;
    padding: 0 5px;
  }
  #method .about p br {
    display: block;
  }
  #method .about p strong {
    font-size: 16px;
  }
  #method .cause {
    padding: 0 5px;
  }
  #method .cause section {
    margin-bottom: 40px;
  }
  #method .cause section p strong {
    font-size: 20px;
  }
  #method .cause section .ttl {
    text-align: left;
    font-size: 23px;
  }
  #method .cause section .ttl br {
    display: none;
  }
  #method .tonton {
    padding: 0 5px;
  }
}
/****************************************

          access

*****************************************/
#access {
  position: relative;
}
#access .info {
  margin-bottom: 20px;
}
#access .info dt {
  margin-bottom: 15px;
  text-align: center;
  font-weight: bold;
  font-size: 30px;
}
#access .info dt span {
  display: block;
  font-size: 20px;
}
#access .info dd {
  margin-bottom: 5px;
  padding: 0 10%;
  line-height: 2.0;
  font-size: 16px;
  display: table;
}
#access .info dd b {
  display: table-cell;
  min-width: 84px;
  padding: 5px 0 2px 20px;
}
#access .info dd a {
  font-size: 30px;
  font-weight: bold;
}
#access .info dd a:hover {
  text-decoration: none;
}
#access .info dd .br {
  display: block;
}
#access h3 {
  margin-bottom: 30px;
  padding: 10px 20px;
  text-align: center;
  font-weight: bold;
  font-size: 24px;
}
#access h3 i {
  margin-right: 15px;
}
#access h3.metro {
  background-color: #e5f4fe;
  border-bottom: solid 4px #0087cd;
}
#access h3.metro i {
  color: #0087cd;
}
#access h3.jr {
  background-color: #e5fee5;
  border-bottom: solid 4px #40ae4b;
}
#access h3.jr i {
  color: #40ae4b;
}
#access h3.tokyu {
  background-color: #fee5e5;
  border-bottom: solid 4px #d70046;
}
#access h3.tokyu i {
  color: #d70046;
}
#access #googlemap {
  margin-bottom: 40px;
}
#access #root .root_list {
  padding: 0 20px;
  margin-bottom: 20px;
}
#access #root .root_list li {
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 20px;
}
#access #root .root_list li i {
  margin-right: 10px;
}
#access #root .text {
  margin-bottom: 30px;
  padding: 0 20px;
  font-weight: bold;
  font-size: 16px;
}
#access #root .root_link {
  margin-bottom: 30px;
  text-align: center;
}
#access #root .root_link li {
  width: 31.33333%;
  margin: 0 2% 20px 0;
}
#access #root .root_link li:nth-of-type(4n) {
  margin: 0 0 20px 0;
}
#access #root .root_link li a {
  display: table;
  width: 100%;
  height: 70px;
  color: #fff;
  font-weight: bold;
  padding: 0 8%;
}
#access #root .root_link li a.metro {
  background-color: #0087cd;
  border: 2px solid #0087cd;
}
#access #root .root_link li a.metro:hover {
  background-color: #fff;
  color: #0087cd;
  text-decoration: none;
}
#access #root .root_link li a.metro:hover i {
  color: #0087cd;
}
#access #root .root_link li a.jr {
  background-color: #40ae4b;
  border: 2px solid #40ae4b;
}
#access #root .root_link li a.jr:hover {
  background-color: #fff;
  color: #40ae4b;
  text-decoration: none;
}
#access #root .root_link li a.jr:hover i {
  color: #40ae4b;
}
#access #root .root_link li a.tokyu {
  background-color: #d70046;
  border: 2px solid #d70046;
}
#access #root .root_link li a.tokyu:hover {
  background-color: #fff;
  color: #d70046;
  text-decoration: none;
}
#access #root .root_link li a.tokyu:hover i {
  color: #d70046;
}
#access #root .root_link li a span {
  display: table-cell;
  vertical-align: middle;
}
#access #root .root_link li a i {
  display: table-cell;
  vertical-align: middle;
  padding-right: 10px;
  font-size: 20px;
}
#access #root .access_root {
  margin-bottom: 50px;
}
#access #root .access_root:last-child {
  margin-bottom: 0;
}
#access #root .access_root ul {
  max-width: 750px;
  margin: 0 auto;
}
#access #root .access_root ul li {
  margin-bottom: 30px;
}
#access #root .access_root ul li span {
  display: block;
  margin-bottom: 10px;
  padding-left: 1em;
  text-indent: -1em;
  font-weight: bold;
  font-size: 18px;
}
#access #root .access_root ul li img {
  margin-bottom: 10px;
}
#access #elevator > section:nth-of-type(1) {
  margin-bottom: 50px;
}
#access #elevator table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  border: 1px solid #ccc;
}
#access #elevator table th {
  width: 30%;
  padding: 20px 0 20px 20px;
  background-color: #fff5f6;
  border-bottom: 1px dotted #ccc;
  font-weight: bold;
  vertical-align: middle;
  letter-spacing: 0;
}
#access #elevator table th span {
  color: #ff473d;
}
#access #elevator table td {
  padding: 12px 20px 12px;
  border-bottom: 1px dotted #ccc;
  vertical-align: middle;
}

/*sp*/
@media (max-width: 767px) {
  #access .info {
    margin-bottom: 20px;
  }
  #access .info dt {
    font-size: 24px;
  }
  #access .info dd {
    text-align: center;
    margin-bottom: 15px;
    padding: 0;
    line-height: 1.8;
    display: block;
  }
  #access .info dd span {
    display: block;
  }
  #access .info dd b {
    display: block;
    padding: 0;
  }
  #access h3 {
    font-size: 18px;
  }
  #access #root .root_list {
    padding: 0 10px;
  }
  #access #root .root_list li {
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 18px;
  }
  #access #root .root_link {
    text-align: center;
  }
  #access #root .root_link li {
    width: 48.5%;
    margin: 0 3% 10px 0;
  }
  #access #root .root_link li:nth-of-type(2n) {
    margin: 0 0 10px 0;
  }
  #access #root .root_link li a {
    height: 60px;
    font-size: 13px;
    padding: 0 5px;
  }
  #access #root .access_root ul li span {
    font-size: 14px;
  }
  #access #elevator table, #access #elevator tbody, #access #elevator tr, #access #elevator th, #access #elevator td {
    display: block;
  }
  #access #elevator table th {
    width: 100%;
    padding: 15px;
  }
  #access #elevator table td {
    padding: 12px 15px 12px;
  }
  #access #elevator table input[type="text"], #access #elevator table input[type="email"], #access #elevator table input[type="tel"] {
    height: 40px;
  }
  #access #elevator table .mwform-tel-field input {
    width: 30%;
  }
}
/****************************************

          recommend

*****************************************/
#recommend h2 {
  text-align: center;
  margin-bottom: 30px;
}
#recommend p img {
  width: 100%;
}
#recommend .recommend_voice article {
  margin-bottom: 40px;
}
#recommend .recommend_voice article:last-child {
  margin-bottom: 0;
}
#recommend .recommend_voice article h3 {
  margin-bottom: 20px;
  padding: 5px 20px;
  border-left: solid 5px #ffa800;
  background: #ffea98;
  font-size: 20px;
  font-weight: bold;
}
#recommend .recommend_voice article h3 span {
  font-size: 16px;
}
#recommend .recommend_voice article .panel {
  padding: 0 20px;
}
#recommend .recommend_voice article .panel figure {
  float: right;
  width: 280px;
  padding: 0 0 10px 30px;
}
#recommend .recommend_voice article .panel div p {
  margin-bottom: 20px;
  line-height: 1.8;
}

/*sp*/
@media (max-width: 767px) {
  #recommend h2 {
    text-align: center;
    margin-bottom: 30px;
  }
  #recommend .recommend_voice article {
    margin-bottom: 30px;
  }
  #recommend .recommend_voice article .panel {
    padding: 0 10px;
  }
  #recommend .recommend_voice article .panel figure {
    width: 40%;
    padding: 0 0 10px 10px;
  }
  #recommend .recommend_voice article .panel div p {
    margin-bottom: 15px;
  }
}
/****************************************

          privacy_policy

*****************************************/
#privacy_policy p {
  padding: 0 10px;
  line-height: 1.8;
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: bold;
}
#privacy_policy dl {
  counter-reset: number;
}
#privacy_policy dl dt {
  margin-bottom: 15px;
  padding: 0 10px 15px;
  border-bottom: 1px dotted #624122;
  color: #ff8000;
  font-weight: bold;
  font-size: 18px;
}
#privacy_policy dl dt:before {
  counter-increment: number 1;
  content: counter(number) ".";
  padding-right: 10px;
}
#privacy_policy dl dd {
  padding: 0 10px;
  line-height: 1.8;
  margin-bottom: 20px;
}

/****************************************

          contact

*****************************************/
.form h2 {
  margin-bottom: 30px;
  color: #e1513a;
  font-size: 24px;
  font-weight: bold;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
}
.form figure {
  float: right;
  width: 50%;
  margin: 0 0 20px 20px;
}
.form figure img {
  width: 100%;
  height: auto;
}
.form figure figcaption {
  display: block;
  margin-top: 10px;
}
.form p {
  margin: 0 auto 20px;
  line-height: 1.8;
}
.form p a {
  font-weight: bold;
  font-size: 18px;
}
.form table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  border: 1px solid #ccc;
}
.form table th {
  width: 30%;
  padding: 20px 0 20px 20px;
  background-color: #ffe8b8;
  border-bottom: 1px dotted #ccc;
  font-weight: bold;
  vertical-align: middle;
  letter-spacing: 0;
}
.form table th span {
  color: #ff473d;
}
.form table td {
  padding: 12px 20px 12px;
  border-bottom: 1px dotted #ccc;
  vertical-align: middle;
}
.form table input[type="text"], .form table input[type="email"], .form table input[type="tel"] {
  height: 46px;
  padding: 5px 10px;
  border: 1px solid #bbb;
}
.form table .name input, .form table .mail input {
  width: 100%;
}
.form table textarea {
  width: 100%;
  padding: 5px 10px;
  border: 1px solid #bbb;
}
.form table input[type="text"]:focus, .form table input[type="email"]:focus, .form table input[type="tel"]:focus, .form table textarea:focus {
  border: 1px solid #ffb008;
  outline: medium none;
}
.form table p {
  margin-bottom: 10px;
  text-align: left;
  line-height: 1.8;
}
.form p.submit .submit_bt {
  display: inline-block;
  width: 34%;
  margin: 0 15px;
  padding: 15px 0;
  background: #e2523a;
  border: 1px solid #e2523a;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -o-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
}
.form p.submit .submit_bt:hover {
  background: #ff6a00;
  border: 1px solid #ff6a00;
}
.form p.submit .back_bt {
  display: inline-block;
  width: 34%;
  margin: 0 15px;
  padding: 15px 0;
  background: #888;
  border: 1px solid #888;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -o-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
}
.form p.submit .back_bt:hover {
  background: #ccc;
  border: 1px solid #ccc;
}
.form p.comp {
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  padding: 20px;
  border: 1px solid #ccc;
}

/*sp*/
@media (max-width: 767px) {
  .form {
    padding: 0 10px;
  }
  .form h2 {
    margin-bottom: 20px;
    color: #e1513a;
    font-size: 22px;
    font-weight: bold;
    font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "HGS明朝E", serif;
  }
  .form figure {
    float: none;
    width: 100%;
    margin: 0 0 30px 0;
  }
  .form table, .form tbody, .form tr, .form th, .form td {
    display: block;
  }
  .form table th {
    width: 100%;
    padding: 15px;
  }
  .form table td {
    padding: 12px 15px 12px;
  }
  .form table input[type="text"], .form table input[type="email"], .form table input[type="tel"] {
    height: 40px;
  }
  .form table .mwform-tel-field input {
    width: 30%;
  }
}
/****************************************

          media

*****************************************/
#media section {
  margin-bottom: 50px;
}
#media h2 {
  margin-bottom: 30px;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
}
#media h3 {
  position: relative;
  margin-bottom: 30px;
  padding: 12px 10px;
  border-top: 5px solid #ff8000;
  border-bottom: 1px dotted #ff8000;
  font-size: 20px;
  font-weight: bold;
}
#media h3 br {
  display: none;
}
#media li {
  text-align: center;
  margin-bottom: 20px;
}

/*sp*/
@media (max-width: 767px) {
  #media h3 {
    font-size: 18px;
  }
  #media h3 br {
    display: block;
  }
}
/*----------------------------------------
	ashi_voice
----------------------------------------*/
.ashi_voice {
  margin-bottom: 60px;
}
.ashi_voice h2 {
  margin-bottom: 20px;
  padding: 0 10px;
  text-align: center;
}
.ashi_voice .text {
  padding: 20px 0 10px;
}
.ashi_voice .text p {
  margin-bottom: 20px;
  padding: 0 30px;
  line-height: 1.8;
}
.ashi_voice .text p:last-child {
  margin-bottom: 0;
}
.ashi_voice .text p strong {
  display: block;
  font-size: 18px;
  text-align: center;
  color: #ff8000;
}
.ashi_voice .list {
  padding: 0 10px;
}
.ashi_voice .list section {
  margin-bottom: 30px;
  border: 1px solid #624122;
}
.ashi_voice .list section:last-child {
  margin-bottom: 0;
}
.ashi_voice .list section h3 {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  padding: 10px;
  line-height: 1.4;
  border-top: 3px solid #624122;
  border-bottom: 1px dotted #624122;
  background: #fff9fb;
  font-weight: bold;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.ashi_voice .list section h3 br {
  display: none;
}
.ashi_voice .list section h3 .left {
  display: inline-block;
  width: 100%;
  text-align: center;
  padding: 5px 15px 3px;
  margin-bottom: 10px;
  vertical-align: middle;
  background-color: #ff8000;
  color: #fff;
  border-radius: 6px;
  font-size: 20px;
}
.ashi_voice .list section h3 .right {
  font-size: 20px;
  font-weight: bold;
  font-size: 18px;
}
.ashi_voice .list section h3 .right b {
  display: block;
  margin-bottom: 10px;
  text-align: right;
  font-size: 14px;
}
.ashi_voice .list section p {
  padding: 0 10px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.ashi_voice .list section p b {
  font-weight: bold;
}
.ashi_voice .list section p strong {
  margin-bottom: 10px;
  color: #e76124;
  border-bottom: double 5px #ed7945;
  line-height: 1.8;
  font-weight: bold;
  font-size: 20px;
}
.ashi_voice .list section p span {
  color: #e76124;
  font-weight: bold;
  font-size: 18px;
}
.ashi_voice .list section .note {
  text-align: left;
  font-size: 14px;
  padding-left: 1em;
  text-indent: -1em;
}
.ashi_voice .list section .before_after figure.photo {
  width: 100%;
  margin: 0 auto 30px;
  text-align: center;
}
.ashi_voice .list section .before_after figure.photo ul {
  padding: 0 10px;
  margin-bottom: 40px;
}
.ashi_voice .list section .before_after figure.photo ul li {
  position: relative;
  width: 48%;
  text-align: center;
}
.ashi_voice .list section .before_after figure.photo ul li img {
  width: 100%;
  height: auto;
}
.ashi_voice .list section .before_after figure.photo ul li span {
  display: block;
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 100%;
  padding: 3px 0;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
}
.ashi_voice .list section .before_after figure.photo ul li:nth-of-type(1) span {
  color: #fff;
  background-color: #888;
}
.ashi_voice .list section .before_after figure.photo ul li:nth-of-type(2) span {
  color: #fff;
  background-color: #f32717;
}
.ashi_voice .list section .before_after figure.photo ul li:nth-of-type(1):after {
  content: "";
  display: block;
  position: absolute;
  right: -40px;
  left: auto;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 52px;
  height: 67px;
  background: url('lib/images/top/img_arrow.png?1651043146') no-repeat left top;
  z-index: 2;
}
.ashi_voice .list section .before_after div {
  padding: 0 10px;
}
.ashi_voice .list section .before_after div .thum {
  float: left;
  padding: 0 15px 10px 0;
}
.ashi_voice .list section .before_after div .thum img {
  border-radius: 50%;
  height: 100%;
  width: 100%;
  max-width: 100px;
}
.ashi_voice .button {
  padding: 15px 0;
}

@media screen and (min-width: 768px) {
  .ashi_voice .text {
    padding: 20px 0 40px;
  }
  .ashi_voice .text p strong {
    font-size: 30px;
  }
  .ashi_voice .list {
    padding: 0 30px;
  }
  .ashi_voice .list section h3 {
    padding: 10px 15px;
  }
  .ashi_voice .list section h3 br {
    display: block;
  }
  .ashi_voice .list section h3 .left {
    width: 20%;
    font-size: 20px;
    text-align: center;
  }
  .ashi_voice .list section h3 .left b {
    font-size: 22px;
  }
  .ashi_voice .list section h3 .right {
    width: 80%;
    font-size: 22px;
    padding: 0 0 0 20px;
    font-weight: bold;
  }
  .ashi_voice .list section .note {
    text-align: right;
  }
  .ashi_voice .list section .before_after figure.photo {
    width: 700px;
  }
  .ashi_voice .list section .before_after figure.photo ul li span {
    font-size: 18px;
    padding: 5px 0;
  }
  .ashi_voice .list section .before_after div {
    padding: 0 20px;
  }
}
/*----------------------------------------
	halluxvalgus_voice
----------------------------------------*/
.halluxvalgus_voice {
  margin-bottom: 30px;
}
.halluxvalgus_voice .text {
  padding: 20px 0 10px;
}
.halluxvalgus_voice .text p {
  margin-bottom: 20px;
  padding: 0 30px;
  line-height: 1.8;
}
.halluxvalgus_voice .text p:last-child {
  margin-bottom: 0;
}
.halluxvalgus_voice .text p strong {
  display: block;
  font-size: 18px;
  text-align: center;
  color: #ef3415;
}
.halluxvalgus_voice .list {
  padding: 0 10px;
}
.halluxvalgus_voice .list section {
  margin-bottom: 30px;
  border: 1px solid #624122;
}
.halluxvalgus_voice .list section:last-child {
  margin-bottom: 0;
}
.halluxvalgus_voice .list section h3 {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  padding: 10px;
  line-height: 1.4;
  border-top: 3px solid #624122;
  border-bottom: 1px dotted #624122;
  background: #fffceb;
  font-weight: bold;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.halluxvalgus_voice .list section h3 .left {
  display: inline-block;
  width: 100%;
  text-align: center;
  padding: 5px 15px 3px;
  margin-bottom: 10px;
  vertical-align: middle;
  background-color: #f6f70d;
  color: #000;
  border-radius: 6px;
  font-size: 20px;
}
.halluxvalgus_voice .list section h3 .right {
  font-size: 20px;
  padding: 0 0 0 20px;
  font-weight: bold;
  font-size: 18px;
}
.halluxvalgus_voice .list section h3 .right b {
  font-size: 14px;
}
.halluxvalgus_voice .list section p {
  padding: 0 10px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.halluxvalgus_voice .list section p b {
  background: linear-gradient(rgba(0, 0, 0, 0) 80%, #ffff66 0%);
}
.halluxvalgus_voice .list section p strong {
  margin-bottom: 10px;
  color: #e76124;
  border-bottom: double 5px #ed7945;
  line-height: 1.8;
  font-weight: bold;
  font-size: 20px;
}
.halluxvalgus_voice .list section p span {
  color: #e76124;
  font-weight: bold;
  font-size: 18px;
}
.halluxvalgus_voice .list section .note {
  text-align: left;
  font-size: 14px;
  padding-left: 1em;
  text-indent: -1em;
}
.halluxvalgus_voice .list section .before_after figure {
  width: 100%;
  margin: 0 auto 30px;
  text-align: center;
}
.halluxvalgus_voice .list section .before_after figure ul {
  padding: 0 10px;
  margin-bottom: 40px;
}
.halluxvalgus_voice .list section .before_after figure ul li {
  position: relative;
  width: 48%;
  text-align: center;
}
.halluxvalgus_voice .list section .before_after figure ul li img {
  width: 100%;
  height: auto;
}
.halluxvalgus_voice .list section .before_after figure ul li span {
  display: block;
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 100%;
  padding: 3px 0;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
}
.halluxvalgus_voice .list section .before_after figure ul li:nth-of-type(1) span {
  color: #fff;
  background-color: #888;
}
.halluxvalgus_voice .list section .before_after figure ul li:nth-of-type(2) span {
  color: #000;
  background-color: #f6f70d;
}
.halluxvalgus_voice .list section .before_after figure ul li:nth-of-type(1):after {
  content: "";
  display: block;
  position: absolute;
  right: -40px;
  left: auto;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 52px;
  height: 67px;
  background: url('lib/images/top/img_arrow.png?1651043146') no-repeat left top;
  z-index: 2;
}
.halluxvalgus_voice .list section .before_after div {
  padding: 0 10px;
}
.halluxvalgus_voice .button {
  padding: 15px 0;
}

@media screen and (min-width: 768px) {
  .halluxvalgus_voice .text {
    padding: 20px 0 40px;
  }
  .halluxvalgus_voice .text p strong {
    font-size: 30px;
  }
  .halluxvalgus_voice .list {
    padding: 0 30px;
  }
  .halluxvalgus_voice .list section h3 {
    padding: 10px 15px;
  }
  .halluxvalgus_voice .list section h3 .left {
    width: 120px;
    margin-bottom: 0px;
    font-size: 20px;
  }
  .halluxvalgus_voice .list section h3 .left b {
    font-size: 22px;
  }
  .halluxvalgus_voice .list section h3 .right {
    width: 82%;
    font-size: 22px;
    font-weight: bold;
  }
  .halluxvalgus_voice .list section .note {
    text-align: right;
  }
  .halluxvalgus_voice .list section .before_after figure {
    width: 700px;
  }
  .halluxvalgus_voice .list section .before_after figure ul li span {
    font-size: 18px;
    padding: 5px 0;
  }
  .halluxvalgus_voice .list section .before_after div {
    padding: 0 20px;
  }
}
/*----------------------------------------
	before_after_02
----------------------------------------*/
.before_after_02 {
  padding: 0 40px;
}

.before_after_02 figure {
  margin-bottom: 20px;
  line-height: 1.6;
}

.before_after_02 figure ul li {
  position: relative;
  width: 30%;
  margin-right: 5%;
}

.before_after_02 figure ul li:last-child {
  margin-right: 0;
}

.before_after_02 figure ul li span {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 5px 0;
  text-align: center;
  color: #fff;
  background-color: #f32717;
}

.before_after_02 figure ul li:nth-of-type(1):before {
  content: "";
  display: block;
  position: absolute;
  left: -10px;
  top: 0px;
  margin: auto;
  width: 90px;
  height: 41px;
  background: url('lib/images/bow_legs/img_before.png?1575083961') no-repeat left top;
  z-index: 2;
}

.before_after_02 figure ul li:nth-of-type(1):after, .before_after_02 figure ul li:nth-of-type(2):after {
  content: "";
  display: block;
  position: absolute;
  right: -40px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 52px;
  height: 67px;
  background: url('lib/images/bow_legs/img_arrow.png?1651043146') no-repeat left top;
  z-index: 2;
}

.before_after_02 figure ul li:last-child:after {
  background: transparent;
}

.before_after_02 figure ul li:last-child::before {
  content: "";
  display: block;
  position: absolute;
  left: -10px;
  top: 0px;
  margin: auto;
  width: 90px;
  height: 41px;
  background: url('lib/images/bow_legs/img_after.png?1651043203') no-repeat left top;
  z-index: 2;
}

.before_after_02 ol li {
  margin-bottom: 20px;
}

.before_after_02 dl {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}

.before_after_02 dt {
  width: 15%;
}

.before_after_02 dt img {
  border-radius: 50%;
  height: 100%;
  width: 100%;
}

.before_after_02 dd {
  width: 80%;
  position: relative;
  background: #fee5c4;
  height: auto;
  margin: 0 0 0 20px;
  padding: 2%;
  line-height: 1.6;
  border-radius: 10px;
}

.before_after_02 dd:after {
  content: '';
  position: absolute;
  display: block;
  top: 40%;
  left: -15px;
  border-top: 9px solid transparent;
  border-right: 15px solid #fee5c4;
  border-bottom: 9px solid transparent;
}

.before_after_02 dd b {
  display: block;
  margin-bottom: 5px;
}

/*sp*/
@media (max-width: 767px) {
  .before_after_02 figure ul li span {
    font-size: 13px;
  }

  .before_after_02 {
    padding: 0 10px;
  }

  .before_after_02 figure ul li:nth-of-type(1):before {
    width: 66px;
    height: 30px;
    background: url('lib/images/bow_legs/img_before.png?1575083961') no-repeat left top/cover;
  }

  .before_after_02 figure ul li:last-child::before {
    width: 66px;
    height: 30px;
    background: url('lib/images/bow_legs/img_after.png?1651043203') no-repeat left top/cover;
  }

  .before_after_02 dd {
    padding: 10px;
    font-size: 14px;
  }
}
/****************************************

          動画ビフォーアフター

*****************************************/
#movie_before_after {
  position: relative;
  padding: 20px 30px;
}
#movie_before_after h2 {
  margin-bottom: 10px;
  text-align: center;
}
#movie_before_after h3 {
  margin-bottom: 10px;
  text-align: center;
}
#movie_before_after .movie_before {
  margin-bottom: 0;
}
#movie_before_after .movie_after {
  margin-bottom: 20px;
}

/*sp*/
@media (max-width: 767px) {
  #movie_before_after {
    position: relative;
    padding: 10px 10px;
  }
  #movie_before_after h3 img {
    width: auto;
  }
  #movie_before_after .page-title {
    text-align: center;
    font-size: 18px;
    padding: 5px 20px;
    margin-bottom: 5px;
  }
}
/*----------------------------------------
	area
----------------------------------------*/
.area {
  width: 100%;
  margin: 0;
  padding: 10px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .area {
    padding: 20px 0;
  }
}
/*----------------------------------------
	mistake
----------------------------------------*/
.mistake {
  width: 100%;
  margin-bottom: 30px;
}
.mistake > div {
  position: relative;
  padding: 0 5px;
}
.mistake > div h2 {
  position: relative;
  text-align: center;
  z-index: 10;
}
.mistake > div figure {
  position: relative;
  margin: -10px 0 30px;
  z-index: 1;
  text-align: center;
}
.mistake > div ul li {
  position: relative;
  margin-bottom: 15px;
  padding: 0 0 0 35px;
  line-height: 1.4;
  font-size: 16px;
  font-weight: bold;
}
.mistake > div ul li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: -6px;
  width: 33px;
  height: 31px;
  background: url('lib/images/common/check01.png?1520324520') no-repeat left top;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .mistake > div figure {
    margin: -10px 0 40px;
  }
  .mistake > div ul li {
    margin-bottom: 20px;
    font-size: 18px;
  }
}
/*----------------------------------------
	sb_difference
----------------------------------------*/
.sb_difference {
  margin-bottom: 50px;
  padding: 0 5px;
}
.sb_difference .page-title {
  background: #ed2722;
}

/*----------------------------------------
	difference
----------------------------------------*/
.difference {
  margin-bottom: 50px;
  padding: 0 5px;
}
.difference h2 {
  text-align: center;
  margin-bottom: 30px;
}
.difference section {
  margin-bottom: 40px;
}
.difference h3 {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  padding: 10px;
  line-height: 1.4;
  border-top: 3px solid #624122;
  border-bottom: 1px dotted #624122;
  background: #fff9fb;
  font-weight: bold;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.difference h3 .left {
  display: inline-block;
  width: 100%;
  text-align: center;
  padding: 5px 15px 3px;
  margin-bottom: 10px;
  vertical-align: middle;
  background-color: #ff8000;
  color: #fff;
  border-radius: 6px;
  font-size: 20px;
}
.difference h3 .right {
  font-size: 20px;
  padding: 0 0 0 20px;
  font-weight: bold;
  font-size: 18px;
}
.difference h3 .right b {
  font-size: 14px;
}
.difference p {
  padding: 0 10px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.difference p.att {
  font-size: 14px;
}
.difference figure {
  float: none;
  width: 100%;
  padding: 0 10px;
  margin: 0 0 10px 0;
}
.difference figure img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .difference {
    padding: 0 30px;
  }
  .difference h3 {
    padding: 10px 15px;
  }
  .difference h3 .left {
    width: auto;
    margin-bottom: 0px;
    font-size: 20px;
  }
  .difference h3 .left b {
    font-size: 22px;
  }
  .difference h3 .right {
    font-size: 22px;
    font-weight: bold;
  }
  .difference figure {
    display: table;
    float: right;
    width: 320px;
    margin: 0 0 10px 2em;
  }
}
/*----------------------------------------
	trouble
----------------------------------------*/
.trouble {
  padding: 20px;
  margin: 20px 0 30px;
  background: url('lib/images/common/cork.png?1520324520') repeat;
  box-shadow: inset 0 0 0 3px rgba(85, 46, 12, 0.7), 0px 5px 5px rgba(0, 0, 0, 0.5);
}
.trouble div {
  position: relative;
  padding: 10px 10px 10px;
  background: #fff;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.3);
  z-index: 1;
}
.trouble div:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: -20px;
  width: 100%;
  height: 30px;
  background: url('lib/images/common/clip.png?1520324520') center top/contain no-repeat;
  z-index: 2;
}
.trouble div h2 {
  padding: 20px 0 25px;
  text-align: center;
}
.trouble div figure {
  margin: 0 0 30px;
  text-align: center;
}
.trouble div ul {
  padding: 0 5px;
}
.trouble div ul li {
  position: relative;
  margin-bottom: 10px;
  padding: 8px 0 0 40px;
  line-height: 1.4;
  font-size: 17px;
  font-weight: bold;
}
.trouble div ul li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: 0px;
  width: 33px;
  height: 31px;
  background: url('lib/images/common/check01.png?1520324520') no-repeat center top;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .trouble {
    padding: 30px;
    margin: 30px 30px 30px;
  }
  .trouble div {
    padding: 40px 20px 30px;
  }
  .trouble div:before {
    top: -40px;
    width: 100%;
    height: 80px;
    background: url('lib/images/common/clip.png?1520324520') left top/contain no-repeat;
  }
  .trouble div ul {
    padding: 0 0;
  }
  .trouble div ul li {
    font-size: 18px;
  }
}
/*----------------------------------------
	decline
----------------------------------------*/
.decline {
  position: relative;
  margin-bottom: 20px;
  padding: 1em 1em;
  border: 3px solid #624122;
  background-color: #fff9f1;
  z-index: 10;
}
.decline li {
  position: relative;
  margin-bottom: 10px;
  padding: 2px 0 0 35px;
  line-height: 1.4;
  font-size: 18px;
  font-weight: bold;
}
.decline li:last-child {
  margin-bottom: 0;
}
.decline li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: 0px;
  width: 24px;
  height: 25px;
  background: url('lib/images/common/check03.png?1522234440') no-repeat left top;
  z-index: 2;
}

/*sp*/
@media screen and (min-width: 768px) {
  .decline {
    padding: 1em 2em;
  }
  .decline li {
    padding: 0 0 0 40px;
    font-size: 20px;
  }
}
/*----------------------------------------
	danger
----------------------------------------*/
.danger {
  position: relative;
  margin-bottom: 20px;
  padding: 1em 1em;
  border: 3px solid #ff8000;
  background-color: #fff9f1;
  z-index: 10;
}
.danger li {
  position: relative;
  margin-bottom: 10px;
  padding: 2px 0 0 35px;
  line-height: 1.4;
  font-size: 18px;
  font-weight: bold;
}
.danger li:last-child {
  margin-bottom: 0;
}
.danger li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: 0px;
  width: 24px;
  height: 25px;
  background: url('lib/images/common/check04.png?1539760560') no-repeat left top;
  z-index: 2;
}

/*sp*/
@media screen and (min-width: 768px) {
  .danger {
    padding: 1em 2em;
  }
  .danger li {
    padding: 0 0 0 40px;
    font-size: 20px;
  }
}
/****************************************

          symptom

*****************************************/
/*----------------------------------------
	opening
----------------------------------------*/
.opening {
  margin-bottom: 20px;
}
.opening h2 {
  position: relative;
  padding: 0 10px;
  text-align: center;
  z-index: 10;
}
.opening div {
  position: relative;
  z-index: 1;
  margin-top: -10px;
  margin-bottom: 30px;
  padding: 0 10px;
}
.opening div p {
  text-align: center;
}

/*pc*/
@media screen and (min-width: 768px) {
  .opening h2 {
    padding: 0;
  }
  .opening div {
    padding: 0 30px;
  }
}
/*----------------------------------------
	explain
----------------------------------------*/
.explain {
  margin-bottom: 40px;
  padding: 0 10px;
}
.explain h2 {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center;
}
.explain > div {
  padding: 15px 15px;
  margin-bottom: 30px;
  border: 3px solid #ff8000;
}
.explain > div h3.ttl {
  position: relative;
  margin-bottom: 30px;
  padding: 15px 10px;
  border-top: 5px solid #ff8000;
  border-bottom: 1px dotted #ff8000;
  font-size: 22px;
  font-weight: bold;
}
.explain > div h3 {
  margin-bottom: 20px;
  padding: 5px 15px;
  border-left: solid 5px #ff8000;
  font-size: 20px;
  font-weight: bold;
}
.explain > div figure {
  margin-bottom: 15px;
}
.explain > div dt {
  font-weight: bold;
  margin-bottom: 5px;
  line-height: 1.4;
}
.explain > div dd {
  margin-bottom: 20px;
  line-height: 1.8;
}
.explain > div .other {
  margin-bottom: 40px;
}
.explain > div .other:last-child {
  margin-bottom: 0;
}
.explain > div .other figure {
  float: right;
  width: 48%;
  margin: 0 0 10px 10px;
}
.explain > div .other h3 {
  position: relative;
  margin-bottom: 30px;
  padding: 10px 10px;
  border-top: 5px solid #ff8000;
  border-bottom: 1px dotted #ff8000;
  border-left: none;
  font-size: 22px;
  font-weight: bold;
}
.explain > div .other h4 {
  margin-bottom: 20px;
  padding: 5px 15px;
  border-left: solid 5px #ff8000;
  font-size: 20px;
  font-weight: bold;
}
.explain > div .other p {
  line-height: 2.0;
}
.explain > div p {
  margin-bottom: 20px;
  line-height: 1.8;
}
.explain > div p:last-child {
  margin-bottom: 0;
}
.explain > div p span {
  background: linear-gradient(rgba(0, 0, 0, 0) 50%, #ffff6e 50%);
  font-weight: bold;
}
.explain > div p b {
  font-weight: bold;
}
.explain > div p strong {
  color: #ef3415;
  border-bottom: double 4px #ef3415;
  line-height: 1.8;
  font-weight: bold;
  font-size: 18px;
}

/*pc*/
@media screen and (min-width: 768px) {
  .explain {
    padding: 0 30px;
    margin-bottom: 50px;
  }
  .explain > div {
    padding: 20px 30px;
  }
  .explain > div figure {
    display: table;
    float: right;
    width: 280px;
    margin: 0 0 0 2em;
    background: #fff;
  }
  .explain > div .other figure {
    display: table;
    float: right;
    width: 240px;
    margin: 0 0 0 20px;
    background: #fff;
  }
}
/*----------------------------------------
	attention
----------------------------------------*/
.attention {
  margin-bottom: 40px;
  padding: 0 10px;
}
.attention h2 {
  padding: 10px;
  background: #ff8000;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}
.attention h2 span {
  color: #feff96;
}
.attention figure {
  text-align: center;
  margin-bottom: 20px;
}
.attention p {
  padding: 0 10px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.attention div {
  padding: 20px 5px 0;
  margin-bottom: 30px;
  border: 3px solid #ff8000;
  background-color: #fff9f1;
}

/*pc*/
@media screen and (min-width: 768px) {
  .attention {
    padding: 0 30px;
    margin-bottom: 50px;
  }
  .attention h2 {
    font-size: 30px;
  }
  .attention div {
    padding: 20px 15px 0px 15px;
  }
}
/*----------------------------------------
	pattern
----------------------------------------*/
.pattern {
  margin-bottom: 50px;
  padding: 0 5px;
}
.pattern h2 {
  margin-bottom: 30px;
  text-align: center;
}
.pattern section {
  margin-bottom: 40px;
}
.pattern section h3 {
  position: relative;
  margin-bottom: 20px;
  padding: 15px 10px;
  border-top: 3px solid #ff8000;
  border-bottom: 1px dotted #ff8000;
  text-align: left;
  font-weight: bold;
  font-size: 22px;
}
.pattern section h3 span {
  display: block;
  padding: 5px 15px 3px;
  margin: 0 0 10px;
  background-color: #e2523a;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 6px;
  font-size: 20px;
}
.pattern section h3 br {
  display: none;
}
.pattern section h4 {
  text-align: center;
  margin-bottom: 20px;
}
.pattern section figure {
  padding-top: 10px;
  text-align: center;
}
.pattern section figure img:first-child {
  margin-bottom: 40px;
}
.pattern section p {
  padding: 0 10px;
  line-height: 1.8;
  margin-bottom: 20px;
}
.pattern section p strong {
  margin-bottom: 10px;
  color: #ff8000;
  border-bottom: double 5px #ff8000;
  line-height: 1.8;
  font-weight: bold;
  font-size: 20px;
}
.pattern section p.answer {
  margin-bottom: 30px;
  text-align: center;
}
.pattern section p.note {
  text-align: right;
  font-size: 13px;
}

@media screen and (min-width: 768px) {
  .pattern {
    padding: 0 30px;
  }
  .pattern section {
    margin-bottom: 60px;
  }
  .pattern section h3 {
    text-align: center;
    font-size: 26px;
  }
  .pattern section h3 span {
    display: inline-block;
    padding: 5px 15px 3px;
    font-size: 24px;
    margin-right: 20px;
  }
  .pattern section h3 br {
    display: block;
  }
  .pattern section figure {
    padding-top: 40px;
  }
  .pattern section p.answer {
    font-size: 30px;
  }
}
/*----------------------------------------
	comparison
----------------------------------------*/
.comparison {
  padding: 0 10px;
}
.comparison ul.comparison_list {
  display: flex;
  justify-content: space-around;
  margin-bottom: 30px;
}
.comparison ul.comparison_list li {
  width: 32%;
  text-align: center;
}
.comparison p {
  line-height: 1.8;
  margin-bottom: 20px;
}
.comparison p b {
  display: block;
  text-align: center;
  font-size: 18px;
}
.comparison p.att {
  font-size: 14px;
}
.comparison table.comparison_table {
  border-collapse: collapse;
  border: 1px solid #aaa;
  background: #fff;
  margin-bottom: 20px;
}
.comparison table.comparison_table thead th {
  padding: 10px;
  text-align: center;
  font-weight: bold;
  color: #fff;
  font-size: 14px;
}
.comparison table.comparison_table thead th:nth-of-type(2) {
  background: #f32717;
}
.comparison table.comparison_table thead th:nth-of-type(3) {
  background: #f32717;
}
.comparison table.comparison_table thead th:nth-of-type(4) {
  background: #ff8000;
}
.comparison table.comparison_table tbody th {
  background: #eeeeee;
  padding: 10px;
  width: 16%;
  text-align: center;
  font-size: 14px;
}
.comparison table.comparison_table tbody td {
  padding: 10px;
  background: #fff;
  width: 28%;
  vertical-align: top;
  font-size: 14px;
}
.comparison table.comparison_table tbody td:nth-of-type(3) {
  background: #fff8e5;
  font-weight: bold;
}
.comparison table.comparison_table tbody td ul {
  padding-left: 20px;
}
.comparison table.comparison_table tbody td ul li {
  list-style: disc;
}

@media screen and (min-width: 768px) {
  .comparison {
    padding: 0;
  }
  .comparison table.comparison_table thead th {
    font-size: 16px;
  }
  .comparison table.comparison_table tbody th {
    font-size: 16px;
  }
  .comparison table.comparison_table tbody td {
    font-size: 16px;
  }
}
/*----------------------------------------
	counseling
----------------------------------------*/
.counseling {
  margin-bottom: 30px;
  padding: 0 10px;
}
.counseling h3 {
  margin-bottom: 30px;
}
.counseling p {
  line-height: 1.8;
  margin-bottom: 20px;
}
.counseling p b {
  font-size: 18px;
}

@media screen and (min-width: 768px) {
  .counseling {
    padding: 0;
  }
}
.table_scroll {
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

table.hallux_valgus_table {
  width: 660px;
  border-collapse: collapse;
  border: 1px solid #aaa;
  background: #fff;
  margin-bottom: 20px;
}
table.hallux_valgus_table thead th {
  padding: 10px;
  text-align: center;
  font-weight: bold;
}
table.hallux_valgus_table thead th:nth-of-type(2) {
  background: #fed34f;
}
table.hallux_valgus_table thead th:nth-of-type(3) {
  background: #d3eb8b;
}
table.hallux_valgus_table thead th:nth-of-type(4) {
  background: #9bedfe;
}
table.hallux_valgus_table tbody th {
  background: #eeeeee;
  padding: 10px;
  width: 16%;
}
table.hallux_valgus_table tbody td {
  padding: 10px;
  background: #fff;
  width: 28%;
  vertical-align: top;
}
table.hallux_valgus_table tbody td:nth-of-type(1) {
  background: #fff8e5;
}
table.hallux_valgus_table tbody td ul {
  padding-left: 20px;
}
table.hallux_valgus_table tbody td ul li {
  list-style: disc;
}

@media screen and (min-width: 768px) {
  table.hallux_valgus_table {
    width: 100%;
  }
  table.hallux_valgus_table tbody th {
    width: 16%;
  }
  table.hallux_valgus_table tbody td {
    width: 28%;
  }
}
#symptom {
  background: #fff;
}

.sp_un {
  display: block;
}

.sp_ov {
  display: none;
}

.ta_un {
  display: block;
}

.ta_ov {
  display: none;
}

.pc_un {
  display: block;
}

.pc_ov {
  display: none;
}

@media screen and (min-width: 480px) {
  .sp_un {
    display: none;
  }

  .sp_ov {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .ta_un {
    display: none;
  }

  .ta_ov {
    display: block;
  }
}
@media screen and (min-width: 920px) {
  .pc_un {
    display: none;
  }

  .pc_ov {
    display: block;
  }
}
/* ----------------------------------------
* 目次
---------------------------------------- */
#content #toc_container {
  width: 100%;
  margin-bottom: 30px;
  padding: 15px 40px 5px;
  background: #fff;
  border: 5px solid #ff8000;
  border-radius: 2px;
  display: block;
  color: #666;
}
#content #toc_container .toc_title {
  text-align: center;
  margin-bottom: 35px;
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 0px;
  font-size: 24px;
  letter-spacing: 0.2em;
  border-bottom: 2px solid #ff8000;
}
#content #toc_container .toc_list {
  margin-bottom: 20px;
  padding-left: 35px;
  list-style-type: none !important;
  counter-reset: li;
}
#content #toc_container .toc_list > li {
  list-style: none;
  position: relative;
  margin-bottom: 20px;
  margin-left: 10px;
  padding-left: 10px;
  font-size: 18px;
  line-height: 1.3em;
}
#content #toc_container .toc_list > li:after {
  counter-increment: li;
  content: "0" counter(li) " |";
  position: absolute;
  left: -40px;
  top: 0px;
  background: none;
  font-size: 26px;
  letter-spacing: -1px;
  color: #3e2723;
}
#content #toc_container .toc_list > li a {
  padding-left: 5px;
  text-decoration: none !important;
  color: #3e2723;
  line-height: 1.4;
  font-weight: bold;
}
#content #toc_container .toc_list > li a:hover {
  text-decoration: underline !important;
}
#content #toc_container .toc_list > li ul {
  list-style-type: disc;
  margin-top: 15px;
  padding-left: 20px;
  color: #008db7;
}
#content #toc_container .toc_list > li > ul li {
  font-size: 0.9em;
  margin-bottom: 8px;
}

/*sp*/
@media (max-width: 767px) {
  #content #toc_container {
    padding: 10px 15px 5px;
  }
}
/* ----------------------------------------

   common

---------------------------------------- */
.check_box {
  width: 100%;
  margin-bottom: 20px;
  padding: 15px 15px;
  border: #999 1px solid;
}
.check_box li {
  position: relative;
  margin-bottom: 10px;
  padding: 0 0 0 35px;
  line-height: 1.4;
  font-size: 16px;
  font-weight: bold;
}
.check_box li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: -4px;
  width: 27px;
  height: 26px;
  background: url('lib/images/common/check02.png?1520324520') no-repeat left top;
  background-size: cover;
  z-index: 2;
}
.check_box li:last-child {
  margin-bottom: 0;
}

.check_box_02 {
  margin-bottom: 30px;
}
.check_box_02 div {
  margin-bottom: 20px;
  padding: 1em 2em;
  border: 2px solid #ff8000;
  background-color: #fff9fb;
}
.check_box_02 div h4 {
  margin-bottom: 20px;
  padding: 0 0 10px 0;
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 2px dotted #532200;
  text-align: center;
  line-height: 1.6;
  font-weight: bold;
  font-size: 24px;
}
.check_box_02 div h4 span {
  border-bottom: double 3px #ff8000;
}
.check_box_02 div li {
  position: relative;
  margin-bottom: 10px;
  padding: 0 0 0 35px;
  line-height: 1.4;
  font-size: 20px;
  font-weight: bold;
}
.check_box_02 div li:last-child {
  margin-bottom: 0;
}
.check_box_02 div li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  top: 0px;
  width: 33px;
  height: 31px;
  background: url('lib/images/common/check02.png?1520324520') no-repeat left top;
  z-index: 2;
}

/*sp*/
@media (max-width: 767px) {
  .check_box_02 div {
    padding: 1em 1em;
  }
  .check_box_02 div h4 {
    font-size: 18px;
    text-align: left;
  }
  .check_box_02 div h4 br {
    display: none;
  }
  .check_box_02 div li {
    padding: 2px 0 0 35px;
    font-size: 18px;
  }
}
.number_circle {
  margin-bottom: 20px;
  counter-reset: quality;
}
.number_circle li {
  position: relative;
  padding: 0 0 10px 50px;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.4;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  counter-increment: quality;
  border-bottom: dotted 1px #bbb;
}
.number_circle li:last-child {
  margin-bottom: 0;
}
.number_circle li:before {
  content: counter(quality);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  height: 20px;
  margin: auto;
  padding: 5px 10px;
  background: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  border-radius: 50%;
  color: #ff8000;
  border: 4px solid #ff8000;
}
.number_circle li strong {
  color: #ff8000;
}

@media screen and (min-width: 768px) {
  .number_circle {
    padding: 0 20px;
  }
  .number_circle li {
    padding: 6px 0 6px 50px;
    font-size: 18px;
    border: none;
  }
  .number_circle li:before {
    left: 0;
    font-size: 18px;
  }
}
.number_box {
  margin-bottom: 20px;
  counter-reset: quality;
}
.number_box li {
  position: relative;
  padding: 0 0 10px 40px;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 1.4;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  counter-increment: quality;
  border-bottom: dotted 1px #bbb;
}
.number_box li:last-child {
  margin-bottom: 0;
}
.number_box li:before {
  content: counter(quality);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  height: 20px;
  margin: auto;
  padding: 5px 10px;
  background: #f32717;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  border-radius: 50%;
  color: #fff;
}
.number_box li strong {
  color: #f32717;
}

@media screen and (min-width: 768px) {
  .number_box {
    padding: 0 20px;
  }
  .number_box li {
    padding: 6px 0 6px 40px;
    font-size: 18px;
    border: none;
  }
  .number_box li:before {
    left: 0;
    font-size: 18px;
  }
}
.marker {
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #ffff00 50%);
  font-weight: bold;
}

.red {
  color: #ff8000;
}

a.link {
  position: relative;
  display: block;
  width: 100%;
  max-width: 90%;
  padding: 15px 0;
  line-height: 1.6;
  margin: 15px auto;
  text-align: center;
  color: #fff;
  background: #f32717;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  border-radius: 10px;
}
a.link:before {
  content: "\f105";
  font-family: FontAwesome;
  position: absolute;
  height: 28px;
  right: 10px;
  top: 0px;
  bottom: 0;
  margin: auto;
  color: #fff;
  font-size: 18px;
  z-index: 100;
  -moz-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
}
a.link:hover {
  text-decoration: none;
  background-color: #532200;
}

@media screen and (min-width: 768px) {
  a.link {
    max-width: 80%;
    font-size: 18px;
  }
}
/*----------------------------------------
	offer
----------------------------------------*/
.offer {
  padding: 10px;
  margin: 0 0 20px;
}
.offer h3 {
  margin-bottom: 10px;
  padding-top: 20px;
  text-align: center;
}
.offer .cta {
  margin-top: 20px;
}
.offer .price {
  margin-bottom: 40px;
}
.offer p {
  text-align: center;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.6;
  color: #f32717;
}
.offer .list li {
  flex-basis: 100%;
  border: 1px solid #cf9b25;
  padding: 15px 15px 0px;
  margin-bottom: 10px;
}
.offer .list li dl dt {
  margin-bottom: 10px;
  text-align: center;
  background: #ff8000;
  color: #fff;
}
.offer .list li dl dt span {
  display: inline-block;
  padding: 2px;
  font-weight: bold;
  font-size: 20px;
}
.offer .list li dl dd .icon {
  flex-basis: 20%;
}
.offer .list li dl dd .icon img {
  width: 100%;
}
.offer .list li dl dd .text {
  flex-basis: 75%;
}
.offer .list li dl dd br {
  display: none;
}
.offer .list li .button a.link {
  font-size: 16px;
  padding: 8px 0;
  max-width: 50%;
  margin: 10px auto;
}
.offer .bt_offer {
  position: relative;
  margin-bottom: 80px;
}
.offer .bt_offer:before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  right: 0;
  margin: auto;
  bottom: -120px;
  width: 100%;
  height: 130px;
  background: url('lib/images/now.png?1668563973') center top/contain no-repeat;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  .offer {
    padding: 30px 28px 0;
    margin-bottom: 50px;
  }
  .offer h3 {
    margin-bottom: 30px;
    padding-top: 50px;
  }
  .offer .list li {
    flex-basis: 49%;
  }
  .offer .list li dl dd br {
    display: block;
  }
  .offer p {
    font-size: 36px;
  }
  .offer .bt_offer {
    margin-bottom: 110px;
  }
}
/*

.offer {
    margin-bottom: 20px;
	padding: 0 30px;
	@include sp {
		padding: 0 10px;
	}
	p{
		text-align: center;
		font-weight: bold;
		font-size: 36px;
		@include sp {
			font-size: 22px;
		}
		line-height: 1.6;
		color: #f32717;
	}
	
	.price{
		margin-bottom: 40px;
		@include sp {
			margin-bottom: 20px;
		}
	}
    
    
    li{
        margin-bottom: 30px;
        text-align: center;
        &:last-child{
            margin-bottom: 0;
        }
		
		@include sp {
			margin-bottom: 20px;
		}
    }
    

}


*/
/*----------------------------------------
	youtube
----------------------------------------*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/*----------------------------------------
	googlemap
----------------------------------------*/
.googlemap {
  position: relative;
  width: 100%;
  min-height: 300px;
  padding-top: 56.25%;
}
.googlemap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.link a {
  position: relative;
  display: block;
  width: 50%;
  height: 60px;
  line-height: 60px;
  margin: 15px auto;
  color: #fff;
  background: #f32717;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  border-radius: 10px;
}
@media only screen and (max-width: 787px) {
  .link a {
    font-size: 18px;
  }
}
.link a:before {
  content: "\f0da";
  font-family: FontAwesome;
  position: absolute;
  right: 10px;
  top: 0px;
  line-height: 62px;
  color: #fff;
  font-size: 25px;
  z-index: 100;
  -moz-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
}
.link a:hover {
  text-decoration: none;
  background-color: #ea939d;
}

.blank a {
  position: relative;
  display: block;
  height: 60px;
  width: 50%;
  line-height: 60px;
  margin: 15px auto;
  color: #fff;
  background: #e67a49;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}
.blank a:before {
  content: "\f0da";
  font-family: FontAwesome;
  position: absolute;
  right: 10px;
  top: 0px;
  line-height: 62px;
  color: #fff;
  font-size: 20px;
  z-index: 100;
  -moz-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
}
.blank a:hover {
  text-decoration: none;
  background-color: #ffa800;
}

/*sp*/
@media (max-width: 767px) {
  .link a {
    width: 100%;
  }

  .blank a {
    width: 100%;
  }
}
.list_button {
  margin-bottom: 30px;
}
.list_button li {
  width: 48%;
  margin: 0 4% 15px 0;
}
.list_button li:nth-of-type(2n) {
  margin: 0 0% 15px 0;
}
.list_button li a, .list_button li span {
  position: relative;
  padding: 10px 25px;
  line-height: 1.4;
  display: block;
  text-align: center;
  background-color: #f32717;
  border-radius: 8px;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
}
.list_button li a br, .list_button li span br {
  display: block;
}
.list_button li a:before {
  content: "\f0da";
  font-family: FontAwesome;
  height: 1.2em;
  position: absolute;
  right: 10px;
  top: 0px;
  bottom: 0px;
  margin: auto;
  color: #fff;
  font-size: 20px;
  z-index: 100;
  -moz-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
}
.list_button li a:hover {
  text-decoration: none;
  background-color: #ff6c60;
}

@media screen and (min-width: 768px) {
  .list_button li a br {
    display: none;
  }
}
/* ----------------------------------------
* animation
---------------------------------------- */
.fadeUp {
  -webkit-animation: fadeInUp 0.6s ease 0.3s both;
  -moz-animation: fadeInUp 0.6s ease 0.3s both;
  animation: fadeInUp 0.6s ease 0.3s both;
  visibility: visible !important;
}

/* ----------------------------------------
* box
---------------------------------------- */
.base_panel {
  position: relative;
  margin-bottom: 30px;
  background: #fff;
  padding: 1px;
  border: 1px solid #e5e5e5;
  box-shadow: 0 0 5px #fff, 0 0 5px #ccc, 0 0 1px #aaa;
  border-radius: 2px;
}

.page-content {
  padding: 30px 33px;
  overflow: hidden;
}

@media screen and (max-width: 480px) {
  .page-content {
    padding: 30px 5px 20px;
  }
}
/* ----------------------------------------
* title
---------------------------------------- */
.page-title {
  text-align: center;
  padding: 12px 10px;
  font-size: 28px;
  font-weight: bold;
  background-color: #ff8000;
  color: #fff;
}
.page-title strong {
  color: #fff799;
}
.page-title span {
  display: block;
  margin: 5px 10px 0 0;
  text-align: right;
  font-weight: normal;
  font-size: 16px;
}
@media only screen and (max-width: 787px) {
  .page-title {
    padding: 12px 20px;
    font-size: 20px;
    text-align: left;
  }
  .page-title span {
    text-align: left;
    font-size: 14px;
  }
  .page-title br {
    display: none;
  }
}

.post-title {
  font-weight: bold;
  padding: 18px 20px 15px;
  background-color: #f5f5f5;
  border-bottom: 6px solid #ff8000;
  color: #39231e;
  font-size: 22px;
}
.post-title a {
  color: #39231e;
}

.foot-title {
  text-align: center;
  padding: 12px 10px;
  font-size: 28px;
  font-weight: bold;
  background-color: #5cc9c4;
  color: #fff;
}

.ttl_01 {
  margin-bottom: 30px;
  padding: 10px 20px;
  border-left: solid 5px #ff8000;
  background-color: #fff8ef;
  font-size: 22px;
  font-weight: bold;
}
.ttl_01 span {
  font-size: 18px;
}
.ttl_01 b {
  font-weight: normal;
  font-size: 16px;
}

.ttl_02 {
  position: relative;
  margin-bottom: 30px;
  padding: 15px 10px;
  border-top: 5px solid #ff8000;
  border-bottom: 1px dotted #ff8000;
  font-size: 24px;
  font-weight: bold;
}

.ttl_03 {
  margin-bottom: 30px;
  padding: 15px 20px;
  border-left: solid 5px #ff8000;
  background-color: #fff8ef;
  font-size: 22px;
  font-weight: bold;
}
.ttl_03 span {
  font-size: 18px;
}
.ttl_03 b {
  font-weight: normal;
  font-size: 16px;
}

.ttl_04 {
  margin-bottom: 30px;
  padding: 10px 20px;
  background-color: #fff8ef;
  border-bottom: solid 4px #ff8000;
  text-align: center;
  font-weight: bold;
  font-size: 22px;
}

.ttl_05 {
  text-align: center;
  margin-bottom: 20px;
  padding: 10px;
  border-top: 3px solid #ff8000;
  border-bottom: 1px dotted #ff8000;
  font-weight: bold;
  font-size: 24px;
}

.ttl_06 {
  display: inline-block;
  margin-bottom: 20px;
  padding-right: 30px;
  line-height: 1.4;
  font-size: 22px;
  font-weight: bold;
  background-color: #fff8ef;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.ttl_06 span {
  display: inline-block;
  margin-right: 25px;
  padding: 10px 15px;
  background-color: #ff8000;
  color: #fff;
}

.ttl_07 {
  margin-bottom: 20px;
  padding: 10px 15px;
  border-left: solid 5px #f32717;
  font-size: 20px;
  font-weight: bold;
}

.ttl_08 {
  margin-bottom: 20px;
  padding: 10px 15px;
  border-left: solid 5px #ff8000;
  background-color: #fef1f5;
  font-size: 20px;
  font-weight: bold;
}

.bg_blue {
  background-color: #ff8000;
}

.bg_pink {
  background-color: #ff8000;
}

@media screen and (max-width: 480px) {
  .post-title {
    padding: 12px;
    font-size: 18px;
    margin-bottom: 20px;
  }

  .foot-title {
    font-size: 20px;
  }

  .ttl_01 {
    padding: 10px 18px;
    font-size: 20px;
  }
  .ttl_01 span {
    font-size: 16px;
  }
  .ttl_01 b {
    display: block;
    font-weight: normal;
    font-size: 13px;
    line-height: 1.6;
  }

  .ttl_02 {
    padding: 15px 10px;
  }

  .ttl_03 {
    padding: 10px 15px;
    font-size: 22px;
  }

  .ttl_04 {
    margin-bottom: 20px;
    text-align: left;
    font-size: 20px;
  }
}
/****************************************

          post_list

*****************************************/
/* ----------------------------------------
* 一覧ページ
---------------------------------------- */
.post_list {
  padding: 30px 34px 0;
}
.post_list .post_article {
  width: 48%;
  margin-bottom: 30px;
}
.post_list .post_article figure {
  margin-bottom: 15px;
  max-height: 260px;
  overflow: hidden;
  border: 1px solid #ccc;
}
.post_list .post_article h2 {
  font-size: 18px;
  font-weight: bold;
  color: #6a3906;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.post_list .post_article a:hover {
  text-decoration: none;
}

/*sp*/
@media screen and (max-width: 480px) {
  .post_list {
    padding: 10px 10px 0;
  }
  .post_list .post_article {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e5e5;
  }
  .post_list .post_article:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .post_list .post_article a {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .post_list .post_article figure {
    margin-bottom: 0;
    width: 27%;
    max-height: 93px;
    border: none;
  }
  .post_list .post_article figure img {
    border: 1px solid #ccc;
  }
  .post_list .post_article h2 {
    width: 69%;
    font-size: 16px;
  }
}
/****************************************

          voice

*****************************************/
#voice nav {
  margin: 30px 30px 20px;
}
#voice nav ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#voice nav ul li {
  width: 44%;
  text-align: center;
}
#voice nav ul li a {
  display: block;
  border: 2px solid #ff8000;
  border-radius: 5px;
  position: relative;
  margin-bottom: 10px;
  padding: 15px 40px;
  line-height: 26px;
  box-sizing: border-box;
  color: #ff8000;
  background: #fff;
  font-size: 20px;
  font-weight: bold;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#voice nav ul li a:hover {
  color: #fff;
  background: #ff8000;
  text-decoration: none;
}
#voice nav ul li a:before {
  font-family: FontAwesome;
  position: absolute;
  right: 10px;
  top: 15px;
  color: #ff8000;
  font-size: 40px;
  z-index: 100;
  -moz-transition-duration: .8s;
  -o-transition-duration: .8s;
  -webkit-transition-duration: .8s;
  transition-duration: .8s;
}
#voice nav ul li a:hover:before {
  color: #fff;
}
#voice nav ul .active a {
  color: #fff;
  background: #ff8000;
}
#voice nav ul .active a:before {
  color: #fff;
}
#voice nav ul .questionnaire a:before {
  content: "\f27a";
}
#voice nav ul .movie a:before {
  content: "\f16a";
}
#voice .voice_main {
  padding: 30px 33px 20px;
  overflow: hidden;
}
#voice .voice_main .name {
  margin-bottom: 25px;
  padding: 8px 0 8px 20px;
  border-left: solid 5px #ff8000;
  font-size: 20px;
  text-align: left;
  font-weight: bold;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#voice .voice_main .name span {
  display: block;
  margin-top: 5px;
  font-size: 16px;
  line-height: 1.4;
  font-weight: normal;
}
#voice .voice_main .name strong {
  color: #470000;
}
#voice .voice_main p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 20px;
}
#voice .voice_main .movie {
  margin-bottom: 40px;
}
#voice .voice_main figure {
  margin-bottom: 30px;
}
#voice .voice_main figure ul li {
  width: 48%;
  margin: 0 1%;
}
#voice .voice_main figure ul li:nth-of-type(1) {
  text-align: left;
}
#voice .voice_main figure ul li:nth-of-type(2) {
  text-align: right;
}
#voice .voice_main figure ul li img {
  border: 1px solid #ccc;
}

/*sp*/
@media screen and (max-width: 480px) {
  #voice nav {
    margin: 0 0 20px;
  }
  #voice nav ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #voice nav ul li {
    width: 100%;
  }
  #voice nav ul li:last-child a {
    margin-bottom: 0;
  }
  #voice .voice_main {
    padding: 20px 10px;
  }
  #voice .voice_main .name {
    font-size: 18px;
  }
  #voice .voice_main .name span {
    font-size: 16px;
  }
  #voice .voice_main .movie {
    margin-bottom: 30px;
  }
  #voice .voice_main figure {
    margin-bottom: 30px;
  }
  #voice .voice_main figure ul li {
    width: 48%;
  }
  #voice .voice_main figure ul li:nth-of-type(1) {
    margin: 0 2% 0 0;
    text-align: left;
  }
  #voice .voice_main figure ul li:nth-of-type(2) {
    margin: 0 0 0 2%;
    text-align: right;
  }
  #voice .voice_main figure ul li img {
    border: 1px solid #ccc;
  }
}
/* ----------------------------------------
* flex
---------------------------------------- */
.flex_sb {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -webkit-flex-pack: justify;
  -moz-flex-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex_fs {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-pack: start;
  -moz-box-pack: start;
  -webkit-flex-pack: start;
  -moz-flex-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex_fe {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-pack: end;
  -moz-box-pack: end;
  -webkit-flex-pack: end;
  -moz-flex-pack: end;
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  justify-content: flex-end;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex_fc {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -webkit-flex-pack: center;
  -moz-flex-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex_ce {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -webkit-flex-pack: center;
  -moz-flex-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex_ac {
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  align-items: center;
}

/*--margin-set--*/
.mb0 {
  margin-bottom: 0px !important;
}

.mb1 {
  margin-bottom: 1px !important;
}

.mb2 {
  margin-bottom: 2px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb16 {
  margin-bottom: 16px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb32 {
  margin-bottom: 32px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb42 {
  margin-bottom: 42px !important;
}

.mb48 {
  margin-bottom: 48px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb64 {
  margin-bottom: 64px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb208 {
  margin-bottom: 208px !important;
}

/*--margin-set--*/
.tac {
  text-align: center !important;
}

.tar {
  text-align: right !important;
}

.tal {
  text-align: left !important;
}

/* ----------------------------------------
* レスポンシブ
---------------------------------------- */
.fusion-carousel-item {
  width: auto !important;
}

.fusion-image-wrapper {
  padding: 0 30px !important;
}

.fusion-image-wrapper img {
  height: 80px !important;
  width: auto !important;
}

#header-menu-tog {
  display: none;
}

@media screen and (max-width: 991px) {
  /* tablet */
  .sp-hide {
    display: none !important;
  }

  .sp-show {
    display: block !important;
  }

  #main .post-sns {
    margin: 0 -20px -20px !important;
  }
  #main .post-share-title {
    margin: 0 -20px !important;
  }

  .alignleft,
  .alignright {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

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

  /* padding */
  .post-content {
    padding: 0 10px !important;
  }

  .post-footer .info {
    padding: 15px 15px 10px;
  }

  /* tablet end */
}
@media screen and (max-width: 767px) {
  /* phone */
  .post-content h1 {
    margin-bottom: 20px;
    font-size: 20px;
  }
  .post-content h2 {
    margin-bottom: 20px;
    padding: 10px 15px;
    font-size: 20px;
  }
  .post-content h3 {
    margin-bottom: 20px;
    padding: 10px 15px;
    text-align: left;
    font-size: 18px;
  }
  .post-content h4 {
    font-size: 18px;
  }

  /* phone end */
}

/*# sourceMappingURL=style.css.map */
