@charset "UTF-8";

/*
 Theme Name:   nano_tcd065 Child
 Template:     nano_tcd065
 Description:  子テーマ for nano_tcd065
 Author:       Satoshi Nakamoto
 Version:      1.22.2
*/

/*---------------------------------- AQ追加 --------------------------*/

body table tr td dt dd ol {
  color: #232424;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  letter-spacing: 0.07em;
  line-height: 1.5;
}


/*------------------- アイコン -------------------*/

@font-face {
  font-family: 'icomoon';
  src: url('assets/fonts/icomoon.eot?3f71o7');
  src: url('assets/fonts/icomoon.eot?3f71o7#iefix') format('embedded-opentype'),
       url('assets/fonts/icomoon.ttf?3f71o7') format('truetype'),
       url('assets/fonts/icomoon.woff?3f71o7') format('woff'),
       url('assets/fonts/icomoon.svg?3f71o7#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}



.icon-home:before {
  content: "\e900";
}

.icon-file-empty:before {
  content: "\e924";
}

.icon-files-empty:before {
  content: "\e925";
}

.icon-file-text2:before {
  content: "\e926";
}

.icon-copy:before {
  content: "\e92c";
}

.icon-paste:before {
  content: "\e92d";
}

.icon-folder:before {
  content: "\e92f";
}

.icon-phone:before {
  content: "\e942";
}

.icon-display:before {
  content: "\e956";
}

.icon-laptop:before {
  content: "\e957";
}

.icon-mobile:before {
  content: "\e958";
}

.icon-bubble:before {
  content: "\e96b";
}

.icon-zoom-in:before {
  content: "\e987";
}

.icon-checkmark:before {
  content: "\ea10";
}

.icon-checkmark2:before {
  content: "\ea11";
}

.icon-enter:before {
  content: "\ea13";
}

.icon-exit:before {
  content: "\ea14";
}

.icon-play2:before {
  content: "\ea15";
}

.icon-play3:before {
  content: "\ea1c";
}

.icon-circle-up:before {
  content: "\ea41";
}

.icon-circle-right:before {
  content: "\ea42";
}

.icon-circle-down:before {
  content: "\ea43";
}

.icon-circle-left:before {
  content: "\ea44";
}

.icon-checkbox-checked:before {
  content: "\ea52";
}

.icon-google-plus3:before {
  content: "\ea8d";
}

.icon-vk:before {
  content: "\ea98";
}

/*------------------- グローバルナビゲーション -------------------*/

.p-global-nav {
  line-height: 50px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3",
               "Hiragino Kaku Gothic Pro",
               -apple-system, BlinkMacSystemFont, sans-serif;
}


/* ==========================================================
AQ追加：レイアウト・レスポンシブ調整（旧TCDカスタムCSS）
========================================================== */

.grecaptcha-badge {
  visibility: hidden;
}

/*------------------- テキスト -------------------*/


/* タイトル2 */
.ttl-2 h2 {
  /* font-size: 32px; */
  font-size: 1.8rem;
  color: #232424;
  border-bottom: #20BA7C solid 3px;
  margin: 0px 0px 40px 0px;
  padding: 0px 0px 10px 0px;
}


/* タイトル3 basic*/

.h3_basic01:not(#_) {
  /* display: -webkit-box;
display: -ms-flexbox; */
  display: flex;
  margin: 50px 0 30px 0;
  color: #232424;
  /* font-size: 22px; */
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.4;
}

.h3_basic01:first-child:not(#_) {
  /* margin-top: 0; */
}

.h3_basic01:not(#_)::before {
  display: inline-block;
  /* -ms-flex-negative: 0;
    flex-shrink: 0; */
  width: 8px;
  margin: 0 10px 0 0;
  vertical-align: middle;
  content: "";
  background: linear-gradient(to bottom, #66D1A3 50%, #20BA7C 50%);
}

p {
  line-height: 2;
  color: #232424;
}


/* *********************************************
 * ! ヘッダーイメージ
 * ********************************************* */
 .p-cover {
    display: flex;
    justify-content: center;
}

.p-cover__inner {
  align-items: flex-start;
	width:1180px;
}

.p-cover {
  height: 300px;
}

.p-cover__sub {
  line-height: 1.5;
}

/* 1280px以上（PC） */
@media only screen and (max-width: 1280px) {
    .p-cover__inner {
        margin-left: auto;
        margin-right: auto;
        position: relative;
        width: 92.1875%;
        max-width: 1180px;
    }
}

@media only screen and (max-width: 991px) {
    .p-cover__inner {
        width: 88.88889%;
    }
}

@media only screen and (max-width: 767px) {
    .p-cover__inner {
        padding: 0 20px;
        width: 100%;
    }
}

/* 768px以上（タブレット） */
@media only screen and (max-width: 768px) {
  .p-cover {
    height: 40vw;
  }

  .p-cover__title {
    font-size: 5.33333vw;
    text-align: left;
  }

  .p-cover__sub {
    font-size: 3.2vw;
    text-align: left;
  }
}

/* 480px以上（大きめSP） */
@media only screen and (max-width: 480px) {
  .p-cover {
    height: 150px;
  }
}

/*------------------- サイドメニュー -------------------*/

.lnavi ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
}

.lnavi h3 {
  margin: 0;
  padding: 0;
}

.lnavi a {
  position: relative;
  color: #20BA7C;
  text-decoration: underline;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.lnavi+.lnavi {
  margin: 20px 0 0 0;
}

.lnavi_ttl {
  font-size: 10px;
  margin: 0;
  padding: 0;
}


.lnavi_ttl a,
.lnavi_ttl span {
  display: block;
  padding: 25px 15px 25px 15px;
  border-radius: 5px 5px 0 0;
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  background: #20BA7C;
}

.p-entry__body .lnavi_ttl a {
  color: #ffffff;
}

/* .p-entry__body .lnavi_ttl a:hover {
  color: #ffffff;
  text-decoration: none;
} */


.lnavi_ttl a:hover {
  opacity: 0.7;
  color: #ffffff;
  text-decoration: none;
}

.lnavi_list li a:hover {
  opacity: 0.7;
  color: #7198EB;
  text-decoration: none;
}

.lnavi_list li {
  line-height: 1.5;
  list-style: none;
}

.lnavi_list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 10px 10px 10px 10px;
  border-bottom: 1px solid #DFEEDA;
  border-bottom: 1px solid #DFEEDA;
  text-decoration: none;
}

.lnavi_list a.current {
  color: #20BA7C;
  background-color: #FCFFFD;
  /* font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif; */
}

.lnavi_list a::before {
  display: inline-block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 0.7em;
  height: 0.7em;
  margin-right: 1em;
  border-top: 2px solid #20BA7C;
  border-right: 2px solid #20BA7C;
  content: "";
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}


/* 入れ子 */

.p-entry__body .lnavi_list-nesting a {
  color: #232424;
}

.lnavi_list-nesting li a:hover {
  opacity: 0.7;
  color: #232424;
  text-decoration: none;
}



.lnavi_cate {
  border-bottom: 1px solid #d5decf;
  font-weight: bold;
  background: #F6F8F7 !important;
}

.lnavi_cate::before {
  display: none !important;
}

.lnavi_cate a {
  color: #006633;
}

/* 
.lnavi + .lnavi {
	margin: 20px 0 0 0;
}


 */

.lnavi_subject a {
	padding: 12px 10px 12px 10px;
	color: #232424;
}

.lnavi_subject a.current + .lnavi_sub {
	display: block;
}

.lnavi_sub {
	display: none;
}

.lnavi_sub a {
	padding: 12px 10px 12px 22px;
}

.lnavi_sub a::before {
	width: 0.5em;
	height: 0.5em;
	margin-right: 0.5em;
	border-top: 1px solid #65ab31;
	border-right: 1px solid #65ab31;
}

.lnavi a.current + .lnavi_sub {
	display: block;
} 


/* ==========================================================
パンくずリストの設定
========================================================== */


.pkuzu-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;

}

.pkuzu-list li {
  /* margin-bottom: 10px; */
  display: inline;
  word-break: break-word; /* 長い単語が折り返されるように設定 */
  overflow-wrap: break-word; /* 長い単語が折り返されるように設定 */
}


/* ==========================================================
ボタン
========================================================== */

.btn_mail-01 a,
.btn_mail-01 div,
.btn_mail-01 button,
.btn_tel-01 a,
.btn_tel-01 div,
.btn_tel-01 button,
.btn_basic-01 a,
.btn_basic-01 div,
.btn_basic-01 button,
.btn_newtab-01 a,
.btn_newtab-01 div,
.btn_newtab-01 button {
  display: inline-block;
  position: relative;
  width: 100%;
  border-width: 2px 2px 2px 2px;
  border-style: solid;
  border-radius: 100px;
  font-weight: 700;
  line-height: 1.27;
  text-decoration: none;
  text-align: center;
}

/* 通常リンク */
.btn_basic-01 a::after,
.btn_basic-01 div::after,
.btn_basic-01 button::after {
  display: inline-block;
  position: absolute;
  right: 20px;
  font-family: "icomoon" !important;
  font-size: 20px;
  font-variant: normal;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  text-transform: none;
  content: "\ea1c";
}

/* 外部リンク */
.btn_newtab-01 a::after,
.btn_newtab-01 div::after,
.btn_newtab-01 button::after {
  display: inline-block;
  position: absolute;
  right: 20px;
  font-family: "icomoon" !important;
  font-size: 20px;
  font-variant: normal;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  text-transform: none;
  content: "\ea7e";
}

/* 電話リンク */
.btn_tel-01 a::after,
.btn_tel-01 div::after,
.btn_tel-01 button::after {
  display: inline-block;
  position: absolute;
  right: 20px;
  font-family: "icomoon" !important;
  font-size: 20px;
  font-variant: normal;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  text-transform: none;
  content: "\e942";
}

/* お問い合わせへのリンク */
.btn_mail-01 a::after,
.btn_mail-01 div::after,
.btn_mail-01 button::after {
  display: inline-block;
  position: absolute;
  right: 20px;
  font-family: "icomoon" !important;
  font-size: 20px;
  font-variant: normal;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  text-transform: none;
  content: "\e945";
}

/* Basic White Button */
.btn_mail-01,
.btn_tel-01,
.btn_basic-01,
.btn_newtab-01 {
  margin: 1em 0 1em 0;
}

.btn_mail-01 a,
.btn_mail-01 div,
.btn_mail-01 button,
.btn_tel-01 a,
.btn_tel-01 div,
.btn_tel-01 button,
.btn_basic-01 a,
.btn_basic-01 div,
.btn_basic-01 button,
.btn_newtab-01 a,
.btn_newtab-01 div,
.btn_newtab-01 button {
  max-width: 416px;
  padding: 20px 40px 20px 20px;
  border-color: #20BA7C;
  color: inherit;
  font-size: 20px;
  background: #ffffff none;
}

.btn_mail-01 a:hover,
.btn_mail-01 a:focus,
.btn_mail-01 div:hover,
.btn_mail-01 div:focus,
.btn_mail-01 button:hover,
.btn_mail-01 button:focus,
.btn_tel-01 a:hover,
.btn_tel-01 a:focus,
.btn_tel-01 div:hover,
.btn_tel-01 div:focus,
.btn_tel-01 button:hover,
.btn_tel-01 button:focus,
.btn_basic-01 a:hover,
.btn_basic-01 a:focus,
.btn_basic-01 div:hover,
.btn_basic-01 div:focus,
.btn_basic-01 button:hover,
.btn_basic-01 button:focus,
.btn_newtab-01 a:hover,
.btn_newtab-01 a:focus,
.btn_newtab-01 div:hover,
.btn_newtab-01 div:focus,
.btn_newtab-01 button:hover,
.btn_newtab-01 button:focus {
  opacity: 0.7;
  color: #20BA7C;
  text-decoration: none;
}

.btn_mail-01 a::after,
.btn_mail-01 div::after,
.btn_mail-01 button::after,
.btn_tel-01 a::after,
.btn_tel-01 div::after,
.btn_tel-01 button::after,
.btn_basic-01 a::after,
.btn_basic-01 div::after,
.btn_basic-01 button::after,
.btn_newtab-01 a::after,
.btn_newtab-01 div::after,
.btn_newtab-01 button::after {
  color: #20BA7C;
}

/* 768px以上（タブレット） */

@media (max-width: 768px) {

  .btn_mail-01 a,
  .btn_mail-01 div,
  .btn_mail-01 button,
  .btn_tel-01 a,
  .btn_tel-01 div,
  .btn_tel-01 button,
  .btn_basic-01 a,
  .btn_basic-01 div,
  .btn_basic-01 button,
  .btn_newtab-01 a,
  .btn_newtab-01 div,
  .btn_newtab-01 button {
    max-width: 416px;
    font-size: 20px;
  }

  .btn_mail-01 a::before,
  .btn_mail-01 a::after,
  .btn_mail-01 div::before,
  .btn_mail-01 div::after,
  .btn_mail-01 button::before,
  .btn_mail-01 button::after,
  .btn_tel-01 a::before,
  .btn_tel-01 a::after,
  .btn_tel-01 div::before,
  .btn_tel-01 div::after,
  .btn_tel-01 button::before,
  .btn_tel-01 button::after,
  .btn_basic-01 a::before,
  .btn_basic-01 a::after,
  .btn_basic-01 div::before,
  .btn_basic-01 div::after,
  .btn_basic-01 button::before,
  .btn_basic-01 button::after,
  .btn_newtab-01 a::before,
  .btn_newtab-01 a::after,
  .btn_newtab-01 div::before,
  .btn_newtab-01 div::after,
  .btn_newtab-01 button::before,
  .btn_newtab-01 button::after {
    right: 20px;
  }
}

/* 480px以上（大きめSP） */

@media (max-width: 480px) {

  .btn_mail-01 a,
  .btn_mail-01 div,
  .btn_mail-01 button,
  .btn_tel-01 a,
  .btn_tel-01 div,
  .btn_tel-01 button,
  .btn_basic-01 a,
  .btn_basic-01 div,
  .btn_basic-01 button,
  .btn_newtab-01 a,
  .btn_newtab-01 div,
  .btn_newtab-01 button {
    max-width: 260px;
    font-size: 18px;
  }

  .btn_mail-01 a::before,
  .btn_mail-01 a::after,
  .btn_mail-01 div::before,
  .btn_mail-01 div::after,
  .btn_mail-01 button::before,
  .btn_mail-01 button::after,
  .btn_tel-01 a::before,
  .btn_tel-01 a::after,
  .btn_tel-01 div::before,
  .btn_tel-01 div::after,
  .btn_tel-01 button::before,
  .btn_tel-01 button::after,
  .btn_basic-01 a::before,
  .btn_basic-01 a::after,
  .btn_basic-01 div::before,
  .btn_basic-01 div::after,
  .btn_basic-01 button::before,
  .btn_basic-01 button::after,
  .btn_newtab-01 a::before,
  .btn_newtab-01 a::after,
  .btn_newtab-01 div::before,
  .btn_newtab-01 div::after,
  .btn_newtab-01 button::before,
  .btn_newtab-01 button::after {
    right: 20px;
  }
}


/* ==========================================================
三角 テキストリンク
========================================================== */

.link_text-01 {
  margin: 1em 0 1em 1em;
}

.link_text-01 a,
.link_text-01 div,
.link_text-01 button {
  display: inline-block;
  position: relative;
  font-weight: 700;
  line-height: 1.27;
  text-align: left;
  vertical-align: top;
  padding: 0px 0px 0px 20px;
  border-color: #20BA7C;
  color: inherit;
  font-size: 14px;
}

.link_text-01 a::after,
.link_text-01 div::after,
.link_text-01 button::after {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0px;
  font-family: "icomoon" !important;
  font-size: 14px;
  padding: 2px 0px 0px 0px;
  font-variant: normal;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  text-transform: none;
  content: "\ea1c";
  color: #20BA7C;
}

.link_text-01 a:hover,
.link_text-01 a:focus,
.link_text-01 div:hover,
.link_text-01 div:focus,
.link_text-01 button:hover,
.link_text-01 button:focus {
  opacity: 0.7;
  color: #20BA7C;
  text-decoration: none;
}


/* 768px以上（タブレット） */

@media (max-width: 768px) {
  
  .link_text-01 {
    margin: 0.5em 0 0.5em 1em;
  }

  .link_text-01 a,
  .link_text-01 div,
  .link_text-01 button {
    font-size: 20px;
  }
  .link_text-01 a::after,
  .link_text-01 div::after,
  .link_text-01 button::after {
    font-size: 20px;
  }
}

/* 480px以上（大きめSP） */

@media (max-width: 480px) {

  .link_text-01 {
    margin: 0.5em 0 0.5em 1em;
  }

  .link_text-01 a,
  .link_text-01 div,
  .link_text-01 button {
    font-size: 18px;
  }
  .link_text-01 a::after,
  .link_text-01 div::after,
  .link_text-01 button::after {
    font-size: 18px;
  }
}



/* ==========================================================
テーブル
========================================================== */
/* ==========================================================
!Table
========================================================== */
/* tableデフォルト
------------------------------------ */
table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 24px;

}

