@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@300;400&family=Zen+Maru+Gothic:wght@300;500;700&display=swap");

/******************************************
[column & thumbnail] カラム表示2〜6
******************************************/
.column-2n,
.thumbnail-2n {
  display: flex;
  flex-wrap: wrap;
  align-items: center; 
}

.column-2n.top,
.thumbnail-2n.top {
  align-items: start; 
}
.column-2n .column-box,
.column-2n .thumbnail-box,
.thumbnail-2n .column-box,
.thumbnail-2n .thumbnail-box {
  width: calc((100% + 60px) / 2 - 60px);
  margin: 40px 60px 0 0;
  /* フレックスアイテムの並べ替え */ 
}
  .column-2n .column-box:nth-child(-n+2),
  .column-2n .thumbnail-box:nth-child(-n+2),
  .thumbnail-2n .column-box:nth-child(-n+2),
  .thumbnail-2n .thumbnail-box:nth-child(-n+2) {
    margin-top: 0;
}
  .column-2n .column-box:nth-child(2n), .column-2n .column-box:last-child,
  .column-2n .thumbnail-box:nth-child(2n),
  .column-2n .thumbnail-box:last-child,
  .thumbnail-2n .column-box:nth-child(2n),
  .thumbnail-2n .column-box:last-child,
  .thumbnail-2n .thumbnail-box:nth-child(2n),
  .thumbnail-2n .thumbnail-box:last-child {
    margin-right: 0;
}
  .column-2n .column-box.left,
  .column-2n .thumbnail-box.left,
  .thumbnail-2n .column-box.left,
  .thumbnail-2n .thumbnail-box.left {
    order: 1;
    margin: 0 60px 0 0; 
}
  .column-2n .column-box.right,
  .column-2n .thumbnail-box.right,
  .thumbnail-2n .column-box.right,
  .thumbnail-2n .thumbnail-box.right {
    order: 2;
    margin: 0 0 0 0; 
}
  .column-2n .column-box.w100,
  .column-2n .thumbnail-box.w100,
  .thumbnail-2n .column-box.w100,
  .thumbnail-2n .thumbnail-box.w100 {
    width: 100%; 
}

/* sp */
@media screen and (max-width: 899px) {
  .column-2n,
  .thumbnail-2n {
    display: block;
	}
    .column-2n .column-box,
    .column-2n .thumbnail-box,
    .thumbnail-2n .column-box,
    .thumbnail-2n .thumbnail-box {
      width: 100%;
      margin: 0 0 20px !important; 
	}
      .column-2n .column-box:last-child,
      .column-2n .thumbnail-box:last-child,
      .thumbnail-2n .column-box:last-child,
      .thumbnail-2n .thumbnail-box:last-child {
        margin-bottom: 0; 
	} 
}
.column-3n,
.thumbnail-3n {
  display: flex;
  flex-wrap: wrap;
  align-items: center; 
}

.column-3n.top,
.thumbnail-3n.top {
  align-items: start; }
.column-3n .column-box,
.column-3n .thumbnail-box,
.thumbnail-3n .column-box,
.thumbnail-3n .thumbnail-box {
  width: calc((100% + 60px) / 3 - 60px);
  margin: 40px 60px 0 0; }
  .column-3n .column-box:nth-child(-n+3),
  .column-3n .thumbnail-box:nth-child(-n+3),
  .thumbnail-3n .column-box:nth-child(-n+3),
  .thumbnail-3n .thumbnail-box:nth-child(-n+3) {
    margin-top: 0; }
  .column-3n .column-box:nth-child(3n),
  .column-3n .thumbnail-box:nth-child(3n),
  .thumbnail-3n .column-box:nth-child(3n),
  .thumbnail-3n .thumbnail-box:nth-child(3n) {
    margin-right: 0; }

/* sp */
@media screen and (max-width: 899px) {
  .column-3n,
  .thumbnail-3n {
    display: block; }
    .column-3n .column-box,
    .column-3n .thumbnail-box,
    .thumbnail-3n .column-box,
    .thumbnail-3n .thumbnail-box {
      width: 100%;
      margin: 0 0 20px !important; }
      .column-3n .column-box:last-child,
      .column-3n .thumbnail-box:last-child,
      .thumbnail-3n .column-box:last-child,
      .thumbnail-3n .thumbnail-box:last-child {
        margin-bottom: 0; } }
.column-4n,
.thumbnail-4n {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }

.column-4n.top,
.thumbnail-4n.top {
  align-items: start; }
.column-4n .column-box,
.column-4n .thumbnail-box,
.thumbnail-4n .column-box,
.thumbnail-4n .thumbnail-box {
  width: calc((100% + 60px) / 4 - 60px);
  margin: 40px 60px 0 0; }
  .column-4n .column-box:nth-child(-n+4),
  .column-4n .thumbnail-box:nth-child(-n+4),
  .thumbnail-4n .column-box:nth-child(-n+4),
  .thumbnail-4n .thumbnail-box:nth-child(-n+4) {
    margin-top: 0; }
  .column-4n .column-box:nth-child(4n),
  .column-4n .thumbnail-box:nth-child(4n),
  .thumbnail-4n .column-box:nth-child(4n),
  .thumbnail-4n .thumbnail-box:nth-child(4n) {
    margin-right: 0; }

/* sp */
@media screen and (max-width: 899px) {
  .column-4n,
  .thumbnail-4n {
    display: block; }
    .column-4n .column-box,
    .column-4n .thumbnail-box,
    .thumbnail-4n .column-box,
    .thumbnail-4n .thumbnail-box {
      width: 100%;
      margin: 0 0 20px !important; }
      .column-4n .column-box:last-child,
      .column-4n .thumbnail-box:last-child,
      .thumbnail-4n .column-box:last-child,
      .thumbnail-4n .thumbnail-box:last-child {
        margin-bottom: 0; } }
.column-5n,
.thumbnail-5n {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }

.column-5n.top,
.thumbnail-5n.top {
  align-items: start; }
.column-5n .column-box,
.column-5n .thumbnail-box,
.thumbnail-5n .column-box,
.thumbnail-5n .thumbnail-box {
  width: calc((100% + 60px) / 5 - 60px);
  margin: 40px 60px 0 0; }
  .column-5n .column-box:nth-child(-n+5),
  .column-5n .thumbnail-box:nth-child(-n+5),
  .thumbnail-5n .column-box:nth-child(-n+5),
  .thumbnail-5n .thumbnail-box:nth-child(-n+5) {
    margin-top: 0; }
  .column-5n .column-box:nth-child(5n),
  .column-5n .thumbnail-box:nth-child(5n),
  .thumbnail-5n .column-box:nth-child(5n),
  .thumbnail-5n .thumbnail-box:nth-child(5n) {
    margin-right: 0; }

/* sp */
@media screen and (max-width: 899px) {
  .column-5n,
  .thumbnail-5n {
    display: block; }
    .column-5n .column-box,
    .column-5n .thumbnail-box,
    .thumbnail-5n .column-box,
    .thumbnail-5n .thumbnail-box {
      width: 100%;
      margin: 0 0 20px !important; }
      .column-5n .column-box:last-child,
      .column-5n .thumbnail-box:last-child,
      .thumbnail-5n .column-box:last-child,
      .thumbnail-5n .thumbnail-box:last-child {
        margin-bottom: 0; } }
.column-6n,
.thumbnail-6n {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }

.column-6n.top,
.thumbnail-6n.top {
  align-items: start; }
.column-6n .column-box,
.column-6n .thumbnail-box,
.thumbnail-6n .column-box,
.thumbnail-6n .thumbnail-box {
  width: calc((100% + 60px) / 6 - 60px);
  margin: 40px 60px 0 0; }
  .column-6n .column-box:nth-child(-n+6),
  .column-6n .thumbnail-box:nth-child(-n+6),
  .thumbnail-6n .column-box:nth-child(-n+6),
  .thumbnail-6n .thumbnail-box:nth-child(-n+6) {
    margin-top: 0; }
  .column-6n .column-box:nth-child(6n),
  .column-6n .thumbnail-box:nth-child(6n),
  .thumbnail-6n .column-box:nth-child(6n),
  .thumbnail-6n .thumbnail-box:nth-child(6n) {
    margin-right: 0; }

/* sp */
@media screen and (max-width: 899px) {
  .column-6n,
  .thumbnail-6n {
    display: block; }
    .column-6n .column-box,
    .column-6n .thumbnail-box,
    .thumbnail-6n .column-box,
    .thumbnail-6n .thumbnail-box {
      width: 100%;
      margin: 0 0 20px !important; }
      .column-6n .column-box:last-child,
      .column-6n .thumbnail-box:last-child,
      .thumbnail-6n .column-box:last-child,
      .thumbnail-6n .thumbnail-box:last-child {
        margin-bottom: 0; } }
/******************************************
[clone-nav] スクロール後グローバルナビ 
******************************************/
.clone-nav {
  position: fixed;
  z-index: 1000;
  top: -10px;
  left: 0;
  width: 100%;
  max-width: 100% !important;
  transition: .3s;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  background: #0b3c5d;
  border-bottom: 1px solid #efefef;
  padding: 10px 0;
}
  @media screen and (max-width: 899px) {
    .clone-nav {
      z-index: 0; 
	  }
      .clone-nav .header {
        height: 50px !important; 
	  }
        .clone-nav .header-right {
          display: none; 
	  }
        .clone-nav .header-left .logo {
          padding: 0 !important; 
	  } 
}

.is-show {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  top: 0; 
}

.button, .telBtn {
  display: none; 
}

/******************************************
[topics]
******************************************/
.topics {
  /* sp */ }
  .topics-detail {
    border: 1px solid #333;
    border-radius: 15px;
    padding: 30px 30px 60px; }
    .topics-detail .topics_title {
      font-size: 1.25rem;
      color: #18937e;
      font-weight: 700;
      border-bottom: 1px solid #18937e;
      padding-bottom: 10px;
      margin-bottom: 10px; }
    .topics-detail .topics_date {
      font-size: 0.875rem;
      text-align: right; }
    .topics-detail .topics_thumb img {
      height: auto;
      max-height: 400px;
      display: block;
      margin: auto; }
    .topics-detail .topics_body {
      margin-top: 20px; }
      .topics-detail .topics_body a {
        text-decoration: underline; }
  @media screen and (max-width: 899px) {
    .topics li, .topics-list li {
      margin: 0 0 10px;
      padding: 0 0 10px; }
      .topics li a, .topics-list li a {
        font-size: 0.875rem;
        display: block; }
        .topics li a span, .topics-list li a span {
          display: block;
          line-height: 1.5; }
    .topics-detail {
      padding: 15px; }
      .topics-detail .topics_title {
        font-size: 1.125rem; }
      .topics-detail .topics_date {
        font-size: 0.875rem; } }

/* トピックスページャー */
.topics_paging {
  margin: 40px 0 0;
  clear: both;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  /* sp */ }
  .topics_paging li {
    font-size: 0.875rem;
    line-height: 1;
    text-align: center;
    width: 24px !important;
    height: 24px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 4px !important;
    list-style: none;
    border: 1px solid #8e9090 !important;
    padding: 0 !important; }
    .topics_paging li a {
      font-size: 0.875rem;
      color: #18937e;
      text-decoration: underline;
      display: block;
      padding: 5px; }
  @media screen and (max-width: 899px) {
    .topics_paging li {
      width: auto;
      font-size: 0.75rem;
      padding: 2px; }
      .topics_paging li a {
        font-size: 0.75rem; } }

/******************************************
[floatImg] 画像回り込み
******************************************/
.floatImg {
  overflow: hidden;
  /* sp */ 
}
  .floatImg-left, .floatImg-right {
    font-size: 1rem;
    text-align: center;
    display: block; 
}
    .floatImg-left img,
    .floatImg-left .floatImg-photo, .floatImg-right img,
    .floatImg-right .floatImg-photo {
      margin-bottom: 10px;
      display: block; 
}
  .floatImg p {
    overflow: hidden; 
}
  .floatImg-right {
    float: right;
    margin: 0 0 20px 40px; 
}
  .floatImg-left {
    float: left;
    margin: 0 40px 20px 0; 
}
  @media screen and (max-width: 899px) {
    .floatImg-left, .floatImg-right {
      float: none;
      margin: 0 auto 20px; 
	  }
      .floatImg-left img, .floatImg-right img {
        height: auto; 
	  } 
}

/******************************************
ローディング　loading
******************************************/
#load_animation {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 10000;
  background-color: #0b3c5d;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; 
}
  #load_animation .load-icon {
    padding: 50px 0; 
}
    #load_animation .load-icon img {
      width: 50vh;
      height: auto;
      display: none; 
}
 
/******************************************
基本テーブルデザイン
******************************************/
table.basic {
  width: 100%;
  table-layout: fixed;
  /* sp */ }
  table.basic tr {
    border-bottom: 1px dashed #8e9090; }
    table.basic tr > th, table.basic tr td {
      vertical-align: top;
      padding: 20px 0; }
    table.basic tr > th {
      text-align-last: justify; }
    table.basic tr > td {
      padding-left: 50px; }
    table.basic tr:first-child {
      border-top: 1px dashed #8e9090; }
  @media screen and (max-width: 899px) {
    table.basic tr > th, table.basic tr td {
      font-size: 0.75rem;
      padding: 15px 0; }
    table.basic tr > th {
      width: 80px; }
    table.basic tr > td {
      padding-left: 20px; } }

/******************************************
[global]
******************************************/
html,
body {
  height: 100%;
  margin: auto; 
}

html {
  -webkit-overflow-scrolling: touch;
}

body {
  font-family: "Noto Sans JP", "Source Han Sans", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 18px;
  font-weight: 450;
  line-height: 1.5;
  color: #080808;
  -webkit-text-size-adjust: none;
  overflow-x: hidden;
  }
  @media screen and (max-width: 899px) {
    body {
      font-size: 16px;
      line-height: 1.6;
	  }
}

@media screen and (max-width: 899px) {
  main {
    padding-top: 70px; 
	} 
}

.inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  z-index: 0;
}

/* sp */
@media screen and (max-width: 899px) {
  .inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
	}
}
img {
  max-width: 100%;
  height: auto;
}

