@charset "UTF-8";
/*-- globalフォルダの直下の_index.scss --*/
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*, :after, :before {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  margin: 0;
}

main {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

address, blockquote, dl, figure, form, iframe, ol, p, pre, table, ul {
  margin: 0;
}

ol, ul {
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

embed, iframe, img, object {
  vertical-align: bottom;
}

button, input, optgroup, select, textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

[type=button][disabled], [type=reset][disabled], [type=submit][disabled], button[disabled] {
  cursor: default;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

select::-ms-expand {
  display: none;
}

fieldset, option {
  padding: 0;
}

fieldset {
  margin: 0;
  min-width: 0;
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable] {
  outline: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td, th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

[hidden], template {
  display: none;
}

*:focus {
  outline: none;
}

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

h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
}

@media print, screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
body {
  font-family: "Noto Sans JP", "Lato", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  font-weight: 400;
}

#header-wrap {
  padding: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem) 0 0 clamp(0.625rem, -0.511rem + 5.68vw, 3.75rem);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 0.5rem;
}
#header-wrap .head-L-box {
  width: 91.6590284143%; /*12:11*/
}
#header-wrap .head-L-box h1 span {
  display: block;
  font-size: 12px;
  margin-bottom: clamp(0.5rem, 0.318rem + 0.91vw, 1rem);
}
#header-wrap .head-L-box h1 img {
  width: 160px;
}
#header-wrap .head-R-box {
  width: 8.3056478405%; /*12:1*/
}
#header-wrap .head-R-box .head-tel-box p {
  font-size: 14px;
}
#header-wrap .head-R-box .head-tel-box img {
  width: auto;
  height: auto;
}

@media print, screen and (min-width: 768px) {
  #header-wrap {
    margin-bottom: 0;
  }
  #header-wrap .head-L-box {
    width: 30.0030003%; /*12:3.6*/
  }
  #header-wrap .head-L-box h1 img {
    max-width: 280px;
    width: 100%;
  }
  #header-wrap .head-R-box {
    width: 69.1085003455%; /*12:8.3*/
  }
  #header-wrap .head-R-box .head-tel-box {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    line-height: normal;
    padding: 0 clamp(0.5rem, -0.045rem + 2.73vw, 2rem) 1.3rem 0;
  }
  #header-wrap .head-R-box .head-tel-box .place-box {
    padding-right: 2rem;
  }
  #header-wrap .tel-box-flex {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  #header-wrap .tel-box-flex img {
    max-width: 23px;
    height: fit-content;
    width: 100%;
  }
  #header-wrap .tel-box-flex span {
    font-size: 26px;
    padding-left: 0.8rem;
    color: #006f8a;
  }
}
.hamburger-demo-menubox li {
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem); /*14~16px*/
  margin-bottom: 2px;
}

/* hamburgerここから */
/* inputを非表示 */
.input-hidden {
  display: none;
}

/* label */
.hamburger-demo-switch {
  cursor: pointer;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
  width: 4em;
  height: 4.5em;
  background: rgba(224, 244, 247, 0.5);
}

/* メニュー展開時にハンバーガーアイコンを固定 */
#hamburger-demo1:checked ~ .hamburger-demo-switch {
  position: fixed;
}

/* ハンバーガーアイコン */
.hamburger-switch-line1, .hamburger-switch-line1:before, .hamburger-switch-line1:after {
  width: 30px;
  height: 4px;
  background: #006f8a; /* ハンバーガーアイコンの色 */
  position: absolute;
  top: 50%;
  left: 50%;
  transition: 0.3s;
  content: "";
}

.hamburger-switch-line1 {
  transform: translate(-50%, -50%);
}

.hamburger-switch-line1:before {
  transform: translate(-50%, -300%);
}

.hamburger-switch-line1:after {
  transform: translate(-50%, 200%);
}

/* ハンバーガーアイコン･アニメーション */
#hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1 {
  width: 0;
}

#hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1:before {
  transform: rotate(45deg) translate(-40%, 325%);
}

#hamburger-demo1:checked ~ .hamburger-demo-switch .hamburger-switch-line1:after {
  transform: rotate(-45deg) translate(-40%, -325%);
}

/* メニューエリア */
.hamburger-demo-menuwrap {
  position: fixed;
  height: 100%;
  background: #e0f4f7; /* メニューエリアの背景色 */
  padding: 5em 3% 2em;
  z-index: 9998;
  transition: 0.3s;
  overflow-y: scroll; /* メニュー内容が多い場合に縦スクロールする */
  top: 0;
  left: 100%;
  width: 80%;
}

