.strongest { font-size: 170%; }
.stronger { font-size: 150%; }
.strong { font-size: 120%; }
.soft { font-size: 90%; }
.weak { font-size: 80%; }
.weaker { font-size: 60%; }
.letter-tightest { letter-spacing: -0.15em; }
.letter-tighter  { letter-spacing: -0.05em; }
.letter-tight    { letter-spacing: -0.025em; }
.nobreak { display:inline-block; }
.linebreak { line-break: strict; }
.indent { text-indent: 1em; }
.justify { text-align: justify; }
.flex-row {
   display: flex;
   flex-direction: row;
}
.display-pc { display: none; }
.display-tc { display: none; }
.display-sp { display: none; }
.visible-pc { content-visibility: hidden; }
.visible-tc { content-visibility: hidden; }
.visible-sp { content-visibility: hidden; }

/* ========svg icon======== */
.pdf-icon::after {
   content: "";
   display: inline-block;
   width: 25px;
   height: 25px;
   margin-left: 6px;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath fill='%23d32f2f' d='M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 144-208 0c-35.3 0-64 28.7-64 64l0 144-48 0c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm96-80l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0 0 96 16 0zm80-112c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64 0-64z'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-size: contain;
   vertical-align: middle;
   background-color: white;
   border-radius: 3px;
}
/* ========/svg icon======== */



/* ===============================animation============================= */

/* === fade-in === */
@keyframes fade-in{0%{opacity:0}100%{opacity:1}}
.fade-in{animation:fade-in 1s cubic-bezier(.39,.575,.565,1.000) .5s both}
/* === /fade-in === */

/* === slide-in-right-bounce === */
@keyframes slide-in-right-bounce {
   0% { transform: translateX(90px); opacity: 0; }
   80% { transform: translateX(-8px); opacity: 1; }
   100% { transform: translateX(0); }
}
.slide-in-right-bounce {
   animation: slide-in-right-bounce 1s ease-out 0.5s both;
}
/* === /slide-in-right-bounce === */

/* === slide-in-left-bounce === */
@keyframes slide-in-left-bounce {
   0% { transform: translateX(-90px); opacity: 0; }
   80% { transform: translateX(8px); opacity: 1; }
   100% { transform: translateX(0); }
}
.slide-in-left-bounce {
   animation: slide-in-left-bounce 1s ease-out 0.5s both;
}
/* === /slide-in-left-bounce === */

/* ===============================/animation============================= */



/* ========scroll animation======== */
.tran-delay-500ms {
   transition-timing-function: ease-out;
   transition-delay: .5s;
}
.tran-delay-1s {
   transition-timing-function: ease-out;
   transition-delay: 1s;
}
.is-visible .anim-delay-300ms {
   animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
   animation-fill-mode: both;
   animation-delay: .3s;
}
.is-visible .anim-delay-1s {
   animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
   animation-fill-mode: both;
   animation-delay: 1s;
}

/* === scale === */
.scale-on-scroll {
   transform: scale(0.01);
   transition: transform 1.5s ease-out;
}
.is-visible .scale-on-scroll {
   transform: scale(1);
   z-index: 0;
}
/* === /scale === */

/* === fade === */
.fade-in-on-scroll-right {
   opacity: 0;
   transform: translateX(20px);
   transition-property: opacity, transform;
   transition-duration: 1s;
}
.fade-in-on-scroll-left {
   opacity: 0;
   transform: translateX(-20px);
   transition-property: opacity, transform;
   transition-duration: 1s;
}
.is-visible  .fade-in-on-scroll-right,
.is-visible  .fade-in-on-scroll-left {
   opacity: 1;
   transform: translateX(0);
}
/* === /fade === */


/* === slide === */
.slide-in-on-scroll-right {
   opacity: 0;
   transform: translateX(100px);
   transition-property: opacity, transform;
   transition-duration: .5s;
}
.slide-in-on-scroll-left {
   opacity: 0;
   transform: translateX(-100px);
   transition-property: opacity, transform;
   transition-duration: .5s;
}
.is-visible .slide-in-on-scroll-right,
.is-visible .slide-in-on-scroll-left {
   opacity: 1;
   z-index: 1;
   transform: translateX(0);
}
/* === /slide === */

/* === flip === */
@keyframes flip-in-ver-left {
   0% {
      transform: rotateY(80deg);
      opacity: 0;
   }
   100% {
      transform: rotateY(0);
      opacity: 1;
   }
}
@keyframes flip-in-ver-right {
   0% {
      transform: rotateY(-80deg);
      opacity: 0;
   }
   100% {
      transform: rotateY(0);
      opacity: 1;
   }
}
.flip-in-on-scroll-right {
   opacity: 0;
   transform: none;
}
.is-visible .flip-in-on-scroll-right {
   animation-name: flip-in-ver-right;
   animation-duration: 1s;
}
.flip-in-on-scroll-left {
   opacity: 0;
   transform: none;
}
.is-visible .flip-in-on-scroll-left {
   animation-name: flip-in-ver-left;
   animation-duration: 1s;
}
/* === /flip === */


/* === swing === */
@keyframes swing-in {
   0% {
      transform: rotateX(70deg);
      transform-origin: top;
      opacity: 0;
   }
   100% {
      transform: rotateX(0deg);
      transform-origin: top;
      opacity: 1;
   }
}
.swing-in-on-scroll {
   transform: none;
}
.is-visible .swing-in-on-scroll {
   animation-name: swing-in;
   animation-duration: 1s;
   animation-delay: 1s;
}
/* === /swing === */

/* ========/scroll animation======== */



/* ========common======== */
* {
   font-family:sans-serif;
}

body {
   margin:0;
   padding:0;
   line-height:1.6;
   letter-spacing:0.05em;
   background-color: #ddfbff;
}

#base {
   width: 1000px;
   margin: 0 auto;
   background: #fff;
   padding-top: 10px;
   border-radius: 10px;
}

a {
   color:#333;
   text-decoration:none;
}
a:hover:not(.nodecoration) {
   color:#DF8713;
   text-decoration:none;
}

img {
   border:0;
}

h1,h2,h3,h4,h5,h6 {
   margin:0;
   font-size: 100%;
}

#top_img {
   text-align: center;
   margin: 0;
}
#top_img img {
   width: 100%;
}

.contents {
   float: left;
   margin: 0 10px;
}

#main {
   width: 100%;
   overflow: hidden;
}
.bg-white {
   background-color: white;
   border-radius: 5px;
   padding: 3% 0;
}
.bg-lightblue {
   background-color: lightblue;
   border-radius: 5px;
   padding: 3% 0;
}
.adding-main {
   position: relative;
   top: -10px;
}

#main_contents{
   width:490px;
   padding-bottom: 3px;
}

#left_contents {
   width:240px;
}

#right_contents {
   width:200px;
}

.main-block {
   margin:0 5px 15px 10px;
}

.arrow-title::before {
   font-family: "Material Symbols Rounded";
   content: "\e5df";
   font-size: 300%;
   position: absolute;
   top: 50%;
	transform: translateY(-50%);
   left: -3%;
}

/* ========header======== */

.header-top {
   display: flex;
   justify-content: space-between;
   background: linear-gradient(to bottom, #ffffff, #e2f7fd);
   padding-bottom: 3%;
}
.header-name {
   margin-top: 3%;
   padding-left: 3%;
   padding-right: 0;
   width: auto;
}
.header-name p {
   margin: 0;
   line-height: 0;
   text-align: right;
   white-space: nowrap;
}
.header-text {
   padding: 0 3%;
}
.header-text p{
   margin: 0;
   color: #226787;
   font-size: clamp(0.7rem, 2vw, 1rem);
}

#med_corp {
   font-size: clamp(0.8rem, 2.5vw, 1.5rem);
   line-height: 1;
}
#name h1 {
   font-size: clamp(1.5rem, 3.5vw, 2.5rem);
   display: inline;
   width: 150%;
}
#name_en {
   margin-right: 3%;
   font-size: clamp(0.5rem, 2vw, 1rem);
}

