@charset "UTF-8";
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/YakuHanJP/YakuHanJP-Regular.woff2) format("woff2"), url(../fonts/YakuHanJP/YakuHanJP-Regular.woff) format("woff"), url(../fonts/YakuHanJP/YakuHanJP-Regular.eot);
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 700;
  src: url(../fonts/YakuHanJP/YakuHanJP-Bold.woff2) format("woff2"), url(../fonts/YakuHanJP/YakuHanJP-Bold.woff) format("woff"), url(../fonts/YakuHanJP/YakuHanJP-Bold.eot);
}
/*----------------------------------------------------------------------
------------------------------------------------------------------------

File Name:		index.scss
Note:			インデックス用SCSSファイル


New Creation:	2013/03/04 18:08:40.
Last Change:	2014/10/30 20:20:33.


Created By		Yoshiaki Murakami

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

1.	ブラウザデフォルトスタイルリセット
2.	HTMLタグ
3.	container
4.	共通部分
5.	header
6.	content
7.	main
9.	footer
10.	original

------------------------------------------------------------------------
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
共通
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
1.	ブラウザデフォルトスタイルリセット
----------------------------------------------------------------------*/
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%;
  font-family: "YakuHanJP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #505050;
}

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

small {
  font-size: 1em;
}

mark {
  background: none;
}

fieldset {
  border: none;
}

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

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;
  color: #6d9dcf;
}

img {
  display: none;
  height: auto;
  max-width: 100%;
  border: none;
  vertical-align: bottom;
}

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

th,
td {
  padding: 0px;
}

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

textarea {
  vertical-align: top;
}

iframe {
  border: none;
}

header,
footer,
article,
section,
aside,
nav,
figure,
figcaption {
  display: block;
  margin: 0;
  padding: 0;
}

input[type=search] {
  box-sizing: content-box;
  -webkit-appearance: none;
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*----------------------------------------------------------------------
2.	HTMLタグ
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
3.	container
----------------------------------------------------------------------*/
.container {
  min-width: 1040px;
  overflow: hidden;
}
.container img {
  display: inline-block;
}

/*----------------------------------------------------------------------
4.	共通部分
----------------------------------------------------------------------*/
.cv {
  position: relative;
  padding: 80px 0;
  background-color: #ebfcfe;
}
.cv::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 31px;
  background: url(../img/shadow_bottom.png) center bottom no-repeat;
}
.cv-inner {
  position: relative;
  margin: 0 auto;
  width: 920px;
}
.cv-lead {
  padding-bottom: 170px;
  background: url(../img/cv_bg.jpg?v=2) center bottom no-repeat;
  text-align: center;
}
.cv-box {
  float: left;
  margin-top: 40px;
  width: 448px;
}
.cv-box-btn {
  border-radius: 0 0 10px 10px;
  overflow: hidden;
  padding: 20px 0 18px 120px;
  background-position: left top;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-color: #fff;
}
.cv-box-btn a {
  display: block;
}
.cv-box-btn a img {
  transition: opacity 0.3s linear;
}
.cv-box-btn a:hover img {
  opacity: 0;
}
.cv .consultation .cv-box-btn {
  background-image: url(../mobile/img/cv_consultation_bg.jpg);
}
.cv .consultation .cv-box-btn a {
  background: url(../img/cv_btn_consultation_a.png) left top no-repeat;
}
.cv .counseling {
  float: right;
}
.cv .counseling .cv-box-btn {
  background-image: url(../mobile/img/cv_counseling_bg.jpg);
}
.cv .counseling .cv-box-btn a {
  background: url(../img/cv_btn_counseling_a.png) left top no-repeat;
}
.cv-clinic {
  clear: both;
  padding-top: 40px;
}
.cv-clinic-title {
  display: inline-block;
  padding-right: 30px;
}
.cv-clinic-hour {
  display: inline-block;
  position: relative;
  top: 2px;
  vertical-align: top;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 109px;
  background: url(../img/cv_clinic_hour_bg.png) left center no-repeat;
  font-size: 1.6rem;
}
.cv-clinic-contents {
  float: left;
  padding-top: 20px;
  padding-left: 150px;
  width: 285px;
  background-repeat: no-repeat;
  background-position: left top 20px;
}
.cv-clinic-contents-wrap {
  display: flex;
  flex-wrap: wrap;
  border-radius: 10px;
  overflow: hidden;
  margin-top: 10px;
  padding: 10px 25px 30px 25px;
  background: url(../img/cv_clinic_bg.gif) right bottom 25px no-repeat #fff;
}
.cv-clinic-contents-tel {
  margin-bottom: 5px;
}
.cv-clinic-contents-address {
  line-height: 1.2666666667;
  font-size: 1.5rem;
}
.cv-clinic-contents.tokyo {
  background-image: url(../img/cv_clinic_bg_tokyo.gif);
}
.cv-clinic-contents.nagoya {
  background-image: url(../img/cv_clinic_bg_nagoya.gif);
}
.cv-clinic-contents.osaka {
  background-image: url(../img/cv_clinic_bg_osaka.gif);
}
.cv-clinic-contents.fukuoka {
  background-image: url(../img/cv_clinic_bg_fukuoka.gif);
}
.cv-clinic-contents.hiroshima {
  background-image: url(../img/cv_clinic_bg_hiroshima.gif);
}

