@charset "UTF-8";

/* ==== root ========================== */
:root {
  --color-black: #555555;
  --color-white: #fff;
  --color-navy: #485E87;
  --color-bgBlue: #EFF3F5;

  --zen-mincho: "Zen Old Mincho", serif;
  --zen-kaku: "Zen Kaku Gothic New", sans-serif;

  --medium: 500;
  --regular: 400;

  --fs-35: 2.33em;
  --fs-13: 0.866em;
  --fs-12: 0.8em;

  --l-100: 6.66em;
  --l-80: 5.33em;
  --l-75: 5em;
  --l-70: 4.66em;
  --l-60: 4em;
  --l-50: 3.33em;
  --l-40: 2.66em;
  --l-30: 2em;
  --l-25: 1.66em;
  --l-20: 1.33em;
  --l-10: 0.66em;

  --max-wid: 2000px;

  --header: clamp(0.1rem, 5.13vw, 20rem);
  scroll-padding: var(--header);
}

@media screen and (max-width:767px) {
  :root {
    --fs-35: 2.5em;
    --fs-13: 0.928em;
    --fs-12: 0.85em;

    --l-100: 7.12em;
    --l-75: 5.35em;
    --l-70: 5em;
    --l-60: 4.28em;
    --l-50: 3.57em;
    --l-40: 2.85em;
    --l-30: 2.14em;
    --l-25: 1.78em;
    --l-20: 1.42em;
    --l-10: 0.71em;

    --header: 16.53vw;
    scroll-padding: var(--header);
  }
}

/*================================================
 *  一般・共通設定
 ================================================*/
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  box-sizing: border-box;
}

body {
  font-family: var(--zen-kaku);
  background: var(--color-white);
  color: var(--color-black);
  /* basefont-size 15px 1366px */
  font-size: clamp(0.8rem, 1.098vw, 2rem);
  font-weight: var(--medium);
  letter-spacing: 0;
}

body.hidden {
  overflow: hidden;
}

.wrap {
  width: 80.52%;
  max-width: 1600px;
  margin: 0 auto;
}

.narrow {
  width: 73.2%;
  max-width: 1500px;
  margin: 0 auto;
}


a {
  color: var(--color-black);
  text-decoration: none;
  transition: all .4s;
  display: block;
}

a:hover {
  opacity: 1;
}

p {
  line-height: 2;
}

img {
  max-width: 100%;
  display: block;
}

strong {
  font-weight: bold;
}

small {
  font-size: smaller;
}

ul,
ol,
dl {
  margin: 0;
}

ul li {
  list-style: none;
}

ol li {
  list-style: decimal;
}

li {
  margin-left: 0;
}



@media screen and (max-width:767px) {
  body {
    /* basefont-size 14px 393px */
    font-size: 3.562vw;
  }

  .wrap,
  .narrow {
    width: 90.84%;
  }
}

/*================================================
 *  header / ヘッダー
 ================================================*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: all .2s;

  -webkit-backdrop-filter: blur(27px);
  backdrop-filter: blur(27px);
  backdrop-filter: blur(27px) brightness(1.34);
  -webkit-backdrop-filter: blur(27px) brightness(1.34);
  background-color: rgb(255 255 255 / 52%);
}

/* nav__left */
header .nav__left {
  padding: 0.33em 0 var(--l-10) 1em;
  margin-right: auto;
}

header .nav__left h1 {
  width: 13.66em;
}

/* nav__center */
.nav__center {
  margin-right: 11.66em;
}