/* メニューリスト */
.hamburger-demo-menulist {
  list-style: none;
}

.hamburger-demo-menulist li a {
  text-decoration: none;
  padding: 1rem;
  display: inline-block;
  width: 100%;
  background-color: #fff;
}

/* メニューエリア･アニメーション */
/* 右から */
#hamburger-demo1:checked ~ .hamburger-demo-menuwrap {
  left: 20%;
}

/*追加*/
.hamburger-demo-menulist li .sp-tel-box-flex {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background-color: transparent;
}
.hamburger-demo-menulist li .sp-tel-box-flex img {
  max-width: 23px;
  width: 100%;
}
.hamburger-demo-menulist li .sp-tel-box-flex span {
  font-size: 26px;
  padding-left: 1rem;
}
.hamburger-demo-menulist li .sp-tel-box-flex:link, .hamburger-demo-menulist li .sp-tel-box-flex:active, .hamburger-demo-menulist li .sp-tel-box-flex:hover, .hamburger-demo-menulist li .sp-tel-box-flex:visited {
  color: #006f8a;
}

@media print, screen and (min-width: 768px) {
  /* メニューエリア */
  .hamburger-demo-menuwrap {
    position: static;
    height: 100%;
    background: none; /* メニューエリアの背景色 */
    padding: 0;
    z-index: 9998;
    transition: 0.3s;
    overflow-y: inherit; /* メニュー内容が多い場合に縦スクロールする */
    top: 0;
    left: inherit;
    width: auto;
  }
  .hamburger-demo-menulist li a {
    text-decoration: none;
    padding: 1.5rem clamp(1rem, -2.556rem + 7.41vw, 3rem);
    background-color: transparent;
  }
  .hamburger-demo-menubox li {
    margin-bottom: 0;
  }
  .hamburger-demo-switch {
    display: none;
  }
  /*レイアウト調整追加*/
  .hamburger-demo-menulist {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .active {
    position: relative;
  }
  .active::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border: 2px solid #006f8a;
    width: 45px;
  }
  .nav-li-contact .active {
    position: relative;
  }
  .nav-li-contact .active::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border: 2px solid #fff !important;
    width: 45px;
    z-index: 1;
  }
  .nav-li-contact a {
    background-color: #006f8a !important;
    background-image: url(../images/contact_arrow_icon.png);
    background-size: 19px;
    background-position: right 5% center;
    background-repeat: no-repeat;
    position: relative;
    display: inline-block;
  }
  .nav-li-contact a:link, .nav-li-contact a:active, .nav-li-contact a:hover, .nav-li-contact a:visited {
    color: #fff !important;
  }
}
body a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
body a:hover {
  opacity: 0.8;
}
body a:hover img {
  filter: alpha(opacity=85);
  opacity: 0.9;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

#main-vi-bk {
  background-color: #006f8a;
  height: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
  justify-content: flex-end;
  width: 100%;
  position: relative;
  margin-bottom: clamp(5rem, 4.545rem + 2.27vw, 6.25rem); /*80~100px*/
}
#main-vi-bk .main-vi-txt {
  color: #fff !important;
  width: fit-content;
  position: absolute;
  top: 50%;
  left: clamp(0.625rem, -0.511rem + 5.68vw, 3.75rem);
  right: clamp(0.625rem, -0.511rem + 5.68vw, 3.75rem);
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  text-shadow: 0px 0px 20px rgb(62, 62, 62);
  z-index: 1;
}
#main-vi-bk .main-vi-txt h2 {
  font-size: clamp(1.625rem, 0.852rem + 3.86vw, 3.75rem); /*26~60px*/
  font-weight: 600;
  line-height: 1.8em;
  margin-bottom: clamp(0.625rem, 0.17rem + 2.27vw, 1.875rem); /*10~30px*/
}
#main-vi-bk .main-vi-txt p {
  font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem); /*16~22px*/
}
#main-vi-bk .main-vi-box {
  background: url(../images/main_vi.png) center center no-repeat;
  background-size: cover;
  width: 80%;
  height: 90vh;
}