.pagetop {
  display: none;
  position: fixed;
  right: 1%;
  bottom: 1.5%;
  z-index: 100;
}

.m-contents-inner {
  display: flow-root;
  margin: 0 auto;
  width: 920px;
}

.wow {
  visibility: hidden;
}

/*----------------------------------------------------------------------
5.	#header
----------------------------------------------------------------------*/
.navi {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 75px;
  background: url(../img/navi_bg.png) left top repeat-x;
}
.navi-list {
  margin: 0 auto;
  width: 922px;
  height: 60px;
  background: url(../img/navi_list_bg.gif) left top no-repeat;
}
.navi-item {
  float: left;
}
.navi-item img {
  transition: opacity 0.3s linear;
}
.navi-item.is-active {
  position: relative;
  z-index: 2;
}
.navi-item.is-active img {
  opacity: 0;
}

/*----------------------------------------------------------------------
6.	#content
----------------------------------------------------------------------*/
.content {
  background: url(../img/main_bg.jpg) center top no-repeat;
}

/*----------------------------------------------------------------------
7.	#main
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
9.	#footer
----------------------------------------------------------------------*/
.footer {
  background: url(../img/footer_bg.png) center bottom no-repeat;
  text-align: center;
  font-size: 1rem;
  color: #fff;
}
.footer .f-copyright {
  padding: 8px 0;
}
.footer .f-copyright-list {
  margin-bottom: 5px;
}
.footer .f-copyright-item a, .footer .f-copyright-text {
  font-size: 1em;
  color: #fff;
}
.footer .f-copyright-item {
  display: inline-block;
}

/*----------------------------------------------------------------------
10.	original
----------------------------------------------------------------------*/
.main-visual-inner {
  position: relative;
  margin: 0 auto;
  width: 1040px;
  height: 691px;
}
.main-visual-title {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  padding-top: 170px;
  width: 628px;
}
.main-visual-button {
  position: absolute;
  right: 0;
  bottom: 50px;
  width: 466px;
  background: url(../img/main_btn_a.png) left top no-repeat;
}
.main-visual-button a {
  display: block;
}
.main-visual-button a img {
  transition: opacity 0.3s linear;
}
.main-visual-button a:hover img {
  opacity: 0;
}
.main-visual-pic {
  position: absolute;
}
.main-visual-pic img {
  width: auto;
}
.main-visual-pic1 {
  top: 80px;
  left: 100px;
}
.main-visual-pic2 {
  top: 310px;
  left: -10px;
}
.main-visual-pic3 {
  top: 50px;
  left: 400px;
}
.main-visual-pic4 {
  top: 30px;
  right: -20px;
}
.main-visual-pic5 {
  right: 0;
  bottom: 150px;
}
.main-visual-pic6 {
  top: 160px;
  right: 50px;
}