/* ========menu bar======== */
.menu-icon {
   display: flex;
}
.menu-icon ::before{
   font-family: 'Material Icons Round';
   color: #fff;
   font-size: 32px;
   margin-right: 5px;
}
.drop-down ::after{
   font-family: 'Material Icons Round';
   content: '\e5cf';
   color: #fff;
   font-size: 32px;
}

.nav-menu {
   background-color: #226787;
   color: #fff;
   border-radius: 0 0 3px 3px;
   position: relative;
   z-index: 100;
}
.menu-list {
   display: flex;
   justify-content: center;
   margin: 0;
   padding: 0;
   list-style-type: none;
}

.menu-item {
   border-left: 1px solid #fff;
   line-height: 100%;
}

.menu-item:last-child {
   border-right: 1px solid #fff;
}

.menu-item a, .menu-item span {
   align-items: center;
   color: #fff;
   display: flex;
   height: 50px;
   justify-content: center;
   text-decoration: none;
   width: 150px;
   cursor: pointer;
}

.drop-menu-block {
   width: 25%;
   padding-top: 3%;
   padding-bottom: 5%;
}
.drop-menu-item {
   list-style-type: none;
   text-align: left;
   white-space: nowrap;
}
.drop-menu-item-min {
   font-size: 90%;
}
.drop-menu-item a {
   color: #000;
   width: 100%;
   font-weight: normal;
   justify-content: flex-start;
}
.drop-menu-item div ::before {
   font-family: 'Material Icons Round';
   content: '\eaaa';
   color: #226787;
   font-size: 28px;
   margin-right: 5px;
}

@-webkit-keyframes ping{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:.8}80%{-webkit-transform:scale(1.2);transform:scale(1.2);opacity:0}100%{-webkit-transform:scale(2.2);transform:scale(2.2);opacity:0}}@keyframes ping{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:.8}80%{-webkit-transform:scale(1.2);transform:scale(1.2);opacity:0}100%{-webkit-transform:scale(2.2);transform:scale(2.2);opacity:0}}
.drop-menu-item :hover ::before {
   -webkit-animation:ping .8s ease-in-out infinite both;animation:ping .8s ease-in-out infinite both
}

.drop-menu-item :hover a {
   color: #226787;
}

.drop-menu-base {
   display: flex;
   position: absolute;
   left: 0px;
   top: 100%;
   width: 100%;
   border-radius: 0 0 5px 5px;
   background-color: #fff;
   box-shadow: var(--shadow);
   transform: scaleY(0);

   transform-origin: center top;
   transition: all .3s;
}

.menu-home ::before {
   content: '\e88a';
}
.menu-hospital ::before {
   content: '\ebed';
}
.menu-examination ::before {
   content: '\e138';
}
.menu-facility ::before {
   content: '\e53a';
}
.menu-contact ::before {
   content: '\e163';
}
.menu-recruit ::before {
   content: '\e7fd';
}
.menu-checkup ::before {
   content: '\e179';
}

/* ========nav menu sp======== */
.nav-menu-sp {
   background-color: #226787;
   color: #fff;
   border-radius: 0 0 3px 3px;
   position: relative;
}
.menu-list-sp {
   display: flex;
   justify-content: center;
   margin: 0;
   padding: 0;
   list-style-type: none;
}
.menu-item-sp:not(:first-child) {
   border-left: 1px solid #fff;
   line-height: 100%;
   padding: 0 2px;
}

.menu-item-sp a {
   align-items: center;
   color: #fff;
   display: flex;
   height: 50px;
   justify-content: center;
   text-decoration: none;
   width: 150px;
   cursor: pointer;
   font-size: 80%;
}

.menu-icon-sp {
   display: flex;
}
.menu-icon-sp:not(span) ::before {
   font-family: 'Material Icons Round';
   color: #fff;
   font-size: 24px;
   margin-right: 5px;
}
.menu-icon-sp a {
   width: 100%;
}
/* ========/nav menu sp======== */

.header-btn {
   position: relative;
   top: 15px;
   right: 20%;
}

.call-btn {
   padding: 0;
   width: 55px;
   height: 50px;
}
.call-btn::before {
   color: #226787;
   font-family: "Material Icons Round";
   content: "\e9cd";
   font-size: 300%;
   position: relative;
   top: -15px;
}
.call-btn::after {
   color: #226787;
   content: "お問い合わせ";
   position: relative;
   top: -35px;
   left: 0;
   font-size: 8px;
   padding-top: 5%;
}

/* hamburger menu */
.menu-btn {
   display: none;
   position: fixed;

   width: 50px;
   height: 50px;
   border-radius: 20%;
   z-index: 200;
   background-color: #226787;
}
.menu-btn::after {
   content: "メニュー";
   color: #226787;
   position: absolute;
   width: 50px;
   top: 100%;
   left: 0;
   font-size: 8px;
   padding-top: 5%;
}
.btn-line {
   display: block;
   position: relative;
   width: 100%;
   height: 4px;
   background-color: #fff;
   transition: .2s;
}
.btn-line::before,
.btn-line::after {
   content: "";
   position: absolute;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #fff;
   transition: .5s;
}
.btn-line::before {
   transform: translateY(-10px);
}
.btn-line::after {
   transform: translateY(10px);
}

.nav-menu.opened {
   display: block;
}
.btn-line.opened {
   background-color: transparent;
}
.btn-line.opened::before ,
.btn-line.opened::after {
   content: "";
   transition: .2s;
}
.btn-line.opened::before {
   transform: rotate(45deg);
}
.btn-line.opened::after {
   transform: rotate(-45deg);
}
/* /hamburger menu */


/* ========page======== */
.page-main {
   width:690px;
   margin: 0 auto
}
.page-main > div {
   margin-bottom: 5%;
}
.page-strongest { font-size: 170%; }
.page-stronger { font-size: 150%; }
.page-strong { font-size: 120%; }
.page-soft { font-size: 90%; }
.page-weak { font-size: 80%; }
.page-weaker { font-size: 60%; }
.page-letter-tightest { letter-spacing: -0.15em; }
.page-letter-tighter  { letter-spacing: -0.05em; }
.page-letter-tight    { letter-spacing: -0.025em; }
.page-title {
   position: relative;
   width: auto;
   height: 150px;
   vertical-align: middle;
   background-color: #e7fcff;
   display: flex;
   align-items: center;
   padding-left: 10%;
   border-radius: 0 0 8px 8px;
   margin-bottom: 10px;
}
.page-title h1 {
   color: #226787;
   display:inline-block;
   font-size: clamp(1.2rem, 2.5vw, 1.5rem);
}
.top-img {
   position: relative;
   width: 100%;
   height: auto;
   filter: brightness(0.8);
}
.no-filter {
   filter: none;
}
.bottom-img {
   position: relative;
   width: 100%;
   height: auto;
}
.page-top {
   position: relative;
}
.page-bottom {
   margin: 3% 0;
}
@keyframes focus-in-expand{0%{letter-spacing:-.5em;filter:blur(12px);opacity:0}100%{filter:blur(0);opacity:1}}
.page-top h1 {
   position: absolute;
   bottom: 10%;
   left: 5%;
   z-index: 1;
   color: #fff;
   font-weight: lighter;
   padding-right: 6vw;
   font-size: clamp(1.7rem, 5vw, 3rem);
   border-bottom: solid 3px #fff;

   animation:focus-in-expand .8s cubic-bezier(.25,.46,.45,.94) both
}
.page-top h1::after {
   content: "";
   position: absolute;
   height: 30px;
   bottom: -3px;
   right: -26px;
   border-right: 6px solid #fff;
   transform: skew(-60deg);
   z-index: 1;
}
.page-heading-lead {
   font-size: 150%;
   color: #226787;
   text-indent: 1em;
}
.page-heading {
   font-size: 150%;
   color: #226787;
   display: flex;
   align-items: center;
   line-height: 1;
}
.page-heading::before {
   color: #226787;
   font-family: "Material Symbols Rounded";
   content: "\e5df";
   font-size: 200%;
   vertical-align: middle;
}
.page-subheading {
   font-size: 120%;
   color: #226787;
   border-left: solid 8px #226787;
   margin-left: 10px;
   padding-left: 5px;
}
.page-text {
   color: #226787;
   margin: 0;
   margin-left: 3vw;
   font-size: 90%;
   width: 95%;
}
.page-text p {
   margin: 0;
}
.page-text-block {
   white-space: pre-line;
}
.page-annotation {
   color: #226787;
   background-color: #fff;
   border-radius: 30px;
   width: 96%;
   padding: 1%;
   margin: 0 auto;
}
.page-annotation-heading {
   font-size: 120%;
   font-weight: bolder;
   text-align: center;
}
/* ========page======== */