.index-read-wrap {
  height: auto;
  padding: 0 15px;
  width: 100%;
  max-width: 100%;
}
.index-read-wrap .index-read-box {
  margin-bottom: 30px;
}
.index-read-wrap .index-read-img img {
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.index-wide-wrap, .index-wide-wrap2, .other-wide-wrap {
  position: relative;
  display: grid;
  grid-gap: 0 30px;
  grid-template-columns: repeat(12, 1fr);
  grid-template-areas: "h h h h h h h h h h h h" "c c c c c c c c c c c c";
}
.index-wide-wrap .index-wide-box, .index-wide-wrap2 .index-wide-box, .other-wide-wrap .index-wide-box {
  padding: 0 15px;
}
.index-wide-wrap .index-wide-box .common-btn01, .index-wide-wrap2 .index-wide-box .common-btn01, .other-wide-wrap .index-wide-box .common-btn01 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 10;
  width: max-content;
}
.index-wide-wrap .index-wide-img img, .index-wide-wrap2 .index-wide-img img, .other-wide-wrap .index-wide-img img {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.dot-list-ul li {
  margin-bottom: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem); /*20px~30px*/
}
.dot-list-ul li:last-child {
  margin-bottom: 0;
}
.dot-list-ul li h3 {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem); /*16~18px*/
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}
.dot-list-ul li h3 i {
  margin-right: 0.6rem;
}

.other-wide-wrap .other-wide-img img {
  width: 75%;
}

/*display grid*/
.header-g {
  grid-area: h;
}

.content-g {
  grid-area: c;
}

.footer-g {
  grid-area: f; /*まだ使っていない*/
}

/*見出し＆ボタン*/
.common-lbl-txt {
  font-size: clamp(1.5rem, 1.136rem + 1.82vw, 2.5rem); /*24~40px*/
  color: #006f8a;
  font-weight: 600;
}

.text-f18 {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem); /*16~18px*/
}

.common-lbl01 {
  font-size: clamp(1.5rem, 1.182rem + 1.59vw, 2.375rem); /*24~38px*/
  font-weight: 600;
  margin-bottom: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem); /*20px~30px*/
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.common-lbl01::after {
  content: "";
  background-color: #006f8a;
  width: clamp(3.75rem, 2.5rem + 6.25vw, 7.188rem); /*60~115px*/
  height: 5px;
  display: block;
  margin-left: clamp(1rem, 0.636rem + 1.82vw, 2rem);
}

.common-btn01 a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #006f8a;
  padding: 0.8rem 2rem;
  width: fit-content;
}
.common-btn01 a:link, .common-btn01 a:active, .common-btn01 a:hover, .common-btn01 a:visited {
  color: #fff !important;
}
.common-btn01 a img {
  max-width: clamp(2.125rem, 1.852rem + 1.36vw, 2.875rem); /*34~46px*/
  width: 100%;
  height: auto;
  margin-left: clamp(1rem, 0.636rem + 1.82vw, 2rem);
}

.common-btn01-L {
  display: flex;
  justify-content: flex-end;
}

@media print, screen and (min-width: 768px) {
  #main-vi-bk {
    padding: 0 0 0 clamp(0.625rem, -0.511rem + 5.68vw, 3.75rem);
  }
  #main-vi-bk .main-vi-txt {
    left: 9.5%;
  }
  #main-vi-bk .main-vi-box {
    max-width: 950px;
    width: 100%;
    height: 780px;
    background-position: right center;
  }
  /*汎用*/
  .order {
    order: 1;
  }
  .order2 {
    order: 2;
  }
}
@media print, screen and (min-width: 900px) {
  .index-read-wrap {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 0 clamp(0.8rem, -2.036rem + 14.18vw, 8.6rem);
  }
  .index-read-wrap .index-read-box {
    width: 48.309178744%; /*12:5.8*/
    margin-bottom: 0;
  }
  .index-read-wrap .index-read-img {
    width: 40%; /*12:4.8*/
  }
  .index-wide-wrap {
    grid-template-areas: "c c c c c . h h h h h .";
  }
  .index-wide-wrap2 {
    grid-template-areas: ". h h h h h . c c c c c";
  }
  .index-wide-wrap2 .index-wide-img, .other-wide-wrap .index-wide-img {
    display: flex;
    justify-content: end;
    height: fit-content;
  }
  .index-wide-wrap .index-wide-box, .index-wide-wrap2 .index-wide-box {
    padding: 0;
  }
  .index-wide-wrap .index-wide-box .common-btn01-L, .index-wide-wrap2 .index-wide-box .common-btn01-L {
    position: static;
    margin-right: 0;
  }
  .index-wide-wrap .index-wide-img img, .index-wide-wrap .other-wide-img img, .index-wide-wrap2 .index-wide-img img, .index-wide-wrap2 .other-wide-img img {
    margin-left: inherit;
    margin-right: inherit;
  }
  .index-wide-wrap .index-wide-img img, .index-wide-wrap2 .index-wide-img img {
    max-width: 544px;
  }
  .other-wide-wrap {
    grid-template-areas: ". h h h h h h . c c c c";
    position: relative;
  }
  .other-wide-wrap .other-wide-box {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 1rem 0 0;
  }
  .other-wide-wrap .other-wide-img img {
    width: 100%;
    max-width: 450px;
  }
}
@media print and (orientation: landscape), screen and (orientation: landscape) and (min-width: 768px) {
  #main-vi-bk .main-vi-box {
    width: 80%;
  }
}
@media screen and (orientation: landscape) and (max-width: 767px) {
  #main-vi-bk .main-vi-box, #main-vi-bk .main-vi-other {
    height: 120vh !important;
  }
}
@media print and (orientation: portrait), screen and (orientation: portrait) and (min-width: 768px) {
  #main-vi-bk .main-vi-box {
    width: 80%;
  }
}
.inner {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 15px;
}

