@charset "utf-8";
* {margin: 0; padding: 0;}
html {height: 100%; scroll-behavior: smooth;}
html:first-child body {min-height: 100vh; padding: 0;}
body {height: 100%; font-size: 100%; color: #000000; text-align: center; font-family: "Noto Sans JP"; display: flex; flex-flow: column;}
#wrap {flex: 1;height: auto;}
#wrap.position-fixed {position: fixed;background:#fff}
.wrap {position:relative;}
.wrap.position-fixed {position: fixed;}
h1,h2,h3,strong,em,address {font-style: normal; font-weight: normal;}
img {margin: 0; padding: 0; border: 0;}
table {border-collapse: collapse;}
ul {list-style-type: none;}
ol {list-style-position: inside;}
h1 {font-size: 150%;margin-bottom: 1%;}
a.db {display:block;line-height:1;}
header.top {
 margin: 0;
}
.top-catch {
 margin: 0;
}
.top-catch img {
 width: 100%;
}
section.content {
 text-align: left;
}
.introduction {
 max-width: 960px;
 margin: 0 auto 2%;
 padding: 0 2%;
 display: flex;
 align-items: center;
 background-color: rgba(207, 235, 246, 0);
 background-image: linear-gradient(180deg, rgba(207, 235, 246, 0.81), rgba(255, 34, 87, 1) 0%, rgba(154, 39, 238, 1) 0%, rgba(207, 235, 246, 1) 0%, rgba(207, 235, 246, 0.1) 67%, rgba(255, 255, 255, 0));
}
.introduction.content p {
 padding: 0;
 text-align: justify;
}
.flex-container {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: 5%;
}
.flex-container.top-nav {
 margin-bottom: .5rem;
 padding: 2% 3%;
 display: flex;
 justify-content: space-around;
 align-items: center;
 flex-direction: row;
 flex-wrap: wrap;
 box-shadow: 0 18px 20px -28px rgba(0, 0, 0, 0.5);
}
a.f-item {
 width: 80%;
}
.top-logo {
 width: 100%;
 max-width: 410px;
 aspect-ratio: 410 / 100;
}
.nav {
 width: 100%;
 height: 100vh;
 padding: 1rem 0;
 background-color: #fff;
 position: fixed;
 top: 90px;
 right: -100%;
 transition: all 0.5s;
 z-index: 100;
}
.nav li {
 margin: 0 auto .5rem;
}
.nav li a {
 padding: .5rem 2rem;
 color: #4d4d4d;
 font-size: 120%;
 line-height: 1;
 text-decoration: none;
 display: inline-block;
 text-transform: uppercase;
 transition: all .3s ease;
}
.nav li a:hover {
 background: #f6f6f6;
 border-radius: 50px;
}
.nav li.menu-item-has-children > a {
 display: none;
}
.nav li.menu-item-has-children > a:hover {
 background: none;
}
.nav.open {
 right: 0;
}
.nav .right ul {
 margin-bottom: 2%;
 display: flex;
 flex-direction: column-reverse;
}
.nav .right li.img-a {
 margin-bottom: 1rem;
}
.nav .right li.img-a a {
 padding: 0;
 line-height: 1;
}
.nav .right li.img-a a:hover {
 background: none;
 opacity: .6;
}
.nav .right li img {
 height: 3rem;
 vertical-align: bottom;
}
.burger-btn {
 width: 35px;
 height: 35px;
 position: relative;
 appearance: none;
 border: 0;
 padding: 0;
 margin: 0;
 background-color: #fff;
 cursor: pointer;
}
.burger-btn span,
.burger-btn span:after,
.burger-btn span:before {
 position: absolute;
 display: block;
 content: "";
 width: 100%;
 height: 2px;
 background-color: #0f5474;
 transition: all 0.5s;
}
.burger-btn span:before {
 top: -10px;
}
.burger-btn span:after {
 bottom: -10px;
}
.burger-btn.open span {
 background-color: transparent;
}
.burger-btn.open span:before {
 top: 0;
 transform: rotate(45deg);
}
.burger-btn.open span:after {
 bottom: 0;
 transform: rotate(-45deg);
}
.link-button {
 margin-bottom: 3%;
}
.link-button a {
 transition: all .3s ease-in-out;
}
.link-button a:hover {
 opacity: .6;
}
.link-button img {
 width: 100%;
}
.w40 {
 width: calc(100% - 2rem);
 margin: 0 auto;
}
.inquiry {
 padding: 5%;
 background: #f0f9fa;
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: center;
 gap: 3%;
}
.inquiry p {
 text-align: center;
}
.inquiry .box {
 width: calc(100% - 2rem);
 max-width: 420px;
 margin-bottom: 1rem;
 padding: 5%;
 color: #4d4d4d;
 background: #fff;
 border-radius: 20px;
}
.inquiry .box h2 {
 margin-bottom: .5rem;
 font-size: 170%;
 font-weight: bold;
}
.inquiry .box p.tel {
 margin-bottom: 0;
 color: #63768d;
 font-size: 270%;
 font-weight: bold;
 font-family: "Roboto", sans-serif;
}
.inquiry .box p.normal {
 margin-bottom: 2%;
 font-size: 130%;
 font-weight: bold;
}
.inquiry .box p.fs100 {
 font-size: 100%;
}
.inquiry .box a.db {
 margin-bottom: .5rem;
}
.inquiry .box a img {
 width: 100%;
 max-width: 386px;
}
.flexContainer {
 padding: 0 2%;
 display: flex;
 justify-content: center;
 gap: 4%;
}
.inner.flexContainer {
 margin-bottom: 5%;
 flex-direction: column-reverse;
}
.inner.flexContainer img {
 margin-top: 2%;
}
.flex-container.index {
 margin: 2%;
 display: block;
}
.index div {
 margin-bottom: 1%;
 border: 2px solid #a2c2d0;
}
.index a {
 padding: 3% 5%;
 color: #63768d;
 text-align: left;
 text-decoration: none;
 display: block;
 position: relative;
 transition: all .3s ease-in-out;
}
.index a:after {
 content: "";
 border-top: 1px solid #63768d;
 border-left: 1px solid #63768d;
 display: inline-block;
 width: 10px;
 height: 10px;
 transform: rotate(-135deg) translateY(9px);
 position: absolute;
 right: 20px;
 top: 50%;
 transition: transform .4s;
}
.index a:hover {
 color: #4e5e6d;
 background: #eff7ff;
}
section.link {
 margin-bottom: 2%;
}
.attention {
 padding-left: 2rem;
 font-size: 100%;
 line-height: 1.2;
 position: relative;
}
.danger-icon {
 width: 1.8rem;
 margin-right: 1%;
 vertical-align: middle;
 aspect-ratio: 110 / 100;
}
.danger.mark:before {
 content: "";
 width: 1.5rem;
 height: 1.5rem;
 background: url(../images/warning.png) no-repeat 0 0 / contain;
 display: inline-block;
 position: absolute;
 left: 0;
 top: 0;
}
.for-border.lg {
 margin-bottom: 2%;
 padding: 0 1rem;
 border-bottom: solid 14px #c9c9c9;
 display: inline-block;
 position: relative;
 z-index: 1;
}
.for-border.lg h2 {
 margin-bottom: -.8rem;
 font-size: clamp(16px, calc(1.5vw + 16px), 26px);
 text-align: left;
}
.for-border.lg:after {
 position: absolute;
 content: "";
 display: block;
 border-bottom: solid 14px #aee2f4;
 left: 0;
 bottom: -14px;
 width: 30%;
 z-index: -10;
}
footer {
 background: #a2c2d0;
}
footer.height-zero {
 display: none;
}
footer .site-nav {
 padding: 5% 5% 0;
 display: flex;
 flex-direction: column;
}
footer .corp-nav {
 padding: 0 5% 5%;
 display: flex;
 align-items: center;
 flex-direction: column-reverse;
}
.f-logo {
 margin-bottom: 5%;
}
.f-logo img {
 width: 76%;
}
.f-nav,
.corp-nav {
 margin: 0 auto;
}
.f-nav ul,
.corp-nav ul {
 margin-bottom: 1rem;
 font-weight: bold;
}
.f-nav li,
.f-nav li a,
.corp-nav li,
.corp-nav li a {
 color: #fff;
 font-size: 110%;
 text-align: left;
 text-decoration: none;
}
.f-nav li.head {
 margin-bottom: .5rem;
 padding-left: .5rem;
 font-size: 150%;
 line-height: 1.2;
}
.f-nav li.arrow,
.corp-nav li {
 padding: .2rem 1rem;
 transition: all .3s ease;
}
.f-nav li.arrow a,
.corp-nav li a {
 padding-left: 1rem;
 line-height: 1.4;
 position: relative;
 display: block;
}
.f-nav li.arrow a:before,
.corp-nav li a:before {
 content: "";
 display: inline-block;
 width: .5rem;
 height: .5rem;
 border-top: 2px solid #fff;
 border-right: 2px solid #fff;
 position: absolute;
 top: .5rem;
 left: -.2rem;
 transform: rotate(45deg);
}
.f-nav li.arrow:hover,
.corp-nav li:hover {
 padding: .2rem 1rem;
 background: #b8d5e0;
 border-radius: 50px;
}
.corp-nav ul {
 width: 90%;
 margin: 0 auto 8%;
 padding: 0;
 display: flex;
 flex-direction: column;
}
.corp-nav li {
 display: inline-block;
}
.mb2p {
 margin-bottom: 2%;
}
.txt-right {
 text-align: right;
}
.sns-icon {
 display: flex;
 align-items: center;
 gap: .5rem;
}
.sns-icon a {
 width: clamp(30px, calc(10vw + 16px), 40px);
}
.sns-icon img {
 width: 100%;
 vertical-align: top;
 transition: all .3s ease-in-out;
}
.sns-icon img:hover {
 opacity: .6;
}
.sns-icon span {
 color: #fff;
 font-size: .9rem;
 font-style: italic;
 text-transform: uppercase;
}
@media screen and (min-width:800px) {
 header.top {
  margin: 0 auto;
 }
 .top-catch {
  margin: 0 auto;
 }
 .top-catch img {
  max-width: 960px;
 }
 .introduction {
  padding: 0;
 }
 .container {
  max-width: 960px;
  margin: 0 auto 5%;
 }
 .introduction {
  margin: 0 auto;
  padding: 3% 5%;
  font-size: 120%;
  line-height: 1.6;
 }
 .introduction.content p {
  text-align: left;
 }
 .flex-container.index {
  margin: 0 auto 2%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 0;
 }
 .index div {
  width: calc((100% - 4%) / 3);
 }
 .index a {
  text-align: center;
 }
 a.f-item {
  width: 20%;
  max-width: 451px;
 }
 .flex-container.top-nav {
  padding: 0 1%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
 }
 .nav {
  width: 75%;
  flex-grow: 3;
  height: auto;
  padding: 0;
  background-color: #fff;
  border-top: none;
  position: static;
  transition: all 0.5s;
 }
 .nav ul li {
  width: auto;
  padding: 0;
  line-height: 1;
 }
 .nav ul a {
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
 }
 .nav .right {
  margin: 1% auto;
 }
 .nav .right ul,
 .nav .center ul {
  display: flex;
  align-items: center;
 }
 .nav .right ul {
  margin-bottom: 0;
  flex-direction: row;
  justify-content: flex-end;
 }
 .nav .right ul li {
  margin: 0 1rem 0 0;
 }
 .nav .right ul li.img-a {
  max-width: 220px;
  margin-bottom: 0;
 }
 .nav .right ul img {
  width: 100%;
 }
 .nav .center {
  margin-bottom: .5rem;
 }
 .nav .center ul {
 }
 .nav .center ul li {
  margin: 0 1rem;
  position: relative;
 }
 .nav .center li a {
  padding: .5rem 1rem;
 }
 .nav .center li a:hover {
  padding: .5rem 1rem;
 }
 nav.center ul.sub-menu {
  width: 150%;
  padding: 1rem 0;
  position: absolute;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  display: block;
  transition: 0.5s;
  box-shadow: 10px 10px 20px -10px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
 }
 nav.center ul.sub-menu li {
  margin-bottom: .5rem;
  text-align: left;
 }
 nav.center ul.sub-menu li:last-child {
  margin-bottom: 0;
 }
 nav.center ul.sub-menu a {
  padding: .5rem 1rem;
  display: block;
 }
 .nav .center ul.sub-menu a:hover {
  color: #4287f5;
 }
 .menu-item-has-children a {
  color: #4d4d4d;
 }
 nav .menu-item-has-children:hover ul {
  opacity: 1;
  visibility: visible;
 }
 .nav li.menu-item-has-children > a {
  display: block;
 }
 nav li.menu-item-has-children li a:hover {
  background: #efefef;
 }
 .burger-btn {
  display: none;
 }
 .w40 {
  width: 40%;
 }
 .w500 {
  width: 600px;
 }
 .bk-c8eaed {
 background: #f0f9fb;
}
 section.inquiry {
  flex-direction: row;
 }
 .inquiry .box {
  margin: 0;
 }
 .f-logo {
  width: calc(100% / 6);
  margin-bottom: 0;
 }
 footer .site-nav {
  margin-bottom: 2%;
  flex-direction: row;
 }
 footer .f-nav {
 margin-right: 0;
  display: flex;
 }
 .f-nav ul {
  margin-right: 3rem;
 }
 footer .corp-nav {
  padding-top: 0;
  flex-direction: row;
  justify-content: flex-end;
  gap: 5%;
 }
 .sns-icon {
 }
 .sns-icon img {
  width: 100%;
 }
 .corp-nav ul {
  width: auto;
  margin: 0;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
 }
 .corp-nav li {
  padding: .2rem 1rem;
 }
 .corp-nav li:hover {
  padding: .2rem 1rem;
 }
 .corp-nav li a {
  padding-left: 0;
 }
 .corp-nav li a:before {
  content: inherit;
 }
}