table caption {
  margin: 0 0 10px 0;
  color: #20BA7C;
  font-size: 1.25em;
  font-weight: bold;
}

table thead,
table tbody {
  width: 100%;
}

table th,
table td {
  padding: 15px 8px 15px 8px;
  border: 1px solid #DFEEDA;
}

table thead th {
  color: #20BA7C;
  font-weight: 700;
  text-align: center;
  background: #F7FFF6;
}

table tbody th {
  text-align: left;
  background: #F7FFF6;
}

.highlight {
  text-align: center;
  /* 水平方向の中央揃え */
  vertical-align: middle;
  /* 垂直方向の中央揃え */
}

.circle,
.triangle {
  display: inline-block;
  /* ブロック要素をインラインブロックにする */
}

.triangle {
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 17.32px solid #66D1A3;
}

.circle {
  width: 20px;
  height: 20px;
  background-color: #66D1A3;
  border-radius: 50%;
}

/* × */
.cross {
  position: relative;
  width: 50px; /* サイズ */
  display: inline-block;
  margin: 10px;
}

.cross::before,
.cross::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%; /* 線の長さ */
  height: 5px; /* 線の太さ */
  background-color: #66D1A3; /* 色 */
  transform-origin: center;
}

.cross::before {
  transform: translate(-50%, -50%) rotate(45deg); /* 斜めの線1 */
}

