@charset "UTF-8";
/*----------------------------------------------------------------------
------------------------------------------------------------------------

File Name:
Note:


New Creation:
Last Change:


Created By		Takumi Ouchi

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
------------------------------------------------------------------------
目次

1.	共通使用変数定義
2.	ブラウザデフォルトスタイルリセット
3.	HTMLタグ
4.	container
5.	共通部分
6.	header
7.	main
8.	footer
9.	ブレイクポイント
10. ページ個別設定

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
1.	共通使用変数定義
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
2.	ブラウザデフォルトスタイルリセット
----------------------------------------------------------------------*/
body,
h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
ul,
ol,
dl,
form,
fieldset,
table,
address,
blockquote,
noscript,
pre,
tr,
td,
input,
textarea {
  margin: 0;
  padding: 0;
  line-height: 1;
  font-style: normal;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  -webkit-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1rem;
  font-weight: normal;
}

mark {
  background: none;
}

fieldset {
  border: none;
}

legend {
  display: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font: 100%;
  font-size: inherit;
}

li {
  list-style-type: none;
}

dd {
  margin: 0;
}

a,
abbr,
acronym,
em,
strong,
span,
img,
sub,
sup,
input,
button,
textarea,
select,
label,
caption {
  font-weight: normal;
  font-style: normal;
}

a {
  text-decoration: none;
}

img {
  border: none;
  vertical-align: bottom;
}

caption,
th {
  text-align: left;
  font-weight: normal;
}

th,
td {
  padding: 0;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
}

textarea {
  vertical-align: top;
}

/*----------------------------------------------------------------------
3.	HTMLタグ
----------------------------------------------------------------------*/
html,
body {
  height: 100%;
  color: #444;
}

a {
  color: #0d1c4c;
}
a, a::before, a::after {
  transition: background-color 0.3s linear, background-image 0.3s linear;
}
a > * {
  transition: opacity 0.3s linear;
}
a:hover {
  text-decoration: underline;
}
a:hover > * {
  opacity: 0.8;
  text-decoration: none;
}

/*----------------------------------------------------------------------
4.	container
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
5.	共通部分
----------------------------------------------------------------------*/
.wrap {
  margin-right: auto;
  margin-left: auto;
  padding: 0 10px;
  max-width: 960px;
}
.wrap {
  *zoom: 1;
}
.wrap::after {
  content: "";
  display: table;
  clear: both;
}

.box {
  position: relative;
  padding: 7% 0 14%;
}

.l-title {
  padding: 5.5% 0;
  text-align: center;
}

.text {
  line-height: 2;
  font-size: 1.4rem;
}

.slick-dots {
  bottom: 13px;
}
.slick-dots li button {
  margin: 0 7px;
  width: 20px;
  height: 20px;
  background: #919191;
}
.slick-dots li button::before {
  display: none;
}
.slick-dots li.slick-active button {
  background: #051930;
}

.flow-text {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 0 37px;
  width: 100%;
  text-align: center;
}
.flow-text a {
  position: absolute;
  bottom: 0;
  left: 25%;
  width: 50%;
}
.flow-text a span {
  display: inline-block;
  position: relative;
  margin-bottom: 35px;
  padding: 25px 20px;
  border-right: 3px solid #9298a4;
  border-bottom: 3px solid #9298a4;
  border-radius: 10px;
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.4) 1px 2px 6px;
  text-align: center;
  font-size: 3.2rem;
  font-weight: bold;
  color: #0d1c4c;
}
.flow-text a span::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -35px;
  left: 50%;
  margin-left: -35px;
  width: 70px;
  height: 47px;
  background: url(../img/flow_text_arrow.png) center bottom no-repeat;
}
.flow-text a em {
  font-weight: bold;
  color: #f90606;
}
.flow-text a:hover {
  text-decoration: none;
}

/*----------------------------------------------------------------------
6.	header
----------------------------------------------------------------------*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.3) 0 2px 6px;
}
.header {
  *zoom: 1;
}
.header::after {
  content: "";
  display: table;
  clear: both;
}
.header .logo {
  transition: all 0.3s linear;
  float: left;
  padding: 20px 0 10px 1%;
  width: 39%;
  max-width: 330px;
}
.header .logo img {
  width: 100%;
}
.header .top_clinic_title {
  display: none;
}
.header .slide-btn {
  display: none;
}
.header .nav-list {
  transition: all 0.3s linear;
  display: table;
  float: right;
  padding: 0 1% 0 0;
  width: 40%;
  max-width: 430px;
  table-layout: fixed;
}
.header .nav-item {
  float: left;
  width: 25%;
  text-align: center;
}
.header .nav-item a {
  transition: all 0.3s linear;
  display: block;
  position: relative;
  padding: 62px 3% 15px;
  width: 94%;
  height: 33px;
  text-align: center;
  text-decoration: none;
  line-height: 1.1;
  font-size: 1.6rem;
  font-weight: bold;
  color: #0d1c4c;
}
.header .nav-item a.active {
  transition: all 0.3s linear;
  color: #da5a6c;
}
.header .nav-item a:hover {
  transition: all 0.3s linear;
  color: #da5a6c;
}
.header .nav-item a span {
  display: block;
  opacity: 1;
  font-weight: bold;
}
.header .nav-item a::before {
  transition: all 0.3s linear;
  content: "";
  display: block;
  position: absolute;
  top: 15px;
  left: 0;
  width: 100%;
  height: 45px;
}
.header.mini {
  padding-top: 0.5%;
  padding-bottom: 0.5%;
}
.header.mini .logo {
  padding-top: 5px;
  padding-bottom: 5px;
  width: 300px;
}
.header.mini .nav-item a {
  padding-top: 47px;
  padding-bottom: 0;
  font-size: 1.4rem;
}
.header.mini .nav-item a::before {
  top: 0;
}
.header.mini .nav-item.requirements a, .header.mini .nav-item.apply a {
  padding-top: 58px;
  height: 22px;
}
.header.mini .nav-item.requirements a::before, .header.mini .nav-item.apply a::before {
  top: 5px;
}

.header .nav-item.top {
  display: none;
}
.header .nav-item.requirements a, .header .nav-item.apply a {
  padding-top: 73px;
  height: 22px;
}
.header .nav-item.project a::before {
  background: url(../img/icon_project.png) center center no-repeat;
  background-size: 40px auto;
}
.header .nav-item.project a:hover::before {
  background-image: url(../img/icon_project_h.png);
}
.header .nav-item.project a.active::before {
  background-image: url(../img/icon_project_h.png);
}
.header .nav-item.requirements a::before {
  background: url(../img/icon_requirements.png) center center no-repeat;
  background-size: 39.5px auto;
}
.header .nav-item.requirements a:hover::before {
  background-image: url(../img/icon_requirements_h.png);
}
.header .nav-item.requirements a.active::before {
  background-image: url(../img/icon_requirements_h.png);
}
.header .nav-item.apply a::before {
  background: url(../img/icon_apply.png) center center no-repeat;
  background-size: 50px auto;
}
.header .nav-item.apply a:hover::before {
  background-image: url(../img/icon_apply_h.png);
}
.header .nav-item.apply a.active::before {
  background-image: url(../img/icon_apply_h.png);
}
.header .nav-item.doctor a::before {
  background: url(../img/icon_doctor.png) center center no-repeat;
  background-size: 37px auto;
}
.header .nav-item.doctor a:hover::before {
  background-image: url(../img/icon_doctor_h.png);
}
.header .nav-item.doctor a.active::before {
  background-image: url(../img/icon_doctor_h.png);
}
.header .nav-item.clinic a::before {
  background: url(../img/icon_clinic.png) center center no-repeat;
  background-size: 41px auto;
}
.header .nav-item.clinic a:hover::before {
  background-image: url(../img/icon_clinic_h.png);
}
.header .nav-item.clinic a.active::before {
  background-image: url(../img/icon_clinic_h.png);
}
.header .nav-item.flow a::before {
  background: url(../img/icon_flow.png) center center no-repeat;
  background-size: 46.5px auto;
}
.header .nav-item.flow a:hover::before {
  background-image: url(../img/icon_flow_h.png);
}
.header .nav-item.flow a.active::before {
  background-image: url(../img/icon_flow_h.png);
}
.header .list-close {
  display: none;
}

.project .l-title img {
  width: 333.5px;
}

.requirements .l-title img {
  width: 185.5px;
}

.apply .l-title img {
  width: 183.5px;
}

.doctor .l-title img {
  width: 245.5px;
}

.clinic .l-title img {
  width: 290px;
}

.flow .l-title img {
  width: 376px;
}

/*----------------------------------------------------------------------
7.	main
----------------------------------------------------------------------*/
.main-visual .main-title,
.main-visual .main-doctor,
.main-visual .scroll,
.s-apply-link,
.flow-text {
  visibility: hidden;
}

