@charset "UTF-8";

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,
::after,
::before {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
}

body {
  margin: 0
}

main {
  display: block
}

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

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

ol,
ul {
  margin: 0;
  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-size: inherit
}

address {
  font-style: inherit
}

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

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

b,
strong {
  font-weight: bolder
}

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

small {
  font-size: 80%
}

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

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

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

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

[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer
}

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

:-moz-focusring {
  outline: auto
}

select:disabled {
  opacity: inherit
}

option {
  padding: 0
}

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

legend {
  padding: 0
}

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
}

[type=number] {
  -moz-appearance: textfield
}

label[for] {
  cursor: pointer
}

details {
  display: block
}

summary {
  display: list-item
}

[contenteditable]:focus {
  outline: auto
}

table {
  border-color: inherit;
  border-collapse: collapse
}

caption {
  text-align: left
}

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

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

button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 0
}

*,
:after,
:before {
  box-sizing: border-box
}

html {
  font-size: 62.5%;
  overflow-x: hidden !important
}

body {
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color: #1a1311;
  font-size: 16px;
  letter-spacing: .04em;
  overflow-x: hidden !important;
  min-height: 100dvh;
  line-height: 1.6
}

p {
  letter-spacing: .035em;
  margin-bottom: 1em
}

hr {
  border: 0;
  border-top: .1rem solid #f4f5f6;
  margin: 3rem 0
}

button,
input,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

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

a:active,
a:hover,
a:link,
a:visited {
  color: #000;
  text-decoration: none
}

a img {
  transition: all .2s
}

a:hover img {
  transition: all .2s;
  opacity: .8
}

.under #main {
  min-height: 500px
}

main section:last-child {
  margin-bottom: 0
}

figure {
  text-align: center
}

.l-overlay {
  position: fixed;
  background: #000;
  z-index: 10;
  cursor: pointer;
  left: 0;
  opacity: 0;
  top: 60px;
  transition: .6s;
  visibility: hidden;
  height: calc(100dvh - 60px) !important;
  width: 100dvw
}

body.is-open__nav {
  overflow: hidden !important;
  height: 100dvh !important
}

body.is-open__nav .l-overlay {
  opacity: .5;
  visibility: visible
}

section {
  margin-bottom: 100px
}

#lightboxOverlay {
  position: fixed !important;
  top: 0;
  left: 0;
  height: 100% !important;
  width: 100% !important
}

#lightbox {
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%)
}

::-webkit-scrollbar {
  width: 16px;
  background-color: #f9f9f9
}

::-webkit-scrollbar-thumb {
  border-radius: 10px;
  box-shadow: inset 0 0 10px 10px #909090;
  border: solid 4px transparent
}

html.lenis,
html.lenis body {
  height: auto
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain
}

.lenis.lenis-stopped {
  overflow: hidden
}

.lenis.lenis-smooth iframe {
  pointer-events: none
}

.l-footer {
  background: #3c9ebc;
  color: #fff;
  padding-top: 125px;
  margin-top: 125px
}

.l-footer a {
  color: #fff
}

.l-footer__logo {
  margin-bottom: 25px;
  text-align: left
}

.l-footer__copylight {
  text-align: center;
  margin-top: 55px
}

.l-footer__copylight p {
  margin-bottom: 0;
  padding: 0 0 40px;
  font-size: 18px;
  background: #3c9ebc;
  letter-spacing: .01em;
  color: #fff
}

.l-footer__info-table {
  width: 100%;
  margin-bottom: 0
}

.l-footer__info-table tbody>tr td,
.l-footer__info-table tbody>tr th {
  padding: .5em 1em;
  letter-spacing: .045em;
  line-height: 2;
  text-align: left;
  padding-left: 0;
  padding-right: 0
}

.is-under .l-header__logo {
  margin-left: 0
}

.is-under .l-header__logo a {
  z-index: 2;
  width: clamp(60px, 9.6875vw, 186px);
  aspect-ratio: 1/1;
  background: #edeceb;
  position: absolute;
  top: 15px;
  left: var(--c-h1-left)
}

.is-under .l-header__logo a h1 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%
}

.is-under .l-header__logo a h1 img {
  width: 106px;
  width: clamp(20px, 5.5208333333vw, 106px)
}

.l-header {
  position: relative;
  background: #fff
}

.l-header__container {
  padding: 10px 2rem;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%
}

.l-header__logo {
  display: block;
  width: 100px;
  margin-right: calc(50% - 50vw);
  flex-shrink: 0;
  margin-left: 11%
}

.l-header__outer .menu-item-has-children {
  position: relative
}

.l-header__outer .menu-item-has-children:hover:after {
  transform: translate(0, calc(-50% + 4px)) rotate(-45deg)
}

.l-header__outer .menu-item-has-children:hover ul {
  opacity: 1;
  visibility: visible
}

.l-header__outer .menu-item-has-children ul li {
  position: relative;
  margin-bottom: 0
}

.l-header__outer .menu-item-has-children ul li a {
  text-align: center;
  display: block;
  text-decoration: none;
  color: #fff;
  border-bottom: solid 1px #fff;
  padding: .9em 1em;
  font-size: 90%;
  transition: all .2s
}

.l-header__outer.is-active {
  visibility: visible;
  opacity: 1;
  right: 0
}

.l-header__outer.is-active:after {
  transform: translateY(0)
}

.l-header__nav>li>a {
  display: block;
  padding: 0;
  transition: .3s;
  font-size: 16px;
  letter-spacing: .1em;
  font-optical-sizing: auto;
  font-style: normal;
  position: relative
}

.l-header__nav>li>a:hover {
  transition: .3s;
  opacity: 1
}

.l-header__toggle {
  display: none
}

.l-header__conversion {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  transition: .5s
}

.l-header__conversion__content {
  width: 160px;
  max-width: 100%
}

.l-header__conversion__content ul {
  display: flex;
  align-items: center;
  justify-content: center
}

.l-header__conversion__content ul li {
  flex: 1
}

.l-header__conversion__content ul li a {
  position: relative;
  display: block;
  text-align: center;
  padding: 1.4em .5em;
  font-size: 18px;
  letter-spacing: .05em;
  color: #fff;
  background: #3c9ebc;
  transition: .2s;
  overflow: hidden
}

.l-header__conversion__content ul li a span {
  position: relative;
  padding-right: 1.3em;
  z-index: 2
}

.l-header__conversion__content ul li a span:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: .1em;
  bottom: 0;
  margin-top: .55em;
  width: 18px;
  height: 9px;
  background: url(/wp-content/uploads/icn-arrow_right__inversion.svg) no-repeat center;
  transition: .2s
}

.l-header__conversion__content ul li a:after {
  position: absolute;
  content: "";
  top: 0;
  left: calc(-100% - 60px);
  z-index: 1;
  width: calc(100% + 60px);
  height: 100%;
  background-color: #d6f6ff;
  transition: left .3s;
  clip-path: polygon(0 100%, 0 0, 100% 0, 80% 100%)
}

.c-accordion .c-accordion__question {
  font-size: 16px;
  border: none;
  position: relative;
  margin: 0 0 0;
  padding: 30px 100px 30px 40px;
  background: #fff;
  border: 1px solid #707070;
  cursor: pointer;
  transition: .2s
}

.c-accordion .c-accordion__question:hover {
  opacity: .8
}

.c-accordion .c-accordion__question__title {
  position: relative;
  padding-left: 3em;
  display: block;
  line-height: 1.6
}

.c-accordion .c-accordion__question__title:after {
  display: block;
  content: "Q.";
  position: absolute;
  top: -.4em;
  left: 0;
  font-size: 25px;
  width: 25px;
  height: 30px;
  font-weight: 700
}

