@charset "utf-8";
/* CSS Document */

/* -----------------------------------------------
	Reset CSS
	スタイルリセット
	設定スタイル
----------------------------------------------- */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

input,
textarea {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

a:focus {
  outline: none;
}

.fnt_red {
  color: #f0393c;
}

.fnt_underl {
  text-decoration: underline;
  color: #f0393c;
}

.notice {
  font-size: 12px;
  margin: 0 4px;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*/
  /*/
	height: auto;
	overflow: hidden;
	/**/
}

.both {
  clear: both;
}

.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

/* --------------------------------------------
reset end
-----------------------------------------------*/

/* --------------------------------------------
アシスト start
-----------------------------------------------*/

/*width*/

.w_70 {
  width: 70%;
  margin: 0 auto;
}

.w_80 {
  width: 80%;
  margin: 0 auto;
}

.w_85 {
  width: 82%;
  margin: 0 auto;
}

.w_90 {
  width: 90%;
  margin: 0 auto;
}

.w_94 {
  width: 94%;
  margin: 0 auto;
}

.w_96 {
  width: 96%;
  margin: 0 auto;
}

.w_98 {
  width: 98%;
  margin: 0 auto;
}

/*txt align*/

.txt_right {
  text-align: right !important;
}

.txt_left {
  text-align: left !important;
}

.txt_center {
  text-align: center !important;
}

.fnt_bold {
  font-weight: bold;
}

/*border*/

.border_btm {
  border-bottom: 1px solid #ccc;
  margin: 4px 0;
}

.border_top {
  border-top: 1px solid #ccc;
  margin: 4px 0;
}

/* ホワイトニングの種類　border */
.Wht_img_border {
  border: 1px solid #ccc;
  margin: 4px 0;
  padding: 20px 0 10px;
}



/*font*/

.fs18 {
  font-size: 18px !important;
  font-size: 1.8rem;
  font-weight: 500;
}

.fs19 {
  font-size: 19px !important;
  font-size: 1.9rem;
  font-weight: 600;
}

.fs22 {
  font-size: 22px !important;
  font-size: 1.9rem;
  font-weight: 600;
}

.color_o {
  color: #ff7118;
}

.color_r {
  color: #e50b57;
  color: #f27658;
}

.color_g {
  color: #328922;
}

.lft_midasi {
  width: 96%;
  margin: 10px auto 16px;
  font-size: 22px !important;
  font-size: 1rem;
  font-weight: 600;
  text-align: left !important;
  color: #918a75;
  color: #956a5a;
  color: #328922;
}

.cnt_midasi {
  width: 96%;
  margin: 30px auto 16px;
  font-size: 20px !important;
  font-size: 1rem;
  font-weight: 600;
  text-align: center !important;
  color: #918a75;
}

.midasi_maru {
  padding: 6px 20px;
  border: 1px solid #956a5a;
  border-radius: 10px;
}

.cnt_mbox {
  width: 96%;
  margin: 2px auto 2px;
  font-size: 20px !important;
  font-size: 1rem;
  text-align: center !important;
  color: #918a75;
  color: #646464;
  color: #4a7b48;
}

.bw_box {
  width: 96%;
  margin: 10px auto 16px;
  font-size: 18px !important;
  font-size: 1rem;
  font-weight: 500;
  text-align: left !important;
  color: #333;
  background: #918a75;
  background: #d4cfbf;
  border-radius: 10px;
  padding: 2px;
}

.bw_box p {
  padding: 2px 8px;
}

.l_flex .lft_midasi,
.l_flex .cnt_midasi,
.c_flex .lft_midasi,
.c_flex .cnt_midasi,
.r_flex .lft_midasi,
.r_flex .cnt_midasi {
  width: 100%;
  margin: 6px auto 6px;
}

.marker {
  /*  background: linear-gradient(transparent 40%, #ffff66 40%);*/
  background: linear-gradient(transparent 40%, rgba(255, 240, 121, 0.78) 40%);
}

/*注意書き 外に出す*/

.note_line {
  text-align: left;
  font-size: 12px;
  line-height: 100%;
}

/*注意書き　リスト*/

.note_box {
  text-align: right;
  font-size: 12px;
  line-height: 1em;
}

ul.ulnote {
  text-align: left;
  padding: 1em 1em 1em 2.3em;
  position: relative;
  font-size: 12px;
}

ul.ulnote li {
  line-height: 1;
  padding: 4px 0;
  list-style-type: none !important;
  /*ポチ消す*/
}

ul.ulnote li:before {
  font-family: FontAwesome;
  content: "※";
  /*アイコン種類*/
  position: absolute;
  left: 1em;
  /*左端からのアイコンまで*/
  color: #ff938b;
  /*アイコン色*/
}


ul.ulnote.-footer_info {
  padding-top: 0;
  padding-left: 1em;
}

ul.ulnote.-footer_info li {
  line-height: 1.5;
  padding: 2px 0;
}

ul.ulnote.-footer_info li:before {
  left: 0%;
  /*左端からのアイコンまで*/
  color: #444444;
  /*アイコン色*/
}


/*リスト*/

ul.ulDot {
  margin-left: 2em;
  text-align: left;
  /*下のボーダー*/
}

ul.ulDot li {
  list-style-type: disc;
  line-height: 2em;
}

ul.ulDot li li {
  list-style-type: none;
}

ul.ulDotSub {
  text-align: left;
  /*下のボーダー*/
}

ul.ulDotSub li {
  list-style-type: disc;
  line-height: 1em;
}

ul.ulDotSub li li {
  list-style-type: none;
}

/*リスト 歯科医師紹介*/

ul.ul_list {

  margin-left: 0em;
  text-align: left;
  display: flex;
  width: 97%;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  justify-content: left;
  margin: 0 auto;
  /*下のボーダー*/
}

ul.ul_list li {
  list-style-type: none;
  line-height: 1.6em;
  border-bottom: 1px dotted #ccc;
  padding: 0.5em;
  width: 46%;
  margin: 10px 0.2em;

}


/* ul.ul_list li {
  list-style-type: none;
  line-height: 1.6em;
  border-bottom: 1px dotted #ccc;
  padding: 0.5em;
  width: 30%;
  margin: 10px 3px;
} */



ul.ul_list li span {
  font-size: 14px;
  display: block;
}

/*リスト 歯科医師紹介 画像あり*/
ul.ul_list_img {
  margin-left: 0em;
  text-align: left;
  display: inline;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  /*下のボーダー*/
}

ul.ul_list_img li {
  list-style-type: none;
  line-height: 1.6em;
  border-bottom: 1px dotted #ccc;
  padding: 0.5em 0;
  width: 100%;
  margin: 0 0;
}

ul.ul_list_img li span {
  font-size: 14px;
  display: block;
}




/*リストタグ*/

ul.ultag,
ol.ultag,
dl.ultag {
  padding: 0;
  text-align: left;
}

.ultag li,
.ultag dt {
  position: relative;
  /*  list-style-type: none!important;*/
  /*ポチ消す*/
  padding: 0.5em 0.5em;
  margin-bottom: 5px;
  line-height: 1.5;
  background: #d8f5ce;
  background: rgba(193, 232, 172, 0.69);
  vertical-align: middle;
  border-radius: 15px 0px 0px 15px;
  list-style: url(../images/list_maru.png);
  list-style-position: inside;
  padding-left: 2em;
  text-indent: -1.6em;
}

.ultag dd {
  margin: 10px 10px 24px 30px;
}

/*番号付きリスト*/

.numericList {
  text-align: left;
}

.numericList li,
.numericList dt {
  position: relative;
  list-style-type: none !important;
  /*ポチ消す*/
  padding: 0.5em 0.5em 0.5em 0.5em;
  margin-bottom: 5px;
  line-height: 1.5;
  background: #dbebf8;
  background: rgba(193, 232, 172, 0.69);
  vertical-align: middle;
  border-radius: 15px 0px 0px 15px;
  /*左側の角丸く*/
}

.numList_title {
  counter-increment: number;
  /*
  font-weight: 500;
  font-size: 22px;
*/
  padding: 4px 0;
  margin: 20px 0 10px 0;
}

.numList_title:before {
  content: counter(number) ". ";
  margin-left: 6px;
}

.numList_data {
  margin-left: 16px;
  margin-bottom: 20px;
}

/*順番リスト*/

ol.olDot {
  margin-left: 0em;
  padding-left: 1em;
  text-align: left;
}

ol.olDot li {
  list-style-type: none;
  list-style-position: inside;
  counter-increment: cnt;
  line-height: 1.8em;
}

ol.olDot li:before {
  display: marker;
  content: "("counter(cnt) ") ";
}

ol.olDot li li {
  list-style-type: none;
}

.img_border {
  border: 1px solid #666;
  border-radius: 8px;
  padding: 2px;
}

.bana {
  width: 94%;
  margin: 10px auto;
  text-align: center;
}

.bana li {
  display: inline-block;
  margin: 0 20px;
}


/* ホワイトニング特徴　ul */

.ul_White_turn {
  width: 80%;
  margin: 0 auto;
}

.ul_White_turn ul li {
  display: flex;
  margin: 60px 0px 0px;
  background-color: none;
}

.ul_White_turn ul li:nth-child(odd) {
  flex-direction: row-reverse;
}

.numWhite {
  font-size: 60px;
  text-align: left;
  margin: 0 0px;
  border-bottom: #C7C7C7 2px solid;
  position: relative;
}

.numWhite::after {
  content: "";
  display: block;
  border-bottom: 2px solid #000;
  width: 60px;
  position: absolute;
}


.ul_White_turn h3 {
  font-size: 30px;
  text-align: left;
  margin: 20px 0px 10px;

}

.ul_White_turn .ul_White_txtbox {
  margin: 0px 20px 0px;
}

.ul_White_turn .ul_White_txtbox {
  margin: 0px 20px 0px;
}

/*ホワイトニング特徴　SP*/
@media screen and (max-width: 767px) {

  .numWhite {
    font-size: 50px;
  }

  .ul_White_turn h3 {
    font-size: 26px;
    margin: 16px 0px 8px;
  }

  .ul_White_turn {
    width: 96%;
    margin: 0 auto;
  }

  .ul_White_turn ul li {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;

    /* display:flex; */
    margin: 30px 0px 0px;
    background-color: none;

  }

  .ul_White_txtbox p {
    margin: 0px 0px 14px;

  }


  .ul_White_turn ul li:nth-child(odd) {
    flex-direction: column-reverse;
  }

}



/* --------------------------------------------
アシスト end
-----------------------------------------------*/

/*追随スクロール*/

div#reservation {
  width: 56px;
  /* position: absolute; */
  position: fixed;
  right: 0px;
  top: 200px;
  z-index: 100;
  border-radius: 5px;
}

html {
  font-size: 62.5%;
}

/*fontsize 変更*/

body {
  font-size: 14px;
  font-size: 1.7rem;
}

body {
  font-weight: normal;
  font-style: normal;
  font-family: Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  font-weight: 500;
  text-align: left;
  line-height: 1.45;
  color: #333;
  -webkit-text-size-adjust: none;
}

/* wPage */
body#wPage {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: bold;
}


/*----------------- font ------------------*/

@font-face {
  font-family: font-yasasisa;
  src: url("/common/font/07yasashisa.eot");
  /*For IE*/
  src: url("/common/font/07yasashisa.woff") format("woff"),
    /*For Modern browser*/
    url("/common/font/07yasashisa.ttf") format("truetype");
  /*For iOS Android*/
}

.yasasisa {
  font-family: font-yasasisa;
  font-weight: bold;
  font-style: normal;
  font-size: 120%;
}

.yasasisa_s {
  font-family: font-yasasisa;
  font-weight: normal;
  font-style: normal;
  font-size: 100%;
}





/* a 設定
----------------------------------------------- */

a:link,
a:active {
  color: #06c;
  text-decoration: underline;
}

a:hover,
a:focus,
a:visited {
  color: #06c;
  text-decoration: none;
}

a.txt_deco_none:link,
a.txt_deco_none:active,
a.txt_deco_none:visited {
  color: #333;
  text-decoration: none;
}

a.txt_deco_none:hover,
a.txt_deco_none:focus {
  color: #06c;
  text-decoration: underline;
}

/*news link*/

ul#tabs-list a:hover,
ul#tabs-list a:active,
ul#tabs-list a:focus {
  color: #5d800f;
  text-decoration: none;
}

/*link 下線なし*/

ul#uline a:link,
ul#uline a:active {
  color: #06c;
  text-decoration: underline;
}

ul#uline a:hover,
ul#uline a:focus,
ul#uline a:visited {
  color: #7b0ebf;
  text-decoration: none;
}

/*ブロック*/

.clear {
  float: none;
}

.block_10 {
  margin: 10px 0;
}

.block_30 {
  margin: 30px 0 10px;
}

/*------ header ----------*/

.head_dk {
  z-index: 100;
  position: relative;
  padding: 10px 0 10px;
  min-height: 140px;
}

.logo {
  float: left;
  margin: 15px 15px 5px 15px;
}

.head_right {
  float: right;
  text-align: center;
  margin: 10px 5px 15px 15px;
  width: 860px;
}

.head_box {
  text-align: right;
  margin-bottom: 10px;
}

.head_right li {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
}

li.head_tel img {
  width: 240px;
}

.head_tel img {
  /*  width: 100%;*/
}

.head_btn {
  width: 220px;
  vertical-align: middle;
  /*
  width: 50%;
  height: auto;
*/
}

.head_btn a {
  display: block;
  padding: 2% 4% 0;
  margin: 4px 4px 0px;
  text-decoration: none;
  border-radius: 5px;
  border: 1px solid #337b42;
  border-radius: 50px;
  background: #337b42;
  color: #337b42;
  transition: all 0.2s ease 0s;
  box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.4);
  font-weight: 600;
}

.head_btn a:hover {
  color: #fff;
  background: #337b42;
  background: #33cc66;
  transition: all 0.2s ease 0s;
}

.main img {
  width: 100%;
  height: auto;
}

/*------- main img -------*/

#main-visual {
  position: relative;
  z-index: 2;
  /*add*/
  display: block;
  width: 100%;
  margin: 0 auto;
  background: url(../images/top_first.jpg) no-repeat center center;
  background-size: cover;
  height: 360px;
}

#main-visual,
#main_img_solution,
#main_img_maxillofacial,
#main_img_decay,
#main_img_whitening,
#main_img_cleaning,
#main_img_denture,
#main_img_pediatric,
#main_img_about,
#main_img_access,
#main_img_activities,
#main_img_activities_kids,
#main_img_activities_first,
#main_img_profile,
#main_img_history,
#main_img_infection,
#main_img_archives,
#main_img_recruit,
#main_img_np,
#main_img_interview {
  position: relative;
  z-index: 2;
  /*add*/
  display: block;
  width: 100%;
  margin: 0 auto;
}