.m-regulation {
  padding-top: 40px;
  padding-bottom: 80px;
  background-image: url(../img/regulation_bg.png);
  background-position: center top 250px;
  background-repeat: no-repeat;
}
.m-regulation-title {
  margin: 0 auto;
  padding-bottom: 180px;
  width: 648px;
}
.m-regulation-box.japan {
  float: left;
  width: 271px;
  margin-left: 22px;
}
.m-regulation-box.usa {
  float: left;
  width: 272px;
  margin: 0 30px;
}
.m-regulation-box.korea {
  float: left;
  width: 271px;
  margin-right: 22px;
}
.m-regulation-box-text {
  margin: 0 auto;
  line-height: 1.75;
  font-size: 1.6rem;
}

.m-action {
  background-image: linear-gradient(to bottom, #e1e1e1 0%, #fefefe 50%, #e1e1e1 100%);
  position: relative;
  padding: 80px 0;
  background-color: #e1e1e1;
}
.m-action::before, .m-action::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
}
.m-action::before {
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../mobile/img/lattice_bg.png) left top repeat;
}
.m-action > * {
  position: relative;
  z-index: 1;
}
.m-action-title {
  margin: 0 auto;
  width: 875px;
}
.m-action-box {
  float: right;
  margin-right: 50px;
  width: 390px;
}
.m-action-box-text {
  margin-top: 10px;
  line-height: 1.5384615385;
  font-size: 1.3rem;
}
.m-action-box:first-child {
  float: left;
  margin-left: 50px;
  margin-right: 0;
}
.m-action-voice {
  clear: both;
  margin: 0 auto;
  padding-top: 50px;
  width: 940px;
}

.m-please {
  padding: 80px 0 150px;
  background: url(../mobile/img/contents_arrow.png) center bottom 4.8913043478% no-repeat;
}
.m-please-title {
  margin: 0 auto 50px;
  width: 748px;
}
.m-please-item {
  margin-top: 35px;
}
.m-please-item:first-child {
  margin-top: 50px;
}

.m-information {
  position: relative;
  padding: 7.0652173913% 0 0;
  background-color: #ebfcfe;
}
.m-information::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 31px;
  background: url(../img/shadow_top.png) center top no-repeat;
}
.m-information .m-contents-inner {
  width: 930px;
}
.m-information-title {
  margin: 0 auto 40px;
  width: 716px;
}
.m-information-list {
  display: flow-root;
  padding-bottom: 95px;
  background: url(../mobile/img/contents_arrow.png) center bottom no-repeat;
}
.m-information-item {
  float: left;
  margin-left: 17px;
  width: 295px;
}
.m-information-item:first-child {
  margin-left: 0;
}
.m-information-item-inner {
  padding: 243px 0 0;
  background-position: center top;
  background-repeat: no-repeat;
}
.m-information-item-title {
  text-align: center;
}
.m-information-item-text {
  padding-top: 16px;
  padding-left: 10px;
  line-height: 1.5;
  font-size: 1.6rem;
}
.m-information-item:nth-child(1) .m-information-item-inner {
  background-image: url(../img/information_box_bg1.jpg);
}
.m-information-item:nth-child(2) .m-information-item-inner {
  background-image: url(../img/information_box_bg2.jpg);
}
.m-information-item:nth-child(3) .m-information-item-inner {
  background-image: url(../img/information_box_bg3.jpg);
}