.nav__center--top,
.nav__center--under {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.nav__center--top li {
  margin-bottom: 0.54em;
  margin-left: var(--l-25);
}

.nav__center--top li a {
  font-size: var(--fs-13);
}

.nav__center--under li a {
  padding: 0 1em;
  border-left: 1px solid var(--color-navy);
}

.nav__center--under li:first-child a {
  border-left: none;
}

.nav__center--under li:last-child a {
  padding-right: 0;
}

/* hamburger */
.hamburger {
  position: fixed;
  right: 3em;
  top: 1.2em;
  width: 3.8em;
  height: 2.06em;
  cursor: pointer;
  z-index: 300;
}

/* line open */
.hamburger__line {
  position: absolute;
  left: 0px;
  width: 100%;
  height: 0.2em;
  background-color: var(--color-navy);
  transition: all .2s ease-out;
  border-radius: var(--l-10);
}

.hamburger__line--1 {
  top: 0;
}

.hamburger__line--2 {
  top: 50%;
}

.hamburger__line--3 {
  top: 100%;
}

/* line close */
.deg .hamburger__line--1 {
  transform: rotate(30deg);
  top: 50%;
}

.deg .hamburger__line--2 {
  width: 0;
  left: 50%;
}

.deg .hamburger__line--3 {
  transform: rotate(-30deg);
  top: 50%;
}


/* global__nav */
nav.global__nav {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transition: all .2s ease-out;
  z-index: 10;
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  -webkit-backdrop-filter: blur(49px);
  backdrop-filter: blur(49px);
  backdrop-filter: blur(49px) brightness(1.5);
  -webkit-backdrop-filter: blur(49px) brightness(1.5);
  background-color: rgb(255 255 255 / 31%);
  z-index: 101;
}

/* open */
.open_nav.global__nav {
  opacity: 1;
  pointer-events: fill;
}

.global__nav h1 {
  width: 100%;
  padding: 0.33em 0 var(--l-10) 1em;
}

.global__nav h1 a {
  width: 13.66em;
}


nav.global__nav .inner {
  padding-left: var(--l-60);
  padding-top: var(--l-40);
}

/* menu__left */
.menu__right {
  padding-top: var(--l-25);
  margin-right: 17.33em;
  padding-bottom: var(--l-70);
}


.menu__right h2 {
  font-size: 3.33em;
  font-weight: bold;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  position: relative;
}

.menu__right h2 span {
  font-weight: 500;
}

.menu__right h2::before {
  position: absolute;
  content: "";
  width: 2.7em;
  height: 1px;
  background: var(--color-black);
  bottom: 0;
  left: 0;
}

.menu__right ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--l-30);
  margin-top: var(--l-30);
}

.menu__right ul li a {
  width: 2.466em;
}

.menu__right ul li:nth-child(1) a:nth-of-type(2) {
  width: var(--l-30);
}

.menu__right ul li:nth-child(3) a {
  width: 17.8em;
}

/* menu__left */
.menu__left {
  padding-top: var(--l-25);
  padding-left: var(--l-40);
  border-left: 1px solid var(--color-black);
  position: relative;
}

.menu__left::before {
  position: absolute;
  content: "MENU";
  top: -8%;
  left: -5%;
  font-size: 1.6em;
  font-weight: bold;
}

.menu__left ul:first-of-type li {
  width: 12em;
  margin-right: var(--l-20);
  text-align: center;
}


.menu__left h3 {
  position: relative;
  font-weight: bold;
  margin-top: var(--l-30);
}

.menu__left h3::before {
  position: absolute;
  content: "";
  width: 77%;
  height: 1px;
  background: var(--color-black);
  top: 50%;
  right: 0;
}

.menu__left .siteMenu {
  margin-top: var(--l-10);
  margin-bottom: var(--l-20);
  padding-bottom: var(--l-20);
  padding-left: var(--l-10);
  display: grid;
  gap: var(--l-10) 1.66em;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--color-black);
}

.menu__left .siteMenu a {
  position: relative;
  font-size: var(--fs-13);
  padding-left: 1.2em;
}