.narrow-inner {
  width: 100%;
  max-width: 950px;
  margin: 0 auto;
  padding: 0 15px;
}

/*コンテンツが手前からスッと出てくる「リビールアニメーション」*/
.reveal {
  opacity: 0;
  clip-path: inset(0 100% 0 0); /* 右側からの隠しマスク */
  transition: clip-path 1s ease-out, opacity 1s ease-out;
}

.reveal.show {
  opacity: 1;
  clip-path: inset(0 0 0 0); /* マスク解除 */
}

/* 遅延付き */
.reveal.delay.show {
  transition-delay: 0.3s;
}

#foo-contact-bg {
  position: relative;
  overflow: hidden;
  padding-bottom: clamp(1.5rem, 0.955rem + 2.73vw, 3rem);
}
#foo-contact-bg::before {
  content: "";
  min-height: 440px;
  background-color: #006f8a;
  position: absolute;
  top: 15%;
  right: 0;
  left: 0;
  z-index: -1;
}
#foo-contact-bg::after {
  content: "";
  height: 610px;
  content: url(../images/foo_contact_bk.png);
  display: block;
  position: absolute;
  left: 0;
  top: 15%;
  z-index: -1;
}

.foo-contact-wrap {
  padding: clamp(1.5rem, 0.955rem + 2.73vw, 3rem) clamp(1.5rem, 0.591rem + 4.55vw, 4rem);
  background: url(../images/logo_trans.png) center center/60% no-repeat #e0f4f7;
}

.foo-contact-box1 p {
  font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem); /*14~18px*/
}

.foo-contact-box2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 1rem 0;
}
.foo-contact-box2 .foo-contact-tel {
  margin-bottom: 30px;
}
.foo-contact-box2 .foo-contact-tel a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.foo-contact-box2 .foo-contact-tel a img {
  max-width: 30px;
  width: 100%;
}
.foo-contact-box2 .foo-contact-tel a span {
  font-size: clamp(1.375rem, 1.057rem + 1.59vw, 2.25rem); /*22~36px*/
  padding-left: 0.8rem;
}

.footer-contarea-wrap .footer-contarea-img img {
  max-width: 344px;
}

.footer-contarea-wrap .footer-contarea-img, .footer-contarea-wrap .footer-contarea-box {
  margin: 0 auto;
  width: fit-content;
}
.footer-contarea-wrap .footer-contarea-img {
  margin-bottom: 30px;
}
.footer-contarea-wrap .footer-contarea-img img {
  max-width: 280px;
  width: 70%;
  display: block;
  margin: 0 auto;
}

.footer-navi-wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.footer-navi-wrap li {
  width: 48.309178744%; /*12:5.8*/
  text-align: center;
}
.footer-navi-wrap li a {
  display: inline-block;
  width: 100%;
  padding: 0.7rem 1.3rem;
  font-size: clamp(0.875rem, 0.852rem + 0.11vw, 0.938rem); /*14~15px*/
}
.footer-navi-wrap li a:hover {
  text-decoration: none;
}
.footer-navi-wrap li:last-child {
  width: 100%;
}

.footer-info-area {
  text-align: center;
  padding: 1.5rem 0;
  font-size: 120%;
}

/*pagetop*/
#scroll-to-top-btn {
  position: fixed;
  bottom: 10%;
  right: 10px;
  height: 40px;
  width: 40px;
  background-color: #006f8a;
  border: none;
  border-radius: 50%;
  outline: none;
  opacity: 0;
  transition-duration: 0.5s;
  display: flex;
  justify-content: center;
  z-index: 9999;
}
#scroll-to-top-btn span {
  display: block;
  border-top: #ffffff 2px solid;
  border-right: #ffffff 2px solid;
  transform: rotate(-45deg);
  width: 10px;
  height: 10px;
  top: 17px;
  position: absolute;
}