#main_img_solution {
  background: url(../images/top_solution.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_maxillofacial {
  background: url(/solution/img/top_maxillofacial.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_decay {
  background: url(../images/top_decay.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_whitening {
  /*background: url(../images/top_whitening.jpg) no-repeat center center;*/
  /*202304入替*/
  background: url(../solution/img/header.png) no-repeat center center;

  background-size: cover;
  height: 420px;
}

#main_img_cleaning {
  background: url(../images/top_cleaning.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_denture {
  background: url(../images/top_denture.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_pediatric {
  background: url(../images/top_pediatric.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_about {
  background: url(/aboutus/img/top_aboutus.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_access {
  background: url(/aboutus/img/top_access.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_activities {
  background: url(../images/main_solution_top.png) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_activities_kids {
  background: url(../images/top_kids.png) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_activities_first {
  background: url(../images/top_first.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_infection {
  background: url(../images/top_infection.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_profile {
  background: url(../aboutus/img/mv_profile.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_history {
  background: url(../images/top_history.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_archives {
  background: url(../images/top_archives.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_recruit {
  background: url(../images/top_recruit.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_interview {
  background: url(../images/top_interview.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

#main_img_np {
  background: url(../images/top_np.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
}

/* #main_img_np {
  background: url(../images/top_np_1121b.jpg) no-repeat center center;
  background-size: cover;
  height: 420px;
} */

/*
#main-visual img {
  width: 100%;
  height: auto;
}
*/

.inner_midasi {
  position: absolute;
  bottom: 28%;
  width: 100%;
  padding: 1em 0;
  text-align: center;
  margin: 0 auto;
  color: #333;
  text-shadow: 0 2px 3px #fff;
}

.inner_midasi h1 {
  font-size: 290%;
}

.inner_midasi_sub {
  font-size: 18px;
  line-height: 1.8em;
  color: #333;
}

/*ホワイトニング ヘッダテキスト202304*/
#main_img_whitening .inner_midasi {
  position: absolute;
  /* bottom: 28%; */
  bottom: 12%;
  width: 100%;
  padding: 0.5em 0 2px;
  text-align: center;
  margin: 0 auto;
  color: #141414;
  /* text-shadow: 0 2px 3px #fff; */

}

#main_img_whitening .inner_midasi h1 {
  font-size: 290%;
  letter-spacing: -0.02em;

}

#main_img_whitening .inner_midasi h2 {
  font-size: 190%;
  color: #fff;
  text-shadow: 1px 1px 1px #3b3b3b;
}

/*div*/
#main_img_whitening .inner_midasi_sub {
  font-size: 18px;
  line-height: 1.9em;
  color: #000;
  position: relative;
  display: inline-block;
  padding: 0 0px;
}

#main_img_whitening .inner_midasi_sub ul {
  list-style: none;
  text-align: left;
  display: inline-block;
}

/*ul*/
#main_img_whitening .inner_midasi_sub li {
  display: flex;
  align-items: center;
}

#main_img_whitening .inner_midasi_sub .li_border:before {
  content: '';
  border-top: 1px solid;
  content: "";
  width: 12px;
  margin-right: 0.5em;
}


.tel_btn {
  text-align: left;
  margin: 10px;
  padding: 10px;
}

.first_tel_btn {
  text-align: center;
  margin: 10px auto;
  padding: 10px;
  width: 100%;
  overflow: auto;
}

.first_tel_btn_left {
  text-align: left;
  margin: 10px auto;
  padding: 10px;
  width: 100%;
  overflow: auto;
}

.btn_left {
  text-align: left;
  margin: 4px 0;
  padding: 4px 10px;
}

/*------- main img end -------*/

.main_bk {
  width: 100%;
  background: #f8f6ef;
}

.main_cont {
  margin: 0 auto 10px;
  width: 1200px;
  padding: 20px 0 14px;
}

.main_cont_pan {
  margin: 0 auto 20px;
  width: 1200px;
  padding: 10px 0 0px;
}

.main_cont p {
  text-align: left;
  line-height: 1.9em;
}

.main_cont p.txt {
  padding: 0 0;
  margin: 10px 30px 20px;
}

.main_cont p.txt_line {
  padding: 0 0;
  margin: 10px 30px 0px;
}

.main_cont div.txt_line {
  padding: 0;
  margin: 0 30px 0;
}

.main_cont div.txt {
  padding: 0 0;
  margin: 10px 30px 20px;
}

.main_cont p.mb20 {
  margin-bottom: 40px;
}

.m_midasi {
  width: 900px;
  text-align: center;
  font-size: 32px;
  margin: 30px auto 30px;
  padding: 0 0 10px 0;
  background: url(../images/m_line.png);
  background-position: bottom;
  background-repeat: no-repeat;
  font-weight: 400;
  color: #4e952f;
}

.g_midasi {
  text-align: center;
  font-size: 32px;
  margin: 16px 0 30px;
  padding: 0 0 10px 0;
  background: url(../images/g_line.png);
  background-position: bottom;
  background-repeat: no-repeat;
  font-weight: 400;
  color: #4e952f;
}

.m_txt {
  text-align: center;
  margin: 30px auto;
  width: 800px;
  padding: 15px 0;
}

section p.date {
  font-size: 16px;
  border-bottom: 1px solid #ccc;
  text-align: left;
  width: 96%;
  margin: 0 auto;
}

.section_imp {
  border: 3px solid red;
  width: 900px;
  text-align: center;
  margin: 30px auto 30px;
  padding: 0;
}

h2.section_imp_midasi {
  width: 900px;
  text-align: center;
  font-size: 24px;
  margin: 0px auto 10px;
  padding: 10px 0;
  background: red;
  color: white;
  font-weight: 400;
}

.section_imp p {
  width: 870px;
  margin: 10px auto 10px;
  padding: 0 0 10px 0;
}

.section_imp_green {
  border: 3px solid #4e952f;
  width: 900px;
  text-align: center;
  margin: 30px auto 30px;
  padding: 0;
}

h2.section_imp_midasi_green {
  width: 900px;
  text-align: center;
  font-size: 24px;
  margin: 0px auto 10px;
  padding: 10px 0;
  background: #4e952f;
  color: white;
  font-weight: 400;
}

.section_imp_green p {
  /* width: 870px; */
  margin: 10px auto 10px;
  padding: 0 0 10px 0;
  text-align: center;
}

.bk_yel {
  background-color: yellow;
  font-size: 26px;
}

.fnt_lightblue {
  color: #27bcf9;
  font-weight: bold;
}

p.box_yel {
  margin: 0 auto;
  text-align: center;
  font-size: 24px;
}

span.col_yell {
  background: yellow;
  padding: 10px 0;
  font-weight: bold;
}

span.col_wht {
  background: white;
  padding: 2px 6px;
  color: red;
  font-weight: bold;
  font-size: 26px;
}

/*------ 採用情報 -------*/

.recruit_bana {
  width: 800px;
  margin: 0 auto;
  text-align: center;
}

.recruit_bana img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  text-align: center;
}

/*------ 見出しh3 ------*/

/*
.n_midasi {
  font-weight: 300;
  padding: 10px 0px;
  margin: 20px auto 20px;
  width: 100%;
  font-size: 20px;
  text-align: left;
  color: #333;
  border-radius: 20px;
  background: #5EB93A;
  color: #fff;
}
*/

/*
h2.n_midasi {
  width: 100%;
  font-size: 20px;
  padding: 10px 20px;
  margin: 20px auto 10px;
  display: inline-block;
  line-height: 1.3;
  background: #5EB93A;
  color: #fff;
  font-weight: 300;
  border-radius: 20px;
}
*/

h2.n_midasi {
  font-size: 22px;
  padding: 0.5em 1em;
  background-color: #eee;
  background: #5eb93a;
  color: #fff;
  font-weight: 300;
  border-radius: 24px;
  margin: 30px 0px 20px;
  text-align: left;
}

/* 202304 white追加 */
#wPage h2.n_midasi {
  font-size: 42px;
  padding: 0.5em 1em;
  background-color: #eee;
  background: none;
  color: #333;
  font-weight: 300;
  border-radius: 0px;
  margin: 30px 0px 20px;
  text-align: center;

  display: inline-block;
  position: relative;
}

#wPage h2.n_midasi:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -5px;
  /*下線の上下位置調整*/
  display: inline-block;
  width: 50px;
  /*下線の幅*/
  height: 1px;
  /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%);
  /*位置調整*/
  background-color: #666;
  /*下線の色*/
}

/*202304 whitening canpaign*/
#wPage h2.n_canp_midasi {
  font-size: 26px;
  padding: 0.5em 1em 0.4em;
  /* background-color: #1b1b1b; */
  background: linear-gradient(to right, rgb(48, 224, 192) 0%, rgba(96, 155, 208, 0.8) 0%, rgba(125, 185, 232, 0.6) 100%);
  /* グラデーション指定 */
  color: #052742;
  text-shadow: 1px 1px 1px #fff;
  font-weight: 400;
  border-radius: 0px;
  margin: 30px 0px 20px;
  text-align: center;

  display: inline-block;
  position: relative;
}

@media screen and (max-width: 767px) {
  #wPage h2.n_canp_midasi {
    font-size: 22px;
    padding: 0.5em 0em 0.4em;
  }
}


/*見出しの余白*/

.h_pdg12 {
  padding: 0;
  margin: 0 12px 0 20px;
}

/*見出しh3*/

.h3_midasi {
  border-bottom: 2px dotted #5eb93a;
  box-sizing: border-box;
  color: #5eb93a;
  padding: 4px 0;
  margin: 20px auto 2px;
  width: 96%;
  text-align: left;
  font-size: 20px;
  font-weight: 600;
}

.h3_midasi i {
  color: #5eb93a;
  padding-right: 8px;
}

.main_cont h4,
.main_cont .h4_midasi {
  margin: 16px auto 8px;
  padding: 8px 4px 6px;
  width: 96%;
  font-size: 20px;
  text-align: left;
  background: #ecffea;
  background: #fff;
  border-bottom: 2px solid #7aad65;
  color: #333;
  color: #585448;
}

/*
.m_bk {
  background: #5EB93A;
  color: #fff;
  padding: 2px 12px;
  border-radius: 10px;
}*/

/*
.h3_midasi {
  border-bottom: 2px dotted #5EB93A;
  box-sizing: border-box;
  color: #5EB93A;
  padding: 4px 0;
  margin: 20px auto 2px;
  width: 96%;
  text-align: left;
  font-size: 18px;
  font-weight: bold;
}
*/

/*
.main_cont h4 {
  margin: 10px auto 6px;
  padding: 4px 10px;
  width: 94%;
  font-size: 16px;
  border-top: none;
  border-top: 4px solid #929590;
  border-top: 4px solid #ffca76;
  border-top: 4px solid #fff4e4;
  border-radius: 10px;
  text-align: left;
  background: #d2fddc;
  background: #fff4e4;
  background: #ffb949;
  color: #333;
}
*/

/*midasi*/

.m_box {
  width: 94%;
  margin: 30px auto 20px;
  background: #fff4e4;
  padding: 14px 8px;
  text-align: left;
  border-radius: 8px;
}

.midasi_m {
  padding: 6px 8px 2px;
  margin: 0 0px;
  font-size: 20px;
  font-weight: 600;
  color: #ff9300;
  color: #fc9d1d;
  border-bottom: 2px dotted #ff9300;
  text-align: left;
}

.m_box p {
  padding: 4px 6px 0;
}

section {
  margin: 10px auto 20px;
  text-align: center;
}

section.section_end {
  margin-bottom: 60px;
}

.c_box_s {
  width: 60%;
  margin: 10px auto 10px;
  border: 4px solid #ccc;
  border-radius: 10px;
  padding: 10px 6px;
}

.c_box_m {
  width: 80%;
  margin: 10px auto 10px;
  border: 4px solid #ccc;
  border-radius: 10px;
  padding: 10px 6px;
}

.c_box_l {
  width: 94%;
  margin: 20px auto;
  border: 4px solid #ccc;
  border-radius: 10px;
  padding: 10px 6px;
}

.c_box_grey {
  width: 94%;
  margin: 20px auto;
  border: 4px solid #ccc;
  border-radius: 10px;
  padding: 10px 6px;
  background: #e3e3e3;
}

/*------ header_appeal ------*/

/*---------end next page head-----------*/

/*------ nav ------*/

nav {
  margin: 0px auto 16px;
  float: none;
  clear: both;
}

#gnavi {
  margin: 0 0 5px;
  padding: 0;
  border-radius: 4px;
  /*font-size: 16px;*/
  font-size: 16px;
  font-weight: normal;
  text-align: center;
}

#gnavi ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -webkit-flex;
  display: flex;
}

#gnavi a {
  margin: 6px 2px 6px;
  padding: 4px 5px;
  display: block;
  text-decoration: none;
  color: #333;
}

#gnavi li {
  width: 15%;
}

#gnavi li a:hover {
  background: #afe2ab;
  color: #333;
}

#gnavi li {
  border-left: 1px dotted #939393;
  border-right: 1px dotted #939393;
}

#gnavi li+li {
  border-left: 0;
  border-right: 1px dotted #939393;
}

/*------ 中央寄せ ------*/

#gnavi .center {
  -webkit-justify-content: center;
  justify-content: center;
}

/*------　先頭寄せ　------*/

.flex-start {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

/*------ 右寄せ ------*/

.flex-end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

/*------ 等間隔に配置 ------*/

.between {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

/*------ 端も合わせて等間隔に配置 ------*/

.around {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

/*------ footer ------*/

footer.faccess {
  background: #fbf9f6;
  background-image: url(../images/footer_line.png);
  background-position: top;
  background-repeat: repeat-x;
  padding: 40px 0;
  margin: 40px auto 0;
  width: 100%;
  font-size: 14px;
  font-weight: normal;
}

footer.fmenu {
  background: #f7f4ef;
}

footer.fmenu a:link,
footer.fmenu a:active,
footer.fmenu a:visited {
  color: #000;
  text-decoration: none;
}

footer.fmenu a:hover,
footer.fmenu a:focus {
  color: #06c;
  text-decoration: none;
}

.footer_bk {
  width: 1200px;
  text-align: center;
  margin: 0 auto;
}

footer:after {
  content: "";
  display: block;
  clear: both;
}

.footer_left {
  float: left;
  padding-left: 10px;
  text-align: left;
  width: 600px;
  margin-bottom: 20px;
}

.footer_right {
  float: right;
  width: 580px;
  text-align: right;
  margin-bottom: 20px;
}

.f_logo {
  font-size: 14px;
  line-height: 1.3;
  vertical-align: middle;
}

.parking,
.foot_yoyaku_box {
  margin: 10px 0 0 0;
  display: flex;
  vertical-align: bottom;
}

.foot_yoyaku_box {
  -webkit-align-items: baseline;
  /*--- safari（PC）用 ---*/
  align-items: baseline;
}

.parking div,
.foot_yoyaku_box div {
  flex-flow: row wrap;
}

.fyoyaku_block {
  width: 260px;
  margin: 0 0 0 10px;
  padding: 0;
}

.fy_btn a {
  display: block;
  padding: 4px 2% 0;
  margin: 0px 4px;
  color: #62aa2d;
  text-decoration: none;
  border: 1px solid #62aa2d;
  background: #62aa2d;
  text-align: center;
  border-radius: 10px;
  /* CSS3草案 */
  -webkit-border-radius: 10px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 10px;
  /* Firefox用 */
}

.fy_btn a:hover {
  color: #fff;
  font-weight: 400;
  background: #62aa2d;
  transition: all 0.2s ease 0s;
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}

/*parking btn*/

.acc_btn {
  width: 220px;
  margin: 0 0 0 10px;
  padding: 0;
}

.ac_btn a {
  display: block;
  padding: 1% 2%;
  margin: 0px 4px;
  color: #62aa2d;
  text-decoration: none;
  border: 1px solid #62aa2d;
  background: #fff;
  text-align: center;
  border-radius: 20px;
  /* CSS3草案 */
  -webkit-border-radius: 20px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 20px;
  /* Firefox用 */
}

.ac_btn a:hover {
  color: #fff;
  font-weight: 400;
  background: #62aa2d;
  transition: all 0.2s ease 0s;
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}

/*----------- コンテンツ内のボタン ----------------------*/

.btn_float {
  position: relative;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  overflow: auto;
}

.main_btn50 {
  float: left;
  width: 30%;
  margin: 10px auto 10px;
  text-align: center;
  left: 20%;
  position: relative;
}

.main_btn {
  width: 430px;
  margin: 10px auto 10px;
  text-align: center;
}

.btn02 a {
  display: block;
  padding: 1% 2%;
  margin: 0 4px;
  color: #fff;
  text-decoration: none;
  border: 1px solid #413627;
  background: #413627;
  text-align: center;
  border-radius: 100px;
}

.btn02 a:hover {
  color: #413627;
  font-weight: 400;
  background: #fff;
  transition: all 0.2s ease 0s;
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}

.btn_pdf a:after {
  content: url(../images/icon_pdf.png);
  margin: 0;
  position: relative;
  top: 6px;
}

/*----------- 詳細ボタン ----------------------*/

.more_btn {
  width: 400px;
  margin: 0px auto 0px;
  text-align: center;
}

.m_btn a {
  display: block;
  padding: 1% 1%;
  margin: 0 4px;
  color: #fff;
  text-decoration: none;
  border: 1px solid #413627;
  background: #413627;
  text-align: center;
  border-radius: 100px;
}

.m_btn a:hover {
  color: #413627;
  font-weight: 400;
  background: #fff;
  transition: all 0.2s ease 0s;
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}

.f_tel {
  margin: 10px 0 20px;
}

.timetable {
  width: 96%;
  text-align: left;
}

.timetable_bus {
  width: 96%;
  margin: 0 auto 30px;
}

.time_tb {
  text-align: left;
  width: 98%;
  margin: 20px auto 4px;
  font-size: 14px;
}

.time_m {
  width: 23%;
  white-space: nowrap;
}

.foot_notice {
  padding-left: 14px;
  font-size: 12px;
}

/*予防歯科へのリンク*/

.btn-square-pop {
  position: relative;
  display: inline-block;
  padding: 0.15em 1.25em 0.25em;
  text-decoration: none;
  color: #FFF;
  background: #583717;
  /*背景色*/
  border-bottom: solid 4px #966e57;
  /*少し濃い目の色に*/
  border-radius: 20px;
  /*角の丸み*/
  box-shadow: inset 0 2px 0 rgba(119, 99, 82, 0.2), 0 2px 2px rgba(134, 96, 74, 0.19);
  font-weight: normal;
  min-width: 50%;
  font-size: 26px;
  margin: 6px 0 16px;
}

.btn-square-pop span {
  font-size: 18px;
}

.btn-square-pop:active {
  border-bottom: solid 2px #6b4825;
  box-shadow: 0 0 4px rgba(180, 110, 78, 0.3);
  text-decoration: none;
}

a.btn-square-pop,
a.btn-square-pop:focus,
a.btn-square-pop:hover,
a.btn-square-pop:link,
a.btn-square-pop:active,
a.btn-square-pop:visited {
  text-decoration: none;
  color: #fff;
}



/*トップページ　ホワイトニングへのリンクボタン 20230513*/

.wbtn-square {
  position: relative;
  display: inline-block;
  padding: 0.15em 1.25em 0.25em;
  text-decoration: none;
  color: #FFF;
  background: #0ABAB5;
  /*背景色*/
  border-bottom: solid 4px #cccccc;
  /*少し濃い目の色に*/
  border-radius: 20px;
  /*角の丸み*/
  box-shadow: inset 0 2px 0 rgba(119, 99, 82, 0.2), 0 2px 2px rgba(134, 96, 74, 0.19);
  font-weight: normal;
  min-width: 50%;
  font-size: 26px;
  margin: 6px 0 16px;

}

.wbtn-square span {
  font-size: 18px;
}

.wbtn-square:active {
  border-bottom: solid 2px #cccccc;
  box-shadow: 0 0 4px rgba(180, 110, 78, 0.3);
  text-decoration: none;
}

a.wbtn-square,
a.wbtn-square:focus,
a.wbtn-square:hover,
a.wbtn-square:link,
a.wbtn-square:active,
a.wbtn-square:visited {
  text-decoration: none;
  color: #fff;
}




/*map*/

.gmap iframe {
  width: 90%;
  height: 460px;
}

/*時刻表*/

.bus_time_tb {
  margin: 10px 0;
  border-spacing: 0;
  border-collapse: collapse;
}

.bus_time_tb th {
  background: #ffba5d;
  background: #e7ffcf;
  background: #efefef;
  text-align: center;
  padding: 6px 2px;
  border: 1px solid #fff;
  border-top: 1px solid #ccc;
  border: 1px solid #ccc;
}

.bus_time_tb th:first-child {
  border-left: 1px solid #ccc;
}

.bus_time_tb th:last-child {
  border-right: 1px solid #ccc;
}

.bus_time_tb td {
  text-align: center;
  padding: 4px 4px;
  border: 1px solid #ccc;
  border-collapse: collapse;
  font-size: 18px;
}

/*---------- 診療時間 ----------- */

.time_tb th {
  background: #2daed9;
  text-align: center;
  padding: 6px 2px;
  border: 1px solid #fff;
  border-top: 1px solid #ccc;
  color: #fff;
}

.time_tb th:first-child {
  border-left: 1px solid #ccc;
}

.time_tb th:last-child {
  border-right: 1px solid #ccc;
}

.time_tb td {
  text-align: center;
  padding: 4px 4px;
  border: 1px solid #ccc;
  border-collapse: collapse;
  font-size: 18px;
}

.time_date {
  width: 11%;
}

.time_midasi {
  background: #e3f4fd;
  font-size: 16px !important;
}

/*------ footermenu ------------*/

.ft_add_size {
  font-size: 22px;
}

.ft_add {
  font-size: 22px;
}

/* .ft_add:after {
  content: url(../images/iten_arrow.png);
  margin: 0px 0 0 0;
  position: relative;
  top: 0px;
} */

.fmenu_box {
  padding: 10px 0;
}

.fmenu_box:after {
  content: "";
  display: block;
  clear: both;
}

.footer_box {
  display: flex;
  justify-content: flex-start;
}

.fmenu_box dl {
  width: 220px;
  float: left;
  padding: 10px 20px 10px 0;
  text-align: left;
  margin-bottom: 20px;
}

.fmenu_box dt {
  font-size: 16px;
  padding-bottom: 6px;
}

.fmenu_box dt a {
  font-weight: 600;
  font-size: 16px;
  padding-bottom: 6px;
  color: #666;
}

.fmenu_box dt:before {
  content: url(../images/foot_menu_icon.png);
  margin: 10px;
  position: relative;
  top: 0px;
}

.fmenu_box dd {
  margin-left: 36px;
  padding: 2px 0 4px;
}

.footer_bana {
  clear: both;
  margin: 0 auto;
  text-align: center;
  width: 100%;
}

.footer_bana li {
  display: inline-block;
}

/*------ pankuzu ------*/

#pankuzu {
  margin-bottom: 16px;
}

#pankuzu li {
  float: left;
  font-size: 12px;
  padding: 0 4px 0 4px;
}

#pankuzu a,
#pankuzu a:active,
#pankuzu a:focus {
  text-decoration: underline;
  color: #3f4ec0;
  padding: 0 6px 0 0;
}

#pankuzu a:hover {
  text-decoration: underline;
  color: #e813a5;
}

/*------ main 設定 ------*/

.main-box {
  width: 100%;
  margin: 0 auto 60px;
  overflow: hidden;
}

/*---- ページ見出し ------*/

#n_pt_about {
  position: relative;
  width: 100%;
}

#n_pt_about img {
  width: 100%;
}

#n_pt_about .n_txt {
  text-align: center;
  font-size: 38px;
  position: absolute;
  bottom: 30px;
  /*中央揃え*/
  left: 0;
  right: 0;
  color: #104978;
}

.n_txt span {
  border-bottom: 1px solid #104978;
  padding-bottom: 6px;
}

/* ----------- 画像横並び ----------- */

.cont_img {
  margin: 0 auto;
  text-align: center;
}

.cont_img3 {
  width: 80%;
  margin: 0 auto;
  text-align: left;
}

.cont_img3 img {
  width: 32%;
}

.cont_img4 {
  width: 80%;
  margin: 0 auto;
  text-align: left;
}

.cont_img4 img {
  width: 24%;
}

.cont_img,
.cont_img3,
.cont_img4 {
  margin: 20px auto 10px;
}

/* ----------- pagelink ----------- */

.page_link ul {
  width: 98%;
  text-align: center;
  margin: 0 auto;
  background: #f1f4f7;
  border: 1px solid #ebebeb;
  padding: 4px 4px;
  overflow: auto;
  font-size: 14px;
  box-sizing: border-box;
}

.page_link li {
  display: inline;
  float: left;
}

.page_link li a {
  display: block;
  border: 1px solid #ebebeb;
  background: #fff;
  padding: 2px 4px;
  text-decoration: none;
  color: #3f3f3f;
  margin: 2px;
  text-align: center;
}

.page_link li a:hover {
  background-color: #008cd0;
  color: #fff;
}

/* ----------- カラム横並び ----------- */

/*できること縦並び*/

.dekiru_tate {
  margin: 0 auto;
  text-align: center;
  padding: ;
}

.dekiru_tate img {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.dekiru_tate li {
  margin: 0 auto 20px;
  text-align: center;
  width: 95%;
}

.dekiru_tate li:last-child {
  margin: 0 auto 0px;
  text-align: center;
  width: 95%;
}

.dekiru_tate_sp {
  display: none;
}

.dekiru_yoko {
  width: 100%;
  text-align: center;
  margin: 18px auto;
  padding: 0;
}

.dekiru_yoko li {
  display: inline-block;
  text-align: center;
  width: 32.5%;
}

.dekiru_yoko li img {
  width: 100%;
}

.dekiru_yoko li:first-child {
  margin-right: 10px;
  text-align: left;
}

.dekiru_yoko li:last-child {
  padding-left: 10px;
  text-align: right;
}

/*横3*/

.wrap {
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}

.wrap_left {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: left;
  justify-content: left;
}

/*横3*/

.yoko {
  width: 340px;
  margin: 0 10px;
  padding: 10px 20px 20px;
  /*    background: #EEE;*/
  /*    border-radius: 10px;*/
  -webkit-flex-direction: column;
  flex-direction: column;
  display: flex;
}





/*よこ50%*/

.yoko_t {
  width: 480px;
  margin: 10px 10px;
  padding: 6px 10px 0px;
  flex-direction: column;
  display: flex;
}

.yoko_50 {
  width: 48%;
  margin: 0 10px 36px;
  padding: 6px 6px 20px;
  flex-direction: column;
  display: flex;
  background: #f7f7f7;
}

.yoko_notice {
  width: 50%;
  margin: 10px 10px;
  padding: 12px 10px 12px;
  flex-direction: column;
  display: flex;
  background: #fce8e8;
  background: #fff;
  border: 1px solid #eb9797;
  border-radius: 8px;
}

.yoko_point {
  width: 40%;
  margin: 10px 10px;
  padding: 12px 10px 12px;
  flex-direction: column;
  display: flex;
  background: #fce8e8;
  background: #5eb93a;
  border: 1px solid #76aa4a;
  border-radius: 8px;
  color: #fff;
}

.yoko_100 {
  width: 90%;
  margin: 10px 10px;
  padding: 6px 10px 0px;
  flex-direction: column;
  display: flex;
}

.yoko_50 p,
.yoko_100 p,
.yoko_notice p,
.yoko_point p {
  margin: 0 10px;
  padding: 10px 6px;
  line-height: 1.8em;
}

.yoko_notice .point {
  text-align: center;
  background: #fe8574;
  color: #fff;
  padding: 4px 0;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 4px;
}

.img img {
  width: 100%;
  margin: 0;
  padding: 10px 0 0;
  text-align: center;
  order: -1;
}


.doc_pro_img .img img {
  width: 90%;
  margin: 0;
  padding: 10px 0 0;
  text-align: center;
  order: -1;
}



.yoko_t img {
  padding: 10px 0 2px;
}

.yoko_100.acces_guide img {
  width: 40%;
}

/*bottom*/

.yoko_txt {
  position: relative;
}

.yoko_txt img {
  width: 70%;
  position: absolute;
  bottom: -40px;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin-bottom: 10px;
}

.sol_list img {
  width: 82%;
}

.yoko p {
  width: 98%;
  font-size: 16px;
  margin: 6px auto 0;
  line-height: 1.6em;
}

.btn_yoko {
  margin-top: auto;
}

.btn_yoko a {
  padding: 10px 0;
  display: block;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: #333;
  border: 1px solid #009ce7;
  background: #ccc;
  text-align: center;
}

.btn_yoko a:hover {
  color: #008cd0;
  background: #fff;
  transition: all 0.2s ease 0s;
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}

.wrap_box {
  width: 96%;
  text-align: center;
  margin: 0 auto;
}

/*yoko3可変*/

.wrap_st {
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-align-content: stretch;
  /* Safari */
  align-content: stretch;
}

.flex_st {
  width: 300px;
  margin: 0 16px;
  padding: 10px 15px 10px;
  /*    background: #EEE;*/
  /*    border-radius: 10px;*/
  -webkit-flex-direction: column;
  flex-direction: column;
  display: flex;
}

.yoko_t figcaption,
.yoko_50 figcaption,
.yoko_100 figcaption,
.flex_st figcaption,
.l_flex figcaption,
.r_flex figcaption {
  font-size: 12px;
  width: 98%;
  margin: 0 auto;
}

.scenery figcaption {
  text-align: left;
}

.contents_col ul {
  display: flex;
  width: 98%;
  margin: 0 auto;
  text-align: center;
}

/*yoko3可変 end */

.contents_col li {
  margin: 2px;
  padding: 10px;
  border: 1px solid #aaa;
  /*display:inline-flex;*/
  width: 32%;
  list-style: none;
}

.contents_col li img {
  width: 100%;
  margin: 0%;
  text-align: center;
}

/*4カラム横並び　クラス追加で使用*/

.contents_col .col4 li {
  width: 24%;
}

/*------------  end ボタン -----------------*/

/* ----------- table ----------- */

.area-table {
  margin: 0 auto;
  width: 920px;
  width: 94%;
  text-align: center;
}

.area-table .table-form {
  width: 100%;
  border: 1px solid #ccc;
  line-height: 1.57;
}

.area-table .table-form th {
  padding: 16px 24px;
  width: 200px;
  border-bottom: 1px solid #ccc;
  text-align: left;
  vertical-align: top;
  text-align: left;
}

.area-table .table-form td {
  padding: 16px 40px;
  border-bottom: 1px solid #ccc;
  vertical-align: middle;
  text-align: left;
}

.area-table .table-form-common th {
  background: #f2f0ed;
}

/*------------ ボタン -----------------*/

/* ----------- top head btn ----------- */

.btn_head {
  width: 50%;
  margin: 5px auto 5px;
  text-align: center;
}

.btn_head_next {
  width: 90%;
  margin: 5px auto 5px;
  text-align: center;
}

.btn_01 a {
  display: block;
  padding: 2%;
  margin: 0 4px;
  color: #fff;
  text-decoration: none;
  border: 1px solid #1767a8;
  background: #1767a8;
  text-align: center;
}

.btn_01 a:hover {
  color: #1767a8;
  font-weight: 400;
  background: #fff;
  transition: all 0.2s ease 0s;
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}

.hname {
  color: #111f8a;
  font-size: 26px;
  font-weight: 600;
}

.htel {
  font-size: 26px;
}

/*ホワイトニング　ボタンオパール　2023.04追加*/
.W_opal_btn {
  width: 80%;
  text-align: center;
  margin: 0 auto 10px;
}

/* ボタン共通設定 */
.btn06 {
  /*矢印の基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  background: #268d22;
  color: #fff;
  padding: 20px 40px;
  border-radius: 10px;
  text-align: center;
  outline: none;
  /*アニメーションの指定*/
  transition: ease .2s;
  font-size: 18px;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
}

.btn06:hover {
  background: #68c265;
  border-bottom: 3px solid #268d22;
  border-right: 3px solid #268d22;
}

a.btn06 {
  color: #fff;
  text-decoration: none;
}


/* 矢印が右に移動 */

.btnarrow1::after {
  content: '';
  /*絶対配置で矢印の位置を決める*/
  position: absolute;
  top: 43%;
  right: 20px;
  /*矢印の形状*/
  width: 5px;
  height: 5px;
  border-top: 2px solid #052742;
  border-right: 2px solid #052742;
  transform: rotate(45deg);
  /*アニメーションの指定*/
  transition: all .3s;
}

/*hoverした際の移動*/
.btnarrow1:hover::after {
  right: 11px;
}

/*ホワイトニング　ジャンプボタン*/
.white_jumpbtn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.white_jumpbtn button {
  /*矢印の基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  background: #000;
  background: linear-gradient(to right, rgb(48, 224, 192) 0%, rgba(96, 155, 208, 0.8) 0%, rgba(125, 185, 232, 0.6) 100%);
  /* グラデーション指定 */

  color: #3b3b3b;
  text-shadow: 0 1px 1px #fff;
  padding: 18px 40px 18px 18px;
  border-radius: 5px;
  text-align: center;
  outline: none;
  /*アニメーションの指定*/
  transition: ease .2s;
  margin: 8px;

  border: 1px solid #fff;
  border-width: 1px;
  border-style: outset;
  border-color: #fff;
  border-image: initial;
}

button:hover {
  /* background:#04467c; */
  border: 1px solid #06c;

}

a.btnw {
  color: #052742;
  font-size: 17px;
  font-weight: 500;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  a.btnw {
    font-size: 15px;
  }

}




/*ホワイトニング　アイコン*/
.white_jumpbtn .btnw_icon {
  margin: 5px;
}

.white_jumpbtn .btnw_icon img {
  width: 60px;
}





/* ----------- 新着 ----------- */

.c-tabs__item {
  display: inline;
}

.c-tabs__link {
  display: inline-block;
  color: #999;
  text-decoration: none;
  padding: 1rem 1.5rem;
}

.c-tabs__link.is-active {
  color: #333;
}

.c-tabs__content {
  display: none;
  width: 100%;
  float: left;
  padding: 0 1.5rem 1.5rem 1.5rem;
}

@media only screen and (max-width: 640px) {
  .c-tabs__link {
    display: block;
  }
}

.c-tabs {
  background: #fff;
  overflow: hidden;
  margin-top: 2rem;
}

/*年　dl*/

.his_box {
  width: 96%;
  margin: 0 auto;
}

dl.his {
  width: 90%;
}

.his dt {
  display: block;
  width: 60px;
  clear: left;
  float: left;
}

.his dd {
  display: block;
  width: 80%;
  float: left;
}

/* ----------- ステップ ----------- */

.step {
  width: 96%;
  margin: 10px auto 10px;
  background: #fff1a3;
  padding: 6px 10px;
  font-size: 16px;
  text-align: left;
  border-radius: 10px;
}

.step_num {
  background-color: #ffffff;
  padding: 0;
  margin: 0 10px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
}

.step_icon {
  text-align: center;
  margin: 0 auto 10px;
}

.step_icon img {
  width: 130px;
}

.step_p {
  margin: 0 0 20px 10px;
}

/*問診*/

.dt_color dt {
  margin: 6px auto 10px;
  background: #d8f5ce;
  background: rgba(193, 232, 172, 0.69);
  padding: 6px 2px 6px;
  font-size: 16px;
  text-align: left;
  border-radius: 10px;
  color: #464234;
  display: flex;
  flex-flow: row nowrap;
}

.dt_num {
  background-color: #ffffff;
  padding: 0;
  margin: 0 4px 0 6px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  border-radius: 50%;
  color: #464234;
}

dt.dt_kotei {
  flex: 1;
}

.dt_color dd {
  margin: 0 16px 20px 20px;
  text-align: left;
}

/* ----------- 初診の流れ ----------- */

.flow {
  /*  width: 94%;*/
  margin: 20px auto 10px;
  background: #1767a8;
  background: #ffeec8;
  background: #b2e3a6;
  padding: 2px 6px;
  color: #333;
  font-size: 18px;
  font-weight: 500;
  text-align: left;
  border-radius: 4px;
}

.flow_md {
  padding: 0 0 0 10px;
  color: #464234;
}

.flow_num {
  color: #666;
  background-color: #fff;
  padding: 0;
  margin: 0 10px;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
}

.ftxt {
  width: 98%;
  margin: 0 auto;
}

.flow_icon {
  text-align: center;
  margin: 0 auto 6px;
}

.flow_icon img {
  width: 130px;
}

/*画像回り込みなし　左*/

.l_flex {
  width: 95%;
  margin: 10px auto 10px;
  overflow: hidden;
  display: flex;
  flex-direction: row;
}

.l_flex_right img {}

.l_flex_right {
  margin: 0 10px 10px 0px;
}

.l_flex_left {
  flex: 1;
  margin-left: 16px;
}

/*画像回り込みなし　右*/

.r_flex {
  width: 95%;
  margin: 10px auto 10px;
  overflow: hidden;
  display: flex;
  flex-direction: row-reverse;
}

.r_flex_right {
  margin: 0 0 10px 10px;
}

.r_flex_left {
  flex: 1;
  margin-right: 6px;
}

.l_flex_left p {
  margin: 0 0 20px 0px;
}

.r_flex_left p {
  margin: 0 0 20px 0px;
}

.l_flex figure,
.r_flex figure {
  display: table;
  width: 160px;
  /* minimum width */
  *width: auto;
  /* for IE7 and below */
  margin: 0 auto;
  text-align: center;
  font-size: 12px;
}

figure.img_200 img,
.img_200auto img {
  width: 200px;
  height: auto;
}

figure.img_300 img,
.img_300auto img {
  width: 300px;
  height: auto;
}

figure.img_400 img,
.img_400auto img {
  width: 400px;
  height: auto;
}

figure.img_500 img,
.img_500auto img {
  width: 500px;
  height: auto;
}

figure.img_600 img,
.img_600auto img {
  width: 600px;
  height: auto;
}

figure.img_700 img,
.img_700auto img {
  width: 700px;
  height: auto;
}

figure.img_800 img,
.img_800auto img {
  width: 800px;
  height: auto;
}

figure.img_900 img,
.img_900auto img {
  width: 900px;
  height: auto;
}

figure.img_900 img,
.img_1000auto img {
  width: 1000px;
  height: auto;
}

/*画像回り込みなし　縦*/

.c_flex {
  margin: 10px auto 40px;
  /*margin-bottom: 60px;*/
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.c_flex_right {
  margin: 0 0 10px;
}

.c_flex_left {
  width: 800px;
  margin: 0 auto;
  text-align: center;
}

.c_flex_left p {
  margin: 0px auto 10px;
  padding: 0;
}

.c_flex figure {
  display: table;
  width: 800px;
  /* 指定幅を超えたら自由に広がる　800以上は壊れる*/
  *width: auto;
  /* for IE7 and below */
  margin: 0 auto;
  text-align: center;
  /*  font-size: 14px;*/
}

/*開院のあいさつ　画像回り込みなし　縦*/
.greeting_flex {
  width: 900px;
  margin: 20px auto 40px;
  /*margin-bottom: 60px;*/
  display: flex;
  flex-direction: row;
}

/*画像回り込みなし　右*/

.greeting_img {
  margin: 10px 10px;
}

.greeting_txt {
  flex: 1;
  margin-right: 6px;
}

.greeting_txt p {
  margin: 0 0 20px 0px;
}

@media screen and (max-width: 767px) {
  .greeting_flex {
    width: 90%;
    margin: 0 auto;
    flex-direction: column-reverse;
  }

  .greeting_img {
    margin: 10px auto 10px;
  }

  figure.greeting_img {
    margin: 20px 10px;
  }

}


@media (min-width: 768px) and (max-width: 1190px) {

  .greeting_flex {
    width: 98%;
    flex-direction: row;
  }

}





/*----------------- l_flex_left 見出し -------------------*/

.l_flex_midasi {
  margin: 10px auto 10px;
  padding: 4px 0 4px 0px;
  width: 100%;
  font-size: 18px;
  text-align: left;
  color: #333;
  color: #f08d19;
  font-weight: 500;
}

/*改行*/

.only-pc {
  display: inline;
}

.only-sp {
  display: none;
}

/*qaメニュー*/

.nagare {
  text-align: center;
  margin: 0 auto;
}

.nagare img {
  max-width: 470px;
  height: auto;
}

.qa {
  margin: 8px auto 20px;
  text-align: center;
  width: 90%;
}

.qa dt {
  background: #aed5ff;
  padding: 5px 10px;
  text-align: left;
}

.qa dd {
  background: #ffd3d4;
  padding: 5px 10px;
  text-align: left;
}

.qa_q {
  color: #1851b5;
  width: 20px;
  float: left;
  font-weight: 600;
}

.qa_a {
  color: #e31e21;
  width: 20px;
  float: left;
  font-weight: 600;
}

dl.accordion {
  /* background:#DDD;*/
  width: 96%;
  margin: 0 auto 10px;
  padding: 0px;
  font-size: 16px;
}

dl.accordion dt {
  text-align: left;
  /*background:url(../images/open.png) 98% center no-repeat,-moz-linear-gradient(top, #FFF7F9, #FEDAE3);*/
  background: url(../images/open.png) 98% center no-repeat, -webkit-gradient(linear, left top, left bottom, from(#fff7f9), to(#fedae3));
  background: url(../images/open.png) 98% center no-repeat, -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
  border-radius: 1em;
  border-bottom: 1px solid #979797;
  text-indent: 5px;
  top: 50%;
  padding: 5px 10px;
  color: #333;
  font-weight: bold;
  cursor: pointer;
}

dl.accordion dt.open {
  background: url(../images/close.png) 98% center no-repeat, -moz-linear-gradient(top, #c6f0fe, #27bcf9);
  background: url(../images/close.png) 98% center no-repeat, -webkit-gradient(linear, left top, left bottom, from(#fff), to(#c6f0fe));
  border-radius: 1em;
}

dl.accordion dd {
  text-align: left;
  background: #fff;
  padding: 10px;
  line-height: 1.8;
  display: none;
}

dl.accordion dd li a:after {
  content: url(../images/icon_pdf.png);
  margin: 0 8px;
  position: relative;
  top: 6px;
}

/*
dl.accordion dd li {
  display: inline-block;
  width: 240px;
  margin: 0 auto;
  text-align: center;
}
*/

dl.accordion dd li {
  display: inline-block;
  padding: 0;
  margin: 6px 0;
  /*  float: left;*/
}

dl.accordion dd i {
  margin: 0 0 0 4px;
  font-size: 18px;
}

dl.accordion dd li a {
  display: block;
  border: 1px solid #afafaf;
  border-radius: 30px;
  box-shadow: 0px 3px 6px 0px #ccc;
  background-color: #fff;
  padding: 3px;
  text-decoration: none;
  color: #333;
  width: 240px;
  margin: 1px;
  text-align: center;
  font-size: 14px;
}

dl.accordion dd a:hover {
  background: #5eb93a;
  color: #fff;
}

/*採用職種*/

/*タブ切り替えstart pc*/

.tab-area {
  display: flex;
  justify-content: space-around;
  cursor: pointer;
}

.tab-area .tabSelect.active {
  background-color: #265BBD;
  color: #fff;
  border: none;
}

.tab-area .tabSelect.active a {
  color: #fff;
}

.content-area {
  text-align: center;
}

.content-area .contentSelect {
  display: none;
}

.content-area .contentSelect.show {
  display: block;
}

/*タブ切り替えend pc*/

.recruit_pagelink {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: space-between;
  background-color: #DCF5C5;
  width: 94%;
  text-align: center;
  margin: 40px auto 20px;
  padding: 16px 20px;
  border-radius: 10px;
}

.recruit_pagelink li {
  width: 24%;
  border-radius: 10px;
  padding: 0;
  margin: 0;
  background-color: #fff;
}

.recruit_pagelink li a {
  color: #333;
  text-decoration: none;
  display: block;
  padding: 12px 10px 10px;
}

.recruit_pagelink li a:hover {
  background-color: #265BBD;
  color: #fff;
  border-radius: 10px;
}

/*募集要項横並びTB PC*/

.recruit_detail {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: nowrap;
  width: 97%;
}

.recruit_detail_common {
  display: block;
  width: 100%;
  text-align: left;
}

.recruit_detail .fulltime {
  width: 50%;
  text-align: left;
}

.recruit_detail .parttime {
  text-align: left;
  width: 50%;
}




.recruit_detail .fulltime p.norec,
.recruit_detail .parttime p.norec {
  margin-left: 20px;
  text-align: left;
}

.recruit_detail .commonitem {
  text-align: left;
  width: 100%;
  background-color: #ccc;
}

#recruit_tb {
  width: 95%;
  border-collapse: collapse;
  /* border: 1px solid #666; */
  border-top: 1px solid #C7C7C7;
  text-align: center;
  margin: 10px auto 20px;
  line-height: 1.2em;
  border-spacing: 0;
  border-collapse: collapse;
}

#recruit_tb p {
  line-height: 1.2em;
  margin-top: 10px;
}

#price_tb {
  width: 85%;
  border-collapse: collapse;
  border: 1px solid #666;
  text-align: center;
  margin: 10px auto 20px;
  line-height: 1.8em;
}

.recruit_detail h4.type_midasi,
.recruit_detail_common h4.type_midasi_1col {
  /* width: 150px; */
  width: 200px;
  text-align: center;
  background-color: red;
  border-radius: 30px;
  /* border-bottom: 3px solid #ffdb4a; */
  margin-bottom: 6px;
  /*全体にかかってるh4打ち消し*/
  margin: 22px 0 10px 12px;
  padding: 2px 0;
  /* font-size: 12px; */
  border-bottom: none;
  /* color: #fff; */
}

.recruit_detail h4.type_midasi span,
.recruit_detail_common h4.type_midasi_1col span {
  color: #fff;
  font-size: 16px;
  line-height: 12px;
  position: relative;
  display: inline-block;
  padding: 10px;
}

#recruit_tb caption,
#price_tb caption {
  /* width: 150px; */
  width: 200px;
  text-align: center;
  background-color: red;
  border-radius: 30px;
  /* border-bottom: 3px solid #ffdb4a; */
  margin-bottom: 6px;
}

#recruit_tb caption span,
#price_tb caption span {
  color: #fff;
  font-size: 16px;
  line-height: 12px;
  position: relative;
  /*  background: #FFDB4A;*/
  display: inline-block;
  padding: 10px;
}

/*
#recruit_tb caption span:after,
#price_tb caption span:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 100%;
  width: 0;
  height: 0;
  border-width: 0 10px 40px 0;
  border-style: solid;
  border-color: transparent;
  border-bottom-color: #FFDB4A;
}
*/

#recruit_tb td,
#price_tb td {
  /* border: 1px solid #ccc; */
  border-bottom: 1px solid #C7C7C7;
  /* padding: 10px 6px; */
  text-align: left;
}

#recruit_tb th {
  text-align: center;
  /* border: 1px solid #ccc; */
  border-bottom: 1px solid #C7C7C7;
  background: #FFF0F0;
  font-weight: 500;
  /* padding-left: 0px; */
  word-wrap: break-word;
  color: red;
  padding: 8px;
  width: 15%;
}

.recruit_detail th,
.recruit_detail_common th {
  width: 90px;
  min-width: 80px;
  vertical-align: middle;
}

.recruit_detail td,
.recruit_detail_common td {
  vertical-align: middle;
  padding: 20px 10px;
}

.recruit_detail_common dd {
  padding-left: 0.5em;
}

.recruit_detail_common li {
  list-style-type: disc;
  /* list-style-position: inside; */
  margin-left: 1em;
  /* padding-left: -3em; */
}

/* #price_tb th {
  border: 1px solid #ccc;
  background: #f3f3f3;
  font-weight: 500;
  padding-left: 8px;
  width: 50%;
} */

.rec_th_midasi {
  text-align: center;
  padding: 0 !important;
  background: #000;
  white-space: nowrap;
}

.nowrap {
  white-space: nowrap;
}

/* #recruit_tb dt {
  clear: left;
  float: left;
  width: 100px;
  font-weight: normal;
}

#recruit_tb dd {
  margin: 0 0 0 10%;
  text-align: left;
} */

.recruit_detail_common h4.type_midasi,
.recruit_detail_common h4.type_midasi_1col {
  width: 30%;
  min-width: auto;
  text-align: center;
  background-color: #e9e9e9;
  border-radius: 30px;
  margin-bottom: 6px;
  /*全体にかかってるh4打ち消し*/
  margin: 22px 0 10px 30px;
  padding: 2px 0;
  /* font-size: 12px; */
  border-bottom: none;
  /* color: #fff; */
}

.recruit_detail_common h4.type_midasi span,
.recruit_detail_common h4.type_midasi_1col span {
  color: #333;
  font-size: 16px;
  line-height: 12px;
  position: relative;
  display: inline-block;
  padding: 10px;
}



/*募集が1カラムの時の見出しカラー*/
.recruit_detail_common h4.type_midasi_1col {
  background-color: red;
}

.recruit_detail_common h4.type_midasi_1col span {
  color: #fff;
}






/* .recruit_detail_common #recruit_tb caption {
  width: 30%;
  min-width: 300px;
  padding: 0 10px;
  text-align: center;
  background-color: #e9e9e9;
  border-radius: 30px;
  margin-bottom: 6px;
}

.recruit_detail_common #recruit_tb caption span {
  color: #333;
  font-size: 16px;
  line-height: 12px;
  position: relative;
  display: inline-block;
  padding: 10px;
} */

/*-------- 採用インタビュー --------------------*/

.rec_name {
  width: 97%;
  text-align: left;
  padding: 10px;
  margin: 15px auto 16px;
  border: 2px dotted #ffbf2d;
  border-radius: 10px;
  background: #fffcad;
  color: #383838;
}

.rec_name i {
  padding-right: 6px;
  color: #ffbf2d;
  font-size: 18px;
}

/*1日の流れ*/

.schedule_box {
  text-align: left;
  padding: 0 0;
  margin: 10px auto 10px;
  width: 88%;
}

.schedule_common_time {
  /*  background: url(../images/schedule_time2.png) no-repeat;*/
  background: url(../images/schedule_time2.png) no-repeat, url(../images/schedule_txt2.png) repeat-y;
  font-size: 22px;
  font-weight: bold;
  line-height: 150%;
  color: #ff6699;
  padding: 0 0 0 30px;
}

.schedule_common_txt,
.schedule_common_txt02 {
  background: url(../images/schedule_txt2.png) repeat-y;
  padding-left: 30px;
  padding-bottom: 20px;
  padding-top: 10px;
}

.schedule_common_txt02 {
  background: none;
}

.schedule_common_txt_box:before,
.schedule_common_txt_box:after {
  content: "";
  display: block;
}

.schedule_common_txt_box:after {
  clear: both;
}

.schedule_common_txt_box {
  background: url(../images/schedule_txt2.png) repeat-y;
  padding-left: 30px;
  margin-bottom: 0px;
  zoom: 1;
  display: flex;
  flex-direction: row;
}

.schedule_common_txt_box_left {
  /*  width: 650px;*/
  /*  float: left;*/
  flex: 1;
  margin-bottom: 20px;
}

.schedule_common_txt_box_right {
  /*  width: 350px;*/
  /*  float: right;*/
  padding: 0 6px;
}

/*引用*/

.bq blockquote {
  position: relative;
  padding: 5px 0;
  box-sizing: border-box;
  font-style: italic;
  color: #4e4e4e;
  background: #ebebeb;
  border-radius: 5px;
  width: 94%;
  margin: 20px auto;
}

.bq blockquote:before {
  display: inline-block;
  position: absolute;
  top: 7px;
  left: 10px;
  vertical-align: middle;
  content: "\f10d";
  font-family: FontAwesome;
  color: #d6d6d6;
  font-size: 26px;
  line-height: 1;
}

.bq blockquote:after {
  display: inline-block;
  position: absolute;
  bottom: 5px;
  right: 15px;
  vertical-align: middle;
  text-align: center;
  content: "\f10e";
  font-family: FontAwesome;
  color: #d6d6d6;
  font-size: 26px;
  line-height: 1;
}

.bq blockquote p {
  position: relative;
  padding: 12px 26px;
  margin: 10px 0;
  z-index: 3;
  line-height: 1.5;
  font-size: 14px;
  color: #666;
}

.origin {
  display: block;
  text-align: right;
  padding: 6px 6px 0px;
  font-size: 12px;
}

/*profile*/

.profile {
  position: relative;
  z-index: 2;
}

.profile {
  width: 90%;
  margin: 0 auto;
  text-align: center;
}

.profile img {
  width: 100%;
  height: auto;
}

.pro_txt {
  position: absolute;
  top: 80px;
  left: 40px;
  width: 60%;
  padding: 1em 0;
  text-align: left;
  margin: 0 auto;
  font-size: 120%;
  font-weight: 600;
  line-height: 1.8em;
}

.pro_txt_naka {
  position: absolute;
  top: 0px;
  left: 40px;
  width: 60%;
  padding: 1em 0;
  text-align: left;
  margin: 0 auto;
  font-size: 120%;
  font-weight: 600;
  line-height: 1.8em;
}

.pro_name {
  text-align: right;
  font-size: 100%;
  font-weight: 600;
  margin: 18px 0;
}

.pro_name_bold {
  text-align: right;
  font-size: 100%;
  margin: 18px 0;
  font-size: 25px !important;
  font-size: 2.5rem;
  font-weight: 600;
}

/*写真の差し替え*/

.pc {
  display: block !important;
  display: inline !important;
}

.sp {
  display: none !important;
}

/*boxの左右分け*/

.box_lr {
  width: 90%;
  display: flex;
  margin: 10px auto 30px;
  font-size: 16px;
}

.box_item {
  width: 50%;
  margin: 0;
  padding: 20px 30px;
  background-color: #f1fce2;
  text-align: left;
  box-sizing: border-box;
}

.box_border {
  border-right: 1px dotted #b7b7b7;
  border-bottom: none;
}

.pro_midasi {
  color: #3a9d60;
  font-weight: 500;
  padding: 0px 0 6px;
  margin-bottom: 10px;
  font-size: 20px;
  border-bottom: 1px solid #ccc;
}

.pro_dl {
  overflow: hidden;
}

.pro_dl dt {
  float: left;
  clear: left;
  margin-right: 14px;
  line-height: 1.8em;
}

.pro_dl dd {
  float: left;
  margin-bottom: 16px;
  line-height: 1.6em;
}

.box_item p {
  margin-bottom: 10px;
}

#page-top {
  position: fixed;
  bottom: 20px;
  right: 30px;
  font-size: 77%;
}

#page-top a {}

#page-top a:hover {}

#page-top a:hover img {
  -webkit-filter: opacity(0.6);
  -moz-filter: opacity(0.6);
  -o-filter: opacity(0.6);
  -ms-filter: opacity(0.6);
  filter: opacity(0.6);
}

@media screen and (max-width: 767px) {
  p#page-top {
    margin: 0;
  }

  #page-top {
    position: fixed;
    bottom: 0;
    right: -35px;
    font-size: 77%;
  }

  #page-top img {
    width: 60%;
  }
}