.c-accordion .c-accordion__question:before {
  content: "";
  width: 2px;
  height: 30px;
  background: #707070;
  position: absolute;
  right: 52px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: .6s ease
}

.c-accordion .c-accordion__question:after {
  position: absolute;
  content: "";
  width: 30px;
  height: 2px;
  background: #707070;
  right: 38px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: .6s ease
}

.c-accordion .c-accordion__question.is-open {
  background: #3c9ebc;
  color: #fff;
  border-color: #3c9ebc
}

.c-accordion .c-accordion__question.is-open:before {
  background: #fff;
  transform: rotate(90deg)
}

.c-accordion .c-accordion__question.is-open:after {
  background: #fff;
  transform: rotate(-180deg)
}

.c-accordion .c-accordion__question:not(:first-child) {
  margin-top: 1em !important
}

.c-accordion .c-accordion__answer {
  display: none;
  padding: 30px 30px 30px 40px;
  background: #e2f9ff
}

.c-accordion .c-accordion__answer p:last-child {
  margin-bottom: 0
}

.c-accordion .c-accordion__answer__content {
  line-height: 1.6;
  position: relative;
  padding-left: 3em;
  display: block;
  line-height: 1.6
}

.c-accordion .c-accordion__answer__content:after {
  display: block;
  content: "A.";
  position: absolute;
  top: -.4em;
  left: .2em;
  font-size: 25px;
  width: 25px;
  height: 30px;
  font-weight: 700
}

.c-button01>* {
  background-color: #3c9ebc;
  display: block;
  border: 1px solid #3c9ebc;
  color: #fff !important;
  border-radius: 50px;
  position: relative;
  text-align: center;
  margin: 0 auto;
  max-width: 250px;
  padding: .8em 1em;
  transition: .5s ease-in-out;
  overflow: hidden;
  z-index: 2
}

.c-button01>:after,
.c-button01>:before {
  content: "";
  position: absolute;
  display: block;
  transition: all .5s;
  right: 2em;
  top: 50%
}

.c-button01>:before {
  position: absolute;
  content: "";
  top: 0;
  left: calc(-100% - 50px);
  z-index: 1;
  width: calc(100% + 50px);
  height: 100%;
  background-color: #368ea9;
  transition: left .5s;
  clip-path: polygon(0 100%, 0 0, 100% 0, 80% 100%);
  z-index: -1
}

.c-button01>:after {
  top: 0;
  bottom: 0;
  margin: auto;
  opacity: 1;
  width: 15px;
  height: 8px;
  background: url(/wp-content/uploads/icn-arrow_right__inversion.svg) no-repeat center/15px
}

.c-button01>:hover {
  color: #fff;
  background-color: #368ea9
}

.c-button01>:hover:before {
  left: 0
}

.c-button01>:hover:after {
  background: url(/wp-content/uploads/icn-arrow_right__inversion.svg) no-repeat center/15px;
  right: 1.5em
}

.l-container {
  margin: 0 auto;
  max-width: 124rem;
  padding: 0 2rem;
  position: relative;
  width: 100%
}

.l-container_min {
  margin: 0 auto;
  padding: 0 2rem;
  position: relative;
  width: 100%;
  max-width: 104rem
}

.l-row {
  display: flex;
  flex-direction: column;
  padding: 0;
  width: 100%
}

.l-row.row-wrap {
  flex-wrap: wrap
}

.l-row.row-top {
  align-items: flex-start
}

.l-row.row-bottom {
  align-items: flex-end
}

.l-row.row-center {
  align-items: center
}

.l-row.row-stretch {
  align-items: stretch
}

.l-row.row-baseline {
  align-items: baseline
}

.l-row.row-no-padding {
  padding: 0
}

.l-row.row-no-padding>.column {
  padding: 0
}

.l-row.sp-row {
  flex-direction: row;
  margin-left: -1rem;
  width: calc(100% + 2rem)
}

.l-row.sp-row>.column {
  padding: 0 1rem
}

.l-row .column {
  display: block;
  flex: 1 1 auto;
  margin-left: 0;
  max-width: 100%;
  width: 100%;
  margin-bottom: 2rem
}

.l-row .column.column-top {
  align-self: flex-start
}

.l-row .column.column-bottom {
  align-self: flex-end
}

.l-row .column.column-center {
  align-self: center
}

.l-row .column.column-offset-10 {
  margin-left: 10%
}

.l-row .column.column-offset-20 {
  margin-left: 20%
}

.l-row .column.column-offset-25 {
  margin-left: 25%
}

.l-row .column.column-offset-33,
.l-row .column.column-offset-34 {
  margin-left: 33.3333%
}

.l-row .column.column-offset-50 {
  margin-left: 50%
}

.l-row .column.column-offset-66,
.l-row .column.column-offset-67 {
  margin-left: 66.6666%
}

.l-row .column.column-offset-75 {
  margin-left: 75%
}

.l-row .column.column-offset-80 {
  margin-left: 80%
}

.l-row .column.column-offset-90 {
  margin-left: 90%
}

.l-row .column.column-10 {
  max-width: 10%
}

.l-row .column.column-20 {
  max-width: 20%
}

.l-row .column.column-25 {
  max-width: 25%
}

.l-row .column.column-33,
.l-row .column.column-34 {
  max-width: 33.3333%
}

.l-row .column.column-40 {
  max-width: 40%
}

.l-row .column.column-50 {
  max-width: 50%
}

.l-row .column.column-60 {
  max-width: 60%
}

.l-row .column.column-66,
.l-row .column.column-67 {
  max-width: 66.6666%
}

.l-row .column.column-75 {
  max-width: 75%
}

.l-row .column.column-80 {
  max-width: 80%
}

.l-row .column.column-90 {
  max-width: 90%
}

.c-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 70%
}

.c-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.c-map+p {
  margin-top: 2em
}

.c-map__wide {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 70%
}

.c-map__wide iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

body.scroll .googlemap {
  pointer-events: none
}

.main_visual {
  position: relative;
  margin-bottom: 100px
}

.main_visual .main_visual_slick,
.main_visual .slick-track {
  height: 100% !important
}

.main_visual .slick-track {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto
}

.main_visual .slick-list {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 100%
}

.main_visual .main_visual_slick {
  position: relative;
  margin: 0 auto;
  opacity: 0;
  transition: .1s
}

.main_visual .main_visual_slick.slick-initialized {
  opacity: 1
}

.main_visual .main_visual_slick .slick-slide {
  position: absolute;
  left: -300%;
  right: -300%;
  margin: auto;
  overflow: hidden
}

.main_visual .main_visual_slick .slick-slide img,
.main_visual .main_visual_slick .slick-slide picture {
  position: absolute;
  left: -300%;
  right: -300%;
  margin: auto;
  top: 0;
  width: auto;
  height: 100%
}

.main_visual .main_visual_copy {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  z-index: 10;
  transform: scale(1)
}

.main_visual .main_visual_copy>li {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  opacity: 0;
  transition: opacity 1s
}

.main_visual .main_visual_copy>li img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 33.3333333333%;
  max-width: 400px;
  max-height: 400px;
  z-index: 52
}

.main_visual .main_visual_copy>li.active {
  opacity: 1
}

.main_visual .main_visual_slick {
  padding-top: 47.7302204929%
}

.slick-dots {
  z-index: 55 !important;
  bottom: -50px
}

.slick-dots li button {
  margin: 0 auto;
  background: #ccc
}

.slick-dots li.slick-active button {
  background: #3c9ebc
}

.main_visual .main_visual_swiper {
  opacity: 0;
  transition: .1s
}

.main_visual .main_visual_swiper.swiper-container-initialized {
  opacity: 1
}

.main_visual .main_visual_swiper .swiper-slide {
  position: relative
}

.main_visual .main_visual_swiper .swiper-slide a {
  color: #fff
}