@media print, screen and (min-width: 768px) {
  #foo-contact-bg::before {
    min-height: 440px;
  }
  #foo-contact-bg::after {
    height: 610px;
  }
  .foo-contact-box2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
  }
  .foo-contact-box2::after {
    content: "";
    border: 2px solid #006f8a;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: fit-content;
  }
  .foo-contact-box2 .foo-contact-tel, .foo-contact-box2 .foo-contact-mail {
    width: 48%;
    display: flex;
    justify-content: center;
  }
  .foo-contact-box2 .foo-contact-tel {
    margin-bottom: 0;
  }
  .footer-contarea-wrap {
    display: flex;
    justify-content: space-between;
  }
  .footer-contarea-wrap .footer-contarea-img, .footer-contarea-wrap .footer-contarea-box {
    width: 48.309178744%; /*12:5.8*/
  }
  .footer-contarea-wrap .footer-contarea-img {
    margin-bottom: 0;
  }
  .footer-contarea-wrap .footer-contarea-img img {
    margin-left: 0;
  }
  .footer-contarea-wrap .footer-contarea-box {
    width: fit-content;
  }
  .footer-navi-wrap {
    justify-content: space-between;
  }
  .footer-navi-wrap li {
    width: inherit;
  }
  .footer-navi-wrap li:last-child {
    width: inherit;
  }
  /*pagetop*/
  #scroll-to-top-btn {
    height: 50px;
    width: 50px;
  }
  #scroll-to-top-btn span {
    width: 15px;
    height: 15px;
    top: 22px;
  }
}
.hidden-md,
.hidden-lg,
.hidden-xsm,
.hidden-xlg {
  display: none;
}

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

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

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

.f18 {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem); /*16~18px*/
}

.text-grren {
  color: #006f8a;
}

.text-white {
  color: #fff !important;
}

/*隙*/
.cont-box-bt1 {
  margin-bottom: clamp(6.25rem, 5.795rem + 2.27vw, 7.5rem); /*100px~120px*/
}

.cont-box-bt2 {
  margin-bottom: clamp(4.375rem, 4.148rem + 1.14vw, 5rem); /*70px~80px*/
}

.cont-box-bt5 {
  margin-bottom: clamp(3.125rem, 2.898rem + 1.14vw, 3.75rem); /*50px~60px*/
}

.cont-box-bt4 {
  margin-bottom: clamp(2.5rem, 2.273rem + 1.14vw, 3.125rem); /*40px~50px*/
}

.cont-box-bt3 {
  margin-bottom: clamp(1.875rem, 1.648rem + 1.14vw, 2.5rem); /*30px~40px*/
}

.cont-box-bt6 {
  margin-bottom: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem); /*10px~20px*/
}

.cont-box-bt7 {
  margin-bottom: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem); /*20px~30px*/
}

.cont-end-bt {
  margin-bottom: clamp(7.5rem, 6.818rem + 3.41vw, 9.375rem); /*120px~150px*/
}

/*要素真ん中*/
.contents-center {
  display: flex;
  justify-content: center;
}

@media print, screen and (min-width: 900px) {
  .hidden-lg {
    display: none !important;
  }
  .visible-lg {
    display: block !important;
  }
}
@media print, screen and (min-width: 768px) {
  .hidden-md {
    display: none !important;
  }
  .visible-md {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .hidden-xsm {
    display: none !important;
  }
  .visible-xsm {
    display: block !important;
  }
}
@media print, screen and (max-width: 899px) {
  .hidden-xlg {
    display: none !important;
  }
  .visible-xlg {
    display: block !important;
  }
}
#main-vi-bk .main-vi-txt .main-vi-h2-other {
  font-size: clamp(1.438rem, 0.824rem + 3.07vw, 3.125rem); /*23~50px*/
  font-weight: 600;
  line-height: 1.8em;
  margin-bottom: 0;
}
#main-vi-bk .main-vi-other {
  background-size: cover;
  width: 80%;
  height: 45vh;
}
#main-vi-bk .main-vi-com {
  background: url(../images/mainvi_com.png) center center no-repeat;
}
#main-vi-bk .main-vi-busi {
  background: url(../images/mainvi_busi.png) center center no-repeat;
}
#main-vi-bk .main-vi-contact {
  background: url(../images/mainvi_contact.png) center center no-repeat;
}
#main-vi-bk .main-vi-policy {
  background: url(../images/mainvi_policy.png) center center no-repeat;
}