/* ========breadcrumb======== */
.breadcrumb {
   display: flex;
   flex-wrap: wrap;
   list-style: none;
   font-size: 80%;
   margin: 0;
   margin-bottom: 1%;
   padding-left: 3vw;
}
.breadcrumb-item:not(:last-of-type)::after {
   content: ">";
   margin: 0 .6em;
}
/* ========/breadcrumb======== */


/* ========totop========= */
div#totop {
   padding:10px;
   text-align:right;
   font-size:82%;
}

div#totop a{
   padding:0 0 0 12px;
   background:url("/assets/img/bg_totop.gif") 0 60% no-repeat;
}
/* ========/totop========= */


/* ========footer menus======== */
.footer-menus {
   margin-top: 5%;
   padding: 5% 0;
   display: flex;
   flex-wrap: wrap;
   justify-content:space-between;
   background-color: #daedf1;
   border-radius: 3px;
}
.footer-menus-block {
   width: 200px;
   margin-left: 3%;
}

.footer-menus-title, .footer-menus-list {
   width: 75%;
   padding: 3% 3% 1% 0;
   border-top: 3px solid #226787;
}
.footer-menus-title, .footer-menus-nav {
   margin-bottom: 10%;
}

.footer-menus-title ::before {
   color: #226787;
   font-family: "Material Icons Round";
   content: "\eaaa";
   font-size: 120%;
   vertical-align: middle;
   margin-right: 0.5em;
}
.footer-menus-title:hover a {
   color: #226787;
}
@-webkit-keyframes ping{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:.8}80%{-webkit-transform:scale(1.2);transform:scale(1.2);opacity:0}100%{-webkit-transform:scale(2.2);transform:scale(2.2);opacity:0}}@keyframes ping{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:.8}80%{-webkit-transform:scale(1.2);transform:scale(1.2);opacity:0}100%{-webkit-transform:scale(2.2);transform:scale(2.2);opacity:0}}
.footer-menus-title:hover ::before {
   -webkit-animation:ping .8s ease-in-out infinite both;animation:ping .8s ease-in-out infinite both
}
.footer-menus-list {
   margin-bottom: 0;
}
.footer-menus-list ::before {
   color: #226787;
   font-family: "Material Icons Round";
   content: "\e8ef";
   font-size: 120%;
   vertical-align: middle;
   margin-right: 0.5em;
}
.footer-menus-list:hover a {
   color: #333;
}

.footer-menus-nav {
   position: relative;
   left: 10px;
   padding-left: 2%;
   border-left: 2px solid #abc1cc;
   margin-top: 0;
}

.footer-menus-item {
   list-style: none;
   font-size: 0.8em;
   display: flex;
   flex-direction: row;
   align-items: center;
   margin-bottom: 4%;
}

.footer-menus-item:not(span)::before {
   color: #226787;
   font-family: "Material Icons Round";
   content: "\eaaa";
   font-size: 120%;
   vertical-align: middle;
   margin-right: 0.5em;
}
.footer-menus-item:hover ::before {
   -webkit-animation:ping .8s ease-in-out infinite both;animation:ping .8s ease-in-out infinite both
}
.footer-menus-item:hover a {
   color: #226787;
}

.footer-menus-font-s {
   font-size: 80%;
}
/* ========/footer menus======== */

/* ========footer======== */
.footer-text {
   background-color: #666666;
   color: #ffffff;
   text-align: center;
   font-size: clamp(.5rem, 3vw, 1rem);;
}

address{
   padding:20px 0;
   text-align:center;
   font-style:normal;
   font-size:75%;
   color:#333;
   border-top:1px solid #ccc;
}
.footer-nav li {
   list-style: none;
}
.footer-nav a::before {
   content: ">";
}
/* ========/footer======== */

:root {
   /*==================/
      top-menu
   /==================*/
   --top-menu-width: 470px; /* top menu center */
   --top-menu-width-2: calc((var(--top-menu-width) - 10px) / 2); /* top menu center 1/2 */
   --top-menu-width-3: calc((var(--top-menu-width) - 20px) / 3); /* top menu center 1/3 */
   --top-menu-height-m: 95px; /* top menu center middle height*/
   --top-menu-height-l: 100px; /* top menu center large height*/
   
   /*=================/
      menu shadow
   /=================*/
   --shadow: 2px 2px 4px gray;  /* shadow right & under middle */
   --shadow-right: 2px 0px 4px gray; /* shadow right */
   --shadow-small: 1px 1px 2px gray /* shadow right & under small */
}

/* ========top-men center common class======== */
.menu {
   width: var(--top-menu-width);
   height: auto;

   position: relative;
}
.menu-img {
   width: 100%;
   border-radius: 10px;
   box-shadow: var(--shadow);
}

.main-content {
   background-color: #e6e0ec;
   color: #094353;
   font-size: clamp(1.2rem, 2vw, 1.5rem);
   font-weight: bolder;
   border-radius: 10px;
   box-shadow: var(--shadow);
   height: 95px;
}

/* ========top page orientation======== */
.orientation-block {
   margin: 5px auto;
}
.orientation-banner {
   width: 100%;
   display: block;
   margin: 0 auto;
}



.orientation-banner-pc {
   position: absolute;
   width: 50%;
}

/* ========/top page orientation======== */



/* ========top page news======== */
#oshirase_output tbody:has(> :nth-child(-n+5):last-child) {
   padding-top: 50px;
}

.oshirase {
   box-shadow: var(--shadow-right);
}

.oshirase {
   width: var(--top-menu-width);
   height: var(--top-menu-height-m);
   border-radius: 10px  10px 0px 0px;
}

.oshirase-content {
   position: relative;
   display: flex;
   align-items: center;
   padding-left: 10%;
   /* border-radius: 10px 10px 0 0; */
   border-radius: 0 0 0 0;
   box-shadow: none;

   background: linear-gradient(to right, #0077cc, white);
}

.oshirase-content p {
   margin: 0;
   text-align: center;
}

.oshirase-block:hover .megaphone-effect {
   opacity: 1;
}

.arrow-oshirase::before {
   transform: translateY(-70%);
}

#oshirase_title {
   font-size: 110%;
}

#oshirase_text {
   font-size: clamp(.9rem, 3vw, 1.1rem);
   margin-left: 5%;
}

.oshirase-top {
   margin-left: 10%;
}
.oshirase-top::before {
   font-family: "Material Symbols Rounded";
   content: "\ea3e";
   font-size: 600%;
   vertical-align: middle;
   color: white;
   font-variation-settings:
   'wght' 300;
   position: absolute;
   top: -40px;
   left: -20px;
   z-index: 0;
   rotate: -15deg;
   opacity: 90%;
}
.oshirase-top p {
   position: relative;
   z-index: 1;
   text-align: left;
}
.oshirase-top-heading {
   font-size: 130%;
   letter-spacing: .3em;
}
.oshirase-top-en {
   font-size: 80%;
   letter-spacing: .8em;
   font-weight: 600;
}
.oshirase-icon {
   width: 45%;
   height: auto;
   position: absolute;
   top: 0;
   right: 0;
}