.menu__left .siteMenu a::before {
  position: absolute;
  content: "";
  width: var(--fs-12);
  height: var(--fs-12);
  background: var(--color-navy);
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.menu__left .ar a {
  margin-left: 2em;
  display: inline-block;
}

@media screen and (max-width:767px) {
  header .nav__left {
    padding: var(--l-10) 0 var(--l-10) 1em;
    margin-right: auto;
  }

  header .nav__left h1 {
    width: 12em;
  }

  .nav__center {
    display: none;
  }

  .hamburger {
    width: 2.8em;
    right: 1em;
  }

  nav.global__nav .inner {
    padding: 0 1em;
  }


  .global__nav h1 {
    width: 12.5em;
    margin-left: 26%;
    padding: 1em 0 0;
  }

  .menu__right h2 {
    display: none;
  }

  .menu__left {
    padding-top: var(--l-50);
    padding-left: 0;
    border-left: none;
    width: 100%;
  }

  .menu__left::before {
    content: none;
  }

  .menu__left h3::before {
    width: 63%;
  }

  .menu__left ul:first-of-type {
    justify-content: space-between;
  }

  .menu__left ul:first-of-type li {
    width: 12.2em;
    margin-right: 0;
  }

  .menu__left .siteMenu {
    margin-top: var(--l-20);
    margin-bottom: var(--l-10);
    padding-bottom: var(--l-30);
    padding-left: 5px;
    gap: var(--l-20) var(--l-40);
    grid-template-columns: repeat(2, 1fr);
  }

  .menu__left .ar {
    text-align: left;
    padding-left: 0.2em;
  }

  .menu__left .ar a {
    margin-left: 0;
    margin-bottom: var(--l-10);
    display: block;
    line-height: 2;
  }

  .menu__right {
    margin-right: 0;
    width: 100%;
    padding-top: var(--l-20);
    margin-top: var(--l-10);
    border-top: 1px solid var(--color-black);
  }

  .menu__right ul li {
    margin-top: var(--l-20);
  }

  .menu__right ul li a {
    width: 1.92em;
  }

  .menu__right ul li:nth-child(1) a:nth-of-type(2) {
    width: 1.42em;
  }

  .menu__right ul li:nth-child(3) a {
    width: 14.28em;
  }
}

/*================================================
 *  hd section btn
 ================================================*/
/* hd */
h2.hd span {
  font-family: var(--zen-mincho);
  font-weight: var(--medium);
  line-height: 1.65;
  display: block;
}

h2.hd span>span {
  font-family: var(--zen-kaku);
  font-size: var(--fs-35);
  font-weight: bold;
  display: block;
}

h2.hd.ac span {
  text-align: center;
}


.grada {
  background: rgb(100, 232, 176);
  background: linear-gradient(90deg, rgba(100, 232, 176, 1) 0%, rgba(0, 147, 255, 1) 100%);
}

.g__txt {
  font-weight: bold;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: linear-gradient(90deg, rgba(100, 232, 176, 1) 0%, rgba(0, 147, 255, 1) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.g__txt.ac {
  margin: 0 auto;
}


/* section */
section {
  padding-bottom: var(--l-100);
  position: relative;
}

.section {
  padding-top: var(--l-80);
}

/* ボタン */
.btnArea a {
  background: var(--color-navy);
  color: var(--color-white);
  font-size: var(--fs-13);
  width: 13.47em;
  height: 3.42em;
  display: grid;
  place-content: center;
  text-align: center;
  border-radius: 1000px;
  line-height: 1.38em;
  font-weight: var(--medium);
  position: relative;
}

.btnArea a:hover {
  filter: brightness(1.6);
}

.btnArea.ac a {
  margin: 0 auto;
}

.btnArea a::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../images/btn_arrow.svg);
  width: 0.43em;
  height: 0.7em;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}


@media screen and (max-width:767px) {
  h2.hd span span {
    font-size: 1.85em;
  }

  /* section */
  section {
    padding-bottom: var(--l-70);
    position: relative;
  }

  .section {
    padding-top: var(--l-70);
  }
}

/*================================================
 * reformMenu
================================================*/
#common__reformMenu {
  background: var(--color-bgBlue);
}

#common__reformMenu.--pages {
  background: var(--color-white);
}

#common__reformMenu .common__reform_swiper {
  width: 82.72%;
  max-width: 1635px;
  margin: var(--l-70) auto 0;
  padding-bottom: 55px;
}

#common__reformMenu .common__reform_swiper .swiper-slide {
  width: 16.866em;
  position: relative;
  margin: 0 1em;
  border-radius: var(--l-10);
  overflow: hidden;
  transition: .4s;
}