a {
  color: black;
}
  a:hover {
    text-decoration: underline;
}

p {
  line-height: 1.8;
  text-align: justify;
}
  p a {
    color: #0b3c5d;
    text-decoration: underline; 
}

br.space {
  content: "";
  display: block;
  margin: 15px 0; 
}

hr {
  margin: 0;
  padding: 50px 0;
  border: 0;
  /*margin: 0;
  padding: 40px 0;
  border: 0;
  &:before {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background: $green;
  }*/ }
  hr:before {
    content: "";
    display: block;
    width: 100%;
    height: 20px;
    background: url("../img/hr.png") center repeat-x;
    background-size: contain;
    opacity: 0.7; }

ul.normal {
  padding-left: 1.5em; }
  ul.normal li {
    list-style: disc;
    margin: 10px 0; }

.radius {
  border-radius: 20px; }

.fz0 {
  font-size: 0; }

@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
.mt0 {
  margin-top: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.ml0 {
  margin-left: 0px !important; }

.mr0 {
  margin-right: 0px !important; }

.pt0 {
  padding-top: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pl0 {
  padding-left: 0px !important; }

.pr0 {
  padding-right: 0px !important; }

.mt10 {
  margin-top: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.mt20 {
  margin-top: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.mt30 {
  margin-top: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

.mt40 {
  margin-top: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.mt50 {
  margin-top: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pl50 {
  padding-left: 50px !important; }

.pr50 {
  padding-right: 50px !important; }

.mt60 {
  margin-top: 60px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.ml60 {
  margin-left: 60px !important; }

.mr60 {
  margin-right: 60px !important; }

.pt60 {
  padding-top: 60px !important; }

.pb60 {
  padding-bottom: 60px !important; }

.pl60 {
  padding-left: 60px !important; }

.pr60 {
  padding-right: 60px !important; }

.mt70 {
  margin-top: 70px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.ml70 {
  margin-left: 70px !important; }

.mr70 {
  margin-right: 70px !important; }

.pt70 {
  padding-top: 70px !important; }

.pb70 {
  padding-bottom: 70px !important; }

.pl70 {
  padding-left: 70px !important; }

.pr70 {
  padding-right: 70px !important; }

.mt80 {
  margin-top: 80px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.ml80 {
  margin-left: 80px !important; }

.mr80 {
  margin-right: 80px !important; }

.pt80 {
  padding-top: 80px !important; }

.pb80 {
  padding-bottom: 80px !important; }

.pl80 {
  padding-left: 80px !important; }

.pr80 {
  padding-right: 80px !important; }

.mt90 {
  margin-top: 90px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.ml90 {
  margin-left: 90px !important; }

.mr90 {
  margin-right: 90px !important; }

.pt90 {
  padding-top: 90px !important; }

.pb90 {
  padding-bottom: 90px !important; }

.pl90 {
  padding-left: 90px !important; }

.pr90 {
  padding-right: 90px !important; }

.mt100 {
  margin-top: 100px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.ml100 {
  margin-left: 100px !important; }

.mr100 {
  margin-right: 100px !important; }

.pt100 {
  padding-top: 100px !important; }

.pb100 {
  padding-bottom: 100px !important; }

.pl100 {
  padding-left: 100px !important; }

.pr100 {
  padding-right: 100px !important; }

/******************************************
[PC・SP表示非表示]
******************************************/
.pc {
  display: inline-block !important; }
  @media screen and (max-width: 899px) {
    .pc {
      display: none !important; } }

.sp {
  display: none !important; }
  @media screen and (max-width: 899px) {
    .sp {
      display: inline-block !important; } }

/******************************************
[文字拡大・縮小]
******************************************/
.big {
  font-size: 120% !important;
  font-weight: 700;
  /* sp */ }
  @media screen and (max-width: 899px) {
    .big {
      line-height: 1.6; } }

small {
  font-size: 80%; }

/******************************************
[テキスト揃え]
******************************************/
.t-center {
  text-align: center; }

.t-center-pc {
  text-align: center; }
  @media screen and (max-width: 899px) {
    .t-center-pc {
      text-align: justify; } }

.t-left {
  text-align: left; }

.t-right {
  text-align: right; }

/******************************************
[左右寄せ float]
******************************************/
.f-left {
  float: left;
  margin: 0 40px 0 0; }

.f-right {
  float: right;
  margin: 0 0 0 40px; }

/* sp */
@media screen and (max-width: 899px) {
  .f-left,
  .f-right {
    float: none;
    display: block;
    margin: 0 0 20px 0; } }
/******************************************
[テキストカラー]
******************************************/
.color-main {
  color: #18937e; }

.color-sub {
  color: #f9fff3; }

.black {
  color: #333; }

.white {
  color: #fff; }

.red {
  color: #ff6666; }

.orange {
  color: #ff9900; }

.yellow {
  color: #fff000; }

.green {
  color: #669933; }

.blue {
  color: #195fb5; }

.brown {
  color: #a07854; }

.gray {
  color: #8e9090; }

.gray-light {
  color: #efefef; }

/******************************************
[見出し]
******************************************/
h3 {
  font-size: 2.1875rem;
  text-align: center;
  font-weight: 700;
  letter-spacing: 5px;
  text-indent: 5px;
  line-height: 1.4;
  margin-bottom: 50px;
  color: #0b3c5d;
  z-index: 1; 
}

/* sp */
@media screen and (max-width: 899px) {
  h3 {
    font-size: 1.5625rem;
    letter-spacing: 0;
    text-indent: 0;
    margin-bottom: 40px; 
	}
    h3 .eng {
      font-size: 1.125rem; 
	} 
}
h4 {
  font-size: 1.7rem;
  color: #ff5722;
  line-height: 1.2;
  font-weight: 700;
  padding-bottom: 15px;
  margin-bottom: 20px;
  display: inline-block;
  align-items: center;
  position: relative; /* 疑似要素用 */
}

/* しずく型の点々（border-bottom の代替） */
h4::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 12px; /* 点々の高さ */
  background: radial-gradient(circle, #328cc1 40%, transparent 50%);
  background-size: 12px 12px; /* 点々の大きさ */
  background-repeat: repeat-x;
}

/* sp */
@media screen and (max-width: 899px) {
  h4 {
    font-size: 1.25rem;
    line-height: 1.2;
	} 
}
h5 {
  font-size: 1.5625rem;
  color: #ff9900;
  line-height: 1.2;
  font-weight: 500;
  margin-bottom: 20px; }

@media screen and (max-width: 899px) {
  h5 {
    font-size: 1.125rem; } }
/******************************************
[header]
******************************************/
header {
  width: 100%;
  z-index: 100;
  background: #0b3c5d; 
}

.header {
  margin: auto;
  padding: 40px;
  display: flex;
  align-items: center;
  line-height: 1; 
}
  .header > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center; 
}
  .header-left {
    width: 318px;
    padding-right: 20px; 
}
    .header-left .logo {
      font-size: 0; 
}
      .header-left .logo a {
        font-size: 0; 
}
      .header-left .logo img {
        width: 100%;
        height: auto; 
}
  .header-right {
    flex: 1;
    justify-content: flex-end; 
}
    .header-right .tel a{
  font-size: 2.8rem; /* 文字をさらに大きく */
  font-weight: bold; /* 太字で強調 */
  background: #ff5722; /* 目立つオレンジ色の背景 */
  color: #fff; /* 白文字でコントラストをつける */
  padding: 10px 20px; /* 上下左右に余白を追加 */
  border-radius: 10px; /* 角を丸くする */
  display: flex;
  align-items: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影をつける */
}

.header-right .tel i {
  margin-right: 10px;
  font-size: 3rem; /* アイコンも大きく */
  color: #fff; /* アイコンの色も白に */
}

    .header-right .icon {
      display: flex;
      align-items: center;
      margin-left: 10px; 
}
      .header-right .icon img {
        width: 60px;
        height: 60px;
        margin-left: 10px; 
}
    .header-right nav {
      width: 100%; 
}

/* sp */
@media screen and (max-width: 899px) {
  .header {
    padding: 5px 60px;
    display: flex;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: #0b3c5d;
    height: 60px; 
	z-index: 100;
	}
    .header > div {
      width: initial;
      display: block; 
	}
    .header-left {
      padding-right: 0; 
	}
      .header-left .logo img {
        width: 100%;
        max-width: initial;
        height: auto;
        max-height: 50px;
	}
    .header-right .tel {
      display: none; 
	}
    .header-right .icon {
      display: none; 
	}
    .header-right nav {
      width: 250px;
	} 
}
/******************************************
[footer]
******************************************/
footer {
  background: #328cc1;
  padding: 20px 0 20px; 
}

/* sp */
@media screen and (max-width: 899px) {
  footer {
    padding: 20px 0; 
	}
}
.footer {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
  .footer-left {
    width: 500px; 
}
    .footer-left p {
      color: #fff;
      line-height: 1.4; 
}
.footer-left a {
      color: #fff;
      line-height: 1.4; 
}
      .footer-left p.note {
        color: #333; 
}
        .footer-left p.note:first-of-type {
          margin-top: 10px !important; 
}
    .footer-left .add {
      float: left; 
}
    .footer-left .icon {
      font-size: 0;
      float: left;
      margin-left: 10px; 
}
      .footer-left .icon img {
        width: 25px;
        margin: 0 5px;
        border-radius: 2px;
        border: 2px solid #fff;
}
    .footer-left .tel {
      clear: both;
}
  .footer-right {
    width: 620px; 
}
  .footer-logo {
    margin-bottom: 10px;
}
    .footer-logo img {
      width: 400px; 
}
  .footer-nav {
    display: flex;
    justify-content: center; 
}
    .footer-nav > li {
      display: flex;
      align-items: center;
}
      .footer-nav > li:before, .footer-nav > li:last-child {
        color: #fff; 
}
      .footer-nav > li:before {
        content: "■";
        display: inline-block; 

}
      .footer-nav > li:last-child:after {
        content: "■";
        display: inline-block; 
}
      .footer-nav > li a {
        font-size: 1.125rem;
        color: #fff;
        line-height: 1;
        font-weight: 500;
        text-align: center;
        padding: 5px 10px;
        margin: auto;
        display: block;
        transition: .1s; 
}

/* sp */
@media screen and (max-width: 899px) {
  .footer {
    flex-wrap: wrap;
    margin-bottom: 30px; 
	}
    .footer-left {
      width: 100%; 
	}
      .footer-left .icon {
        margin: 5px 10px 5px 0;
	}
    .footer-right {
      width: 100%;
      margin-top: 40px; 
	}
    .footer-logo {
      margin-bottom: 10px; 
	}
      .footer-logo img {
        width: auto;
        height: 40px; 
	}
    .footer-schedule {
      margin-top: 20px;
      padding: 5px 20px 10px;
      background: #fff;
      border-radius: 20px;
	}
    .footer-nav {
      display: none;
	}
}
/* コピーライト */
.copy {
  font-size: 0.75rem;
  background: #328cc1;
  font-weight: normal;
  text-align: center;
  line-height: 1;
  padding: 20px 0;
}

/* sp */
@media screen and (max-width: 899px) {
  .copy {
    font-size: 0.625rem;
    padding: 15px 0; 
	} 
}
/******************************************
[section]
******************************************/
section {
  padding: 100px 0;
  overflow: hidden; 
}
  section:nth-child(odd) {
    background: #f5f5f5; 
}

/* sp */
@media screen and (max-width: 899px) {
  section {
    padding: 50px 0; 
	} 
}
/******************************************
[グローバルナビ]
******************************************/
nav {
  margin-top: 12px;
  /* ドロップダウン */ 
}
  nav > ul {
    margin: auto;
    display: flex;
    justify-content: flex-end;
    align-items: center; 
}
    nav > ul > li {
      display: flex;
      align-items: center;
}
      nav > ul > li:before {
        content: "■";
		color:#F2FF19;
        display: inline-block; 
}
      nav > ul > li:last-child:after {
        content: "■";
		 color:#F2FF19;
        display: inline-block; 
}
      nav > ul > li > a {
        font-size: 1.4rem;
		color: #fff;
        line-height: 1;
        font-weight: 500;
        text-align: center;
        padding: 5px 13px;
        margin: auto;
        display: block;
        transition: .1s; 
}
        @media screen and (min-width: 900px) {
          nav > ul > li > a:hover {
            text-decoration: none;
            background: #0b3c5d;
            color: #fff;
			}
}
  nav .nav-main > a:after {
    color: #328cc1;
    font-family: "icomoon";
    content: "\e905";
    display: inline-block;
    position: absolute;
    right: 0;
    left: 0;
    bottom: -13px;
    margin: auto;
    z-index: 2; 
}
  nav .nav-main > a:hover:after {
    color: #328cc1; 
}
  nav .nav-main .nav-sub {
    transition: .4s;
    visibility: hidden;
    opacity: 0;
    width: calc(100% + 40px);
    padding: 0;
    position: absolute;
    top: 100%;
    left: -15px;
    right: 0;
    margin: auto;
    background: #0b3c5d;
    z-index: 100;
    box-shadow: 0 0 10px rgba(51, 51, 51, 0.3);
}
    nav .nav-main .nav-sub:after {
      content: "";
      position: absolute;
      top: -10px;
      left: 0;
      right: 0;
      margin: auto;
      display: block;
      width: 0px;
      height: 0px;
      border-style: solid;
      border-width: 0 10px 10px 10px;
      border-color: transparent transparent #328cc1 transparent; 
}
    nav .nav-main .nav-sub li {
      border-bottom: 1px dashed #fff; 
}
      nav .nav-main .nav-sub li:last-child {
        border-bottom-width: 0; 
}
      nav .nav-main .nav-sub li a {
        display: block;
        font-size: 1rem;
        text-align: center;
        color: #fff;
        padding: 15px 0;
        margin: 0 auto; 
}

        @media screen and (min-width: 900px) {
          nav .nav-main .nav-sub li a:hover {
            color: #fff;
            text-decoration: none;
            background: #0b3c5d; 
			}
}
  nav .nav-main:hover .nav-sub {
    visibility: visible;
    opacity: 1;
    top: 45px;
    z-index: 1; 
}
  nav .spNav-info {
    display: none;
}

/* sp */
@media screen and (max-width: 899px) {
  nav {
    position: fixed;
    top: -100%; /* 初期状態では上に隠れている */
    left: 0;
    width: 100%; /* 横幅を100%にして全画面で開く */
    height: auto; /* 高さをコンテンツに応じて調整 */
    background: #0b3c5d;
    overflow-y: auto;
    z-index: 1000000;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: top 0.5s ease-in-out; /* 上下スライドのアニメーション */
    transition: top 0.5s ease-in-out;
    padding: 20px 0;
  }
	
    nav > ul {
      display: block;
      width: 100%;
	}
      nav > ul li {
        display: block;
        background: #0b3c5d;
        border-bottom: 1px solid #F2FF19;
	}
        nav > ul li a {
          font-size: 0.9375rem;
          color: #fff;
          padding: 15px 10px;
	}
          nav > ul li a span {
            color: #fff; 
	}
        nav > ul li:before, nav > ul li:after {
          display: none !important; 
	}
    nav .nav-main {
      padding-bottom: 15px; 
	}
      nav .nav-main > a {
        color: #fff;
        padding-bottom: 5px; 
	}
        nav .nav-main > a:after {
          display: none; 
	}
      nav .nav-main .nav-sub {
        visibility: visible;
        opacity: 1;
        width: 90%;
        padding: 0;
        position: initial;
        margin: 10px auto 0;
        background: #0b3c5d;
        box-shadow: none; 
	}
        nav .nav-main .nav-sub:after {
          top: 35px;
          left: 0%;
          right: 0%;
          margin: auto;
          border-width: 0 10px 10px 10px;
          border-color: transparent transparent #fff transparent;
	}
        nav .nav-main .nav-sub li {
          border-bottom: 2px dashed #F2FF19; 
	}
          nav .nav-main .nav-sub li:last-child {
            border-bottom-width: 0; 
	}
          nav .nav-main .nav-sub li a {
            color: #fff;
            background: #0b3c5d;
            text-align: left;
            display: block;
            padding: 10px;
            line-height: 1;
	}
            nav .nav-main .nav-sub li a:hover {
              text-decoration: none;
              color: #f9fff3;
              background: #0b3c5d; 
	}
              nav .nav-main .nav-sub li a:hover i {
                background: #0b3c5d;
	}
    nav .spNav-info {
      display: block;
      padding: 15px; 
	}
      nav .spNav-info p {
        font-size: 0.875rem;
        color: #fff;
        margin-top: 10px;
        line-height: 1.5; 
	}
      nav .spNav-info a {
        color: #fff; 
	}
      nav .spNav-info-logo {
        text-align: center;
        margin: 0 auto; 
	}
        nav .spNav-info-logo img {
          width: 200px;
          height: auto; 
	}
      nav .spNav-info .spNav-info-tel {
        font-size: 1.5625rem;
        font-weight: 600;
	}
        nav .spNav-info .spNav-info-tel i {
          margin-right: 5px; 
	}
}
/* スマホ用グローバルナビボタン
******************************************/
.splogo, .button, .telBtn {
  display: none; 
}


@media screen and (max-width: 899px) {
  .splogo {
    text-align: center;
    display: block;
    position: fixed;
    top: 0;
    width: 100%;
    height: 70px;
    padding: 10px 70px;
    z-index: 1000;
    background: #0b3c5d;
    border-bottom: 1px solid #F2FF19; 
	}
    .splogo img {
      height: 45px; 
	}

  .button, .telBtn {
    display: block !important; 
	}

  .button,
  .telBtn,
  .screen {
    position: fixed;
    -webkit-transition: .2s;
    transition: .2s;
	}

  .button,
  .telBtn {
    background: #0b3c5d;
    top: 5px;
    width: 50px;
    height: 50px;
    border-radius: 2px;
    z-index: 1000000;
    cursor: pointer; 
	}
    .button:after,
    .telBtn:after {
      font-size: 0.75rem;
      bottom: 3px; 
	}
    .button.fixed,
    .telBtn.fixed {
      top: 5px; 
	}

  .button {
    left: 5px;
    outline: none;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
	/* メニューが開いたときのボタン */
  .open .button {
    background: white;
    transform: translateY(80px); /* メニューが開いたとき、ボタンも少し下に移動 */
    -webkit-transform: translateY(80px);
  }
    .button:after {
      content: "";
      text-align: center;
      color: #328cc1;
      display: block;
      position: absolute;
      width: 100%; 
	}
    .button .bar {
      display: block;
      position: absolute;
      top: 17px;
      right: 0;
      left: 0;
      width: 36px;
      height: 3px;
      margin: auto;
      background: #fff; 
	}
      .button .bar:before, .button .bar:after {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        left: 0;
        width: 36px;
        height: 3px;
        margin: auto;
        background: #fff; 
	}
      .button .bar:before {
        top: -9px; 
	}
      .button .bar:after {
        top: 9px; 
	}

  /* メニューが開いたとき */
  .open nav {
    top: 0; /* メニューを下げて表示する */
  }
  .open .button {
    background: white;
    transform: translate(260px, 0);
    -webkit-transform: translate(260px, 0);
	}
    .open .button:after {
      content: "";
      color: #F2FF19;
      bottom: 1px; 
	}
  .open .telBtn {
    z-index: 999999; 
	}
  .open .bar {
    background: none;
	}
    .open .bar:before, .open .bar:after {
      top: 0;
      background: #F2FF19;
	}
    .open .bar:before {
      transform: rotate(45deg);
      -webkit-transform: rotate(45deg); 
	}
    .open .bar:after {
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
	}
  .open .screen {
    opacity: .8;
    visibility: visible;
	}

  .telBtn {
    right: 5px;
    padding: 5px 0;
    text-align: center; 
	}
    .telBtn:after {
      content: "TEL";
      text-align: center;
      color: #fff;
      display: block;
      position: absolute;
      width: 100%; 
	}
    .telBtn i {
      color: #fff;
      font-size: 1.75rem; 
	}
    .telBtn2 {
      top: 65px; 
	}
      .telBtn2:after {
        content: "MOBILE"; 
	}

  .screen {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #1d2731;
    opacity: 0;
    visibility: hidden;
    z-index: 999999;
	} 
}
/* クローンナビ */
.clone-nav {
  width: 100%;
  z-index: 1000;
  position: fixed;
  left: 0;
  top: 0;
  max-width: 100% !important;
  transition: 0.3s;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  background: #0b3c5d;
  border-top-width: 0;
  padding: 10px 20px;
  display: flex;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.25); }
  .clone-nav.is-show {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    top: 0; }

/* sp */
@media screen and (max-width: 899px) {
  .clone-nav {
    display: none;
    width: 100%;
    height: 51px;
    padding: 5px 0;
	}
    .clone-nav.is-show .clone-navi-logo {
      margin: 0 auto; 
	}
      .clone-nav.is-show .clone-navi-logo img {
        height: 40px; 
	}
    .clone-nav ul {
      display: none;
	}
    .clone-nav .spNav-info {
      display: none; 
	}
}

/******************************************
[totop] トップへ戻るボタン
******************************************/
.pagetop {
  position: fixed;
  z-index: 10;
  transition: .3s;
}

.pagetop {
  position: fixed;
  z-index: 10;
  transition: .3s;
  bottom: 0;
  right: 0px;
  width: 100px;
  height: 100px; 
}
  .pagetop a {
    font-size: 0;
    display: block;
}
  @media screen and (min-width: 900px) {
    .pagetop:hover a {
      text-decoration: none; 
	  } 
}
  .pagetop.fade {
    right: 3px; 
}
    @media screen and (min-width: 900px) {
      .pagetop.fade:hover {
        right: -5px; 
		}
}

/* sp */
@media screen and (max-width: 899px) {
  .pagetop {
    width: 50px;
    height: 72px;
    right: -50px; 
	}
    .pagetop.fade {
      right: -5px;
	} 
}




/******************************************
[google map]
******************************************/
.gmap {
  overflow: hidden;
  border: 5px solid #F2FF19;
  height: 400px;
}

/* sp */
@media screen and (max-width: 899px) {
  .gmap {
    height: 300px; 
	}
    .gmap iframe {
      width: 100%;
      height: 300px; 
	} 
}
/******************************************
[画像・ボックスの影]
******************************************/
.shadow-1 {
  box-shadow: 5px 5px 0px 0px rgba(249, 255, 243, 0.5); }

.shadow-2 {
  box-shadow: 10px 10px 0px 0px rgba(249, 255, 243, 0.5); }

.shadow-3 {
  box-shadow: 5px 5px 5px 0px rgba(249, 255, 243, 0.5); }

/******************************************
注釈.note
******************************************/
.note {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  text-indent: -1em;
  padding: 0 0 0 1em;
  margin: 5px 0 !important;
  display: block; }
  .note-big {
    font-size: initial;
    line-height: 1.5;
    text-indent: -1em;
    padding: 0 0 0 1em;
    display: block; }

/* sp */
@media screen and (max-width: 899px) {
  .note {
    font-size: 0.75rem; } }
/******************************************
[topics] トピックス
******************************************/
.topics.news ul li {
  width: 100%;
  border-top: 1px dashed #8e9090; }
  .topics.news ul li:first-child {
    border-top-width: 0; }
    .topics.news ul li:first-child a {
      padding-top: 0; }
  .topics.news ul li .topics_date {
    font-weight: 600;
    display: inline-block;
    margin: 0 10px 0 0;
    color: #18937e;
    /*background: $black;
    border-radius: 100px;
    padding: 0 15px 3px 15px;*/ }
  .topics.news ul li .topics_title {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block; }
  .topics.news ul li a {
    font-size: 1rem;
    display: flex;
    padding: 15px 0; }
@media screen and (min-width: 900px) {
  .topics.news .btn {
    margin-top: 10px; } }
.topics.detail {
  border: 1px solid #8e9090;
  border-radius: 5px;
  padding: 30px;
  background: #fff; }
  .topics.detail .topics_title {
    font-size: 1.25rem;
    font-weight: 700; }
  .topics.detail .topics_date {
    font-size: 0.875rem;
    text-align: right;
    margin-top: 10px; }
  .topics.detail .topics_thumb img {
    height: auto;
    max-height: 400px;
    display: block;
    margin: auto; }
  .topics.detail .topics_body {
    margin-top: 20px; }
    .topics.detail .topics_body a {
      text-decoration: underline; }
.topics.thumbnail ul {
  display: flex; }
  .topics.thumbnail ul li {
    width: 25%;
    margin: 0 2% 0 0; }
    .topics.thumbnail ul li:last-child {
      margin-right: 0; }
    .topics.thumbnail ul li a {
      display: block;
      line-height: 1.2; }
    .topics.thumbnail ul li .topics_thumb {
      width: 100%;
      height: 220px;
      display: block;
      margin-bottom: 5px;
      overflow: hidden;
      background: url("../img/_dummy-staff.jpg") center no-repeat;
      background-size: cover; }
      .topics.thumbnail ul li .topics_thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .topics.thumbnail ul li .topics_title {
      font-size: 1rem;
      padding: 0; }
.topics.faq ul li {
  width: 100%;
  border-top: 1px dashed #8e9090;
  padding: 40px 0; }
  .topics.faq ul li:first-child {
    border-top-width: 0; }
    .topics.faq ul li:first-child a {
      padding-top: 0; }
  .topics.faq ul li a {
    display: block !important;
    pointer-events: none; }
    .topics.faq ul li a > p {
      line-height: 1.6; }
      .topics.faq ul li a > p:before {
        content: "";
        width: 27px;
        height: 30px;
        display: block;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        left: 0;
        top: 0;
        margin: auto; }
  .topics.faq ul li:last-child {
    margin-bottom: 0 !important; }
.topics.faq .topics_title {
  font-size: 1.5625rem;
  line-height: 1.2;
  padding-left: 37px;
  text-overflow: inherit !important;
  white-space: inherit !important; }
  .topics.faq .topics_title:before {
    background-image: url("../img/icon-faq-q.png"); }
.topics.faq .topics_body {
  font-size: 1.125rem;
  padding-left: 67px;
  margin-top: 10px !important; }
  .topics.faq .topics_body:before {
    background-image: url("../img/icon-faq-a.png");
    left: 30px;
    bottom: inherit; }

/* sp */
@media screen and (max-width: 899px) {
  .topics.news ul li:first-child {
    border-top-width: 1px; }
  .topics.news ul li:last-child {
    border-bottom: 1px dashed #8e9090; 
	}
  .topics.news ul li .topics_date {
    display: inline-block; }
  .topics.news ul li .topics_title {
    padding-left: 0; }
  .topics.news ul li a {
    display: block;
    padding: 10px 0; }
  .topics.detail {
    border: 1px solid #8e9090;
    border-radius: 5px;
    padding: 30px; }
    .topics.detail .topics_title {
      font-size: 1.125rem; }
    .topics.detail .topics_date {
      font-size: 0.875rem;
      text-align: right;
      margin-top: 10px; }
    .topics.detail .topics_thumb img {
      height: auto;
      max-height: 400px;
      display: block;
      margin: auto; }
    .topics.detail .topics_body {
      margin-top: 20px; }
      .topics.detail .topics_body a {
        text-decoration: underline; }
  .topics.thumbnail ul {
    flex-wrap: wrap; }
    .topics.thumbnail ul li {
      width: 48%;
      margin: 4% 4% 0 0; }
      .topics.thumbnail ul li:nth-child(2n) {
        margin-right: 0; }
      .topics.thumbnail ul li .topics_thumb {
        height: 35vw; }
      .topics.thumbnail ul li .topics_title {
        font-size: 0.875rem; } }
/******************************************
[sideBnr] 追随バナー
******************************************/
.sideBnr {
  position: fixed;
  right: -25px;
  top: 20%;
  z-index: 10;
  transition: .1s;
  /* sp */ }
  .sideBnr a {
    font-size: 1.125rem;
    color: #18937e;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background: #f9fff3;
    border-radius: 8px 0 0 8px;
    padding: 65px 40px 30px 15px;
    display: block;
    line-height: 1; }
    .sideBnr a span {
      line-height: 1;
      font-size: 0.9375rem;
      display: block;
      text-align: center; }
    .sideBnr a img {
      width: 40px;
      height: 29px;
      position: absolute;
      top: 30px;
      left: 12px; }
  .sideBnr:hover {
    right: 0px; }
    .sideBnr:hover a {
      text-decoration: none; }
  @media screen and (max-width: 899px) {
    .sideBnr {
      width: 100%;
      right: 0;
      left: 0;
      top: auto;
      bottom: 0; }
      .sideBnr a {
        font-size: 1rem;
        line-height: 1;
        text-align: center;
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        border-width: 0;
        border-radius: 0;
        padding: 10px;
        display: block; } }

.sideSchedule {
  position: fixed;
  right: -675px;
  top: 35%;
  z-index: 10;
  transition: .5s;
  background: #fff;
  padding: 20px 20px 30px 90px;
  border-radius: 20px 0 0 20px;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.25); }
  .sideSchedule .schedule {
    margin-bottom: 10px; }
    .sideSchedule .schedule caption {
      font-size: 1.5625rem;
      text-align: center;
      color: #fff;
      letter-spacing: 10px;
      text-indent: 10px;
      line-height: 0.9;
      text-align: center;
      -ms-writing-mode: vertical-lr;
      writing-mode: vertical-lr;
      position: absolute;
      top: -20px;
      bottom: -137px;
      left: -90px;
      margin: auto;
      padding: 0 28px 0 22px;
      display: flex;
      justify-content: center;
      align-items: inherit;
      background: #669933;
      border-radius: 20px 0 0 20px; }
      .sideSchedule .schedule caption img {
        width: 25px;
        height: 24px; }
    .sideSchedule .schedule th, .sideSchedule .schedule td {
      font-size: 1.25rem;
      padding: 20px 10px; }
    .sideSchedule .schedule .call {
      font-size: 1rem; }
  .sideSchedule:hover {
    right: 0; }
  .sideSchedule .note {
    font-size: 1rem;
    margin: 0 !important; }

/* sp */
@media screen and (max-width: 899px) {
  .sideSchedule {
    display: none; } }
/******************************************
[.imgTxt] 画像とテキストのセット
******************************************/
.imgTxt {
  display: flex;
  padding: 20px 0;
}
  .imgTxt-img {
    font-size: 0;
    width: 450px;
    margin: 0 80px 0 0;
}
    
  .imgTxt-txt {
    flex: 1; 
}
  .imgTxt .ttl {
    font-size: 1.5625rem;
    line-height: 1.4;
    font-weight: 700;
    margin-bottom: 20px;
    color: #18937e;
}
  .imgTxt.odd .imgTxt-img {
    margin: 0 0 0 80px;
    order: 2; 
}
  .imgTxt.odd .imgTxt-txt {
    order: 1; 
}
  .imgTxt.mini .imgTxt-img {
    width: 340px;
    order: 1 !important;
    margin: 0 40px 0 0 !important; 
}
  .imgTxt.mini .imgTxt-txt {
    width: 200px;
    order: 2 !important;
}
    .imgTxt.mini .imgTxt-txt .ttl {
      margin-bottom: 5px; 
}

/* sp */
@media screen and (max-width: 899px) {
  .imgTxt,
  .imgTxt.mini {
    display: block;
    width: 100%;
    max-width: 600px;
    margin: auto; 
	}
    .imgTxt .imgTxt-img,
    .imgTxt .imgTxt-txt,
    .imgTxt.mini .imgTxt-img,
    .imgTxt.mini .imgTxt-txt {
      width: 100%; 
	}
    .imgTxt .imgTxt-img,
    .imgTxt.mini .imgTxt-img {
      margin: 0 0 20px !important; 
	}
      .imgTxt .imgTxt-img img,
      .imgTxt.mini .imgTxt-img img {
        margin: auto;
        display: block;
	}
    .imgTxt .imgTxt-txt,
    .imgTxt.mini .imgTxt-txt {
      padding: 0 !important; 
	}
    .imgTxt .ttl,
    .imgTxt.mini .ttl {
      font-size: 1.25rem; 
	}
    .imgTxt:nth-of-type(even) .imgTxt-txt,
    .imgTxt.mini:nth-of-type(even) .imgTxt-txt {
      padding: 15px 0 0;
	}
    .imgTxt:nth-of-type(n+2),
    .imgTxt.mini:nth-of-type(n+2) {
      margin-top: 40px; 
	} 
}
/******************************************
コンタクトエリア　.contactSec
******************************************/
#contact {
  background: #18937e !important; }

.contactSec {
  text-align: center; }
  .contactSec p {
    color: #fff;
    text-align: center; }
  .contactSec .ttl {
    font-size: 3.125rem;
    font-family: "Noto Sans JP";
    line-height: 1;
    margin-bottom: 20px; }
  .contactSec .link {
    width: 1000px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 30px auto 0; }
    .contactSec .link p {
      font-size: 1.875rem;
      font-weight: 600;
      line-height: 1; }
      .contactSec .link p.tel i {
        width: 35px;
        height: 35px;
        border-color: #fff; }
    .contactSec .link .btn {
      margin-top: 0; }

/* sp */
@media screen and (max-width: 899px) {
  .contactSec .ttl {
    font-size: 2.5rem; }
  .contactSec .txt {
    font-size: 0.9375rem;
    text-align: left; }
  .contactSec .link {
    width: 100%;
    display: block;
    margin: 20px auto 0; }
    .contactSec .link li {
      margin: 15px 0 0; }

      .contactSec .link li p {
        justify-content: center; } }
/******************************************
[btn] ボタン
******************************************/
.btn {
  text-align: center;
  display: flex;
  justify-content: center;
  margin-top: 30px;
  z-index: 1; }
  .btn a {
    font-size: 1.25rem;
    color: #fff;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    padding: 15px 40px;
    margin: 0 10px;
    background: #18937e;
    transition: .1s;
    transition: .1s;
    box-shadow: 0 4px 4px 0 rgba(51, 51, 51, 0.3); }
    .btn a:hover {
      -webkit-transform: translateY(4px);
      transform: translateY(4px);
      text-decoration: none;
      box-shadow: 0 0 0 0 rgba(51, 51, 51, 0.3); }
    .btn a:after {
      font-family: "icomoon";
      content: "\e906";
      margin-left: 5px;
      display: inline-block; }
    .btn a i {
      margin-right: 5px; }

/* sp */
@media screen and (max-width: 899px) {
  .btn a {
    font-size: 0.875rem;
    padding: 10px 20px 10px 30px;
    line-height: 1.2; } }
@media screen and (max-width: 899px) {
  .telNum a {
    color: #fff; } }
/******************************************
[works] サムネ付きトピックス
******************************************/
.works ul {
  display: flex;
  flex-wrap: wrap; }
  .works ul li {
    width: 22%;
    margin: 0 4% 3% 0; }
    .works ul li:nth-child(4n), .works ul li:last-child {
      margin-right: 0; }
    .works ul li span {
      display: block; }
    .works ul li .topics_thumb {
      background: url(../img/_dummy.jpg) center no-repeat;
      background-size: cover;
      height: 150px;
      border-width: 0; }
      .works ul li .topics_thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .works ul li .topics_title {
      font-size: 0.875rem;
      padding: 0; }

/* sp */
@media screen and (max-width: 899px) {
  .works ul li {
    width: 47%;
    margin: 4% 6% 0 0; }
    .works ul li:nth-child(-n+5) {
      margin-top: 4%; }
    .works ul li:nth-child(-n+2) {
      margin-top: 0; }
    .works ul li:nth-child(5n) {
      margin-right: 4%; }
    .works ul li:nth-child(2n) {
      margin-right: 0; }
    .works ul li .topics_thumb {
      height: 120px; }
    .works ul li .topics_title {
      font-size: 0.75rem; } }
/******************************************
基本テーブルデザイン
******************************************/
table {
  background: #fff; }
  table.basic {
    width: 100%;
    table-layout: fixed;
    /* sp */ }
    table.basic tr > th, table.basic tr td {
      font-size: initial;
      font-weight: normal;
      vertical-align: top;
      padding: 15px; }
    table.basic tr > th {
      text-align: left; }
    @media screen and (max-width: 899px) {
      table.basic tr > th, table.basic tr td {
        font-size: 0.875rem;
        padding: 15px 0; }
      table.basic tr > th {
        width: 80px; }
      table.basic tr > td {
        padding-left: 20px; } }

/******************************************
[.frame] フレーム
******************************************/
.frame {
  border-color: #8e9090;
  background: #fff;
  padding: 20px;
  border-radius: 15px;
  margin: 20px 0;
  border: 1px dashed #8e9090;
  /* sp */ }
  .frame-white {
    border: 1px solid #f7f3ef;
    background: #fff;
    padding: 30px;
    border-radius: 15px;
    margin: 20px 0; }
  @media screen and (max-width: 899px) {
    .frame {
      padding: 15px; }
      .frame-white {
        padding: 15px; } }

/******************************************
[.schedule] スケジュール
******************************************/
.schedule {
  width: 100%; }
  .schedule tr {
    overflow: hidden;
    border-bottom: 1px dashed #8e9090; }
    .schedule tr th, .schedule tr td {
      font-size: 1rem;
      font-weight: normal;
      text-align: center;
      padding: 15px 5px;
      line-height: 1; }
      .schedule tr th.small, .schedule tr td.small {
        font-size: 1rem; }
        .schedule tr th.small small, .schedule tr td.small small {
          font-size: 0.75rem; }
    .schedule tr th {
      font-size: 1rem;
      width: 11%; }
      .schedule tr th:first-child {
        width: 23%; }
    .schedule tr td {
      font-size: 1rem;
      color: #18937e; }
      .schedule tr td.holiday {
        font-size: 0.875rem;
        color: #ff6666; }
      .schedule tr td p {
        font-size: 0.625rem;
        line-height: 1;
        text-align: center; }

/* sp */
@media screen and (max-width: 899px) {
  .schedule {
    margin: 10px 0; }
    .schedule tr th, .schedule tr td {
      height: 25px;
      font-size: 0.625rem;
      padding: 5px 0; }
      .schedule tr th.small, .schedule tr td.small {
        font-size: 0.625rem; }
        .schedule tr th.small small, .schedule tr td.small small {
          font-size: 0.625rem; }
    .schedule tr th {
      font-size: 0.75rem; }
    .schedule tr td {
      font-size: 0.75rem;
      min-width: 30px; }
      .schedule tr td.holiday {
        font-size: 0.625rem; } }
/******************************************
[check] チェックボックス 
******************************************/
.check li {
  font-size: 1em;
  line-height: 1.4;
  text-indent: -1.5em;
  padding: 0 0 20px 1.5em;
  margin-bottom: 20px;
  border-bottom: 1px dotted #8e9090; }
  .check li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom-width: 0; }
  .check li:before {
    content: "\e901";
    font-family: "icomoon";
    margin-right: 0.5em; }
.check.inline {
  display: flex;
  flex-wrap: wrap; }
  .check.inline li {
    margin: 0 0 0 30px;
    padding: 5px 30px 5px 0;
    border-bottom-width: 0;
    line-height: 1.4; }
  .check.inline.frame-white li {
    margin: 10px;
    padding: 0 0 0 1.5em; }
.check.small li {
  padding: 0 0 10px 1.5em;
  margin-bottom: 10px; }

/* sp */
@media screen and (max-width: 899px) {
  .check li {
    font-size: 1em;
    line-height: 1.4;
    text-indent: -1.5em;
    padding: 0 0 20px 1.5em;
    margin-bottom: 20px;
    border-bottom: 1px dotted #8e9090; }
  .check.inline li {
    font-size: 16px;
    margin: 0 0 0 30px;
    padding: 5px 20px 5px 0; }
  .check.small li {
    padding: 0 0 10px 1.5em;
    margin-bottom: 10px; } }
.radius {
  border-radius: 20px; 
}

dl.normal {
  background: none; }
  dl.normal dt {
    font-size: 1.375rem;
    font-weight: 700;
    color: #ff6666;
    margin-bottom: 5px; }

/* sp */
@media screen and (max-width: 899px) {
  dl.normal dt {
    font-size: 1.125rem;
    line-height: 1.3; } }
#index {
}
 #index .mv {
    height: 40vw;
    min-height: 720px;
    max-height: 100vh;
    padding: 0 0 40px 0;
    overflow: visible;
    position: relative;
    width: 100%;
}

#index .mv-box {
    height: 100%;
    display: flex;
    align-items: center;
    background: url("../img/main_pc.jpg") center right no-repeat;
    background-size: cover;
    width: 100%;
    z-index: 0;
    overflow: visible;
}

#index .mv-ttl img {
    width: 40vw;
}

#index .mv:after {
    content: "";
    width: 100%;
    height: 90px;
    background: url("../img/mv-bottom.png") center repeat-x;
    background-size: contain;
    display: block;
    z-index: 10;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

@media screen and (max-width: 899px) {
    #index .mv {
        height: auto; /* 高さを調整 */
        min-height: initial;
        max-height: initial;
        padding: 0 0 10px 0;
        width: 100%;
    }

    #index .mv-box {
        background: url("../img/main.jpg") center center no-repeat !important;
        background-size: cover !important; /* 画面いっぱいにフィット */
        width: 100%;
        min-height: 60vh; /* 画面の高さいっぱいに */
    }

    #index .mv-ttl img {
        width: 100%;
    }

    #index .mv:after {
        height: 50px;
        background-size: cover;
    }
}


  #index #outpatient {

    background-color: #328cc1;
    background-image: url("../img/rain.png"), url(../img/rain.png);
    background-size: 330px 650px;
    background-position: left -10px center, right -10px center;
    background-repeat: repeat-y; 
}
    @media screen and (min-width: 900px) {
      #index #outpatient {
        padding: 60px 0;
		} 
}
  @media screen and (max-width: 899px) {
    #index #outpatient {
      background-size: 165px 325px; 
	  } 
}
  #index .outpatient {
    background: #fff;
    padding: 50px 30px;
}
    #index .outpatient-ttl {
      text-align: center;
      margin-bottom: 20px; 
}
      #index .outpatient-ttl p {
        font-size: 1.875rem;
        font-weight: 700;
        line-height: 1.4;
        color: #ff5722;
        display: inline-block;
        z-index: 0; 
}
        #index .outpatient-ttl p:after {
          content: "";
          width: 105%;
          height: 20px;
          border-radius: 100px;
          background: #fff000;
          display: block;
          position: absolute;
          bottom: -3px;
          left: -2.5%;
          right: -2.5%;
          margin: auto;
          z-index: -1; 
}
#index .outpatient-ttl2 {
      text-align: center;
      margin-bottom: 20px; 
}
      #index .outpatient-ttl2 p {
        font-size: 1.875rem;
        font-weight: 700;
        line-height: 1.4;
        color: #ff5722;
        display: inline-block;
        z-index: 0; 
}
    #index .outpatient-txt {
      text-align: center; 
}
    #index .outpatient-list {
      display: flex;
      justify-content: space-between;
      margin-top: 40px; 
}
      #index .outpatient-list li {
        width: 32%;
        border-radius: 20px;
        border: 3px solid #ff5722;
        background: #fff;
        padding: 40px 20px;
        display: flex;
        align-items: center;
        justify-content: center; 
}
        #index .outpatient-list li p {
          font-size: 1.25rem;
          line-height: 1.5;
          color: #0b3c5d;
          text-align: center; 
}
        #index .outpatient-list li > span {
          font-size: 3.75rem;
          text-align: center;
          font-weight: 400;
          line-height: 1;
          color: #ff5722;
          position: absolute;
          top: -30px;
          left: 0;
          right: 0;
          margin: auto;
          width: 100px;
          z-index: 1; 
}
          #index .outpatient-list li > span:after {
            content: "";
            width: 100%;
            height: 3px;
            background: #fff;
            position: absolute;
            bottom: 30px;
            left: 0;
            right: 0;
            margin: auto;
            z-index: -1;
}
    #index .outpatient .triangle {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 40px 100px 0 100px;
      border-color: #328cc1 transparent transparent transparent;
      margin: 30px auto; 
}
  @media screen and (max-width: 899px) {
    #index .outpatient {
      padding: 20px; 
	  }
      #index .outpatient-ttl p {
        font-size: 1.3rem;
        line-height: 1.2;
	  }
        #index .outpatient-ttl p:after {
          bottom: -2px;
          height: 10px; 
	  }
	  
	  #index .outpatient-ttl2 p {
        font-size: 1.3rem;
        line-height: 1.2;
	  }
        #index .outpatient-ttl2 p:after {
          bottom: -2px;
          height: 10px; 
	  }
      #index .outpatient-txt {
        font-size: 0.9375rem;
        line-height: 1.4;
        text-align: left; 
	  }
      #index .outpatient-list {
        display: block; 
	  }
        #index .outpatient-list li {
          width: 100%;
          border-radius: 16px;
          padding: 25px 15px 15px;
          margin: 30px 0; 
	  }
          #index .outpatient-list li p {
            font-size: 1rem;
	  }
          #index .outpatient-list li > span {
            font-size: 2.5rem;
            top: -22px;
            width: 80px;
	  }
            #index .outpatient-list li > span:after {
              bottom: 18px; 
	  }
      #index .outpatient .triangle {
        border-width: 20px 50px 0 50px;
        margin: 20px auto; 
	  } 
}
  #index #intro {
    background: url(../img/index_sec2-bg.png) center bottom no-repeat;
    background-size: cover;
    padding: 150px 0;
}
  @media screen and (max-width: 899px) {
    #index #intro {
      padding: 50px 0; 
	  } 
}
  #index .intro-ttl {
    font-size: 2.5rem;
    color: #ff5722;
    text-align: center;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 40px; 
}
  #index .intro-txt {
    font-size: 1.3rem;
    line-height: 1.7;
    text-align: center; 
}
  @media screen and (max-width: 899px) {
    #index .intro-ttl {
      font-size: 1.5625rem;
      margin-bottom: 30px; 
	  }
    #index .intro-txt {
      font-size: 1.125rem;
      line-height: 1.6;
      text-align: left;
	  }
}


 /* ==============================
   #second intro セクション
================================= */
#second #intro {
    background: url("../img/") center bottom no-repeat;
    background-size: cover;
    padding: 150px 0 20px;
}