.main_visual .main_visual_swiper .swiper-slide .text_wrapper {
  position: absolute;
  width: 100%;
  bottom: 0;
  background: rgba(0, 0, 0, .2);
  padding: 1em
}

.main_visual .main_visual_swiper .swiper-slide .text_wrapper h3 {
  color: #fff;
  padding: 0;
  margin: 0 0 .5em
}

.main_visual .main_visual_swiper .swiper-slide .text_wrapper h3:after {
  content: none
}

.main_visual .swiper-button-next,
.main_visual .swiper-button-prev {
  background: #3c9ebc;
  color: #fff;
  width: 60px;
  height: 60px
}

.main_visual .swiper-button-next:after,
.main_visual .swiper-button-prev:after {
  font-size: 16px
}

.main_visual .swiper-pagination {
  position: static;
  margin: 1em 0
}

.main_visual .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: #3c9ebc;
  margin: 0 5px;
  outline-color: transparent
}

.c-modal {
  display: none
}

.modaal-wrapper.l-header__tel-modal .modaal-content-container {
  border: 20px solid #5985c4;
  padding: 100px 30px
}

.modaal-wrapper.l-header__tel-modal .modaal-content-container p.title {
  font-size: 35px;
  font-weight: 700;
  text-align: center;
  letter-spacing: .1em
}

.modaal-wrapper.l-header__tel-modal .modaal-content-container a.tel {
  display: table;
  margin: 0 auto;
  font-size: 40px;
  font-weight: 700;
  text-align: center;
  letter-spacing: .1em;
  position: relative;
  padding-left: 50px
}

.modaal-wrapper.l-header__tel-modal .modaal-content-container a.tel:after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 35px;
  height: 35px;
  background: url(/wp-content/uploads/icn-tel.svg) no-repeat center/35px
}

.c-pagetop {
  position: fixed;
  bottom: 20px;
  right: 2%;
  z-index: 5
}

.c-pagetop span {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  display: inline-block;
  position: relative;
  width: 50px;
  height: 50px;
  transition: .2s;
  box-shadow: 0 0 10px rgba(0, 0, 0, .3);
  padding: 0;
  border-radius: 50%;
  background: #d6f6ff;
  border: 1px solid #fff
}

.c-pagetop span:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  width: 12px;
  height: 12px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  transform: translate(-50%, -20%) rotate(45deg);
  transition: .2s
}

.p-news__box {
  padding: 50px 5%;
  background: #d6f6ff;
  border-radius: 30px;
  margin-bottom: 40px;
  position: relative;
  overflow: hidden
}

.p-news__box a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .2s;
  background: #fff;
  opacity: 0
}

.p-news__box a:hover {
  opacity: .25
}

.p-news__box p.date {
  font-size: 18px;
  font-weight: 700;
  display: block;
  margin-bottom: 15px
}

.p-news__box h2 {
  font-size: 24px;
  font-weight: 700
}

.wp-pagenavi {
  margin: 60px auto;
  display: flex;
  align-items: center;
  justify-content: center
}

.wp-pagenavi .page {
  display: inline-block;
  text-align: center;
  width: 42px;
  line-height: 42px;
  border: solid 1px #3c9ebc;
  border-radius: 21px;
  margin: auto 6px;
  transition: .3s ease-out
}

.wp-pagenavi .page:hover {
  border-color: #0066b1;
  color: #fff;
  background: #0066b1
}

.wp-pagenavi .current {
  display: inline-block;
  text-align: center;
  width: 42px;
  line-height: 42px;
  color: #fff;
  background: #3c9ebc;
  border: solid 1px #3c9ebc;
  border-radius: 21px;
  margin: auto 6px
}

.wp-pagenavi .wp-pagenavi .extend,
.wp-pagenavi .wp-pagenavi .first,
.wp-pagenavi .wp-pagenavi .last,
.wp-pagenavi .wp-pagenavi .nextpostslink,
.wp-pagenavi .wp-pagenavi .previouspostslink {
  line-height: 42px;
  margin: auto 8px;
  transition: .3s ease-out
}

.wp-pagenavi .wp-pagenavi .first:hover,
.wp-pagenavi .wp-pagenavi .last:hover,
.wp-pagenavi .wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .wp-pagenavi .previouspostslink:hover {
  color: #13c3ac
}

.p-newsSingle #main {
  padding: 150px 0 300px;
  background: #99c6f7
}

.p-newsSingle #main .p-newsSingle__box p {
  line-height: 1.8
}

.p-newsSingle #main .p-newsSingle__box {
  padding: 50px 5%;
  background: #d8d8d8;
  border-radius: 30px;
  margin-bottom: 40px;
  position: relative;
  overflow: hidden
}

.p-newsSingle #main .p-newsSingle__box p.date {
  font-size: 18px;
  font-weight: 700;
  display: block;
  margin-bottom: 15px
}

.p-newsSingle #main .p-newsSingle__box h2 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 30px
}

.p-newsSingle #main .p-newsSingle__box .text {
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: .02em
}

.news-single-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 20px
}

.news-single-pagination>* {
  width: 33.333%;
  font-weight: 700
}

.news-single-pagination>* a {
  transition: .2s
}

.news-single-pagination>* a:hover {
  opacity: .8
}

.news-single-pagination .prev {
  text-align: left
}

.news-single-pagination .prev a {
  position: relative;
  display: block;
  padding-left: 25px
}

.news-single-pagination .prev a:after {
  content: "";
  width: 13px;
  height: 13px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg) translateY(-50%) scale(-1);
  position: absolute;
  top: 46%;
  left: 0;
  border-radius: 1px;
  transition: .3s ease-in-out;
  animation-name: common-btn-animation;
  animation-delay: 1s
}

.news-single-pagination .center {
  text-align: center
}

.news-single-pagination .next {
  text-align: right;
  padding-right: 25px;
  position: relative
}

.news-single-pagination .next:after {
  content: "";
  width: 13px;
  height: 13px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 46%;
  right: 0;
  border-radius: 1px;
  transition: .3s ease-in-out;
  animation-name: common-btn-animation;
  animation-delay: 1s
}

.post-password-form {
  padding: 50px 5%;
  background: #d8d8d8;
  border-radius: 30px;
  margin-bottom: 40px;
  position: relative;
  overflow: hidden
}

.post-password-form>p+p {
  margin-top: 20px;
  font-weight: 700
}

.post-password-form input[type=password] {
  border: 1px solid #000;
  padding: 5px;
  font-size: 16px;
  width: auto;
  box-sizing: border-box;
  outline: 0
}

.post-password-form input[type=password]:focus {
  border-color: #007bff;
  box-shadow: 0 0 5px rgba(0, 123, 255, .5)
}

.post-password-form input[type=submit] {
  background: #000;
  color: #fff;
  padding: 5px 10px;
  box-sizing: border-box;
  outline: 0;
  font-size: 15px;
  transition: .2s;
  border: 1px solid #000
}

table {
  margin: 0 auto 30px
}

table td,
table th {
  padding: .7em 1em
}

table th {
  text-align: center;
  font-weight: 400
}

.c-table-default {
  width: 100%;
  table-layout: fixed
}

.c-table-default thead td,
.c-table-default thead th {
  background: rgba(60, 158, 188, .15)
}

.c-table-default td,
.c-table-default th {
  border: 1px solid #000
}

.c-table-default th {
  background: #3c9ebc;
  color: #fff
}

.c-table-schedule {
  width: 100%
}

.c-table-schedule td,
.c-table-schedule th {
  border-bottom: 1px solid #3c9ebc;
  padding: 1em .3em;
  text-align: center
}

.c-table-schedule thead tr td,
.c-table-schedule thead tr th {
  font-weight: 400
}