#common__reformMenu .common__reform_swiper .swiper-slide::before {
  position: absolute;
  content: "";
  background: rgb(0 0 0 / 40%);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: var(--l-10);
  transition: .4s;
  z-index: 1;
}

#common__reformMenu .common__reform_swiper .swiper-slide:hover::before {
  background: rgb(0 0 0 / 15%);
  transition: .4s;
}

#common__reformMenu .common__reform_swiper .swiper-slide>div {
  color: var(--color-white);
  width: 89%;
  position: absolute;
  top: 73%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

#common__reformMenu .common__reform_swiper .swiper-slide>div h3 {
  font-family: var(--zen-mincho);
  font-weight: bold;
  padding-bottom: 0.33em;
  margin-bottom: var(--l-10);
  border-bottom: 2px solid;
  border-image: linear-gradient(to right, rgba(100, 232, 176, 1), rgba(0, 147, 255, 1)) 1;
  display: flex;
  align-items: end;
  height: 1em;
}

#common__reformMenu .common__reform_swiper .swiper-slide>div h3 img {
  width: 2em;
  margin-right: 0.33em;
  border-radius: 0;
}

#common__reformMenu .common__reform_swiper .swiper-slide.wash>div h3 img {
  width: 1.4em;
}

#common__reformMenu .common__reform_swiper .swiper-slide>div p {
  font-size: var(--fs-12);
  line-height: 1.66;
}

#common__reformMenu .common__reform_swiper .swiper-slide>img {
  border-radius: var(--l-10);
  overflow: hidden;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .4s;
}

#common__reformMenu .common__reform_swiper .swiper-slide:hover img {
  transform: scale(1.1);
  transition: .4s;
}

#common__reformMenu .common__reform_swiper .swiper-button-next,
#common__reformMenu .common__reform_swiper .swiper-button-prev {
  width: 34px;
  height: 34px;
  top: auto;
  bottom: 0;
  margin: 0;
  z-index: 10;
}

#common__reformMenu .common__reform_swiper .swiper-button-next {
  right: auto;
  left: calc(66px + 1em);
}

#common__reformMenu .common__reform_swiper .swiper-button-prev {
  left: 1em;
}

#common__reformMenu .common__reform_swiper .swiper-button-next::before,
#common__reformMenu .common__reform_swiper .swiper-button-prev::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../images/circle_next.svg);
}

#common__reformMenu .common__reform_swiper .swiper-button-prev::before {
  background-image: url(../images/circle_prev.svg);
}

#common__reformMenu .common__reform_swiper .swiper-button-next::after,
#common__reformMenu .common__reform_swiper .swiper-button-prev::after {
  content: none;
}

#common__reformMenu .common__reform_swiper .swiper-pagination {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  left: auto;
  right: 1em;
}

#common__reformMenu .common__reform_swiper .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  margin: 0 4px;
  background: #EDEBEB;
  opacity: 1;
}

#common__reformMenu .common__reform_swiper .swiper-pagination-bullet-active {
  background: rgb(100, 232, 176);
  background: linear-gradient(90deg, rgba(100, 232, 176, 1) 0%, rgba(0, 147, 255, 1) 100%);
}

@media screen and (max-width:767px) {


  #common__reformMenu .common__reform_swiper {
    width: 97.72%;
    margin: var(--l-40) 0 0 auto;
  }

  #common__reformMenu .common__reform_swiper .swiper-slide {
    margin: 0 0.5em;
  }

  #common__reformMenu .common__reform_swiper .swiper-button-next {
    right: auto;
    left: calc(50px + 1em);
  }

  #common__reformMenu .common__reform_swiper .swiper-pagination {
    right: 0.5em;
  }

  #common__reformMenu .common__reform_swiper .swiper-pagination-bullet {
    width: var(--l-10);
    height: var(--l-10);
    margin: 0 0.3em;
  }
}

/*================================================
 *  news news__list
 ================================================*/
.news__list .news__ttl {
  width: 16%;
  position: relative;
}