@media screen and (max-width: 899px) {
    #second #intro {
        padding: 50px 0 20px; 
    } 
}

/* ==============================
   見出し (h3) + 画像
================================= */
#second .intro-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px; /* 画像と h3 の間の余白 */
    margin-bottom: 40px; /* intro-header の下に余白を追加 */
}

/* アイコン画像 */
#second .intro-icon {
    width: 110px;
    height: 110px;
    object-fit: cover;
    flex-shrink: 0; /* 画像が縮まないようにする */
}

/* h3 見出し */
#second .intro-ttl {
    font-size: 2.5rem;
    color: #0b3c5d;
    text-align: center; /* 中央揃え */
    font-weight: 600;
    line-height: 1.4;
}

/* ==============================
   本文 (p) + 画像
================================= */
#second .intro-content {
    display: flex;
    align-items: flex-start; /* 画像を上揃え */
    gap: 30px; /* 画像とテキストの間の余白 */
    margin: 0 auto;
}

/* `.intro-text-icon` は画像なので、適切なサイズで表示 */
#second .intro-text-icon {
    width: 40%; /* PC では適切なバランスで表示 */
    height: auto;
    object-fit: cover;
    flex-shrink: 0;
    align-self: flex-start; /* 画像を上揃えに */
}

/* 本文 */
#second .intro-txt {
    font-size: 1.3rem;
    line-height: 1.7;
    text-align: left;
    flex-grow: 1;
}