.note {
  border: 1px solid #cccccc;
  padding: 5px;
}

/*************** 新着情報 *****************/

#news_area {
  width: 900px;
  margin: 0 auto;
  text-align: center;
}

/*------------------ END 共通 -------------------------------*/

/* =============================================================== */

/*--
--
--tablet▼横幅768px~1190以上の場合に適用されるCSS
--
--*/

/* =============================================================== */

@media (min-width: 768px) and (max-width: 1190px) {

  /* ------------- カラム横並び ---------- */
  .m_midasi {
    width: 98%;
    text-align: center;
    font-size: 32px;
    margin: 30px auto 30px;
    padding: 0 0 10px 0;
    background: url(../images/m_line.png);
    background-position: bottom;
    background-repeat: repeat-x;
    font-weight: 400;
    color: #4e952f;
  }

  /*できること縦並び*/
  .dekiru_tate {
    margin: 0 auto;
    text-align: center;
    width: 100%;
    padding: 0px;
  }

  .dekiru_tate li img {
    width: 100%;
  }

  .dekiru_tate li {
    margin: 0 auto 30px;
    width: 99.5%;
  }

  .dekiru_tate li:last-child {
    margin: 0 auto 0;
    width: 99.5%;
  }

  .dekiru_tate_sp {
    display: none;
  }

  .logo {
    float: none;
  }

  .head_right {
    float: none;
    text-align: center;
    margin: 10px 0 15px 0;
    width: 100%;
  }

  .head_box {
    text-align: center;
  }

  /*--  next page head  --*/
  #header {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  /*  gnavi  */
  #gnavi {
    font-size: 14px;
    font-weight: normal;
    text-align: center;
  }

  /*----------------- main 設定 ---------------------*/
  .main_cont_pan {
    margin: 0 auto 20px;
    width: 100%;
    padding: 10px 0 0px;
  }

  /*------ pankuzu ------*/
  #pankuzu {
    margin-bottom: 16px;
    margin-left: 16px;
  }

  .main_cont {
    width: 100%;
  }

  .m_txt {
    text-align: center;
    margin: 30px auto;
    width: 80%;
    padding: 15px 0;
  }

  /*横並び*/
  .yoko {
    width: 90%;
    margin: 0 3px;
    padding: 10px 0px 20px;
  }

  .wrap_left .yoko {
    width: 33%;
  }

  /*bottom*/
  .yoko_txt img {
    width: 80%;
    bottom: -46px;
  }

  .sol_list img {
    width: 90%;
  }

  .yoko p {
    margin: 16px auto 0;
    width: 90%;
  }

  /*見出しh2*/
  .main-box h2 {
    font-size: 26px;
    margin: 10px auto;
    width: 70%;
  }

  /*見出しh3*/
  /*
  .main-box h3 {
    margin: 20px auto 10px;
    width: 96%;
  }
*/
  /*------ 見出しh3 ------*/
  h2.n_midasi {
    font-size: 20px;
    padding: 0.5em 1em;
    margin: 20px 6px;
    background-color: #eee;
    background: #5eb93a;
    color: #fff;
    font-weight: 300;
    border-radius: 24px;
    text-align: left;
    width: 96%;
  }

  /*採用バナー*/
  .recruit_bana {
    width: 80%;
    margin: 0 auto;
    text-align: center;
  }

  /*------ footer ------*/
  .footer_bk {
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .footer_left {
    float: none;
    padding-left: 0px;
    text-align: left;
    width: 90%;
    margin: 0 auto 20px;
  }

  .footer_right {
    float: none;
    width: 100%;
    text-align: center;
    padding: 20px 0;
  }

  /*footermenu*/
  .fmenu_box {
    padding: 10px 10px;
  }

  .footer_box {
    display: flex;
    align-content: space-between;
  }

  .footer_box dl {
    width: 50%;
    float: left;
    padding: 10px 20px 10px 0;
    text-align: left;
    margin-bottom: 20px;
  }

  /*画像回り込みなし　縦*/
  .c_flex_right {
    margin: 0 0 10px;
  }

  .c_flex_left {
    width: 96%;
  }

  .c_flex_left p {
    width: 90%;
    margin: 0px auto;
  }

  .l_flex figure {
    width: 96%;
  }

  .r_flex figure {
    width: 90%;
  }

  .c_flex figure {
    display: table;
    width: 96%;
    /* minimum width */
    *width: auto;
    /* for IE7 and below */
    margin: 0 auto;
    text-align: center;
  }

  figcaption {
    width: 99%;
    /* figureの幅に合わせる */
    font-size: 12px;
    margin-bottom: 10px;
  }

  /*
  figure.img_200 img,
  figure.img_200 img,
  figure.img_300 img,
  figure.img_300 img,
  figure.img_400 img,
  figure.img_400 img,
  figure.img_500 img,
  figure.img_500 img,
  figure.img_600 img,
  figure.img_600 img,
  figure.img_700 img,
  figure.img_700 img,
  figure.img_800 img,
  figure.img_800 img {
    width: 90%;
    height: auto;
  }
*/
  figure.img_200 img,
  .img_200auto img {
    width: 200px;
    height: auto;
  }

  figure.img_300 img,
  .img_300auto img {
    width: 300px;
    height: auto;
  }

  figure.img_400 img,
  .img_400auto img {
    width: 400px;
    height: auto;
  }

  figure.img_500 img,
  .img_500auto img {
    width: 500px;
    height: auto;
  }

  figure.img_600 img,
  .img_600auto img {
    width: 600px;
    height: auto;
  }

  figure.img_700 img,
  .img_700auto img {
    width: 700px;
    height: auto;
  }

  figure.img_800 img,
  .img_800auto img {
    width: 800px;
    height: auto;
  }

  /*-------- 採用インタビュー --------------------*/
  .rec_name {
    width: 95%;
  }

  .rec_name i {
    padding-right: 6px;
    color: #ffbf2d;
    font-size: 20px;
  }

  /*1日の流れ*/
  .schedule_box {
    width: 94%;
  }

  .schedule_common_time {
    line-height: 120%;
  }

  .schedule_common_txt,
  .schedule_common_txt02 {
    padding-top: 6px;
  }

  .schedule_common_txt_box {
    background: url(../images/schedule_txt2.png) repeat-y;
    padding-left: 30px;
    margin-bottom: 0px;
    zoom: 1;
    display: flex;
    flex-direction: row;
  }

  /*profile*/
  .pro_txt {
    position: absolute;
    top: 30px;
    left: 20px;
    width: 66%;
    padding: 0.5em 0;
    text-align: left;
    margin: 0 auto;
    font-size: 120%;
    font-weight: 600;
    line-height: 1.6em;
  }

  .pro_name {
    text-align: right;
    font-size: 100%;
    font-weight: 600;
    margin: 6px 0;
  }

  .pro_name_bold {
    text-align: right;
    font-weight: bold;
    font-size: 100%;
    margin: 18px 0;
    font-size: 25px !important;
    font-size: 2.5rem;
  }

  .gmap iframe {
    width: 84%;
    height: 320px;
  }

  /*************** 新着情報 *****************/
  #news_area {
    width: 98%;
  }

  /****200611 重要なお知らせ追加****/
  .section_imp {
    border: 3px solid red;
    width: 98%;
    text-align: center;
    margin: 30px auto 30px;
    padding: 0;
  }

  h2.section_imp_midasi {
    width: 100%;
    text-align: center;
    font-size: 24px;
    margin: 0px auto 10px;
    padding: 10px 0;
    background: red;
    color: white;
    font-weight: 200;
  }

  .section_imp p {
    width: 96%;
    margin: 10px auto 10px;
    padding: 0 0 10px 0;
  }

  .section_imp_green {
    border: 3px solid #4e952f;
    width: 98%;
    text-align: center;
    margin: 30px auto 30px;
    padding: 0;
  }

  h2.section_imp_midasi_green {
    width: 100%;
    text-align: center;
    font-size: 24px;
    margin: 0px auto 10px;
    padding: 10px 0;
    background: #4e952f;
    color: white;
    font-weight: 200;
  }

  .section_imp_green p {
    width: 96%;
    margin: 10px auto 10px;
    padding: 0 0 10px 0;
  }

  p.box_yel {
    margin: 0 auto;
    text-align: center;
    font-size: 24px;
  }

  span.col_yell {
    background: yellow;
    padding: 10px 0;
    font-weight: bold;
  }

  span.col_wht {
    background: white;
    padding: 2px 6px;
    color: red;
    font-weight: bold;
    font-size: 26px;
  }

  ul.ul_list li {
    list-style-type: none;
    line-height: 1.6em;
    border-bottom: 1px dotted #ccc;
    padding: 0.5em;
    width: 40%;
    margin: 10px;
  }



  ul.ul_list li span {
    font-size: 14px;
    display: block;
  }

  /*リスト 歯科医師紹介 画像あり*/

  ul.ul_list_img li {
    list-style-type: none;
    line-height: 1.6em;
    border-bottom: 1px dotted #ccc;
    padding: 0.5em;
    width: 100%;
    margin: 10px;
  }




}