.news__list .news__ttl .btnArea {
  position: absolute;
  bottom: 0;
  left: 0;
  margin-bottom: 1em;
}

.news__list ul {
  width: 64.45%;
}

.news__list ul li:not(:last-child) {
  border-bottom: 1px solid #707070;
}

.news__list ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  padding: 1em 2.5em 1em var(--l-20);
  position: relative;
}

.news__list ul li a:hover {
  background: var(--color-bgBlue);
}

.news__list ul li a::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  background-image: url(../images/circle_next.svg);
  width: 1.5em;
  height: 1.5em;
  top: 50%;
  right: 1.4%;
  transform: translateY(-50%);
}

.news__list ul li a img {
  width: 10.8%;
  /* height: 4.55em; */
  height: auto;
  aspect-ratio: 1/1;
  overflow: hidden;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

.news__list ul li a div {
  width: calc(100% - 10.8%);
  padding-left: 1.2em;
}

.news__list ul li a div p {
  font-size: var(--fs-13);
}

.news__list ul li a div p span {
  display: inline-block;
}

.news__list ul li a div p span:nth-of-type(2) {
  position: relative;
  padding-left: 1.73em;
  margin-left: 0.3em;
}

.news__list ul li a div p span:nth-of-type(2)::before {
  position: absolute;
  content: "";
  width: 1.46em;
  height: 1px;
  background: var(--color-black);
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.news__list ul li a div h3 {
  line-height: 1.46;
}

@media screen and (max-width:767px) {
  .news__list .news__ttl {
    width: 100%;
  }

  .news__list ul {
    width: 100%;
    margin: var(--l-20) 0;
  }

  .news__list ul li a {
    padding: var(--l-20) 2.5em var(--l-20) var(--l-10);
  }

  .news__list ul li a img {
    width: 22%;
  }

  .news__list ul li a div {
    width: calc(100% - 22%);
    padding-left: var(--l-10);
  }

  .news__list ul li a div p {
    font-size: var(--fs-12);
  }

  .news__list .btnArea {
    width: 100%;
  }
}

/*================================================
 *  column
 ================================================*/

.column__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: start;
  gap: 3.33%;
}

.column__list li {
  width: 22.5%;
  margin-top: var(--l-20);
}

.column__list li a {
  padding: var(--l-10) 0;
}

.column__list--wrap a:hover,
.column__list a:hover {
  background: var(--color-bgBlue);
}

.column__list--wrap a img,
.column__list li a img {
  width: calc(100% - 1.33em);
  aspect-ratio: 1/1;
  overflow: hidden;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  border-radius: var(--l-10);
  margin: 0 auto;
  height: auto;
}

.column__list li a h3 {
  line-height: 1.33;
  padding: 0.5em var(--l-10);
}

@media screen and (max-width:767px) {
  .column__list {
    width: 100%;
    gap: 0
  }

  .column__list li {
    width: 49%;
    margin: 0 0 var(--l-10);
  }
}

/*================================================
 * otherinfo
================================================*/
#otherinfo {
  padding: 4.33em 0;
}

#otherinfo ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  margin-top: 3.66em;
}

#otherinfo ul li {
  padding: 3.8em 3.6em;
}

#otherinfo ul li:first-child {
  border-right: 1px solid #707070;
}

@media screen and (max-width:767px) {
  #otherinfo {
    padding: var(--l-70) 0;
  }

  #otherinfo ul {
    grid-template-columns: 1fr;
    margin-top: var(--l-40);
  }

  #otherinfo ul li {
    padding: 3.8em 0.5em;
  }

  #otherinfo ul li:first-child {
    border-right: none;
    border-bottom: 1px solid #707070;
  }
}

/*================================================
 *  common__contact
 ================================================*/
#common__contact {
  padding: var(--l-30) 0 8.66em;
}

.common__contact--list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  margin-top: 3.66em;
  text-align: center
}

.common__contact--list>li {
  padding: 4em 0 4.66em;
}

.common__contact--list>li:first-child {
  border-right: 1px solid #707070;
}