/* ==============================
   スマホ（899px以下）のスタイル
================================= */
@media screen and (max-width: 899px) {
    #second .intro-header {
        flex-direction: row; /* h3とアイコンを横並び */
        justify-content: center;
    }

    #second .intro-icon {
        width: 100px; /* スマホではアイコンを小さく */
        height: 100px;
    }

    #second .intro-ttl {
        font-size: 1.5625rem;
    }

    #second .intro-content {
        flex-direction: column; /* スマホでは画像を上に配置 */
        align-items: center;
        text-align: center;
        margin-top: 20px; /* intro-header の下に余白 */
    }

    #second .intro-text-icon {
        width: 100%; /* スマホでは全幅表示 */
        height: auto;
    }

    #second .intro-txt {
        font-size: 1.125rem;
        line-height: 1.6;
        text-align: left;
    }
}

/* ==============================
   強調デザイン（オレンジ + 太字）
================================= */
#second .intro-txt .highlight-orange {
    font-weight: 600; /* ほんのり太字 */
    color: #ff5722; /* オレンジ色 */
}

/* ==============================
   黄色のマーカー風デザイン
================================= */
#second .intro-txt .highlight {
    position: relative;
    display: inline-block;
    padding: 0 4px; /* 文字とマーカーのズレを防ぐ */
}