#main-vi-bk.main-vi-bk-com {
  margin-bottom: 0;
}

.pankuzu-wrap {
  position: absolute;
  bottom: 2%;
  left: clamp(0.625rem, -0.511rem + 5.68vw, 3.75rem);
  right: clamp(0.625rem, -0.511rem + 5.68vw, 3.75rem);
  font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem); /*12~14px*/
  color: #fff !important;
  text-shadow: 0px 0px 20px rgb(62, 62, 62);
}

#com-greeting-bg {
  background-color: #e6eaeb;
  padding: clamp(3rem, 1.909rem + 5.45vw, 6rem) 0;
  position: relative;
}
#com-greeting-bg::before {
  content: "";
  background: url(../images/company_title_bk01.png) no-repeat;
  background-size: contain;
  position: absolute;
  max-width: 350px;
  min-height: 81px;
  width: 70%;
  margin-left: 15px;
}
#com-greeting-bg .other-wide-box {
  margin-bottom: 30px;
}

.com-rinen-grid .com-rinen-box {
  margin-bottom: 30px;
}
.com-rinen-grid .com-rinen-img img {
  margin: 0 auto;
  display: block;
}

.com-map-grid .google-maps {
  padding-bottom: 100%;
  position: relative;
  height: 0;
  overflow: hidden;
  margin-bottom: 30px;
}
.com-map-grid .google-maps iframe {
  width: 100%;
}
.com-map-grid .com-map-img img {
  margin: 0 auto;
  display: block;
}

.com-rinen-grid,
.com-map-grid,
.busi-reason-grid,
.busi-doboku1-grid,
.busi-common-grid {
  display: grid;
  grid-gap: 0 30px;
  grid-template-columns: repeat(12, 1fr);
  grid-template-areas: "h h h h h h h h h h h h" "c c c c c c c c c c c c";
}

.busi-doboku1-img img, .busi-reason-img img, .busi-water-img img {
  margin: 0 auto;
  display: block;
}

.busi-doboku1-grid .busi-doboku1-box {
  margin-bottom: 30px;
}

.busi-reason-grid {
  margin-bottom: clamp(4.375rem, 4.148rem + 1.14vw, 5rem); /*70px~80px*/
}
.busi-reason-grid:last-child {
  margin-bottom: 0;
}
.busi-reason-grid .busi-reason-box {
  margin-bottom: 30px;
}

.busi-reason-box {
  border-top: 1px solid #ccc;
  padding-top: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
}
.busi-reason-box .other-lbl-txt {
  margin-bottom: 0;
}

#busi-blast-readBK {
  position: relative;
  min-height: 241px;
  overflow: hidden;
}
#busi-blast-readBK::before {
  content: "";
  background-color: #e0f4f7;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}
#busi-blast-readBK::after {
  content: url(../images/busi-blast-readBK.png);
  height: 35vh;
  display: block;
  padding: 1rem 0;
}

.busi-blast-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.busi-common-grid .busi-blast-ul, .busi-common-grid .busi-water-box {
  margin-bottom: 30px;
}
.busi-common-grid .busi-blast-ul li, .busi-common-grid .busi-water-box li {
  margin-bottom: clamp(1.875rem, 1.648rem + 1.14vw, 2.5rem); /*30px~40px*/
}
.busi-common-grid .busi-blast-ul li:last-child, .busi-common-grid .busi-water-box li:last-child {
  margin-bottom: 0;
}
.busi-common-grid .busi-blast-ul li h3, .busi-common-grid .busi-water-box li h3 {
  background-color: #e0f4f7;
  padding: clamp(0.7rem, 0.518rem + 0.91vw, 1.2rem) clamp(0.7rem, 0.482rem + 1.09vw, 1.3rem);
  margin-bottom: clamp(0.938rem, 0.71rem + 1.14vw, 1.563rem); /*15 ~25px*/
}
.busi-common-grid .busi-blast-ul li p, .busi-common-grid .busi-water-box li p {
  padding: 0 clamp(0.7rem, 0.482rem + 1.09vw, 1.3rem);
}

.busi-common-grbk {
  background-color: #f0f0f0;
  padding: clamp(2rem, 1.818rem + 0.91vw, 2.5rem) clamp(1rem, 0.636rem + 1.82vw, 2rem);
}

.busi-common-flex li {
  margin-bottom: clamp(1rem, 0.636rem + 1.82vw, 2rem);
}
.busi-common-flex li:last-child {
  margin-bottom: 0;
}
.busi-common-flex li i {
  color: #006f8a;
  margin-right: 0.5rem;
}