.main-visual {
  position: relative;
  overflow: hidden;
  margin-top: 100px;
  background: url(../img/main_bg0.jpg) center top repeat-x;
  background-position: center top !important;
  background-size: auto 100% !important;
}
.main-visual .main-visual-inner {
  position: absolute;
  top: 0;
  left: 0;
}
.main-visual div {
  width: 100% !important;
  background-position: center top !important;
  background-size: auto 100% !important;
}
.main-visual::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
  width: 100%;
  height: 100%;
  background: rgba(13, 28, 76, 0.7);
}
.main-visual > * {
  z-index: 10;
}
.main-visual .main-title {
  position: relative;
  width: 100%;
  text-align: center;
}
.main-visual .main-title img {
  width: 54%;
  max-width: 465px;
}
.main-visual .main-title .sp {
  display: none;
}
.main-visual .lead {
  position: relative;
  margin-top: 2%;
  width: 100%;
  text-align: center;
  line-height: 1.6;
  font-size: 1.7rem;
  color: #fff;
}
.main-visual .lead span {
  display: block;
}
.main-visual .main-doctor {
  position: absolute;
  top: 0;
  left: 73%;
  margin-top: -40px;
  width: 25%;
  max-width: 317px;
}
.main-visual .main-doctor img {
  width: 100%;
}
.main-visual .scroll {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
.main-visual .scroll:hover {
  animation-duration: 1s;
  animation-fill-mode: both;
}

/*================================================================
 プロジェクト内容
================================================================*/
.m-project .box {
  padding-top: 0;
  padding-bottom: 0;
  background: url(../img/project_bg.jpg) center top no-repeat;
  background-attachment: fixed;
}
.m-project .project-title {
  padding: 7% 0 6% 3%;
  width: 82%;
}
.m-project .project-title img {
  width: 100%;
  max-width: 776px;
}
.m-project .problem-item {
  margin-top: 2%;
}
.m-project .problem-item:first-child {
  margin-top: 0;
}
.m-project .title {
  position: relative;
  overflow: hidden;
  padding: 2.5% 6.5% 2.5% 1.5%;
  width: 100%;
  border-radius: 0.2em;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: rgb(12, 27, 75) 3px 3px 0;
  text-align: center;
  font-size: 3.6rem;
  color: #fff;
  box-sizing: border-box;
}
.m-project .title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(center, ellipse cover, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.48) 52%, rgba(255, 255, 255, 0.11) 89%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.2;
}
.m-project .title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 2%;
  margin-top: -19px;
  width: 38px;
  height: 38px;
  background: url(../img/ptn1/problem_arrow.png) left top no-repeat;
  background-size: 100% auto;
}
.m-project .title.is-active::after {
  background-image: url(../img/ptn1/problem_arrow_a.png);
}
.m-project .title .em {
  font-size: 1.8em;
  font-weight: bold;
}
.m-project .title .kata {
  letter-spacing: -0.2em;
}
.m-project .title em {
  display: inline-block;
  vertical-align: baseline;
  font-weight: bold;
  color: #f8eb3f;
}
.m-project .problem-box .problem-box-inner {
  display: none;
  padding: 3%;
  border-radius: 0 0 0.5em 0.5em;
  background: rgba(255, 255, 255, 0.3);
}
.m-project .problem-box .item-inner {
  box-sizing: border-box;
  display: table;
}
.m-project .problem-box .description,
.m-project .problem-box .pic {
  display: table-cell;
  vertical-align: middle;
}
.m-project .problem-box .description {
  text-shadow: rgba(255, 255, 255, 0.6) 2px 1px 0;
  line-height: 1.8;
  font-size: 1.9rem;
}
.m-project .problem-box .description mark {
  background: url(../img/ptn1/mark_border.gif) left bottom repeat-x;
  background-size: 100% 50%;
}
.m-project .problem-box .pic {
  box-sizing: border-box;
  padding: 0 3% 0 0;
  width: 50%;
}
.m-project .problem-box .pic img {
  width: 100%;
}
.m-project .problem-box.is-active .title::after {
  background-image: url(../ptn1/problem_arrow_a.png);
}
.m-project .problem2 .pic {
  padding: 0 0 0 3%;
}
.m-project .case {
  margin: 50px 0 0;
}
.m-project .case .case-title {
  padding: 9px;
  background: #8c6715;
  text-align: center;
  color: #fff;
}
.m-project .case .case-title img {
  width: 60%;
  max-width: 306px;
}
.m-project .case .case-inner {
  padding: 3% 3% 0;
}
.m-project .case .case-inner {
  *zoom: 1;
}
.m-project .case .case-inner::after {
  content: "";
  display: table;
  clear: both;
}
.m-project .case .case-box {
  width: 49%;
  max-width: 407px;
}
.m-project .case .first {
  float: left;
}
.m-project .case .second {
  float: right;
}
.m-project .case .case-list {
  *zoom: 1;
}
.m-project .case .case-list::after {
  content: "";
  display: table;
  clear: both;
}
.m-project .case .case-item {
  float: left;
  width: 49%;
  max-width: 200px;
  box-shadow: rgba(0, 0, 0, 0.3) 2px 2px 5px;
}
.m-project .case .case-item:nth-child(2) {
  float: right;
}
.m-project .case .case-item img {
  width: 100%;
}
.m-project .case .case-item::before {
  display: block;
  padding: 4px;
  background: rgba(255, 255, 255, 0.6);
  text-align: center;
  font-size: 1.8rem;
}
.m-project .case .case-item.before::before {
  content: "BEFORE";
}
.m-project .case .case-item.after::before {
  content: "AFTER";
}
.m-project .case .text {
  margin: 7px 0 0;
  padding: 3%;
  width: 94%;
  background: rgba(255, 255, 255, 0.6);
  box-shadow: rgba(0, 0, 0, 0.3) 2px 2px 5px;
}
.m-project .bottom-lead {
  margin: 0 auto;
  padding: 7% 0 10%;
  width: 100%;
  max-width: 926px;
}
.m-project .bottom-lead img {
  width: 100%;
}
.m-project .problem1 .title {
  background-image: url(../img/ptn1/problem1_bg.jpg);
}
.m-project .problem2 .title {
  background-image: url(../img/ptn1/problem2_bg.jpg);
}
.m-project .problem3 .title {
  background-image: url(../img/ptn1/problem3_bg.jpg);
}

/*================================================================
 募集要項
================================================================*/
.m-requirements .box {
  padding: 6% 0 14%;
  background: url(../img/requirements_bg.gif) left top repeat;
}
.m-requirements table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
}
.m-requirements th {
  width: 33%;
  background: #0d1c4c;
  vertical-align: middle;
  text-align: center;
  font-size: 2.4rem;
  color: #fff;
}
.m-requirements td {
  padding: 30px 15px;
  border: 1px solid #0d1c4c;
  background: #fff;
  line-height: 1.4;
  font-size: 2rem;
}
.m-requirements .detail .price {
  display: block;
  padding-top: 5px;
}
.m-requirements .detail .normal,
.m-requirements .detail .special {
  display: inline-block;
}
.m-requirements .detail .normal {
  padding-right: 0.5em;
}
.m-requirements .detail .special {
  padding-left: 0.5em;
}
.m-requirements .detail em {
  font-size: 2.8rem;
  font-weight: bold;
  color: #f90606;
}
.m-requirements .detail em span {
  display: block;
  font-size: 0.3571428571em;
}
.m-requirements .detail .txt {
  font-size: 1rem;
}
.m-requirements .note-item {
  padding-top: 15px;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.4;
}
.m-requirements .note-item:first-child {
  padding-top: 0;
}
.m-requirements .note-item .sub {
  display: block;
  padding-top: 5px;
  padding-left: 1em;
  font-size: 1.8rem;
}
.m-requirements .note-item li {
  padding-top: 5px;
  text-indent: -1em;
  line-height: 1.3;
}
.m-requirements .note-item li:first-child {
  padding-top: 0;
}
.m-requirements .limit em {
  font-weight: bold;
  color: #f90606;
}