.cross::after {
  transform: translate(-50%, -50%) rotate(-45deg); /* 斜めの線2 */
}

@media only screen and (min-width: 768px),
print {

  table th,
  table td {
    padding: 15px 20px 15px 20px;
  }
}

/* シンプルテーブル
------------------------------------ */
.table_basic-01 {
  margin: 4% 0 4% 0;
}

.table_basic-01 table {
  table-layout: fixed;
  width: 100%;
}

.table_basic-01 table th {
  width: 30%;
  color: #20BA7C;
  font-weight: 700;
  text-align: left;
  background: #F7FFF6;
}

.table_basic-01 table td {
  width: 100%;
  background: #ffffff;
}

.table_basic-01 dl {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.table_basic-01 dl dt {
  display: table-cell;
  width: 30%;
  font-weight: 700;
}

.table_basic-01 dl dd {
  display: table-cell;
  width: 100%;
}

/* テーブル スケジュール
------------------------------------ */
.table_schedule {
  /* margin: 4% 0 4% 0; */
  overflow-x: auto;
}

.table_schedule table {
  table-layout: fixed;
  width: 100%;
  min-width: 600px;
}

.table_schedule table tbody th {
  font-weight: normal;
  text-align: left;
}

.table_schedule table tbody td {
  text-align: center;
  background: #ffffff;
}

.table_schedule table tfoot th {
  text-align: left;
  background: #ffffff;
}

.table_schedule table tfoot td {
  text-align: center;
  vertical-align: middle;
  background: #ffffff;
}

@media screen and (max-width: 767px) {

  .table_schedule {
    overflow-x: auto;
  }

  .table_schedule > .s_table {
    min-width: 600px;
    display: inline-block;
  }

  .table_schedule table {
    table-layout: auto;
    width: 100%;
  }

  /* 最終列の固定幅は解除（スマホも同様） */
  .table_schedule table th:last-child,
  .table_schedule table td:last-child {
    width: auto;
  }

  /* 時間列をそこそこ狭く・折り返さない（スマホ用） */
  .table_schedule table th:first-child,
  .table_schedule table td:first-child {
    white-space: nowrap;
    width: 6em;
  }
}


/* リスト
------------------------------------ */

/* list */
.p-entry__body li,
.p-entry__body dt,
.p-entry__body dd {
  line-height: 2.2;
}

.p-entry__body ul,
.p-entry__body ol,
.p-entry__body dl {
  margin-bottom: 24px;
}

.p-entry__body ol {
  list-style: decimal outside none;
  margin-left: 1.5em;
}

.p-entry__body ul {
  list-style: circle outside none;
  /* margin-left: 1.3em; */
  margin-left: 0px;
}

.p-entry__body li>ul,
.p-entry__body li>ol {
  margin-bottom: 0;
}

.p-entry__body dt {
  font-weight: bold;
}

.p-entry__body dd {
  margin-bottom: 1em;
}


.dl_basic-01 dl {
  font-size: 18px;
  width: 100%;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #232424;
}

.dl_basic-01 div {
  /* display: flex; */
  margin-bottom: 10px;
}

.dl_basic-01 dt {
  /* white-space: nowrap; */
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #232424;
  margin: 0;
  font-weight: 700;
  /* width: 150px; */
}



/* ==========================================================
フッターインフォ
========================================================== */
.footer-info_01 h2 {
  color: #20BA7C;
}

.footer-info_01 p {
  line-height: 24px;
  color: #232424;
}

@media (max-width: 768px) {
  .footer-info_01 {
    display: grid;
    grid-area: Gallery;
    width: 100%;
    grid-template-columns: 50% 50%;
    grid-template-rows: auto;
    overflow: hidden;
  }
}


/* ==========================================================
!PDF リスト
========================================================== */
.file-list {
  margin: 1.5em 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  list-style: none; /* デフォルトのリストスタイルを無効にする */
  padding-left: 0; /* デフォルトのパディングをリセット */
}

.file-list li {
  position: relative;
  padding-left: 1.8em; /* アイコンのスペースを確保 */
  line-height: 1.8; /* 行の高さを調整 */
  margin-bottom: 0.5em; /* リストアイテム間の下マージン */
}

.file-list li a {
  text-decoration: none; /* リンクの下線を削除 */
  display: block; /* リンク全体をクリック可能にする */
}

.file-list li a:hover {
  color: #20BA7C; /* ホバー時のリンクの色を変更 */
}

.file-list li::before {
  font-family: 'icomoon' !important; /* icomoonフォントを使用 */
  content: "\e926"; /* icomoonのファイルアイコンのUnicode */
  display: block;
  position: absolute;
  top: 0.2em; /* アイコンの垂直位置を調整 */
  left: 0;
  font-size: 1.2em; /* アイコンのサイズを調整 */
  color: #20BA7C; /* アイコンの色を設定 */
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================
!青丸つきリスト
========================================================== */
/* 縦リスト
--------------------------------- */

.ul_basic01 ul {
  margin: 1.5em 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #232424;
  list-style: none;
}


.ul_basic01 ul li {
  position: relative;
  padding-left: 1em;
  line-height: 1.5;
  color: #232424;
}

.ul_basic01 ul li::before {
  display: block;
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 0.625em;
  height: 0.625em;
  border-radius: 50%;
  content: "";
  background: #20BA7C;
}

.ul_basic01 ul li+li {
  margin-top: 1em;
}

.ul_basic01 {
  margin-top: 0;
}

/* 横リスト
--------------------------------- */
.ul_basic02 ul {
  display: flex;        /* フレックスボックスとして表示 */
  flex-wrap: wrap;      /* 項目が多い場合は折り返す */
  gap: 30px;            /* リストアイテム間の間隔を設定 */
  margin: 1.5em 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #232424;
  list-style: none;
}


.ul_basic02 ul li {
  position: relative;
  padding-left: 1em;
  line-height: 1.5;
  color: #232424;
}

.ul_basic02 ul li::before {
  display: block;
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 0.625em;
  height: 0.625em;
  border-radius: 50%;
  content: "";
  background: #20BA7C;
}

.ul_basic02 {
  margin-top: 0;
}





/* ==========================================================
!Box
========================================================== */

.box_paint-01 {
  margin: 4% 0 4% 0;
  padding: 6vw;
  background: #E8FCE7;
  border-radius: 5px;
}

@media only screen and (min-width: 768px),
print {
  .box_paint-01 {
    padding: 40px;
  }
}

.box_paint-01 h3,
.box_paint-01 h4 {
  margin-top: 1.25em;
  margin-bottom: 0.9375em;
  padding-left: 10px;
  border-left: 4px solid #20BA7C;
  font-size: 1.125em;
  font-weight: bold;
}

.box_paint-01 h3:first-child,
.box_paint-01 h4:first-child {
  margin-top: 0;
}

.box_paint-01 h3::before,
.box_paint-01 h4::before {
  display: none;
}

.box_paint-01 p+p {
  margin-top: 0;
}

/* 注意事項
------------------------------------ */
.box_alert-01 {
  margin: 4% 0 4% 0;
  padding: 6vw;
  background: #fff7f7;
  border-radius: 5px;
}

@media only screen and (min-width: 768px),
print {
  .box_alert-01 {
    padding: 40px;
  }
}

.box_alert-01 h3,
.box_alert-01 h4 {
  margin-bottom: 0.9375em;
  color: #d82c2b;
  font-size: 1.125em;
  font-weight: bold;
}

.box_alert-01 h3:first-child,
.box_alert-01 h4:first-child {
  margin-top: 0;
}

.box_alert-01 dl dt {
  display: table-cell;
  /* width: 30%; */
  width: 130px;
  font-weight: 700;
}

.box_alert-01 dl dd {
  display: table-cell;
  width: 100%;
}

/*------------------------------------ トップスライダー ------------------------------------*/

.slider-2 .slick-slide {
  width: 100%;
  height: auto;
  margin: 0 0px;
  position: relative;
  overflow: hidden;
}

.slider-2 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slider-2 .slick-arrow {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background-color: #D9D9D9;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  /* position: absolute;
  top: 230px;
  z-index: 1; */
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

.slider-2 .slick-arrow::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border: 1px solid #20BA7C;
  border-width: 2px 2px 0 0;
  position: absolute;
  top: 8px;
  transform: rotate(45deg);
}

.slider-2 .slick-next {
  right: 5px;
}

.slider-2 .slick-prev {
  left: 5px;
}

.slider-2 .slick-next::before {
  left: 7px;
}

.slider-2 .slick-prev::before {
  border-width: 0 0 2px 2px;
  right: 7px;
}

.top_slider .dots-2 .slick-dots {
  text-align: center;
  position: relative;
}

.top_slider .dots-2 .slick-dots li {
  display: inline-block;
}

.top_slider .dots-2 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #D9D9D9;
  border-radius: 50%;
}

.top_slider .dots-2 .slick-dots .slick-active button {
  background: #20BA7C;
}


.top_slider ul {
  margin: 1px 0px;
}

/*------------------------------------ 新着情報 ------------------------------------*/

/*大見出し
-----------------------------------------------------------*/
.tp-heading01 {
  margin: 0 0 8% 0;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: left;
  color: #232424;
}

.tp-heading01 span[lang="en"] {
  display: block;
  color: #20BA7C;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 10px;
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px),
print {
  .tp-heading01 {
    margin: 0 0 50px 0;
    font-size: 34px;
  }
}

.tp-heading01-center {
  margin: 0 0 8% 0;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  color: #232424;
}

.tp-heading01-center span[lang="en"] {
  display: block;
  color: #20BA7C;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 10px;
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px),
print {
  .tp-heading01-center {
    margin: 0 0 50px 0;
    font-size: 34px;
  }
}



/* お知らせリスト（dl_news01）
--------------------------------- */

.dl_news01 {
  font-size: 16px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  color: #232424;
}

.dl_news01:not(#_) {
  border-top: 1px solid #DFEEDA;
}

.dl_news01:not(#_)>div {
  padding: 1.25em 0 1.25em 0;
  border-bottom: 1px solid #DFEEDA;
}

.dl_news01:not(#_) dd {
  margin: 0.5em 0 0 0;
}

.dl_news01:not(#_) a {
  text-decoration: none;
}

.dl_news01:not(#_) .txt_label01,
.dl_news01:not(#_) .txt_label02 {
  margin: 0 0 0 1.5em;
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px),
print {
  .dl_news01:not(#_)>div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .dl_news01:not(#_) dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0 1.5em 0 0;
  }

  .dl_news01:not(#_) dd {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 0 0 0 0;
  }

  .dl_news01:not(#_) .txt_label01,
  .dl_news01:not(#_) .txt_label02 {
    margin: 0 0 0 2.5em;
  }
}

/* 横並びdlリスト（dl_basic01）
--------------------------------- */
dl.dl_basic01:not(#_) dt {
  clear: left;
  float: left;
  font-weight: bold;
}

dl.dl_basic01:not(#_) dt::after {
  font-weight: normal;
  content: "：";
}

/* 横並びdlリスト：SPではdt改行（dl_basic02）
--------------------------------- */
dl.dl_basic02:not(#_) dt {
  font-weight: bold;
}

dl.dl_basic02:not(#_) dt::after {
  font-weight: normal;
  content: "：";
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px),
print {
  dl.dl_basic02:not(#_) dt {
    clear: left;
    float: left;
  }
}


/* 番号olリスト：（ol_basic-01）
--------------------------------- */
.ol_basic-01 ol {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.07em;
  color: #232424;
}



/* ==========================================================
!テキスト
========================================================== */

/* h4相当
------------------------------------ */
.h4_basic-01 h4 {
  margin: 1em 0 2em 0;
  color: #20BA7C;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}

/* 本文エリア */
.text p {
  line-height: 2;
  font-size: 16px;
  letter-spacing: 0.07em;
  color: #232424;
  margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
  .text p {
    line-height: 1.5;
    font-size: 16px;
    letter-spacing: 0.07em;
  }

}

/* どのページでつかっている？ */
.mikajima {
  text-align: right;
}

.mikajima p {
  line-height: 2;
}

@media only screen and (max-width: 1199px) {
  .mikajima p {
    display: none;
  }
}

/* 最初の一文字目に空白を入れる */
.indent-first-letter::first-letter {
  margin-left: 1em;
}

/*注釈文字*/
.txt_note01 {
  font-size: 12px;
  font-size: 1.2rem;
}

.txt_note01 li:not(:last-child) {
  margin-bottom: 0.5em;
}

/*強調*/
.txt_em01 {
  color: #20BA7C;
  font-weight: bold;
}

/*アラート*/
.txt_alert01 {
  color: #d82c2b;
  font-weight: bold;
}

/*ラベル*/
.txt_label01 {
  display: inline-block;
  min-width: 96px;
  padding: 0 0.5em 0 0.5em;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}

.txt_label01 a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.txt_label01 a:hover,
.txt_label01 a:focus {
  opacity: 0.7;
  color: inherit;
}

.txt_label01 {
  background: #20BA7C;
}

/* 768px以上（タブレット） */
@media only screen and (min-width: 768px),
print {
  .txt_label01 {
    min-width: 140px;
    font-size: 14px;
  }
}



/* ==========================================================
!コンテンツ リンクボタン
========================================================== */
.button-container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 20px;
}

.button03 a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1em 2em;
  width: 268px;
  color: #20BA7C;
  font-size: 18px;
  font-weight: 700;
  border: 2px solid #20BA7C;
  border-radius: 5px;
}

.button03 a::after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 3px solid #20BA7C;
  border-right: 3px solid #20BA7C;
  transform: rotate(45deg);
}

.button03 a:hover {
  color: #232424;
  text-decoration: none;
  background-color: #F6F8F7;
}

.button03 a:hover::after {
  border-top: 3px solid #232424;
  border-right: 3px solid #232424;
}

/* *********************************************
 * ! パンくず
 * ********************************************* */
nav[aria-label="Breadcrumb"] ul {
  list-style: none;
  padding: 0;
  display: flex;
  align-items: center;
}

nav[aria-label="Breadcrumb"] li {
  margin-right: 10px;
}

nav[aria-label="Breadcrumb"] a {
  text-decoration: none;
  color: #20BA7C;
}

nav[aria-label="Breadcrumb"] li::after {
  content: '>';
  margin-left: 10px;
}

nav[aria-label="Breadcrumb"] li:last-child::after {
  content: '';
}

nav[aria-label="Breadcrumb"] li[aria-current="page"] {
  font-weight: bold;
  color: #232424;
}




/* *********************************************
 * ! アイコン付きメニュー (主要)
 * ********************************************* */

.navi_primary {
  margin: 0px 0 20px 0;
}

.navi_primary_list li {
  margin: 0 0 10px 0;
}

.navi_primary_list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 80px;
  border: 1px solid #DFEEDA;
  border-radius: 5px;
  font-weight: bold;
  text-decoration: none;
}