.busi-watercan-wrap {
  margin-bottom: clamp(1.2rem, 0.836rem + 1.82vw, 2.2rem);
}
.busi-watercan-wrap:last-child {
  margin-bottom: 0;
}
.busi-watercan-wrap .busi-watercan-box {
  background-size: cover;
  padding: clamp(1.5rem, 0.955rem + 2.73vw, 3rem) clamp(1rem, 0.636rem + 1.82vw, 2rem);
}
.busi-watercan-wrap .busi-watercan-box .other-lbl02 {
  margin-bottom: 0;
}
.busi-watercan-wrap .busi-watercan-bk1 {
  background: url(../images/business_img07.png) no-repeat center center;
}
.busi-watercan-wrap .busi-watercan-bk2 {
  background: url(../images/business_img08.png) no-repeat center center;
}
.busi-watercan-wrap .busi-watercan-bk3 {
  background: url(../images/business_img09.png) no-repeat center center;
}
.busi-watercan-wrap .busi-watercan-bk4 {
  background: url(../images/business_img10.png) no-repeat center center;
}
.busi-watercan-wrap .busi-watercan-txt ul {
  padding: clamp(0.8rem, 0.655rem + 0.73vw, 1.2rem) clamp(0.5rem, 0.136rem + 1.82vw, 1.5rem) 0;
}
.busi-watercan-wrap .busi-watercan-txt ul li {
  margin-bottom: clamp(0.625rem, 0.511rem + 0.57vw, 0.938rem); /*10px~15px*/
}
.busi-watercan-wrap .busi-watercan-txt ul li:last-child {
  margin-bottom: 0;
}
.busi-watercan-wrap .busi-watercan-txt ul li::before {
  content: "・";
  padding-right: 0.3rem;
}

/*問い合わせフォーム*/
.require {
  color: #fff !important;
  font-size: 10px;
  background-color: #e00808;
  padding: 0.2rem 0.3rem;
  margin-left: 1rem;
}

.cont-tbl1 td input, .cont-tbl1 td textarea, .cont-tbl1 td select, .cont-tbl1 td input, .cont-tbl1 td textarea, .cont-tbl1 td select {
  width: 100%;
  border: 1px solid #ccc;
}

.submit-area-wrap {
  display: flex;
  justify-content: center;
}
.submit-area-wrap input {
  padding: clamp(0.8rem, 0.545rem + 1.27vw, 1.5rem) clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
  text-align: center;
  outline: none;
  border: none;
  cursor: pointer;
  margin: 0 clamp(1rem, 0.636rem + 1.82vw, 2rem);
}
.submit-area-wrap .submit-btn {
  background-color: #006f8a;
  color: #fff !important;
}
.submit-area-wrap .reset-btn {
  background-color: #ccc;
}

/*ポリシー*/
.policy-area-wrap div {
  margin-bottom: clamp(3.125rem, 2.898rem + 1.14vw, 3.75rem); /*min50px～max60px*/
}
.policy-area-wrap div:last-child {
  margin-bottom: 0;
}
.policy-area-wrap .policy-li-style1 ol {
  list-style-position: inside;
  padding: 0.8em 0 0 2em;
}
.policy-area-wrap .policy-li-style1 ol li {
  list-style: decimal;
  padding-top: 0.3em;
  padding-bottom: 0.3em;
}

/*見出し＆ボタン等*/
.other-lbl-txt {
  font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem); /*18 ~22px*/
  font-weight: 500;
  color: #006f8a;
  margin-bottom: clamp(0.938rem, 0.71rem + 1.14vw, 1.563rem); /*15px~25px*/
}

.other-lbl01 {
  display: flex;
  justify-content: space-between;
}
.other-lbl01 .other-lbl01-num {
  padding: 1rem;
  width: 40px;
  height: 40px;
  color: #fff !important;
  background-color: #006f8a;
  display: flex;
  align-items: center;
}