.m-about {
  padding: 45px 0 80px;
}
.m-about-title {
  text-align: center;
}
.m-about-list {
  width: 100%;
}
.m-about-item {
  margin-top: 60px;
}
.m-about-item-inner {
  position: relative;
  margin: 0 auto;
  width: 920px;
}
.m-about-item-text {
  margin-top: 20px;
  line-height: 1.75;
  font-size: 1.6rem;
}
.m-about-item-pic {
  position: absolute;
  top: -34px;
  right: 0;
  margin-right: -65px;
}

.m-qa {
  position: relative;
  padding: 75px 0 70px;
  background: url(../mobile/img/lattice_bg.png) left top repeat;
}
.m-qa::before, .m-qa::after {
  content: "";
  display: block;
  position: absolute;
}
.m-qa::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.1);
}
.m-qa::after {
  bottom: -31px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 31px;
  background: url(../img/shadow_top.png) center top no-repeat;
}
.m-qa > * {
  position: relative;
  z-index: 1;
}
.m-qa-title {
  margin: 0 auto;
  width: 640px;
}
.m-qa-list {
  margin-top: 30px;
}
.m-qa-item {
  margin: 5px auto 0;
  width: 941px;
  height: 242px;
  background: url(../img/qa_bg.png) left top no-repeat;
}
.m-qa-item:first-child {
  margin-top: 0;
}
.m-qa-item-inner {
  display: table;
  width: 100%;
  height: 242px;
  table-layout: fixed;
}
.m-qa-item-q {
  display: table-cell;
  padding: 0 26px 0 45px;
  width: 240px;
  height: 100%;
  vertical-align: middle;
  line-height: 1.4;
  font-size: 2rem;
  font-weight: bold;
  color: #d02741;
}
.m-qa-item-a {
  display: table-cell;
  padding: 0 35px;
  vertical-align: middle;
  line-height: 1.75;
  font-size: 1.5rem;
}