.navi_primary_list [class^="icon_menu"],
.navi_primary_list [class^="icon_sns"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  width: 90px;
  margin: 0 10px 0 0;
  border-radius: 5px 0 0 5px;
  background: #F7FFF6;
}

.navi_primary_list [class^="icon_menu"]::before,
.navi_primary_list [class^="icon_sns"]::before {
  width: 60px;
  height: 60px;
}

.navi_primary_list a:hover,
.navi_primary_list a:focus,
.navi_primary_list div:hover,
.navi_primary_list div:focus,
.navi_primary_list button:hover,
.navi_primary_list button:focus {
  opacity: 0.7;
  color: #20BA7C;
  text-decoration: none;
}

.navi_primary_list a::after,
.navi_primary_list div::after,
.navi_primary_list button::after {
  color: #20BA7C;
}


/* ==========================================================
!メインメニューアイコン
========================================================== */
[class^="icon_menu"]::before,
[class*=" icon_menu"]::before,
[class^="icon_sns"]::before,
[class*=" icon_sns"]::before {
  display: block;
  width: 100px;
  height: 100px;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

/* よくある質問 */
.icon_menu01::before {
  background-image: url(./assets/images/svg/ico-qa.svg);
}

/* アクセス */
.icon_menu02::before {
  background-image: url(./assets/images/svg/ico-access.svg);
}

/* お問い合わせ */
.icon_menu03::before {
  background-image: url(./assets/images/svg/ico-mail.svg);
}



/* *********************************************
 * ! スライドショー 院内風景
 * ********************************************* */

.slider-3 .slick-slide {
  margin: 0 60px;
  padding: 60px 0;
  position: relative;
}

.slider-3 .slick-slide .slide-img {
  width: 640px;
  /* width: 600px;
  height: 400px; */
  height: 480px;
  transition: all 0.6s ease 0.4s;
  opacity: 0.8;
  box-shadow: 7px 7px 15px -5px #666;
  overflow: hidden;
}

.slider-3 .slick-slide.slick-current .slide-img {
  transform: scale(1.2);
  opacity: 1;
}

.slider-3 .slick-slide .slide-img img {
  display: block;
  /* width: 100%;
  height: 100%; */
  width: 100%;
  height: auto;
  object-fit: cover;
}


@media (max-width: 480px) {

  .slider-3 .slick-slide .slide-img img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

}

.slider-3 .slick-arrow {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 50%;
  z-index: 1;
  transform: translateY(-50%);
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

.slider-3 .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #20BA7C;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 24px;
  transform: rotate(45deg);
}

.slider-3 .slick-next {
  right: 0;
}

.slider-3 .slick-prev {
  left: 0;
}

.slider-3 .slick-next::before {
  left: 20px;
}

.slider-3 .slick-prev::before {
  border-width: 0 0 3px 3px;
  right: 22px;
}

.dots-3 .slick-dots {
  text-align: center;
}

.dots-3 .slick-dots li {
  display: inline-block;
}

.dots-3 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #D9D9D9;
  border-radius: 50%;
}