.c-table-schedule tbody tr td {
  color: #3c9ebc;
  font-size: 18px
}

.c-list1 {
  list-style-type: disc;
  margin-left: 1.5em
}

.c-list1 li {
  padding: .3em .3em .3em 0
}

.c-list1 li::marker {
  color: #2589d0;
  font-size: 1.1em
}

.p-contact__box {
  margin-bottom: 150px !important
}

.p-contact__box .post-box1 p {
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
  column-gap: 10px
}

.p-contact__box dl {
  margin-bottom: 20px;
  line-height: 1.5;
  width: 100%
}

.p-contact__box dl dt {
  position: relative;
  width: 40%;
  text-align: left;
  padding: 5px 0 35px 0;
  font-weight: 400
}

.p-contact__box dl dt P {
  position: relative;
  margin: 0
}

.p-contact__box dl dt span {
  position: absolute;
  top: 0;
  right: 20px;
  display: block;
  font-size: 14px;
  color: #e34131
}

.p-contact__box dl dd {
  width: 60%;
  padding: 0 0 30px 0
}

.p-contact__box dl dd input {
  width: 100%;
  height: 40px;
  padding: 0 0 0 10px;
  font-size: 16px
}

.p-contact__box dl dd select {
  width: 288px;
  height: 40px;
  padding: 0 0 0 10px;
  font-size: 16px
}

.p-contact__box dl dd textarea {
  width: 100%;
  height: 200px;
  padding: 10px 0 0 10px;
  font-size: 16px
}

.p-contact__box dl dd .error {
  font-size: 16px;
  color: #e34131;
  border: 1px solid #e34131;
  padding: 5px;
  width: 160px;
  text-align: center;
  margin-top: 10px;
  border-radius: 30px
}

.p-contact__box #privacy {
  text-align: center;
  margin-bottom: 40px
}

.p-contact__box #message {
  display: block;
  text-align: center
}

.send {
  display: block;
  width: 300px;
  padding: 15px 0;
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  background-color: #e34131;
  border: none;
  cursor: pointer;
  transition: .4s;
  text-align: center;
  margin-left: auto;
  margin-right: auto
}

.send:hover {
  transition: .4s;
  background-color: #b61704
}

::-moz-placeholder {
  color: #b4b4b4
}

::placeholder {
  color: #b4b4b4
}

input:focus,
select:checked,
select:focus,
textarea:focus {
  border: 1px solid #000;
  outline: 0
}

input,
select,
textarea {
  font-size: 20px;
  font-weight: 100;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  background-color: #fff;
  border: 1px solid #b4b4b4
}

input[type=text]:focus {
  outline: 0
}

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: transparent
}

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: transparent
}

input:focus::placeholder,
textarea:focus::placeholder {
  color: transparent
}

.disp {
  display: none
}

article .diss {
  display: block
}

article h1 .diss {
  display: none
}

#content .diss {
  display: none
}

#dlbox .diss {
  display: none
}

input[type=button],
input[type=submit] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer
}

input[type=button]::-webkit-search-decoration,
input[type=submit]::-webkit-search-decoration {
  display: none
}

input[type=button]::focus,
input[type=submit]::focus {
  outline-offset: -2px
}

.checkbox01 {
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  appearance: auto !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  font-size: inherit !important;
  margin-right: .5em;
  margin-top: -.2em
}

.wpcf7-list-item {
  margin: 0
}

.wpcf7-not-valid-tip {
  position: absolute
}

.wpcf7-list-item {
  margin: .5rem;
  display: block !important;
  margin-bottom: 20px
}

.wpcf7-list-item input[type=radio] {
  position: absolute;
  opacity: 0;
  width: auto
}

.wpcf7-list-item input[type=radio]+.wpcf7-list-item-label:before {
  content: "";
  background: #f4f4f4;
  border-radius: 100%;
  border: 1px solid #b4b4b4;
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  position: relative;
  top: 4px;
  bottom: 0;
  margin: auto;
  margin-right: 1em;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease
}

.wpcf7-list-item input[type=radio]:checked+.wpcf7-list-item-label:before {
  background-color: #3197ee;
  box-shadow: inset 0 0 0 4px #f4f4f4
}

.wpcf7-list-item input[type=radio]:focus+.wpcf7-list-item-label:before {
  outline: 0;
  border-color: #3197ee
}

.wpcf7-list-item input[type=radio]:disabled+.wpcf7-list-item-label:before {
  box-shadow: inset 0 0 0 4px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4
}

.wpcf7-list-item input[type=radio]+.wpcf7-list-item-label:empty:before {
  margin-right: 0
}

.c-highlight {
  background: #eee;
  border: 1px solid #707070;
  padding: 20px 20px;
  width: 100%;
  height: 100%
}

.u-fw-normal {
  font-weight: 400 !important
}

.p-home .l-row .column {
  margin-bottom: 2em
}

.p-home__intro {
  margin-top: 50px
}

.p-home__intro__bg {
  padding: 50px 0 25px;
  background: linear-gradient(90deg, #3c9ebc 0, #3c9ebc 55%, transparent 55%, transparent 100%);
  margin-bottom: 40px
}

.p-home__intro h2 {
  text-align: left;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 38px;
  color: #fff;
  letter-spacing: .1em;
  line-height: 1.4;
  margin-bottom: 40px
}

.p-home__intro h2 span.large {
  border-bottom: 1px solid #fff;
  display: block;
  padding-bottom: 5px
}

.p-home__intro h2 span.small {
  margin-top: .7em;
  font-size: 53%;
  display: block
}

.p-home__intro__content__bnr {
  display: block;
  position: relative;
  aspect-ratio: 590/365;
  display: flex;
  align-items: flex-end;
  padding: 25px;
  transition: .4s;
  overflow: hidden
}

.p-home__intro__content__bnr__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  transition: .4s
}

.p-home__intro__content__bnr__img img {
  pointer-events: none;
  opacity: 1 !important
}

.p-home__intro__content__bnr__title {
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 16px;
  font-size: clamp(14px, 2.7118644068vw, 16px);
  letter-spacing: .035em;
  line-height: 1.8
}

.p-home__intro__content__bnr__title__text {
  display: block;
  min-height: 3.4em;
  text-align: justify
}

.p-home__intro__content__bnr__title__sub {
  line-height: 1.4;
  display: table;
  font-size: 24px;
  margin-bottom: 10px;
  padding-right: 2.2em;
  position: relative
}

.p-home__intro__content__bnr__title__sub:after {
  content: "";
  position: absolute;
  display: block;
  transition: all .5s;
  right: 1em;
  top: 0;
  bottom: 0;
  margin: auto;
  opacity: 1;
  width: 20px;
  aspect-ratio: 15/8;
  background: url(/wp-content/uploads/icn-arrow_right__inversion.svg) no-repeat center/20px
}

.p-home__intro__content__bnr:hover {
  background: red
}

.p-home__intro__content__bnr:hover .p-home__intro__content__bnr__img {
  transition: .4s;
  transform: scale(1.2)
}

.p-home__about {
  padding: 100px 0 150px
}

.p-home__about h2 {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  display: table;
  max-width: 388px;
  width: 100%;
  font-size: 38px;
  letter-spacing: .1em;
  line-height: 1.4;
  margin-bottom: 40px
}

.p-home__about h2 span.large {
  border-bottom: 1px solid #3c9ebc;
  display: block;
  padding-bottom: 5px
}

.p-home__about h2 span.small {
  margin-top: .7em;
  font-size: 53%;
  display: block
}

.p-home__about p {
  font-size: 16px;
  letter-spacing: .035em;
  line-height: 1.9;
  margin-bottom: 1.5em
}

.p-home__about__btn {
  margin-top: 90px
}

.p-home__about__btn__button {
  margin-bottom: 0
}