.m-clinic {
  padding: 75px 0;
}
.m-clinic-title {
  margin: 0 auto 50px;
  width: 295px;
}
.m-clinic-tab-list {
  display: flow-root;
}
.m-clinic-tab-item {
  float: left;
  margin-left: 1px;
}
.m-clinic-tab-item:first-child {
  margin-left: 0;
}
.m-clinic-tab-item a {
  display: block;
}
.m-clinic-tab-item a img {
  transition: opacity 0.3s linear;
}
.m-clinic-tab-item a:hover, .m-clinic-tab-item a.is-active {
  z-index: 2;
}
.m-clinic-tab-item a:hover img, .m-clinic-tab-item a.is-active img {
  opacity: 0;
}
.m-clinic-tab-item.tokyo a {
  background-image: url(../img/clinic_tab_tokyo_h.gif);
}
.m-clinic-tab-item.nagoya a {
  background-image: url(../img/clinic_tab_nagoya_h.gif);
}
.m-clinic-tab-item.osaka a {
  background-image: url(../img/clinic_tab_osaka_h.gif);
}
.m-clinic-tab-item.fukuoka a {
  background-image: url(../img/clinic_tab_fukuoka_h.gif);
}
.m-clinic-tab-item.hiroshima a {
  background-image: url(../img/clinic_tab_hiroshima_h.gif);
}
.m-clinic-tab-item.tokyo .is-active {
  background-image: url(../img/clinic_tab_tokyo_a.gif);
}
.m-clinic-tab-item.nagoya .is-active {
  background-image: url(../img/clinic_tab_nagoya_a.gif);
}
.m-clinic-tab-item.osaka .is-active {
  background-image: url(../img/clinic_tab_osaka_a.gif);
}
.m-clinic-tab-item.fukuoka .is-active {
  background-image: url(../img/clinic_tab_fukuoka_a.gif);
}
.m-clinic-tab-item.hiroshima .is-active {
  background-image: url(../img/clinic_tab_hiroshima_a.gif);
}
.m-clinic-contents {
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin-top: -1px;
  padding: 27px 24px 29px;
  border: 1px solid #a0a0a0;
  background-color: #e6e6e6;
}
.m-clinic-box {
  display: flow-root;
}
.m-clinic-box.tokyo .m-clinic-data {
  background-image: url(../img/clinic_data_tokyo.png);
}
.m-clinic-box.nagoya .m-clinic-data {
  background-image: url(../img/clinic_data_nagoya.png);
}
.m-clinic-box.osaka .m-clinic-data {
  background-image: url(../img/clinic_data_osaka.png);
}
.m-clinic-box.fukuoka .m-clinic-data {
  background-image: url(../img/clinic_data_fukuoka.png);
}
.m-clinic-box.hiroshima .m-clinic-data {
  background-image: url(../img/clinic_data_hiroshima.png);
}
.m-clinic-data {
  float: left;
  padding: 0 0 0 150px;
  width: 295px;
  background-position: left center;
  background-repeat: no-repeat;
}
.m-clinic-data a {
  display: block;
  color: #505050;
}
.m-clinic-data-item {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-top: 8px;
  line-height: 1.2857142857;
  font-size: 1.4rem;
}
.m-clinic-data-item > * {
  display: table-cell;
}
.m-clinic-data-item-title {
  width: 70px;
}
.m-clinic-data-item-detail {
  box-shadow: -1px 0 0 #a8a8a8;
  padding-left: 8px;
  border-left: 1px solid #fff;
}
.m-clinic-address {
  margin-top: 0;
}
.m-clinic-contact .overseas {
  font-size: 1.2rem;
}
.m-clinic-contact .overseas a {
  display: inline-block;
}
.m-clinic-doctor {
  box-shadow: -1px 0 0 #a8a8a8;
  position: relative;
  float: right;
  padding-top: 33px;
  padding-left: 118px;
  width: 304px;
  height: 122px;
  border-left: 1px solid #fff;
  background: url(../img/clinic_doctor_bg.gif) left 11px top no-repeat;
}
.m-clinic-doctor.imanishi::before {
  background-image: url(../img/clinic_doctor_imanishi.jpg);
}
.m-clinic-doctor.obikane::before {
  background-image: url(../img/clinic_doctor_obikane.jpg);
}
.m-clinic-doctor.abe::before {
  background-image: url(../img/clinic_doctor_abe.jpg);
}
.m-clinic-doctor.kimura::before {
  background-image: url(../img/clinic_doctor_kimura.jpg);
}
.m-clinic-doctor::before {
  content: "";
  display: block;
  position: absolute;
  top: 33px;
  left: 11px;
  width: 100px;
  height: 100px;
  background-position: left top;
  background-repeat: no-repeat;
}
.m-clinic-doctor-title {
  display: inline;
  font-size: 1.6rem;
}
.m-clinic-doctor-title-sub {
  display: inline-block;
  position: relative;
  top: 3px;
  padding-left: 10px;
  vertical-align: top;
  font-size: 1rem;
  color: #737373;
}
.m-clinic-doctor-text {
  padding-top: 12px;
  line-height: 1.5;
  font-size: 1.2rem;
}
.m-clinic-doctor-history {
  margin-left: -35px;
  width: 325px;
}
.m-clinic-doctor-history-title {
  margin-bottom: 5px;
  padding: 5px;
  background: #b98c59;
  font-size: 1.4em;
  color: #fff;
}
.m-clinic .m-history-title {
  width: 50px;
  vertical-align: top;
}
.m-clinic .m-history-item {
  padding: 3px 0 4px;
  border-bottom: 1px solid #b9b5af;
}
.m-clinic .m-history-item .item-inner > * {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.5;
  font-size: 1.2em;
  color: #726b60;
}
.m-clinic-map {
  float: left;
  margin-top: 25px;
  width: 510px;
}
.m-clinic-map iframe {
  width: 100%;
  height: 400px;
}
.m-clinic-map-route-item {
  display: inline-block;
  margin-top: 5px;
  margin-right: 8px;
  padding-left: 20px;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  line-height: 1.3846153846;
  font-size: 1.2rem;
}
.m-clinic-map-route-item:first-child {
  margin-top: 0;
}
.m-clinic-map-route-item.hibiya {
  background-image: url(../mobile/img/clinic_map_route_hibiya.png);
}
.m-clinic-map-route-item.oedo {
  background-image: url(../mobile/img/clinic_map_route_oedo.png);
}
.m-clinic-map-route-item.jr {
  background-image: url(../mobile/img/clinic_map_route_jr.png);
}
.m-clinic-map-route-item.sakuradori {
  background-image: url(../mobile/img/clinic_map_route_sakuradori.png);
}
.m-clinic-map-route-item.nishitetsu {
  background-image: url(../mobile/img/clinic_map_route_nishitetsu.png);
}
.m-clinic-map-route-item.tenjin {
  background-image: url(../mobile/img/clinic_map_route_tenjin.png);
}
.m-clinic-map-route-item.hiroden {
  background-image: url(../mobile/img/logo_hiroden.svg);
}
.m-clinic-map-route-item.astramline {
  background-image: url(../mobile/img/logo_astramline.svg);
}
.m-clinic-pic {
  float: right;
  margin-top: 25px;
  width: 335px;
}
.m-clinic-box.tokyo .m-clinic-doctor-history {
  margin-top: 47px;
}
.m-clinic-box.nagoya .m-clinic-doctor-history {
  margin-top: 10px;
}
.m-clinic-box.osaka .m-clinic-doctor-history {
  margin-top: 10px;
}
.m-clinic-box.hiroshima .m-clinic-doctor-history {
  margin-top: 29px;
}
.m-clinic-box.fukuoka .m-clinic-doctor-history {
  margin-top: 29px;
}