/* ===oshirase box=== */
#oshirase_box {
   width: calc(var(--top-menu-width));
   /* height: 180px; */
   overflow-y: auto;
   scrollbar-width: thin;
   border: 1px solid #ccc;
   background-color: #fff;

   width: 96%;
   margin: 0 auto;
}
.oshirase-box-item {
   margin: 0 5%;
   padding-bottom: 10px;
}
.oshirase-box-item:not(:last-child) {
   border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.oshirase-box-text {
   font-size: 60%;
   text-align: center;
}
.oshirase-box-meta {
   display: flex;
   align-items: center;
   gap: 20px;
   font-size: 80%;
   margin-top: 3%;
   margin-bottom: 2%;
}
.oshirase-box-date {
   color: #0077cc;
   min-width: 100px;
}
.oshirase-box-category {
   background-color: #0077cc;
   color: #FFF;
   padding: 1% 2%;
}
.oshirase-box-title {
   font-size: 80%;
   text-align: left;
}
.oshirase-box-title a {
   color: #226787;
   text-decoration: underline;
   font-weight: bold;
}
.oshirase-list-link {
   display: inline-block;
   position: relative;
   background-color: #0077cc;
   color: #FFF;
   width: 70%;
   padding: 3% 0;
   margin-top: 2%;
   margin-bottom: 10%;
   font-size: 90%;
   box-shadow: var(--shadow-small);
}
.oshirase-list-link::after {
   position: absolute;
   font-family: "Material Symbols Rounded";
   content: "\f591";
   font-size: 150%;
   vertical-align: middle;
   top: 50%;
   transform: translateY(-50%);
   right: 10%;
}

/* ===/oshirase box=== */

.megaphone {
   position: absolute;
   width: 65px;
   height: auto;
   transform: rotate(155deg);
   top: 30%;
   left: 70%;
}

.megaphone-effect {
   display: block;
   position: absolute;
   width: 8px;
   height: 20px;
   background-color: #4b4b4b;
   transform: rotate(65deg);
   transition: .7s;
   top: 25%;
   left: 90%;
   opacity: 0;
}
.megaphone-effect::before,
.megaphone-effect::after {
   content: "";
   position: absolute;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #4b4b4b;
}
.megaphone-effect::before {
   transform: translateX(-25px) translateY(5px) rotate(-20deg);
}
.megaphone-effect::after {
   transform: translateX(25px) translateY(5px) rotate(20deg);
}

/* ========top page outpatient======== */
.outpatient-top {
   position: relative;
   align-items: center;
   overflow: visible;
   text-align: right;
}
.outpatient-top-heading-block {
   position: absolute;
   top: 20%;
   padding-left: 10px;
   z-index: 1;
   margin-right: -5%;
   text-align: left;
   width: 60%;
   height: 70%;
   background-color: #226787;
   color: #fff;
   clip-path: polygon(0 0, 70% 0, 100% 100%, 0% 100%);
   display: flex;
   flex-direction: column;
   justify-content: center;
}
.outpatient-top-en {
   font-size: 60%;
   letter-spacing: .3em;
   font-weight: 300;
}
.outpatient-top-heading {
   font-size: 120%;
   letter-spacing: .3em;
}
.outpatient-top img {
   width: 70%;
   height: auto;
   z-index: 0;
}

.outpatient-content {
   background-color: #BDD7EE;
   display: flex;
   flex-direction: column;
   justify-content: center;
   text-align: center;
   padding: 10px 0;
}
.outpatient-text {
   margin: 2% auto;
   font-size: 75%;
   font-weight: lighter;
   width: 85%;
}
.outpatient-text p {
   margin: 0;
}
.outpatient-appendix {
   text-align: left;
   font-size: 80%;
}
.outpatient-appendix-block {
   text-indent: -1em;
   padding-left: 2em;
}
.outpatient-annotation {
   font-size: 85%;
   text-align: left;
}
.outpatient-annotation-block {
   text-indent: -1em;
   padding-left: 3em;
}
.outpatient-annotation-title {
   text-align: center;
   padding-top: 1em;
   padding-bottom: 1em;
}
.outpatient-detail {
   position: relative;
   background-color: #fff;
   border-radius: 30px;
   margin: 3%;
   padding: 10px 0;
   font-size: 75%;
}
.outpatient-detail p {
   margin: 0;
}
.outpatient-detail-block {
   margin: 1em 0;
}
.outpatient-heading {
   padding: 10px 0;
   font-size: 130%;
}
.outpatient-strong {
   font-size: 140%;
}
.outpatient-bg-strong {
   /* background-color: #BDD7EE; */
   background: linear-gradient(transparent 60%, #BDD7EE 60%);
   display: inline-block;
   width: fit-content;
   padding: 0 .5em;
}
.outpatient-stethoscope {
   width: 60px;
   height: auto;
   position: absolute;
   top: 120px;
   left: -5px;
}
.outpatient-clock::before {
   font-family: "Material Icons Round";
   content: "\e923";
   font-size: 400%;
   vertical-align: middle;
   position: absolute;
   top: -25px;
   left: -10px;
}
.nav-right::before {
   font-family: "Material Icons Round";
   content: "\e55d";
   font-size: 100%;
   vertical-align: middle;
   display: inline-block;
   transform: rotate(90deg);
}

.consultation-link {
   position: relative;
   background-color: #226787;
   color: #fff;
   margin: 10px auto;
   width: 80%;
   padding: 15px 0;
   border-radius: 30px;
   font-size: 80%;
   text-align: center;
   box-shadow: var(--shadow-small);
}
.consultation-link::after {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   right: 30px;
   color: #fff;
   font-family: "Material Symbols Rounded";
   content: "\f70b";
   font-size: 150%;
   vertical-align: middle;
}

.kyushin-link {
   position: relative;
   background-color: #226787;
   color: #fff;
   margin: 10px auto;
   width: 80%;
   padding: 15px 0;
   border-radius: 30px;
   font-size: 80%;
   text-align: center;
   box-shadow: var(--shadow-small);
}

.consultation-specialty-link {
   display: flex;
   justify-content: center;
   background-color: #e6e0ec;
   border: 5px solid #094353;
   border-left: 30px solid #094353;
   color: #094353;
   margin: 15px auto;
   width: 70%;
   padding: 15px 0;
   border-radius: 10px;
   font-size: 70%;
   box-shadow: var(--shadow-small);
}



.specialty-outpatient-top {
   position: relative;
   align-items: center;
   overflow: visible;
   text-align: right;
}
.specialty-outpatient-top-heading-block {
   position: absolute;
   top: 30%;
   padding-left: 10px;
   z-index: 1;
   text-align: left;
   width: 55%;
   height: 45%;
   background-color: #226787;
   color: #fff;
   display: flex;
   flex-direction: column;
   justify-content: center;
}
.specialty-outpatient-top-heading {
   font-size: 90%;
   letter-spacing: .3em;
}
.specialty-outpatient-top img {
   width: 55%;
   height: auto;
   z-index: 0;
}
.specialty-outpatient {
   margin-top: 2em;
}
.specialty-outpatient-text {
   width: 75%;
   margin: 3% auto;
   font-size: 65%;
   font-weight: lighter;
   text-align: start;
}
.specialty-outpatient-text p {
   margin: 0;
}
/* ========/top page outpatient======== */

/* ========top page checkup======== */
.checkup-top {
   position: relative;
   align-items: center;
   overflow: visible;
   text-align: right;
}
.checkup-top-heading-block {
   position: absolute;
   top: 20%;
   padding-left: 10px;
   z-index: 1;
   margin-right: -5%;
   text-align: left;
   width: 60%;
   height: 60%;
   background-color: #226787;
   color: #fff;
   clip-path: polygon(0 0, 70% 0, 100% 100%, 0% 100%);
   display: flex;
   flex-direction: column;
   justify-content: center;
}
.checkup-top-en {
   font-size: 60%;
   letter-spacing: .3em;
   font-weight: 300;
   margin-bottom: 5%;
}
.checkup-top-heading {
   font-size: 90%;
   letter-spacing: .3em;
}
.checkup-top-heading p {
   margin: 0;
   line-height: 1.2;
}
.checkup-top img {
   width: 70%;
   height: auto;
   z-index: 0;
}

.checkup-content {
   background-color: #BDD7EE;
   display: flex;
   flex-direction: column;
   justify-content: center;
   text-align: center;
   padding: 10px 0;
}
.checkup-text {
   width: 80%;
   margin: 3% auto;
   font-size: 65%;
   font-weight: lighter;
   text-align: start;
}
.checkup-detail-text {
   padding: 3% 0;
   font-size: 85%;
   font-weight: lighter;
   text-align: center;
   text-indent: 1em;
}
.checkup-detail-text p {
   margin: 0;
}
.checkup-detail {
   background-color: #fff;
   border-radius: 30px;
   margin: 3%;
   padding: 10px;
   font-size: 65%;
   line-height: 60px;
   line-height: 2;
}
.checkup-detail .checkup-time {
   line-height: 1.8;
   margin-bottom: 1.2em;
}
.checkup-detail .checkup-course {
   margin: 0;
   margin-left: 1em;
   text-align: left;
   line-height: 1.5;
}
.checkup-detail .checkup-course p::before {
   color: #094353;
   font-family: "Material Icons Round";
   content: "\e179";
   font-size: 220%;
   vertical-align: middle;
}
.checkup-strong {
   font-size: 140%;
}
.checkup-detail p {
   margin: 0;
}

.checkup-clock::before {
   font-family: "Material Icons Round";
   content: "\e923";
   font-size: 300%;
   vertical-align: middle;
   position: absolute;
   top: 95px;
   left: 10px;
}

.checkup-link {
   position: relative;
   background-color: #226787;
   color: #fff;
   margin: 10px auto;
   width: 80%;
   padding: 15px 0;
   border-radius: 10px;
   font-size: 70%;
   text-align: center;
   box-shadow: var(--shadow-small);
}
.checkup-link::after {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   right: 10px;
   color: #fff;
   font-family: "Material Symbols Rounded";
   content: "\f70b";
   font-size: 150%;
   vertical-align: middle;
}

.checkup-call {
   position: relative;
   background-color: #226787;
   color: #fff;
   margin: 10px auto;
   width: 90%;
   padding: 15px 0;
   font-size: 70%;
   text-align: center;
}
.checkup-call::before {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   left: 25px;
   color: #fff;
   font-family: "Material Symbols Rounded";
   content: "\e61d";
   font-size: 300%;
   font-weight: normal;
   vertical-align: middle;
}
.checkup-grid-container{
   width: 90%;
   margin: 0 auto;
   display: grid;
   grid-template-columns: 4fr 6fr;
   gap: 10px;
}
.checkup-grid-title {
   background-color: #226787;
   border-radius: 30px;
   font-size: 75%;
   height: 2.5em;
   color: white;
   display: flex;
   align-items: center;
   justify-content: center;
}
.checkup-grid-text {
   font-size: 70%;
   color: #000;
   font-weight: lighter;
   display: flex;
   align-items: center;
}
.checkup-appendix-block {
   font-weight: normal;
   text-align: start;
   font-size: 90%;
   text-indent: -1em;
   padding-left: 3em;
}
.checkup-links {
   width: 90%;
   margin: 5% auto;

   display: flex;
   justify-content: center;
   gap: 10px;
   align-items: center;
}
.checkup-link-btn {
   flex: 1;

   display: flex;
   flex-direction: column;
   align-items: center;
   color: white;

   line-height: 1.5;
   border-radius: 10px;
   box-shadow: var(--shadow-small);
}
.checkup-link-btn::after {
   font-family: "Material Icons Round";
   content: "\e5cf";
   font-size: 220%;
   vertical-align: middle;
}
.checkup-dock {
   background-color: #FF3366;
}
.checkup-dock::before {
   font-family: "Material Symbols Rounded";
   content: "\f6e9";
   font-size: 400%;
   vertical-align: middle;
   font-weight: lighter;
}
.checkup-health {
   background-color: #006633
}
.checkup-health::before {
   font-family: "Material Symbols Rounded";
   content: "\f805";
   font-size: 400%;
   vertical-align: middle;
   font-weight: lighter;
}
.checkup-option {
   background-color: #336699
}
.checkup-option::before {
   font-family: "Material Icons Round";
   content: "\e7fe";
   font-size: 400%;
   vertical-align: middle;
   font-weight: lighter;
}
.checkup-flow-top {
   position: relative;
   margin-top: 5%;
}
.checkup-flow-top img {
   width: 90%;
   height: auto;
   border-radius: 30px;
}
.checkup-flow-title {
   position: absolute;
   top: 75%;
   left: 50%;
   transform: translateX(-50%);
   margin: 0 auto;
   display: flex;
   justify-content: center;
   align-items: center;
   background-color: white;
   width: 80%;
   height: 2em;
   border-radius: 30px;
   border: 5px solid #336699;

   color: #000;
   font-size: .9em;
   box-shadow: var(--shadow-small);
}
.checkup-flow-title::before {
   position: absolute;
   top: -80px;
   left: -25px;
   font-family: "Material Symbols Rounded";
   content: "\e536";
   font-size: 500%;
   display: inline-block;
   transform: scaleX(-1);
   color: #336699;
}

/* ========/top page checkup======== */

/* ========top page renkei======== */
.bubble {
   width: auto;
   height: auto;
   position: absolute;
   top: -20px;
   left: 345px;
   opacity: 0;
   transition: all .7s;
}
.renkei:hover .bubble {
   opacity: 1;
}

.renkei-content {
   display: flex;
   align-items: center;
   padding-left: 10%;
   padding-right: 3%;
}

.arrow-renkei::before {
   transform: translateY(-70%);
}

.renkei-content p {
   margin: 0;
}

#renkei_str {
   width: 70%;
}
#renkei_title {
   font-size: 110%;
   letter-spacing: 0.3em;
}
#renkei_text {
   font-size: clamp(.8rem, 3vw, 1.1rem);
   margin-left: 5%;
}