.p-home__about__btn__button>a {
  background-color: #3c9ebc;
  display: block;
  border: 1px solid #3c9ebc;
  color: #fff !important;
  border-radius: 50px;
  position: relative;
  text-align: center;
  margin: 0 auto;
  max-width: 250px;
  padding: 23px 30px;
  transition: .5s ease-in-out;
  overflow: hidden;
  z-index: 2;
  border-color: #d6d6d6;
  max-width: 100%;
  height: 137px;
  border-radius: 0;
  text-align: left;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  font-size: 24px;
  line-height: 1.4
}

.p-home__about__btn__button>a span {
  display: table
}

.p-home__about__btn__button>a span span {
  margin-bottom: .3em;
  font-size: 18px
}

.p-home__about__btn__button>a>span {
  padding-right: 2.5em;
  position: relative
}

.p-home__about__btn__button>a>span:after {
  content: "";
  position: absolute;
  display: block;
  transition: all .5s;
  right: 1em;
  top: 50%;
  bottom: 0;
  margin: auto;
  opacity: 1;
  width: 24px;
  aspect-ratio: 15/8;
  background: url(/wp-content/uploads/icn-arrow_right__inversion.svg) no-repeat center/24px
}

.p-home__about__btn__button>a:before {
  content: "";
  position: absolute;
  display: block;
  transition: all .5s;
  right: 2em;
  top: 50%
}

.p-home__about__btn__button>a:before {
  position: absolute;
  content: "";
  top: 0;
  left: calc(-100% - 150px);
  z-index: 1;
  width: calc(100% + 150px);
  height: 100%;
  background-color: #368ea9;
  transition: left .5s;
  clip-path: polygon(0 100%, 0 0, 100% 0, 80% 100%);
  z-index: -1
}

.p-home__about__btn__button>a:hover {
  background-color: #368ea9;
  color: #fff
}

.p-home__about__btn__button>a:hover:before {
  left: 0
}

.p-home__about__btn__button>a:hover:after {
  background: url(/wp-content/uploads/icn-arrow_right__inversion.svg) no-repeat center/15px;
  right: 1.5em
}

.p-home__news {
  background: #d6f6ff;
  padding: 60px 0 100px
}

.p-home__news h2 {
  font-size: 38px;
  letter-spacing: .1em;
  line-height: 1.4;
  margin-bottom: 56px
}

.p-home__news h2 span {
  margin-top: .8em;
  display: block;
  font-size: 53%
}

.p-home__news__list {
  background: #fff;
  padding: 40px 50px
}

.p-home__news__list dl {
  display: block;
  width: 100%
}

.p-home__news__list dl dd,
.p-home__news__list dl dt {
  font-size: 17px;
  letter-spacing: .035em;
  margin-bottom: 20px
}

.p-home__news__list dl dd:last-child,
.p-home__news__list dl dt:last-child {
  margin-bottom: 0
}

.p-home__news__list dl dd a,
.p-home__news__list dl dt a {
  transition: .2s
}

.p-home__news__list dl dd a:hover,
.p-home__news__list dl dt a:hover {
  color: #3c9ebc
}

.p-home__news__list dl dt {
  font-weight: 400
}

.u-text-center {
  text-align: center !important
}

.u-text-left {
  text-align: left !important
}

.u-text-right {
  text-align: right !important
}

.u-flex-all-center {
  align-items: center;
  justify-content: center
}

.u-pt-0 {
  padding-top: 0 !important
}

.c-pagetitle {
  background: url(/wp-content/uploads/bg-h1.jpg) no-repeat center top/cover;
  margin-bottom: 150px;
  height: 150px;
  z-index: 1;
  position: relative
}

.c-h1 {
  text-align: left;
  font-size: 38px;
  color: inherit;
  margin: 0 auto;
  min-width: 512px;
  position: absolute;
  bottom: 0;
  left: 11.5%;
  bottom: -10%;
  color: #fff;
  background: #0096c4;
  padding: 30px;
  font-weight: 400;
  padding: .8em 1em;
  width: clamp(20px, 5.5208333333vw, 106px);
  position: relative;
  margin-left: 0;
  position: static;
  transform: translateY(110px)
}

.c-h1 span {
  display: block;
  font-size: 16px;
  padding-top: .5em;
  font-style: italic
}

.c-h1 a {
  text-decoration: none
}

.c-h1 a:hover {
  text-decoration: underline
}

.c-h2 {
  color: inherit;
  font-weight: 700;
  font-size: 32px;
  text-align: left;
  margin-bottom: 30px;
  letter-spacing: .1em
}

.c-h3 {
  color: inherit;
  font-weight: 700;
  font-size: 30px;
  text-align: left;
  margin-bottom: 25px;
  letter-spacing: .1em
}

.c-h4 {
  color: inherit;
  font-weight: 700;
  font-size: 24px;
  text-align: left;
  margin-bottom: 15px;
  letter-spacing: .1em
}

.is-bold,
b,
strong {
  font-weight: 700
}

.c-marker {
  display: inline-block;
  padding: 0 2em 0 1em;
  line-height: 1.5
}

.c-marker+.c-marker {
  margin-top: .5em
}

.c-list__check li {
  position: relative;
  padding-left: 15px
}

.c-list__check li::after {
  content: "";
  position: absolute;
  top: .5em;
  left: 0;
  transform: rotate(50deg);
  width: 5px;
  height: 10px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000
}

.u-mt-0 {
  margin-top: 0 !important
}

.u-mb-0 {
  margin-bottom: 0 !important
}

.u-ml-0 {
  margin-left: 0 !important
}

.u-mr-0 {
  margin-right: 0 !important
}

.u-mt-1 {
  margin-top: 1em !important
}

.u-mb-1 {
  margin-bottom: 1em !important
}

.u-ml-1 {
  margin-left: 1em !important
}

.u-mr-1 {
  margin-right: 1em !important
}

.u-mt-2 {
  margin-top: 2em !important
}

.u-mb-2 {
  margin-bottom: 2em !important
}

.u-ml-2 {
  margin-left: 2em !important
}

.u-mr-2 {
  margin-right: 2em !important
}

.u-mt-3 {
  margin-top: 3em !important
}

.u-mb-3 {
  margin-bottom: 3em !important
}

.u-ml-3 {
  margin-left: 3em !important
}

.u-mr-3 {
  margin-right: 3em !important
}

.u-mt-4 {
  margin-top: 4em !important
}

.u-mb-4 {
  margin-bottom: 4em !important
}

.u-ml-4 {
  margin-left: 4em !important
}

.u-mr-4 {
  margin-right: 4em !important
}

.u-mt-5 {
  margin-top: 5em !important
}

.u-mb-5 {
  margin-bottom: 5em !important
}

.u-ml-5 {
  margin-left: 5em !important
}

.u-mr-5 {
  margin-right: 5em !important
}

.u-mt-6 {
  margin-top: 6em !important
}

.u-mb-6 {
  margin-bottom: 6em !important
}

.u-ml-6 {
  margin-left: 6em !important
}

.u-mr-6 {
  margin-right: 6em !important
}

.u-mt-7 {
  margin-top: 7em !important
}

.u-mb-7 {
  margin-bottom: 7em !important
}

.u-ml-7 {
  margin-left: 7em !important
}

.u-mr-7 {
  margin-right: 7em !important
}

.u-mt-8 {
  margin-top: 8em !important
}

.u-mb-8 {
  margin-bottom: 8em !important
}

.u-ml-8 {
  margin-left: 8em !important
}

.u-mr-8 {
  margin-right: 8em !important
}

.u-mt-9 {
  margin-top: 9em !important
}

.u-mb-9 {
  margin-bottom: 9em !important
}

.u-ml-9 {
  margin-left: 9em !important
}