/*=====================================================================
 フォーム
=====================================================================*/
/*----------------------------------------------------------------------
フォームカラー設定
----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
----------------------------------------------------------------------*/
#message {
  margin: 0 auto 30px;
  padding: 20px 10px;
  width: 676px;
  border: 2px solid #dc5162;
  background: #fff;
}
#message p {
  margin: 0 auto;
  padding-left: 165px;
  background: url(../img/error_icon.gif) 115px center no-repeat;
  line-height: 1.2857142857;
  font-size: 1.6em;
  font-weight: bold;
  color: #dc5162;
}
#message p span {
  font-size: 0.75em;
  color: #474645;
}

legend {
  display: none;
}

.input-form *[class*=form-wrapper] {
  width: 100%;
  table-layout: fixed;
  color: inherit;
}
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item]:nth-child(even) > * {
  background-color: #fff;
}
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item]:nth-child(even) .errbg {
  background-color: #fdebe6;
}
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item]:nth-child(odd) > * {
  background-color: #f5f2f0;
}
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item]:nth-child(odd) .errbg {
  background-color: #f8d2cd;
}
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item].name em {
  display: block;
  margin-right: -0.5em;
}
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item].emailcheck label {
  margin-right: -0.5em;
}
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item].required .input-form-label {
  background-image: url(../img/form_required.gif);
}
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item] .ui-datepicker-trigger {
  background: linear-gradient(#d8d5d7 50%, #fff 50%);
  padding: 6px 0;
  border: 1px solid #b5b5b6;
  border-left: 0;
}
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item].date.last .input-form-input {
  background: #fff;
}
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item].text .input-form-label,
.input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item].text .input-form-input {
  background-color: #f2efed;
}
.input-form *[class*=form-wrapper] *[class*=form-label],
.input-form *[class*=form-wrapper] *[class*=form-input] {
  border: 1px solid #c7bcb5;
  font-size: 16px;
}
.input-form *[class*=form-wrapper] *[class*=form-label] {
  padding: 12px 25px 12px 20px;
  width: 295px;
  background-image: url(../img/form_free.gif);
  background-position: right 10px top 10px;
  background-repeat: no-repeat;
  vertical-align: middle;
  line-height: 1.5;
  font-weight: bold;
}
.input-form *[class*=form-wrapper] *[class*=form-label] small {
  font-size: 12px;
  font-weight: normal;
}
.input-form *[class*=form-wrapper] *[class*=form-label] small em {
  color: #cb0b2c;
}
.input-form *[class*=form-wrapper] *[class*=form-label] label {
  display: block;
}
.input-form *[class*=form-wrapper] *[class*=form-label] label .note {
  margin: 0;
  padding: 0;
  background: none;
}
.input-form *[class*=form-wrapper] *[class*=form-label] > *:first-child {
  padding: 0;
  background: none;
}
.input-form *[class*=form-wrapper] *[class*=form-input] {
  padding: 15px 20px;
  width: auto;
  background-color: #f5f2f0;
}
.input-form *[class*=form-wrapper] input:not([type=radio]):not([type=checkbox]),
.input-form *[class*=form-wrapper] textarea {
  padding: 5px 10px;
  border: 1px solid #b5b5b6;
}
.input-form *[class*=form-wrapper] input:not([type=radio]):not([type=checkbox]) {
  box-sizing: border-box;
  height: 44px;
  color: inherit;
}
.input-form *[class*=form-wrapper] textarea {
  line-height: 1.25;
}
.input-form *[class*=form-wrapper] li {
  display: inline-block;
  margin: 7px 20px 7px 0;
  line-height: 1;
}
.input-form *[class*=form-wrapper] .full,
.input-form *[class*=form-wrapper] textarea {
  box-sizing: border-box;
  width: 100%;
}
.input-form *[class*=form-wrapper] .short {
  width: 100px;
}
.input-form *[class*=form-wrapper] .chkradio label {
  margin-left: 0.5em;
}

