@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600&family=Noto+Serif+JP:wght@400;600&family=Outfit&display=swap");
/*-------------------
fontベース設定
---------------------*/
html {
  font-size: 16px;
}

body {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.035em;
  color: #333;
}

/*-------------------
cursorColor
---------------------*/
::-moz-selection {
  background: #0C2F6C;
  color: #fff;
}
::selection {
  background: #0C2F6C;
  color: #fff;
}

/*Firefox*/
::-moz-selection {
  background: #0C2F6C;
  color: #fff;
}

/*-------------------
resetCss
---------------------*/
html {
  overflow-y: scroll;
}

body {
  margin: 0px;
  overflow: hidden;
}

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

p {
  margin: 0px;
  padding: 0px;
}

* {
  margin: 0px;
  padding: 0px;
}

img {
  border: 0px;
  width: 100%;
  max-width: 100%;
  vertical-align: top;
  height: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

a:focus {
  text-decoration: none;
}

a:hover {
  color: inherit;
  text-decoration: none;
  opacity: 1;
}

dl,
dt,
dd,
ul,
ol {
  padding: 0;
  margin: 0;
}

li {
  list-style-type: none;
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

figure,
figcaption {
  background: none;
  border-radius: 0;
  border: none;
}

.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: inline;
}

button {
  background-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border: none;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

a:active {
  outline: none !important;
}

button:active {
  outline: none !important;
}

.btn:focus,
.btn.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
}

.form-control:focus {
  color: #495057;
  background-color: #eee;
  border-color: none;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
}

.custom-select:focus {
  border-color: none;
  background-color: #eee;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
}

/*-------------------
bootstrap コンテンツ幅調整
---------------------*/
@media screen and (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}
/* ----------------
    svg icon
* ---------------- */
.svgicon {
  /* 領域を確保する */
  width: 1em;
  height: 1em;
  /* 前後の間隔を確保する */
  margin: 0 0.25em;
  /* 文字列と高さをあわせる */
  vertical-align: -0.125em;
  /* 文字色をあわせる */
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 0;
}
.svgicon-flip-X {
  /* 左右反転 */
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

/* ----------------
    header
* ---------------- */
.l-header {
  position: fixed;
  width: 100%;
  height: 46px;
  background-color: rgba(255, 255, 255, 0);
  z-index: 997;
  -webkit-transition: 0.3s background-color ease-in-out;
  transition: 0.3s background-color ease-in-out;
}
.l-header.is-active {
  background-color: rgba(255, 255, 255, 0.68);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
}
@media print, screen and (min-width: 992px) {
  .l-header {
    height: 57px;
  }
}
.l-header__logo {
  position: absolute;
  top: 12px;
  left: 15px;
  width: 218.4615384615px;
}
@media screen and (min-width: 912px) {
  .l-header__logo {
    top: 18px;
  }
}
@media print, screen and (min-width: 992px) {
  .l-header__logo {
    left: 30px;
    width: 284px;
  }
}
@media screen and (min-width: 1200px) {
  .l-header__logo {
    width: min(25vw, 284px);
  }
}

/* header rightarea */
.l-header__right {
  display: none;
}
@media screen and (min-width: 912px) {
  .l-header__right {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
  }
}

.l-header__tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  line-height: 1;
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "Outfit", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 400;
  padding-left: 12px;
  width: 214px;
  height: 60px;
  background-size: contain;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0,0,199.53,53.95"><path fill="%233A74DA" d="m0,0h199.53v53.91H45.97s-17.04,1.63-27.07-14.7S0,0,0,0Z" /></svg>');
  background-repeat: no-repeat;
}
.l-header__tel svg {
  width: 24px;
  height: 24px;
  margin-right: 2px;
}
.l-header__tel span {
  margin-bottom: 2px;
}

.l-header-navWrap {
  display: block;
  margin-left: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 4px;
}

.l-header-nav {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.l-header-nav__item {
  position: relative;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  margin-right: 10px;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
@media screen and (min-width: 1200px) {
  .l-header-nav__item {
    margin-right: 20px;
  }
}
.l-header-nav__item.is-active, .l-header-nav__item:active, .l-header-nav__item:focus, .l-header-nav__item:hover {
  color: #3A74DA;
}
.l-header-nav__item.has__sub img {
  width: 12px;
  height: 7;
  vertical-align: baseline;
}

/* header sp tel */
.l-header-sptel {
  position: fixed;
  top: 8px;
  right: 78px;
  width: 36px;
  height: 36px;
  display: block;
  z-index: 997;
}
@media screen and (min-width: 912px) {
  .l-header-sptel {
    display: none;
  }
}
.l-header-sptel svg {
  width: 100%;
  height: 100%;
  fill: #3A74DA;
  z-index: 1;
}

/* header sp hamburgerbtn */
.l-header-hamburger {
  position: fixed;
  top: 0;
  right: 0;
  width: 46px;
  height: 46px;
  display: block;
  cursor: pointer;
  background-color: #3A74DA;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  z-index: 999;
}
@media screen and (min-width: 912px) {
  .l-header-hamburger {
    display: none !important;
  }
}
.l-header-hamburger::before, .l-header-hamburger::after {
  content: "";
  position: absolute;
  left: 25.5%;
  display: block;
  width: 50%;
  height: 2px;
  background-color: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.l-header-hamburger::before {
  top: 30%;
}
.l-header-hamburger::after {
  bottom: 30%;
}
.l-header-hamburger span {
  position: absolute;
  top: 48%;
  left: 25.5%;
  display: block;
  width: 50%;
  height: 2px;
  background-color: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.l-header-hamburger:active, .l-header-hamburger:focus {
  outline: none;
}

/* header sp hamburgerbtn close */
.l-header-hamburger.is-active::before {
  top: 32%;
  left: 44%;
  -webkit-transform: rotate(-45deg) translateX(-50%);
          transform: rotate(-45deg) translateX(-50%);
}
.l-header-hamburger.is-active::after {
  top: 66%;
  left: 44%;
  -webkit-transform: rotate(45deg) translateX(-50%);
          transform: rotate(45deg) translateX(-50%);
}
.l-header-hamburger.is-active span {
  left: 50%;
  opacity: 0;
}

/* header sp nav */
.l-header-spnav {
  position: fixed;
  right: -100%;
  display: block;
  width: 100%;
  height: calc(100% - 46px);
  overflow-y: scroll;
  z-index: 998;
  -webkit-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  opacity: 0;
}
.l-header-spnav.is-active {
  right: 0;
  opacity: 1;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
@media screen and (min-width: 912px) {
  .l-header-spnav {
    display: none !important;
  }
}

.l-header-spnav__bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
  cursor: pointer;
  z-index: 1;
}

.l-header-spnav__list {
  position: relative;
  margin-left: auto;
  display: block;
  width: 55%;
  height: 100%;
  overflow-y: auto;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
  z-index: 2;
}

.l-header-spnav__item {
  display: block;
  padding-top: 12px;
  padding-bottom: 4px;
  margin-bottom: 4px;
  padding-right: clamp(15px, 3.91vw, 30px);
  padding-left: clamp(24px, 3.91vw, 30px);
  color: #333;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 16px;
  font-size: 1rem;
}
.l-header-spnav__item:first-of-type {
  padding-top: 18px;
}
.l-header-spnav__item.is-active {
  border-bottom: solid 0.8px #333;
}

/* ----------------
    footer
* ---------------- */
.l-footer {
  position: relative;
  width: 100%;
  z-index: 0;
}
.l-footer__top {
  width: 100%;
  height: 80px;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .l-footer__top {
    height: 134px;
  }
}
.l-footer__bottom {
  background-image: url(../images/footer_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.l-footer__bottom > .container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .l-footer__bottom > .container {
    padding-top: 60px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

/* footer logo */
@media screen and (max-width: 767px) {
  .l-footer__left {
    margin-left: auto;
    margin-right: auto;
  }
}

@media print, screen and (min-width: 768px) {
  .l-footer__right nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.l-footer__logo {
  width: 284px;
  margin-bottom: 24px;
}

/* footer address */
.l-footer__address {
  margin-bottom: 20px;
}
.l-footer__address .text {
  line-height: 1.75;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 22px;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .l-footer__address .text {
    text-align: left;
  }
}
.l-footer__address .text .svgicon.map {
  margin-left: 0;
  fill: #3A74DA;
}
.l-footer__address .tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #3A74DA;
  line-height: 1;
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "Outfit", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 400;
}
@media print, screen and (min-width: 768px) {
  .l-footer__address .tel {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.l-footer__address .tel svg {
  width: 24px;
  height: 24px;
  margin-right: 2px;
}
.l-footer__address .tel span {
  margin-bottom: 2px;
}

/* footer nav */
.l-footer__nav {
  position: relative;
  width: 100%;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  .l-footer__nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.l-footer__nav:last-of-type {
  margin-top: 10px;
}
@media print, screen and (min-width: 768px) {
  .l-footer__nav:last-of-type {
    margin-top: 0;
  }
}

.l-footer__nav-item {
  position: relative;
  width: 100%;
  max-width: 375px;
  background-color: #fff;
  color: #333;
}
@media screen and (max-width: 767px) {
  .l-footer__nav-item {
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .l-footer__nav-item {
    color: #333333;
    background-color: transparent;
    white-space: nowrap;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.l-footer__nav-item:not(:last-of-type) {
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  .l-footer__nav-item:not(:last-of-type) {
    margin-right: 16px;
  }
}
.l-footer__nav-item a {
  position: relative;
  padding: 10px 15px;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
@media print, screen and (min-width: 768px) {
  .l-footer__nav-item a {
    padding: 0;
  }
}
@media print, screen and (min-width: 992px) {
  .l-footer__nav-item a:hover {
    color: #3A74DA;
  }
}
.l-footer__nav-item a::before, .l-footer__nav-item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  width: 7px;
  height: 1px;
  background: #333;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media print, screen and (min-width: 768px) {
  .l-footer__nav-item a::before, .l-footer__nav-item a::after {
    display: none;
  }
}
.l-footer__nav-item a::before {
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.l-footer__nav-item a::after {
  margin-top: 5px;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

/* footer copyright */
.l-footer__copyright {
  padding-bottom: 20px;
  font-size: 12px;
  font-size: 0.75rem;
  text-align: center;
  color: rgba(51, 51, 51, 0.4);
}
@media print, screen and (min-width: 768px) {
  .l-footer__copyright {
    padding-bottom: 40px;
    text-align: left;
  }
}

/* -------------------
    下層ページレイアウト
* ------------------- */
/* common header */
.l-common-heading {
  margin-top: 46px;
  position: relative;
  width: 100%;
  height: 150px;
  border-bottom: 1px solid #3A74DA;
  z-index: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media print, screen and (min-width: 768px) {
  .l-common-heading {
    height: 180px;
    margin-top: 57px;
  }
}
.l-common-heading .obi {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #3A74DA;
  z-index: -2;
}
.l-common-heading .obi::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 65%;
  -webkit-transform: rotate(-75deg) translateY(-50%);
          transform: rotate(-75deg) translateY(-50%);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  display: block;
  width: 100%;
  height: 100vw;
  background: #eee;
  opacity: 0.5;
}
.l-common-heading .obi::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 55%;
  -webkit-transform: rotate(-75deg) translateY(-50%);
          transform: rotate(-75deg) translateY(-50%);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  display: block;
  width: 100%;
  height: 100vw;
  background: #f5f5f5;
  opacity: 0.8;
}
.l-common-heading .l-common-heading__img {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  background: #eee;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
  opacity: 0.8;
}
@media print, screen and (min-width: 768px) {
  .l-common-heading .l-common-heading__img {
    position: absolute;
    top: 0;
    left: 0;
    width: min(60%, 1110px);
    margin: 0 auto;
  }
}
.l-common-heading .l-common-heading__ttl {
  position: absolute;
  top: 76.5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  line-height: 1.5;
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  color: #fff;
  z-index: 2;
}
@media screen and (min-width: 576px) {
  .l-common-heading .l-common-heading__ttl {
    font-size: clamp(20px, 3vw, 28px);
  }
}
@media print, screen and (min-width: 768px) {
  .l-common-heading .l-common-heading__ttl {
    text-align: left;
    top: 62%;
    left: 80px;
    -webkit-transform: none;
            transform: none;
  }
}

.l-commom-pankuzu {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.3;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}

/* common layout style */
.l-common-lr__content01 {
  position: relative;
  z-index: 0;
}
.l-common-lr__content01 .content01_card {
  position: relative;
  width: calc(100% - 30px);
  max-width: 450px;
  margin: auto;
  margin-top: 20px;
  z-index: 2;
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content01 .content01_card {
    width: 50%;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }
}
.l-common-lr__content01 .content01__img {
  width: 100%;
  height: auto;
  z-index: 1;
}
.l-common-lr__content01 .content01__img .mainImg {
  width: 100%;
  height: 280px;
  overflow: hidden;
}
@media screen and (min-width: 576px) {
  .l-common-lr__content01 .content01__img .mainImg {
    aspect-ratio: 4/3;
    width: min(100% - 30px, 430px);
    height: auto;
  }
}
@media screen and (max-width: 991px) {
  .l-common-lr__content01 .content01__img .mainImg {
    margin-left: auto;
    margin-right: auto;
  }
}

@media print, screen and (min-width: 992px) {
  .l-common-lr__content01 {
    min-height: 500px;
  }
  .l-common-lr__content01.left .row {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-common-lr__content01 .content01__card.full {
    position: absolute;
    top: 150px;
    width: min(37.5vw, 450px);
  }
  .l-common-lr__content01.left .content01__card.full {
    left: calc(50% + 60px);
  }
  .l-common-lr__content01.right .content01__card.full {
    right: calc(50% + 60px);
  }
  .l-common-lr__content01 .content01__img {
    position: absolute;
    top: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .l-common-lr__content01 .content01__img .mainImg {
    width: min(45vw, 540px);
    aspect-ratio: 4/3;
    z-index: 0;
  }
  .l-common-lr__content01.left .content01__img {
    right: 50%;
  }
  .l-common-lr__content01.left .content01__img .deco {
    left: -130px;
    bottom: -130px;
  }
  .l-common-lr__content01.right .content01__img {
    left: 50%;
  }
}
.l-common-lr__content02 {
  position: relative;
  width: 100%;
  z-index: 0;
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content02.left .row {
    min-height: 480px;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-common-lr__content02.left .content02__card.full {
    left: calc(50% + 60px);
  }
  .l-common-lr__content02.left .content02__img {
    left: 0;
  }
  .l-common-lr__content02.right .content02__card.full {
    right: calc(50% + 60px);
  }
  .l-common-lr__content02.right .content02__img {
    right: 0;
  }
}
.l-common-lr__content02 .content02__card {
  position: relative;
  width: 100%;
  margin: 40px 40px 0 50px;
  z-index: 2;
}
@media screen and (min-width: 576px) {
  .l-common-lr__content02 .content02__card {
    margin-top: 50px;
  }
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content02 .content02__card {
    width: min(28vw, 400px);
  }
  .l-common-lr__content02 .content02__card.full {
    position: absolute;
    top: 150px;
    width: 400px;
  }
}
@media screen and (min-width: 1200px) {
  .l-common-lr__content02 .content02__card {
    margin-top: 90px;
  }
}
.l-common-lr__content02 .content02__card p {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content02 .content02__card p {
    margin-bottom: 52px;
  }
}
.l-common-lr__content02 .content02__img {
  position: relative;
  height: auto;
  z-index: 1;
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content02 .content02__img {
    position: absolute;
    top: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.l-common-lr__content02 .content02__img .mainImg {
  width: 100%;
  height: 280px;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content02 .content02__img .mainImg {
    width: min(50vw + 80px, 780px);
    height: 480px;
    z-index: 0;
  }
}

.l-common-lr__content03 {
  position: relative;
  width: 100%;
  z-index: 0;
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content03.left .row {
    min-height: 360px;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-common-lr__content03.left .content03__card.full {
    left: calc(50% + 60px);
  }
  .l-common-lr__content03.left .content03__img {
    left: 0;
  }
  .l-common-lr__content03.right .content03__card.full {
    right: calc(50% + 60px);
  }
  .l-common-lr__content03.right .content03__img {
    right: 0;
  }
}
.l-common-lr__content03 .content03__card {
  position: relative;
  width: 100%;
  margin: 40px 0 0 0;
  z-index: 2;
}
@media screen and (min-width: 576px) {
  .l-common-lr__content03 .content03__card {
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content03 .content03__card {
    width: 35vw;
  }
  .l-common-lr__content03 .content03__card.full {
    position: absolute;
    top: 150px;
    width: 500px;
  }
}
@media screen and (min-width: 1200px) {
  .l-common-lr__content03 .content03__card {
    margin-top: 40px;
    width: min(28vw, 500px);
  }
}
.l-common-lr__content03 .content03__card p {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content03 .content03__card p {
    margin-bottom: 52px;
  }
}
.l-common-lr__content03 .content03__img {
  position: relative;
  height: auto;
  z-index: 1;
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content03 .content03__img {
    position: absolute;
    top: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.l-common-lr__content03 .content03__img .mainImg {
  width: 100%;
  height: 280px;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .l-common-lr__content03 .content03__img .mainImg {
    width: 50vw;
    height: 360px;
    z-index: 0;
  }
}
@media screen and (min-width: 1200px) {
  .l-common-lr__content03 .content03__img .mainImg {
    width: min(100%, 780px);
  }
}

/* ----------------
    googlemap
* ---------------- */
.l-common-gmap {
  position: relative;
  padding-top: 65%;
  height: 0;
  border: solid 1px #ccc;
  background-color: #272727;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .l-common-gmap {
    padding-top: 400px;
  }
}
.l-common-gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ----------------
    table-style
* ---------------- */
.l-common-table01 {
  width: 100%;
  border-collapse: collapse;
}
.l-common-table01 tbody tr {
  display: block;
  border-bottom: none;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01 tbody tr {
    display: table;
    border-bottom: 1px solid #ccc;
  }
}
.l-common-table01 tbody tr th,
.l-common-table01 tbody tr td {
  display: block;
  padding: 0.5rem 0 0.8rem;
  width: 100%;
  overflow-wrap: break-word;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01 tbody tr th,
  .l-common-table01 tbody tr td {
    display: table-cell;
    padding: 1.2rem 0;
  }
}
.l-common-table01 tbody tr th {
  padding-bottom: 8px;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  border-bottom: 1px solid #3A74DA;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01 tbody tr th {
    width: 20%;
    padding-left: 1.2rem;
  }
}
.l-common-table01 tbody tr td {
  padding-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01 tbody tr td {
    width: 80%;
    padding-left: 2.5rem;
  }
}
.l-common-table01 tbody tr td > .numberList {
  display: grid;
  grid-template-columns: 1.5rem auto;
  gap: 15px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 0.8rem;
}
.l-common-table01 tbody tr td > .numberList:not(:last-of-type) {
  border-bottom: 1px dotted #ccc;
  margin-bottom: 0.8rem;
}
.l-common-table01 tbody tr td > .numberList > div:first-of-type {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  color: #3A74DA;
  font-size: 18px;
  font-size: 1.125rem;
}

.l-common-table01 tbody tr td ul li {
  position: relative;
  margin-bottom: 10px;
}
.l-common-table01 tbody tr td ul li:nth-last-child(1) {
  margin-bottom: 0;
}
.l-common-table01 tbody tr td ul li::before {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: -0.8rem;
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #575757;
}

.l-common-table01-b {
  width: 100%;
  border-collapse: collapse;
}
.l-common-table01-b tbody tr {
  display: block;
  border-bottom: none;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01-b tbody tr {
    display: table;
    border-bottom: 1px solid #ccc;
  }
}
.l-common-table01-b tbody tr th,
.l-common-table01-b tbody tr td {
  display: block;
  padding: 1rem 0;
  width: 100%;
  overflow-wrap: break-word;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01-b tbody tr th,
  .l-common-table01-b tbody tr td {
    display: table-cell;
  }
}
.l-common-table01-b tbody tr th {
  padding-bottom: 10px;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  border-bottom: 1px solid #333;
  font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 600;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01-b tbody tr th {
    width: 25%;
  }
}
.l-common-table01-b tbody tr td {
  padding-bottom: 15px;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01-b tbody tr td {
    width: 75%;
    padding-left: 1.5rem;
  }
}

.l-common-table01-b tbody tr td ul li {
  position: relative;
  margin-bottom: 10px;
}
.l-common-table01-b tbody tr td ul li:nth-last-child(1) {
  margin-bottom: 0;
}
.l-common-table01-b tbody tr td ul li::before {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: -0.8rem;
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #575757;
}

.l-common-table02Wrap {
  overflow: auto;
}

.l-common-table02 {
  width: 100%;
  border-collapse: collapse;
  letter-spacing: 0.1em;
  border: 1px solid #D9D9D9;
  font-size: 14px;
  font-size: 0.875rem;
}
.l-common-table02-b {
  width: 100%;
  min-width: 768px;
}

.l-common-table02,
.l-common-table02-b {
  border: 1px solid #bdc0e0;
}
.l-common-table02 thead tr th,
.l-common-table02-b thead tr th {
  padding: 0.5rem 1.3rem;
  background: #dee1ff;
  color: #333333;
  border-bottom: 1px solid #bdc0e0;
}
.l-common-table02 thead tr th:first-of-type,
.l-common-table02-b thead tr th:first-of-type {
  width: 20%;
}
.l-common-table02 thead tr th:not(:last-of-type),
.l-common-table02-b thead tr th:not(:last-of-type) {
  border-right: 1px solid #bdc0e0;
}
.l-common-table02 tbody tr:last-of-type,
.l-common-table02-b tbody tr:last-of-type {
  border-bottom: none;
}
.l-common-table02 tbody tr th,
.l-common-table02-b tbody tr th {
  padding: 0.5rem 1.3rem;
  background: #dee1ff;
  color: #333333;
  border-bottom: 1px solid #bdc0e0;
  border-right: 1px solid #bdc0e0;
}
@media print, screen and (min-width: 768px) {
  .l-common-table02 tbody tr th,
  .l-common-table02-b tbody tr th {
    width: 20%;
  }
}
.l-common-table02 tbody tr td,
.l-common-table02-b tbody tr td {
  padding: 0.5rem 1.3rem;
  border-bottom: 1px solid #D9D9D9;
  border-right: 1px solid #D9D9D9;
}

.l-common-table03 {
  width: 100%;
  border-collapse: collapse;
  letter-spacing: 0.1em;
  border: 1px solid #bdc0e0;
  font-size: 14px;
  font-size: 0.875rem;
}
.l-common-table03 thead tr th {
  padding: 0.5rem 1.3rem;
  background: #3A74DA;
  color: #333333;
  border-bottom: 1px solid #bdc0e0;
  color: #fff;
}
.l-common-table03 thead tr th:first-of-type {
  width: 15%;
}
.l-common-table03 thead tr th:not(:last-of-type) {
  border-right: 1px solid #bdc0e0;
}
.l-common-table03 tbody tr:last-of-type {
  border-bottom: none;
}
.l-common-table03 tbody tr th {
  padding: 0.5rem 1.3rem;
  background: #3A74DA;
  color: #333333;
  border-bottom: 1px solid #bdc0e0;
  border-right: 1px solid #bdc0e0;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .l-common-table03 tbody tr th {
    width: 15%;
  }
}
.l-common-table03 tbody tr td {
  padding: 0.5rem 1.3rem;
  border-bottom: 1px solid #bdc0e0;
  border-right: 1px solid #bdc0e0;
  background: #3A74DA;
  color: #fff;
}

/* ----------------
    mail form
* ---------------- */
.l-common-mailTable__hissu {
  position: relative;
  top: 4px;
  display: inline-block;
  width: 32px;
  height: 20px;
  background: url("../../images/hissu.svg") no-repeat;
  background-position: center;
  background-size: contain;
}

.custom-select {
  font-size: 0.9rem;
}

.form-control {
  font-size: 0.9rem;
}

.l-common-mailTable .l-common-mailTable__form .l-common-mailTable__hissu {
  margin-left: 5px;
}
.l-common-mailTable .l-common-mailTable__form table {
  line-height: 1.6666;
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #ccc;
  margin-bottom: 20px;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr {
  display: block;
  width: 100%;
  border-bottom: 1px solid #ccc;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr:nth-child(2n) {
  background-color: rgba(100, 122, 177, 0.08);
}
.l-common-mailTable .l-common-mailTable__form table tbody tr th,
.l-common-mailTable .l-common-mailTable__form table tbody tr td {
  display: block;
  width: 100%;
  padding: 1em;
  position: relative;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr th {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  text-align: left;
  width: 16em;
  padding-left: 10px;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td {
  padding-top: 0;
  padding-left: 2em;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td .sm {
  width: auto !important;
  display: inline;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td .md {
  max-width: 360px !important;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td .rei {
  color: #999;
  font-size: 12px;
  line-height: normal;
  display: block;
  margin: 5px 0 0;
}
.l-common-mailTable .l-common-mailTable__form .agree {
  text-align: center;
  margin-top: 20px;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
}
.l-common-mailTable .l-common-mailTable__form .form_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  gap: 20px 30px;
  margin-top: 20px;
}
.l-common-mailTable .l-common-mailTable__form .form_btn .btn {
  cursor: pointer;
}
.l-common-mailTable .l-common-mailTable__form .policy {
  margin-top: 30px;
}
.l-common-mailTable .l-common-mailTable__form .policy .ttl {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  margin: 1rem 0;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents {
  padding: 1.5% 3.4448%;
  border: solid 1px #ccc;
  max-height: 300px;
  overflow: auto;
  line-height: 1.3;
  background-color: #fff;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents::-webkit-scrollbar {
  width: 7px;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents::-webkit-scrollbar-track {
  background: #eee;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents::-webkit-scrollbar-thumb {
  background-color: #3A74DA;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents .subTtl {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  margin: 2rem 0 0;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents p,
.l-common-mailTable .l-common-mailTable__form .policy .contents ol {
  font-size: 16px;
  font-size: 1rem;
  margin: 1rem 0;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents ol {
  padding-left: 0;
  list-style: none;
  counter-reset: number;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents ol > li {
  padding-left: 2em;
  margin-bottom: 5px;
  position: relative;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents ol > li::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  content: counter(number) " .";
}
.l-common-mailTable .l-common-mailTable__form .policy .contents p a {
  color: rgb(31, 70, 248);
  border-bottom: 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media print, screen and (min-width: 768px) {
  .l-common-mailTable .l-common-mailTable__form table {
    width: 100%;
  }
  .l-common-mailTable .l-common-mailTable__form table tbody tr {
    display: table;
  }
  .l-common-mailTable .l-common-mailTable__form table tbody tr th,
  .l-common-mailTable .l-common-mailTable__form table tbody tr td {
    display: table-cell;
    padding: 1em 0;
  }
  .l-common-mailTable .l-common-mailTable__form table tbody tr th {
    width: 25%;
    padding-left: 10px;
    font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
    font-weight: 600;
  }
  .l-common-mailTable .l-common-mailTable__form table tbody tr td {
    padding-top: 20px;
    width: auto;
    padding-right: 10px;
  }
  .l-common-mailTable .l-common-mailTable__form .contents p,
  .l-common-mailTable .l-common-mailTable__form .contents ol {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .l-common-mailTable .l-common-mailTable__form .form_btn {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
/* ----------------
    タブ切り替え
* ---------------- */
.l-common__tab {
  /* panel design */
}
.l-common__tab .tab {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media print, screen and (min-width: 768px) {
  .l-common__tab .tab {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media print, screen and (min-width: 992px) {
  .l-common__tab .tab {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .l-common__tab .tab {
    grid-template-columns: repeat(5, 1fr);
  }
}
.l-common__tab .samplegrid-item {
  grid-column: 1/4;
  grid-row: 1/2;
  grid-area: title;
}
.l-common__tab .tab__item {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: auto;
  padding: 10px 15px;
  text-align: center;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  color: #333;
  background-color: #eee;
  border-radius: 999px;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  font-size: 14px;
  font-size: 0.875rem;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.l-common__tab .tab__item:focus {
  display: none;
}
.l-common__tab .tab__item.is__active {
  color: #fff;
  background-color: #0C2F6C;
}
.l-common__tab .panelGroup {
  margin-bottom: 30px;
}
.l-common__tab .panel {
  display: none;
  height: 100%;
  height: auto;
  padding: 0 40px;
}
.l-common__tab .panel.is__active {
  display: block;
}

.l-common-pointIcon {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 760px;
}

/* ----------------
    common btn
* ---------------- */
/* base */
.btn {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 0;
}

/* style01 */
.c-btn__style01 {
  position: relative;
  display: block;
  text-align: center;
  color: #3A74DA;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  padding: 20px 35px 20px 50px;
  border-radius: 999px;
  border-radius: 100px 100px 0px 100px;
  border: 1px solid #3A74DA;
  background-color: #FFF;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  font-size: 16px;
  font-size: 1rem;
  z-index: 0;
}
@media print, screen and (min-width: 992px) {
  .c-btn__style01 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.c-btn__style01::before {
  content: "";
  position: absolute;
  top: 55%;
  left: -30px;
  display: block;
  -webkit-transform-origin: center right;
          transform-origin: center right;
  width: 60px;
  height: 1px;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  background: #3A74DA;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.c-btn__style01::after {
  content: "";
  position: absolute;
  top: 46%;
  left: 17px;
  display: block;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 15px;
  height: 1px;
  background: #3A74DA;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.c-btn__style01:active, .c-btn__style01:focus, .c-btn__style01:hover {
  color: #fff;
  background-color: #3A74DA;
}
.c-btn__style01:active::before, .c-btn__style01:focus::before, .c-btn__style01:hover::before {
  background: #fff;
  -webkit-transform: scaleX(0.3);
          transform: scaleX(0.3);
}
.c-btn__style01:active::after, .c-btn__style01:focus::after, .c-btn__style01:hover::after {
  background: #fff;
}
.c-btn__style01.form {
  background-color: #0C2F6C;
  border-radius: 4px;
}
.c-btn__style01.back {
  color: #333333;
}
.c-btn__style01.back::before {
  background: #D9D9D9;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  z-index: -1;
}
.c-btn__style01.back::after {
  background: #3A74DA;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  z-index: 1;
}

/* ----------------
    common title
* ---------------- */
.c-title__en-left, .c-title__en-center, .c-title__en-right {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Outfit", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 400;
  line-height: 1;
  color: #3A74DA;
  font-size: 18px;
  font-size: 1.125rem;
  margin-bottom: 30px;
}
.c-title__en-left::after, .c-title__en-center::after, .c-title__en-right::after {
  content: "";
  position: absolute;
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #3A74DA;
}
@media screen and (min-width: 576px) {
  .c-title__en-left, .c-title__en-center, .c-title__en-right {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.c-title__en-left {
  padding-right: 16px;
}
.c-title__en-left::after {
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.c-title__en-center {
  padding-bottom: 16px;
}
.c-title__en-center::after {
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.c-title__en-right {
  padding-left: 16px;
}
.c-title__en-right::after {
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

.c-title__ja-h2 {
  font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 600;
  font-size: 22px;
  font-size: 1.375rem;
}
@media print, screen and (min-width: 768px) {
  .c-title__ja-h2 {
    font-size: 32px;
    font-size: 2rem;
  }
}
.c-title__ja-h3 {
  font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 600;
  font-size: 22px;
  font-size: 1.375rem;
}
@media print, screen and (min-width: 768px) {
  .c-title__ja-h3 {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

/* style01 */
.c-title01 {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 20px;
  text-align: left;
  font-size: 24px;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  line-height: 1.75;
  z-index: 0;
}
@media print, screen and (min-width: 992px) {
  .c-title01 {
    font-size: 32px;
    font-size: 2rem;
    margin-bottom: 32px;
  }
}
.c-title01.center {
  text-align: center;
}
.c-title01.white {
  color: #fff;
}
.c-title01::before {
  content: "";
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #3A74DA;
  z-index: -2;
}
.c-title01::after {
  content: "";
  position: absolute;
  bottom: 0;
  display: block;
  width: 40px;
  height: 2px;
  background: #0C2F6C;
  z-index: -2;
}

.c-title02 {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 20px;
  text-align: left;
  font-size: 24px;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  line-height: 1.75;
  z-index: 0;
}
@media print, screen and (min-width: 992px) {
  .c-title02 {
    font-size: 32px;
    font-size: 2rem;
    margin-bottom: 32px;
  }
}
.c-title02.center {
  text-align: center;
}
.c-title02.white {
  color: #fff;
}

.c-title03 {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 20px;
  text-align: left;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  line-height: 1.5;
  color: #3A74DA;
  z-index: 0;
}
@media print, screen and (min-width: 992px) {
  .c-title03 {
    font-size: 24px;
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
}
.c-title03.center {
  text-align: center;
}
.c-title03.white {
  color: #fff;
}

.c-title04 {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 20px;
  text-align: left;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  line-height: 1.75;
  z-index: 0;
}
@media print, screen and (min-width: 992px) {
  .c-title04 {
    font-size: 24px;
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
}
.c-title04.center {
  text-align: center;
}
.c-title04.white {
  color: #fff;
}
.c-title04 .smalltxt {
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
}
@media print, screen and (min-width: 992px) {
  .c-title04 .smalltxt {
    display: inline;
    font-size: 16px;
    font-size: 1rem;
    font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
    font-weight: 600;
  }
}
.c-title04::before {
  content: "";
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #3A74DA;
  z-index: -2;
}

/* ----------------
    common text
* ---------------- */
.c-text__center {
  font-size: 16px;
  font-size: 1rem;
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  line-height: 2;
  z-index: 0;
}
.c-text__center::before, .c-text__center::after {
  content: "";
  width: 0;
  height: 0;
  display: block;
}
.c-text__center::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.c-text__center::after {
  margin-bottom: calc((1 - 2) * 0.6em);
}
@media print, screen and (min-width: 768px) {
  .c-text__center {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.c-text__center-bold {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
}
.c-text__center.white {
  color: #fff;
}

.c-text__left {
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
  z-index: 0;
}
.c-text__left::before, .c-text__left::after {
  content: "";
  width: 0;
  height: 0;
  display: block;
}
.c-text__left::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.c-text__left::after {
  margin-bottom: calc((1 - 2) * 0.6em);
}
@media print, screen and (min-width: 768px) {
  .c-text__left {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.c-text__left-bold {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
}
.c-text__left.bg {
  background-color: #f6f6f6;
}
.c-text__left.white {
  color: #fff;
}

.c-text__right {
  font-size: 16px;
  font-size: 1rem;
  text-align: right;
  line-height: 2;
  z-index: 0;
}
.c-text__right::before, .c-text__right::after {
  content: "";
  width: 0;
  height: 0;
  display: block;
}
.c-text__right::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.c-text__right::after {
  margin-bottom: calc((1 - 2) * 0.6em);
}
@media print, screen and (min-width: 768px) {
  .c-text__right {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.c-text__right-bold {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
}
.c-text__right.white {
  color: #fff;
}

.c-text__kougo p {
  padding: 15px 20px;
  margin-bottom: 10px;
  line-height: 2;
  font-size: 16px;
  font-size: 1rem;
}
.c-text__kougo p:nth-of-type(2n) {
  background-color: #f6f6f6;
}

.c-text__disclist {
  position: relative;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 500;
}
.c-text__disclist li {
  position: relative;
  padding-left: 1.2rem;
  line-height: 1.75;
}
.c-text__disclist li::after {
  content: "";
  position: absolute;
  top: 0.75rem;
  right: 0;
  bottom: 0;
  left: 0.3rem;
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 9999px;
  background: #333333;
}

/* ----------------
    pagetop
* ---------------- */
.c-pagetop {
  position: fixed;
  bottom: 15px;
  right: -100px;
  opacity: 0;
  -webkit-transition: 0.3s opacity ease-in-out;
  transition: 0.3s opacity ease-in-out;
}
.c-pagetop.is-active {
  right: 15px;
  opacity: 1;
}
.c-pagetop > div {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 0px 100px 100px 100px;
  background: rgba(58, 116, 219, 0.9);
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  z-index: 2;
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  -webkit-transition: 0.2s background-color;
  transition: 0.2s background-color;
  cursor: pointer;
}
.c-pagetop > div:hover {
  background: rgba(12, 47, 108, 0.9);
}
@media print, screen and (min-width: 768px) {
  .c-pagetop > div {
    width: 100px;
    height: 100px;
  }
}
.c-pagetop > div::after {
  content: "";
  position: absolute;
  top: 14.5%;
  right: 70%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 1px;
  height: 18px;
  background: #fff;
}
@media print, screen and (min-width: 768px) {
  .c-pagetop > div::after {
    height: 36px;
  }
}
.c-pagetop > div > .text {
  position: absolute;
  top: 50%;
  left: 27%;
  -webkit-transform: translate(0, -55%) rotate(-90deg);
          transform: translate(0, -55%) rotate(-90deg);
  font-family: "Outfit", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 10px;
  font-size: 0.625rem;
  text-align: center;
  color: #fff;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .c-pagetop > div > .text {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.c-pagetop > div > .line {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.c-pagetop > div > .line:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 58%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 1px;
  height: 40px;
  background: #fff;
}
@media print, screen and (min-width: 768px) {
  .c-pagetop > div > .line:before {
    height: 60px;
  }
}
.c-pagetop > div > .line:after {
  content: "";
  position: absolute;
  top: 0;
  right: 54.5%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgb(255, 255, 255);
  animation: circlemove 1.8s ease-in-out reverse infinite, cirlemovehide 1.8s ease-out reverse infinite;
}

/* ----------------
    mainvisual
* ---------------- */
.p-home__mv {
  display: block;
  position: relative;
  width: 100%;
  height: 500px;
}
@media print, screen and (min-width: 768px) {
  .p-home__mv {
    height: 100svh;
  }
}
.p-home__caption {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% - 30px);
  max-width: 790px;
}

/* scroll anime */
.scroll {
  position: absolute;
  bottom: clamp(15px, 4vw, 40px);
  left: clamp(15px, 4vw, 40px);
  width: 60px;
  height: 60px;
  border-radius: 100px 100px 0px 100px;
  background: rgba(58, 116, 219, 0.9);
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  z-index: 2;
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
@media print, screen and (min-width: 768px) {
  .scroll {
    width: 100px;
    height: 100px;
  }
}
.scroll::after {
  content: "";
  position: absolute;
  bottom: 15%;
  left: 67%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 1px;
  height: 18px;
  background: #fff;
}
@media print, screen and (min-width: 768px) {
  .scroll::after {
    height: 36px;
  }
}
.scroll .text {
  position: absolute;
  top: 50%;
  left: 27%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  font-family: "Outfit", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 10px;
  font-size: 0.625rem;
  text-align: center;
  color: #fff;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media print, screen and (min-width: 768px) {
  .scroll .text {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.scroll .line {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.scroll .line:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 55%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 1px;
  height: 40px;
  background: #fff;
}
@media print, screen and (min-width: 768px) {
  .scroll .line:before {
    height: 60px;
  }
}
.scroll .line:after {
  content: "";
  position: absolute;
  top: 0;
  left: 55%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgb(255, 255, 255);
  -webkit-animation: circlemove 1.8s ease-in-out infinite, cirlemovehide 1.8s ease-out infinite;
          animation: circlemove 1.8s ease-in-out infinite, cirlemovehide 1.8s ease-out infinite;
}

/*circle-up-down*/
@-webkit-keyframes circlemove {
  0% {
    top: 15%;
  }
  100% {
    top: 75%;
  }
}
@keyframes circlemove {
  0% {
    top: 15%;
  }
  100% {
    top: 75%;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
/*circle-opacity*/
@-webkit-keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
/* ----------------
    home index.html
* ---------------- */
.p-home__about {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}
.p-home__about > .container {
  display: grid;
  grid-template-columns: auto;
  gap: 40px;
  margin-top: 40px;
  margin-bottom: 50px;
}
@media print, screen and (min-width: 992px) {
  .p-home__about > .container {
    grid-template-columns: auto auto;
    gap: 74px;
    margin-top: 90px;
    margin-bottom: 50px;
  }
}
.p-home__about .textarea .title {
  width: min(100%, 591px);
  margin-bottom: 40px;
}
.p-home__about .textarea .title img {
  width: 100%;
  height: auto;
}
.p-home__about .textarea .text {
  width: min(100%, 500px);
}
.p-home__about .serviceList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  place-content: center;
  text-align: center;
}
@media screen and (min-width: 576px) {
  .p-home__about .serviceList {
    grid-template-columns: 1fr 1fr;
  }
}
@media print, screen and (min-width: 992px) {
  .p-home__about .serviceList {
    margin-top: 50px;
  }
}
.p-home__about .serviceList li {
  height: 47px;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  color: #fff;
  background-color: #3A74DA;
  line-height: 1;
  display: grid;
  place-content: center;
  padding-left: 10px;
  padding-right: 10px;
}
@media print, screen and (min-width: 768px) {
  .p-home__about .serviceList li {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
@media print, screen and (min-width: 992px) {
  .p-home__about .serviceList li {
    width: 210px;
  }
}
@media screen and (min-width: 576px) {
  .p-home__about .serviceList .tsume {
    letter-spacing: -0.07em;
  }
}

.p-home__about .bg01 {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 300px;
  overflow: hidden;
  z-index: -1;
}
@media print, screen and (min-width: 992px) {
  .p-home__about .bg01 {
    width: 429px;
    height: 100%;
    top: 0;
    right: 0;
    bottom: auto;
  }
}
.p-home__about .bg02 {
  position: relative;
  width: 100%;
  height: 150px;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .p-home__about .bg02 {
    width: calc(min(100%, 1140px) + (100% - min(100%, 1140px)) / 2);
    height: 260px;
    border-radius: 50px 0px 0px 50px;
    margin-left: auto;
  }
}

.p-home__works {
  position: relative;
  z-index: 0;
}
.p-home__works .textarea {
  position: relative;
}
.p-home__works .textarea .en {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.p-home__works .textarea .title {
  width: min(100%, 547px);
  margin-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
}
.p-home__works .textarea .title img {
  width: 100%;
  height: auto;
}
.p-home__works .worksList {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 30px;
}
@media screen and (min-width: 400px) {
  .p-home__works .worksList {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 768px) {
  .p-home__works .worksList {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .p-home__works .worksList {
    width: min(100%, 100% - 90px);
    grid-template-columns: repeat(4, 1fr);
    gap: 50px 30px;
    padding: 0 45px;
  }
}
.p-home__works .worksList li {
  position: relative;
  z-index: 0;
}
.p-home__works .worksList li a {
  position: relative;
  display: block;
  aspect-ratio: 3/2;
  background-color: #0C2F6C;
}
.p-home__works .worksList li a img {
  opacity: 1;
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
}
.p-home__works .worksList li a:active img, .p-home__works .worksList li a:active::before, .p-home__works .worksList li a:active::after, .p-home__works .worksList li a:focus img, .p-home__works .worksList li a:focus::before, .p-home__works .worksList li a:focus::after {
  opacity: 0.7;
}
@media print, screen and (min-width: 768px) {
  .p-home__works .worksList li a:hover img, .p-home__works .worksList li a:hover::before, .p-home__works .worksList li a:hover::after {
    opacity: 0.7;
  }
}
.p-home__works .worksList li a::before {
  content: "";
  position: absolute;
  right: -10px;
  bottom: -10px;
  display: block;
  width: 40px;
  height: 40px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 0px 100px 100px 100px;
  background: rgba(58, 116, 219, 0.9);
  z-index: 3;
  opacity: 1;
}
.p-home__works .worksList li a::after {
  content: "";
  position: absolute;
  right: 0px;
  bottom: 0;
  display: block;
  width: 20px;
  height: 20px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 0px 100px 100px 100px;
  background-size: contain;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0,0,18,18"><path fill="%23FFFFFF" d="M8.07246 13.2608H9.92754V9.92749H13.2609V8.0724H9.92754V4.73907H8.07246V8.0724H4.73912V9.92749H8.07246V13.2608ZM9 17.7337C7.78441 17.7337 6.64618 17.5048 5.58529 17.047C4.52439 16.5892 3.60155 15.9679 2.81679 15.1832C2.03201 14.3984 1.41073 13.4756 0.952955 12.4147C0.495178 11.3538 0.266289 10.2155 0.266289 8.99994C0.266289 7.78436 0.495178 6.64612 0.952955 5.58524C1.41073 4.52433 2.03201 3.6015 2.81679 2.81674C3.60155 2.03196 4.52439 1.41068 5.58529 0.952902C6.64618 0.495125 7.78441 0.266235 9 0.266235C10.2156 0.266235 11.3538 0.495125 12.4147 0.952902C13.4756 1.41068 14.3984 2.03196 15.1832 2.81674C15.968 3.6015 16.5893 4.52433 17.047 5.58524C17.5048 6.64612 17.7337 7.78436 17.7337 8.99994C17.7337 10.2155 17.5048 11.3538 17.047 12.4147C16.5893 13.4756 15.968 14.3984 15.1832 15.1832C14.3984 15.9679 13.4756 16.5892 12.4147 17.047C11.3538 17.5048 10.2156 17.7337 9 17.7337Z" /></svg>');
  background-repeat: no-repeat;
  z-index: 4;
  opacity: 1;
}
.p-home__works .worksList p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  padding-top: 8px;
}

.p-home__recruit {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}
.p-home__recruit .bg {
  position: relative;
  width: 100%;
  height: 150px;
  overflow: hidden;
  margin-bottom: 40px;
}
@media print, screen and (min-width: 992px) {
  .p-home__recruit .bg {
    width: calc(min(100%, 1140px) + (100% - min(100%, 1140px)) / 2);
    height: 260px;
    border-radius: 0px 50px 50px 0px;
    margin-right: auto;
    margin-bottom: 90px;
  }
}
.p-home__recruit > .container.grid {
  display: grid;
  grid-template-columns: auto;
  gap: 40px;
  margin-bottom: 40px;
}
@media print, screen and (min-width: 992px) {
  .p-home__recruit > .container.grid {
    grid-template-columns: auto 50%;
    gap: 40px;
    margin-bottom: 54px;
  }
}
.p-home__recruit .textarea .title {
  width: min(100%, 188px);
  margin-bottom: 12px;
}
.p-home__recruit .textarea .title img {
  width: 100%;
  height: auto;
}
.p-home__recruit .conditions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-home__recruit .conditions {
    place-content: center;
  }
}
@media print, screen and (min-width: 992px) {
  .p-home__recruit .conditions {
    margin-top: 100px;
  }
}
.p-home__recruit .conditions dl {
  display: grid;
  grid-template-columns: 128px auto;
}
.p-home__recruit .conditions dl dt {
  color: #fff;
  padding: 20px 28px;
  background-color: #3A74DA;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  font-size: 18px;
  font-size: 1.125rem;
  white-space: nowrap;
  line-height: 1.5;
  display: grid;
  place-content: center;
}
.p-home__recruit .conditions dl dt.sinsotsu {
  background-color: #3A74DA;
}
.p-home__recruit .conditions dl dt.tyuuto {
  background-color: #0C2F6C;
}
.p-home__recruit .conditions dl dd {
  padding: 12px 30px;
  background-color: #eee;
  font-size: 14px;
  font-size: 0.875rem;
}

/* ----------------
    works
* ---------------- */
.p-works__worksList {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 30px;
}
@media screen and (min-width: 400px) {
  .p-works__worksList {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 768px) {
  .p-works__worksList {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .p-works__worksList {
    grid-template-columns: repeat(4, 1fr);
    gap: 50px 30px;
    padding: 0 45px;
  }
}
.p-works__worksList li {
  position: relative;
  z-index: 0;
}
.p-works__worksList li a {
  position: relative;
  display: block;
  aspect-ratio: 3/2;
  margin-bottom: 18px;
  border: 1px solid #eee;
}
.p-works__worksList li a img {
  opacity: 1;
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
}
.p-works__worksList li a:active img, .p-works__worksList li a:active::before, .p-works__worksList li a:active::after, .p-works__worksList li a:focus img, .p-works__worksList li a:focus::before, .p-works__worksList li a:focus::after {
  opacity: 0.7;
}
@media print, screen and (min-width: 768px) {
  .p-works__worksList li a:hover img, .p-works__worksList li a:hover::before, .p-works__worksList li a:hover::after {
    opacity: 0.7;
  }
}
.p-works__worksList li a::before {
  content: "";
  position: absolute;
  right: -10px;
  bottom: -10px;
  display: block;
  width: 40px;
  height: 40px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 0px 100px 100px 100px;
  background: rgba(58, 116, 219, 0.9);
  z-index: 3;
  opacity: 1;
}
.p-works__worksList li a::after {
  content: "";
  position: absolute;
  right: 0px;
  bottom: 0;
  display: block;
  width: 20px;
  height: 20px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 0px 100px 100px 100px;
  background-size: contain;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0,0,18,18"><path fill="%23FFFFFF" d="M8.07246 13.2608H9.92754V9.92749H13.2609V8.0724H9.92754V4.73907H8.07246V8.0724H4.73912V9.92749H8.07246V13.2608ZM9 17.7337C7.78441 17.7337 6.64618 17.5048 5.58529 17.047C4.52439 16.5892 3.60155 15.9679 2.81679 15.1832C2.03201 14.3984 1.41073 13.4756 0.952955 12.4147C0.495178 11.3538 0.266289 10.2155 0.266289 8.99994C0.266289 7.78436 0.495178 6.64612 0.952955 5.58524C1.41073 4.52433 2.03201 3.6015 2.81679 2.81674C3.60155 2.03196 4.52439 1.41068 5.58529 0.952902C6.64618 0.495125 7.78441 0.266235 9 0.266235C10.2156 0.266235 11.3538 0.495125 12.4147 0.952902C13.4756 1.41068 14.3984 2.03196 15.1832 2.81674C15.968 3.6015 16.5893 4.52433 17.047 5.58524C17.5048 6.64612 17.7337 7.78436 17.7337 8.99994C17.7337 10.2155 17.5048 11.3538 17.047 12.4147C16.5893 13.4756 15.968 14.3984 15.1832 15.1832C14.3984 15.9679 13.4756 16.5892 12.4147 17.047C11.3538 17.5048 10.2156 17.7337 9 17.7337Z" /></svg>');
  background-repeat: no-repeat;
  z-index: 4;
  opacity: 1;
}
.p-works__worksList .category {
  border-radius: 0px 100px 100px 100px;
  font-size: 13px;
  font-size: 0.8125rem;
  color: #fff;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  background-color: #0C2F6C;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 12px;
  padding: 8px 12px;
  line-height: 1;
}
.p-works__worksList .paragraph {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
  padding-top: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eee;
}
.p-works__worksList .paragraph > .title {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
}

/* ----------------
    about
* ---------------- */
.p-about__image {
  width: min(100%, 800px);
  margin-left: auto;
  margin-right: auto;
}

.p-about__toptext {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.p-about__bottomImg {
  border-radius: 0px 80px 0px 80px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 3/2;
  z-index: 0;
}

.container.p-about__bottomtext {
  display: block;
  margin-top: 40px;
  margin-bottom: 50px;
}

/* ----------------
    recruit
* ---------------- */
.p-recruit__intro {
  position: relative;
}
.p-recruit__intro .bg01 {
  position: absolute;
  bottom: 10%;
  width: 100%;
  height: 73%;
  overflow: hidden;
  z-index: -1;
}
.p-recruit__intro .bg01 img {
  opacity: 0.8;
}
@media print, screen and (min-width: 992px) {
  .p-recruit__intro .bg01 {
    width: 80%;
  }
}
.p-recruit__intro .bg02 {
  position: relative;
  width: 100%;
  height: 250px;
  overflow: hidden;
}
@media print, screen and (min-width: 992px) {
  .p-recruit__intro .bg02 {
    width: calc(min(100%, 1140px) + (100% - min(100%, 1140px)) / 2);
    height: 400px;
    border-radius: 50px 0px 0px 50px;
    margin-left: auto;
  }
}

.p-recruit__contact > .container.grid {
  display: grid;
  grid-template-columns: auto;
  gap: 40px;
}
@media print, screen and (min-width: 992px) {
  .p-recruit__contact > .container.grid {
    grid-template-columns: auto 50%;
    gap: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .p-recruit__contact > .container.grid {
    grid-template-columns: auto 68%;
    gap: 40px;
  }
}
.p-recruit__contact .conditions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media print, screen and (min-width: 768px) {
  .p-recruit__contact .conditions {
    place-content: center;
  }
}
.p-recruit__contact .conditions dl {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 576px) {
  .p-recruit__contact .conditions dl {
    grid-template-columns: 158px auto;
    height: 120px;
  }
}
@media screen and (min-width: 1200px) {
  .p-recruit__contact .conditions dl {
    grid-template-columns: 300px auto;
  }
}
.p-recruit__contact .conditions dl dt {
  color: #fff;
  padding: 8px 28px;
  background-color: #3A74DA;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  font-size: 18px;
  font-size: 1.125rem;
  white-space: nowrap;
  line-height: 1.5;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-recruit__contact .conditions dl dt svg {
  margin-top: 2px;
  margin-right: 8px;
  width: 24px;
  height: 24px;
}
@media screen and (min-width: 576px) {
  .p-recruit__contact .conditions dl dt {
    padding: 20px 28px;
  }
}
@media screen and (min-width: 1200px) {
  .p-recruit__contact .conditions dl dt {
    font-size: 22px;
    font-size: 1.375rem;
  }
}
.p-recruit__contact .conditions dl dt.mail {
  background-color: #3A74DA;
}
.p-recruit__contact .conditions dl dt.tel {
  background-color: #0C2F6C;
}
.p-recruit__contact .conditions dl dd {
  padding: 12px 30px;
  background-color: #f7f7f7;
  font-size: 14px;
  font-size: 0.875rem;
  display: grid;
  place-content: center;
}
.p-recruit__contact .conditions dl dd p {
  margin-top: 4px;
  font-size: 14px;
  font-size: 0.875rem;
  text-align: center;
}
.p-recruit__contact .conditions dl dd > .tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #3A74DA;
  line-height: 1;
  font-size: 28px;
  font-size: 1.75rem;
  font-family: "Outfit", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 400;
}
@media print, screen and (min-width: 768px) {
  .p-recruit__contact .conditions dl dd > .tel {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media screen and (min-width: 1200px) {
  .p-recruit__contact .conditions dl dd > .tel {
    font-size: 30px;
    font-size: 1.875rem;
  }
}
.p-recruit__contact .conditions dl dd > .tel svg {
  width: 28px;
  height: 28px;
  margin-right: 2px;
}
@media screen and (min-width: 1200px) {
  .p-recruit__contact .conditions dl dd > .tel svg {
    width: 30px;
    height: 30px;
  }
}
.p-recruit__contact .conditions dl dd > .tel span {
  margin-bottom: 2px;
}

.p-recruit__polisy .policy .contents {
  padding: 1.5% 3.4448%;
  border: solid 1px #ccc;
  max-height: 300px;
  overflow: auto;
  line-height: 1.3;
  background-color: #fff;
}
.p-recruit__polisy .policy .contents::-webkit-scrollbar {
  width: 7px;
}
.p-recruit__polisy .policy .contents::-webkit-scrollbar-track {
  background: #eee;
}
.p-recruit__polisy .policy .contents::-webkit-scrollbar-thumb {
  background-color: #3A74DA;
}
.p-recruit__polisy .policy .contents .subTtl {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
  margin: 2rem 0 0;
}
.p-recruit__polisy .policy .contents p,
.p-recruit__polisy .policy .contents ol {
  font-size: 16px;
  font-size: 1rem;
  margin: 1rem 0;
}
.p-recruit__polisy .policy .contents ol {
  padding-left: 0;
  list-style: none;
  counter-reset: number;
}
.p-recruit__polisy .policy .contents ol > li {
  padding-left: 2em;
  margin-bottom: 5px;
  position: relative;
}
.p-recruit__polisy .policy .contents ol > li::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  content: counter(number) " .";
}
.p-recruit__polisy .policy .contents p a {
  color: rgb(31, 70, 248);
  border-bottom: 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* --------------------------------
    fontSize html内呼出し
* -------------------------------- */
/* fontSize*/
.txt12 {
  font-size: 16px;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .txt12 {
    font-size: 12px;
    font-size: 0.75rem;
  }
}

.txt14 {
  font-size: 16px;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .txt14 {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.txt16 {
  font-size: 16px;
  font-size: 1rem;
}

.txt18 {
  font-size: 16px;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .txt18 {
    font-size: 18px;
    font-size: 1.125rem;
  }
}

.txt20 {
  font-size: 20px;
  font-size: 1.25rem;
}

.txt22 {
  font-size: 22px;
  font-size: 1.375rem;
}

.txt24 {
  font-size: 24px;
  font-size: 1.5rem;
}

.txt26 {
  font-size: 26px;
  font-size: 1.625rem;
}

.txt28 {
  font-size: 28px;
  font-size: 1.75rem;
}

.txt30 {
  font-size: 30px;
  font-size: 1.875rem;
}

.txt32 {
  font-size: 32px;
  font-size: 2rem;
}

.txt36 {
  font-size: 36px;
  font-size: 2.25rem;
}

.txt40 {
  font-size: 40px;
  font-size: 2.5rem;
}

.txt42 {
  font-size: 42px;
  font-size: 2.625rem;
}

.txt46 {
  font-size: 46px;
  font-size: 2.875rem;
}

.txt48 {
  font-size: 48px;
  font-size: 3rem;
}

.txt50 {
  font-size: 50px;
  font-size: 3.125rem;
}

.ja-serif {
  font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight: 600;
}

.marker {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.marker::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 3px;
  display: block;
  width: 100%;
  height: 8px;
  background-color: rgba(255, 172, 112, 0.4);
  z-index: -1;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}

.txtlink {
  color: rgb(31, 70, 248);
  border-bottom: 1px solid;
}

.txtmaincolor {
  color: #3A74DA;
}

.bg-gray {
  background-color: #f6f6f6;
}

.bg-blue {
  background-color: rgba(23, 67, 182, 0.3);
}

.bg-lightblue {
  background-color: rgba(59, 113, 253, 0.2);
}

.bg-blueimg {
  padding-left: 15px;
  padding-right: 15px;
  background-image: url(../images/bg1.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media print, screen and (min-width: 992px) {
  .bg-blueimg {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.bg-blueimg.white {
  color: #fff !important;
}

.ja-bold {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 600;
}

.ja-medi {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 500;
}

.lh-20::before, .lh-20::after {
  content: "";
  width: 0;
  height: 0;
  display: block;
}
.lh-20::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.lh-20::after {
  margin-bottom: calc((1 - 2) * 0.6em);
}

/*-------------------
object_fit_img
---------------------*/
.photo-ofi {
  height: 0;
  display: block;
  padding-top: 75%;
  overflow: hidden;
  position: relative;
}

.photo-ofi img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: scale-down;
     object-fit: scale-down;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  /* 中央寄せ　横/縦 */
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgb(250, 250, 250);
}

.photo-ofi a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
}

img.object-fit-img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: scale-down;
     object-fit: scale-down;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  /* 中央寄せ　横/縦 */
}

img.object-fit-img.cover {
  -o-object-fit: cover;
     object-fit: cover;
}

img.object-fit-img.covertop {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

img.object-fit-img.coverbottom {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}

img.object-fit-img.coverleft {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center left;
     object-position: center left;
}

img.object-fit-img.coverright {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center right;
     object-position: center right;
}

/*-------------------
margin
---------------------*/
.mt10 {
  margin-top: 10px;
}

.mb10 {
  margin-bottom: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mb20 {
  margin-bottom: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mb30 {
  margin-bottom: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mb40 {
  margin-bottom: 40px;
}

.mt50 {
  margin-top: 8.6805555556vw;
}
@media print, screen and (min-width: 768px) {
  .mt50 {
    margin-top: 50px;
  }
}

.mb50 {
  margin-bottom: 8.6805555556vw;
}
@media print, screen and (min-width: 768px) {
  .mb50 {
    margin-bottom: 50px;
  }
}

.mt60 {
  margin-top: 10.4166666667vw;
}
@media print, screen and (min-width: 768px) {
  .mt60 {
    margin-top: 60px;
  }
}

.mb60 {
  margin-bottom: 10.4166666667vw;
}
@media print, screen and (min-width: 768px) {
  .mb60 {
    margin-bottom: 60px;
  }
}

.mt70 {
  margin-top: 12.1527777778vw;
}
@media print, screen and (min-width: 768px) {
  .mt70 {
    margin-top: 70px;
  }
}

.mb70 {
  margin-bottom: 12.1527777778vw;
}
@media print, screen and (min-width: 768px) {
  .mb70 {
    margin-bottom: 70px;
  }
}

.mt80 {
  margin-top: 13.8888888889vw;
}
@media print, screen and (min-width: 768px) {
  .mt80 {
    margin-top: 80px;
  }
}

.mb80 {
  margin-bottom: 13.8888888889vw;
}
@media print, screen and (min-width: 768px) {
  .mb80 {
    margin-bottom: 80px;
  }
}

.mt90 {
  margin-top: 15.625vw;
}
@media print, screen and (min-width: 768px) {
  .mt90 {
    margin-top: 90px;
  }
}

.mb90 {
  margin-bottom: 15.625vw;
}
@media print, screen and (min-width: 768px) {
  .mb90 {
    margin-bottom: 90px;
  }
}

.mt100 {
  margin-top: 17.3611111111vw;
}
@media print, screen and (min-width: 768px) {
  .mt100 {
    margin-top: 100px;
  }
}

.mb100 {
  margin-bottom: 17.3611111111vw;
}
@media print, screen and (min-width: 768px) {
  .mb100 {
    margin-bottom: 100px;
  }
}

.mt120 {
  margin-top: 20.8333333333vw;
}
@media print, screen and (min-width: 768px) {
  .mt120 {
    margin-top: 120px;
  }
}

.mb120 {
  margin-bottom: 20.8333333333vw;
}
@media print, screen and (min-width: 768px) {
  .mb120 {
    margin-bottom: 120px;
  }
}

.mt140 {
  margin-top: 24.3055555556vw;
}
@media print, screen and (min-width: 768px) {
  .mt140 {
    margin-top: 140px;
  }
}

.mb140 {
  margin-bottom: 24.3055555556vw;
}
@media print, screen and (min-width: 768px) {
  .mb140 {
    margin-bottom: 140px;
  }
}

.mt160 {
  margin-top: 27.7777777778vw;
}
@media print, screen and (min-width: 768px) {
  .mt160 {
    margin-top: 160px;
  }
}

.mb160 {
  margin-bottom: 27.7777777778vw;
}
@media print, screen and (min-width: 768px) {
  .mb160 {
    margin-bottom: 160px;
  }
}

/*-------------------
padding
---------------------*/
.pt10 {
  padding-top: 10px;
}

.pb10 {
  padding-bottom: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pb20 {
  padding-bottom: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pb30 {
  padding-bottom: 30px;
}

.pt40 {
  padding-top: 40px;
}

.pb40 {
  padding-bottom: 40px;
}

.pt50 {
  padding-top: 8.6805555556vw;
}
@media print, screen and (min-width: 768px) {
  .pt50 {
    padding-top: 50px;
  }
}

.pb50 {
  padding-bottom: 8.6805555556vw;
}
@media print, screen and (min-width: 768px) {
  .pb50 {
    padding-bottom: 50px;
  }
}

.pt60 {
  padding-top: 10.4166666667vw;
}
@media print, screen and (min-width: 768px) {
  .pt60 {
    padding-top: 60px;
  }
}

.pb60 {
  padding-bottom: 10.4166666667vw;
}
@media print, screen and (min-width: 768px) {
  .pb60 {
    padding-bottom: 60px;
  }
}

.pt70 {
  padding-top: 12.1527777778vw;
}
@media print, screen and (min-width: 768px) {
  .pt70 {
    padding-top: 70px;
  }
}

.pb70 {
  padding-bottom: 12.1527777778vw;
}
@media print, screen and (min-width: 768px) {
  .pb70 {
    padding-bottom: 70px;
  }
}

.pt80 {
  padding-top: 13.8888888889vw;
}
@media print, screen and (min-width: 768px) {
  .pt80 {
    padding-top: 80px;
  }
}

.pb80 {
  padding-bottom: 13.8888888889vw;
}
@media print, screen and (min-width: 768px) {
  .pb80 {
    padding-bottom: 80px;
  }
}

.pt90 {
  padding-top: 15.625vw;
}
@media print, screen and (min-width: 768px) {
  .pt90 {
    padding-top: 90px;
  }
}

.pb90 {
  padding-bottom: 15.625vw;
}
@media print, screen and (min-width: 768px) {
  .pb90 {
    padding-bottom: 90px;
  }
}

.pt100 {
  padding-top: 17.3611111111vw;
}
@media print, screen and (min-width: 768px) {
  .pt100 {
    padding-top: 100px;
  }
}

.pb100 {
  padding-bottom: 17.3611111111vw;
}
@media print, screen and (min-width: 768px) {
  .pb100 {
    padding-bottom: 100px;
  }
}

.pt120 {
  padding-top: 20.8333333333vw;
}
@media print, screen and (min-width: 768px) {
  .pt120 {
    padding-top: 120px;
  }
}

.pb120 {
  padding-bottom: 20.8333333333vw;
}
@media print, screen and (min-width: 768px) {
  .pb120 {
    padding-bottom: 120px;
  }
}

.pt140 {
  padding-top: 24.3055555556vw;
}
@media print, screen and (min-width: 768px) {
  .pt140 {
    padding-top: 140px;
  }
}

.pb140 {
  padding-bottom: 24.3055555556vw;
}
@media print, screen and (min-width: 768px) {
  .pb140 {
    padding-bottom: 140px;
  }
}

.pt160 {
  padding-top: 27.7777777778vw;
}
@media print, screen and (min-width: 768px) {
  .pt160 {
    padding-top: 160px;
  }
}

.pb160 {
  padding-bottom: 27.7777777778vw;
}
@media print, screen and (min-width: 768px) {
  .pb160 {
    padding-bottom: 160px;
  }
}

.pAll15 {
  padding: 15px;
}

.pAll20 {
  padding: 20px;
}/*# sourceMappingURL=style.css.map */