.u-mr-9 {
  margin-right: 9em !important
}

.u-mt-10 {
  margin-top: 10em !important
}

.u-mb-10 {
  margin-bottom: 10em !important
}

.u-ml-10 {
  margin-left: 10em !important
}

.u-mr-10 {
  margin-right: 10em !important
}

.u-mt-11 {
  margin-top: 11em !important
}

.u-mb-11 {
  margin-bottom: 11em !important
}

.u-ml-11 {
  margin-left: 11em !important
}

.u-mr-11 {
  margin-right: 11em !important
}

.u-mt-12 {
  margin-top: 12em !important
}

.u-mb-12 {
  margin-bottom: 12em !important
}

.u-ml-12 {
  margin-left: 12em !important
}

.u-mr-12 {
  margin-right: 12em !important
}

.u-mt-13 {
  margin-top: 13em !important
}

.u-mb-13 {
  margin-bottom: 13em !important
}

.u-ml-13 {
  margin-left: 13em !important
}

.u-mr-13 {
  margin-right: 13em !important
}

.u-mt-14 {
  margin-top: 14em !important
}

.u-mb-14 {
  margin-bottom: 14em !important
}

.u-ml-14 {
  margin-left: 14em !important
}

.u-mr-14 {
  margin-right: 14em !important
}

.u-mt-15 {
  margin-top: 15em !important
}

.u-mb-15 {
  margin-bottom: 15em !important
}

.u-ml-15 {
  margin-left: 15em !important
}

.u-mr-15 {
  margin-right: 15em !important
}

.u-mt-16 {
  margin-top: 16em !important
}

.u-mb-16 {
  margin-bottom: 16em !important
}

.u-ml-16 {
  margin-left: 16em !important
}

.u-mr-16 {
  margin-right: 16em !important
}

.u-mt-17 {
  margin-top: 17em !important
}

.u-mb-17 {
  margin-bottom: 17em !important
}

.u-ml-17 {
  margin-left: 17em !important
}

.u-mr-17 {
  margin-right: 17em !important
}

.u-mt-18 {
  margin-top: 18em !important
}

.u-mb-18 {
  margin-bottom: 18em !important
}

.u-ml-18 {
  margin-left: 18em !important
}

.u-mr-18 {
  margin-right: 18em !important
}

.u-mt-19 {
  margin-top: 19em !important
}

.u-mb-19 {
  margin-bottom: 19em !important
}

.u-ml-19 {
  margin-left: 19em !important
}

.u-mr-19 {
  margin-right: 19em !important
}

.u-mt-20 {
  margin-top: 20em !important
}

.u-mb-20 {
  margin-bottom: 20em !important
}

.u-ml-20 {
  margin-left: 20em !important
}

.u-mr-20 {
  margin-right: 20em !important
}

.u-pt-0 {
  margin-top: 0 !important
}

.u-pb-0 {
  margin-top: 0 !important
}

.u-pl-0 {
  margin-top: 0 !important
}

.u-pr-0 {
  margin-top: 0 !important
}

.u-pt-1 {
  margin-top: 1em !important
}

.u-pb-1 {
  margin-top: 1em !important
}

.u-pl-1 {
  margin-top: 1em !important
}

.u-pr-1 {
  margin-top: 1em !important
}

.u-pt-2 {
  margin-top: 2em !important
}

.u-pb-2 {
  margin-top: 2em !important
}

.u-pl-2 {
  margin-top: 2em !important
}

.u-pr-2 {
  margin-top: 2em !important
}

.u-pt-3 {
  margin-top: 3em !important
}

.u-pb-3 {
  margin-top: 3em !important
}

.u-pl-3 {
  margin-top: 3em !important
}

.u-pr-3 {
  margin-top: 3em !important
}

.u-pt-4 {
  margin-top: 4em !important
}

.u-pb-4 {
  margin-top: 4em !important
}

.u-pl-4 {
  margin-top: 4em !important
}

.u-pr-4 {
  margin-top: 4em !important
}

.u-pt-5 {
  margin-top: 5em !important
}

.u-pb-5 {
  margin-top: 5em !important
}

.u-pl-5 {
  margin-top: 5em !important
}

.u-pr-5 {
  margin-top: 5em !important
}

.u-pt-6 {
  margin-top: 6em !important
}

.u-pb-6 {
  margin-top: 6em !important
}

.u-pl-6 {
  margin-top: 6em !important
}

.u-pr-6 {
  margin-top: 6em !important
}

.u-pt-7 {
  margin-top: 7em !important
}

.u-pb-7 {
  margin-top: 7em !important
}

.u-pl-7 {
  margin-top: 7em !important
}

.u-pr-7 {
  margin-top: 7em !important
}

.u-pt-8 {
  margin-top: 8em !important
}

.u-pb-8 {
  margin-top: 8em !important
}

.u-pl-8 {
  margin-top: 8em !important
}

.u-pr-8 {
  margin-top: 8em !important
}

.u-pt-9 {
  margin-top: 9em !important
}

.u-pb-9 {
  margin-top: 9em !important
}

.u-pl-9 {
  margin-top: 9em !important
}

.u-pr-9 {
  margin-top: 9em !important
}

.u-pt-10 {
  margin-top: 10em !important
}

.u-pb-10 {
  margin-top: 10em !important
}

.u-pl-10 {
  margin-top: 10em !important
}

.u-pr-10 {
  margin-top: 10em !important
}

.u-pt-11 {
  margin-top: 11em !important
}

.u-pb-11 {
  margin-top: 11em !important
}

.u-pl-11 {
  margin-top: 11em !important
}

.u-pr-11 {
  margin-top: 11em !important
}

.u-pt-12 {
  margin-top: 12em !important
}

.u-pb-12 {
  margin-top: 12em !important
}

.u-pl-12 {
  margin-top: 12em !important
}

.u-pr-12 {
  margin-top: 12em !important
}

.u-pt-13 {
  margin-top: 13em !important
}

.u-pb-13 {
  margin-top: 13em !important
}

.u-pl-13 {
  margin-top: 13em !important
}

.u-pr-13 {
  margin-top: 13em !important
}

.u-pt-14 {
  margin-top: 14em !important
}

.u-pb-14 {
  margin-top: 14em !important
}

.u-pl-14 {
  margin-top: 14em !important
}

.u-pr-14 {
  margin-top: 14em !important
}

.u-pt-15 {
  margin-top: 15em !important
}

.u-pb-15 {
  margin-top: 15em !important
}

.u-pl-15 {
  margin-top: 15em !important
}

.u-pr-15 {
  margin-top: 15em !important
}

.u-pt-16 {
  margin-top: 16em !important
}

.u-pb-16 {
  margin-top: 16em !important
}

.u-pl-16 {
  margin-top: 16em !important
}

.u-pr-16 {
  margin-top: 16em !important
}

.u-pt-17 {
  margin-top: 17em !important
}

.u-pb-17 {
  margin-top: 17em !important
}

.u-pl-17 {
  margin-top: 17em !important
}

.u-pr-17 {
  margin-top: 17em !important
}

.u-pt-18 {
  margin-top: 18em !important
}

.u-pb-18 {
  margin-top: 18em !important
}

.u-pl-18 {
  margin-top: 18em !important
}

.u-pr-18 {
  margin-top: 18em !important
}

.u-pt-19 {
  margin-top: 19em !important
}

.u-pb-19 {
  margin-top: 19em !important
}

.u-pl-19 {
  margin-top: 19em !important
}

.u-pr-19 {
  margin-top: 19em !important
}

.u-pt-20 {
  margin-top: 20em !important
}

.u-pb-20 {
  margin-top: 20em !important
}

.u-pl-20 {
  margin-top: 20em !important
}

.u-pr-20 {
  margin-top: 20em !important
}