.consultation .input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item].text .input-form-label,
.consultation .input-form *[class*=form-wrapper] *[class*=form-item][class*=form-item].text .input-form-input {
  background-color: #fff;
}

.m-button {
  display: flow-root;
  position: relative;
  margin: 40px 0 80px;
  text-align: center;
}
.m-button-item input,
.m-button-item a {
  transition: opacity 0.1s linear;
}
.m-button-item input:hover,
.m-button-item a:hover {
  opacity: 0.7;
  text-decoration: none;
}
.m-button-item.send {
  padding-left: 320px;
}
.m-button-item.back {
  position: absolute;
  top: 0;
  left: 0;
}

.address {
  display: table;
  margin: 50px auto 30px;
  width: 100%;
  border: 3px solid #a4948a;
}
.address > * {
  display: table-cell;
  padding: 15px;
  vertical-align: middle;
}
.address .term {
  width: 200px;
  background-color: #a4948a;
  text-align: center;
  font-size: 18px;
  color: #fff;
}
.address .description {
  padding: 25px;
  background-color: #fff;
  font-size: 24px;
  font-weight: bold;
  color: #cb0b2c;
}

.attention {
  box-sizing: border-box;
  position: relative;
  padding: 25px 40px;
  width: 100%;
  background-color: #f5f2f0;
}
.attention::before {
  content: "";
  display: block;
  position: absolute;
  top: 5%;
  left: 5px;
  width: 4px;
  height: 90%;
  background-color: #cb0b2c;
}
.attention-title {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
}
.attention-list {
  margin-top: 10px;
}
.attention-item, .attention-text {
  line-height: 1.4;
  font-size: 14px;
}
.attention-text {
  margin-bottom: 10px;
}
.attention-item {
  margin-top: 3px;
  color: #cb0b2c;
}
.attention-item::before {
  content: "・";
}
.attention-item:first-child {
  margin-top: 0;
}