.common__contact--list>li:first-child .btnArea {
  margin-top: var(--l-10);
  margin-bottom: 3.66em;
}

.common__contact--list>li:first-child .btnArea a {
  width: 19.7em;
  margin: 0 auto;
  background: rgb(100, 232, 176);
  background: linear-gradient(90deg, rgba(100, 232, 176, 1) 0%, rgba(0, 147, 255, 1) 100%);
}

.common__contact--list>li:first-child .ft__tel {
  font-size: 1.33em;
  font-weight: bold;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 25% 0 auto;
}

.common__contact--list>li:first-child .ft__tel span {
  font-size: 2.45em;
}


.common__contact--list>li:nth-child(2) div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1.2em;
  margin-bottom: 4.2em;
}

.common__contact--list>li:nth-child(2) div img {
  width: 2em;
  margin: 0 1.16em;
}

.common__contact--list>li:nth-child(2) a.line {
  width: 48.5%;
  margin: var(--l-30) auto 0;
}

@media screen and (max-width:767px) {
  #common__contact {
    padding: var(--l-30) 0 var(--l-70);
  }

  .common__contact--list {
    grid-template-columns: 1fr;
    margin-top: var(--l-40);
  }

  .common__contact--list li {
    padding: 3.8em 0.5em;
  }

  .common__contact--list li:first-child {
    border-right: none;
    border-bottom: 1px solid #707070;
  }

  .common__contact--list>li:first-child .ft__tel {
    margin: 0 11% 0 auto;
  }
}

/*================================================
 *  common__operation
 ================================================*/
#common__operation {
  background: var(--color-bgBlue);
  padding: 3.33em 0 3.66em;
}

#common__operation .wrap {
  width: 75.4%;
}

#common__operation .wrap img {
  width: 14%;
}

#common__operation .wrap div {
  width: 76.8%;
}

#common__operation .wrap div h2 {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 2px solid;
  border-image: linear-gradient(to right, rgba(100, 232, 176, 1), rgba(0, 147, 255, 1)) 1;
}

#common__operation .wrap div h2 span {
  margin-left: 1em;
  display: inline-block;
}

#common__operation .wrap div p {
  font-size: var(--fs-13);
  line-height: 1.77;
  padding-right: 1em;
}

@media screen and (max-width:767px) {
  #common__operation {
    padding: var(--l-70) 0;
  }

  #common__operation .wrap {
    width: 90.84%;
  }

  #common__operation .wrap img {
    width: 45%;
    margin: 0 auto var(--l-20);
  }

  #common__operation .wrap div {
    width: 100%;
  }

  #common__operation .wrap div h2 {
    text-align: center;
  }
}


/*================================================
 *  フッター
 ================================================*/
footer {
  padding: 6em 0 0;
}

footer .office ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: var(--l-40);
  line-height: 1.5;
  gap: 6.33em;
  padding-bottom: var(--l-50);
  margin-bottom: var(--l-70);
  background-size: 8px 1px;
  background-image: linear-gradient(to right, #485E87 4px, transparent 4px);
  background-repeat: repeat-x;
  background-position: left bottom;
}

footer .office ul li h3 {
  font-weight: bold;
  position: relative;
  padding-bottom: 0.86em;
  margin-bottom: var(--l-10);
}

footer .office ul li h3::before {
  position: absolute;
  content: "";
  width: 3.933em;
  height: 2px;
  background: rgb(100, 232, 176);
  background: linear-gradient(90deg, rgba(100, 232, 176, 1) 0%, rgba(0, 147, 255, 1) 100%);
  left: 0;
  bottom: 0;
}

footer .office ul li p {
  font-size: var(--fs-13);
  list-style: 1.5;
  margin-bottom: 5px;
}

footer .ft__siteMenu {
  display: grid;
  gap: 1.86em 2em;
  grid-template-columns: repeat(5, 1fr);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 5.66em;
}

footer .ft__siteMenu a {
  position: relative;
  padding-left: 1.2em;
}

