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



=====================================================================*/
/*=========
Font load
===========*/
@import url("https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700&display=swap");
/*=========
Color Code
===========*/
/*global area*/
/*----------------------------------------------------*/
.wrap_original {
overflow: hidden;
}

body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-size: 16px;
  line-height: 1.5;
  color: #115182;
  font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
  -moz-osx-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
	
}

.ul-li ul {
  margin: 0;
  padding: 0;
}
.ul-li ul li {
  list-style: none;
  display: inline-block;
}

.ul-li-block ul {
  margin: 0;
  padding: 0;
}
.ul-li-block ul li {
  display: block;
  list-style: none;
}

#preloader {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99999;
  width: 100%;
  height: 100%;
  overflow: visible;
  background: #ffff url("../img/loader.svg") no-repeat center center;
}

[data-background] {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: 500ms all ease;
  transition: 500ms all ease;
}
a:hover, a:focus {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

button {
  cursor: pointer;
}

.form-control:focus,
button:visited,
button.active,
button:hover,
button:focus,
input:visited,
input.active,
input:hover,
input:focus,
textarea:hover,
textarea:focus,
a:hover,
a:focus,
a:visited,
a.active,
select,
select:hover,
select:focus,
select:visited {
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-decoration: none;
  color: inherit;
}

.form-control {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.relative-position {
  position: relative;
}

.pera-content p {
  margin-bottom: 0;
}

.headline h1,
.headline h2,
.headline h3,
.headline h4,
.headline h5,
.headline h6
.headline h7
.headline h8
.headline h9
.headline h10{
    margin: 0;
    font-weight: bold;
    font-family: 'BIZ UDGothic', sans-serif;
}
@font-face {
  font-family: 'Roboto', 'BIZ UDGothic', sans-serif;
 
}

body {
  font-family: 'Roboto', 'BIZ UDGothic', sans-serif;
}

.container {
  max-width: 100%;
}

@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
  }
}
.float-left {
  float: left;
}

.float-right {
  float: right;
}

.text-right {
  text-align: right;
}

.background_overlay {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
}