.u-box-size-100 {
  margin-left: auto;
  margin-right: auto;
  max-width: 100px !important;
  width: 100%
}

.u-box-size-200 {
  margin-left: auto;
  margin-right: auto;
  max-width: 200px !important;
  width: 100%
}

.u-box-size-300 {
  margin-left: auto;
  margin-right: auto;
  max-width: 300px !important;
  width: 100%
}

.u-box-size-400 {
  margin-left: auto;
  margin-right: auto;
  max-width: 400px !important;
  width: 100%
}

.u-box-size-500 {
  margin-left: auto;
  margin-right: auto;
  max-width: 500px !important;
  width: 100%
}

.u-box-size-600 {
  margin-left: auto;
  margin-right: auto;
  max-width: 600px !important;
  width: 100%
}

.u-box-size-700 {
  margin-left: auto;
  margin-right: auto;
  max-width: 700px !important;
  width: 100%
}

.u-box-size-800 {
  margin-left: auto;
  margin-right: auto;
  max-width: 800px !important;
  width: 100%
}

.u-box-size-900 {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px !important;
  width: 100%
}

.u-box-size-1000 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px !important;
  width: 100%
}

.u-box-border {
  border: 3px solid #5985c4;
  padding: 50px 20px
}

.u-under-line {
  text-decoration: underline !important
}

.u-primary-color-text {
  color: #3c9ebc
}

.u-primary-color-text2 {
  color: #5985c4
}

.u-text-bold {
  font-weight: 700
}

.u-text-red {
  color: #c71d32
}

@media (min-width:768px) {
  .l-footer__map {
    height: 100%
  }

  .l-header__conversion__content ul li a:hover {
    color: #1a1311
  }

  .l-header__conversion__content ul li a:hover:after {
    left: 0
  }

  .l-header__conversion__content ul li a:hover span:after {
    right: 0;
    background: url(/wp-content/uploads/icn-arrow_right.svg) no-repeat center
  }

  .l-row.is-reverse>:nth-child(1) {
    order: 2
  }

  .l-row.is-reverse>:nth-child(2) {
    order: 1
  }

  .l-row.is-reverse>:nth-child(3) {
    order: 3
  }

  .l-row.row-reverse {
    flex-direction: row-reverse
  }

  .l-row {
    flex-direction: row;
    margin-left: -1rem;
    width: calc(100% + 2rem)
  }

  .l-row>.column {
    padding: 0 1rem
  }

  .c-pagetop span {
    width: 70px;
    height: 70px
  }

  .c-pagetop span:hover {
    opacity: .7
  }

  .p-contact__box dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }

  .p-contact__box dl dd,
  .p-contact__box dl dt {
    padding: 40px 0
  }

  .p-contact__box dl dd:not(:last-of-type),
  .p-contact__box dl dt:not(:last-of-type) {
    border-bottom: 1px solid #ccc
  }

  .p-contact__box dl dt {
    padding-right: 2em
  }

  .p-home__news__list dl dt {
    float: left
  }

  .p-home__news__list dl dd {
    margin-left: 130px
  }

  .u-pc-hide,
  .u-sp-only {
    display: none !important
  }

  .u-pc-text-center {
    text-align: center !important
  }

  .u-pc-text-left {
    text-align: left !important
  }

  .u-pc-text-right {
    text-align: right !important
  }
}

@media (min-width:900px) {
  .l-header {
    height: 79px
  }

  .l-header__navwrapper {
    margin-right: 140px
  }

  .l-header__outer .menu-item-has-children {
    padding-right: 17px !important
  }

  .l-header__outer .menu-item-has-children:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    margin: auto;
    transform: translate(0, -50%) rotate(135deg);
    transition: .2s;
    width: 8px;
    height: 8px;
    border-top: 2px solid #000;
    border-right: 2px solid #000
  }

  .l-header__outer .menu-item-has-children ul {
    transition: all .2s;
    position: absolute;
    right: 50%;
    transform: translateX(50%);
    top: 30px;
    margin: auto;
    z-index: 4;
    color: #fff;
    background: #0b4da2;
    width: 180px;
    visibility: hidden;
    opacity: 0;
    transition: all .2s
  }

  .l-header__outer .menu-item-has-children ul li a:hover {
    background: #72bcd2
  }

  .l-header__nav {
    align-items: center;
    display: flex;
    justify-content: space-between
  }

  .l-header__nav>li {
    margin-right: 2em;
    transition: .3s
  }

  .l-header__nav>li:last-child {
    padding-left: 0;
    padding-right: 0
  }

  .l-header__nav>li.is-current>a {
    color: #3c9ebc
  }

  .l-header__nav>li>a:after {
    position: absolute;
    content: "";
    display: block;
    height: 3px;
    background-color: #3c9ebc;
    bottom: -15px;
    left: 0;
    width: 0;
    transition: .2s ease
  }

  .l-header__nav>li>a:hover {
    color: #3c9ebc
  }

  .l-header__nav>li>a:hover:after {
    width: 100%
  }

  .c-pagetitle {
    height: 284px
  }

  .c-h1 {
    transform: translateY(180px)
  }
}

@media (min-width:1024px) {
  .u-tablet-only {
    display: none !important
  }
}

@media screen and (max-width:1350px) {
  #head nav ul li a {
    font-size: 16px
  }

  #content {
    max-width: 990px
  }

  #splash #catch,
  #splash #news {
    width: 960px
  }

  #copy {
    width: 960px
  }

  #related ul,
  footer ul {
    width: 990px
  }

  #casestudy ul li {
    width: 465px
  }
}

@media (max-width:1000px) {
  .p-home__intro__content .l-row .column {
    max-width: 590px;
    margin-left: auto;
    margin-right: auto
  }
}

@media (max-width:899px) {
  .is-under .l-header__logo a h1 img {
    width: 55%
  }

  .l-header__container {
    padding: 0 3%;
    height: 60px
  }

  .l-header__logo {
    width: 55px;
    margin-left: 0
  }

  .l-header__logo img {
    max-width: 80%
  }

  .l-header__outer .menu-item-has-children>a:after {
    transform: translate(0, -50%) rotate(135deg);
    top: 0
  }

  .l-header__outer .menu-item-has-children.active>a:after {
    transform: translate(0, calc(-50% + 4px)) rotate(-45deg);
    top: 0
  }

  .l-header__outer .menu-item-has-children ul {
    display: none
  }

  .l-header__outer .menu-item-has-children ul li a {
    padding: 1em 1.5em 1em 1.8em;
    border-color: #fff;
    color: #fff;
    background: #2e86ff;
    font-size: 16px;
    position: relative;
    text-align: left
  }

  .l-header__outer .menu-item-has-children ul li a:before {
    content: "";
    display: block;
    position: absolute;
    width: 7px;
    height: 2px;
    top: 50%;
    right: auto;
    left: 1em;
    margin: auto;
    background: #fff
  }

  .l-header__outer {
    z-index: 11;
    position: absolute;
    top: 60px;
    bottom: 0;
    right: -100%;
    visibility: hidden;
    opacity: 0;
    height: calc(100dvh - 60px);
    padding: 0;
    width: 60%;
    background: #3c9ebc;
    transition: all .6s;
    overflow-y: auto;
    padding-bottom: 150px
  }

  .l-header__nav>li {
    z-index: 11;
    position: relative;
    width: 100%;
    margin-bottom: 0
  }

  .l-header__nav>li>a {
    padding: 1.3em 1.5em 1.3em 1em;
    display: flex;
    align-items: center;
    height: 100%;
    border-bottom: 1px solid #fff;
    color: #fff
  }

  .l-header__nav>li>a:after {
    position: absolute;
    content: "";
    right: 1.5em;
    top: 0;
    bottom: 0;
    margin: auto;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    display: inline-block;
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    transition: .2s
  }

  .l-header__toggle {
    display: block;
    background: #3c9ebc;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transition: .5s
  }

  .l-header__toggle>span {
    display: inline-block;
    transition: .35s;
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    height: 3px;
    width: 30px;
    border-radius: 2px;
    background: #fff;
    width: 30px
  }

  .l-header__toggle>span:nth-of-type(1) {
    top: 20px
  }

  .l-header__toggle>span:nth-of-type(2) {
    top: 30px
  }

  .l-header__toggle>span:nth-of-type(3) {
    top: 39px
  }

  .l-header__toggle.is-active {
    z-index: 12
  }

  .l-header__toggle.is-active>span:nth-of-type(1) {
    top: 22px;
    transform: translateY(7px) rotate(45deg);
    width: 30px
  }

  .l-header__toggle.is-active>span:nth-of-type(2) {
    top: 22px;
    transform: translateY(7px) rotate(-45deg);
    width: 30px
  }

  .l-header__toggle.is-active>span:nth-of-type(3) {
    display: none
  }

  .l-header__conversion {
    display: none
  }

  .c-pagetitle {
    margin-bottom: 70px
  }

  .c-h1 {
    left: 3%;
    bottom: -20%;
    padding: .6em .8em;
    width: 250px;
    min-width: auto;
    font-size: 24px
  }
}