/*================================================================
 ドクター紹介
================================================================*/
.m-doctor .box {
  background: url(../img/doctor_bg.jpg) center center no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
.m-doctor .detail-title {
  margin: 0 0 2px;
  padding: 6px;
  background: rgba(13, 28, 76, 0.8);
  box-shadow: rgba(0, 0, 0, 0.5) 1px 1px 5px;
  text-align: center;
  text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 3px;
  font-size: 1.75rem;
  color: #fff;
}
.m-doctor .detail-box {
  background: rgba(255, 255, 255, 0.6);
  box-shadow: rgba(0, 0, 0, 0.3) 1px 1px 4px;
}
.m-doctor .l-box {
  float: left;
  width: 52%;
  max-width: 506px;
}
.m-doctor .l-box .doctor-pic {
  display: none;
}
.m-doctor .r-box {
  float: right;
  width: 45%;
  max-width: 432px;
}
.m-doctor .comment {
  padding: 22px 25px;
  line-height: 2.2;
}
.m-doctor .bottom-box {
  margin-top: 10px;
  margin-bottom: 25px;
  width: 49%;
  max-width: 248px;
}
.m-doctor .bottom-box.left {
  float: left;
}
.m-doctor .bottom-box.right {
  float: right;
}
.m-doctor .bottom-box dd {
  line-height: 1.25;
  font-size: 1.2rem;
}
.m-doctor .bottom-box .list {
  padding: 3%;
}
.m-doctor .bottom-box .list .item {
  padding: 4px 5px;
  border-top: 1px dotted #999;
  line-height: 1.25;
}
.m-doctor .bottom-box .list .item {
  *zoom: 1;
}
.m-doctor .bottom-box .list .item::after {
  content: "";
  display: table;
  clear: both;
}
.m-doctor .bottom-box .list .item:first-child {
  border-top: 0;
}
.m-doctor .bottom-box .history-item .year {
  float: left;
  width: 23%;
}
.m-doctor .bottom-box .history-item .detail {
  float: right;
  padding-left: 3%;
  width: 74%;
}
.m-doctor .bottom-box .qualification-list {
  padding-bottom: 32px;
}
.m-doctor .about {
  display: table;
  clear: both;
  width: 100%;
  box-shadow: rgba(0, 0, 0, 0.3) 1px 1px 4px;
  table-layout: fixed;
}
.m-doctor .about dt,
.m-doctor .about dd {
  display: table-cell;
  vertical-align: middle;
}
.m-doctor .about .title {
  width: 30%;
  background: rgba(13, 28, 76, 0.8);
  text-align: center;
  line-height: 1.4;
  font-size: 1.75rem;
  color: #fff;
}
.m-doctor .about .title em {
  display: block;
}
.m-doctor .about .detail {
  padding: 2% 2.5%;
  background: rgba(255, 255, 255, 0.6);
  line-height: 1.5;
  font-size: 1.3rem;
}
.m-doctor .doctor-pic {
  text-align: center;
}
.m-doctor .doctor-pic img {
  width: 90%;
  max-width: 298px;
}
.m-doctor .expert {
  position: relative;
  z-index: 10;
  margin-top: -15px;
}
.m-doctor .expert .title {
  margin-bottom: 10px;
}
.m-doctor .expert .link-banner li {
  margin-top: 5px;
}
.m-doctor .expert .link-banner li img {
  width: 100%;
}
.m-doctor .expert .link-banner li:first-child {
  margin-top: 0;
}

/*================================================================
 クリニック紹介
================================================================*/
.m-clinic .box {
  padding-bottom: 7%;
  background: url(../img/clinic_bg.jpg) left bottom no-repeat #051930;
}

.m-history-item {
  padding: 3px 0 4px;
  border-bottom: 1px solid #b9b5af;
}
.m-history-item .item-inner > * {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.5;
  font-size: 1.2em;
  color: #726b60;
}

/*================================================================
 カウンセリングボタンエリア
================================================================*/
.counseling {
  padding-bottom: 10%;
  background: url(../img/apply_bg.jpg) center center no-repeat;
  background-size: cover;
  background-attachment: fixed;
}
.counseling.top {
  background: url(../img/requirements_bg.gif) left top repeat;
  background-size: auto auto;
  background-attachment: scroll;
}
.counseling.top .counseling-inner {
  border: 1px solid #0d1c4c;
  border-top: 0;
}
.counseling .counseling-title,
.counseling .counseling-title img {
  width: 100%;
  max-width: 960px;
}
.counseling .counseling-inner {
  padding: 3%;
  background: url(../img/counseling_bg.jpg) right bottom no-repeat #fdfbfc;
  background-size: auto 100%;
}
.counseling .counseling-inner-item {
  margin: 0 auto;
  padding: 0 0 3%;
  width: 100%;
  max-width: 816px;
}
.counseling .counseling-inner-item {
  *zoom: 1;
}
.counseling .counseling-inner-item::after {
  content: "";
  display: table;
  clear: both;
}
.counseling .counseling-text {
  float: right;
  width: 63%;
  max-width: 500px;
  line-height: 2;
  font-size: 1.7rem;
  font-weight: bold;
  color: #8c6715;
}
.counseling .counseling-text em {
  font-weight: bold;
  color: #f90606;
}
.counseling .price-box {
  box-sizing: border-box;
  float: left;
  padding: 15px 0;
  width: 65%;
  border: 1px solid #8c6715;
  background: #fff;
  text-align: center;
}
.counseling .price-box .top-text {
  display: block;
  padding: 5px 0;
  font-size: 2.4rem;
  color: #8c6715;
}
.counseling .price-box .price-text {
  display: block;
  font-size: 6rem;
  font-weight: bold;
  color: #8c6715;
}
.counseling .price-box .price-text em {
  font-size: 2.4rem;
}
.counseling .limit-box {
  box-sizing: border-box;
  float: left;
  padding: 15px 0;
  width: 35%;
  max-width: 280px;
  border: 1px solid #8c6715;
  background-color: #8c6715;
  text-align: center;
  color: #fff;
}
.counseling .limit-box .top-text {
  display: block;
  padding: 5px 0;
  font-size: 2.4rem;
}
.counseling .limit-box .lmit-text {
  display: inline-block;
  margin-right: -0.1em;
  font-size: 2.4rem;
}
.counseling .limit-box .day {
  font-size: 6rem;
  font-weight: bold;
}
.counseling .counseling-link {
  margin: 0 auto;
  width: 100%;
  max-width: 819px;
}
.counseling .counseling-link img {
  width: 100%;
  max-width: 819px;
}
.counseling .counseling-tel-list {
  padding: 3% 0;
  text-align: center;
}
.counseling .counseling-tel-list {
  *zoom: 1;
}
.counseling .counseling-tel-list::after {
  content: "";
  display: table;
  clear: both;
}
.counseling .counseling-tel-list img {
  width: 100%;
}
.counseling .counseling-tel-item {
  float: left;
}
.counseling .counseling-tel-item.nagoya {
  width: 403px;
}
.counseling .counseling-tel-item.osaka {
  float: right;
  width: 400px;
}

/*----------------------------------------------------------------------
8.	footer
----------------------------------------------------------------------*/
.footer {
  padding: 2% 0;
  background: #0d1c4c;
  text-align: center;
}
.footer small {
  padding: 0 2%;
  line-height: 1.4;
  font-size: 1.4rem;
  color: #fff;
}

/*----------------------------------------------------------------------
9.	ブレイクポイント
----------------------------------------------------------------------*/
@media (min-width: 480px) {
  /*!
  Animate.css - http://daneden.me/animate
  Licensed under the MIT license - http://opensource.org/licenses/MIT

  Copyright (c) 2015 Daniel Eden
  */
  .animated {
    animation-duration: 1s;
    animation-fill-mode: both;
  }
  .animated.infinite {
    animation-iteration-count: infinite;
  }
  .animated.hinge {
    animation-duration: 2s;
  }
  .animated.bounceIn,
  .animated.bounceOut,
  .animated.flipOutX,
  .animated.flipOutY {
    animation-duration: 0.75s;
  }
  @keyframes bounce {
    0%, 100%, 20%, 53%, 80% {
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
      transform: translate3d(0, 0, 0);
    }
    40%, 43% {
      animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
      transform: translate3d(0, -30px, 0);
    }
    70% {
      animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
      transform: translate3d(0, -15px, 0);
    }
    90% {
      transform: translate3d(0, -4px, 0);
    }
  }
  .bounce {
    animation-name: bounce;
    transform-origin: center bottom;
  }
  @keyframes flash {
    0%, 100%, 50% {
      opacity: 1;
    }
    25%, 75% {
      opacity: 0;
    }
  }
  .flash {
    animation-name: flash;
  }
  @keyframes pulse {
    0% {
      transform: scale3d(1, 1, 1);
    }
    50% {
      transform: scale3d(1.05, 1.05, 1.05);
    }
    100% {
      transform: scale3d(1, 1, 1);
    }
  }
  .pulse {
    animation-name: pulse;
  }
  @keyframes rubberBand {
    0% {
      transform: scale3d(1, 1, 1);
    }
    30% {
      transform: scale3d(1.25, 0.75, 1);
    }
    40% {
      transform: scale3d(0.75, 1.25, 1);
    }
    50% {
      transform: scale3d(1.15, 0.85, 1);
    }
    65% {
      transform: scale3d(0.95, 1.05, 1);
    }
    75% {
      transform: scale3d(1.05, 0.95, 1);
    }
    100% {
      transform: scale3d(1, 1, 1);
    }
  }
  .rubberBand {
    animation-name: rubberBand;
  }
  @keyframes shake {
    0%, 100% {
      transform: translate3d(0, 0, 0);
    }
    10%, 30%, 50%, 70%, 90% {
      transform: translate3d(-10px, 0, 0);
    }
    20%, 40%, 60%, 80% {
      transform: translate3d(10px, 0, 0);
    }
  }
  .shake {
    animation-name: shake;
  }
  @keyframes swing {
    20% {
      transform: rotate3d(0, 0, 1, 15deg);
    }
    40% {
      transform: rotate3d(0, 0, 1, -10deg);
    }
    60% {
      transform: rotate3d(0, 0, 1, 5deg);
    }
    80% {
      transform: rotate3d(0, 0, 1, -5deg);
    }
    100% {
      transform: rotate3d(0, 0, 1, 0deg);
    }
  }
  .swing {
    transform-origin: top center;
    animation-name: swing;
  }
  @keyframes tada {
    0% {
      transform: scale3d(1, 1, 1);
    }
    10%, 20% {
      transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }
    30%, 50%, 70%, 90% {
      transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }
    40%, 60%, 80% {
      transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }
    100% {
      transform: scale3d(1, 1, 1);
    }
  }
  .tada {
    animation-name: tada;
  }
  @keyframes wobble {
    0% {
      transform: none;
    }
    15% {
      transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }
    30% {
      transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }
    45% {
      transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }
    60% {
      transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }
    75% {
      transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }
    100% {
      transform: none;
    }
  }
  .wobble {
    animation-name: wobble;
  }
  @keyframes jello {
    0%, 100%, 11.1% {
      transform: none;
    }
    22.2% {
      transform: skewX(-12.5deg) skewY(-12.5deg);
    }
    33.3% {
      transform: skewX(6.25deg) skewY(6.25deg);
    }
    44.4% {
      transform: skewX(-3.125deg) skewY(-3.125deg);
    }
    55.5% {
      transform: skewX(1.5625deg) skewY(1.5625deg);
    }
    66.6% {
      transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }
    77.7% {
      transform: skewX(0.390625deg) skewY(0.390625deg);
    }
    88.8% {
      transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
  }
  .jello {
    animation-name: jello;
    transform-origin: center;
  }
  @keyframes bounceIn {
    0%, 100%, 20%, 40%, 60%, 80% {
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      transform: scale3d(0.3, 0.3, 0.3);
    }
    20% {
      transform: scale3d(1.1, 1.1, 1.1);
    }
    40% {
      transform: scale3d(0.9, 0.9, 0.9);
    }
    60% {
      opacity: 1;
      transform: scale3d(1.03, 1.03, 1.03);
    }
    80% {
      transform: scale3d(0.97, 0.97, 0.97);
    }
    100% {
      opacity: 1;
      transform: scale3d(1, 1, 1);
    }
  }
  .bounceIn {
    animation-name: bounceIn;
  }
  @keyframes bounceInDown {
    0%, 100%, 60%, 75%, 90% {
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      transform: translate3d(0, -3000px, 0);
    }
    60% {
      opacity: 1;
      transform: translate3d(0, 25px, 0);
    }
    75% {
      transform: translate3d(0, -10px, 0);
    }
    90% {
      transform: translate3d(0, 5px, 0);
    }
    100% {
      transform: none;
    }
  }
  .bounceInDown {
    animation-name: bounceInDown;
  }
  @keyframes bounceInLeft {
    0%, 100%, 60%, 75%, 90% {
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      transform: translate3d(-3000px, 0, 0);
    }
    60% {
      opacity: 1;
      transform: translate3d(25px, 0, 0);
    }
    75% {
      transform: translate3d(-10px, 0, 0);
    }
    90% {
      transform: translate3d(5px, 0, 0);
    }
    100% {
      transform: none;
    }
  }
  .bounceInLeft {
    animation-name: bounceInLeft;
  }
  @keyframes bounceInRight {
    0%, 100%, 60%, 75%, 90% {
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      transform: translate3d(3000px, 0, 0);
    }
    60% {
      opacity: 1;
      transform: translate3d(-25px, 0, 0);
    }
    75% {
      transform: translate3d(10px, 0, 0);
    }
    90% {
      transform: translate3d(-5px, 0, 0);
    }
    100% {
      transform: none;
    }
  }
  .bounceInRight {
    animation-name: bounceInRight;
  }
  @keyframes bounceInUp {
    0%, 100%, 60%, 75%, 90% {
      animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    0% {
      opacity: 0;
      transform: translate3d(0, 3000px, 0);
    }
    60% {
      opacity: 1;
      transform: translate3d(0, -20px, 0);
    }
    75% {
      transform: translate3d(0, 10px, 0);
    }
    90% {
      transform: translate3d(0, -5px, 0);
    }
    100% {
      transform: translate3d(0, 0, 0);
    }
  }
  .bounceInUp {
    animation-name: bounceInUp;
  }
  @keyframes bounceOut {
    20% {
      transform: scale3d(0.9, 0.9, 0.9);
    }
    50%, 55% {
      opacity: 1;
      transform: scale3d(1.1, 1.1, 1.1);
    }
    100% {
      opacity: 0;
      transform: scale3d(0.3, 0.3, 0.3);
    }
  }
  .bounceOut {
    animation-name: bounceOut;
  }
  @keyframes bounceOutDown {
    20% {
      transform: translate3d(0, 10px, 0);
    }
    40%, 45% {
      opacity: 1;
      transform: translate3d(0, -20px, 0);
    }
    100% {
      opacity: 0;
      transform: translate3d(0, 2000px, 0);
    }
  }
  .bounceOutDown {
    animation-name: bounceOutDown;
  }
  @keyframes bounceOutLeft {
    20% {
      opacity: 1;
      transform: translate3d(20px, 0, 0);
    }
    100% {
      opacity: 0;
      transform: translate3d(-2000px, 0, 0);
    }
  }
  .bounceOutLeft {
    animation-name: bounceOutLeft;
  }
  @keyframes bounceOutRight {
    20% {
      opacity: 1;
      transform: translate3d(-20px, 0, 0);
    }
    100% {
      opacity: 0;
      transform: translate3d(2000px, 0, 0);
    }
  }
  .bounceOutRight {
    animation-name: bounceOutRight;
  }
  @keyframes bounceOutUp {
    20% {
      transform: translate3d(0, -10px, 0);
    }
    40%, 45% {
      opacity: 1;
      transform: translate3d(0, 20px, 0);
    }
    100% {
      opacity: 0;
      transform: translate3d(0, -2000px, 0);
    }
  }
  .bounceOutUp {
    animation-name: bounceOutUp;
  }
  @keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  .fadeIn {
    animation-name: fadeIn;
  }
  @keyframes fadeInDown {
    0% {
      opacity: 0;
      transform: translate3d(0, -100%, 0);
    }
    100% {
      opacity: 1;
      transform: none;
    }
  }
  .fadeInDown {
    animation-name: fadeInDown;
  }
  @keyframes fadeInDownBig {
    0% {
      opacity: 0;
      transform: translate3d(0, -2000px, 0);
    }
    100% {
      opacity: 1;
      transform: none;
    }
  }
  .fadeInDownBig {
    animation-name: fadeInDownBig;
  }
  @keyframes fadeInLeft {
    0% {
      opacity: 0;
      transform: translate3d(-100%, 0, 0);
    }
    100% {
      opacity: 1;
      transform: none;
    }
  }
  .fadeInLeft {
    animation-name: fadeInLeft;
  }
  @keyframes fadeInLeftBig {
    0% {
      opacity: 0;
      transform: translate3d(-2000px, 0, 0);
    }
    100% {
      opacity: 1;
      transform: none;
    }
  }
  .fadeInLeftBig {
    animation-name: fadeInLeftBig;
  }
  @keyframes fadeInRight {
    0% {
      opacity: 0;
      transform: translate3d(100%, 0, 0);
    }
    100% {
      opacity: 1;
      transform: none;
    }
  }
  .fadeInRight {
    animation-name: fadeInRight;
  }
  @keyframes fadeInRightBig {
    0% {
      opacity: 0;
      transform: translate3d(2000px, 0, 0);
    }
    100% {
      opacity: 1;
      transform: none;
    }
  }
  .fadeInRightBig {
    animation-name: fadeInRightBig;
  }
  @keyframes fadeInUp {
    0% {
      opacity: 0;
      transform: translate3d(0, 100%, 0);
    }
    100% {
      opacity: 1;
      transform: none;
    }
  }
  .fadeInUp {
    animation-name: fadeInUp;
  }
  @keyframes fadeInUpBig {
    0% {
      opacity: 0;
      transform: translate3d(0, 2000px, 0);
    }
    100% {
      opacity: 1;
      transform: none;
    }
  }
  .fadeInUpBig {
    animation-name: fadeInUpBig;
  }
  @keyframes fadeOut {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  .fadeOut {
    animation-name: fadeOut;
  }
  @keyframes fadeOutDown {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translate3d(0, 100%, 0);
    }
  }
  .fadeOutDown {
    animation-name: fadeOutDown;
  }
  @keyframes fadeOutDownBig {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translate3d(0, 2000px, 0);
    }
  }
  .fadeOutDownBig {
    animation-name: fadeOutDownBig;
  }
  @keyframes fadeOutLeft {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translate3d(-100%, 0, 0);
    }
  }
  .fadeOutLeft {
    animation-name: fadeOutLeft;
  }
  @keyframes fadeOutLeftBig {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translate3d(-2000px, 0, 0);
    }
  }
  .fadeOutLeftBig {
    animation-name: fadeOutLeftBig;
  }
  @keyframes fadeOutRight {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translate3d(100%, 0, 0);
    }
  }
  .fadeOutRight {
    animation-name: fadeOutRight;
  }
  @keyframes fadeOutRightBig {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translate3d(2000px, 0, 0);
    }
  }
  .fadeOutRightBig {
    animation-name: fadeOutRightBig;
  }
  @keyframes fadeOutUp {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translate3d(0, -100%, 0);
    }
  }
  .fadeOutUp {
    animation-name: fadeOutUp;
  }
  @keyframes fadeOutUpBig {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translate3d(0, -2000px, 0);
    }
  }
  .fadeOutUpBig {
    animation-name: fadeOutUpBig;
  }
  @keyframes flip {
    0% {
      transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
      animation-timing-function: ease-out;
    }
    40% {
      transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
      animation-timing-function: ease-out;
    }
    50% {
      transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
      animation-timing-function: ease-in;
    }
    80% {
      transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
      animation-timing-function: ease-in;
    }
    100% {
      transform: perspective(400px);
      animation-timing-function: ease-in;
    }
  }
  .animated.flip {
    backface-visibility: visible;
    animation-name: flip;
  }
  @keyframes flipInX {
    0% {
      opacity: 0;
      transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
      animation-timing-function: ease-in;
    }
    40% {
      transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
      animation-timing-function: ease-in;
    }
    60% {
      opacity: 1;
      transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    }
    80% {
      transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }
    100% {
      transform: perspective(400px);
    }
  }
  .flipInX {
    backface-visibility: visible !important;
    animation-name: flipInX;
  }
  @keyframes flipInY {
    0% {
      opacity: 0;
      transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
      animation-timing-function: ease-in;
    }
    40% {
      transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
      animation-timing-function: ease-in;
    }
    60% {
      opacity: 1;
      transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    }
    80% {
      transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }
    100% {
      transform: perspective(400px);
    }
  }
  .flipInY {
    backface-visibility: visible !important;
    animation-name: flipInY;
  }
  @keyframes flipOutX {
    0% {
      transform: perspective(400px);
    }
    30% {
      opacity: 1;
      transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    }
    100% {
      opacity: 0;
      transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    }
  }
  .flipOutX {
    animation-name: flipOutX;
    backface-visibility: visible !important;
  }
  @keyframes flipOutY {
    0% {
      transform: perspective(400px);
    }
    30% {
      opacity: 1;
      transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    }
    100% {
      opacity: 0;
      transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    }
  }
  .flipOutY {
    backface-visibility: visible !important;
    animation-name: flipOutY;
  }
  @keyframes lightSpeedIn {
    0% {
      opacity: 0;
      transform: translate3d(100%, 0, 0) skewX(-30deg);
    }
    60% {
      opacity: 1;
      transform: skewX(20deg);
    }
    80% {
      opacity: 1;
      transform: skewX(-5deg);
    }
    100% {
      opacity: 1;
      transform: none;
    }
  }
  .lightSpeedIn {
    animation-name: lightSpeedIn;
    animation-timing-function: ease-out;
  }
  @keyframes lightSpeedOut {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translate3d(100%, 0, 0) skewX(30deg);
    }
  }
  .lightSpeedOut {
    animation-name: lightSpeedOut;
    animation-timing-function: ease-in;
  }
  @keyframes rotateIn {
    0% {
      opacity: 0;
      transform-origin: center;
      transform: rotate3d(0, 0, 1, -200deg);
    }
    100% {
      opacity: 1;
      transform-origin: center;
      transform: none;
    }
  }
  .rotateIn {
    animation-name: rotateIn;
  }
  @keyframes rotateInDownLeft {
    0% {
      opacity: 0;
      transform-origin: left bottom;
      transform: rotate3d(0, 0, 1, -45deg);
    }
    100% {
      opacity: 1;
      transform-origin: left bottom;
      transform: none;
    }
  }
  .rotateInDownLeft {
    animation-name: rotateInDownLeft;
  }
  @keyframes rotateInDownRight {
    0% {
      opacity: 0;
      transform-origin: right bottom;
      transform: rotate3d(0, 0, 1, 45deg);
    }
    100% {
      opacity: 1;
      transform-origin: right bottom;
      transform: none;
    }
  }
  .rotateInDownRight {
    animation-name: rotateInDownRight;
  }
  @keyframes rotateInUpLeft {
    0% {
      opacity: 0;
      transform-origin: left bottom;
      transform: rotate3d(0, 0, 1, 45deg);
    }
    100% {
      opacity: 1;
      transform-origin: left bottom;
      transform: none;
    }
  }
  .rotateInUpLeft {
    animation-name: rotateInUpLeft;
  }
  @keyframes rotateInUpRight {
    0% {
      opacity: 0;
      transform-origin: right bottom;
      transform: rotate3d(0, 0, 1, -90deg);
    }
    100% {
      opacity: 1;
      transform-origin: right bottom;
      transform: none;
    }
  }
  .rotateInUpRight {
    animation-name: rotateInUpRight;
  }
  @keyframes rotateOut {
    0% {
      opacity: 1;
      transform-origin: center;
    }
    100% {
      opacity: 0;
      transform-origin: center;
      transform: rotate3d(0, 0, 1, 200deg);
    }
  }
  .rotateOut {
    animation-name: rotateOut;
  }
  @keyframes rotateOutDownLeft {
    0% {
      opacity: 1;
      transform-origin: left bottom;
    }
    100% {
      opacity: 0;
      transform-origin: left bottom;
      transform: rotate3d(0, 0, 1, 45deg);
    }
  }
  .rotateOutDownLeft {
    animation-name: rotateOutDownLeft;
  }
  @keyframes rotateOutDownRight {
    0% {
      opacity: 1;
      transform-origin: right bottom;
    }
    100% {
      opacity: 0;
      transform-origin: right bottom;
      transform: rotate3d(0, 0, 1, -45deg);
    }
  }
  .rotateOutDownRight {
    animation-name: rotateOutDownRight;
  }
  @keyframes rotateOutUpLeft {
    0% {
      opacity: 1;
      transform-origin: left bottom;
    }
    100% {
      opacity: 0;
      transform-origin: left bottom;
      transform: rotate3d(0, 0, 1, -45deg);
    }
  }
  .rotateOutUpLeft {
    animation-name: rotateOutUpLeft;
  }
  @keyframes rotateOutUpRight {
    0% {
      opacity: 1;
      transform-origin: right bottom;
    }
    100% {
      opacity: 0;
      transform-origin: right bottom;
      transform: rotate3d(0, 0, 1, 90deg);
    }
  }
  .rotateOutUpRight {
    animation-name: rotateOutUpRight;
  }
  @keyframes hinge {
    0% {
      transform-origin: top left;
      animation-timing-function: ease-in-out;
    }
    20%, 60% {
      transform: rotate3d(0, 0, 1, 80deg);
      transform-origin: top left;
      animation-timing-function: ease-in-out;
    }
    40%, 80% {
      opacity: 1;
      transform: rotate3d(0, 0, 1, 60deg);
      transform-origin: top left;
      animation-timing-function: ease-in-out;
    }
    100% {
      opacity: 0;
      transform: translate3d(0, 700px, 0);
    }
  }
  .hinge {
    animation-name: hinge;
  }
  @keyframes rollIn {
    0% {
      opacity: 0;
      transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }
    100% {
      opacity: 1;
      transform: none;
    }
  }
  .rollIn {
    animation-name: rollIn;
  }
  @keyframes rollOut {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
  }
  .rollOut {
    animation-name: rollOut;
  }
  @keyframes zoomIn {
    0% {
      opacity: 0;
      transform: scale3d(0.3, 0.3, 0.3);
    }
    50% {
      opacity: 1;
    }
  }
  .zoomIn {
    animation-name: zoomIn;
  }
  @keyframes zoomInDown {
    0% {
      opacity: 0;
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomInDown {
    animation-name: zoomInDown;
  }
  @keyframes zoomInLeft {
    0% {
      opacity: 0;
      transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomInLeft {
    animation-name: zoomInLeft;
  }
  @keyframes zoomInRight {
    0% {
      opacity: 0;
      transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomInRight {
    animation-name: zoomInRight;
  }
  @keyframes zoomInUp {
    0% {
      opacity: 0;
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    60% {
      opacity: 1;
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomInUp {
    animation-name: zoomInUp;
  }
  @keyframes zoomOut {
    0% {
      opacity: 1;
    }
    50% {
      opacity: 0;
      transform: scale3d(0.3, 0.3, 0.3);
    }
    100% {
      opacity: 0;
    }
  }
  .zoomOut {
    animation-name: zoomOut;
  }
  @keyframes zoomOutDown {
    40% {
      opacity: 1;
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    100% {
      opacity: 0;
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
      transform-origin: center bottom;
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomOutDown {
    animation-name: zoomOutDown;
  }
  @keyframes zoomOutLeft {
    40% {
      opacity: 1;
      transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }
    100% {
      opacity: 0;
      transform: scale(0.1) translate3d(-2000px, 0, 0);
      transform-origin: left center;
    }
  }
  .zoomOutLeft {
    animation-name: zoomOutLeft;
  }
  @keyframes zoomOutRight {
    40% {
      opacity: 1;
      transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }
    100% {
      opacity: 0;
      transform: scale(0.1) translate3d(2000px, 0, 0);
      transform-origin: right center;
    }
  }
  .zoomOutRight {
    animation-name: zoomOutRight;
  }
  @keyframes zoomOutUp {
    40% {
      opacity: 1;
      transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
      animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }
    100% {
      opacity: 0;
      transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
      transform-origin: center bottom;
      animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
  }
  .zoomOutUp {
    animation-name: zoomOutUp;
  }
  @keyframes slideInDown {
    0% {
      visibility: visible;
      transform: translate3d(0, -100%, 0);
    }
    100% {
      transform: translate3d(0, 0, 0);
    }
  }
  .slideInDown {
    animation-name: slideInDown;
  }
  @keyframes slideInLeft {
    0% {
      visibility: visible;
      transform: translate3d(-100%, 0, 0);
    }
    100% {
      transform: translate3d(0, 0, 0);
    }
  }
  .slideInLeft {
    animation-name: slideInLeft;
  }
  @keyframes slideInRight {
    0% {
      visibility: visible;
      transform: translate3d(100%, 0, 0);
    }
    100% {
      transform: translate3d(0, 0, 0);
    }
  }
  .slideInRight {
    animation-name: slideInRight;
  }
  @keyframes slideInUp {
    0% {
      visibility: visible;
      transform: translate3d(0, 100%, 0);
    }
    100% {
      transform: translate3d(0, 0, 0);
    }
  }
  .slideInUp {
    animation-name: slideInUp;
  }
  @keyframes slideOutDown {
    0% {
      transform: translate3d(0, 0, 0);
    }
    100% {
      visibility: hidden;
      transform: translate3d(0, 100%, 0);
    }
  }
  .slideOutDown {
    animation-name: slideOutDown;
  }
  @keyframes slideOutLeft {
    0% {
      transform: translate3d(0, 0, 0);
    }
    100% {
      visibility: hidden;
      transform: translate3d(-100%, 0, 0);
    }
  }
  .slideOutLeft {
    animation-name: slideOutLeft;
  }
  @keyframes slideOutRight {
    0% {
      transform: translate3d(0, 0, 0);
    }
    100% {
      visibility: hidden;
      transform: translate3d(100%, 0, 0);
    }
  }
  .slideOutRight {
    animation-name: slideOutRight;
  }
  @keyframes slideOutUp {
    0% {
      transform: translate3d(0, 0, 0);
    }
    100% {
      visibility: hidden;
      transform: translate3d(0, -100%, 0);
    }
  }
  .slideOutUp {
    animation-name: slideOutUp;
  }
}
@media (max-width: 640px) {
  html {
    font-size: 62.5%;
  }
}
@media (max-width: 560px) {
  html {
    font-size: 50%;
  }
}
@media (max-width: 480px) {
  html {
    font-size: 43.75%;
  }
}
@media (max-width: 415px) {
  html {
    font-size: 37.5%;
  }
}
@media (max-width: 320px) {
  html {
    font-size: 34.375%;
  }
}
@media (max-width: 240px) {
  html {
    font-size: 25%;
  }
}
@media (max-width: 160px) {
  html {
    font-size: 18.75%;
  }
}
/*================================================================
 980px以下
================================================================*/
@media (max-width: 980px) {
  .wrap {
    margin-right: 0;
    margin-left: 0;
    padding: 0 3%;
    width: 94%;
  }
}
/*================================================================
 768px以下
================================================================*/
@media (max-width: 768px) {
  .box {
    padding-bottom: 20%;
  }
  .main-visual .main-title,
  .main-visual .main-doctor,
  .main-visual .scroll,
  .s-apply-link,
  .flow-text {
    visibility: visible;
  }
  .flow-text a {
    left: 15%;
    width: 70%;
  }
  .flow-text a span {
    padding: 15px;
    font-size: 2.4rem;
  }
  .main-visual {
    margin-top: 11%;
  }
  .main-visual .main-visual-inner {
    display: none;
  }
  .main-visual .main-title {
    padding-top: 8%;
  }
  .main-visual .lead {
    padding-bottom: 15%;
  }
  .main-visual .main-doctor {
    display: none;
  }
  .main-visual .scroll {
    display: none;
  }
  #header {
    position: static;
  }
  #header .logo {
    padding-top: 10px;
    width: 40%;
  }
  #header .list-close {
    display: block;
  }
  #header .top_clinic_title {
    display: block;
    float: right;
    padding: 25px 2% 0 0;
    width: 40%;
  }
  #header .top_clinic_title img {
    width: 100%;
  }
  #header #nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
  }
  #header #nav .nav-list {
    float: none;
    width: 100%;
    max-width: initial;
    max-width: auto;
  }
  #header #nav .nav-list {
    *zoom: 1;
  }
  #header #nav .nav-list::after {
    content: "";
    display: table;
    clear: both;
  }
  #header #nav .nav-list .nav-item {
    box-sizing: border-box;
    display: block;
    width: 100%;
  }
  #header #nav .nav-list .nav-item.top {
    display: none;
  }
  #header #nav .nav-list .nav-item a {
    box-sizing: border-box;
    display: block;
    padding: 4.5% 5%;
    width: auto;
    height: auto;
    border-bottom: 1px solid #0d1c4c;
    text-align: left;
    line-height: 45px;
    font-size: 2rem;
    color: #0d1c4c;
  }
  #header #nav .nav-list .nav-item a span {
    display: inline;
  }
  #header #nav .nav-list .nav-item a::before {
    position: static;
    float: left;
    padding-right: 20px;
    width: 10%;
  }
  #header #nav .list-close {
    padding: 6% 2%;
    width: 92%;
    height: 92%;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    color: #0d1c4c;
  }
  .m-project .project-title {
    margin: 0 auto;
    width: 85%;
  }
  .m-project .title {
    padding-top: 3.5%;
    padding-bottom: 3.5%;
    font-size: 2.7rem;
  }
  .m-project .problem-item {
    margin-top: 3%;
  }
  .m-project .problem-box .problem-box {
    padding-right: 0;
    padding-left: 0;
  }
  .m-project .problem-box .item-inner {
    display: block;
  }
  .m-project .problem-box .item-inner {
    *zoom: 1;
  }
  .m-project .problem-box .item-inner::after {
    content: "";
    display: table;
    clear: both;
  }
  .m-project .problem-box .description,
  .m-project .problem-box .pic {
    display: block;
  }
  .m-project .problem-box .pic {
    float: left;
    padding: 0 3% 0 0;
    width: 46%;
  }
  .m-project .problem-box.problem2 .pic {
    float: right;
    padding: 0 0 0 3%;
  }
  .m-project .case .open a {
    text-decoration: underline;
    font-weight: bold;
  }
  #clinic .date .tel span {
    padding-left: 17%;
    font-size: 1.6rem;
  }
  .m-clinic .clinic-list {
    min-width: 460px;
  }
  .m-clinic .clinic-item {
    float: none;
    margin-right: auto;
    margin-left: auto;
  }
  .m-clinic .clinic-item:last-child {
    float: none;
    margin-top: 4%;
  }
  .m-clinic .box {
    padding-bottom: 7%;
    background: url(../img/clinic_bg.jpg) left top no-repeat #051930;
    background-size: 100% auto;
  }
  #flow .step-box .step-title {
    padding-top: 0;
    width: 25%;
  }
  .s-apply-link {
    right: 0;
    bottom: 0;
    padding: 1%;
    width: 98%;
  }
  .s-apply-link a {
    display: block;
    width: 100%;
    height: 3%;
    border-radius: 6px;
    background: rgba(218, 90, 108, 0.7);
    box-sizing: border-box;
  }
  .s-apply-link a .apply-link-box {
    box-sizing: border-box;
    display: table;
    padding: 1%;
    width: 100%;
    table-layout: fixed;
  }
  .s-apply-link a .apply-link-box dt,
  .s-apply-link a .apply-link-box dd {
    display: table-cell;
    vertical-align: middle;
  }
  .s-apply-link a .apply-link-box .lead {
    padding: 0;
    width: 27%;
    border-bottom: 2px solid #b13848;
    border-left: 2px solid #b13848;
    border-radius: 6px;
    background: url(../img/sp_apply_link_bg.png) center no-repeat #da5a6c;
    background-size: auto 90%;
    text-align: left;
    font-size: 2rem;
    font-weight: bold;
    box-sizing: border-box;
  }
  .s-apply-link a .apply-link-box .detail {
    font-size: 1.4rem;
  }
  .s-apply-link a .apply-link-box .detail span em {
    width: 32px;
    height: 32px;
    line-height: 32px;
    font-size: 1.8rem;
    font-weight: bold;
  }
  #popup .destination .detail .mail a {
    font-size: 3.4rem;
  }
  .project .l-title img {
    width: 222.3333333333px;
  }
  .requirements .l-title img {
    width: 123.6666666667px;
  }
  .apply .l-title img {
    width: 122.3333333333px;
  }
  .doctor .l-title img {
    width: 163.6666666667px;
  }
  .clinic .l-title img {
    width: 193.3333333333px;
  }
  .flow .l-title img {
    width: 250.6666666667px;
  }
  .m-clinic {
    background: #eae9e7;
  }
  .m-clinic-wrapper {
    padding-bottom: 12.5%;
  }
  .m-clinic-inner {
    margin: 0 4.6875%;
  }
  .m-clinic img,
  .m-clinic object {
    width: 100%;
  }
  .m-clinic-title {
    margin-bottom: 13.7931034483%;
  }
  .m-clinic-logo {
    margin: 0 auto 6.724137931%;
    width: 62.0689655172%;
  }
  .m-clinic-text {
    margin-bottom: 5%;
    text-align: justify;
    line-height: 1.4615384615;
    font-size: 1.3rem;
  }
  .m-clinic-pic {
    margin-bottom: 6.8965517241%;
  }
  .m-clinic-contents {
    overflow: hidden;
    margin-bottom: 3.4482758621%;
    border-radius: 0.5rem;
    background: #f3f3f3;
  }
  .m-clinic-contents:last-child {
    margin: 0;
  }
  .m-clinic-contents-wrapper {
    display: none;
  }
  .m-clinic-contents-title {
    position: relative;
  }
  .m-clinic-contents-title::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    margin-right: 3.4482758621%;
    width: 5.1724137931%;
    height: 100%;
    background-image: url(../img/clinic_title_arrow_bottom.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
  .m-clinic-contents-title.is-active::before {
    background-image: url(../img/clinic_title_arrow_top.png);
  }
  .m-clinic-contents-inner {
    padding: 0 3.4482758621% 5.1724137931%;
  }
  .m-clinic-contents-pic {
    margin-top: 3.7037037037%;
    margin-bottom: 7.4074074074%;
  }
  .m-clinic-contents-item-title {
    float: left;
    width: 22.2222222222%;
    font-size: 2.4rem;
  }
  .m-clinic-contents-item-details {
    overflow: hidden;
    padding-left: 3.7037037037%;
    border-left: 1px solid #0d1c4c;
    line-height: 1.5714285714;
    font-size: 2.4rem;
    white-space: nowrap;
  }
  .m-clinic-address {
    margin-bottom: 4.6296296296%;
  }
  .m-clinic-hour {
    margin-bottom: 5.5555555556%;
  }
  .m-clinic-contact {
    margin-bottom: 5.5555555556%;
  }
  .m-clinic-contact a {
    display: block;
    position: relative;
  }
  .m-clinic-contact a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
  }
  .m-clinic-contact object {
    display: block;
    width: 96.3917525773%;
  }
  .m-clinic-contact .overseas {
    display: block;
    padding-top: 0.55em;
    font-size: 2rem;
  }
  .m-clinic-contact .overseas a {
    display: inline-block;
    text-decoration: underline;
    font-size: 2.2rem;
  }
  .counseling .counseling-inner {
    background: url(../img/counseling_bg.jpg) right 100% center no-repeat #fdfbfc;
  }
  .counseling .counseling-tel-list {
    padding: 6% 0 3%;
  }
  .counseling .counseling-tel-item {
    float: none;
  }
  .counseling .counseling-tel-item.nagoya, .counseling .counseling-tel-item.osaka {
    width: 100%;
  }
  .counseling .counseling-tel-item.osaka {
    margin-top: 5%;
  }
}
/*================================================================
 480px以下
================================================================*/
@media (max-width: 480px) {
  .flow-text a {
    left: 5%;
    width: 90%;
  }
  .flow-text a span {
    margin-bottom: 15px;
    padding: 10px;
    font-size: 2.6rem;
  }
  .flow-text a span::after {
    bottom: -17px;
    left: 50%;
    margin-left: -17px;
    width: 34px;
    height: 23px;
    background: url(../img/flow_text_arrow.png) center bottom no-repeat;
    background-size: 100% auto;
  }
  #header .logo {
    padding-top: 10px;
    padding-bottom: 5px;
    width: 55%;
  }
  #header #nav .nav-list {
    margin-top: 18.5%;
    border-top: 1px solid #0d1c4c;
  }
  #header #nav .nav-list .nav-item {
    box-sizing: border-box;
    display: block;
    width: 50%;
  }
  #header #nav .nav-list .nav-item.top {
    width: 100%;
  }
  #header #nav .nav-list .nav-item.top::before {
    display: none;
  }
  #header #nav .nav-list .nav-item.top a {
    padding-top: 3%;
    padding-bottom: 3%;
  }
  #header #nav .nav-list .nav-item:nth-child(odd) a {
    border-right: none;
  }
  #header #nav .nav-list .nav-item a {
    padding: 33% 2% 14%;
    border-right: 1px solid #0d1c4c;
    text-align: center;
    font-size: 1.6rem;
  }
  #header #nav .nav-list .nav-item a::before {
    position: absolute;
    top: 20%;
    float: none;
    padding-right: 0;
    width: 100%;
  }
  #header #nav .list-close {
    font-size: 1.6rem;
  }
  .main-visual {
    margin-top: 16%;
    height: 55%;
  }
  .main-visual .main-title {
    padding-top: 7%;
  }
  .main-visual .main-title img {
    width: 74%;
  }
  .main-visual .main-title .pc {
    display: none;
  }
  .main-visual .main-title .sp {
    display: block;
  }
  .main-visual .main-title .sp img {
    width: 90%;
  }
  .main-visual .lead {
    padding: 0 2% 17%;
    width: 96%;
    line-height: 1.4;
    font-size: 2.2rem;
  }
  .main-visual .lead span {
    display: inline;
  }
  .m-project .box {
    background: #fdfbfb;
  }
  .m-project .project-title {
    padding-bottom: 7%;
    padding-left: 0;
    width: 100%;
  }
  .m-project .title {
    padding-top: 4%;
    padding-bottom: 4%;
    font-size: 2.1rem;
  }
  .m-project .title::after {
    margin-top: -0.5em;
    width: 1.3em;
    height: 1.3em;
  }
  .m-project .problem-box .description {
    font-size: 2.2rem;
  }
  .m-project .case {
    margin-top: 5%;
  }
  .m-project .case .case-item::before {
    padding: 0.5em 0;
    font-size: 2rem;
  }
  .m-project .case .case-box {
    float: none;
    margin: 0 auto;
    width: 100%;
  }
  .m-project .case .case-box .text {
    line-height: 1.6;
    font-size: 2.2rem;
  }
  .m-project .case .case-box.second {
    margin-top: 4%;
  }
  .m-requirements .wrap {
    padding-bottom: 3%;
  }
  .m-requirements table {
    border-spacing: 0 0.4em;
  }
  .m-requirements table th {
    font-size: 2.2rem;
  }
  .m-requirements table td {
    padding: 2% 3%;
    font-size: 2.1rem;
  }
  .m-requirements table .note-item {
    padding-top: 0.5em;
  }
  .m-requirements table .condition .note-item .sub {
    font-size: 2.2rem;
  }
  .m-requirements table .condition .note-item .sub ul {
    margin-left: -1em;
  }
  .m-requirements table .condition .note-item .sub li {
    font-size: 1.9rem;
  }
  .m-requirements .detail .normal,
  .m-requirements .detail .special {
    display: inline-block;
  }
  .m-requirements .detail .normal {
    padding-right: 0.2em;
  }
  .m-requirements .detail .special {
    padding-left: 0.2em;
  }
  .m-requirements .detail em {
    font-size: 3rem;
  }
  #apply .apply-list {
    display: block;
    padding-top: 3%;
  }
  #apply .apply-list .apply-item {
    display: block;
    margin-top: 4%;
    padding: 0;
    width: 100%;
  }
  #apply .apply-list .apply-item {
    *zoom: 1;
  }
  #apply .apply-list .apply-item::after {
    content: "";
    display: table;
    clear: both;
  }
  #apply .apply-list .apply-item:first-child {
    margin-top: 0;
  }
  #apply .apply-list .apply-item::before {
    float: left;
    width: 20%;
  }
  #apply .apply-list .apply-item .apply-box {
    display: table;
    float: right;
    width: 78%;
    table-layout: fixed;
  }
  #apply .apply-list .apply-item .apply-box dt,
  #apply .apply-list .apply-item .apply-box dd {
    display: table-cell;
    vertical-align: middle;
  }
  #apply .apply-list .apply-item .apply-box .title {
    padding: 2%;
    width: 47%;
    line-height: 1.4;
    font-size: 1.5rem;
  }
  #apply .apply-list .apply-item .apply-box .pic {
    padding: 0 0 0 3%;
    width: 50%;
  }
  #apply .destination {
    margin-top: 8%;
  }
  #apply .destination .title {
    padding: 3%;
    font-size: 2rem;
  }
  #apply .destination .detail .mail a {
    padding: 6% 3%;
    font-size: 2.2rem;
  }
  #apply .destination .detail .qr {
    display: none;
  }
  #apply .note-list {
    margin-top: 1%;
  }
  #apply .note-list .note-item {
    font-size: 1.6rem;
  }
  #apply .apply-link {
    margin-top: 6%;
    width: 80%;
    max-width: 400px;
  }
  #apply .apply-link a {
    background-position: 90% center;
    font-size: 1.8rem;
  }
  #doctor .l-box,
  #doctor .r-box {
    float: none;
    width: 100%;
    max-width: initial;
    max-width: auto;
  }
  #doctor .l-box .doctor-pic {
    display: block;
    float: right;
    padding: 8% 2% 5px 15px;
    width: 44%;
  }
  #doctor .l-box .doctor-pic img {
    width: 100%;
  }
  #doctor .r-box .doctor-pic {
    display: none;
  }
  #doctor .comment {
    padding: 3.5%;
    line-height: 1.6;
    font-size: 2.2rem;
  }
  #doctor .bottom-box {
    float: none;
    margin: 2.5% 0;
    padding: 0;
    width: 100%;
    max-width: initial;
    max-width: auto;
  }
  #doctor .bottom-box.left {
    float: none;
  }
  #doctor .bottom-box.right {
    float: none;
  }
  #doctor .bottom-box .detail-title {
    position: relative;
    padding: 3.7% 0 3.5%;
    font-size: 2.6rem;
  }
  #doctor .bottom-box .detail-title::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 2%;
    margin-top: -0.5em;
    width: 1em;
    height: 1em;
    background: url(../img/ptn1/problem_arrow.png) left top no-repeat;
    background-size: 100% auto;
  }
  #doctor .bottom-box .detail-title.is-active::after {
    background-image: url(../img/ptn1/problem_arrow_a.png);
  }
  #doctor .bottom-box .detail-box {
    display: none;
    font-size: 2.2rem;
  }
  #doctor .bottom-box.history {
    margin-top: 5%;
  }
  #doctor .bottom-box .history-item .year {
    font-size: 2.1rem;
  }
  #doctor .bottom-box .history-item .detail {
    padding-left: 0;
    width: 77%;
    font-size: 2.1rem;
  }
  #doctor .bottom-box .qualification-list {
    padding-bottom: 3%;
  }
  #doctor .about .title {
    padding: 1%;
    font-size: 2.2rem;
  }
  #doctor .about .title em {
    display: inline;
  }
  #doctor .about .detail {
    font-size: 2rem;
  }
  #doctor .expert {
    margin-top: 7%;
  }
  #doctor .expert .title {
    padding: 3% 2%;
    font-size: 2.6rem;
  }
  #doctor .expert .link-banner li {
    text-align: center;
  }
  #doctor .expert .link-banner li img {
    max-width: 435px;
  }
  #clinic .gallery {
    float: none;
    margin-top: 2%;
    width: 100%;
  }
  #clinic .gallery img {
    max-width: 470px;
  }
  #clinic .date {
    float: none;
    margin-top: 5%;
    width: 100%;
    max-width: initial;
    max-width: auto;
  }
  #clinic .date .date-box {
    margin-top: 0.4em;
  }
  #clinic .date .date-box dt {
    font-size: 2.2rem;
  }
  #clinic .date .date-box dd {
    padding: 3%;
    font-size: 2.1rem;
  }
  #clinic .date .tel img {
    width: 80%;
  }
  #clinic .date .tel a {
    text-decoration: underline;
  }
  #clinic .date .tel span {
    padding-left: 12.5%;
    font-size: 2.2rem;
  }
  #clinic .clinic-title {
    padding-left: 20%;
    width: 65%;
  }
  #flow .progress {
    display: none;
  }
  #flow .step-list {
    padding-top: 6%;
  }
  #flow .step-box .step-title {
    width: 25%;
  }
  #flow .step-box .step-title span {
    float: none;
  }
  #flow .step-box .step-title span.no, #flow .step-box .step-title span.stage {
    box-sizing: border-box;
    width: 100%;
  }
  #flow .step-box .step-title span.no {
    padding: 0 26% 2% 23%;
  }
  #flow .step-box .step-detail {
    width: 72%;
  }
  #flow .step-box .step-text p {
    height: auto;
    font-size: 1.6rem;
  }
  #flow .step-box .sample .sample-box,
  #flow .step-box .destination .destination-box {
    display: block;
  }
  #flow .step-box .sample .sample-box dt,
  #flow .step-box .sample .sample-box dd,
  #flow .step-box .destination .destination-box dt,
  #flow .step-box .destination .destination-box dd {
    display: block;
  }
  #flow .step-box .sample .sample-box .pic {
    width: 100%;
    max-width: 100%;
  }
  #flow .step-box .sample .sample-box .pic img {
    max-width: 100%;
  }
  #flow .step-box .sample .sample-box .text {
    margin-top: 2px;
    padding-left: 0;
    width: 100%;
  }
  #flow .step-box .sample .sample-box .text p {
    padding: 2% 3%;
    height: auto;
  }
  #flow .step-box .destination .destination-box .title {
    padding: 3%;
    width: 94%;
    max-width: initial;
    max-width: auto;
    height: auto;
    font-size: 1.6rem;
  }
  #flow .step-box .destination .destination-box .mail {
    padding: 0;
    height: auto;
  }
  #flow .step-box .destination .destination-box .mail a {
    padding: 9% 2%;
    height: auto;
    line-height: 1.25;
    font-size: 1.6rem;
    font-weight: bold;
  }
  #flow .step-box .destination .destination-box .mail a .advice {
    display: block;
    padding-top: 6%;
    font-size: 1.2rem;
    font-weight: bold;
    color: #444;
  }
  #flow .step-box .destination .destination-box .qr {
    display: none;
  }
  #flow .step-box .note {
    padding: 3%;
  }
  #flow .step-box .note .note-text {
    line-height: 1.25;
  }
  #flow .step-box .note .note-list .note-item {
    padding-top: 1%;
  }
  .s-apply-link a .apply-link-box .lead {
    width: 40%;
    text-align: center;
    font-size: 1.6rem;
  }
  .nivo-lightbox-wrap {
    right: 2%;
    left: 2%;
  }
  #popup .destination .title {
    padding: 3% 2%;
    font-size: 2.6rem;
  }
  #popup .destination .detail .mail a {
    padding: 3% 2%;
    font-size: 2.4rem;
  }
  #popup .destination .detail .qr {
    display: none;
  }
  .mail-yokohama {
    margin-top: 4%;
  }
  .mail-yokohama a {
    font-size: 1.6rem;
  }
  .mail-yokohama a:hover {
    text-decoration: none;
  }
  .mail-yokohama a span {
    display: block;
    padding-bottom: 1px;
  }
  .counseling {
    padding-bottom: 40px;
  }
  .counseling .counseling-text {
    float: none;
    padding-bottom: 3%;
    width: 100%;
    line-height: 1.5;
    font-size: 2.2em;
  }
  .counseling .price-box {
    float: none;
    padding: 3%;
    width: 100%;
    max-width: 100%;
  }
  .counseling .price-box .top-text {
    display: inline-block;
    margin-bottom: 1%;
    padding: 0;
    font-size: 2.2rem;
  }
  .counseling .price-box .top-text {
    font-size: 4rem;
  }
  .counseling .price-box .top-text em {
    font-size: 2.2rem;
  }
  .counseling .limit-box {
    float: none;
    padding: 3%;
    width: 100%;
    max-width: 100%;
  }
  .counseling .limit-box .top-text {
    display: inline-block;
    padding: 0;
    font-size: 2.2rem;
  }
  .counseling .limit-box .lmit-text {
    font-size: 2.2rem;
  }
  .counseling .limit-box .day {
    font-size: 4rem;
  }
  .footer {
    padding: 3%;
  }
  .footer small {
    padding: 0;
    font-size: 1.8rem;
  }
}
/*================================================================
 320px以下
================================================================*/
@media (max-width: 320px) {
  .flow-text a span {
    margin-bottom: 15px;
    padding: 8px;
    font-size: 2.2rem;
  }
  .main-visual {
    height: 52%;
  }
  .main-visual .main-title {
    padding-top: 5%;
  }
  .main-visual .main-title img {
    width: 70%;
  }
  .main-visual .lead {
    padding: 0 2% 22%;
    width: 96%;
    line-height: 1.4;
  }
  .m-project .box {
    background-position: 65% top;
    background-size: auto 100%;
  }
  .m-project .title {
    font-size: 2rem;
  }
  .s-apply-link a .apply-link-box .lead {
    width: 50%;
  }
  #popup .destination .title {
    font-size: 2.2rem;
  }
  #popup .destination .detail .mail a {
    font-size: 2rem;
  }
  .mail-yokohama a {
    font-size: 1.4rem;
  }
}
/*================================================================
 その他の細かい調整
================================================================*/
@media (min-width: 1400px) {
  .main-visual .main-doctor {
    left: 70%;
  }
}
@media (max-width: 1162px) {
  #header .nav-list .nav-item a {
    font-size: 1.5rem;
  }
}
@media (max-width: 995px) {
  #header .nav-list .nav-item a {
    font-size: 1.4rem;
  }
}
@media (max-width: 910px) {
  #header .nav-list .nav-item a,
  #header.mini .nav-list .nav-item a {
    font-size: 1.3rem;
  }
}
@media (max-width: 844px) {
  #header .nav-list .nav-item a,
  #header.mini .nav-list .nav-item a {
    font-size: 1.3rem;
  }
}
/*----------------------------------------------------------------------
9.	ページ個別設定
----------------------------------------------------------------------*/
/*-- 固定ボタンまとめて --*/
#index footer {
  padding-bottom: 10.9375%;
}