.background_position {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.scrollup {
  width: 55px;
  right: 20px;
  z-index: 5;
  height: 55px;
  bottom: 20px;
  display: none;
  position: fixed;
  border-radius: 100%;
  line-height: 55px;
  background-color: #3DDAD7;
}
.scrollup i {
  color: #fff;
}

@-webkit-keyframes toTopFromBottom {
  49% {
    -webkit-transform: translateY(20%);
  }
  50% {
    opacity: 0;
    -webkit-transform: translateY(-20%);
  }
  51% {
    opacity: 1;
  }
}
@keyframes toTopFromBottom {
  49% {
    -webkit-transform: translateY(20%);
            transform: translateY(20%);
  }
  50% {
    opacity: 0;
    -webkit-transform: translateY(-20%);
            transform: translateY(-20%);
  }
  51% {
    opacity: 1;
  }
}
.tai-btn a {
  color: #fff;
  width: 195px;
  height: 60px;
  font-weight: 700;
  border-radius: 30px;
  background-size: 200%, 1px;
  -webkit-transition: 500ms all ease;
  transition: 500ms all ease;
  background-image: -webkit-gradient(linear, left top, right top, from(#134afe), color-stop(50%, #d800ff), to(#134afe));
  background-image: linear-gradient(90deg, #134afe 0%, #d800ff 50%, #134afe);
}
.tai-btn a i {
  margin-left: 8px;
  -webkit-transition: 500ms all ease;
  transition: 500ms all ease;
}
.tai-btn a:hover {
  background-position: 120%;
}
.tai-btn a:hover i {
  margin-left: 12px;
}



.background-wrapper {
  background-color: #3DDAD7;
  padding: 50px 0;
}
.kinkyu_container {
  position: relative;
  text-align: center;
}

.background01-wrapper {
  background-color: #FFF0C1;
  padding: 50px 0;
}






.box {
  display: flex;
  justify-content: space-between;
}

@-webkit-keyframes tai_animation_1 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  25% {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
  }
  50% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  75% {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes tai_animation_1 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  25% {
    -webkit-transform: translateX(-40px);
            transform: translateX(-40px);
  }
  50% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  75% {
    -webkit-transform: translateX(40px);
            transform: translateX(40px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/*---------------------------------------------------- */
/*Header area*/
/*----------------------------------------------------*/
.tai-header-section {
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 10px;
	 padding-bottom: 20px;
  position: absolute;
	  background-color: #fff;
}


.tai-main-navigation ul li a {
  font-size: 16px;
  font-family: 'Roboto', 'BIZ UDGothic', sans-serif;
}

.tai-main-navigation ul li a:hover {
  color: #3DDAD7;
}

.tai-main-nav li a:hover {
  color: #3DDAD7;
}

.taibutton {
  display: inline-block;
 
  text-decoration: #115182;

}

.taibutton:hover {
  text-decoration-color: #3DDAD7;
}

.tai-main-navigation .navbar-nav {
  display: inherit;
}
.tai-main-navigation li {
  margin: 0px 15px;
}
.tai-main-navigation li a {
  font-weight: 700;
  padding-bottom: 0px;
}

.site-logo {
	width: 30%;
}

 
s
.tai-header-section {

  position: fixed; /* メニューを固定位置に配置 */
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 5px;
  padding-bottom: 5px;
  z-index: 9999; /* メニューを画面の前面に持ってくる */
	-webkit-animation-duration: 0.7s;
          animation-duration: 0.7s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out;
  -webkit-box-shadow: 0px 0px 18px 1px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 18px 1px rgba(0, 0, 0, 0.1);
}


.tai-main-navigation ul li a {
  font-size: 16px;
  font-family: 'Roboto', 'BIZ UDGothic', sans-serif;
}

.tai-main-navigation ul li a:hover {
  color: #3DDAD7;
}

.tai-main-nav li a:hover {
  color: #3DDAD7;
}

.taibutton {
  display: inline-block;
  text-decoration: #115182;
}

.taibutton:hover {
  text-decoration-color: #3DDAD7;
}

.tai-main-navigation .navbar-nav {
  display: inherit;
}

.tai-main-navigation li {
  margin: 0px 15px;
}

.tai-main-navigation li a {
  font-weight: 700;
  padding-bottom: 0px;
}

.box-inner {
  position: relative;
  font-weight: 500;
  font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
	transform: scale(1.3)
}

.tai-header-section .phone-box-one .icon {
  position: absolute;
  margin-top: 20px;
  width: 300px;
  height: 300px;
  text-align: center;
  font-size: 80px;
}

.tai-header-section .phone-box-one a {
  position: relative;
  font-weight: 700;
  font-size: 34px;
  margin-bottom: 10px;
	bottom: 10px;
  color: var(--color-onehundredthree);
  font-family: 'Roboto', sans-serif;
}

.tai-header-section .phone-box-one .tel {
  position: relative;
  margin-top: 20px;
  font-weight: 700;
  font-size: 14px;
  font-family: 'Roboto', sans-serif;
}



.tai-header-section .dropdown {
  position: relative;
}
.tai-header-section .dropdown:hover .dropdown-menu {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}
.tai-header-section .dropdown:after {
  top: 0px;
  color: #115182;
  right: -14px;
  content: "+";
  font-size: 22px;
  font-weight: 700;
  position: absolute;
  -webkit-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out;
}
.tai-header-section .dropdown li:after {
  top: 8px;
  right: 15px;
}
.tai-header-section .dropdown-menu {
  left: 0;
  top: 52px;
  z-index: 100;
  margin: 0px;
  padding: 0px;
  height: auto;
  min-width: 250px;
  display: block;
  border: none;
  border-radius: 0;
  position: absolute;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  background-color: #fff;
  background-clip: inherit;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-transform-origin: center top 0;
          transform-origin: center top 0;
  -webkit-box-shadow: 0 13px 18px -8px rgba(0, 0, 0, 0.15), 0 29px 45px 4px rgba(0, 0, 0, 0.08), 0 11px 55px 10px rgba(0, 0, 0, 0.07);
          box-shadow: 0 13px 18px -8px rgba(0, 0, 0, 0.15), 0 29px 45px 4px rgba(0, 0, 0, 0.08), 0 11px 55px 10px rgba(0, 0, 0, 0.07);
}
.tai-header-section .dropdown-menu .dropdown-menu {
  top: 20px;
  opacity: 0;
  left: 250px;
}
.tai-header-section .dropdown-menu a {
  color: #115182 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  background-color: #fff !important;
  padding: 10px 20px !important;
  display: flex;         /* アイコンや縦線と並べたい場合 */
  align-items: center;   /* 縦位置中央に揃える */
  gap: 10px;             /* アイコン・縦線と文字の間隔 */
}
.tai-header-section .dropdown-menu .dropdown-menu a:before {
  display: none;
}
.tai-header-section .dropdown-menu li {
  display: block;
  margin: 0 !important;
  -webkit-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out;
  border-bottom: 1px solid rgba(228, 228, 228, 0.95);
}
.tai-header-section .dropdown-menu li:last-child {
  border-bottom: none;
}
.tai-header-section .dropdown-menu li:hover .dropdown-menu {
  top: 0;
  opacity: 1;
	color: #3DDAD7;
}
.tai-header-section .dropdown-menu a {
  color: #115182 !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  background-color: #fff !important;
}
.tai-header-section .dropdown-menu a:before {
  top: 20px;
  left: 5px;
  width: 0px;
  height: 2px;
  content: "";
  position: absolute;s
  -webkit-transition: 500ms all ease;
  transition: 500ms all ease;
  background-color: #115182;
}
.tai-header-section .dropdown-menu a:after {
  display: none;
}
.tai-header-section .dropdown-menu a:hover {
  color: #3DDAD7 !important;
  background-color: #fff !important;
}
.tai-header-section .dropdown-menu a:hover:before {
  width: 10px;
}



/* ----------------------------------------------------
  Mobile Menu Styles
---------------------------------------------------- */

.mobile_menu {
  position: relative;
}

/* モバイルメニュー全体のパネル */
.mobile_menu_content {
  position: fixed;
  top: 0;
  left: -350px;
  width: 310px;
  height: 100vh;
  padding: 20px 35px 35px;
  background-color: #fff;
  z-index: 101;
  overflow-y: scroll;
  box-shadow: 0px 3px 5px rgba(100, 100, 100, 0.19);
  transition: all 0.5s ease-in;
}

/* メニューが開いた状態 */
.mobile_menu_wrap.mobile_menu_on .mobile_menu_content {
  left: 0;
  transition: all 0.7s ease-out;
}

/* ロゴ */
.m-brand-logo img {
  width: 320px;
  height: auto;
  margin: 10px 0;
  padding-left: 5px;
}

/* 電話ボックス位置 */
.mobilebox-inner {
  position: fixed;
  top: 0;
  right: 0;
  width: 50%;
  height: 50px;
  font-weight: 500;
  margin-top: 8px;
  margin-right: 14px;
  font-family: 'Roboto', 'BIZ UDGothic', sans-serif;
}

/* ハンバーガーボタン */
.mobile_menu_button {
  position: fixed;
  top: 20px;
  right: 10px;
  width: 40px;
  height: 40px;
  background-color: #3DDAD7;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 200;
}

.mobile_menu_button .icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(2.5);
}

/* ナビゲーション全体 */
.mobile-main-navigation {
  width: 100%;
}

.mobile-main-navigation .navbar-nav {
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}

.mobile-main-navigation .navbar-nav li {
  width: 100%;
  display: block;
  transition: 0.3s all ease-in-out;
  border-bottom: 1px solid #eee;
}

.mobile-main-navigation .navbar-nav li a {
  display: block;
  width: 100%;
  padding: 10px 30px 10px 0;
  font-size: 25px;
  font-weight: 600;
  text-transform: uppercase;
  color: #115182;
  font-family: 'Roboto', 'BIZ UDGothic', sans-serif;
  text-decoration: none;
  background-color: #fff;
}

.mobile-main-navigation .navbar-nav li a:hover {
  color: #3DDAD7;
}

/* ドロップダウンメニュー */
.mobile-submenu {
  display: none;
  padding-left: 20px;
  background-color: #fff;
}

.mobile-submenu.open {
  display: block;
}
.mobile-submenu li a {
  font-size: 20px !important;
  padding: 8px 20px !important;
  display: block;
  background-color: #fff;
  text-decoration: none;
}
/* 開閉アイコン（＋−） */
.toggle-icon {
  float: right;
  font-weight: bold;
}

/* CTAボタン */
.mobile_menu_header_btn {
  margin-top: 20px;
}

.tai-header-cta-btn,
.tai-header-cta-btn01 {
  font-size: 14px;
  padding: 10px 0;
  color: #115182;
}

/* オーバーレイ（必要に応じて） */
.mobile_menu_overlay {
  position: fixed;
  top: 0;
  right: 0;
  width: 150%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  opacity: 0;
  visibility: hidden;
  z-index: 100;
  transition: all 0.5s ease-in-out;
}

.mobile_menu_wrap.mobile_menu_on .mobile_menu_overlay {
  opacity: 1;
  visibility: visible;
}

.xis-header-cta-btn {
  margin-top: 20px;
}

.xis-header-cta-btn a {
  display: block;
  margin-bottom: 10px;
  padding: 10px 20px;
  background-color: #115182;
  color: #ffffff;
  font-weight: bold;
  text-decoration: none;
}

.xis-header-cta-btn a:hover {
  background-color: #3DDAD7;
}

.xis-header-cta-btn a.active {
  background-color: #3DDAD7;
}

.mobilephone-box-one{
  top: 0; /* 上端からの距離を0に設定する */
  right: 50; /* 右端からの距離を0に設定する */
 
	}
.mobilebox-inner .icon {

}

.mobilebox-inner .tel {
	margin-right: 40px;
 float: right; /* 右寄せにする */
  top: 0; /* 上端からの距離を0に設定する */
  right: 20; /* 右端からの距離を0に設定する */
	font-size: 8px;
	}

.mobilebox-inner .tel01 {
margin-top: 24px;
	margin-right: -38px;
 float: right; /* 右寄せにする */
  top: 0; /* 上端からの距離を0に設定する */
  right: 26; /* 右端からの距離を0に設定する */
	transform: scale(1.3); /* 要素を2倍に拡大する */
	}


.tai-header-section.sticky-on {
  top: 0;
  width: 100%;
  z-index: 20;
  position: fixed;
  padding: 15px 0px;
  background-color: #fff;
  -webkit-animation-duration: 0.7s;
          animation-duration: 0.7s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-transition: 0.3s all ease-in-out;
  transition: 0.3s all ease-in-out;
  -webkit-box-shadow: 0px 0px 18px 1px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 0px 18px 1px rgba(0, 0, 0, 0.1);
}

.tai-header-cta-btn.mobile_menu_header_btn {
  margin-top: 40px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
	background-color: #fff;
	
}
.tai-header-cta-btn.mobile_menu_header_btn a {
  width: 100% !important;
	  font-family: 'Roboto' , sans-serif;
  font-color: #115182;
	font-size: 32px;
	font-weight: 700;
margin-right: 0px;
	top:0;
}

/* お問い合わせテキスト部分 */
.tai-header-cta-btn.mobile_menu_header_btn {
  margin-top: 10px;
  margin-bottom: 5px;
  text-align: center;
}

/* 電話番号全体の見た目・余白 */
.tai-header-cta-btn01.mobile_menu_header_btn {
  margin-top: 0;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* 電話番号リンクを1行で表示させる */
.tai-header-cta-btn01 .tel01 a {
  white-space: nowrap;     /* ← 改行を防ぐ */
  font-size: 32px;
  font-weight: 700;
  color: #115182;
  text-decoration: none;
  display: inline-block;
}
/* 電話番号の文字サイズと太さを復元 */
.tai-header-cta-btn01 .tel01 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: nowrap;  /* ← 折り返し禁止 */
}

/* アイコンと電話番号の間にスペース */
.tai-header-cta-btn01 .tel01 {
  display: flex;
  align-items: center;
  gap: 10px;
}
/*------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/*共通リンクスタイル*/
/*------------------------------------------------------------------------------------------------------------------------------------------------------------*/



/* 共通リンクスタイル */
.navbar-nav li a {
  color: #115182;
  background-color: #fff;
}

.navbar-nav li a:hover {
  color: #3DDAD7;
  background-color: #fff;
}

.mobile_menu_content .navbar-nav li a {
  color: #115182;
  background-color: #fff;
}

.mobile_menu_content .navbar-nav li a:hover {
  color: #3DDAD7;
  background-color: #fff;
}


/*---------------------------------------------------- */
/*Banner area*/
/*----------------------------------------------------*/




/*---------------------------------------------------- */
/*Banner area*/
/*----------------------------------------------------*/
 :root {
  scroll-padding-top: 100px; /* どの要素にスクロールしても100pxは空く */
}


 #services{
  scroll-padding-top: -200px !important; 
}

.home-section {
    z-index: -1;
	padding: 210px 0px 270px;
	 height: 1000px; /* 適切な高さに調整してください */
	  position: relative;
	width: 100%;

}

/* Rectangle 19 */

.home-section .rectangle{
position: absolute;
left: 0%;
right: 40%;
top: 0px;
	bottom: 40%;
background: #3DDAD7;
border-radius: 0px 0px 300px 0px;
}



.home-content .home-text h1 {
  color: #fff;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.389;
  padding: 50px 0px 0px;
}

.home-content .home-text h2 {
  color: #fff;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.389;
  padding: 5px 0px 0px;
	  padding-bottom: 0px;
}
.home-content .home-text h3 {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.389;
  padding: 5px 0px 0px;
	  padding-bottom: 0px;
}


.home-content {
  flex: 1;
}


.img-content02 {
  float: right;
margin-right: -80px;
margin-top: -350px
}




 .home-img .inner-img {
  
  -webkit-animation-name: bounce;
          animation-name: bounce;
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

.home-section .container {
  width: 90%;
  max-width: 1200px; /* 必要に応じて調整してください */
}

.frame {
  flex-basis: 48%;
}
/* 鳥と雲 */
.home-section .bird{
	position:absolute;
 max-width: 100%;
  height: auto;	left:-80px;
	top:-30px;
	z-index:1;
	 -webkit-animation-name: bounce;
          animation-name: bounce;
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;

}

.bird img {
  width: 50%;
}

.inner-img img {
  width: 50%;
	float: right;
}

.cloud01 img {
  width: 50%;
}

.halloimage-wrapper img {
  width: 50%;
}

.ansin01 img {
  width: 70%;
}

.ansin02 img {
  width: 70%;
}

.nagare-img img {
  width: 70%;
}

.nagare-img1 img {
 display: flex;
  justify-content: center;
  align-items: center;
	width: 50%;
	margin-top: 50px;
}

.nagare-img2 img {
 display: flex;
  justify-content: center;
  align-items: center;
	width: 80%;
	margin-top: 50px;
	margin-right: 50px;
}

.left-image img {
  width: 50%;
}
.right-image img {
  width: 50%;
}

.jitakubox img {
  width: 50%;
}

/* 五四 */
.home-section .ituyo{
	left:100px;
	top:100px;
	z-index:1;
}



.circle-content01 {
   float: left;
}
 .circle-content01 .circle {
position: absolute;
width: 191.95px;
height: 191.95px;
left: 50px;
	top: 400px;
    background-color:#FFF0C1;
    border-radius: 50%; 
    margin: 0 auto;
    text-align: center;
	 
}
  .circle-content01 .circle .circle-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #115182;
    white-space: nowrap;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-style: normal;
    font-weight: 700;
    /* または43px */

    text-align: center;
    letter-spacing: 0em;
    font-size: 32px;
	    line-height: 1.3;

     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
}

/* 24時間365日体制 */

 .circle-content01 .circle01 {
position: absolute;
width: 191.95px;
height: 191.95px;
left: 250px;
	top: 400px;
    background-color:#FFF0C1;
    border-radius: 50%; 
    margin: 0 auto;
    text-align: center;
}
  .circle-content01 .circle01 .circle-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #115182;
    white-space: nowrap;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-style: normal;
    font-weight: 700;
    /* または43px */

    text-align: center;
    letter-spacing: 0em;
    font-size: 32px;
	    line-height: 1.3;

     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
}

/*---------------------------------------------------- */
/*院長紹介 area*/
/*----------------------------------------------------*/

/*---------------------------------------------------- */
/*院長紹介 area*/
/*----------------------------------------------------*/
.about-section {
  height: 800px; 
  top: 0;
  left: 0;
  width: 100%;/* 適切な高さに調整してください */
}

.about01-section {
  top: 0px;
  left: 0;
  width: 100%;
}
.about-content {
  position: relative;
  z-index: 5;
}
.about-text-wrapper .about-title {
  padding: 20px 20px 20px 20px;
}
.about-text-wrapper {
  padding: 30px 30px 30px 30px;
}

.about-title {
  margin-top: 20px;
}
.about-title01 {
  padding-bottom: 0px;
}

.about-title01 span{
    top: 0;
    display: block;
    color: #3DDAD7;
    white-space: nowrap;
    font-family: 'BIZ UDGothic', sans-serif;
    font-size: 18px;
    font-weight: 700;
    right: 30px;
	text-align: left;
		  margin-top: 40px;

}
.about-title01 span::before{
  content: "";
  display: inline-block;
  width: 3em;
  border-top: 2px solid;
  vertical-align: middle;
  margin-right: 1em;
  padding-bottom:4px;
}

.about-title02 {
  padding-bottom: 0px;
}

.about-title02 span{
    top: 0;
    display: block;
    color: #3DDAD7;
    white-space: nowrap;
    font-family: 'BIZ UDGothic', sans-serif;
    font-size: 18px;
    font-weight: 700;
    right: 30px;
	text-align: left;
		  margin-top: 100px;

}
.about-title02 span::before{
  content: "";
  display: inline-block;
  width: 3em;
  border-top: 2px solid;
  vertical-align: middle;
  margin-right: 1em;
  padding-bottom:4px;
}
.about-title h2 {
  color: #115182;
  font-size: 55px;
  font-weight: 700;
  padding: 0px 0px;
	    font-family: 'Roboto','BIZ UDGothic', sans-serif;

}

.about-title03 {
  padding-bottom: 0px;
}

.about-title03 span{
    top: 0;
    display: block;
    color: #3DDAD7;
    white-space: nowrap;
    font-family: 'BIZ UDGothic', sans-serif;
    font-size: 18px;
    font-weight: 700;
    right: 30px;
	text-align: left;

}
.about-title03 span::before{
  content: "";
  display: inline-block;
  width: 3em;
  border-top: 2px solid;
  vertical-align: middle;
  margin-right: 1em;
  padding-bottom:4px;
}

.about-title02 {
  padding-bottom: 0px;
  word-break: break-word;     /* 長い語句でも強制的に折り返す */
  white-space: normal;        /* 改行を許可 */

}
.about-title02 span {
  top: 0;
  display: block;
  color: #3DDAD7;
  font-family: 'BIZ UDGothic', sans-serif;
  font-size: 18px;
  font-weight: 700;
  right: 30px;
  text-align: left;
  white-space: normal;         /* ←ここで nowrap を上書きして折り返し許可 */
  word-break: break-word;
  line-height: 1.6;
}

.about-title02 span::before {
  content: "";
  display: inline-block;
  width: 3em;
  border-top: 2px solid;
  vertical-align: middle;
  margin-right: 1em;
  padding-bottom: 4px;
}
.about-title04 {
  padding-bottom: 0px;
  word-break: break-word;     /* 長い語句でも強制的に折り返す */
  white-space: normal;        /* 改行を許可 */

}

.about-title04 span {
  top: 0;
  display: block;
  color: #3DDAD7;
  font-family: 'BIZ UDGothic', sans-serif;
  font-size: 18px;
  font-weight: 700;
  right: 30px;
  text-align: left;
  white-space: normal;         /* ←ここで nowrap を上書きして折り返し許可 */
  word-break: break-word;
  line-height: 1.6;
}

.about-title04 span::before {
  content: "";
  display: inline-block;
  width: 3em;
  border-top: 2px solid;
  vertical-align: middle;
  margin-right: 1em;
  padding-bottom: 4px;
}
.about-title h2 {
  color: #115182;
  font-size: 55px;
  font-weight: 700;
  padding: 0px 0px;
	    font-family: 'Roboto','BIZ UDGothic', sans-serif;

}


.about-title h3 {
    color: #115182;
    font-size: 30px;
    font-weight: 700;
		  margin-top: 40px;

}

.about-title h4 {
  color: #115182;
  font-size: 28px;
  font-weight: 700;
  padding: 10px 0px;
	  margin-top: 40px;

}

.about-title p {
  color: #115182;
  font-size: 20px;
  font-weight: 500;
  padding: 20px 0px 20px 0px;
	    font-family: 'Roboto','BIZ UDGothic', sans-serif;

}

/***
====================================================================
	nennpyou
====================================================

***/


/* 鳥と雲 */
.ryakureki-list-item .cloud01{
 position: absolute;
  top: 0;
  left: -80px; /* 略歴の左側に配置するために調整 */


}

.about-text-wrapper {
  position: relative;
  z-index: 1;
}



	.incho-photo-wrapper{
    margin: 0 auto;
    max-width: 570px;
  }

.incho-photo-img {
    padding-left: 0px;
  }
/* ryakureki*/
.ryakureki-list-item {
  position: relative;
}

.ryakureki-list-item h2{
    position: relative;
    opacity: 1;
    font-weight: 700;
    line-height: 1;
    display: inline-block;
    font-size: 24px;
    color: #115182;
    font-family: 'BIZ UDGothic', sans-serif;
    left: 50px;
    font-style: normal;
    background: linear-gradient(transparent 50%, #E0F1F1 50%);
	  vertical-align: top;
  margin-top: 0;
  margin-bottom: 0;
}
.ryakureki-list-item p {

	position:absolute;
	font-size: 18px;
  font-weight: 500;
}


/* ryakureki */
.ryakureki-list-item dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  position: absolute;
	  left: -65px; /* 左側の余白を調整 */
}

.ryakureki-list-item dt {
  font-weight: bold;
  line-height: 1em;
  font-size: 22px;
  font-family: 'roboto', sans-serif;
  width: 8.5em;
  padding: 0.7em 5.0em 0em 0em;
  margin-top: 0;
  margin-bottom: 0;
}

.ryakureki-list-item dd {
  line-height: 1em;
  margin-bottom: -40px;
  font-size: 18px;
  width: calc(100% - 8.5em);
  padding: 0.5em 0em 0em;
  margin-right: -50px; 
	margin-top:10px;/* dd を左に少し寄せる */
}

.ryakureki-list-item dl dt {
  text-align: right;
  width: 8.5em;
  padding: 0.9em 1.0em 0em 0em;
  position: relative;
}
 
.ryakureki-list-item dl dd {
  width: calc(100% - 8.5em);
  padding: 0.7em 0em 0em;
  margin-left: 10px; /* dd を左に少し寄せる */
}

.hallo-content {
  position: relative;
  background: #FFFFFF;
  border: 4px solid #115182;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 13px;
  width: 100%;
  height: 400px;
	  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
	margin-top: 30px;
}

.halloimage-wrapper {
  position: absolute;
  left: 35%;
	top: 10%;
  transform: translateX(-50%);
  margin-bottom: 20px; /* イメージを下に下げる */}

.halloimage-wrapper img {
  max-width: 100%;
  height: auto;
}

.hallo-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 20px;
  box-sizing: border-box;
			     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;

}


.hallo-title h2 {
  color: #115182;
  font-size: 36px;
  font-weight: 700;
  padding: 20px;
	    font-family: 'Roboto','BIZ UDGothic', sans-serif;

}

.hallo-title h3 {
  color: #115182;
  font-size: 20px;
  font-weight: 600;
  padding: 20px 50px 20px 50px ;
	text-align:left
}

.hallo-title h4 {
  color: #115182;
  font-size: 24px;
  font-weight: 700;
  padding: 20px;
	  line-height: 1.5; /* 行間の倍率を設定 */

}


.hallo-title p {
    color: #115182;
    font-size: 18px;
    font-weight: 500;
    width: 1000px;
    padding: 20px;
    margin: 0 auto;
    font-family: 'BIZ UDGothic', sans-serif;
    text-align: center;
}

.highlight-marker {
 background:linear-gradient(transparent 60%, #FFF0C1 60%);

}

/* 20250324新規修正箇所 */

.about02-section {
max-width: 900px;   /* 700px → 900px に拡大 */
margin: 40px auto;
font-family: 'BIZ UDGothic', sans-serif;
margin-top: 60px;

}

.about02-section img {
width: 100%;
height: auto;
margin-bottom: 20px;  /* ←ここの数値を大きくする！ */
display: block;
}

.about02-section .about-title span {
display: block;
color: #2f5c9b;
font-family: 'BIZ UDGothic', sans-serif;
font-size: 30px;   /* 大きめ */
font-weight: 700;
text-align: left;
margin-top: 40px;
margin-bottom: 20px;
}

.about02-section img {
width: 100%;
height: auto;
margin-bottom: 30px;
display: block;
}

@media screen and (max-width: 768px) {
/* ごあいさつのz-index指定（高すぎないように） */
.about01-section{
padding-bottom: 350px !important;
position: relative;
z-index: 1;
}

/* about02をしっかり押し下げる */
.about02-section {
position: relative;
z-index: 2;
margin-top: 0 !important;
padding-bottom: 0px !important;
	
}

.about02-section .container {
max-width: 100% !important;
padding-left: 10px !important;
padding-right: 10px !important;
}

.about02-section .row {
margin-left: 0 !important;
margin-right: 0 !important;
}

.about02-section .col-lg-12 {
padding-left: 0 !important;
padding-right: 0 !important;
}

.about02-section .about-title {
margin-top: 0 !important;
margin-bottom: 0 !important;
}

.about02-section .about-title span {
font-size: 20px !important;
margin: 10px 0 !important;
}

.about02-section img {
width: 100% !important;
height: 50% !important;
margin-bottom: 0px !important;
display: block !important;
}
}
/*---------------------------------------------------- */
/*クリニックの特徴 area*/
/*----------------------------------------------------*/
/* 安心と信頼の医療 */

.ansin-sinrai-section {
  z-index: 1;
  padding: 150px 0px 30px;
}

.ansin-sinrai-title span{
    top: 0;
    display: block;
    color: #3DDAD7;
    white-space: nowrap;
    font-family: 'BIZ UDGothic', sans-serif;
    font-size: 18px;
    font-weight: 700;
    right: 30px;
	text-align: left;
		  margin-top: 40px;

}
.ansin-sinrai-title span::before{
  content: "";
  display: inline-block;
  width: 3em;
  border-top: 2px solid;
  vertical-align: middle;
  margin-right: 1em;
  padding-bottom:4px;
}



.ansin01 { 
  text-align: center;
	padding-top:70px;
}

.ansin02 { 
  text-align: center;
	padding-top:75px;
}

/* 20250324新規修正箇所 */

@media screen and (max-width: 768px) {
  .ansin-sinrai-section {
    padding: 0px 0px 30px !important;  /* ← 30px → 10pxに */
    margin-top: 100px !important;        /* ← 20px → 0に */
  }

  .about02-section img {
    width: 100% !important;
    height: auto !important;  /* ← 高さ50%はやめる！ */
    margin-bottom: 50px !important;
    display: block !important;
  }
}
/* ボタン横並び */
.buttons{
	  text-align: center;
	width: 100%;
  height: 200px;

}
.button1{
  display: inline-block;
		     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
  background: #3DDAD7;
	width: 320px;
height: 70px;
  margin: 10px 10px;
  padding: 10px 15px 10px 15px;
  border-radius: 4px;
  color: #FFF;
	line-height:50px;
	text-align: center;
	    font-size: 24px;
font-weight:700;
}
.button2{
  display: inline-block;
		     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
  background: #3DDAD7;
	width: 320px;
height: 70px;
  margin: 10px 10px;
  padding: 10px 15px 10px 15px;
  border-radius: 4px;
  color: #FFF;
	line-height:50px;
	text-align: center;
	    font-size: 24px;
font-weight:700;
}
.button3{
  display: inline-block;
		     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
  background: #3DDAD7;
	width: 320px;
height: 70px;
  margin: 10px 10px;
  padding: 10px 15px 10px 15px;
  border-radius: 4px;
  color: #FFF;
	line-height:50px;
	text-align: center;
	    font-size: 24px;
font-weight:700;
}
.button4{
  display: inline-block;
		     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
  background: #3DDAD7;
	width: 320px;
height: 70px;
  margin: 10px 10px;
  padding: 10px 15px 10px 15px;
  border-radius: 4px;
  color: #FFF;
	line-height:50px;
	text-align: center;
	    font-size: 24px;
font-weight:700;
}
.button5{
  display: inline-block;
		     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
  background: #3DDAD7;
	width: 320px;
height: 70px;
  margin: 10px 10px;
  padding: 10px 15px 10px 15px;
  border-radius: 4px;
  color: #FFF;
	line-height:50px;
	text-align: center;
	    font-size: 24px;
font-weight:700;
}
.button6{
  display: inline-block;
		     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
  background: #3DDAD7;
	width: 320px;
height: 70px;
  margin: 10px 10px;
  padding: 10px 15px 10px 15px;
  border-radius: 4px;
  color: #FFF;
	line-height:50px;
	text-align: center;
	    font-size: 24px;
font-weight:700;
}




	.button:hover{
    opacity: 0.7;
}
/*---------------------------------------------------- */
/*クリニックの特徴 area*/
/*----------------------------------------------------*/

.tokucho-section {
  padding-top: 50px;
  padding-bottom: 50px;
  pointer-events: none;  /* ← クリックを通過させる */
}



.tokucho-title h2 {
  color: #115182;
  font-size: 36px;
  font-weight: 700;
  padding: 50px 0px 50px;
	    font-family: 'Roboto','BIZ UDGothic', sans-serif;

}
.shokaili {
  text-align: center;
  padding-bottom: 45px;
}

.shokai {
  display: inline-block;
  font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
  width: 100%; /* テキストをフレーム内に収めるために幅を100%に設定 */
  max-width: 500px; /* 最大幅を設定 */
  margin: 0px auto; /* 水平方向に中央揃え */
  padding: 10px 5px 5px 5px;
  border-radius: 4px;
  color: #115182;
  line-height: 35px;
  text-align: left;
  font-size: 24px;
  font-weight: 700;
  padding-left: 2em;
  text-indent: -1.7em;
}

/* デスクトップサイズでのレイアウト調整 */
@media (min-width: 992px) {
  .shokaili {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .shokai {
    width: 100%; /* 2列横並びのために幅を調整 */
    margin: 10px; /* 要素間の余白を追加 */
  }
}



/* レ点 */
.checkmark004{
	padding-left:40px;
	position:relative;
}

.checkmark004:before,
.checkmark004:after{
	content:"";
	display:block;
	position:absolute;
}
.checkmark004:before{
	width:25px;
	height:25px;
	border-radius:3px;
	border:3px solid #115182;
	left:0;top:0px;
}
.checkmark004:after{
	border-left:3px solid #115182;
	border-bottom:3px solid #115182;
	width:15px;
	height:10px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	left:5px;
	top:5px;
}
/*---------------------------------------------------- */
/*診療の流れ area*/
/*----------------------------------------------------*/

.nagare-section {
  padding-top: 50px;
  padding-bottom: 50px;


}

.nagare-title h2 {
  color: #115182;
  font-size: 36px;
  font-weight: 700;
  padding: 80px 0px 80px;
	    font-family: 'Roboto','BIZ UDGothic', sans-serif;

}
.nagare-item {
  font-size: 24px;
  background: #FFFFFF;
  border: 4px solid #115182;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 13px;
  width: 100%;
  height: 250px;
  display: flex; /* 追加 */
  align-items: center; /* 追加 */
  justify-content: center; /* 追加 */
  text-align: center; /* 追加 */
}

.nagare-count {
  font-size: 80px;
    font-family: 'roboto';
font-weight: 800;
  width: 100px;
  height: 100px;
  display: flex;
	padding: 20px;
  align-items: center;
  justify-content: center;
	  margin: auto; /* 追加 */

}


.nagare-img {
  max-width: 90%;
  height: auto;
	  align-self: center; /* 追加 */

}

.nagare-text {
  max-width: 850px;
		  margin: auto; /* 追加 */
		font-family: 'BIZ UDGothic', sans-serif;


}

.nagare-text h3 {
  font-family: 'BIZ UDGothic', sans-serif;
  font-style: bold;
	 font-weight: 700;
  color: #115182;
  font-size: 30px;
  text-align: left;
  margin-top: 0;
}

.nagare-text p {
  font-family: 'BIZ UDGothic', sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #115182;
  font-size: 18px;
  text-align: left;
  padding-top: 10px;
  padding-bottom: 10px;
}

.nagare-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 50px;
}

.nagare-item .nagare-text {
  flex: 1;
	  align-items: left;

}
.nagare-item .nagare-img {
  flex: 0.5;
	  align-items: center;

}

.nagare-item .nagare-count {
  margin-right: 20px;
}

.arrow02 {
  position: absolute;
  left: 50%;
  width: 30px;
  height: 30px;
  border-top: 4px solid #115182;
  border-right: 4px solid #115182;
  transform: translate(-50%, -50%) rotate(135deg);
	  margin-top: -30px; /* 適宜調整 */

}

@media screen and (max-width: 768px) {
  .nagare-text {
    padding: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .nagare-text h3 {
    margin: 0 auto 20px auto;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    padding: 0 2px;               /* ← 横余白最小限に */
    white-space: normal;
    max-width: 95%;              /* ← 親要素よりちょっと余裕を持たせる */
  }

  .nagare-text p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0 auto 20px auto;
    padding: 0 10px;
  }

  .nagare-item {
    flex-direction: column;
    text-align: center;
    height: auto;
    padding: 10px 0;
  }

  .nagare-count {
    font-size: 60px;
    margin-bottom: 10px;
  }

  .nagare-img img {
    margin-top: 10px;
    max-width: 100%;
    height: auto;
  }
}
/*---------------------------------------------------- */
/*在宅医療の対象となる方 area*/
/*----------------------------------------------------*/
.iryo-section {
  z-index: 1;
}

.iryo-title h2 {
  color: #fff;
  font-size: 36px;
  font-weight: 700;
  padding: 0;
  font-family: 'Roboto','BIZ UDGothic', sans-serif;
}

.iryo-title p {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  padding-bottom: 20px;
  font-family: 'Roboto','BIZ UDGothic', sans-serif;
}

.arrow {
  position: relative;
  padding-top: 20px;
}

.arrow::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 50%;
  width: 30px;
  height: 30px;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  transform: translateX(-50%) rotate(135deg);
}

.image-container {
  display: flex;
  flex-wrap: wrap; /* 要素が折り返されるようにする */
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}

.left-image,
.right-image {
 display: inline-block;

	
}

.left-image {
  float: left;
}

.right-image {
  float: right;
}



.circle_zaitaku {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 800px;
  height: 180px;
  border-radius: 100px;
  background: #FFF0C1;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.circle_zaitaku h1 {
  color: #3DDAD7;
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 10px;
}

.circle_zaitaku p {
  color: #3DDAD7;
  font-size: 20px;
  font-weight: 700;
}

.iryo_container {
  position: relative;
  text-align: center;
}


/*---------------------------------------------------- */
/*自宅でできる処置 area*/
/*----------------------------------------------------*/
.jitaku-section p {
  text-align: center;
	  padding-bottom: 50px;
	  color: #115182;
  font-size: 20px;
  font-weight: 400;

}

.jitaku-section {
  padding-top: 100px;
	  padding-bottom: 100px;

  z-index: 1;
	
}

.jitaku-title h2 {
   color: #115182;
    font-size: 36px;
    font-weight: 700;
  line-height: 1.5; /* 行間の倍率または絶対値を設定 */
	padding: 50px;
	  letter-spacing: 2px; /* 文字間のスペースを設定 */
}

.jitaku_container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.jitakubox {
  position: relative;
  width: 23%; /* 横4列に均等に配置するために適切な幅を指定 */
  margin-bottom: 20px;
  text-align: center;
  background: #FFFFFF;
  border: 4px solid #115182;
  border-radius: 10px;
  aspect-ratio: 1/0.8; /* ボックスの縦横比を1:1に固定 */
  display: flex; /* 子要素をフレックスボックスにする */
  flex-direction: column; /* 子要素を縦方向に配置する */
  justify-content: center; /* 子要素を縦方向にセンターに配置する */
}

@media (max-width: 768px) {
  /* スマートフォンの場合のレスポンシブ設定 */
  .jitaku_container {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  
  .jitakubox {
    width: 48%; /* 横2列に均等に配置するために適切な幅を指定 */
  }
}

.jitakubox img {
  max-width: 100%;
  height: auto;
  margin: auto; /* 画像を縦横方向にセンターに配置 */
}

.jitakubox h5 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 10px;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 25px;
	  font-weight: bold;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/*---------------------------------------------------- */
/*緊急 area*/
/*----------------------------------------------------*/



.kinkyu-title h2 {
    color: #115182;
    font-size: 36px;
    font-weight: 700;
	padding: 5px;
	  letter-spacing: 2px; /* 文字間のスペースを設定 */

}

.kinkyu-title a {
    color: #115182;
    font-weight: 700;
		     font-family: 'Roboto', sans-serif;
}

.kinkyu-title p {
    color: #115182;
    font-weight: 500;
		padding: 10px;
	padding-top:20px;

		     font-family: 'Roboto', sans-serif;
}

.kinkyuimage-container {
  
  align-items: center; /* 垂直方向に中央揃え */
  margin-bottom: 0px;

}
.kinkyuimage-container img{
	width: 2.5%;
	height: auto;
}
.marker-pen {
  background: linear-gradient(to bottom, transparent 60%, white 40%);
  padding: 0px;
  display: inline;
}


.kinkyu-title h1 {
	
    color: #115182;
    font-size: 38px;
    font-weight: 700;
  line-height: 1.5; /* 行間の倍率または絶対値を設定 */
	  letter-spacing: 1px; /* 文字間のスペースを設定 */
	     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
	position: relative;
  z-index: 1;
  display: inline-block;
 padding-bottom: 0px; /* 線の下側の余白を調整してください */
  margin-bottom: 10px; /* 線を上に上げるためのマージンの値を調整してください */
}



/*---------------------------------------------------- */
/*診療費用 area*/
/*----------------------------------------------------*/
.hiyou-title h2 {
    color: #115182;
    font-size: 36px;
    font-weight: 700;
line-height: 100px;
	padding: 30px;
	  letter-spacing: 2px; /* 文字間のスペースを設定 */

}

.hiyou-section p {
  text-align: center;
	  padding: 15px;
}

.hiyou-section　{
  padding-top: 100px;
  z-index: 1;
	
}

.hiyoubox-container {
  display: flex;
  flex-wrap: wrap;
}

.hiyoubox1,
.hiyoubox2 {
  flex: 1 1 100%;
  background: #FFFFFF;
  border: 4px solid #115182;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 13px;
  padding: 30px;
  margin: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.hiyoubox-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.hiyoubox1 img {
  position: absolute;
  top: -140px; /* 上から80pxはみ出すように配置 */
  left: -50px; /* 左から80pxはみ出すように配置 */
}

.hiyoubox2 img {
  position: absolute;
  top: -140px; /* 上から80pxはみ出すように配置 */
  right: -50px; /* 右から80pxはみ出すように配置 */
}

.hiyoubox1 h2,
.hiyoubox2 h2,
.hiyoubox1 h3,
.hiyoubox2 h3,
.hiyoubox1 p,
.hiyoubox2 p {
  margin: 0;
  text-align: center;
}

.hiyoubox1 h2,
.hiyoubox2 h2 {
  margin-top: 0; /* ボックスの上部に揃えるためマージンを0に設定 */
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  position: relative;
}

.hiyoubox1 h2::after,
.hiyoubox2 h2::after {
  content: "";
  position: absolute;
  bottom: -13px; /* アンダーラインの位置を調整 */
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #115182;
}

.hiyoubox1 h3,
.hiyoubox2 h3 {
  margin: auto;
  text-align: center;
  padding: 15px;
}

.hiyoubox1 p,
.hiyoubox2 p {
  margin-bottom: 0; /* ボックスのボトムに固定 */
  text-align: center; /* テキストを中央揃え */
}



@media screen and (min-width: 768px) {
  .hiyoubox1,
  .hiyoubox2 {
    flex-basis: 48%;
  }
}


/*---------------------------------------------------- */
/*診療費用 area*/
/*----------------------------------------------------*/

.infoframe-container {
  display: flex;
}

.inforight-frame {
  width: 800%;
  background: #FFFFFF;
  border-radius: 13px;
  padding: 20px;
  margin: 10px;
}

.inforight-frame ul {
  list-style-type: none;
  padding: 0;
}

.inforight-frame li {
  margin-bottom: 10px;
}

.inforight-frame .icon {
  margin-right: 5px;
}

.infoleft-frame {
width: 800%;
	display: flex;
  justify-content: space-between;
  align-items: center;
}

.infocircle1 {
position: absolute;
width: 191.95px;
height: 191.95px;
left: 30px;
	top: 350px;
    background-color:#FFF0C1;
    border-radius: 50%; 
    margin: 0 auto;
    text-align: center;
}
.infocircle1 {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #115182;
    white-space: nowrap;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    /* または43px */

    text-align: center;
    letter-spacing: 0em;
    font-size: 32px;
		line-height:1.3em;
     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
}
.infocircle2 {
position: absolute;
width: 191.95px;
height: 191.95px;
left: 100px;
	top: 350px;
    background-color:#FFF0C1;
    border-radius: 50%; 
    margin: 0 auto;
    text-align: center;
}
.infocircle2 {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #115182;
    white-space: nowrap;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    /* または43px */

    text-align: center;
    letter-spacing: 0em;
    font-size: 32px;
		line-height:1.3em;
     font-family: 'Roboto' 'BIZ UDGothic', sans-serif;
}
.contactleft-frame {
	display: flex;
  justify-content: space-between;
  align-items: center;
}
/*---------------------------------------------------- */
/*2025移転しました追加箇所*/
/*----------------------------------------------------*/
.iten-fukidashi {
  display: inline-block;
  background-color: #E7F2F3;
  color: #1a3662;
  font-weight: bold;
  font-size: 15px;
	font-color :#115182;
  padding: 10px 15px;
	    font-family: 'BIZ UDGothic', sans-serif;
  border-radius: 20px;
  margin-left: 8px;
  position: relative;
}

.iten-fukidashi::before {
  content: "";
  position: absolute;
left: 20px;       /* 三角の横位置（中央ならleft: 50%） */
  top: 100%;        /* 下に出す */
  border: 6px solid transparent;
  border-top-color: #E7F2F3;  /* ▼下向き三角 */
  margin-top: -2px; /* 微調整 */
}
/*---------------------------------------------------- */
/*houmon area*/
/*----------------------------------------------------*/
.houmon-section .spacer {
  height: 100px; 
}
.houmon-section {
  z-index: 1;
  overflow: hidden;
	padding-top: 50px
	
}

 .houmon-text {
    padding-top: 0;
  }
.houmon-title {
  padding-bottom: 30px;
}

.houmon-title span{
    top: 0;
    display: block;
    color: #3DDAD7;
    white-space: nowrap;
    font-family: 'BIZ UDGothic', sans-serif;
    font-size: 18px;
    font-weight: 700;
    right: 30px;
	padding-top: 50px;
}
.houmon-title span::before{
  content: "";
  display: inline-block;
  width: 3em;
  border-top: 2px solid;
  vertical-align: middle;
  margin-right: 1em;
  padding-bottom:4px;
}
.houmon-title h2 {
  color: #115182;
  font-size: 50px;
  font-weight: 700;
  padding: 40px 0px 20px 0px;
	    font-family: 'Roboto','BIZ UDGothic', sans-serif;

}
.houmon-title p {
  color: #115182;
  font-size: 20px;
  font-weight: 500;
  padding: 20px 0px 20px 0px;
	    font-family: 'Roboto','BIZ UDGothic', sans-serif;

}
.image-container img {
  margin-top: 30px;
  margin-bottom: 30px;
}

/*---------------------------------------------------- */
/*Contact area*/
/*----------------------------------------------------*/
.contact-section {
  z-index: 1;
  padding: 150px 0px 80px;
}
.contact-section .tai-contact-shape3 {
  left: 0;
  top: 0%;
  z-index: -1;
}
.contact-section .tai-contact-shape4 {
  left: 0;
  z-index: -1;
}
.contact-section .tai-section-title {
  margin: 0 auto;
  max-width: 800px;
  padding-bottom: 10px;
}
.contact-content {
z-index: 1;
  overflow: hidden;
  padding: 15px 15px;
	border: 3px solid #115182;
border-radius: 22px;
	background: #fff;
margin-top: 20px
	}
	
ul {
  list-style-type: none; /* リストのマーカーを表示しない */
}

.contact-section-title {
  padding-bottom: 30px;
}

.contact-section-title span{
    top: 0;
    display: block;
    color: #3DDAD7;
    white-space: nowrap;
    font-family: 'BIZ UDGothic', sans-serif;
    font-size: 18px;
    font-weight: 700;
    right: 30px;
	text-align: left;
}
.contact-section-title span::before{
  content: "";
  display: inline-block;
  width: 3em;
  border-top: 2px solid;
  vertical-align: middle;
  margin-right: 1em;
  padding-bottom:4px;
}

.contact-section-title p {
  color: #115182;
  font-size: 18px;
  font-weight: 500;
  padding-top: 10px;
  font-family: 'Roboto', 'BIZ UDGothic', sans-serif;
}

.contact-section-title h2 {
  color: #115182;
  font-size: 50px;
  font-weight: 700;
  padding-top: 50px;
	padding-bottom: 20px;
  font-family: 'Roboto', 'BIZ UDGothic', sans-serif;
}

.contact-section-title h3 {
  color: #115182;
  font-size: 30px;
  font-weight: 700;
  font-family: 'Roboto', 'BIZ UDGothic', sans-serif;
}

.contactleft-frame {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.contactcircle-container {
  display: flex;
  justify-content: center; /* 追加 */
  align-items: center; /* 追加 */
}

.contactcircle {
  /* 既存のスタイル */
  position: relative;
  width: 191.95px;
  height: 191.95px;
  background-color: #FFF0C1;
  border-radius: 50%;
  text-align: center;
  color: #115182;
  white-space: nowrap;
  font-style: normal;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.3em;
  font-family: 'Roboto', 'BIZ UDGothic', sans-serif;
  padding: 10px;
}

.contactcircle:first-child {
  margin-right: 10px; /* 修正: 右側のマージンを追加 */
}

.contactcircle:last-child {
  margin-left: 10px; /* 修正: 左側のマージンを追加 */
}

.contactcircle .contactcircle-inner {
  /* 既存のスタイル */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 10px;
}



.fa-phone-volume::before {
	  font-family: "Font Awesome 5 Free"; /*←ココ！！！！！！！*/
	font-weight: 900; 
  content: "\f2a0"; }

.fa-fax::before {
	  font-family: "Font Awesome 5 Free"; /*←ココ！！！！！！！*/
	font-weight: 900; 
  content: "\f1ac"; }

.fa-envelopes-bulk::before {
	  font-family: "Font Awesome 5 Free"; /*←ココ！！！！！！！*/
	font-weight: 900; 
  content: "\f674"; }


/*---------------------------------------------------- */
/*Footer area*/
/*----------------------------------------------------*/
.tai-footer-menu-content {
  border-top: 2px solid #115182;
}

.tai-footer-menu-content .footer-menu a {
  color: #115182;
  font-size: 16px;
  font-weight: 800;
}

.tai-footer-menu-content .footer-menu p {
  color: #115182;
  font-size: 16px;
  font-weight: 800;
  text-align: left;
}

.tai-footer-menu-content .footer-menu a:hover {
  color: #3DDAD7;
}

.tai-footer-menu-content .footer-menu ul {
  list-style: none;
  padding-left: 0;
}

.tai-footer-menu-content .footer-menu li {
  position: relative;
}

.tai-footer-menu-content .footer-menu li::before {
  content: "⚫︎";
  margin-right: 10px; /* ドットの前の余白を設定 */
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.tai-footer-menu-content .footer-menu a {
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px; /* テキストの間の余白を設定 */
}


.tai-footer-social-text ul-li.per-content p {
  margin-bottom: 10px;
}

.tai-footer-social-text ul-li.per-content p:last-child {
  margin-bottom: 0;
}

.tai-footer-social-text ul-li.per-content p::before {
  content: "・";
  margin-right: 10px;
}

.tai-footer-social-text ul-li.per-content p:first-child::before {
  content: "";
}

.tai-footer-social-text ul-li.per-content p:last-child::after {
  content: "";
}

.tai-footer-copyright {
  padding: 10px 0px;
  text-align: right;
}

s

/*---------------------------------------------------- */
/*Responsive area*/
/*----------------------------------------------------*/

/*---------------------------------------------------- */
.hallo-title {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.button-wrap {
  width: 1000px;
  margin-top: 40px;
}

.btn-jisseki {
  display: block;
  width: 100%;
  background-color: #115182;
 color: #ffffff !important;
  font-size: 24px;
  font-weight: 600;
  padding: 20px 40px;
  text-align: center;
  border-radius: 8px;
  text-decoration: none;
  transition: background-color 0.3s ease; 
	margin-top: 100px; /* ← 直接ボタンに余白を追加してもOK */
		margin-bottom: 100px; /* ← 直接ボタンに余白を追加してもOK */

}

.btn-jisseki:hover {
  background-color: #3DDAD7;
  color: #fff;
	}
	
	
.jisseki-page section {

	
}

.jisseki-intro h3 {
  margin-top: 50px;
  margin-bottom: 50px;
  text-align: left; /* ←お好みでcenterにしてもOK */
	  font-weight: 700; /* ←これが太字指定 */

}

.jisseki-intro　p {
margin-top: 50px;
  margin-bottom: 100px;}


.jisseki-intro {
  padding: 200px 200px 100px;
  text-align: left;
  background-color: #ffffff;
}

.jisseki-intro2 {
  padding: 100px 200px 100px;
  text-align: left;
  background-color: #ffffff;
}

.jisseki-intro2 h3 {
  margin-top: 50px;
  margin-bottom: 50px;
  text-align: left; /* ←お好みでcenterにしてもOK */
	  font-weight: 700; /* ←これが太字指定 */
 line-height: 1.5
	 ; 
}

.jisseki-image-block {
  padding-top: 60px;
	  padding-left: 20px;

  text-align: center;
}
.jisseki-image-block1 {
text-align: center;

  height: auto;
}

.jisseki-image-block2 {
width: 280px; /* 小さめのサイズに調整 */
  height: auto;
  float: right;  /* 左に寄せる */
	margin-top: 100px;
		margin-left: 100px;

}
.jisseki-image-block3 {
  width: 100px; /* 小さめのサイズに調整 */
  height: auto;
  float: right;  /* 右に寄せる */
  margin-top: 80px;
  margin-left: 100px;

  transform: rotate(10deg); /* ← ここで右に回転 */
}
.jisseki-image-block4 {
  width: 150px;
  height: auto;
  margin-top: 80px; /* ← この値で下にずらす */
  margin-left: auto;
  margin-right: auto;
  display: block;
}



canvas {
  max-width: 1000px;
  margin: 0 auto;
  display: block;
}

.jisseki-message {
  background-color: #E3F6F9;
  padding: 100px 200px 100px;
  text-align: left;
}

.jisseki-message h3 {
  margin-top: 50px;
  margin-bottom: 50px;
  text-align: left; /* ←お好みでcenterにしてもOK */
	  font-weight: 700; /* ←これが太字指定 */

}

.jisseki-message p {
  max-width: 900px;
}

.jisseki-message .jisseki-illust {
  width: 200px;
  margin-top: 30px;
}


.jisseki-graph {
  padding: 100px 200px;
  text-align: left;
}

/* セクションの見出し全体 */
.jisseki-graph h3 {
  margin-top: 50px;
  margin-bottom: 50px;
  font-size: 28px;
  font-weight: 700;
  text-align: left;
}
.jisseki-intro h3 {
  margin-top: 50px;
  margin-bottom: 50px;
  font-size: 28px;
  font-weight: 700;
  text-align: left;
	  line-height: 1.5;       /* ← これが行間です（1.5〜2くらいが目安） */

}

.jisseki-message h3 {
  margin-top: 50px;
  margin-bottom: 50px;
  font-size: 28px;
  font-weight: 700;
  text-align: left;
	  line-height: 1.5;       /* ← これが行間です（1.5〜2くらいが目安） */

}


.jisseki-message h4 {
  margin-top: 50px;
  margin-bottom: 50px;
  font-size: 24px;
  font-weight: 700;
  text-align: left;
	  line-height: 1.5;       /* ← これが行間です（1.5〜2くらいが目安） */

}

.jisseki-graph p {
  line-height: 1.8;
  margin-top: 10px;
  margin-bottom: 50px;
}
.jisseki-graph .section-title-with-icon {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  padding-left: 0; /* ← 左揃えに合わせて0に */
}
.jisseki-graph .section-title-with-icon1 {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  padding-left: 0; /* ← 左揃えに合わせて0に */
}

/* 雲アイコン */
.jisseki-graph .section-icon {
  width: 100px;
  height: auto;
margin-left: -110px; /* ←ここで左にずらす */
}

/* ハイライト付きタイトル */
.jisseki-graph .highlight-title {
  position: relative;
  font-size: 28px;
  font-weight: 700;
  color: #115182;
  display: inline-block;
  padding-bottom: 6px; /* ← 線との余白調整 */
  margin: 0;
}

/* 下線ハイライト */
.jisseki-graph .highlight-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px; /* ← 美しい太さに調整 */
  background-color: #E0F1F1;
  z-index: 2;
}

@media (max-width: 768px) {
  .jisseki-intro,
  .jisseki-graph,
  .jisseki-message ,
	.jisseki-intro2{
    padding: 30px 20px !important; /* スマホでは余白を小さく */
  }

  .jisseki-graph .section-title-with-icon {
    flex-direction: column; /* アイコンと見出しを縦並びに */
    align-items: flex-start;
    gap: 10px;
	  
  }

  .jisseki-graph .section-icon {
    margin-left: 0; /* 左ずらし解除 */
    width: 60px;
  }

  .jisseki-graph .highlight-title {
    font-size: 22px;
  }

  .jisseki-graph p {
    margin-top: 20px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .jisseki-image-block3 {
    display: none !important;
  }
}
/* モバイル用に、見出しの位置を下にずらす */
@media screen and (max-width: 768px) {
  .title-with-icon {
    margin-top: 130px; /* ←固定ヘッダーの高さに応じて調整（80px〜120px程度） */
  }
}

/* タイトルを中央寄せにする */
.insurance-top-title {
  text-align: center;
  margin-top: 60px;
  margin-bottom: 40px;
}

.title-with-icon.centered {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
}

/* アイコンの大きさ調整 */
.title-with-icon img.section-icon {
  width: 100px;
	margin-left: -50px;
  height: auto;
}

/* タイトルにハイライト下線（必要であれば） */
.highlight-title {
  position: relative;
  font-size: 28px;
  font-weight: 700;
  color: #115182;
  display: inline-block;
  padding-bottom: 6px;
}

.highlight-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  background-color: #E0F1F1;
  z-index: -1;
}



.feature-list {
  font-size: 18px; /* 通常のpが16pxなら＋2px程度 */
  line-height: 2;
  margin-top: 20px;
  margin-bottom: 30px;
  color: #115182; /* 必要に応じて色も指定 */
	list-style-position: outside;
  padding-left: 1.5em; /* ←ドットと文字に空間を確保 */
  margin-left: 0;
}


.feature-list li {
  text-indent: -1.5em; /* ←行頭の「・」を揃えた上で… */
  padding-left: 1em;  /* ←2行目以降をインデント */
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .feature-list {
    list-style: none;
    padding-left: 1.2em;
    margin-left: 0;
  }

  .feature-list li {
    position: relative;
    padding-left: 1em; /* ← 「・」マーク分の余白 */
    text-indent: 0;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  .feature-list li::before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0;
    color: #115182;
    font-size: 1.2em;
    line-height: 1;
  }
}
/* フレーム全体 */
.jisseki-box {
  position: relative;
  background: #FFFFFF;
  border: 4px solid #115182;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 13px;
  width: 100%;
  padding: 40px 20px;
  box-sizing: border-box;
  text-align: center;
  margin-top: 10px;
}

/* 中央寄せのヘッダー（アイコン＋タイトル） */
.section-title-with-icon.center {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.section-icon {
  width: 100px;
  height: auto;
}


/* 説明文 */
.jisseki-box-description {
  font-size: 16px;
  color: #115182;
  line-height: 1.8;
  margin: 0 auto 30px auto; /* 上下30px、左右自動で中央寄せ */
  max-width: 80%; /* PCでは幅を制限して読みやすく */
}

.jisseki-box-note {
  max-width: 400px;        /* ← 横幅制限したいサイズに調整 */
  width: 100%;             /* ← モバイルでの可読性もキープ */
  margin: 20px auto;       /* ← 中央寄せ＆上下に余白 */
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
}

/* 箇条書きのリスト */
.jisseki-box-list {
  font-size: 22px;
  line-height: 2;
  color: #115182;
  list-style: none;
  padding-left: 0;
  text-align: center;
  font-weight: 600;
	text-indent: -1em;
}

.jisseki-box-list li {
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .section-title-with-icon {
    flex-direction: row; /* 必要に応じて column に切り替えも可 */
    align-items: center;
    justify-content: flex-start;
  }

  .highlight-title {
    font-size: 24px;
  }

  .section-icon {
    width: 80px;
  }
}
  /* 説明文と補足文の読みやすさ調整 */
  .jisseki-box-description,
  .jisseki-box-note {
    max-width: 100%;
    font-size: 15px;
  }

  /* リスト項目のサイズ・間隔調整 */
  .jisseki-box-list {
    font-size: 20px;
    padding-left: 1.5em;
  }

  .jisseki-box-list li {
    line-height: 1.8;
    margin-bottom: 14px;
  }




/* モバイル表示時に上に余白をつけて、ヘッダーに隠れないようにする */
@media screen and (max-width: 768px) {
  .about-title03 {
    margin-top: 200px; /* ← ヘッダー高さに応じて調整（例：80〜120px） */
  }
}


/* スマホ専用調整 */
@media screen and (max-width: 768px) {
  .about-title04 span {
    display: block;           /* 折り返しを強制する */
    font-size: 18px;
    line-height: 1.6;
	  margin-top: 50px;
  }

@media screen and (max-width: 768px) {
  .about-title02 span {
    display: block;           /* 折り返しを強制する */
    font-size: 18px;
    line-height: 1.6;
  }

/*---------------------------------------------------- */
/*Responsive area*/
/*----------------------------------------------------*/

/*---------------------------------------------------- */
.hallo-title {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.button-wrap {
  width: 1000px;
  margin-top: 40px;
}
.jisseki-button-wrap {
  margin-top: 40px;
  margin-bottom: 80px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .jisseki-button-wrap {
    margin-top: 0px;  /* ← スマホでは小さく調整 */
    margin-bottom: 40px;
  }
}
.btn-jisseki {
  display: block;
  width: 100%;
  background-color: #115182;
 color: #ffffff !important;
  font-size: 24px;
  font-weight: 600;
  padding: 20px 40px;
  text-align: center;
  border-radius: 8px;
  text-decoration: none;
  transition: background-color 0.3s ease; 
	margin-top: 100px; /* ← 直接ボタンに余白を追加してもOK */
		margin-bottom: 100px; /* ← 直接ボタンに余白を追加してもOK */

}
.btn-jisseki {
  position: relative;
  z-index: 10;
}
.btn-jisseki:hover {
  background-color: #3DDAD7;
  color: #fff;
	}
@media screen and (max-width: 768px) {
  .btn-jisseki {
    display: block !important;
    width: 100%;
    font-size: 20px;
    padding: 16px 24px;
  }
}
	/* モバイルメニュー開いたときにスクロールを止める */
body.mobile-menu-open {
  overflow: hidden;
}

/* ドロップダウンの初期状態は非表示 */
.mobile-submenu {
  display: none;
}

/* ドロップダウン展開 */
.mobile-dropdown.open .mobile-submenu {
  display: block;
}

/* ドロップダウンのアイコン（＋→－など）は後でJSで操作してもOK */
	
/* ===== Recruit (採用情報) ===== */
.frame {
  position: relative;
  width: 1370px;
  height: 1921px;
}

.frame .overlap {
  position: absolute;
  width: 1370px;
  height: 1584px;
  top: 337px;
  left: 0;
}

.frame .text-wrapper {
  width: 775px;
  top: 40px;
  left: 259px;
  font-family: "BIZ UDPGothic-Regular", Helvetica;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 1.08px;
  line-height: 45.6px;
  position: absolute;
  color: #115182;
}

.frame .div {
  width: 105px;
  top: 95px;
  left: 57px;
  font-family: "BIZ UDGothic-Bold", Helvetica;
  font-weight: 700;
  font-size: 24px;
  text-align: right;
  letter-spacing: 1.20px;
  line-height: normal;
  position: absolute;
  color: #115182;
}

.frame .text-wrapper-2 {
  width: 1072px;
  top: 297px;
  left: 298px;
  font-family: "BIZ UDPGothic-Regular", Helvetica;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 1.08px;
  line-height: 45.6px;
  position: absolute;
  color: #115182;
}

.frame .text-wrapper-3 {
  width: 158px;
  top: 328px;
  left: 31px;
  font-family: "BIZ UDGothic-Bold", Helvetica;
  font-weight: 700;
  font-size: 24px;
  text-align: right;
  letter-spacing: 1.20px;
  line-height: normal;
  position: absolute;
  color: #115182;
}

.frame .element {
  width: 556px;
  top: 778px;
  left: 259px;
  font-family: "BIZ UDPGothic-Regular", Helvetica;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 1.08px;
  line-height: 45.6px;
  position: absolute;
  color: #115182;
}

.frame .text-wrapper-4 {
  width: 186px;
  top: 902px;
  left: 17px;
  font-family: "BIZ UDGothic-Bold", Helvetica;
  font-weight: 700;
  font-size: 24px;
  text-align: right;
  letter-spacing: 1.20px;
  line-height: normal;
  position: absolute;
  color: #115182;
}

.frame .text-wrapper-5 {
  width: 1072px;
  top: 1198px;
  left: 259px;
  font-family: "BIZ UDPGothic-Regular", Helvetica;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 1.08px;
  line-height: 45.6px;
  position: absolute;
  color: #115182;
}

.frame .text-wrapper-6 {
  width: 161px;
  top: 1230px;
  left: 29px;
  font-family: "BIZ UDGothic-Bold", Helvetica;
  font-weight: 700;
  font-size: 24px;
  text-align: right;
  letter-spacing: 1.20px;
  line-height: normal;
  position: absolute;
  color: #115182;
}

.frame .taioomura-taizaitaku {
  position: absolute;
  width: 1072px;
  top: 1434px;
  left: 298px;
  font-family: "BIZ UDPGothic-Regular", Helvetica;
  font-weight: 400;
  color: #115182;
  font-size: 24px;
  letter-spacing: 1.08px;
  line-height: 45.6px;
}

.frame .span {
  letter-spacing: 0.26px;
}

.frame .text-wrapper-7 {
  letter-spacing: 0.26px;
  text-decoration: underline;
}

.frame .text-wrapper-8 {
  width: 106px;
  top: 1476px;
  left: 57px;
  font-family: "BIZ UDGothic-Bold", Helvetica;
  font-weight: 700;
  font-size: 24px;
  text-align: right;
  letter-spacing: 1.20px;
  line-height: normal;
  position: absolute;
  color: #115182;
}

.frame .element-2 {
  width: 633px;
  top: 511px;
  left: 259px;
  font-family: "BIZ UDPGothic-Regular", Helvetica;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 1.08px;
  line-height: 45.6px;
  position: absolute;
  color: #115182;
}

.frame .text-wrapper-9 {
  width: 193px;
  top: 565px;
  left: 13px;
  font-family: "BIZ UDGothic-Bold", Helvetica;
  font-weight: 700;
  font-size: 24px;
  text-align: right;
  letter-spacing: 1.20px;
  line-height: normal;
  position: absolute;
  color: #115182;
}

.frame .overlap-group {
  position: absolute;
  width: 1042px;
  height: 1584px;
  top: 0;
  left: 0;
}

.frame .line {
  position: absolute;
  width: 3px;
  height: 1584px;
  top: 0;
  left: 233px;
}

.frame .img {
  position: absolute;
  width: 1042px;
  height: 3px;
  top: 233px;
  left: 0;
}

.frame .line-2 {
  position: absolute;
  width: 1042px;
  height: 3px;
  top: 449px;
  left: 0;
}

.frame .line-3 {
  position: absolute;
  width: 1042px;
  height: 3px;
  top: 719px;
  left: 0;
}

.frame .line-4 {
  position: absolute;
  width: 1042px;
  height: 3px;
  top: 1124px;
  left: 0;
}

.frame .line-5 {
  position: absolute;
  width: 1042px;
  height: 3px;
  top: 1360px;
  left: 0;
}

.frame .overlap-2 {
  position: absolute;
  width: 641px;
  height: 80px;
  top: 0;
  left: 246px;
}

.frame .rectangle {
  position: absolute;
  width: 166px;
  height: 15px;
  top: 60px;
  left: 238px;
  background-color: #e0f1f1;
}

.frame .element-3 {
  position: absolute;
  width: 112px;
  height: 80px;
  top: 0;
  left: 126px;
  object-fit: cover;
}

.frame .text-wrapper-10 {
  width: 641px;
  top: 13px;
  left: 0;
  font-family: "BIZ UDPGothic-Bold", Helvetica;
  font-weight: 700;
  font-size: 40px;
  text-align: center;
  letter-spacing: 2.00px;
  line-height: 61.2px;
  white-space: nowrap;
  position: absolute;
  color: #115182;
}
}	

	
	
	
	/* ===== モバイルメニューの重なり順を全面に修正 ===== */

/* ハンバーガーは最前面に */
.mobile_menu_button {
  position: fixed; /* 念のため明示 */
  z-index: 10002;  /* ヘッダーより上 */
  pointer-events: auto;
}

/* スライドしてくるメニュー本体 */
.mobile_menu_content {
  z-index: 10001;  /* ヘッダーより上 */
}

/* 背景の黒オーバーレイ */
.mobile_menu_overlay {
  z-index: 10000;  /* メニュー本体よりは下だがヘッダーより上 */
}

/* 念のため：ヘッダーは最上位ではなくしておく（既存が9999でもOKだが影響を避ける） */
.tai-header-section {
  z-index: 9000;
}
	
/* サブメニュー（インデント・下線ナシ・背景ナシ） */
/* サブメニューを常に表示（閉じたりせずリストとして出す） */
.mobile_menu_content .mobile-submenu {
  display: block !important;
  list-style: none;
  margin: 6px 0 6px 6px; /* インデント */
  padding: 0;
  border: none !important;
}
.mobile_menu_content .mobile-submenu li {
  position: relative;
  border: none !important;      /* 線も消す */
  margin: 0;
  padding: 4px 0 4px 1.5em;     /* 左インデント */
}

/* サブメニューリンクの背景色を完全に消す */
.mobile_menu_content .mobile-submenu li a {
  background: none !important;   /* 背景を消す */
  background-color: transparent !important; /* 念のため */
  padding: 6px 0 6px 20px;      
  display: block;
  color: #115182;
  text-decoration: none;
}
/* 先頭に「ー」を表示（位置ズレしない版） */

.mobile_menu_content .mobile-submenu li::before {
  content: "ー";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);  /* 縦位置を中央揃え */
  color: #115182;
  font-weight: bold;
}

/* サブメニューの背景や影を完全に消す */
.mobile_menu_content .mobile-submenu li,
.mobile_menu_content .mobile-submenu li a {
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;   /* 影がある場合も消す */
}
		/* 1) スマホではデスクトップ用のナビ・電話ボックスは隠す */
@media (max-width: 991px) {
  .tai-main-navigation-area,
  .phone-box-one,
  .box-inner {
    display: none !important;
  }
}

/* 2) ハンバーガー一式を必ず出す＆一番手前に */
.mobile_menu { 
  display: block !important; 
}

.mobile_menu_button {
  display: flex !important;
  position: fixed;    /* 常に右上に見える */
  top: 16px;
  right: 12px;
  z-index: 100000;    /* ぜったい前面 */
}

/* モバイルメニューの中身も前面に（開いた時に隠れないように） */
.mobile_menu_content {
  z-index: 100001 !important;
}

/* オーバーレイも前面に */
.mobile_menu_overlay {
  z-index: 100000 !important;
}
	
/* ====== スマホだけ調整（幅はお好みで） ====== */
/* ▼ スマホ時: ヘッダの右側レイアウトを確定 */
/* ── スマホだけ ───────────────────────────── */
	
@media (max-width: 768px) {
  /* ヘッダー帯を細く */
  .tai-header-section { padding: 4px 0 !important; }

  /* ヘッダー内をflexで縦中央揃え */
  .mobile_menu {
    display: flex;
    align-items: center;   /* ←縦センター揃え */
    justify-content: space-between;
    min-height: 50px;      /* ロゴ高さに揃える */
    position: relative;
  }

  /* ロゴ */
  .m-brand-logo img {
    height: 45px;
    width: auto;
    display: block;
  }

  /* 電話ブロック */
  /* 電話＋お問い合わせ */
  .mobilephone-box-one {
	      position: absolute !important;

    display: flex;
    flex-direction: column;  /* ←縦並び */
    align-items: center;
    justify-content: center;
	      margin-right: 50px;  /* ← ここで余白を作る（ハンバーガーとの間隔） */


  }
  .right-tools {
    display: flex;
    align-items: center;
    gap: 50px;                /* ← ここで電話とハンバーガーの間隔を作る */
  }
 .mobilephone-box-one .tel {
    white-space: nowrap;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    color:  #115182;
    margin-bottom: 1px;
    text-align: center;
	     margin-left: -3px;   /* 数値はお好みで調整 (-3px ~ -10px程度) */

  }

  .mobilephone-box-one .tel01 i {
    font-size: 27px;
    line-height: 1;
  }

  /* ハンバーガーメニュー */
  /* ハンバーガーボタン全体のボックス */
/* ハンバーガーボタンの外枠はそのまま */
.mobile_menu_button{
  width: 44px;
  height: 44px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#00bcd4;
  border-radius:6px;
}

/* 中の三本線アイコンだけ小さく（※ font-weightは900のまま！） */
.mobile_menu_button .icon-wrapper i{
  font-size: 15px;           /* ← 16〜18pxあたりで調整 */
  line-height: 1;
  font-weight: 900;          /* ← ここを normal にしない！ */
  /* どちらか一方、サイトの採用バージョンに合わせて指定 */
  font-family: "Font Awesome 6 Free";   /* FA6ならこちら */
  /* font-family: "Font Awesome 5 Free";*/ /* FA5ならこちら */
}

/* もし以前に .icon-wrapper に transform: scale(...) があるなら打ち消す */
.mobile_menu_button .icon-wrapper{
  transform: none !important;
}
}
  }
/* スマホ：下層ページのヒーロー余白を詰める */
@media (max-width: 768px) {

  /* 採用ページ */
  body.saiyou-page #recruit .recruit-hero {
    padding: 16px 16px 0 !important;  /* ←上16 / 横16 / 下0 に */
  }
  body.saiyou-page #recruit .container {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* 診療実績（最初のヒーロー／見出しブロック名に合わせて） */
  body.jisseki-page .page-hero,
  body.jisseki-page .hero,
  body.jisseki-page .section-hero {
    padding: 16px 16px 0 !important;
  }

  /* 保険医療機関ページ（同様に最初のブロックに合わせて） */
  body.hokeniryou-page .page-hero,
  body.hokeniryou-page .hero,
  body.hokeniryou-page .section-hero {
    padding: 16px 16px 0 !important;
  }
}

@media (max-width: 768px) {
 /* 採用ページ */
body.saiyou-page .recruit-section {
  margin-top: 60px !important;
  padding-top: 20px !important; /* 余白を最小限に */
}

/* 実績ページ */
body.jisseki-page .jisseki-intro {
  margin-top: 0 !important;
  padding-top: 20px !important;
}

/* 保険医療機関ページ */
body.hokeniryou-page .hokeniryou-intro {
  margin-top: 0 !important;
  padding-top: 20px !important;
}
	
	body.jisseki-page .jisseki-intro {
  margin-top: 0 !important;
  padding-top: 16px !important;   /* 好きな値に調整（12〜24px程度） */
}


/* 見出しのデフォルト上マージンもゼロに */

body.jisseki-page .jisseki-intro .about-title03 {
  margin-top: 80px !important;
}

/* アンカー用にどこかで設定している scroll-margin-top 対策 */
body.jisseki-page .jisseki-intro {
  scroll-margin-top: 0 !important;
}
	
	/* 保険医療ページ専用に調整 */
body.hokeniryou-page .jisseki-intro {
  padding-top: 40px !important;   /* ← 200px → 40px に詰める */
  padding-bottom: 60px;           /* 下はお好みで */
}
	
	/* 保険医療ページ：タイトル周りの余白を詰める */
body.hokeniryou-page .jisseki-intro { padding-top: 0 !important; }

/* margin の折り畳みを止めて上の余白を消す */
body.hokeniryou-page .title-with-icon.centered {
  margin-top: 0 !important;
  padding-top: 0 !important;
  display: flex;             /* ← これで margin 折り畳みが起きなくなる */
  flex-direction: column;
  align-items: center;
}

/* h2 自体のデフォルト margin をリセット */
body.hokeniryou-page .title-with-icon.centered .highlight-title {
  margin-top: 50px !important;      /* ← 上下の余白をゼロに */
}

/* 雲アイコンに余白があれば消す（必要なら） */
body.hokeniryou-page .title-with-icon.centered .section-icon {
  margin: 0 !important;
  display: block;
}
	/* 保険医療ページ：サブタイトルの上の余白を詰める */
/* 保険医療ページの col-lg-6 内余白をリセット */
/* 保険医療ページの col-lg-6 内余白をリセット */
body.hokeniryou-page .col-lg-6 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* タイトル要素自体の余白もリセット */
body.hokeniryou-page .about-title02 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
	body.hokeniryou-page .row {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
	
	/* 保険医療ページだけ、about-text-wrapper のTOP余白を小さくする */
body.hokeniryou-page .about-text-wrapper {
  margin-top: 10px !important;   /* ← 10〜20pxくらいで調整 */
  padding-top: 0 !important;     /* 不要なら0 */
}
/* 保険医療ページだけ about-text-wrapper の余白を調整 */
body.hokeniryou-page .about-text-wrapper {
  padding-top: 0px !important;   /* ← 控えめに余白を残す */
  padding-bottom: 0 !important;
  margin-top: 0 !important;
}

/* 中の最初の要素（見出しなど）の margin も打ち消し */
body.hokeniryou-page .about-text-wrapper > *:first-child {
  margin-top: 0 !important;
}

/* ✅ 保険医療ページ専用：about-text-wrapper と about-title02 */
body.hokeniryou-page .about-text-wrapper {
  margin-top: 0 !important;
  padding-top: 12px !important;  /* ← 控えめに余白を残す */
}

body.hokeniryou-page .about-text-wrapper .about-title02 {
  margin-top: 0 !important;      /* 完全に詰める */
  padding-top: 0 !important;
}
	/* hokeniryou-page のみ余白調整 */
body.hokeniryou-page .jisseki-intro {
  padding: 0px 0 40px !important; /* 上を20pxだけ残して他は詰める */
}

body.hokeniryou-page .about-text-wrapper {
  margin-top: 0 !important;
  padding: 10px 0 !important; /* 上下10pxに縮める */
}

body.hokeniryou-page .col-lg-6,
body.hokeniryou-page .col-lg-12 {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
}

/* 実績ページだけの余白リセット */
.about-text-wrapper11 .about-title {
  padding: 20px 20px 20px 20px;
}
.about-text-wrapper11 {
  padding: 30px 30px 30px 30px;
}
@media (max-width: 768px) {
  .about-text-wrapper11 .about-title {
    padding: 0px 10px 10px 10px; /* 上下左右すべて10px */
  }

  .about-text-wrapper11 {
    padding: 0px 15px; /* 上下12px、左右15pxでスッキリ */
  }
	/* ── hokeniryou ページ：スマホで .about-text-wrapper を徹底的に小さく ── */
@media (max-width: 768px) {
  body.hokeniryou-page .about-text-wrapper11{
    /* 余白は控えめにだけ残す */
    margin: 10px 0 !important;
    padding: 10px 12px !important;

    /* “大きさを固定している” 可能性を全解除 */
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    /* もし背景で青く見えているなら消す（必要なら外してOK） */
    background: transparent !important;
    border: 0 !important;
  }

  /* 中の見出しが大きすぎて箱が膨らむケースを抑える */
  body.hokeniryou-page .about-title02{
    margin: 8px 0 0 !important;
    padding: 0 !important;
    line-height: 1.25 !important;
    font-size: clamp(18px, 4.2vw, 22px) !important; /* 端末に合わせて自動調整 */
    font-weight: 700;
  }

  /* 見出しの「飾り線」などで高さが増えている場合に備えて */
  body.hokeniryou-page .about-title02::before,
  body.hokeniryou-page .about-title02::after{
    margin: 0 !important;
    height: auto !important;
  }

  /* Bootstrap の列パディングで横幅が窮屈→縦に折り返して高さ増しを防ぐ（任意） */
  body.hokeniryou-page .col-lg-12{
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
	
}
}
@media (max-width: 768px) {
	  body.hokeniryou-page .about-title02 {
    display: flex;
    align-items: center;   /* 線とテキストを縦位置そろえ */
    gap: 10px;             /* 線と文字の間隔 */
    margin-left: 16px;     /* 全体を少し右にずらす */
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body.hokeniryou-page .about-title02 span {
 display: block;
    
    line-height: 1.6;
	  text-indent: 0;           /* ← 変なインデントを消す */
    margin-left: 0;           /* ← 左ズレをなくす */
    margin-top: 30px !important;

}

body.hokeniryou-page .about-title02 span::before {
  content: "";
  display: inline-block;
  width: 50px;          /* 横線の長さ */
  border-top: 2px solid #3DDAD7;  /* ← 高さじゃなく border で線を引く */
  margin-right: 8px;
  vertical-align: middle;
	    margin-left: 16px;     /* ← 左余白を追加！ */

}
}

/* PCでは非表示 */
.sp-only {
  display: none;
}

/* スマホ（768px以下）でだけ表示 */
@media (max-width: 768px) {
  .sp-only {
    display: inline;
  }
}

/* デフォルトでは改行なし */
.sp-break { display: none; }

@media (max-width: 768px) {
  /* 行頭の線 + 文字を横並びで高さ揃え */
  body.hokeniryou-page .about-title02 .lined-title {
    display: inline-flex;          /* ← 重要 */
    align-items: center;           /* 線と文字の縦位置をそろえる */
    line-height: 1.5;
  }

  /* 線そのもの（左余白はここで作る） */
  body.hokeniryou-page .about-title02 .lined-title::before {
    content: "";
    display: inline-block;         /* ← 重要：inline だと margin が効きにくい */
    width: 56px;                   /* 線の長さ */
    height: 0;
    border-top: 2px solid #3DDAD7; /* 線の太さ・色 */
    margin-left: 16px;             /* ★ 線の左の余白（ここで作る） */
    margin-right: 12px;            /* 線と文字の間隔 */
    transform: translateY(-1px);   /* 見た目の微調整（任意） */
  }

  /* スマホだけの改行を使う場合 */
  .sp-break { display: inline; }   /* スマホでは改行させたいなら inline */
  /* 改行をさせたくないなら↓
  .sp-break { display: none; }
  */
}

@media (max-width: 768px) {
  body.hokeniryou-page h3 {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 768px) {
  body.hokeniryou-page p {
    padding-left: 20px;
    padding-right: 20px;
  }
}@media (max-width: 768px) {
  body.hokeniryou-page h4 {
    padding-left: 20px;
    padding-right: 20px;
  }
	
	/* 外側ボックス */
.jisseki-box {
  margin: 30px auto;          /* 上下の外側余白 */
  max-width: 900px;           /* 横幅制限（お好みで） */
  background: #ffffff;        /* 背景色 */
  border: 4px solid #115182;
  border-radius: 8px;         /* 角丸 */
  box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* 影 */
}

/* 内側の余白（ここで左右を小さめに調整） */
.jisseki-box-inner {
  padding: 20px 16px;   /* 上下20px / 左右16px と控えめ */
}

/* スマホ版はさらに詰める */
@media (max-width: 768px) {
  .jisseki-box-inner {
    padding: 16px 12px;  /* 左右をさらに小さく */
  }
}
}

/* --- 中央寄せバージョン --- */
.highlight-title.centered {
  display: inline-block;
  position: relative;
  text-align: center;
}

.highlight-title.centered::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10%;             /* 中央から開始 */
  transform: translateX(-50%); /* 中央揃え */
  width: 100%;           /* 必要に応じて 80% とか調整可 */
  height: 10px;
  background-color: #E0F1F1;
  z-index: -1;
	  text-align: center;

}

/* PC・タブレット用（デフォルト） */
.jisseki-box-inner {
  padding: 20px 16px;  /* 上下20px、左右16px */
}

/* スマホ専用：左右の余白をなくす */
/* スマホ専用：余白を詰める */
@media (max-width: 768px) {
  .jisseki-box-inner {
    padding: 12px 8px;   /* 上下12px、左右8px に縮小 */
  }

  /* タイトルの上下マージンを調整 */
  .jisseki-box-inner .highlight-title {
    margin-top: 8px;
    margin-bottom: 8px;
    font-size: 24px;  /* 少し小さくするなら */
  }

  /* 説明文の余白を縮める */
  .jisseki-box-description,
  .jisseki-box-note {
    margin: 8px 0;
    font-size: 14px;
    line-height: 1.6;
  }

  /* リストの余白を調整 */
  .jisseki-box-list {
    margin: 8px 0;
    padding-left: 18px; /* 番号や黒点を残すため最小限 */
  }
  .jisseki-box-list li {
    margin-bottom: 6px;
  }
}
/* PCはそのまま余白あり、スマホで詰める */
@media (max-width: 768px) {
  /* h3（タイトル）の左右パディングを削除 */
  .jisseki-box-inner .highlight-title {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 説明文の左右余白を削除 */
  .jisseki-box-inner .jisseki-box-description {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 補足の段落も同様に */
  .jisseki-box-inner .jisseki-box-note {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}