#second .intro-txt .highlight::after {
    content: "";
    width: 105%; /* 少し広めに */
    height: 14px; /* 文字の下に綺麗に配置 */
    border-radius: 8px; /* 角を丸くする */
    background: #F2FF19;
    display: block;
    position: absolute;
    bottom: 2px; /* 文字と被らないよう微調整 */
    left: -2.5%;
    right: -2.5%;
    margin: auto;
    z-index: -1;

}


/* ==============================
   水滴エフェクト
================================= */
/* ==============================
   水滴エフェクト（右側配置）
================================= */
.water-container {
    position: absolute;
    top: 0;
    right: 10%; /* 右側に配置 */
    width: 150px; /* 水滴の表示範囲 */
    height: 100%; /* 全体の高さ */
    pointer-events: none; /* クリックを無効化 */
    overflow: hidden;
}

/* 水滴のスタイル */
.water-drop {
    position: absolute;
    top: -30px;
    left: auto; /* 中央基準から解除 */
    right: 50%; /* 右側基準で配置 */
    width: 15px;
    height: 20px;
    background: #00aaff; /* 水色 */
    border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; /* しずく型 */
    transform: rotate(0deg);
    opacity: 0.8;
    animation: drop 2s linear infinite;
}

/* 2つ目、3つ目の水滴に時間差をつける */
.water-drop:nth-child(2) {
    right: 30%;
    animation-delay: 1s;
}

.water-drop:nth-child(3) {
    right: 70%;
    animation-delay: 1.5s;
}

/* 水滴が落ちるアニメーション */
@keyframes drop {
    0% {
        transform: translateY(0) scale(1) rotate(0deg);
        opacity: 1;
    }
    50% {
        transform: translateY(150px) scale(0.9) rotate(5deg);
        opacity: 0.9;
    }
    100% {
        transform: translateY(300px) scale(0.8) rotate(-5deg);
        opacity: 0;
    }
}

/* スマホ用の調整 */
@media screen and (max-width: 899px) {
    .water-container {
		top:20%;
        right: 1%; /* スマホでは少し内側に */
        width: 60px; /* スマホでは小さめ */
    }

    .water-drop {
        width: 12px;
        height: 16px;
    }
}

/* ==============================
   水滴エフェクトここまで
================================= */

  #index #sec3 {
    padding: 80px 0 150px; 
}

@media screen and (max-width: 899px) {
    #index #sec3 {
        padding: 60px 0 120px;
    } 
}

 /* メニュー全体のレイアウト */
#index .menu {
    display: flex;
    flex-wrap: wrap; /* 4つ以上ある場合に折り返す */
     justify-content: flex-start; /* ← ここを変更 */
    padding: 0 40px;
	gap: 20px; /* これを使えば margin より制御しやすい */
}

/* 各メニューのリスト要素 */
#index .menu li {
    width: calc(33.333% - 20px); /* 余白を考慮して3列均等配置 */
    margin-bottom: 20px; /* 下の余白を追加 */
    transition: 0.3s;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

/* 各メニューのリンク */
#index .menu li a {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 10px;
    border-radius: 10px;
    transition: 0.3s;
}

/* ホバー時に全体を白っぽくする */
#index .menu li:hover {
    background: rgba(255, 255, 255, 0.5);
}

/* ホバー時のタイトル背景色を少し明るくする */
#index .menu li:hover .menu-ttl {
    filter: brightness(1.3);
}

/* 画像のホバーエフェクト（薄くしつつ拡大） */
#index .menu li:hover .menu-img img {
    opacity: 0.6;
    transform: scale(1.05);
}

/* メニュータイトル */
#index .menu-ttl {
    font-size: 1.875rem;
    letter-spacing: 5px;
    text-indent: 5px;
    line-height: 1;
    text-align: center;
    color: #fff;
    background: #669933;
    border-radius: 15px 15px 0 0;
    padding: 12px 40px 10px;
    margin: 0 auto -27px;
    width: 100%;
    z-index: 1;
    transition: 0.3s;
}

/* メニューごとの個別背景色 */
#index .menu li:nth-child(1) .menu-ttl {
    background: #328cc1; /* 防水工事 */
}

#index .menu li:nth-child(2) .menu-ttl {
    background: #F2FF19; /* 止水工事 */
}

#index .menu li:nth-child(3) .menu-ttl {
    background: #2ca9e1; /* コーキング工事 */
}

#index .menu li:nth-child(4) .menu-ttl {
    background: #ec6800; /* 断熱工事 */
}

#index .menu li:nth-child(5) .menu-ttl {
    background: #001e43; /* ドローン */
}

#index .menu li:nth-child(6) .menu-ttl {
    background: #6c9bd2; /* お客様施工事例 */
}

/* メニュー画像 */
#index .menu-img {
    width: 100%;
    height: 20vw;
    font-size: 0;
    overflow: hidden;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

/* 画像のサイズとアニメーション */
#index .menu-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
}

/* メニューの説明テキスト */
#index .menu-txt {
    line-height: 1.6;
    padding: 0 20px;
}

/* ボタン */
#index .menu .btn {
    margin-top: 10px;
}