#renkei_text::after {
   font-family: "Material Symbols Rounded";
   content: "\f591";
   font-size: 120%;
   vertical-align: middle;
}


/* ========top page zaitakushien======== */
.shisetu-content {
   display: flex;
   align-items: center;
   padding: 2% 0 2% 10%;
}
.shisetu-content p {
   font-size: 110%;
   margin: auto;
   width: 100%;
}

.shisetu-content img {
   width: 100px;
   height: auto;
   display: flex;
   margin-left: 10px;
}
#shisetu-close {
   transition: all .7s;
   position: absolute;
}
.shisetu-content:hover #shisetu-close {
   opacity: 0;
}

.menu-shisetu-btn {
   margin-left: 5%;
   top: 10%;
   left: 45%;
   width: 53%;
   display: flex;
   flex-direction:column;
   z-index: 3;
}
.menu-shisetu-btn input[type="button"] {
   font-size: clamp(.7rem, 2vw, .9rem);
   display: block;
   background-repeat: no-repeat;
   background-position: 100% 0;
   background-size: 200% auto;
   background-image: linear-gradient(
      to right,
      #226787 0%,
      #226787 50%,
      #fff 50%,
      #fff 100%
   );
   transition: all ease .3s;
   text-align: center;
   color: #226787;
   text-decoration: none;
   border: 1px solid;
   border-bottom: none;
}
.menu-shisetu-btn input[type="button"]:hover {
   background-position: 0 0;
   color: #fff;
   border: 1px solid;
}
.menu-shisetu-btn:hover ~ #shisetu_1 {
   opacity: 0;
}
.menu-shisetu-btn-half {
   width: 50%;
}
.btn-half {
   display: flex;
   flex-direction: row;
   justify-content: space-around;

   border-bottom: 1px solid;
}
#left-btn {
   border-right: none;
}

#right-btn {
   border-left: 2px ridge;
}
/* ========/top page zaitakushien======== */

/* ========top page zaitakushien(sp)======== */
.shisetu-top {
   display: flex;
   align-items: center;

   margin-top: 10%;
   margin-bottom: 1em;
   background-color: #226787;
}
.shisetu-top-heading-block {
   flex: 6;
   height: 100%;
   color: #fff;
   text-align: center;

   display: flex;
   flex-direction: column;
}
.shisetu-top-en {
   font-size: 60%;
   letter-spacing: .3em;
   font-weight: 300;
   margin-bottom: 5%;
}
.shisetu-top-heading {
   font-size: 100%;
   letter-spacing: .3em;
}
.shisetu-top-heading p {
   margin: 0;
   line-height: 1.2;
}
.shisetu-top img {
   flex: 4;
   width: 40%;
   height: auto;
}