.other-lbl-marker .marker-pk, .other-lbl-marker .marker-gr, .other-lbl-marker .marker-gr2 {
  font-weight: 500;
  padding-left: 0.5em;
  padding-right: 0.5em;
  display: inline;
}
.other-lbl-marker .marker-pk {
  background: linear-gradient(transparent 60%, #ffe0e0 60%);
}
.other-lbl-marker .marker-gr {
  background: linear-gradient(transparent 60%, #e0f4f7 60%);
}
.other-lbl-marker .marker-gr2 {
  background: linear-gradient(transparent 60%, #006f8a 60%);
}

.other-lbl02 {
  font-size: clamp(1.063rem, 0.994rem + 0.34vw, 1.25rem); /*17px~20px*/
  margin-bottom: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem); /*20px~30px*/
}

@media print, screen and (min-width: 768px) {
  #main-vi-bk .main-vi-other {
    max-width: 690px;
    width: 100%;
    height: 570px;
    background-position: right center;
  }
  #main-vi-bk .pankuzu-wrap {
    left: 9.5%;
    bottom: 5%;
  }
  #com-greeting-bg::before {
    left: 8.5%;
    max-width: 580px;
    height: 135px;
    width: 100%;
    margin-left: 0;
  }
  .com-rinen-grid {
    grid-template-areas: "c c c c c c h h h h h h";
  }
  .com-rinen-grid .com-rinen-box {
    margin-bottom: 0;
  }
  .com-rinen-grid .com-rinen-img img {
    margin: 0;
  }
  .com-map-grid {
    grid-template-areas: "h h h h h h h h c c c c";
  }
  .com-map-grid .google-maps {
    padding-bottom: 50%;
    margin-bottom: 0;
  }
  .busi-doboku1-grid {
    grid-template-areas: "h h h h h h . c c c c c";
  }
  .busi-doboku1-grid .busi-doboku1-box {
    margin-bottom: 0;
  }
  .busi-reason-grid {
    grid-template-areas: "c c c c . h h h h h h h";
  }
  #busi-blast-readBK::before {
    min-height: 240px;
  }
  #busi-blast-readBK::after {
    position: absolute;
    left: 0;
    top: -20%;
    height: 352px;
  }
  .busi-common-grid {
    grid-template-areas: "h h h h h h . c c c c c";
  }
  .busi-common-grid .busi-blast-ul {
    margin-bottom: 0;
  }
  .busi-water-box {
    margin-bottom: 0;
  }
  .busi-common-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .busi-common-flex li {
    width: 50%;
  }
  .busi-common-flex li:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
  .busi-common-flex2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .busi-common-flex2 .busi-watercan-wrap {
    width: 48.309178744%; /*12:5.9*/
  }
  .busi-common-flex2 .busi-watercan-wrap:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
  .busi-common-flex2 .busi-watercan-box {
    max-height: 119px;
  }
  .cont-tbl1 td input, .cont-tbl1 td textarea, .cont-tbl1 td select, .cont-tbl1 td input, .cont-tbl1 td textarea, .cont-tbl1 td select {
    width: auto;
  }
}
@media print, screen and (min-width: 900px) {
  .other-wide-box {
    margin-bottom: 0;
  }
}
.cont-tbl1 {
  border-collapse: collapse;
  width: 100%;
  font-size: clamp(0.938rem, 0.915rem + 0.11vw, 1rem); /*15px~16px*/
}
.cont-tbl1 tr {
  border: none;
}
.cont-tbl1 th, .cont-tbl1 td {
  display: block;
  padding: clamp(0.5rem, 0.245rem + 1.27vw, 1.2rem) 1rem;
}
.cont-tbl1 th {
  background-color: #e0f4f7;
  border: none;
  font-weight: normal;
}
.cont-tbl1 td {
  padding-left: clamp(0.5rem, 0.136rem + 1.82vw, 1.5rem);
  padding-right: clamp(0.5rem, 0.136rem + 1.82vw, 1.5rem);
  border: none;
}
.cont-tbl1 td .text-right {
  display: block;
}
.cont-tbl1 td input, .cont-tbl1 td textarea {
  width: 100%;
  max-width: 100%;
}
.cont-tbl1 .cont-tbl01-inner {
  width: 100%;
  border: none;
}
.cont-tbl1 .cont-tbl01-inner tr {
  display: flex;
}
.cont-tbl1 .cont-tbl01-inner th, .cont-tbl1 .cont-tbl01-inner td {
  padding: 0.3em 0;
  width: 49%;
}
.cont-tbl1 .cont-tbl01-inner th {
  background: none;
  text-align: left;
}

@media print, screen and (min-width: 768px) {
  .cont-tbl1 tr {
    border-top: 1px solid #ccc;
    display: flex;
  }
  .cont-tbl1 tr:last-child {
    border-bottom: 1px solid #ccc;
  }
  .cont-tbl1 th, .cont-tbl1 td {
    word-wrap: break-word;
    border: none;
  }
  .cont-tbl1 th {
    width: 28%;
    text-align: center;
  }
  .cont-tbl1 td {
    width: 72%;
  }
  .cont-tbl1 td input, .cont-tbl1 td textarea {
    width: auto;
    max-width: auto;
  }
}

/*# sourceMappingURL=style.css.map */