.confirmation *[class*=form-wrapper] *[class*=form-label] {
  background-image: none;
}
.confirmation *[class*=form-wrapper] *[class*=form-input] {
  word-break: break-all;
}
.confirmation *[class*=form-wrapper] .email td em,
.confirmation *[class*=form-wrapper] .tel td em {
  font-size: 1.25em;
  font-weight: bold;
  color: #cb0b2c;
}

.form .container {
  background: url(../img/form_bg.jpg) center top no-repeat;
}
.form .container img {
  display: inline-block;
}
.form .content {
  background: none;
}
.form-title {
  margin: 0 auto;
  padding: 140px 0 0;
  width: 1026px;
}
.form .progress {
  margin: 70px auto 60px;
  width: 636px;
}
.form .lead {
  margin-bottom: 20px;
  line-height: 1.7142857143;
  font-size: 14px;
}
.form .lead em {
  font-weight: bold;
  color: #cb0b2c;
}
.form .lead-box {
  margin-top: 60px;
}
.form .lead-title {
  padding: 15px 0;
  background-color: #61564c;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
}
.form .lead-contents {
  padding: 26px 20px;
  border: 1px solid #c7bcb5;
  border-top: 0;
  background-color: #f5f2f0;
}
.form .lead-contents-text {
  line-height: 1.7142857143;
  font-size: 14px;
}
.form .lead-contents-text em {
  font-weight: bold;
  color: #cb0b2c;
}
.form .note {
  margin-bottom: 40px;
  padding: 20px;
  background: #fff;
}
.form .note-title {
  font-size: 16px;
  font-weight: bold;
}
.form .note-contents {
  margin-top: 10px;
}
.form .note-contents-text {
  line-height: 1.7142857143;
  font-size: 14px;
}
.form .note-contents-text em {
  font-weight: bold;
  color: #cb0b2c;
}
.form .input-form-text {
  margin-bottom: 40px;
  text-align: center;
  font-size: 1em;
}
.form .input-form-text a {
  color: #505050;
  text-decoration: underline;
  cursor: pointer;
}
.form .input-form-privacy {
  background: #fff;
  border-top: 1px solid #e3e3e3;
  display: none;
}
.form .input-form-privacy-inner {
  box-sizing: border-box;
  height: 100%;
  margin: 0 auto;
  width: 920px;
  padding: 80px 0 120px;
  color: #918c88;
}
.form .input-form-privacy .main-title {
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 2em;
  color: #7f7875;
}
.form .input-form-privacy .title {
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 1em;
  color: #7f7875;
}
.form .input-form-privacy .text,
.form .input-form-privacy .item {
  line-height: 1.8333333333;
  font-size: 1.2em;
}
.form .input-form-privacy .contents-title {
  font-size: 1.2em;
  margin-bottom: 0.5em;
}
.form .input-form-privacy .list {
  counter-reset: list;
  margin-bottom: 1em;
  margin-left: 1em;
}
.form .input-form-privacy .item {
  margin-left: 2.5em;
  text-indent: -2.5em;
}
.form .input-form-privacy .item:nth-child(n)::before {
  counter-increment: list;
  content: "（" counter(list) "）";
  margin-right: 1em;
}
.form .input-form-privacy .item .item {
  font-size: 1em;
}
.form .input-form-privacy .text {
  margin-bottom: 1em;
}
.form .input-form-privacy .text + .text,
.form .input-form-privacy .text + .list {
  margin-top: 1em;
}
.form .input-form-privacy .text.date {
  text-align: right;
}
.form .input-form-privacy .text + .title,
.form .input-form-privacy .list + .title {
  margin-top: 2em;
}
.form .input-form-privacy #reception dt,
.form .input-form-privacy #reception dd {
  line-height: 1.8333333333;
  font-size: 1.2em;
}
.form .input-form-privacy #reception dl {
  display: flex;
}
.form .input-form-privacy #reception dl dt,
.form .input-form-privacy #reception dl dd {
  font-size: 1em;
}
.form .input-form-privacy #reception a {
  color: #918c88;
  pointer-events: none;
}