.shisetu-link-card {
   display: flex;
   align-items: center;
   box-shadow: var(--shadow-small);

   margin-bottom: 1em;
   background-color: #fff;
   width: 86%;
   margin: 2% auto;
}
.shisetu-link-card img {
   flex: 4;
   width: 40%;
   height: auto;
}
.shisetu-link-card-heading {
   flex: 6;
   font-size: 90%;
   letter-spacing: .3em;
}
.shisetu-link-card-spacing-1 {
   letter-spacing: 1em;
}
.card-tag-1 {
   border-left: 20px solid #843C0C;
}
.card-tag-2 {
   border-left: 20px solid #F1995D;
}


.shisetu-content-sp {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   padding: 5% 0;
}
.shisetu-content-sp img {
   width: 75px;
   height: auto;
   margin-left: 10px;
}
.shisetu-content-sp:hover #shisetu-close {
   opacity: 0;
}

.shisetu-heading {
   width: 90%;
}
.shisetu-heading::before {
   font-family: "Material Symbols Rounded";
   content: "\e5df";
   font-size: 300%;
   position: absolute;
   top: -3%;
   left: 22%;
}
.shisetu-text {
   width: 80%;
   margin: 3% auto;
   font-size: 65%;
   font-weight: lighter;
   line-height: 1.2;
   text-indent: 1em;
}
.shisetu-heading-sub {
   background-color: #226787;
   color: #fff;
   font-size: 70%;
   margin: 0;
   margin: 5% 0 1% ;
   font-weight: normal;
   padding: .3em 1em;
   transform: translateX(-43%);
}
.shisetu-link {
   display: flex;
   justify-content: center;
   background-color: #fff;
   border: 5px solid #226787;
   border-left: 30px solid #226787;
   color: #226787;

   width: 70%;
   margin: 1% 0;
   padding: 15px 0;
   border-radius: 10px;
   font-size: 70%;
   box-shadow: var(--shadow-small);
}

.shisetu-link-fujishiro span {
   letter-spacing: 0.3em;
}

/* ========/top page zaitakushien(sp)======== */


/* ========top page hospitalize======== */
.hospitalize-back {
   position: relative;
   z-index: 20;
   width: 360px;
   height: 140px;
   border-radius: 25px;
   filter: brightness(0.8);
   box-shadow: var(--shadow);
   display: block;
   margin: 10px auto;
}
.hospitalize-front {
   position: absolute;
   z-index: 21;
   margin-top: 75px;
   margin-left: 20px;
}
.hospitalize-front span {
   color: #fff;
}
.hospitalize-heading {
   font-size: 120%;
   line-height: .1;
}
.hospitalize-text {
   font-size: 90%;
   margin-left: 2em;
   line-height: .1;
}
.hospitalize-text::after {
   font-family: "Material Icons Round";
   content: "\e154";
   font-size: 200%;
   vertical-align: middle;
}
/* ========/top page hospitalize======== */

/* ========top page recruit======== */
.recruit-back {
   position: relative;
   z-index: 20;
   width: 360px;
   height: 140px;
   border-radius: 20px;
   filter: brightness(0.8);
   box-shadow: var(--shadow);
   display: block;
   margin: 0px auto;
}
.recruit-front {
   position: absolute;
   z-index: 21;
   margin-top: 80px;
   margin-left: 20px;
}
.recruit-front span {
   color: #fff;
}
.recruit-heading {
   font-size: 120%;
   line-height: .1;
}
.recruit-text {
   font-size: 90%;
   margin-left: 2em;
   line-height: .1;
}
.recruit-text::after {
   font-family: "Material Icons Round";
   content: "\e154";
   font-size: 200%;
   vertical-align: middle;
}
/* ========/top page recruit======== */

/* ========top page naishikyou & shoukaki banner======== */
.annai-content {
   text-align: center;
   display: grid;
   align-items: center;
   margin-bottom: 5px;

   background: linear-gradient(90deg, #094353 0%, #094353 5%, #e6e0ec 5%, #e6e0ec 100%);
}

#menu_naishikyou, #menu_shoukaki {
   margin-right: 10px;
}

.arrow {
   display: inline-block;
   vertical-align: middle;
   color: #333;
   line-height: 1;
   width: 1em;
   height: 1em;
   border: 0.2em solid currentColor;
   border-left: 0;
   border-bottom: 0;
   box-sizing: border-box;
   transform: translateY(-25%) rotate(135deg);
   z-index: 1;
   position: absolute;
   top: 70px;
}
.arrow_box {
   position: relative;
}
#arrow_left {
   left: calc(var(--top-menu-width-3)/2 - 5px);
}
#arrow_center {
   left: calc(var(--top-menu-width-3)/2 + var(--top-menu-width-3) + 10px - 5px);
}
#arrow_right {
   left: calc(var(--top-menu-width-3)/2 + var(--top-menu-width-3)*2 + 20px - 5px);
}
@keyframes slideArrow{from{opacity: 0;top: -6px;}to {opacity: 1;top: 6px;}}
.naishikyou:hover .arrow_box {
   animation:slideArrow 1s linear infinite;
}
.shoukaki:hover .arrow_box {
   animation:slideArrow 1s linear infinite;
}
.kakutan:hover .arrow_box {
   animation:slideArrow 1s linear infinite;
}
.annai {
   transition: all .7s;
}
.annai:hover {
   filter: brightness(0.9);
}

/* ========1/3 menu======== */
.menu-split-3 {
   overflow: hidden;
}
.menu-split-3 .main-content{
   width: var(--top-menu-width-3);
   height: var(--top-menu-height-m);
   float: left;
   position: relative;
   transition:  all .7s;
}

/* ========top page recruit & bus banner======== */
#job_title, #bus_title {
   font-size: clamp(1.5rem, 3vw, 2rem);
   display: block;
   margin-top: 25px;
   line-height: 1;
}
#job_text, #bus_text {
   font-size: clamp(.6rem, 2vw, .8rem);
   letter-spacing: .2em;
}
#menu_job p {
   margin: 0;
   margin-left: 40%;
   position: relative;
}
#menu_bus p {
   margin: 0;
   margin-left: 5%;
   position: relative;
}
#job_text::after, #bus_text::after {
   font-family: "Material Symbols Rounded";
   content: "\f591";
   font-size: 150%;
   vertical-align: middle;
}

#menu_job {
   background-color: pink;
   background-size: 150px 50px;
   margin-right: 10px;
}
#menu_job_icon {
   width: 110px;
   height: auto;
   position: absolute;
   z-index: 1;
   top: -15px;
   left: -20px;
}
#menu_bus {
   background-color: lightblue;
}
#menu_bus_icon {
   width: 100px;
   height: auto;
   position: absolute;
   z-index: 1;
   top:-10px;
   left: 390px;
}
.menu-split {
   position: relative;
}
@keyframes shake-bottom{0%,100%{transform:rotate(0deg);transform-origin:50% 100%}20%,60%{transform:rotate(-2deg)}40%,80%{transform:rotate(2deg)}}
#job:hover #menu_job_icon{
   animation:shake-bottom .8s cubic-bezier(.455,.03,.515,.955) both
}
#job:hover #menu_job{
   opacity: 0.7;
}
#bus:hover #menu_bus_icon{
   animation:shake-bottom .8s cubic-bezier(.455,.03,.515,.955) both
}
#bus:hover #menu_bus{
   opacity: 0.7;
}

/* ========1/2 menu======== */
.menu-split-2 {
   height: var(--top-menu-height-l);
}
.menu-split-2 .main-content {
   width: var(--top-menu-width-2);
   height: var(--top-menu-height-l);
   float: left;
   position: relative;
   transition:  all .7s;
}

/* ========top page menu center image animation======== */
.menu-img-sub {
   opacity: 0;
   transition: all .7s;
}
.menu-img-sub:hover {
   opacity: 1;
}

/* ========link menu animation======== */
.menu-link {
   transition:  all .7s;
}
.menu-link:hover{
   filter: brightness(0.9);
}