/* スマホ表示の調整 */
@media screen and (max-width: 899px) {
    /* メニューの配置を縦並びに変更 */
    #index .menu {
        display: block;
        padding: 0;
    }

    /* 各メニューのサイズ調整 */
    #index .menu li {
        width: 100%;
        max-width: 400px;
        padding: 0 15px;
        margin: 50px auto 0;
    }

    /* 最初のメニューの上の余白をなくす */
    #index .menu li:first-child {
        margin-top: 0;
    }

    /* スマホでのリンクのフォントサイズ */
    #index .menu li a {
        font-size: 1.125rem;
    }

    /* タイトルのフォントサイズを調整 */
    #index .menu-ttl {
        font-size: 1.25rem;
        letter-spacing: 0;
        text-indent: 0;
        padding: 12px 40px 10px;
        margin: 0 auto -22px;
        width: 100%;
    }

    /* 画像の高さを固定 */
    #index .menu-img {
        height: 200px;
    }

    /* 説明文のフォントサイズを調整 */
    #index .menu-txt {
        font-size: 0.9375rem;
        line-height: 1.4;
        padding: 0;
    }

    /* スマホでもホバー時に背景を白っぽく */
    #index .menu li:hover {
        background: rgba(255, 255, 255, 0.3);
    }
}

 #second #sec3 {
    padding: 80px 0 150px; 
}

@media screen and (max-width: 899px) {
    #second #sec3 {
        padding: 60px 0 120px;
    } 
}

/* メニュー全体のレイアウト */
#second .menu {
    display: flex;
    flex-wrap: wrap; /* 4つ以上ある場合に折り返す */
     justify-content: flex-start; /* ← ここを変更 */
    padding: 0 40px;
	gap: 20px; /* これを使えば margin より制御しやすい */
}

/* 各メニューのリスト要素 */
#second .menu li {
    width: calc(33.3% - 15px); /* 余白を考慮して4列均等配置 */
    margin-bottom: 20px; /* 下の余白を追加 */
    transition: 0.3s;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

/* 各メニューのリンク */
#second .menu li a {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 10px;
    border-radius: 10px;
    transition: 0.3s;
}

/* ホバー時に全体を白っぽくする */
#second .menu li:hover {
    background: rgba(255, 255, 255, 0.5);
}

/* ホバー時のタイトル背景色を少し明るくする */
#second .menu li:hover .menu-ttl {
    filter: brightness(1.3);
}

/* 画像のホバーエフェクト（薄くしつつ拡大） */
#second .menu li:hover .menu-img img {
    opacity: 0.6;
    transform: scale(1.05);
}

/* メニュータイトル */
#second .menu-ttl {
    font-size: 1.7rem;
	font-weight:700;
    letter-spacing: 5px;
    text-indent: 5px;
    line-height: 1;
    text-align: center;
    color: #fff;
    background: #669933;
    border-radius: 15px 15px 0 0;
    padding: 12px 40px 10px;
    margin: 0 auto -27px;
    width: 100%;
    z-index: 1;
    transition: 0.3s;
}

/* メニューごとの個別背景色 */
#second .menu li:nth-child(1) .menu-ttl {
    background: #328cc1; /* 防水工事 */
}

#second .menu li:nth-child(2) .menu-ttl {
    background: #d9b310; /* 止水工事 */
}

#second .menu li:nth-child(3) .menu-ttl {
    background: #2ca9e1; /* コーキング工事 */
}

#second .menu li:nth-child(4) .menu-ttl {
    background: #ec6800; /* 断熱工事 */
}

#second .menu li:nth-child(5) .menu-ttl {
    background: #001e43; /* 官公庁施工事例 */
}

#second .menu li:nth-child(6) .menu-ttl {
    background: #6c9bd2; /* お客様施工事例 */
}

/* メニュー画像 */
#second .menu-img {
    width: 100%;
    height: 15vw;
    font-size: 0;
    overflow: hidden;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

/* 画像のサイズとアニメーション */
#second .menu-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
}

/* メニューの説明テキスト */
#second .menu-txt {
    line-height: 1.6;
    padding: 0 20px;
}

/* ボタン */
#second .menu .btn {
    margin-top: 10px;
}

/* スマホ表示の調整 */
@media screen and (max-width: 899px) {
    /* メニューの配置を縦並びに変更 */
    #second .menu {
        display: block;
        padding: 0;
    }

    /* 各メニューのサイズ調整 */
    #second .menu li {
        width: 100%;
        max-width: 400px;
        padding: 0 15px;
        margin: 50px auto 0;
    }

    /* 最初のメニューの上の余白をなくす */
    #second .menu li:first-child {
        margin-top: 0;
    }

    /* スマホでのリンクのフォントサイズ */
    #second .menu li a {
        font-size: 1.125rem;
    }

    /* タイトルのフォントサイズを調整 */
    #second .menu-ttl {
        font-size: 1.25rem;
        letter-spacing: 0;
        text-indent: 0;
        padding: 12px 40px 10px;
        margin: 0 auto -22px;
        width: 100%;
    }

    /* 画像の高さを固定 */
    #second .menu-img {
        height: 200px;
    }

    /* 説明文のフォントサイズを調整 */
    #second .menu-txt {
        font-size: 0.9375rem;
        line-height: 1.4;
        padding: 0;
    }

    /* スマホでもホバー時に背景を白っぽく */
    #second .menu li:hover {
        background: rgba(255, 255, 255, 0.3);
    }
}





  #index #topicsSec {
    background-image: url(../img/index_sec4-bg-top.png), url(../img/index_sec4-bg-bottom.png);
    background-position: top center, top 130px center;
    background-size: 1500px 130px, cover;
    background-repeat: repeat-x, no-repeat;
    margin-top: -50px; 
}
    #index #topicsSec h3 {
      color: #fff;
      margin-bottom: 30px;
}
      #index #topicsSec h3 .eng {
        color: #fff; 
}
  @media screen and (max-width: 899px) {
    #index #topicsSec {
      background-position: top center, top 32px center;
      background-size: 375px 32px, cover;
	  } 
}
  #index .news {
    background: #fff;
    padding: 20px;
    border-radius: 20px; 
}
    #index .news:before {
      content: "";
      width: 1165px;
      height: 50px;
      background: url(../img/icon-wood.png) left top repeat-x;
      background-size: contain;
      position: absolute;
      top: -50px;
      left: 0;
      right: 0;
      margin: auto;
      opacity: 0.3; 
}
    #index .news:after {
      content: "";
      width: 83px;
      height: 100px;
      background: url(../img/icon-bird.png) center no-repeat;
      background-size: contain;
      position: absolute;
      top: -95px;
      right: 0;
      margin: auto; 
}
    #index .news .topicsArea li a {
      padding: 10px 15px; 
}
  @media screen and (max-width: 899px) {
    #index .news {
      padding: 20px;
      border-radius: 16px; 
	  }
      #index .news:before {
        width: calc(100% - 15px);
        position: absolute;
        top: -50px;
        left: 0;
        right: 0;
        margin: auto;
        opacity: 0.3; 
	  }
      #index .news:after {
        width: 61px;
        height: 75px;
        top: -70px; 
	  }
      #index .news .topicsArea li {
        margin: 0;
        padding: 0; 
	  }
        #index .news .topicsArea li a {
          font-size: 0.875rem;
          padding: 5px 0;
	  }
}
  #index #sec5 .btn a {
    font-size: 1.875rem;
    padding: 20px 80px; 
}
  @media screen and (max-width: 899px) {
    #index #sec5 .btn a {
      font-size: 1.25rem;
      padding: 20px 40px; 
	  } 
}
  #index .prevention-cause {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 80px;
}
    #index .prevention-cause li {
      width: 350px;
      margin-top: 20px; 
}
      #index .prevention-cause li dl dt {
        font-size: 1.25rem;
        font-weight: 700;
        color: #ff6666;
        text-align: center;
        margin: 20px 0 10px; 
}
      #index .prevention-cause li dl dd {
        font-size: 0.875rem;
        line-height: 1.6; 
}
    #index .prevention-cause-img {
      width: 300px;
      height: 300px;
      background: #f9fff3;
      margin: auto;
      padding: 30px;
      box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.25); 
}
      #index .prevention-cause-img img {
        width: 100%;
        height: 100%;
        object-fit: contain; 
}
    #index .prevention-cause .ttl img {
      position: absolute;
      width: 400px;
      max-width: inherit;
      top: -50px; 
}
  @media screen and (max-width: 899px) {
    #index .prevention-cause {
      display: block;
      margin-top: 40px; 
	  }
      #index .prevention-cause li {
        width: 100%;
        margin-top: 20px;
	  }
        #index .prevention-cause li dl dt {
          font-size: 1.125rem;
          line-height: 1.2; 
	  }
        #index .prevention-cause li dl dd {
          font-size: 0.8125rem; 
	  }
      #index .prevention-cause-img {
        width: 200px;
        height: 200px;
        padding: 20px; 
	  }
      #index .prevention-cause .ttl {
        text-align: center; 
	  }
        #index .prevention-cause .ttl img {
          position: initial;
          width: 100%;
          max-width: 300px;
          top: -0;
	  } 
}
  #index .prevention-important {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 150px;
}
    #index .prevention-important li {
      margin-top: 50px;
      background: rgba(255, 102, 102, 0.05); }
      #index .prevention-important li:nth-child(1) {
        width: 15%;
        background: none; }
      #index .prevention-important li:nth-child(2) {
        width: 47%; }
      #index .prevention-important li:nth-child(3) {
        width: 33%; }
      #index .prevention-important li:nth-child(4) {
        width: 16%; }
      #index .prevention-important li:nth-child(5) {
        width: 25%; }
      #index .prevention-important li:nth-child(6) {
        width: 25%; }
      #index .prevention-important li:nth-child(7) {
        width: 29%; }
      #index .prevention-important li dl {
        height: 100%;
        border: 4px solid #ff6666;
        border-radius: 20px;
        padding: 40px 15px 15px;
        z-index: 1; }
        #index .prevention-important li dl dt {
          text-align: center;
          position: absolute;
          top: -27px;
          left: 0;
          right: 0;
          margin: auto; }
          #index .prevention-important li dl dt p {
            font-size: 1.25rem;
            line-height: 1;
            font-weight: 700;
            text-align: center;
            color: #fff;
            background: #ff6666;
            border-radius: 100px;
            padding: 17px 20px 15px;
            display: inline-block; }
        #index .prevention-important li dl dd {
          font-size: 0.875rem;
          line-height: 1.6; }
    #index .prevention-important .ttl img {
      position: absolute;
      width: 360px;
      max-width: inherit;
      top: -160px; }
  @media screen and (max-width: 899px) {
    #index .prevention-important {
      display: block;
      margin-top: 50px; }
      #index .prevention-important li {
        width: 100% !important;
        margin-top: 40px; }
        #index .prevention-important li dl {
          width: 100%;
          height: auto;
          padding: 30px 15px 15px;
          border-radius: 16px; }
          #index .prevention-important li dl dt {
            top: -22px; }
            #index .prevention-important li dl dt p {
              font-size: 1.125rem;
              padding: 12px 20px 10px; }
          #index .prevention-important li dl dd {
            font-size: 0.875rem;
            line-height: 1.6; }
      #index .prevention-important .ttl {
        text-align: center; }
        #index .prevention-important .ttl img {
          position: initial;
          width: 100%;
          max-width: 300px;
          top: -0; } }
  #index .scheduleArea {
    background: #efefef;
    padding: 10px 20px;
    border-radius: 20px; }
  #index .timeTable {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px; }
    #index .timeTable-left {
      width: 630px; }
      #index .timeTable-left .timeTable-img {
        height: 370px; }
        #index .timeTable-left .timeTable-img img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          border-radius: 20px; }
    #index .timeTable-right {
      width: 530px; }
  #index #sec5 {
    background: url("../img/") center no-repeat;
    background-attachment: fixed;
    background-size: cover;
}
    #index #sec5 .inner {
      padding: 0 20px 0 40px; 
}
  @media screen and (max-width: 899px) {
    #index #sec5 {
      background-attachment: inherit; }
      #index #sec5 .inner {
        padding: 0 15px; 
	  } 
}
  #index body.modal-open {
    overflow: hidden; }
  #index #modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(51, 51, 51, 0.7);
    z-index: 9999; }
  #index #modal-content {
    width: 100%;
    height: 100%;
    position: relative; }
  #index #modal-close {
    color: #fff;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
    background-color: #18937e;
    border-radius: 50%;
    text-align: center;
    line-height: 47px;
    font-size: 30px;
    cursor: pointer; }
  #index #modal-close {
    cursor: pointer;
    font-family: inherit; }
  #index .modal-txt {
    color: #333;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 16px;
    line-height: 1.5;
    padding: 60px;
    border-radius: 10px;
    background: #fff;
    /*改行なし*/
    white-space: nowrap; }
    #index .modal-txt .column-3n > div {
      margin-bottom: 0 !important; }
  #index .modal-txt h2 {
    color: #18937e;
    text-align: center;
    line-height: 1.3;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 20px; }
  #index .modal-txt p {
    font-size: 20px;
    text-align: center; }
  #index .modal-txt .sign {
    font-weight: bold;
    margin-top: 10px;
    text-align: right; }
  @media screen and (max-width: 767px) {
    #index .modal-txt {
      padding: 60px 15px 15px 15px;
      /*改行あり*/
      white-space: normal;
      width: 90%; }
      #index .modal-txt .column-3n {
        display: flex;
        justify-content: space-between;
        margin-top: 10px !important; }
        #index .modal-txt .column-3n > div {
          width: 32%; }
    #index .modal-txt h2,
    #index .big {
      font-size: 16px !important;
      line-height: 1.3 !important;
      margin-bottom: 10px !important; }
    #index .modal-txt p {
      font-size: 15px;
      text-align: left;
      line-height: 1.5; }
      #index .modal-txt p.note {
        font-size: 12px; }
    #index #modal-close {
      width: 40px;
      height: 40px;
      line-height: 37px; } }

/* 20240627 追加 */
.btn-top {
  margin: 5em auto 0;
  border: 2px solid #ff9900;
  border-radius: 10px;
  width: 50%; }