.fixed-btn {
  display: none;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 999;
  padding: 0 3%;
  width: 94%;
  text-align: right;
}
.fixed-btn li {
  display: inline-block;
}
.fixed-btn li.counseling-btn {
  margin-right: 10px;
  width: 64.21875%;
}
.fixed-btn li.pagetop-btn {
  width: 10.9375%;
}
.fixed-btn li img {
  width: 100%;
  height: auto;
}

@media (min-width: 421px) {
  .m-clinic {
    position: relative;
    z-index: 1;
  }
  .m-clinic-wrapper {
    padding: 80px 0 100px;
    background: linear-gradient(#eae9e7, #fff);
  }
  .m-clinic-logo {
    margin: 0 auto 45px;
    width: 227px;
    text-align: center;
  }
  .m-clinic-logo object {
    width: 100%;
  }
  .m-clinic-text {
    margin-bottom: 30px;
    text-align: center;
    line-height: 1.8;
    font-family: "Ryumin Regular KL", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 15.5px;
  }
  .m-clinic-tab {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    width: 920px;
  }
  .m-clinic-tab-list {
    display: flex;
  }
  .m-clinic-tab-item {
    display: flex;
    position: relative;
    overflow: hidden;
    flex: 1;
    align-items: center;
    justify-content: center;
    float: left;
    height: 44px;
    border-radius: 8px 8px 0 0;
    background: url(../img/clinic_tab_item_bg.png) top left repeat-x;
  }
  .m-clinic-tab-item + .m-clinic-tab-item {
    margin-left: 1px;
  }
  .m-clinic-tab-item.is-active {
    background: url(../img/clinic_tab_item_bg_a.png) top left repeat-x;
  }
  .m-clinic-tab-item a {
    text-shadow: 1px 1px 1px rgb(255, 255, 255);
    font-size: 18px;
    letter-spacing: 2px;
    color: #584f4c;
  }
  .m-clinic-tab-item a::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .m-clinic-tab-item a:hover {
    text-decoration: none;
  }
  .m-clinic-contents {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    width: 920px;
    background: linear-gradient(#e3ded9, #f1efec 25%, #fff);
  }
  .m-clinic-item {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    overflow: hidden;
    padding: 26px;
    opacity: 0;
    transition: opacity 0.25s linear;
  }
  .m-clinic-item-title {
    float: left;
    text-align: center;
  }
  .m-clinic-item.is-active {
    position: static;
    opacity: 1;
  }
  .m-clinic-data {
    float: left;
  }
  .m-clinic-data-item {
    color: #726b60;
  }
  .m-clinic-data-title {
    position: relative;
    font-size: 1.4em;
  }
  .m-clinic-data-detail {
    line-height: 1.2857142857;
    font-size: 1.4em;
  }
  .m-clinic-contact img {
    height: auto;
  }
  .m-clinic-contact a {
    color: #726b60;
  }
  .m-clinic-contact a:hover img {
    opacity: 0.5;
  }
  .m-clinic-contact .overseas {
    display: block;
    font-size: 0.8571428571em;
  }
  .m-clinic-map iframe {
    width: 100%;
    height: 400px;
    border: 0;
  }
  .m-clinic-map-item {
    margin-bottom: 5px;
  }
  .m-clinic-map-route-item {
    float: left;
    padding-left: 25px;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    line-height: 1.6666666667;
    font-size: 1.2em;
    color: #726b60;
  }
  .m-clinic-map-route-item + .m-clinic-map-route-item {
    margin-left: 8px;
  }
  .m-clinic-map-route-item.hiroden, .m-clinic-map-route-item.astramline {
    margin: 0 8px 4px 0;
  }
  .m-clinic-map .hibiya {
    background-image: url(../img/logo_hibiya.svg);
  }
  .m-clinic-map .oedo {
    background-image: url(../img/logo_oedo.svg);
  }
  .m-clinic-map .jr {
    background-image: url(../img/logo_jr.svg);
  }
  .m-clinic-map .sakuradori {
    background-image: url(../img/logo_sakuradori.svg);
  }
  .m-clinic-map .nishitetsu {
    background-image: url(../img/logo_nishitetsu.svg);
  }
  .m-clinic-map .tenjin {
    background-image: url(../img/logo_tenjin.svg);
  }
  .m-clinic-map .hiroden {
    background-image: url(../img/logo_hiroden.svg);
  }
  .m-clinic-map .astramline {
    background-image: url(../img/logo_astramline.svg);
  }
  .m-clinic .has-doctor .m-clinic-item-title {
    margin-bottom: 28px;
    width: 225px;
    height: 170px;
  }
  .m-clinic .has-doctor .m-clinic-item-title::before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
  }
  .m-clinic .has-doctor .m-clinic-item-title img {
    vertical-align: middle;
  }
  .m-clinic .has-doctor .m-clinic-data {
    margin-bottom: 35px;
    width: 323px;
  }
  .m-clinic .has-doctor .m-clinic-data-item {
    margin-bottom: 20px;
  }
  .m-clinic .has-doctor .m-clinic-data-item:last-child {
    margin: 0;
  }
  .m-clinic .has-doctor .m-clinic-data-title {
    float: left;
    width: 68px;
  }
  .m-clinic .has-doctor .m-clinic-data-detail {
    overflow: hidden;
    padding-left: 7px;
    border-left: 1px solid #a8a8a8;
    box-shadow: inset 1px 0 0 #fff;
  }
  .m-clinic .has-doctor .m-clinic-contact img {
    margin-bottom: 8px;
    width: 180px;
  }
  .m-clinic .has-doctor .m-clinic-doctor {
    float: right;
    width: 320px;
    color: #726b60;
  }
  .m-clinic .has-doctor .m-clinic-doctor-title {
    margin: 0 0 -1em 20px;
    font-size: 1.4em;
  }
  .m-clinic .has-doctor .m-clinic-doctor-profile {
    @box-shadow : inset 1px 0 0 #fff;
    margin-bottom: 13px;
    padding-left: 20px;
    border-left: 1px solid #a8a8a8;
  }
  .m-clinic .has-doctor .m-clinic-doctor-profile > * {
    display: table-cell;
    vertical-align: middle;
  }
  .m-clinic .has-doctor .m-clinic-doctor-name {
    width: 199px;
    font-size: 1.8em;
  }
  .m-clinic .has-doctor .m-clinic-doctor-sub {
    display: block;
    margin-top: 6px;
    font-size: 0.6666666667em;
    color: #a7a29b;
  }
  .m-clinic .has-doctor .m-clinic-doctor-text {
    margin-bottom: 11px;
    text-align: justify;
    line-height: 1.5;
    font-size: 1.2em;
  }
  .m-clinic .has-doctor .m-clinic-doctor-history-title {
    margin-bottom: 5px;
    padding: 5px;
    background: #b98c59;
    font-size: 1.4em;
    color: #fff;
  }
  .m-clinic .has-doctor .m-history-title {
    width: 50px;
    vertical-align: top;
  }
  .m-clinic .has-doctor .m-doctor-history-cap {
    margin-top: 10px;
  }
  .m-clinic .has-doctor .m-clinic-map {
    float: left;
    width: 510px;
  }
}
@media (max-width: 420px) {
  #index footer {
    padding-bottom: 13.4615384615%;
  }
  .fixed-btn li.counseling-btn {
    width: 79.0384615385%;
  }
  .fixed-btn li.pagetop-btn {
    width: 13.4615384615%;
  }
  .m-clinic-wrapper {
    padding-bottom: 10.6666666667%;
  }
  .m-clinic-inner {
    margin: 0 4%;
  }
  .m-clinic img,
  .m-clinic object {
    width: 100%;
  }
  .m-clinic-title {
    margin-bottom: 14.4927536232%;
  }
  .m-clinic-logo {
    margin: 0 auto 8.6956521739%;
    width: 52.1739130435%;
  }
  .m-clinic-text {
    margin: 0 auto 7.2463768116%;
    text-align: justify;
    line-height: 1.4615384615;
    font-size: 2.4rem;
  }
  .m-clinic-pic {
    margin-bottom: 11.5942028986%;
  }
  .m-clinic-tab {
    width: auto;
  }
  .m-clinic-tab-list {
    display: flex;
  }
  .m-clinic-tab-item {
    margin-right: 0.3rem;
    width: 20%;
    background: linear-gradient(#ebe7e4, #bbb1a9);
    text-align: center;
    letter-spacing: 3px;
  }
  .m-clinic-tab-item a {
    line-height: 3;
    font-size: 2.4rem;
    color: #505050;
  }
  .m-clinic-tab-item a:hover {
    text-decoration: none;
  }
  .m-clinic-tab-item.is-active {
    background: #e3ded9;
  }
  .m-clinic-tab-item:last-child {
    margin-right: 0;
  }
  .m-clinic-contents {
    position: relative;
    z-index: 1;
    overflow: hidden;
    margin: 0 auto;
    background: linear-gradient(#e3ded9, #f1efec 25%, #fff);
    box-shadow: 0 1px 1px;
  }
  .m-clinic-contents:last-child {
    margin: 0;
  }
  .m-clinic-contents-inner {
    padding: 0 2.8985507246% 4.347826087%;
    background: linear-gradient(#e3ded9, #f1efec 35%, #fff);
  }
  .m-clinic-contents-pic {
    margin-bottom: 6.1538461538%;
    border-bottom: 0.1rem solid #c4c4c4;
  }
  .m-clinic-contents-item-title {
    float: left;
    width: 24.6153846154%;
    font-size: 2.6rem;
  }
  .m-clinic-contents-item-details {
    overflow: hidden;
    padding-left: 3.0769230769%;
    border-left: 0.1rem solid #c4c4c4;
    line-height: 1.5714285714;
    font-size: 2.6rem;
    white-space: nowrap;
  }
  .m-clinic-contents-address {
    margin-bottom: 3.8461538462%;
  }
  .m-clinic-contents-hour {
    margin-bottom: 4.6153846154%;
  }
  .m-clinic-contents-contact {
    margin-bottom: 4.6153846154%;
  }
  .m-clinic-contents-contact a {
    display: block;
    position: relative;
    text-decoration: underline;
    font-size: 2.8rem;
    color: #505050;
  }
  .m-clinic-contents-contact a object {
    width: 190px;
    height: auto;
  }
  .m-clinic-contents-contact a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
  }
  .m-clinic-contents-contact object {
    display: block;
  }
  .m-clinic-contents-contact .overseas {
    display: block;
    padding-top: 0.85em;
    font-size: 2rem;
  }
  .m-clinic-contents-contact .overseas a {
    text-decoration: underline;
    font-size: 2.4rem;
  }
  .m-clinic-contents-button {
    overflow: hidden;
    margin: 0 auto;
    width: 64.6153846154%;
    border-radius: 0.4rem;
  }
  .m-clinic-contents-map {
    margin-bottom: 7.6923076923%;
  }
  .m-clinic-contents-map-pic {
    position: relative;
    overflow: hidden;
    margin-bottom: 1.8461538462%;
    width: 100%;
    height: 400px;
  }
  .m-clinic-contents-map-pic iframe {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    margin: 0;
    width: 100%;
    min-width: 400px;
    height: 400px;
    border: none;
  }
  .m-clinic-contents-map-route-item {
    margin-top: 1.5384615385%;
    padding-left: 6.9230769231%;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 5.5% 100%;
    line-height: 1.5714285714;
    font-size: 2.4rem;
  }
  .m-clinic-contents-map-route-item:first-child {
    margin-top: 0;
  }
  .m-clinic-contents-map-button a {
    display: block;
    margin: 6.9230769231% 0 0;
    background: #edcfd2;
    text-align: center;
    line-height: 2.7857142857;
    font-size: 2.4rem;
    color: #726b60;
  }
  .m-clinic-contents-map-button a::before {
    content: "\f10b";
    position: relative;
    top: 0;
    margin-right: 1rem;
    vertical-align: middle;
    line-height: 1;
    font-family: fontAwesome;
    font-size: 7rem;
  }
  .m-clinic-contents-map .hibiya {
    background: url(../img/logo_hibiya.svg) top left/3.6rem 3.6rem no-repeat;
  }
  .m-clinic-contents-map .oedo {
    background: url(../img/logo_oedo.svg) top left/3.6rem 3.6rem no-repeat;
  }
  .m-clinic-contents-map .jr {
    background: url(../img/logo_jr.svg) top left/3.6rem 3.6rem no-repeat;
  }
  .m-clinic-contents-map .sakuradori {
    background: url(../img/logo_sakuradori.svg) top left/3.6rem 3.6rem no-repeat;
  }
  .m-clinic-contents-map .nishitetsu {
    background: url(../img/logo_nishitetsu.svg) top left/3.6rem 3.6rem no-repeat;
  }
  .m-clinic-contents-map .tenjin {
    background: url(../img/logo_tenjin.svg) top left/3.6rem 3.6rem no-repeat;
  }
  .m-clinic-contents-map .hiroden {
    background: url(../img/logo_hiroden.svg) top left/3.6rem 3.6rem no-repeat;
  }
  .m-clinic-contents-map .astramline {
    background: url(../img/logo_astramline.svg) top left/3.6rem 3.6rem no-repeat;
  }
  .m-clinic-doctor-title {
    position: relative;
    margin-bottom: 4.6153846154%;
    font-size: 2.8rem;
  }
  .m-clinic-doctor-pic {
    margin-bottom: 3.3846153846%;
  }
  .m-clinic-doctor-pic > * {
    display: table-cell;
    vertical-align: middle;
  }
  .m-clinic-doctor-pic .doctor-pic-img {
    padding-right: 5.8461538462%;
    width: 37.037037037%;
    height: auto;
  }
  .m-clinic-doctor-pic .doctor-pic-name {
    font-size: 3.4rem;
  }
  .m-clinic-doctor-pic .doctor-pic-kana {
    display: block;
    margin-top: 2.6315789474%;
    font-size: 2.2rem;
    color: #a7a29b;
  }
  .m-clinic-doctor-text {
    margin-bottom: 3.3846153846%;
    text-align: justify;
    line-height: 1.5714285714;
    font-size: 2.3rem;
  }
  .m-clinic-history-title::before {
    z-index: 1;
    background: url(../img/accordion_title_bg.png) center no-repeat;
    width: 12.3076923077%;
    background-size: 40% auto;
  }
  .m-clinic .m-history-title {
    width: 10rem;
  }
  .m-clinic .m-history-item {
    border-bottom: 0.05rem solid #b9b5af;
  }
  .m-clinic .m-history-item .item-inner > * {
    display: table-cell;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    vertical-align: top;
    line-height: 1.25;
    font-size: 2.4rem;
  }
  .m-clinic-item {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.25s linear;
  }
  .m-clinic-item.is-active {
    position: static;
    opacity: 1;
  }
  .js-accordion-title {
    position: relative;
  }
  .js-accordion-title::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 17.3913043478%;
  }
  .js-accordion-contents {
    transition: all 0.4s ease-in;
    transform: translate3d(0, 0, 0);
    overflow: hidden;
    height: 0;
    max-height: 0;
  }
  .js-accordion.is-open > .js-accordion-title::before {
    transform: rotate(180deg);
    will-change: rotate;
  }
  .js-accordion.is-open .js-accordion-contents {
    will-change: transform;
  }
}