/* ========top page right menu======== */
.right-menu {
   width: 200px;
   background-color: lightblue;
   padding: 5% 0%;

   text-align: center;
   justify-content: center;
   align-items: center;
   margin-bottom: 10%;
   margin-left: 0;

   border-radius: 15px;
   box-shadow: var(--shadow);
}
.right-menu-content {
   width: 90%;
   background-color: white;
   padding: 1%;
   margin: auto;
   position:relative;

   border-radius: 30px;
   box-shadow: var(--shadow-small);
}

.banner {
   width: 100%;
   max-width: 300px;
   height: auto;
   display: block;
   margin: 2% auto;
   box-shadow: var(--shadow);
}

/* ========top page right menu gairai======== */
#overview p{
   text-align: left;
   color: #226787;
   margin: 0;
}
#overview h2 {
   width:6em;
   letter-spacing: 0.3em;
   background-color: #226787;
   font-weight:normal;
   color: white;
   margin: 3% auto 5% auto;
   font-size: clamp(1rem, 3vw, 1.1rem);
}
.mark {
   background: linear-gradient(transparent 60%, yellow 0%);
}
/*top page right menu icon*/
.menu-stethoscope {
   width: 80px;
   height: 100px;
   position: absolute;
   left: 135px;
   top: 50px;
}

/* ========top page right menu shisetsu======== */
.right-menu h2 {
   font-size: 20px;
   width: 100%;
   letter-spacing: 0.3em;
   color: #226787;
   margin-bottom: 5%;
}
.menu-shisetu-img {
   width: 100px;
   height: auto;
   border-radius: 50%;
   margin: 3% 0%;
}
.right-menu-shisetu:hover{
   filter: brightness(1.1);
}
.right-menu-shisetu {
   margin-bottom: 3%;
}
.right-menu-shisetu p{
   margin: 2%;
}


/* ========timetable loading animation======== */
.loading{
   margin: 0 auto;
   position: relative;
   height: 150px;
}
.wrapper{
   width:30%;
   height:100px;
   position: absolute;
   left:50%;
   top:50%;
   transform: translate(-50%, -50%);
}
.circle{
   width:20px;
   height:20px;
   position: absolute;
   border-radius: 50%;
   background-color: #fff;
   left:15%;
   transform-origin: 50%;
   animation: circle .5s alternate infinite ease;
}
@keyframes circle{
   0%{
      top:60px;
      height:5px;
      border-radius: 50px 50px 25px 25px;
      transform: scaleX(1.7);
   }
   40%{
      height:20px;
      border-radius: 50%;
      transform: scaleX(1);
   }
   100%{
      top:0%;
   }
}
.circle:nth-child(2){
   left:45%;
   animation-delay: .2s;
}
.circle:nth-child(3){
   left:auto;
   right:15%;
   animation-delay: .3s;
}
.shadow{
   width:20px;
   height:4px;
   border-radius: 50%;
   background-color: rgba(0,0,0,.5);
   position: absolute;
   top:62px;
   transform-origin: 50%;
   z-index: -1;
   left:15%;
   filter: blur(1px);
   animation: shadow .5s alternate infinite ease;
}
@keyframes shadow{
   0%{
      transform: scaleX(1.5);
   }
   40%{
      transform: scaleX(1);
      opacity: .7;
   }
   100%{
      transform: scaleX(.2);
      opacity: .4;
   }
}
.shadow:nth-child(4){
   left: 45%;
   animation-delay: .2s
}
.shadow:nth-child(5){
   left:auto;
   right:15%;
   animation-delay: .3s;
}
.wrapper span{
   position: absolute;
   top:75px;
   font-family: 'Lato';
   font-size: 20px;
   letter-spacing: 12px;
   color: #fff;
   left:15%;
}

/* ========side bar======== */
.sidebar-sub-menu {
   display: none;
}
.sidebar-main-menu:hover .sidebar-sub-menu {
   display: block;
   animation:slide-in-top .5s cubic-bezier(.25,.46,.45,.94) both;
}
@keyframes slide-in-top{0%{transform:translateY(-10%);opacity:0}100%{transform:translateY(0);opacity:1}}

.sidebar-close {
   font-size: 0.9em;
   color: #226787;
   float: right;
   transition: transform 0.5s;
   transform: rotate(0deg);
}
.sidebar-main-menu:hover .sidebar-close {
   transform: rotate(180deg);
}
.sidebar-root {
   pointer-events: none;
}
.sidebar-main-menu:hover .sidebar-root {
   pointer-events: auto;
}

/* ========bus(sp)======== */
.bus-content-sp {
   background-color: lightblue;
   color: #094353;
   width: 365px;
   height: 75px;
   padding: 3% 0;
   position: relative;
   border-radius: 20px;
   box-shadow: var(--shadow);
   margin: 3% 0;
}
.bus-content-sp h2 {
   margin-left: 2em;
}
.bus-content-sp span {
   margin-left: 5em;
}
.bus-icon-sp {
   width: 80px;
   height: auto;
   position: absolute;
   top: 5px;
   left: 250px;
}
.bus-heading-sp {
   font-size: 145%;
}
.bus-text-sp {
   font-size: 90%;
   font-weight: bolder;
   line-height: 3;
}
/* ========/bus(sp)======== */

/* ========call-in-tap(sp)======== */
.call-in-tap-content-sp {
   background-color: pink;
   color: #094353;
   width: 365px;
   height: 75px;
   padding: 3% 0;
   position: relative;
   border-radius: 20px;
   box-shadow: var(--shadow);
   margin: 3% 0;
}
.call-in-tap-content-sp h2 {
   margin-left: 2em;
}
.call-in-tap-content-sp p {
   margin-left: 5em;
}
.call-in-tap-icon-sp {
   width: 45px;
   height: auto;
   position: absolute;
   top: 20px;
   left: 260px;
   transform: rotate(-15deg);
}
.call-in-tap-heading-sp {
   font-size: 145%;
}
.call-in-tap-text-sp {
   font-size: 90%;
   font-weight: bolder;
   margin: 0 2em;
}
/* ========/bus(sp)======== */

/* ========call in tap======== */

#call_in_tap {
   position: relative;
   background-color: pink;
   width: 200px;
   height: 120px;
   border-radius: 20px;

   margin-top: 10px;
   margin-bottom: 10px;
   padding: 5px 0;
   box-shadow: var(--shadow);
   display: block;
}

.call-str {
   font-weight: bold;
   line-height: 0.5;
   margin-top: 10px;
   margin-bottom: 20px;
   text-align: center;
}

#call_title {
   font-size: 130%;
   color: white;
   text-shadow: 3px 0 2px rgba(0, 0, 0, 0.35);
}

#call_text {
   font-size: 120%;
   margin-right: 25%;
}

#tap_icon {
   position: absolute;
   top: 40px;
   left: 135px;
   transform: rotate(-15deg);
}


.top-banner {
   position: relative;
   top: 375px;
   left: 0px;
}
/* ========temporary content======== */
.temporary-content {
   position: relative;
   top: 305px;
   left: 470px;
   width: 0;
   height: 0;
}

.temporary-content-main{
   position: absolute;
   height: 80px;
   width: 500px;
   background-color: #1594B7;
   
   border-radius: 10px;
   box-shadow: var(--shadow);
   border: 4px solid #1594B7;
   display: flex;
   font-size: clamp(1rem, 2vw, 1.5rem);
}



.temporary-content-main h2 {
   text-align: center;
   letter-spacing: 0.1em;
   color: white;
}

#temporary-button-left {
   width: 20%;
   
   display: flex;
   justify-content: center;
   align-items: center;

   background-color: deepskyblue;

   border-radius: 10px 0px 0px 10px;
   margin-right: 3px;
}

#temporary-button-right {
   width: 80%;
   
   display: flex;
   justify-content: center;
   align-items: center;

   background: linear-gradient(to bottom, #ffffff, #BFE8F5);
   color: #226787;

   border-radius: 0px 10px 10px 0px;
}


/***************************************************************************/
/***************************************************************************/
/******************************* pc only ***********************************/
/***************************************************************************/
/***************************************************************************/
@media (min-width: 1023px) {
   .display-tc {
      display: none;
   }
   .display-sp {
      display: none;
   }
   .display-pc {
      display: block;
   }

   .visible-tc {
      content-visibility: hidden;
   }
   .visible-sp {
      content-visibility: hidden;
   }
   .visible-pc {
      content-visibility: visible;
   }

   .menu-item:hover .drop-menu-base {
      transform: scaleY(1);
   }

   #oshirase_box {
      box-shadow: var(--shadow);
      height: 180px;
      width: 99%;
      margin: 0;
   }
   .oshirase-content {
      background: none;
      background-color: #e6e0ec;
      border-radius: 10px 10px 0 0;
   }
}