.btn-top a {
  padding: 1em;
  display: block;
  background-color: #ff9900;
  color: #fff;
  border-radius: 10px;
  border: 2px solid #fff;
  text-align: center;
  font-size: 2em;
  overflow: hidden; }

.btn-top a:hover {
  opacity: 0.8;
  text-decoration: none; }

@media screen and (max-width: 767px) {
  .btn-top {
    margin: 5em 1em -2em;
    width: auto; }

  .btn-top a {
    padding: 1em;
    font-size: 1.25em; } }
#second {
  /******************************************
  [mv] メインタイトル
  ******************************************/
  /* sp */
  /******************************************
  [greeting.html] ごあいさつ
  ******************************************/
  /* sp */
  /******************************************
  [info.html] 診療科目
  ******************************************/
  /******************************************
  [clinic.html] 医院案内
  ******************************************/
  /* sp */
  /******************************************
  [info-cardiod.html] 循環器内科
  ******************************************/
  /* sp */
  /* 流れ */
  /* sp */
  /******************************************
  [info-respiratory.html] 呼吸器内科
  ******************************************/
  /* sp */
  /******************************************
  [list.html] トピックスリスト
  ******************************************/
  /******************************************
  [contact.html] お問い合わせ
  ******************************************/
  /* sp */
  /******************************************
  [topics]
  ******************************************/
  /******************************************
  [access]
  ******************************************/
  /* sp */ }
  @media screen and (min-width: 900px) {
    #second section {
      padding: 80px 0; 
	  } 
}
  #second section:nth-child(odd) {
    background: #fff;
}
  #second section:nth-child(even) {
    background: #f9fff3; 
}
  

/* ==============================
   全ページ共通のスタイル
================================= */
.mv {
    width: 100%;
    margin: auto;
    height: 400px;
    z-index: 0;
    position: relative;
}

.mv-box {
    width: 100%;
    height: 400px;
    margin: auto;
    background-position: center top;
    background-repeat: no-repeat; /* 背景をリピートさせない */
    background-size: cover; /* 画像を要素にフィットさせる */
}

.mv-ttl {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 100%;
}

.mv-ttl h2 {
    text-shadow: 0px 0px 5px rgba(51, 51, 51, 0.8);
    font-size: 2.5rem;
    color: #fff;
    font-weight: normal;
    letter-spacing: 5px;
    line-height: 1.4;
}

/* ==============================
   ページごとの背景画像
================================= */
.works-page .mv-box {
    background-image: url("../img/services/works_top.JPG");
}

.about-page .mv-box {
    background-image: url("../img/about/top.JPG");
}

.access-page .mv-box {
    background-image: url("../img/about/access_top.JPG");
}

.project-page .mv-box {
    background-image: url("../img/services/project_top.JPG");
}

/* ==============================
   スマホ（899px以下）のスタイル
================================= */
@media screen and (max-width: 899px) {
    .mv {
        height: 200px; /* 高さをスマホ用に変更 */
        z-index: 0;
    }
    
    .mv-box {
        height: 200px; /* 画像の表示範囲を調整 */
        background-size: cover; /* 背景画像を要素にフィット */
        background-position: center top;
    }

    .mv-ttl {
        padding: 0 15px;
    }

    .mv-ttl h2 {
        font-size: 1.25rem;
        letter-spacing: 0;
        text-indent: 0;
    }
}

  #second .greeting {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    #second .greeting-img {
      width: 300px;
      height: 300px;
      order: 2;
      border-radius: 20px;
      overflow: hidden; }
      #second .greeting-img img {
        margin-bottom: 10px; }
    #second .greeting-txt {
      width: 840px;
      order: 1; }
      #second .greeting-txt p {
        font-size: 1.125rem;
        line-height: 2; }
      #second .greeting-txt .name {
        font-size: 1.25rem;
        text-align: right;
        margin-top: 20px;
        line-height: 1.4; }
        #second .greeting-txt .name span {
          font-size: 0.9375rem;
          display: block; }
  @media screen and (max-width: 899px) {
    #second .greeting {
      display: block; }
      #second .greeting-img {
        width: 100%;
        margin: 0 0 20px; }
        #second .greeting-img img {
          margin-bottom: 10px; }
      #second .greeting-txt {
        width: 100%; }
      #second .greeting-name {
        font-size: 1.25rem; }
        #second .greeting-name span {
          font-size: 0.75rem; } }
  #second .concept {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #second .concept li {
      width: 47%;
      margin-bottom: 60px;
      border-radius: 20px;
      padding: 30px;
      background: #fff;
      box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.25); }
    #second .concept-img img {
      border-radius: 10px; }
    #second .concept-txt .ttl {
      font-size: 1.5625rem;
      text-align: center;
      margin: 10px 0;
      color: #18937e; }
    #second .concept-txt .txt {
      font-size: 1rem; }
  #second .info {
    display: flex;
    justify-content: space-between;
    align-items: start;
    margin-bottom: 80px; }
    #second .info-img {
      width: 330px;
      height: 100%;
      max-height: 330px;
      order: 2;
      overflow: hidden; }
      #second .info-img img {
        border-radius: 20px; }
    #second .info-txt {
      width: 810px;
      order: 1; }
      #second .info-txt .ttl {
        font-size: 1.875rem;
        color: #18937e;
        line-height: 1;
        font-weight: 700;
        margin-bottom: 40px;
        padding-left: 56px; }
        #second .info-txt .ttl:before {
          content: "";
          background: url("../img/logo4.png") center no-repeat;
          background-size: contain;
          width: 46px;
          height: 60px;
          display: inline-block;
          vertical-align: middle;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          margin: auto; }
        #second .info-txt .ttl:after {
          content: "";
          width: 750px;
          height: 1px;
          display: block;
          border-bottom: 4px dotted #18937e;
          position: absolute;
          bottom: -12px;
          left: 57px; }
      #second .info-txt .txt2 {
        margin-left: -390px; }
    #second .info:nth-of-type(even) .info-img {
      order: 1; }
    #second .info:nth-of-type(even) .info-txt {
      order: 2; }
    #second .info:last-of-type {
      margin-bottom: 0; }
  #second .clinic p {
    text-align: center;
    margin-top: 5px; }
  #second .clinic-img a {
    width: 100%;
    height: 240px;
    border-radius: 20px;
    overflow: hidden;
    font-size: 0;
    display: flex;
    align-items: center; }
    #second .clinic-img a img {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: 100%;
      height: auto;
      box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.25);
      transition: .3s;
      max-width: initial; }
    #second .clinic-img a:hover img {
      width: 120%;
      height: auto; }
    #second .clinic-img a p {
      text-align: center; }
  #second .basic th {
    width: 80px; }
  #second .basic.about th {
    width: 95px;
    font-weight: 600; }
  #second .basic.about td {
    padding-left: 20px; }
  @media screen and (max-width: 899px) {
    #second .basic.about tr {
      border-bottom: 1px solid #efefef; }
    #second .basic.about th {
      width: 80px;
      padding: 15px 10px; }
    #second .basic.about td {
      padding: 15px 0; } }
  #second .diagnosis {
    width: 100%;
    display: flex;
    justify-content: space-between; }
    #second .diagnosis:after {
      content: "";
      width: 90px;
      height: 106px;
      background: url("../img/icon-bird2.png") center no-repeat;
      background-size: contain;
      position: absolute;
      top: -81px;
      right: 0;
      transform: scale(-1, 1); }
    #second .diagnosis li {
      width: 19%;
      margin: 20px 0 0 0;
      border-radius: 20px;
      border: 2px solid #8e9090;
      padding: 15px;
      background: #fff; }
      #second .diagnosis li dl dt {
        font-size: 1.5625rem;
        font-weight: 700;
        color: #ff9900;
        text-align: center;
        margin-bottom: 10px; }
      #second .diagnosis li dl dd {
        font-size: 1rem;
        line-height: 1.5; }
  @media screen and (max-width: 899px) {
    #second .diagnosis {
      display: block; }
      #second .diagnosis:after {
        width: 59px;
        height: 70px;
        top: -40px; }
      #second .diagnosis li {
        width: 100%;
        margin: 20px 0 0 0;
        border-radius: 16px; }
        #second .diagnosis li dl dt {
          font-size: 1.25rem; } }
  #second .flow {
    padding-left: 70px; }
    #second .flow li {
      width: 100%;
      height: auto;
      border: 4px solid #18937e;
      border-radius: 20px;
      background: #fff;
      padding: 30px;
      margin: 20px 0; }
      #second .flow li:nth-child(1) .birdImg {
        width: 100px;
        position: absolute;
        top: -80px;
        right: 20px; }
      #second .flow li:nth-child(2) .birdImg {
        width: 150px;
        position: absolute;
        bottom: -100px;
        right: -60px;
        z-index: 1; }
    #second .flow:before {
      content: "";
      width: 1px;
      height: 70%;
      border-right: 6px dotted #8e9090;
      position: absolute;
      top: -60px;
      bottom: 0;
      left: 41px;
      margin: auto; }
    #second .flow-step {
      font-size: 2.1875rem;
      color: #fff;
      font-family: "Noto Sans JP";
      text-align: center;
      font-weight: 700;
      line-height: 1;
      width: 80px;
      height: 80px;
      border-radius: 100px;
      overflow: hidden;
      position: absolute;
      top: 0;
      bottom: 0;
      left: -70px;
      margin: auto;
      background: #18937e;
      padding: 13px;
      z-index: 100; }
      #second .flow-step span {
        font-size: 1.125rem;
        display: block; }
    #second .flow-ttl {
      font-size: 1.375rem;
      color: #18937e;
      font-weight: 700;
      line-height: 1.4;
      margin: 0 0 10px; }
    #second .flow-txt {
      font-size: 1rem;
      line-height: 1.5;
      margin: 0 !important; }
  @media screen and (max-width: 899px) {
    #second .flow {
      display: block;
      padding: 0; }
      #second .flow:before {
        content: "";
        width: 1px;
        height: 100%;
        border-top-width: 0;
        border-right: 4px dotted #8e9090;
        top: 0;
        right: 0;
        left: 0; }
      #second .flow > li {
        width: 100%;
        margin: 60px 0;
        border: 4px solid #18937e;
        background: #fff;
        padding: 50px 20px 20px; }
        #second .flow > li:last-child {
          margin-bottom: 0; }
        #second .flow > li:nth-child(1) .birdImg {
          width: 70px;
          top: -60px; }
        #second .flow > li:nth-child(2) .birdImg {
          width: 90px;
          bottom: -110px;
          right: 10px; }
      #second .flow-step {
        top: -45px;
        left: 0;
        right: 0;
        bottom: inherit;
        margin: auto;
        background: #18937e;
        padding: 11px;
        z-index: 1; }
        #second .flow-step span {
          font-size: 0.75rem;
          display: block; }
      #second .flow-img {
        margin: auto;
        border-width: 0; }
      #second .flow-ttl {
        font-size: 1.125rem;
        margin: 10px 0 15px; }
      #second .flow-txt {
        font-size: 0.875rem;
        line-height: 1.5;
        margin: 0 !important; } }
  #second table.normal {
    width: 100%; }
    #second table.normal tr th, #second table.normal tr td {
      padding: 20px;
      border: 2px solid #8e9090; }
    #second table.normal tr th {
      width: 200px;
      background: #f7f3ef; }
    #second table.normal tr td {
      background: #fff; }
  #second #anginaPectoris table.normal tr th, #second #anginaPectoris table.normal tr td,
  #second #copd table.normal tr th,
  #second #copd table.normal tr td {
    font-size: 0.875rem;
    padding: 10px; }
  #second #anginaPectoris table.normal tr th,
  #second #copd table.normal tr th {
    width: 120px; }
  #second #copd .flow li {
    border-color: #ff6666; }
    #second #copd .flow li dl dt {
      font-size: 2.5rem;
      line-height: 1;
      display: flex;
      align-items: center;
      margin-bottom: 15px; }
      #second #copd .flow li dl dt span {
        font-size: 1.125rem;
        font-weight: 500;
        color: #fff;
        line-height: 1;
        background: #ff6666;
        border-radius: 8px;
        padding: 12px 15px 10px;
        margin-right: 20px; }
  #second #copd .flow-step {
    background: #ff6666; }
  #second #copd .flow.non-step:before {
    display: none; }
  #second #copd .flow.non-step li {
    border-color: #18937e; }
    #second #copd .flow.non-step li dl dt {
      color: #18937e; }
      #second #copd .flow.non-step li dl dt span {
        background: #18937e; }
  @media screen and (max-width: 899px) {
    #second #copd .flow li dl dt {
      font-size: 1.25rem;
      display: block; }
      #second #copd .flow li dl dt span {
        font-size: 0.875rem;
        margin: 0 auto 10px;
        text-align: center;
        display: block; } }
  #second .topics {
    /* sp */ }
    #second .topics.voice li {
      width: 22%;
      margin: 4% 4% 0 0; }
      #second .topics.voice li:nth-child(3n) {
        margin-right: 4%; }
      #second .topics.voice li:nth-child(4n) {
        margin-right: 0; }
      #second .topics.voice li:nth-child(-n+3) {
        margin-top: 4%; }
      #second .topics.voice li:nth-child(-n+4) {
        margin-top: 0; }
    @media screen and (max-width: 899px) {
      #second .topics ul {
        display: block; }
        #second .topics ul li {
          width: 100%;
          margin: 0 0 20px 0; }
      #second .topics_thumb {
        height: 130px; } }
  #second .formTable {
    width: 100%;
    /* sp */ }
    #second .formTable tr {
      border-bottom: 1px dashed #8e9090; }
      #second .formTable tr th, #second .formTable tr td {
        font-size: 1rem;
        font-weight: 400;
        padding: 20px 0; }
      #second .formTable tr th {
        width: 200px;
        text-align: right; }
        #second .formTable tr th span {
          font-size: 0.75rem;
          font-weight: normal;
          line-height: 1;
          color: #fff;
          background-color: #ff6666;
          border-radius: 5px;
          padding: 5px;
          display: inline-block;
          margin-left: 10px; }
      #second .formTable tr td {
        width: 750px;
        padding-left: 50px; }
        #second .formTable tr td input,
        #second .formTable tr td select,
        #second .formTable tr td textarea {
          border: 1px solid #8e9090;
          border-radius: 5px;
          padding: 5px 10px;
          /* IE */
          /* Edge */ }
          #second .formTable tr td input::placeholder,
          #second .formTable tr td select::placeholder,
          #second .formTable tr td textarea::placeholder {
            color: #8e9090; }
          #second .formTable tr td input:-ms-input-placeholder,
          #second .formTable tr td select:-ms-input-placeholder,
          #second .formTable tr td textarea:-ms-input-placeholder {
            color: #8e9090; }
          #second .formTable tr td input::-ms-input-placeholder,
          #second .formTable tr td select::-ms-input-placeholder,
          #second .formTable tr td textarea::-ms-input-placeholder {
            color: #8e9090; }
          #second .formTable tr td input.w20,
          #second .formTable tr td select.w20,
          #second .formTable tr td textarea.w20 {
            width: 30%; }
          #second .formTable tr td input.w50,
          #second .formTable tr td select.w50,
          #second .formTable tr td textarea.w50 {
            width: 50%; }
          #second .formTable tr td input.w100,
          #second .formTable tr td select.w100,
          #second .formTable tr td textarea.w100 {
            width: 100%; }
        #second .formTable tr td label {
          margin-right: 10px; }
          #second .formTable tr td label input[type="checkbox"],
          #second .formTable tr td label input[type="radio"] {
            margin-right: 5px;
            -webkit-appearance: checkbox;
            width: auto !important; }
    @media screen and (max-width: 899px) {
      #second .formTable tr th, #second .formTable tr td {
        padding: 15px 0; }
      #second .formTable tr th {
        font-size: 0.75rem;
        font-weight: 700;
        width: 100px; }
        #second .formTable tr th span {
          font-size: 0.625rem;
          padding: 5px; }
      #second .formTable tr td {
        font-size: 0.9375rem;
        width: auto;
        padding-left: 20px; }
        #second .formTable tr td input,
        #second .formTable tr td select,
        #second .formTable tr td textarea {
          width: 100% !important; } }
  #second .submit {
    text-align: center;
    margin-top: 20px;
    /* sp */ }
    #second .submit input {
      font-size: 1.125rem;
      text-align: center;
      border: 1px solid #8e9090;
      border-radius: 5px;
      padding: 5px 10px;
      width: 200px; }
    #second .submit input[type="submit"] {
      color: #fff;
      background: #18937e; }
    @media screen and (max-width: 899px) {
      #second .submit input {
        font-size: 0.9375rem;
        text-align: center;
        border: 1px solid #8e9090;
        border-radius: 5px;
        padding: 5px 10px;
        width: 100px; } }
  #second .privacy {
    margin: 50px 0; }
    #second .privacy-box {
      width: 100%; }
      #second .privacy-box-txt {
        width: 100%;
        height: 100%;
        overflow-x: hidden;
        padding: 10px; }
        #second .privacy-box-txt > p {
          font-size: 1rem;
          margin-bottom: 20px; }
        #second .privacy-box-txt dl dt {
          font-size: 1.25rem;
          line-height: 2;
          font-weight: 700;
          color: #18937e;
          margin: 20px 0 5px; }
        #second .privacy-box-txt dl dd {
          font-size: 1rem;
          line-height: 2; }
          #second .privacy-box-txt dl dd:nth-child(2) {
            margin-bottom: 10px; }
          #second .privacy-box-txt dl dd a {
            color: #ff9900;
            text-decoration: underline; }
        #second .privacy-box-txt ul {
          list-style: disc;
          margin: 0 0 20px 25px; }
          #second .privacy-box-txt ul li {
            font-size: 1rem;
            margin: 5px 0; }
      #second .privacy-box.cookie {
        height: auto;
        border-width: 0; }
        #second .privacy-box.cookie .table th:first-child {
          width: 280px; }
        #second .privacy-box.cookie .privacy-box-txt {
          overflow-x: visible;
          padding: 0; }
  @media screen and (max-width: 899px) {
    #second .privacy {
      margin: 30px 0; }
      #second .privacy-box {
        padding: 10px 0 10px 10px; }
        #second .privacy-box-txt {
          padding-right: 10px; }
          #second .privacy-box-txt p {
            font-size: 0.75rem; }
          #second .privacy-box-txt dl dt {
            font-size: 1rem; }
          #second .privacy-box-txt dl dd {
            font-size: 0.75rem; }
          #second .privacy-box-txt ul li {
            font-size: 0.75rem; }
        #second .privacy-box.cookie .table {
          overflow-x: scroll; }
          #second .privacy-box.cookie .table table {
            width: 700px; }
            #second .privacy-box.cookie .table table tr th {
              width: 33.333px; } }
  #second .topics-detail {
    background: #f5f8fa;
    border-color: #8e9090; }
    #second .topics-detail .topics_title {
      border-bottom-width: 0px;
      padding-left: 0;
      z-index: 0; }
  #second #access .schedule tr th, #second #access .schedule tr td {
    font-size: 1.875rem;
    padding: 25px 10px;
}
  #second #access .schedule tr td p {
    font-size: 1.25rem; 
}
  #second #access .note {
    font-size: 1.125rem; 
}
  #second .outpatient-ttl {
    text-align: center;
    margin-bottom: 40px; 
}
    #second .outpatient-ttl p {
      font-size: 1.875rem;
      font-weight: 700;
      line-height: 1.4;
      color: #ff5722 ;
      display: inline-block;
      z-index: 0;
}
      #second .outpatient-ttl p :after {
        content: "";
        width: 105%;
        height: 20px;
        border-radius: 100px;
        background: #F2FF19;
        display: block;
        position: absolute;
        bottom: -3px;
        left: -2.5%;
        right: -2.5%;
        margin: auto;
        z-index: -1; 
}

 #second .outpatient-ttl h3{
      font-size: 2.5rem;
      font-weight: 700;
      line-height: 1.4;
      color: #0b3c5d ;
      display: inline-block;
      z-index: 0;
}
      #second .outpatient-ttl h3:after {
        content: "";
        width: 105%;
        height: 15px;
        border-radius: 100px;
        background: #F2FF19;
        display: block;
        position: absolute;
        bottom: -3px;
        left: -2.5%;
        right: -2.5%;
        margin: auto;
        z-index: -1; 
}
  @media screen and (max-width: 899px) {
    #second .outpatient-ttl p {
      font-size: 1.125rem; 
	  }
      #second .outpatient-ttl p:after {
        bottom: -6px; 
	  }
	  
	  #second .outpatient-ttl h3 {
      font-size: 1.6rem; 
	  }
      #second .outpatient-ttl h3:after {
        bottom: -6px; 
	  }
}
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?wm1iu8');
  src:  url('fonts/icomoon.eot?wm1iu8#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?wm1iu8') format('truetype'),
    url('fonts/icomoon.woff?wm1iu8') format('woff'),
    url('fonts/icomoon.svg?wm1iu8#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;
  speak: never;
  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;
}