.dots-3 .slick-dots .slick-active button {
  background: #20BA7C;
}

/* *********************************************
 * ! よくある質問
 * ********************************************* */

.q-list {
  list-style: none;
  padding-left: 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
}

.q-list li {
  position: relative;
  padding-top: 6px;
  padding-left: 60px;
  margin-top: 30px;
  list-style: none;
  line-height: 2;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.07em;
  color: #232424;
}


@media screen and (max-width: 768px) {
  .q-list li {
    line-height: 1.5;
  }

}


.q-list li::before {
  content: 'Ｑ';
  background-color: #20BA7C;
  color: white;
  font-size: 24px;
  font-weight: bold;
  width: 40px;
  height: 40px;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
}

.a-list {
  list-style: none;
  padding-left: 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
}

.a-list li {
  position: relative;
  padding-left: 60px;
  padding-top: 6px;
  margin-bottom: 10px;
  list-style: none;
  line-height: 2;
  font-size: 16px;
  letter-spacing: 0.07em;
  color: #232424;
}

@media screen and (max-width: 768px) {
  .a-list li {
    line-height: 1.5;
  }

}

.a-list li::before {
  content: 'Ａ';
  background-color: #66D1A3;
  color: white;
  font-size: 24px;
  font-weight: bold;
  width: 40px;
  height: 40px;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
}