/***************************************************************************/
/***************************************************************************/
/**************************** tablet only **********************************/
/***************************************************************************/
/***************************************************************************/
@media (min-width: 450px) and (max-width: 1023px) {
   .display-pc {
      display: none;
   }
   .display-sp {
      display: none;
   }
   .display-tc {
      display: block;
   }

   .visible-pc {
      content-visibility: hidden;
   }
   .visible-sp {
      content-visibility: hidden;
   }
   .visible-tc {
      content-visibility: visible;
   }
}

/***************************************************************************/
/***************************************************************************/
/**************************** responsive tablet ****************************/
/***************************************************************************/
/***************************************************************************/
@media (max-width: 1023px){
   div#base {
      width:760px;
   }

   .nav-menu {
      display: none;
   }

   .header-name {
      display: flex;
      flex-direction: column;
   }

   #left_contents {
      display: none;
   }

   .top-banner {
      top: 285px;
      left: 0px;
   }
   .temporary-content {
      top: 230px;
      left: 240px;
   }

   .temporary-content-main {
      height: 70px;
   }

   /* hamburger menu */
   .menu-btn {
      display: block;
      top: 25px;
      right: 40px;
   }

   .droped .drop-menu-base {
      transform: scaleY(1);
      height: 100%;
   }

   .nav-menu {
      display: none;
      background-color: #fff;
      z-index: 100;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;

      overflow: auto;
   }

   .menu-list {
      margin-top: 100px;
      flex-direction: column
   }

   .menu-item {
      border-bottom: 1px solid #dcdcdc;
   }

   .menu-item a, .menu-item span {
      color: #226787;
      justify-content: left;
   }
   .menu-item a::before, .menu-item span::before {
      color: #226787;
   }
   .menu-item a::after, .menu-item span::after {
      color: #226787;
   }

   .drop-menu-base {
      flex-direction: column;
      position: relative;
      height: 0;
      transform: scaleY(0);
      background-color: #f0f4f6;
      box-shadow: none;
   }

   .drop-menu-block {
      width: 100%;
      padding: 0;
   }

   .drop-menu-item {
      border-left: #fffbfb;
   }

   .menu-icon a, .menu-icon span {
      width: 100%;
   }
   /* /hamburger menu */

}

/********************************************************************************/
/********************************************************************************/
/**************************** responsive smart phone ****************************/
/********************************************************************************/
/********************************************************************************/
@media (max-width: 450px){
   :root {
      /* oshirase ~ bus width */
      --top-menu-width: 360px;
   }
   body {
      overflow-x: hidden
   }
   .base {
      overflow-x:hidden;
   }
   .display-pc {
      display: none;
   }
   .display-tc {
      display: none;
   }
   .display-sp {
      display: block;
   }

   .visible-pc {
      content-visibility: hidden;
   }
   .visible-tc {
      content-visibility: hidden;
   }
   .visible-sp {
      content-visibility: visible;
   }
   .header-top {
      padding-bottom: 5%;
   }

   div#base {
      width:375px;
   }
   #main_contents{
      width:375px;
      padding: 0;
      padding-bottom: 3px;
   }
   .contents {
      margin: 0 auto;
   }
   .main-content {
      height: auto;
   }

   #left_contents {
      display: block;
      width: 100%;
      margin-bottom: 0;
   }

   #right_contents {
      width: 100%;
   }
   .right-menu {
      margin-bottom: 3%;
      padding: 2% 0%;
   }

   /* header */
   #top_img:not(.nocontent) {
      margin-bottom: 50px;
   }
   #top_img.nocontent img {
      vertical-align: middle;
   }

   .temporary-content {
      top: 160px;
      left: 0px;
   }

   .temporary-content-main{
      height: 44px;
      width: 367px;
   }

   .header-name {
      display: flex;
      flex-direction: column;
      margin-top: 5%;
      letter-spacing: .1em;
   }

   #name_en {
      margin-right: auto;
   }

   .header-text {
      visibility:hidden;
      height: 0;
   }

   #name h1 {
      float: inline-start;
      line-height: 1.5;
   }

   .header-name p {
      text-align: left;
   }

   /* hamburger menu */
   .menu-btn {
      display: block;
      top: 25px;
      right: 25px;
   }

   .droped .drop-menu-base {
      transform: scaleY(1);
   }

   .nav-menu {
      display: none;
      background-color: #fff;
      z-index: 100;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;

      overflow: auto;
   }

   .menu-list {
      margin-top: 100px;
      flex-direction: column
   }

   .menu-item {
      border-bottom: 1px solid #dcdcdc;
   }

   .menu-item a, .menu-item span {
      color: #226787;
      justify-content: left;
   }
   .menu-item a::before, .menu-item span::before {
      color: #226787;
   }
   .menu-item a::after, .menu-item span::after {
      color: #226787;
   }

   .drop-menu-base {
      flex-direction: column;
      position: relative;
      height: 0;
      transform: scaleY(0);
      background-color: #f0f4f6;
      box-shadow: none;
   }

   .drop-menu-block {
      width: 100%;
      padding: 0;
   }

   .drop-menu-item {
      border-left: #fffbfb;
   }

   .menu-icon a {
      width: 100%;
   }

   /* /hamburger menu */
   /* /header */

   /* side contents */
   #call_in_tap {
      width: 365px;
      display: block;
   }

   #tap_icon {
      left: 230px;
   }

   .right-menu {
      width: 365px;
      overflow: hidden;
   }
   .right-menu-sp {
      display: flex;
      flex-direction:column;
   }

   #overview p {
      margin-left: 70px;
   }

   .menu-stethoscope {
      left: 210px;
   }

   .right-menu-shisetu {
      font-size: 90%;
      height: 75px;
      margin-bottom: 10%;
      display: flex;
   }
   .menu-shisetu-img {
      margin: 1%;
      margin-left: 5%;
   }

   .right-menu-shisetu a {
      display: flex;
      flex-direction:row;
      flex-grow: 1;
   }
   .right-menu-shisetu p {
      font-size: 120%;
      width: 150px;
      display: flex;
      align-items: flex-start;
      justify-content: center;
      margin-left: 35%;
      flex-direction: column;
      text-align: left;
   }
   .right-menu-shisetu p::after {
      font-family: "Material Icons Round";
      content: "\eac9";
      font-size: 150%;
      vertical-align: middle;
      position: absolute;
      right: 30px;
   }
   .shisetu-spacing {
      letter-spacing: 0.5em;
   }

   .right-menu-sp .menu-shisetu-img {
      position: absolute;
      transform: translate(-10%, -13%);
      margin: 0;
      border: #fff solid 2px;
   }

   /* /side contents */

   /* main contents */
   .main-block {
      margin: 10px auto;
   }

   .oshirase-content {
      padding: 3% 0 3% 10%;
   }

   .megaphone {
      left: 75%;
      width: 40px;
      height: auto;
   }
   .megaphone-effect {
      width: 5px;
      height: 10px;
      top: 30%;
      transform: rotate(70deg);
   }
   .megaphone-effect::before {
      transform: translateX(-18px) translateY(3px) rotate(-25deg);
   }
   .megaphone-effect::after {
      transform: translateX(18px) translateY(3px) rotate(25deg);
   }

   .bubble {
      left: 265px;
   }
   .shisetu-content {
      padding: 2% 0;
   }
   .shisetu-content img {
      width: 75px;
   }

   .menu-shisetu-btn input {
      height: 44px;
   }

   #menu_job_icon {
      width: 90px;
      top: 0;
   }

   #menu_bus_icon {
      width: 75px;
      top: 10px;
      left: 300px;
   }
  /* /main contents */

   /* page */
   .page-main {
      width: 375px;
   }
   .page-text {
      width: 95%;
   }
   /* page */

}