/* ==================================== */

/* ▼end  横幅768px~1190*/

/* ==================================== */

/* ========================================================= */

/*-
-
▼スマホレイアウト　767以下の場合に適用されるCSS
-
-*/

/* ========================================================== */

@media screen and (max-width: 767px) {

  /*アシスト*/
  .fs22 {
    font-size: 16px !important;
    font-size: 1.4rem;
    font-weight: 600;
  }

  .lft_midasi {
    width: 94%;
    margin: 10px auto 14px;
    font-size: 18px !important;
    font-size: 0.8rem;
    line-height: 1.4em;
  }

  .bana {
    width: 90%;
    margin: 10px auto;
    text-align: center;
  }

  .bana li {
    display: block;
    margin: 10px 0px;
  }

  .bana img {
    width: 100%;
  }

  .main_cont p.txt {
    padding: 0 0;
    margin: 10px 16px 10px;
  }

  .main_cont div.txt {
    padding: 0 0;
    margin: 10px 4px;
  }

  #gnavi {
    display: none;
  }

  .logo {
    float: none;
  }

  .logo img {
    height: auto;
  }

  /*------- main img -------*/
  #main-visual {
    height: 300px;
    padding: 10px 0;
  }

  #main-visual,
  #main_img_solution,
  #main_img_maxillofacial,
  #main_img_decay,
  #main_img_whitening,
  #main_img_cleaning,
  #main_img_denture,
  #main_img_pediatric,
  #main_img_about,
  #main_img_access,
  #main_img_activities,
  #main_img_activities_kids,
  #main_img_activities_first,
  #main_img_profile,
  #main_img_history,
  #main_img_infection,
  #main_img_archives,
  #main_img_recruit,
  #main_img_np,
  #main_img_interview {
    height: 300px;
    padding: 10px 0;
  }

  /*
  #main-visual img {
    width: 100%;
    height: auto;
  }
*/
  /*
  .inner_midasi {
    position: absolute;
    top: 4px;
    width: 100%;
    padding: 1.0em 0;
    text-align: center;
    margin: 0 auto;
    font-size: 130%;
    font-weight: 600;
  }
*/
  .inner_midasi {
    position: absolute;
    bottom: 14%;
    width: 100%;
    padding: 1em 0;
    text-align: center;
    margin: 0 auto;
    font-size: 160%;
    color: #666;
    text-shadow: 0 2px 3px #fff;
  }

  .inner_midasi h1 {
    padding: 0 0;
    margin: 0 auto 10px;
    font-size: 100%;
    font-weight: 600;
    color: #666;
  }

  .inner_midasi_sub {
    font-size: 14px;
    width: 90%;
    margin: 0 auto;
  }


  /*ホワイトニング ヘッダテキストSP 202304*/
  #main_img_whitening .inner_midasi {
    position: absolute;
    /* bottom: 28%; */
    bottom: 10%;
    width: 100%;
    padding: 1em 0 0.5em;
    text-align: center;
    margin: 0 auto;
    color: #383838;
    /* text-shadow: 0 2px 3px #fff; */
  }

  #main_img_whitening .inner_midasi h1 {
    letter-spacing: 0.03em;
    padding: 0 0;
    margin: 0 auto 0px;
    font-size: 90%;
    font-weight: 600;
  }

  #main_img_whitening .inner_midasi h2 {
    font-size: 65%;
    color: #fff;
    text-shadow: 0 1px 3px #ccc;
    margin-bottom: 8px;
  }

  #main_img_whitening .inner_midasi_sub {
    font-size: 16px;
    line-height: 1.1em;
    color: #1a1a1a;
    text-shadow: 0 1px 3px #fff;
  }

  /* #main_img_whitening .inner_midasi_sub ul{
list-style: none;
text-align: left;
	display: inline-block;
} */

  /*
#main_img_whitening .inner_midasi_sub li{
  display: flex;
  align-items: center;
} */

  #main_img_whitening .inner_midasi_sub .li_border:before {
    content: '';
    border-top: 1px solid;
    content: "";
    width: 12px;
    margin-right: 0.5em;
  }






  /*------- main img end -------*/
  .head_right {
    float: none;
    text-align: center;
    margin: 0px 0 0px;
    padding: 0 0 10px;
    width: 100%;
  }

  .head_box {
    text-align: center;
  }

  .head_tel img {
    height: auto;
  }

  .head_btn {
    width: 80%;
    text-align: center;
    margin: 0 auto 10px;
  }

  /*main img*/
  #main_img_solution {
    background: url(../images/top_solution_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_maxillofacial {
    background: url(/solution/img/top_maxillofacial_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_decay {
    background: url(../images/top_decay_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_whitening {
    background: url(../solution/img/top_whitening_sp.png) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_cleaning {
    background: url(../images/top_cleaning_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_denture {
    background: url(../images/top_denture_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_pediatric {
    background: url(../images/top_pediatric_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_about {
    background: url(/aboutus/img/top_aboutus_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_access {
    background: url(/aboutus/img/top_access_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_activities {
    background: url(../images/main_solution_top.png) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_activities_kids {
    background: url(../images/top_kids_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_activities_first {
    background: url(../images/top_first_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_infection {
    background: url(../images/top_infection_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_profile {
    background: url(../aboutus/img/mv_profile_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_history {
    background: url(../images/top_history_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_archives {
    background: url(../images/top_archives_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_recruit {
    background: url(../images/top_recruit_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_interview {
    background: url(../images/top_interview_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  #main_img_np {
    background: url(../images/top_np_sp.jpg) no-repeat center center;
    background-size: cover;
    height: 260px;
  }

  .main {
    overflow: hidden;
  }

  .main_cont {
    width: 100%;
  }

  .main_cont p {
    text-align: left;
    padding: 0 10px;
  }

  .main_cont_pan {
    display: none;
    /*
    margin: 0 auto 10px;
    width: 100%;
    padding: 6px 0 0px
*/
  }

  .m_txt {
    text-align: center;
    margin: 30px auto;
    width: 88%;
    padding: 15px 0;
  }

  .m_midasi {
    width: 94%;
    font-size: 22px;
    margin: 20px auto 20px;
    padding: 0 0 10px 0;
    font-weight: 700;
  }

  /*top h2 ページ見出し*/
  .g_midasi {
    width: 94%;
    font-size: 24px;
    margin: 20px auto 20px;
    padding: 0 0 10px 0;
    font-weight: 700;
  }

  /*------ 見出しh3 ------*/
  h2.n_midasi {
    font-weight: 300;
    margin: 10px 4px;
    font-size: 18px;
  }



  /* 202304 white追加　sp */
  #wPage h2.n_midasi {
    font-size: 30px;
    padding: 0.5em 1em;
    background-color: #eee;
    background: none;
    color: #333;
    font-weight: 300;
    border-radius: 0px;
    margin: 30px 0px 20px;
    text-align: center;

    display: inline-block;
    position: relative;
  }




  /*見出しの余白*/
  .h_pdg12 {
    margin: 0 6px;
  }

  /*見出しh4*/
  .h3_midasi {
    padding: 4px 0;
    margin: 20px auto 2px;
    width: 96%;
    text-align: left;
    font-size: 17px;
    font-weight: 600;
  }

  /*見出しh4*/
  .main_cont h4,
  .main_cont .h4_midasi {
    margin: 10px auto 6px;
    padding: 4px 6px;
    width: 92%;
    font-size: 16px;
  }

  .main_cont h4 i,
  .main_cont .h4_midasi i {
    padding-right: 4px;
  }

  /*できること縦並び*/
  .dekiru_tate {
    display: none;
  }

  .dekiru_tate_sp {
    display: block;
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .dekiru_tate_sp li {
    display: block;
    text-align: center;
    width: 100%;
    margin: 0 auto;
  }

  .dekiru_tate_sp li img {
    width: 100%;
    height: auto;
  }

  .dekiru_yoko {
    width: 90%;
    text-align: center;
    margin: 0 auto;
  }

  .dekiru_yoko li {
    display: block;
    text-align: center;
    width: 90%;
    margin: 0 auto;
  }

  .dekiru_yoko li img {
    width: 100%;
    height: auto;
  }

  .dekiru_yoko li:first-child {
    text-align: center;
    width: 90%;
    margin: 0 auto;
  }

  .dekiru_yoko li:last-child {
    text-align: center;
    width: 90%;
    margin: 0 auto;
    padding: 0;
  }

  .recruit_bana {
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }

  .main-box p {
    width: 96%;
  }

  /*見出しの余白*/
  .h_pdg12 {
    padding: 0 0 0 4px;
  }

  /*--------------- section -----------------------------------*/
  section {
    padding: 14px 0;
    width: 98%;
    margin: 0 auto;
    box-sizing: border-box;
  }

  section.section_end {
    margin-bottom: 20px;
  }

  /*----------------------------- 画像横並び---------------*/
  .cont_img {
    margin: 0 auto;
    text-align: center;
  }

  .cont_img img {
    width: 48%;
  }

  .cont_img3 {
    width: 96%;
    margin: 0 auto;
    text-align: center;
  }

  .cont_img3 img {
    width: 48%;
  }

  .cont_img4 {
    width: 94%;
    margin: 0 auto;
    text-align: center;
  }

  .cont_img4 img {
    width: 48%;
  }

  .page-cover {
    margin: 0 auto;
    text-align: center;
  }

  /*バス時刻表*/
  /*時刻表*/
  .bus_time_tb {
    margin: 10px auto;
    width: 94%;
  }

  .bus_time_tb th {
    font-size: 14px;
  }

  .bus_time_tb td {
    padding: 4px 2px;
    font-size: 14px;
  }

  /*--------------------診療時間------------*/
  .time_tb {
    width: 90%;
    font-size: 14px;
  }

  /* .area-table */
  .area-table {
    width: auto;
    margin: 0 auto;
    text-align: center;
  }

  .area-table .area-form-contact {
    margin: 40px 0 0 0;
  }

  .area-table .table-form {
    width: 100%;
    border: none;
    border-top: 1px solid #ccc;
    line-height: 1.4;
  }

  .area-table .table-form th {
    display: block;
    padding: 8px 10px;
    width: auto;
    border-bottom: 1px solid #ccc;
    text-align: left;
    vertical-align: top;
  }

  .area-table .table-form td {
    display: block;
    padding: 8px 10px;
    border-bottom: 1px solid #ccc;
  }

  .area-table .table-form-contact th {
    background: #eae0d6;
  }

  /* ----------------- カラム横並び --------------- */
  .wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: column;
    flex-direction: column wrap;
  }

  .yoko {
    width: 98%;
    margin: 0 auto 16px;
    text-align: center;
    padding: 10px 20px 20px;
    background: #eee;
    border-radius: 10px;
    -webkit-flex-direction: column;
    flex-direction: column;
    display: flex;
  }


  .yoko.doc_pro_img {
    width: 98%;
    margin: 0 auto 0px;
    text-align: center;
    padding: 3px 0px 6px;
    background: #fff;
    border-radius: 10px;
    flex-direction: column;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .-tuika {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /*よこ50%*/
  .yoko_t {
    width: 96%;
    margin: 0 auto 15px;
    padding: 0px 0px 10px;
  }

  .wrap_left {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: column;
    flex-direction: column wrap;
  }

  .wrap_left .yoko {
    width: 98%;
    margin: 0 auto 16px;
    text-align: center;
    padding: 10px 20px 20px;
    background: #eee;
    border-radius: 10px;
    -webkit-flex-direction: column;
    flex-direction: column;
    display: flex;
  }

  /*よこ50%*/
  .yoko_50 {
    width: 96%;
    margin: 0 0px 10px;
    flex-direction: column;
    display: flex;
    background: none;
  }

  .yoko_100 {
    width: 96%;
    margin: 0 0px 10px;
    flex-direction: column;
    display: flex;
    background: none;
  }

  .yoko_100 p,
  .yoko_50 p {
    margin: 0 10px;
    padding: 10px 6px;
    line-height: 1.8em;
  }

  .yoko_50 img {
    text-align: center;
    margin: 0 auto;
    width: 70%;
  }

  .yoko_100 img {
    text-align: center;
    margin: 0 auto 10px;
  }

  .yoko_100.acces_guide img {
    width: 90%;
  }

  .yoko_notice {
    width: 96%;
    margin: 6px auto;
  }

  /*yoko3可変*/
  .wrap_st {
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-align-content: stretch;
    /* Safari */
    align-content: stretch;
  }

  /*横並び*/
  /*bottom*/
  .yoko_txt img {
    width: 98%;
    bottom: -40px;
  }

  .sol_list {
    bottom: 0;
  }

  .sol_list img {
    width: 80%;
  }

  .yoko p {
    margin: 16px auto 0;
    line-height: 1.3em;
    font-size: 14px;
  }

  /*yokoh1*/
  .flex_st {
    width: 90%;
    margin: 0 auto;
    padding: 10px 0px 10px;
    /*    background: #EEE;*/
    /*    border-radius: 10px;*/
    -webkit-flex-direction: column;
    flex-direction: column;
    display: flex;
  }

  .contents_col ul {
    display: flex;
    width: 98%;
    margin: 0 auto;
    text-align: center;
  }

  /*yoko3可変 end */
  /* ----------- 画像回り込みなし　左 ----------- */
  /* ----------- 画像回り込みなし　右 ----------- */
  /*----------------- l_flex_left 見出し -------------------*/
  .l_flex_midasi {
    margin: 4px auto 10px;
    padding: 4px 0 4px 10px;
    width: 94%;
  }

  .l_flex,
  .r_flex {
    width: 96%;
    margin: 10px auto 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 0 0 10px;
  }

  .l_flex_right,
  .r_flex_right {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
  }

  .l_flex_right img,
  .r_flex_right img {
    margin: 10px 0 0px;
    width: 94%;
    height: auto;
  }

  .l_flex_right {
    width: 100%;
    margin: 0 auto 10px;
  }

  .l_flex_left {
    margin-left: 0px;
  }

  .l_flex_left p {
    margin-left: 0px;
  }

  .l_flex figure,
  .r_flex figure {
    display: table;
    width: 92%;
    /* minimum width */
    *width: auto;
    /* for IE7 and below */
    margin: 0 auto;
    text-align: center;
    padding: 0 0 4px 0;
    font-size: 14px;
  }

  figure.img_200 img,
  figure.img_200 img,
  figure.img_300 img,
  figure.img_300 img,
  figure.img_400 img,
  figure.img_400 img,
  figure.img_500 img,
  figure.img_500 img,
  figure.img_600 img,
  figure.img_600 img,
  figure.img_700 img,
  figure.img_700 img,
  figure.img_800 img,
  figure.img_900 img,
  figure.img_1000 img {
    width: 96%;
    height: auto;
  }

  .img_200auto img {
    width: 200px;
    height: auto;
  }

  .img_300auto img {
    width: 300px;
    height: auto;
  }

  .img_400auto img {
    width: 400px;
    height: auto;
  }

  .img_500auto img {
    width: 500px;
    height: auto;
  }

  .img_600auto img {
    width: 600px;
    height: auto;
  }

  .img_700auto img {
    width: 700px;
    height: auto;
  }

  .img_800auto img {
    width: 800px;
    height: auto;
  }

  /*画像回り込みなし　縦*/
  .c_flex {
    margin: 10px auto 10px;
  }

  .c_flex_right {
    margin: 0 0 10px;
  }

  .c_flex_right img {
    width: 96%;
  }

  .c_flex_left {
    width: 94%;
  }

  .c_flex_left p {
    margin-left: 0px;
  }

  /*flex caption*/
  .c_flex figure {
    display: table;
    width: 94%;
    padding: 0 0 4px 0;
    font-size: 14px;
  }

  .yoko_t figcaption,
  .yoko_50 figcaption,
  .yoko_100 figcaption,
  .flex_st figcaption,
  .c_flex figcaption,
  .l_flex figcaption,
  .r_flex figcaption {
    font-size: 12px;
    width: 96%;
    margin: 0 auto 12px;
  }

  figcaption {
    width: 96%;
    margin: 0 auto;
    /* figureの幅に合わせる */
  }

  .c_box_l {
    width: 90%;
    margin: 6px auto 6px;
    border: 3px solid #ccc;
    border-radius: 6px;
    padding: 4px 2px;
  }

  .c_box_grey {
    width: 90%;
    margin: 6px auto 6px;
    border: 3px solid #ccc;
    border-radius: 6px;
    padding: 4px 2px;
    background: #e3e3e3;
  }

  /*リスト*/
  .dt_color dt {
    margin: 6px auto 10px;
    padding: 6px 2px 6px;
    font-size: 16px;
    display: flex;
    flex-flow: row nowrap;
  }

  .dt_num {
    background-color: #ffffff;
    padding: 0;
    margin: 0 4px 0 6px;
    width: 22px;
    height: 22px;
    line-height: 22px;
    text-align: center;
    border-radius: 50%;
    color: #464234;
  }

  .dt_fix {
    flex: 1;
  }

  .dt_color dd {
    margin: 0 16px 20px 20px;
    text-align: left;
  }

  /*-------------------- footer ----------------------*/
  .footer_left {
    float: none;
    width: 100%;
  }

  .footer_right {
    float: none;
    width: 100%;
  }

  /*--------- footer -----------*/
  .footer_bk {
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .footer_left {
    float: none;
    padding-left: 0px;
    text-align: left;
    width: 90%;
    margin: 0 auto 20px;
  }

  .footer_right {
    float: none;
    width: 100%;
    text-align: center;
    padding: 20px 0;
  }

  /*------------------footermenu-------------*/
  .fmenu_box {
    padding: 10px 10px;
  }

  .footer_box {
    display: flex;
    flex-direction: column;
  }

  .footer_box dl {
    width: 90%;
    float: left;
    padding: 10px 5px 10px 0;
    text-align: left;
    margin-bottom: 10px auto;
  }

  /* 診療時間 */
  .time_tb th {
    font-size: 14px;
  }

  .time_tb td {
    font-size: 14px;
    padding: 4px 2px;
  }

  .time_midasi {
    font-size: 14px !important;
  }

  /*--------------- ボタン --------------------*/
  .foot_yoyaku_box {
    display: block;
  }

  .fyoyaku_block {
    width: 96%;
    margin: 0 auto 10px;
    padding: 0;
  }

  .fy_btn a {
    display: block;
    padding: 6px 2% 4px;
    margin: 0px 4px;
    color: #62aa2d;
    text-decoration: none;
    border: 1px solid #62aa2d;
    background: #62aa2d;
    text-align: center;
    border-radius: 10px;
    /* CSS3草案 */
    -webkit-border-radius: 10px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 10px;
    /* Firefox用 */
  }

  .fy_btn a:hover {
    color: #fff;
    font-weight: 400;
    background: #268d22;
    transition: all 0.2s ease 0s;
    box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
  }

  /*----------- コンテンツ内のボタン ----------------------*/
  .btn_float {
    position: relative;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    overflow: auto;
  }

  .main_btn50 {
    float: none;
    width: 98%;
    left: 0%;
    position: relative;
  }

  .main_btn {
    width: 100%;
    line-height: 1.2em;
    font-size: 14px;
  }

  .btn02 a {
    display: block;
    padding: 2.8% 8px;
    margin: 0 0;
    line-height: 1.4em;
  }

  .main_btn_left {
    width: 300px;
    text-align: left;
  }

  /*----------- 詳細ボタン ----------------------*/
  .more_btn {
    width: 90%;
  }

  .m_btn a {
    display: block;
    padding: 1.2% 0.5%;
    margin: 0 0px;
  }

  /* ----------- ステップ ----------- */
  .step {
    width: 96%;
    margin: 0 auto 10px;
    padding: 6px 4px;
  }

  .step_num {
    background-color: #ffffff;
    padding: 0;
    margin: 0 5px;
    width: 26px;
    height: 26px;
    line-height: 26px;
    text-align: center;
    display: inline-block;
    border-radius: 50%;
  }

  .step_p {
    margin: 0 0 20px 0;
  }

  /*-------- 採用インタビュー --------------------*/
  .rec_name {
    width: 90%;
  }

  .rec_name i {
    padding-right: 6px;
    color: #ffbf2d;
    font-size: 20px;
  }

  /*採用　一日の流れ*/
  .schedule_box {
    text-align: left;
    width: 96%;
    margin: 0 auto;
  }

  .schedule_common_txt_box {
    background: url(../images/schedule_txt2.png) repeat-y;
    padding-left: 30px;
    margin-bottom: 0px;
    zoom: 1;
    display: flex;
    flex-direction: column-reverse;
  }

  .schedule_common_txt_box_left {
    flex: 1;
    margin-bottom: 20px;
  }

  .schedule_common_txt_box_right {
    padding: 0 0;
  }

  .schedule_common_txt_box_right img {
    width: 86%;
  }

  /*院内掲示物*/
  dl.accordion dd li {
    display: block;
    padding: 0;
    margin: 6px auto;
    text-align: center;
  }

  dl.accordion dd li a {
    display: block;
    border-radius: 30px;
    box-shadow: 0px 3px 6px 0px #ccc;
    background-color: #fff;
    padding: 3px 0;
    text-decoration: none;
    color: #333;
    width: 96%;
    margin: 1px;
    text-align: center;
    font-size: 14px;
  }

  /*profile*/
  .profile {
    position: relative;
  }

  .profile img {
    width: 100%;
    height: auto;
  }

  .pro_txt {
    position: static;
    width: 96%;
    font-size: 100%;
    font-weight: 500;
    line-height: 1.8em;
  }

  .pro_txt_naka {
    position: static;
    width: 96%;
    font-size: 100%;
    font-weight: 500;
    line-height: 1.8em;
  }

  .pro_name {
    text-align: right;
    font-size: 100%;
    font-weight: 500;
    margin: 8px 0;
    font-size: 14px;
  }

  .pro_name_bold {
    text-align: right;
    font-weight: 600;
    font-size: 100%;
    margin: 18px 0;
    font-size: 22px !important;
    font-size: 2.3rem;
    white-space: nowrap;
  }

  /*採用職種sp*/
  .recruit_pagelink {
    display: flex;
    flex-wrap: wrap;
    flex-flow: row wrap;
    /* list-style: none; */
    /* justify-content: left; */
    justify-content: flex-start;
    background-color: #DCF5C5;
    width: 92%;
    margin: 10px auto;
    padding: 16px 10px;
    border-radius: 10px;
  }

  .recruit_pagelink li {
    width: 44%;
    border: 1px solid #c1c1c1;
    border-radius: 10px;
    padding: 0;
    margin: 0 0 6px 6px;
    background-color: #fff;
    text-align: center;
  }

  .recruit_pagelink li a {
    color: #333;
    text-decoration: none;
    display: block;
    padding: 10px 10px 8px;
  }

  /* .recruit_pagelink li i {
    margin-right: 0.2em;
  } */
  /*募集要項横並びTB SP採用*/
  /*スマホ採用*/
  .recruit_detail {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    flex-direction: column;
    justify-content: space-between;
    justify-content: center;
    flex-wrap: nowrap;
    width: 100%;
  }

  .recruit_detail h4.type_midasi {
    /* width: 150px; */
    width: 94%;
    /*全体にかかってるh4打ち消し*/
    margin: 22px auto 10px;
    padding: 2px 0;
  }

  .recruit_detail .fulltime {
    width: 100%;
    text-align: left;
  }

  .recruit_detail .parttime {
    text-align: left;
    width: 100%;
  }

  .recruit_detail .commonitem {
    text-align: left;
    width: 100%;
    background-color: #ccc;
  }

  .recruit_detail_common {
    display: block;
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .recruit_detail_common h4.type_midasi {
    width: 94%;
    /*全体にかかってるh4打ち消し*/
    margin: 0px 0 10px 10px;
  }

  .recruit_detail th,
  .recruit_detail_common th {
    width: 60px;
    min-width: 60px;
  }

  .recruit_detail td,
  .recruit_detail_common td {
    padding: 20px 10px;
  }

  /* .recruit_detail_common #recruit_tb caption {
    width: 86%;
    min-width: 240px;
    padding: 0 10px;
    text-align: center;
    background-color: #e9e9e9;
    border-radius: 30px;
    margin-bottom: 6px;
  }
  .recruit_detail_common #recruit_tb caption span {
    color: #333;
    font-size: 16px;
    line-height: 12px;
    position: relative;
    display: inline-block;
    padding: 10px;
  } */
  /*----------------- 写真の差し替え --------------------*/
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }

  /*boxの左右分け*/
  .box_lr {
    display: flex;
    flex-direction: column;
  }

  .box_item {
    width: 96%;
    margin: 0 auto;
    padding: 20px 10px;
    font-size: 16px;
    background-color: #f0f8e2;
    text-align: left;
  }

  .pro_midasi {
    font-weight: 600;
  }

  .box_border {
    border-bottom: 2px dotted #999;
    border-bottom: none;
    border-right: none;
  }

  /*--------------------- 引用 ------------------------*/
  .bq blockquote {
    padding: 2px 0px;
  }

  .bq blockquote:before {
    font-size: 20px;
  }

  .bq blockquote:after {
    font-size: 20px;
  }

  .first_tel_btn,
  .first_tel_btn_left {
    text-align: center;
    margin: 10px auto;
    padding: 10px 0;
    width: 96%;
    max-width: 320px;
  }

  .first_tel_btn li {
    margin-bottom: 10px;
  }

  .first_tel_btn img,
  .first_tel_btn_left img {
    width: 100%;
  }

  /*recruit*/
  #recruit_tb {
    border-spacing: 0;
    border-collapse: collapse;
  }

  #recruit_tb th {
    text-align: center;
    padding: 5px 5px;
    word-wrap: normal;
    width: 10%;
  }

  /*price*/
  #price_tb {
    width: 90%;
    border-collapse: collapse;
    border: 1px solid #666;
    text-align: center;
    margin: 10px auto 20px;
    line-height: 1.8em;
  }

  #price_tb td {
    border: 1px solid #ccc;
    padding: 10px 6px;
    text-align: left;
  }

  #price_tb th {
    text-align: center;
    padding-left: 0px;
    width: 30%;
  }

  .pro_dl dt {
    float: none;
    clear: left;
    margin: 14px 0 0 14px;
    line-height: 1.8em;
  }

  .pro_dl dd {
    float: none;
    margin: 0 0 2px 14px;
    line-height: 1.6em;
  }

  .box_item p {
    margin-bottom: 10px;
  }

  /*-------- map ------------*/
  .gmap iframe {
    width: 80%;
    height: 320px;
  }

  /*footer tel*/
  .f_tel {
    margin: 20px auto 16px;
    text-align: center;
  }

  .f_tel img {
    margin: 0 auto;
    text-align: center;
  }

  /*-------- 時刻表 ------------*/
  .timetable_bus {
    width: 100%;
    margin: 0 auto 20px;
  }

  .timetable {
    width: 96%;
    text-align: center;
    margin: 0 auto;
  }

  .time_tb {
    text-align: left;
    width: 98%;
    margin: 20px auto 4px;
    font-size: 14px;
  }

  .time_m {
    width: 33.3%;
  }

  /*番号付きリスト*/
  .numericList {
    text-align: left;
  }

  .numList_title {
    counter-increment: number;
    /*
  font-weight: 500;
  font-size: 22px;
*/
    padding: 4px 0;
    margin: 20px 0 10px 0;
  }

  .numList_title:before {
    content: counter(number) ". ";
  }

  .numList_data {
    margin: 0 0 0 8px;
  }

  /*************** 新着情報 *****************/
  #news_area {
    width: 94%;
  }

  /*注釈*/
  /*注意書き*/
  .note_box {
    text-align: right;
    font-size: 12px !important;
    line-height: 1.4em;
  }

  /*---------------改行--------------------------------*/
  .br {
    display: block;
  }

  /*改行*/
  .only-pc {
    display: none;
  }

  .only-sp {
    display: block;
  }

  /****200611 重要なお知らせ追加****/
  .section_imp {
    border: 3px solid red;
    width: 98%;
    text-align: center;
    margin: 20px auto 20px;
    padding: 0;
  }

  h2.section_imp_midasi {
    width: 100%;
    text-align: center;
    font-size: 20px;
    margin: 0px auto 10px;
    padding: 5px 0;
    background: red;
    color: white;
  }

  .section_imp p {
    width: 96%;
    margin: 6px auto 6px;
    padding: 0 0 10px 0;
  }

  .section_imp_green {
    border: 3px solid #4e952f;
    width: 94%;
    text-align: center;
    margin: 20px auto 20px;
    padding: 0;
  }

  h2.section_imp_midasi_green {
    width: 100%;
    text-align: center;
    font-size: 20px;
    margin: 0px auto 10px;
    padding: 5px 0;
    background: #4e952f;
    color: white;
  }

  .section_imp_green p {
    width: 96%;
    margin: 6px auto 6px;
    padding: 0 0 10px 0;
    text-align: center;
  }

  p.box_yel {
    margin: 0 auto;
    text-align: center;
    font-size: 16px;
  }

  span.col_yell {
    background: yellow;
    padding: 10px 0;
    font-weight: bold;
    font-weight: 600;
  }

  span.col_wht {
    background: white;
    padding: 2px 6px;
    color: red;
    font-weight: bold;
    font-size: 24px;
  }

  ul.ul_list li {
    list-style-type: none;
    line-height: 1.6em;
    border-bottom: 1px dotted #ccc;
    padding: 0.5em;
    width: 100%;
    margin: 10px 0;
  }


  /*リスト 歯科医師紹介 画像あり*/


  ul.ul_list_img li {
    list-style-type: none;
    line-height: 1.6em;
    border-bottom: 1px dotted #ccc;
    padding: 0.2em;
    width: 100%;
    margin: 8px;
  }




}

/* ==================================== */

/* ▼End 横幅300px~767以上の場合に適用されるCSS */

/* ==================================== */

/* ==================================== */

/* ▼横幅1200px以上の場合に適用されるCSS */

/* ==================================== */

@media (min-width: 1200px) {
  header {
    width: 1260px;
    margin: 0 auto;
  }

  #gnavi {
    width: 800px;
    margin: 0 auto 10px;
    font-size: 14px;
    text-align: center;
  }

  /*--  next page head  --*/
  #header {
    width: 1200px;
    margin: 0 auto;
    text-align: center;
  }

  /* ▼ページレイアウト */
  .page-cover {
    float: none;
    clear: both;
    display: flex;
    /* フレキシブルボックスでレイアウト */
    flex-direction: row;
    /* 横並びにする */
    width: 1200px;
    /* フレキシブルボックスでレイアウト */
    margin: 0 auto;
    text-align: center;
  }
}

/* ==================================== */

/* end ▼横幅1200px以上の場合に適用されるCSS */

/* ==================================== */

.-disable_button {
  pointer-events: none;
  background-color: #ccc !important;
}


/*-------------------------------------------*/
/* 汎用 料金表テーブル (3列レイアウト対応) - 修正版
/*-------------------------------------------*/
.price-table-wrapper {
  max-width: 900px;
  margin: 0 auto 40px;
  /* 上マージンを削除し、下マージンのみに */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.price-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ddd;
  min-width: 600px;
}

.price-table caption {
  font-size: 22px;
  font-weight: 600;
  text-align: left;
  padding: 10px 0;
  color: #5eb93a;
  /* ご指定の色に変更 */
  margin-bottom: 10px;
}

.price-table thead th {
  background-color: #eaf6e9;
  color: #4e952f;
  padding: 14px;
  text-align: center;
  font-weight: bold;
  white-space: nowrap;
}

.price-table thead th:not(:last-child) {
  border-right: 1px solid #cde8ca;
}

.price-table tbody th {
  padding: 14px;
  border: 1px solid #ddd;
  text-align: left;
  font-weight: bold;
  background-color: #f7faf6;
  vertical-align: middle;
}

.price-table tbody td {
  padding: 14px;
  border: 1px solid #ddd;
  text-align: center;
  vertical-align: middle;
}

.price-table tbody tr:nth-child(even) th {
  background-color: #f0f5ee;
}

.price-table tbody tr:nth-child(even) td {
  background-color: #f9f9f9;
}

@media screen and (max-width: 767px) {
  .price-table-wrapper {
    margin-left: 15px;
    /* 左側の余白を追加 */
    margin-right: 15px;
    /* 右側の余白を追加 */
  }

  .price-table {
    min-width: 0;
    font-size: 14px;
  }

  .price-table caption {
    font-size: 18px;
  }

  .price-table thead th,
  .price-table tbody th,
  .price-table tbody td {
    padding: 10px 8px;
  }
}



/*-------------------------------------------*/
/* FAQアコーディオンモジュール (修正版)
/*-------------------------------------------*/
.faq-accordion {
  max-width: 900px;
  margin: 40px auto;
}

.faq-item {
  margin-bottom: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  border: 1px solid #e0e0e0;
}

.faq-question {
  display: flex;
  align-items: center;
  /* 再び中央揃えに戻します */
  justify-content: space-between;
  padding: 10px 20px;
  /* 上下パディングを均等に */
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  background-color: #eaf6e9;
  color: #333;
  transition: background-color 0.3s;
}

.faq-question span {
  padding-left: 50px;
  position: relative;
  flex-grow: 1;
  text-align: left;
  line-height: 1.6;
  /* 行間を少し指定 */
}

.faq-question span::before {
  content: 'Q';
  position: absolute;
  left: 0;
  top: 50%;
  /* アイコンをspan要素の垂直中央に配置 */
  transform: translateY(-50%);
  /* 中央揃えの定石 */
  width: 32px;
  height: 32px;
  background-color: #5eb93a;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
}

.faq-question::after {
  content: '+';
  font-size: 28px;
  font-weight: 300;
  color: #5eb93a;
  /* アイコンの色を緑に */
  transition: transform 0.3s ease;
  flex-shrink: 0;
  margin-left: 20px;
}

.faq-item.is-open .faq-question {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.faq-item.is-open .faq-question::after {
  content: '-';
}

.faq-answer {
  display: none;
  padding: 10px 20px 10px 65px;
  /* 上下のパディングを調整 */
  background-color: #fff;
  /* 回答欄の背景を白に変更 */
  position: relative;
  line-height: 1.8;
  border-top: 1px solid #e0e0e0;
}

.faq-answer p {
  margin: 0;
}

.faq-answer::before {
  content: 'A';
  position: absolute;
  left: 20px;
  top: 10px;
  width: 32px;
  height: 32px;
  background-color: #f39c12;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
}

/* スマートフォン向けの調整 */
@media screen and (max-width: 767px) {
  .faq-accordion {
    margin-left: 15px;
    /* 画面左端からの余白を追加 */
    margin-right: 15px;
    /* 画面右端からの余白を追加 */
  }

  .faq-question {
    font-size: 16px;
    padding: 12px 15px;
    /* 上下パディングを少し調整 */
    align-items: center;
    /* スマホでも中央揃えに変更 */
  }

  .faq-question span {
    padding-left: 45px;
    line-height: 1.6;
    /* 行間をPCと合わせる */
  }

  .faq-question span::before {
    left: 0;
    width: 30px;
    height: 30px;
    font-size: 16px;
  }

  /* ↓ 回答欄全体のレイアウトを指定 */
  .faq-answer {
    padding: 10px 15px 15px 55px;
  }

  /* ↓ 回答欄内の<p>タグのテキストスタイルを指定 */
  .faq-answer p {
    font-size: 16px;
    /* フォントサイズを統一 */
    line-height: 1.6;
    /* 行間を質問文と合わせる（Q側が1.8だったので中間値に） */
    padding: 0;
    /* 他のスタイルから継承される余計なpaddingをリセット */
  }

  .faq-answer::before {
    left: 15px;
    top: 10px;
    /* 「A」アイコンの位置を上付きに調整 */
    width: 30px;
    height: 30px;
    font-size: 16px;
  }
}

/*-------------------------------------------*/
/* 6つの特徴グリッドモジュール (修正版)
/*-------------------------------------------*/
.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1140px;
  /* 最大幅を1140pxに変更 */
  margin: 40px auto;
}

.feature-card {
  background-color: #f7faf6;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 25px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s, box-shadow 0.3s;
}

.feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}

/* --- ▼ タイトルのレイアウトをFlexboxに変更 --- */
.feature-card__title {
  display: flex;
  align-items: flex-start;
  /* アイコンとテキストを上端揃えに変更 */
  text-align: left;
  /* テキストの左揃えを明示 */
  font-size: 20px;
  font-weight: bold;
  color: #5eb93a;
  margin-bottom: 15px;
}

/* 変更後 */
.feature-card__title::before {
  content: '\f058';
  font-family: 'FontAwesome';
  font-size: 22px;
  margin-right: 12px;
  /* padding-topは不要なため削除 */
  position: relative;
  /* 位置調整を有効にする */
  top: -2px;
  /* アイコンを2px上に移動して微調整 */
}

/* --- ▲ タイトルのレイアウトをFlexboxに変更 --- */

.feature-card__text {
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
}

/* タブレット向けの調整 (幅900px以下) */
@media screen and (max-width: 900px) {
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 100%;
    /* タブレットでは幅制限を解除 */
    margin-left: 15px;
    /* 画面端からの余白 */
    margin-right: 15px;
    /* 画面端からの余白 */
  }
}

/* スマートフォン向けの調整 (幅767px以下) */
@media screen and (max-width: 767px) {
  .features-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-left: 15px;
    /* 画面端からの余白 */
    margin-right: 15px;
    /* 画面端からの余白 */
  }

  .feature-card__title {
    font-size: 18px;
    margin-bottom: 0;
  }

  .feature-card__text {
    font-size: 15px;
  }

  .feature-card .feature-card__text {
    padding: 0;
    /* paddingをリセット */
  }

  .feature-card {
    padding: 15px 25px;
  }

}

.faq-answer ul {
  list-style-type: disc;
  /* 黒丸の箇条書き */
  padding-left: 20px;
  /* 左側の余白 */
  margin-top: 1em;
  margin-bottom: 1em;
  text-align: left;
  /* ★追加: 親から継承した中央揃えを解除し、左揃えにします */
}

.faq-answer li {
  margin-bottom: 0.5em;
  /* 各リスト項目の下の余白 */
}

.faq-answer strong {
  font-weight: bold;
  /* strongタグの太字スタイルを再適用 */
}


/* CSS修正案 */
.profile_flex {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  width: 90%;
  margin: 0 auto;
  gap: 2em;
}

.pro_txt_naka {
  position: static;
  /* absoluteを解除 */
  flex: 1;
  padding: 1em 0;
  line-height: 1.8em;
}

.profile_img {
  width: 40%;
  flex-shrink: 0;
}

.profile_img img {
  width: 100%;
  height: auto;
}

/* SP */
@media screen and (max-width: 767px) {
  .profile_flex {
    flex-direction: column-reverse;
    ;
    width: 96%;
  }

  .profile_img {
    width: 80%;
    margin: 0 auto;
  }

  .pro_txt_naka {
    width: 100%;
    padding: 0.5em 0;
  }
}


/* -----------------------------------------------
  プロフィール写真ギャラリー
----------------------------------------------- */

.profile_private {
  width: 90%;
  margin: 40px auto;
}

.private_block {
  margin-bottom: 40px;
}

.private_txt {
  width: 96%;
  margin: 0 auto 16px;
  line-height: 1.8em;
}

/*4列グリッド（マラソン写真） */
.photo_grid_4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  list-style: none;
  width: 100%;
  margin: 0 auto;
}

.photo_grid_4 li figure img {
  width: 100%;
  height: 400px;
  /* 高さ揃える */
  object-fit: cover;
  /* はみ出た部分はトリミング */
  /* border-radius: 6px; */
}

/* 2列グリッド（横長写真） */
.photo_grid_2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  list-style: none;
  width: 100%;
  margin: 0 auto;
}

.photo_grid_2 li figure img {
  width: 100%;
  height: 350px;
  /* 高さ揃える */
  object-fit: cover;
  /* border-radius: 6px; */
}

.photo_grid_4 figcaption,
.photo_grid_2 figcaption {
  font-size: 12px;
  text-align: center;
  margin-top: 4px;
  color: #666;
}

/* TB */
@media (min-width: 768px) and (max-width: 1190px) {
  .profile_private {
    width: 96%;
  }

  .photo_grid_4 {
    grid-template-columns: repeat(2, 1fr);
    /* 2列×2行 */
  }

  .photo_grid_4 li figure img {
    height: 220px;
  }
}

/* SP */
@media screen and (max-width: 767px) {
  .profile_private {
    width: 96%;
    margin-top: 0px;
    margin-bottom: 0px;
  }

  .profile_private h3 {
    margin-top: 0px;
  }

  .private_block {
    margin-bottom: 0px;
  }

  .photo_grid_4 {
    grid-template-columns: repeat(2, 1fr);
    /* 2列×2行 */
    gap: 8px;
  }

  .photo_grid_4 li figure img {
    height: 260px;
  }

  .photo_grid_2 {
    grid-template-columns: 1fr;
    /* 1列縦並び */
  }

  .photo_grid_2 li figure img {
    height: 260px;
  }
}



/* -----------------------------------------------
  ヘッダ暫定版
----------------------------------------------- */

.head_simple {
  min-height: auto;

  padding: 0;
}

.head_simple_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 96%;
  max-width: 900px;
  /* 900px収まるよう変更 */
  margin: 0 auto;
  padding: 10px 0;
}

/* ロゴ */
.head_simple .logo {
  float: none;
  margin: 0;
}

.head_simple .logo img {
  height: 60px;
  width: auto;
}

/* 右側エリア */
.head_simple_right {
  display: flex;
  align-items: center;
  gap: 20px;
}

/* 電話番号 */
.head_simple_tel {
  text-align: left;
}

.head_simple_tel_label {
  font-size: 11px;
  color: #666;
  margin-bottom: 2px;
  line-height: 1;
  padding: 0;
  /* common.cssのpリセット */
}

.head_simple_tel_num {
  font-size: 28px;
  font-weight: 600;
  color: #5eb93a;
  line-height: 1;
  padding: 0;
  /* common.cssのpリセット */
}

.head_simple_tel_num a {
  color: #5eb93a;
  text-decoration: none;
}

.head_simple_tel_num i {
  font-size: 22px;
  margin-right: 4px;
}

/* 区切り線 */
.head_simple_border {
  width: 1px;
  height: 40px;
  background: #ccc;
}

/* 歯科医師紹介リンク */
.head_simple_link a {
  font-size: 15px;
  color: #333;
  text-decoration: none;
  white-space: nowrap;
}

.head_simple_link a:hover {
  color: #5eb93a;
}

/* SP */
@media screen and (max-width: 767px) {
  .head_simple_inner {
    width: 96%;
    flex-direction: column;
    align-items: center;
    /* gap: 10px; */
    padding: 10px 0;
  }

  .head_simple .logo img {
    height: 50px;
  }

  .head_simple_right {
    gap: 12px;
  }

  .head_simple_tel_num {
    font-size: 22px;
  }
}

/* -----------------------------------------------
  お知らせエリア
----------------------------------------------- */

.news_area {
  width: 100%;
  background: #fff;
  /* padding: 30px 0; */
  margin: 0 auto;
}

.news_area_inner {
  width: 96%;
  max-width: 900px;
  margin: 0 auto;
}

/* 記事1件 */
.news_item {
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
  padding: 16px 10px 20px;
}

.news_item:first-child {
  border-top: none;
}

/* 1段目：日付＋タグ */
.news_meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.news_date {
  font-size: 14px;
  color: #999;
  /* やや薄い文字色 */
}

.news_tag {
  font-size: 11px;
  color: #5eb93a;
  border: 1px solid #5eb93a;
  border-radius: 3px;
  padding: 1px 8px;
  white-space: nowrap;
  line-height: 1.8;
}

/* 2段目：タイトル */
.news_title {
  font-size: 19px;
  font-weight: bold;
  color: #333;
  margin-bottom: 10px;
  text-align: left;
}

/* 3段目：本文 */
.news_body p {
  font-size: 16px;
  line-height: 1.5em;
  color: #444;
  margin: 0;
  padding: 0;
  text-align: left;
}

/* 本文エリアのリンク（aタグ）に対するホバー設定 */
.news_body a:hover {
  text-decoration: underline !important;
  /* 下線を表示 */
  color: #0000ff !important;
  /* 青色に変更（必要に応じてカラーコード調整してください） */
}

/* ホバー時にカーソルを指マークにしてリンクであることを示唆 */
.news_body a {
  cursor: pointer;
  transition: color 0.2s;
  /* 色変化を滑らかにする */
}

.news_body a:hover p {
  text-decoration: underline;
  color: #0000ff;
}

/* SP */
@media screen and (max-width: 767px) {
  .news_area {
    padding: 0 0 20px;
  }

  .news_item {
    padding: 16px 6px;
  }

  .news_title {
    font-size: 15px;
  }

  .news_body p {
    font-size: 13px;
  }
}


/* -----------------------------------------------
  チラシエリア
----------------------------------------------- */

.flyer_area {
  width: 100%;
  background: #fff;
  padding: 40px 0;
}

.flyer_area_inner {
  width: 96%;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  outline: 1px solid #cccccc;
}

.flyer_img {
  margin: 0 auto;
}

.flyer_img img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* SP */
@media screen and (max-width: 767px) {
  .flyer_area {
    padding: 20px 0;
  }
}


/* SP用メニューバー：PCでは非表示 */
.head_simple_sp_nav {
  display: none;
}

@media screen and (max-width: 767px) {

  /* PC用の診療案内・歯科医師紹介・区切り線を隠す */
  .head_simple_link,
  .head_simple_border {
    display: none;
  }

  /* SP用メニューバーを表示 */
  .head_simple_sp_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    background: #f7f7f7;
    border-top: 1px solid #e0e0e0;
    padding: 8px 0;
  }

  .head_simple_sp_nav a {
    flex: 1;
    text-align: center;
    font-size: 13px;
    color: #333;
    text-decoration: none;
    padding: 4px 0;
  }

  .head_simple_sp_nav a:hover {
    color: #5eb93a;
  }

  /* SP用区切り線 */
  .head_simple_sp_nav_border {
    display: inline-block;
    width: 1px;
    height: 16px;
    background: #ccc;
  }
}

/*========================================
  CVH Header Styles (prefix: cvh_)
  ブレイクポイント: 768px
======================================== */

/* ----------変数 ---------- */
:root {
  --cvh-green: #3a7d44;
  --cvh-green-dark: #2c6235;
  --cvh-green-light: #eef5ef;
  --cvh-text: #333333;
  --cvh-white: #ffffff;
  --cvh-border: #d8e8da;
  --cvh-header-h-pc: 100px;
  --cvh-nav-h: 48px;
  --cvh-sp-header-h: 60px;
  --cvh-transition: 0.3s ease;
}


/* ==============================
  共通リセット
============================== */
.cvh_header *,
.cvh_header *::before,
.cvh_header *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.cvh_header ul,
.cvh_header ol {
  list-style: none;
}

.cvh_header a {
  text-decoration: none;
  color: inherit;
}

.cvh_header button {
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}


/* ==============================
  ヘッダー全体
============================== */
.cvh_header {
  width: 100%;
  background: var(--cvh-white);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  position: relative;
  z-index: 1000;
}


/* ==============================
  PC：ロゴ行（.cvh_inner）
============================== */
.cvh_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  height: var(--cvh-header-h-pc);
}

/* ロゴ */
.cvh_logo a {
  display: block;
}

.cvh_logo img {
  height: 64px;
  width: auto;
  display: block;
}

/* PC右側エリア：電話＋ボタン2つを横一列 */
.cvh_pc_right {
  display: flex;
  align-items: center;
  gap: 28px;
}

/* 電話番号エリア */
.cvh_pc_contact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* gap: 4px; */
}

.cvh_pc_contact_label {
  font-size: 12px;
  color: var(--cvh-text);
  white-space: nowrap;
}

.cvh_pc_contact_tel {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 32px;
  font-weight: 700;
  color: var(--cvh-text);
  letter-spacing: 0.02em;
  white-space: nowrap;
  line-height: 1em;
}

.cvh_pc_contact_tel .fa {
  font-size: 26px;
  color: var(--cvh-green);
}

.cvh_pc_contact_tel a {
  color: var(--cvh-text);
}

.cvh_pc_contact_tel a:hover {
  color: var(--cvh-green);
}

/* PC ボタン群：横並び */
.cvh_pc_btns {
  display: flex;
  flex-direction: row;
  /* ← 横並び */
  align-items: center;
  gap: 12px;
}

/* 共通ボタン：pill形状 */
.cvh_btn_web,
.cvh_btn_first {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 24px;
  height: 48px;
  border-radius: 9999px;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  transition:
    background var(--cvh-transition),
    color var(--cvh-transition),
    border-color var(--cvh-transition);
  min-width: 148px;
}

/* 24時間Web予約（塗りつぶし） */
.cvh_btn_web {
  background: #337b42;
  color: #ffffff !important;
  border: 2px solid #337b42;
}

.cvh_btn_web:hover {
  background: #33cc66;
  border-color: #33cc66;
  color: #ffffff;
}

/* 初診の方へ */
.cvh_btn_first {
  background: #337b42;
  color: #ffffff !important;
  border: 2px solid #337b42;
}

.cvh_btn_first:hover {
  background: #33cc66;
  border-color: #33cc66;
  color: #ffffff;
}

/* SP トグルボタン：PC時は非表示 */
.cvh_sp_toggle {
  display: none;
}


/* ==============================
  PC：グローバルナビ（.cvh_pc_nav）
============================== */
.cvh_pc_nav {
  border-top: 1px solid var(--cvh-border);
  background: var(--cvh-white);
}

.cvh_pc_nav_list {
  display: flex;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  height: var(--cvh-nav-h);
}

.cvh_pc_nav_list>li {
  flex: 1;
  display: flex;
  align-items: stretch;
}

/* 項目間の縦線区切り */
.cvh_pc_nav_list>li+li {
  border-left: 1px solid var(--cvh-border);
}

.cvh_pc_nav_list>li>a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 14px;
  color: var(--cvh-text);
  padding: 0 8px;
  position: relative;
  transition: color var(--cvh-transition);
  white-space: nowrap;
}

/*ホバー時：下線をスライドイン */
.cvh_pc_nav_list>li>a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 3px;
  background: var(--cvh-green);
  border-radius: 2px 2px 0 0;
  transition: width var(--cvh-transition);
}

.cvh_pc_nav_list>li>a:hover {
  color: var(--cvh-green);
}

.cvh_pc_nav_list>li>a:hover::after {
  width: 70%;
}


/* ==============================
  SP：ドロワーメニュー関連→ PC時は非表示
============================== */
.cvh_sp_menu,
.cvh_sp_overlay {
  display: none;
}


/* ==============================
  768px以下：SPレイアウト
============================== */
@media screen and (max-width: 768px) {

  /* PC専用要素を隠す */
  .cvh_pc_right,
  .cvh_pc_nav {
    display: none;
  }

  /* ヘッダーロゴ行*/
  .cvh_inner {
    height: var(--cvh-sp-header-h);
    padding: 0 16px;
  }

  .cvh_logo img {
    height: 36px;
  }

  /* ロゴを中央に：左側にダミースペースを置いてバランスを取る */
  .cvh_inner::before {
    content: '';
    display: block;
    width: 40px;
    /* .cvh_sp_toggle と同じ幅 */
    flex-shrink: 0;
  }


  /*ハンバーガーボタン（≡） */
  .cvh_sp_toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    padding: 6px;
    flex-shrink: 0;
  }

  .cvh_sp_toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--cvh-green);
    border-radius: 2px;
    transition:
      transform var(--cvh-transition),
      opacity var(--cvh-transition);
    transform-origin: center;
  }

  /* ✕ アニメーション */
  .cvh_sp_toggle.is_open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .cvh_sp_toggle.is_open span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
  }

  .cvh_sp_toggle.is_open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  /* ドロワーメニュー本体 */
  .cvh_sp_menu {
    display: block;
    position: fixed;
    top: var(--cvh-sp-header-h);
    right: 0;
    width: 100vw;
    /* SP全幅 */
    max-width: 100%;
    height: calc(100vh - var(--cvh-sp-header-h));
    background: var(--cvh-white);
    overflow-y: auto;
    overflow-x: hidden;
    transform: translateX(100%);
    transition: transform var(--cvh-transition);
    z-index: 1100;
    -webkit-overflow-scrolling: touch;
  }

  .cvh_sp_menu.is_open {
    transform: translateX(0);
  }

  /* オーバーレイ（全幅の場合は実質不要だが残しておく） */
  .cvh_sp_overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--cvh-transition);
    z-index: 1050;
  }

  .cvh_sp_overlay.is_open {
    opacity: 1;
    pointer-events: auto;
  }

  /* SPナビリスト */
  .cvh_sp_nav_list {
    border-top: 1px solid var(--cvh-border);
  }

  .cvh_sp_nav_item {
    border-bottom: 1px solid var(--cvh-border);
  }

  /* SP ナビリンク・アコーディオンボタン共通 */
  .cvh_sp_nav_link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 18px 20px;
    font-size: 15px;
    font-weight: 500;
    color: var(--cvh-text);
    text-align: left;
    transition:
      background var(--cvh-transition),
      color var(--cvh-transition);
  }

  .cvh_sp_nav_link:hover,
  .cvh_sp_nav_link:focus {
    background: var(--cvh-green-light);
  }

  /* アコーディオン開閉：∨ /∧ をテキストで表現 */
  .cvh_sp_accordion_icon {
    font-size: 14px;
    color: var(--cvh-green);
    transition: transform var(--cvh-transition);
    display: inline-block;
    line-height: 1;
  }

  /* FontAwesomeのアイコンを使わずCSSで∨を表現 */
  .cvh_sp_accordion_icon .fa {
    font-size: 13px;
  }

  .cvh_sp_accordion_btn[aria-expanded="true"] .cvh_sp_accordion_icon {
    transform: rotate(180deg);
  }

  .cvh_sp_accordion_btn[aria-expanded="true"] {
    font-weight: 700;
    color: var(--cvh-green);
  }

  /* SP サブナビ（アコーディオン内） */
  .cvh_sp_sub_nav {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    background: var(--cvh-white);
  }

  .cvh_sp_sub_nav li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 16px 28px;
    font-size: 14px;
    color: var(--cvh-text);
    border-top: 1px solid var(--cvh-border);
    transition:
      color var(--cvh-transition),
      background var(--cvh-transition);
  }

  /*＞ 記号をCSSで生成 */
  .cvh_sp_sub_nav li a::after {
    content: '›';
    font-size: 18px;
    color: var(--cvh-green);
    line-height: 1;
  }

  .cvh_sp_sub_nav li a:hover {
    color: var(--cvh-green);
    background: var(--cvh-green-light);
  }

  /* SP メニュー下部：電話・ボタン */
  .cvh_sp_menu_bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 28px 24px 36px;
    background: var(--cvh-green-light);
    /* margin-top: 8px; */
  }

  .cvh_sp_menu_label {
    font-size: 12px;
    color: var(--cvh-text);
  }

  .cvh_sp_menu_tel {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 26px;
    font-weight: 700;
    color: var(--cvh-text);
  }

  .cvh_sp_menu_tel .fa {
    font-size: 20px;
    color: var(--cvh-green);
  }

  .cvh_sp_menu_tel a {
    color: var(--cvh-text);
  }

  /* SP内ボタン：幅いっぱい・pill */
  .cvh_sp_menu_bottom .cvh_btn_web,
  .cvh_sp_menu_bottom .cvh_btn_first {
    width: 100%;
    height: 52px;
    font-size: 16px;
    min-width: unset;
  }

}

/* end @media 768px */