.a-list-space {
  margin-bottom: 60px;
}


/* ページ内スクロールボタン */

/* styles.css */
/* 共通スタイル */
.link-list {
  list-style: none;
  padding: 0;
}

.link-list li {
  margin-bottom: 10px;
  white-space: nowrap;
}

.link-list a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #232424;
  font-size: 16px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
}

.link-list a:hover {
  opacity: 0.7;
  text-decoration: none;
  color: #20BA7C;
}

.icon_scl-link {
  width: 16px;
  height: 16px;
  background-color: #20BA7C;
  border-radius: 50%;
  position: relative;
  margin-right: 5px;
}

.icon_scl-link::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 4px;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 7px solid white;
}

/* デスクトップスタイル */
@media (min-width: 600px) {
  .link-list {
    display: flex;
    /*justify-content: space-between;*/
    flex-wrap: wrap;
  }

  .link-list li {
    /*flex: 1;*/
    margin-bottom: 0;
  }
}

/* スマートフォンスタイル */
@media (max-width: 599px) {
  .link-list {
    display: block;
  }

  .link-list li {
    display: block;
  }
}





/* *********************************************
 * ! クリニック情報と地図
 * ********************************************* */

/* =========================================
   2カラムレイアウト（PC）/ 1カラム（SP）
========================================= */