/******************************************
[utility]
******************************************/
.mt-0 {
  margin-top: 0 !important;
}

.mt-5 {
  margin-top: 5px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mt-35 {
  margin-top: 35px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mr-5 {
  margin-right: 5px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mr-25 {
  margin-right: 25px !important;
}

.mr-35 {
  margin-right: 30px !important;
}

.mr-40 {
  margin-right: 35px !important;
}

.mr-45 {
  margin-right: 40px !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-25 {
  margin-bottom: 25px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mb-35 {
  margin-bottom: 35px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-5 {
  margin-left: 5px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.ml-25 {
  margin-left: 25px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.ml-35 {
  margin-left: 35px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-5 {
  padding-top: 5px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pt-25 {
  padding-top: 25px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pt-35 {
  padding-top: 35px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pr-5 {
  padding-right: 5px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pr-15 {
  padding-right: 15px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pr-25 {
  padding-right: 25px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pr-35 {
  padding-right: 35px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-5 {
  padding-bottom: 5px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pb-25 {
  padding-bottom: 25px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pb-35 {
  padding-bottom: 35px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pl-5 {
  padding-left: 5px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.pl-15 {
  padding-left: 15px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.pl-25 {
  padding-left: 25px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.pl-35 {
  padding-left: 35px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.fw-n {
  font-weight: normal !important;
}

.fw-b {
  font-weight: bold !important;
}

.ta-l {
  text-align: left !important;
}

.ta-r {
  text-align: right !important;
}

.ta-c {
  text-align: center !important;
}

/******************************************
[reset]
******************************************/
*,
::before,
::after {
  position: relative;
  box-sizing: border-box;
}

::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

[hidden],
template {
  display: none;
}

small {
  font-size: 85%;
}

ul, ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
a:active, a:hover {
  outline-width: 0;
}

b, strong {
  font-weight: bolder;
}

img {
  border-style: none;
}

input,
button,
textarea,
select {
  outline: 0;
  border: 0px;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input,
button,
textarea,
select,
optgroup {
  font: inherit;
}

[disabled] {
  cursor: default;
}

input[type=number] {
  -moz-appearance: textfield;
}
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

input::-ms-clear {
  visibility: hidden;
}

optgroup {
  font-weight: bold;
}

select::-ms-expand {
  display: none;
}
select::-ms-value {
  color: currentColor;
}

textarea {
  overflow: auto;
}

button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

button {
  background: none;
  overflow: visible;
}

::-moz-selection,
::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}


/* 基本設定 */
#infomation {
    text-align: center;
    padding: 0;
}

#infomation .container {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
}

/* PCではスマホ用リンクを無効化 */
.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

/* スマホではPC用リンクを無効化 */
@media screen and (max-width: 767px) {
    .pc-only {
        display: none;
    }
    .sp-only {
        display: block;
    }
}


 /* 各セクションごとに異なる背景を設定 */
#second #sec1 {
    background: url("../img/bg1.jpg") center no-repeat;
    background-attachment: fixed;
    background-size: cover;
}
#second #sec2 {
    background: url("../img/bg2.jpg") center no-repeat;
    background-attachment: fixed;
    background-size: cover;
}
#second #sec6 {
    background: url("../img/bg3.jpg") center no-repeat;
    background-attachment: fixed;
    background-size: cover;
}
#second #sec4 {
    background: url("../img/bg4.jpg") center no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

#second #sec7 {
    background: url("../img/bg4.jpg") center no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

/* 共通の .inner スタイル */
#second .inner {
    padding: 0 20px 0 40px; 
}

/* スマホ用（899px以下） */
@media screen and (max-width: 899px) {
    #second #sec1,
    #second #sec2,
    #second #sec6,
    #second #sec4 {
        background-attachment: inherit; 
    }
    
    #second .inner {
        padding: 0 15px; 
    }
}



/* #second .project セクション */
#second .project {
    padding: 50px 0 150px;
}


#second .project .column-box.left {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

#second .project .column-2n {
  align-items: flex-start;
}


/* 画像を包むコンテナ */
#second .project .image-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 100%;
    overflow: visible; /* はみ出し部分が隠れないように */
}


/* 工程ラベルのスタイル（画像の左上からはみ出す） */
#second .project .step-label {
    position: absolute;
    top: -10px; /* 画像の上端からはみ出す */
    left: -10px; /* 画像の左端からはみ出す */
    background: #328cc1;
    color: #0b3c5d;
    padding: 8px 15px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 0 5px 5px 0; /* 右側を少し丸める */
    z-index: 10;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); /* 影をつけて見やすく */
}

/* 画像ギャラリーのスタイル */
#second .project .image-gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 15px;
    margin-top: 20px;
}

/* PC（3列表示） */
#second .project .image-gallery .image-wrapper {
    width: calc(33.333% - 10px); /* 3列表示 */
    max-width: 100%;
}

/* スマホ時に「テキスト → 画像」の順にする */
@media screen and (max-width: 768px) {
    #second .project .column-2n {
        display: flex;
        flex-direction: column; /* 縦並び */
    }

    #second .project .column-box.left {
        order: -1; /* テキストを先に表示 */
    }

    /* 画像ギャラリー（2列表示） */
    #second .project .image-gallery .image-wrapper {
        width: calc(50% - 10px);
    }
}

/* 超小型画面（1列表示） */
@media screen and (max-width: 480px) {
    #second .project .image-gallery .image-wrapper {
        width: 100%;
    }
}

#second .project h4 {
  font-size: 1.3rem;
  color: #ff9900;
  line-height: 1.4;
  font-weight: 700;
  padding-bottom: 15px;
  margin-bottom: 20px;
  display: inline-block;
  align-items: center;
  position: relative; /* 疑似要素用 */
}

/* しずく型の点々（border-bottom の代替） */
#second .project h4::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 12px; /* 点々の高さ */
  background: radial-gradient(circle, #328cc1 40%, transparent 50%);
  background-size: 12px 12px; /* 点々の大きさ */
  background-repeat: repeat-x;
}

#second .project p {
    padding-bottom: 10px;
	} 

/* sp */
@media screen and (max-width: 899px) {
#second .project h4 {
    font-size: 1.25rem;
    line-height: 1.5;
	} 
	
	#second .project p {
    padding-bottom: 10px;
	} 
}



/*googlemap*/

.map-container {
    width: 100%;
    margin: 0 auto;
}

#access-map iframe {
    width: 100%;
    height: 600px; /* デフォルトの高さ */
}

@media (max-width: 768px) {
    #access-map iframe {
        height: 400px; /* スマホでの高さ調整 */
    }
}