footer .ft__siteMenu a::before {
  position: absolute;
  content: "";
  width: var(--fs-12);
  height: var(--fs-12);
  background: var(--color-navy);
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

footer .ft__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: var(--fs-13);
  gap: 2.7em;
}

footer .copy {
  text-align: center;
  letter-spacing: 0.05em;
  color: var(--color-white);
  background: var(--color-navy);
  padding: var(--l-20) 0 var(--l-25);
  margin-top: var(--l-20);
}

@media screen and (max-width:767px) {
  footer {
    padding: var(--l-100) 0 0;
  }

  footer .office ul {
    grid-template-columns: 1fr;
    gap: var(--l-30);
    padding-bottom: var(--l-50);
    margin-bottom: var(--l-50);
  }

  footer .ft__siteMenu {
    gap: 1em;
    grid-template-columns: 1fr;
    width: 100%;
    margin: 0 auto var(--l-50);
  }
}

/*================================================
 *  404
 ================================================*/
#page_404 {
  padding: 16em 0 3em;
}

#page_404 .btnArea {
  margin-top: 2em;
}

@media screen and (max-width:767px) {
  #page_404 {
    padding: 11em 0 3em;
  }
}

/*================================================
 *  animation
 ================================================*/
.up,
.up_hd {
  overflow: hidden;
}

.up_hd>span,
.up span,
.up .up_inner {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s ease;
}

.up_hd.started>span,
.up.started span,
.up.started .up_inner {
  opacity: 1;
  transform: translateY(0px);
}

.up.started span:nth-of-type(2),
.up.delay02.started span,
.up.delay02.started .up_inner {
  transition-delay: 0.2s;
}

.up.started span:nth-of-type(3),
.up.delay03.started span {
  transition-delay: 0.4s;
}


.up.delay04.started span,
.up.delay04.started .up_inner {
  transition-delay: 0.6s;
}

.up.delay05.started span,
.up.delay05.started .up_inner {
  transition-delay: 0.8s;
}

.up.delay06.started span,
.up.delay06.started .up_inner {
  transition-delay: 1s;
}

.up.delay07.started span,
.up.delay07.started .up_inner {
  transition-delay: 1.2s;
}

.up.delay08.started span,
.up.delay08.started .up_inner {
  transition-delay: 1.4s;
}

.up.delay09.started span,
.up.delay09.started .up_inner {
  transition-delay: 1.6s;
}


.txtup {
  display: flex;
  overflow: hidden;
}

.txtup span {
  display: block;
  transition-duration: 0.8s;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateY(100%);
}

.txtup.started span {
  transform: translateY(0%);
}

.txtup.started span:nth-of-type(2) {
  transition-delay: 0.07s;
}

.txtup.started span:nth-of-type(3) {
  transition-delay: 0.14s;
}

.txtup.started span:nth-of-type(4) {
  transition-delay: 0.21s;
}

.txtup.started span:nth-of-type(5) {
  transition-delay: 0.28s;
}

.txtup.started span:nth-of-type(6) {
  transition-delay: 0.35s;
}

.txtup.started span:nth-of-type(7) {
  transition-delay: 0.42s;
}

.txtup.started span:nth-of-type(8) {
  transition-delay: 0.49s;
}

.txtup.started span:nth-of-type(9) {
  transition-delay: 0.56s;
}

.txtup.started span:nth-of-type(10) {
  transition-delay: 0.63s;
}

.txtup.started span:nth-of-type(11) {
  transition-delay: 0.7s;
}

.txtup.started span:nth-of-type(12) {
  transition-delay: 0.77s;
}

.txtup.started span:nth-of-type(13) {
  transition-delay: 0.84s;
}

.txtup.started span:nth-of-type(14) {
  transition-delay: 0.91s;
}

.txtup.started span:nth-of-type(15) {
  transition-delay: 0.98s;
}

.txtup.started span:nth-of-type(16) {
  transition-delay: 1.05s;
}

.txtup.started span:nth-of-type(17) {
  transition-delay: 1.12s;
}

.txtup.started span:nth-of-type(18) {
  transition-delay: 1.19s;
}