/* 余白や最大幅（必要なら調整） */
.clinic-map-layout{
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

/* 左：クリニック情報（固定幅） */
.clinic-info{

}

/* 右：マップ（残り幅を全部使う） */
.clinic-map{
  flex: 1 1 auto;
  min-width: 0;          /* flex内のはみ出し対策 */
}

/* マップをレスポンシブに（高さは比率で維持） */
.gmap{
  width: 100%;
  height: 460px;
}

.gmap iframe{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* =========================================
   SP（縦並び）
========================================= */
@media (max-width: 900px){
  .clinic-map-layout{
    flex-direction: column;
    gap: 20px;
  }

  .clinic-info{
    width: 100%;
    flex: 0 0 auto;
  }

  /* スマホはマップを少し縦長にして見やすく */
  .gmap{
    aspect-ratio: 4 / 3;
  }
}




/* =========================================
   クリニック情報
========================================= */

/* テキスト（住所） */

.add {
  color: #232424;
  font-size: 16px;
  line-height: 1.7;
  margin: 10px 0 14px;
  letter-spacing: 0.02em;
}

/* 電話番号 */
.tel {
  --tel-icon-size: 36px; /* アイコンの基準サイズ */
  --tel-gap: 8px;       /* アイコンと番号の間隔 */
}

/* アイコン＋番号＋（代表）を1行で縦中央揃え */
.tel_num {
  color: #232424;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0;
  text-decoration: none;

  display: inline-flex;
  align-items: center;      /* 縦中央 */
  gap: var(--tel-gap);
  line-height: 1;           /* 余白を減らして中央に見せる */
}

/* 電話リンク（テーマ側の display:block 対策） */
.tel_link,
.tel_link a,
.tel_num a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: #232424;
  line-height: 1;
}

.tel_link a:hover,
.tel_num a:hover {
  text-decoration: none;
  color: #232424;
}

/* （代表）も同じ行の縦中央に合わせる */
.tel_txt {
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0;

  display: inline-flex;
  align-items: center;
  line-height: 1;
  white-space: nowrap;
}

/* 電話アイコン（icomoonの疑似要素で表示） */
.ico_tel {
  display: inline-block;
  position: relative;

  width: var(--tel-icon-size);
  height: var(--tel-icon-size);
  flex: 0 0 var(--tel-icon-size);

  padding: 0;
  color: inherit;
  vertical-align: middle;
}

.ico_tel::after {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;

  /* まずは数学的に中央 */
  transform: translateY(-50%);

  font-family: "icomoon" !important;
  font-variant: normal;
  font-weight: normal;
  font-style: normal;
  text-transform: none;

  content: "\e942";
  color: #20BA7C;
  font-size: var(--tel-icon-size);
  line-height: 1;

  /* もし見た目が微妙に上/下に見えるなら下の行を使って 0〜2px で調整 */
  /* transform: translateY(-50%) translateY(1px); */
}






/* *********************************************
 * ! 院長挨拶
 * ********************************************* */

 .footer-greeting {
  margin-top: 50px;
  text-align: right;
  font-style: italic;
}
.footer-greeting p {
  margin: 0;
}

.profile-section {
  margin-top: 20px;
}

.profile-section h2 {
  font-size: 1.5em;
  color: #232424;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  border-bottom: 2px solid #66D1A3;
  padding-bottom: 5px;
}

.profile-section ul {
  color: #232424;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", -apple-system, BlinkMacSystemFont, sans-serif;
  list-style-type: disc;
  margin-left: 20px;
}

.profile-section ul li {
  margin-bottom: 5px;
}