@media (max-width:768px) {
  .main_visual .main_visual_copy>li img {
    width: 90%
  }
}

@media (max-width:767px) {
  body {
    font-size: 14px
  }

  section {
    margin-bottom: 50px
  }

  .l-footer {
    padding-top: 50px;
    margin-top: 50px
  }

  .l-footer {
    padding-top: 50px
  }

  .l-footer__logo {
    margin-bottom: 20px;
    text-align: center
  }

  .l-footer__copylight {
    margin-top: 50px
  }

  .l-footer__copylight p {
    font-size: 14px;
    margin-top: 10px
  }

  .l-footer__map {
    padding-top: 90%
  }

  .is-under .l-header__logo a {
    width: 80px
  }

  .l-row.sp-row-flex-half {
    flex-wrap: wrap
  }

  .l-row.sp-row-flex-half>.column {
    max-width: 50% !important;
    margin-bottom: 2rem;
    padding: 0 1rem
  }

  .l-row .column {
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 2rem
  }

  .main_visual .main_visual_copy>li img {
    width: 90%
  }

  .main_visual .main_visual_slick {
    padding-top: 148.3720930233%
  }

  .main_visual .swiper-button-next,
  .main_visual .swiper-button-prev {
    width: 40px;
    height: 40px
  }

  .main_visual .swiper-button-next:after,
  .main_visual .swiper-button-prev:after {
    font-size: 14px
  }

  .main_visual .swiper-button-prev {
    left: 0
  }

  .main_visual .swiper-button-next {
    right: 0
  }

  .c-pagetop {
    bottom: 10dvh
  }

  table td,
  table th {
    padding: .7em .3em
  }

  .c-table-schedule td,
  .c-table-schedule th {
    padding: .7em .3em
  }

  .responsive-stack {
    display: block
  }

  .responsive-stack thead {
    display: none
  }

  .responsive-stack tbody,
  .responsive-stack td,
  .responsive-stack th,
  .responsive-stack tr {
    display: block
  }

  .responsive-stack td,
  .responsive-stack th {
    width: 100% !important
  }

  .responsive-stack tr:not(:last-child) td,
  .responsive-stack tr:not(:last-child) th {
    border-bottom: 0
  }

  .responsive-stack tr:last-child :not(:last-child) {
    border-bottom: 0
  }

  .p-contact__box {
    margin-bottom: 100px !important
  }

  .p-contact__box dl dt {
    padding-bottom: 15px;
    width: 100%
  }

  .p-contact__box dl dt span {
    position: static;
    display: inline-block;
    padding-left: 1em
  }

  .p-contact__box dl dd {
    width: 100%;
    padding: 0 0 10px 0
  }

  .p-contact__box dl dd select {
    width: 100%
  }

  .send {
    width: 100%;
    padding: 10px 0;
    font-size: 16px
  }

  .wpcf7-list-item {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center
  }

  .c-highlight {
    padding: 5%
  }

  .p-home__intro__bg {
    background: linear-gradient(90deg, #3c9ebc 0, #3c9ebc 75%, transparent 75%, transparent 100%)
  }

  .p-home__intro h2 {
    margin-bottom: 30px;
    font-size: 30px
  }

  .p-home__intro__content__bnr {
    padding: 5% 5%;
    align-items: flex-start
  }

  .p-home__intro__content__bnr__title {
    font-size: 14px;
    height: 100%
  }

  .p-home__intro__content__bnr__title__sub {
    font-size: 22px
  }

  .p-home__about {
    padding: 40px 0
  }

  .p-home__about h2 {
    margin-bottom: 30px;
    font-size: 30px
  }

  .p-home__about__btn {
    margin-top: 45px
  }

  .p-home__about__btn__button>a {
    height: 110px;
    font-size: 20px
  }

  .p-home__about__btn__button>a span span {
    font-size: 14px
  }

  .p-home__news {
    padding: 40px 0 60px
  }

  .p-home__news h2 {
    margin-bottom: 30px;
    font-size: 30px
  }

  .p-home__news__list {
    padding: 30px 6%
  }

  .p-home__news__list dl dd,
  .p-home__news__list dl dt {
    display: block
  }

  .p-home__news__list dl dt {
    margin-bottom: 10px
  }

  .u-pc-only,
  .u-sp-hide,
  .u-tablet-only {
    display: none !important
  }

  .u-sp-text-center {
    text-align: center !important
  }

  .u-sp-text-left {
    text-align: left !important
  }

  .u-sp-text-right {
    text-align: right !important
  }

  .c-h1 {
    font-size: 24px
  }

  .c-h1 span {
    font-size: 14px
  }

  .c-h2 {
    font-size: 25px;
    margin-bottom: 30px
  }

  .c-h3 {
    font-size: 25px;
    margin-bottom: 20px
  }

  .c-h4 {
    font-size: 20px;
    margin-bottom: 20px
  }

  .c-marker {
    padding: .2em 2em .2em 1em
  }

  .u-box-border {
    padding: 10% 5%
  }
}

@media (min-width:900px) and (max-width:1880px) {
  .l-header__outer .menu-item-has-children ul {
    right: -30px;
    transform: none
  }
}

@media (min-width:900px) and (max-width:1400px) {
  .l-header__outer .menu-item-has-children ul {
    width: 150px
  }
}

@media (min-width:900px) and (max-width:899px) {
  .l-header__nav li {
    margin: 0 1%
  }

  .l-header__nav>li {
    padding: 0 !important
  }
}

@media (min-width:900px) and (max-width:1580px) {
  .l-header__nav>li {
    padding: 0 .6em 0 0
  }
}

@media (min-width:768px) and (max-width:1023px) {
  .u-tablet-hide {
    display: none !important
  }
}

@media (min-width:900px) and (max-width:1200px) {
  .c-pagetitle {
    height: 250px
  }

  .c-h1 {
    padding: .8em 1em;
    min-width: 50%;
    font-size: 24px;
    transform: translateY(210px)
  }
}

@media all and (-ms-high-contrast:none) {

  input,
  select,
  textarea {
    font-size: 20px;
    font-family: "ãƒ¡ã‚¤ãƒªã‚ª", Meiryo, "æ¸¸ã‚´ã‚·ãƒƒã‚¯", YuGothic, "ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ Pro W3", "Hiragino Kaku Gothic Pro", "ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯", "MS PGothic", sans-serif;
    background-color: #fff;
    border: 1px solid #b4b4b4
  }
}

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