@charset "UTF-8";
/*---------------------------------------
  リセット
/*---------------------------------------*/
*, *:before, *:after {
  box-sizing: border-box;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, 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;
  vertical-align: baseline;
  background: transparent;
}

body {
  width: 100%;
  color: #000;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  /* safari hover対策 */
  -webkit-font-smoothing: antialiased;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  color: inherit;
  text-decoration: none;
  vertical-align: baseline;
}

ins {
  color: #000;
  text-decoration: none;
  background-color: #ff9;
}

mark {
  color: #000;
  font-weight: bold;
  font-style: italic;
  background-color: #ff9;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

li {
  list-style: none;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}

input, select {
  vertical-align: middle;
}

img {
  width: 100%;
  height: auto;
  line-height: 1;
  vertical-align: bottom;
}

button {
  padding: 0;
  border: none;
  outline: none;
  line-height: 1;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

*, *:before, *:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  z-index: 1;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
}

/*---------------------------------------
  common
/*---------------------------------------*/
body.noscroll {
  overflow: hidden;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.wrap {
  width: 100%;
}

@media screen and (max-width: 768px) {
  body {
    min-width: 100%;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .wrap {
    overflow: hidden;
    max-width: 100vw;
  }
}
@media screen and (min-width: 769px) {
  .imgalpha {
    cursor: pointer;
    transition: opacity 0.6s;
  }
  .imgalpha:hover {
    opacity: 0.6 !important;
  }
}
@media screen and (min-width: 769px) {
  a[href*="tel:"] {
    text-decoration: none;
    pointer-events: none;
    cursor: default;
  }
}
section {
  position: relative;
}
section .inner {
  position: relative;
}

.inner {
  max-width: 71.25vw;
  width: 100%;
  margin: 0 auto;
  padding: 0 1.25vw;
}
@media screen and (max-width: 768px) {
  .inner {
    max-width: 89.3333333333vw;
    padding: 0;
  }
}

.cont_txt {
  line-height: 1.875;
  font-size: 1vw;
}
@media screen and (max-width: 768px) {
  .cont_txt {
    line-height: 1.5334;
    font-size: 4vw;
  }
}

/*--------------------------------------- 
  loading
/*---------------------------------------*/
.loader {
  display: flex;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 10000;
  align-items: center;
  justify-content: center;
}

.loader_circle {
  width: 2.5vw;
  height: 2.5vw;
  position: relative;
  border: dashed 0.1875vw;
  border-color: #e2e2e2 #f4769c #f4769c;
  border-radius: 50%;
  animation-name: spin;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
h2[class$=_ttl] span {
  display: block;
  line-height: 1;
}

.sec_ttl .en {
  margin-bottom: 1.6875vw;
}
@media screen and (max-width: 768px) {
  .sec_ttl .en {
    margin-bottom: 4.6666666667vw;
  }
}
.sec_ttl .ja {
  color: #f15785;
  font-size: 2.5vw;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .sec_ttl .ja {
    font-size: 6.4vw;
  }
}

.sec_leadTxt {
  margin-bottom: 3.3125vw;
}
@media screen and (max-width: 768px) {
  .sec_leadTxt {
    margin-bottom: 6.9333333333vw;
  }
}

.btn {
  display: flex;
  max-width: 26.6875vw;
  width: 100%;
  padding: 1.25vw;
  border: 1px solid #f4769c;
  border-radius: 2.1875vw;
  color: #fff;
  line-height: 1.5;
  font-size: 1.125vw;
  font-weight: 700;
  background-color: #f4769c;
  transition: all 0.3s;
  gap: 2.375vw;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .btn {
    max-width: 89.3333333333vw;
    margin-right: auto;
    margin-left: auto;
    padding: 4vw 4.6666666667vw 4vw 5.3333333333vw;
    border: none;
    border-radius: 7.3333333333vw;
    font-size: 4.2666666667vw;
    gap: 0;
    justify-content: space-between;
  }
}
.btn::after {
  content: "";
  display: block;
  width: 1.875vw;
  height: 1.875vw;
  margin-top: -1px;
  border-radius: 50%;
  background-color: #fff;
  background-image: url(/assets/img/common/icon_circle01.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 0.375vw;
}
@media screen and (max-width: 768px) {
  .btn::after {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    background-size: 1.0666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .btn:hover {
    color: #f4769c;
    background-color: #fff;
  }
  .btn:hover::after {
    background-color: #f4769c;
    background-image: url(/assets/img/common/arrow01.png);
  }
}

.cont_contactBox {
  width: 100%;
}
.cont_contactBox .inner {
  position: relative;
}
.cont_contactBox .contactBox_ttl {
  margin-bottom: 2.375vw;
}
@media screen and (max-width: 768px) {
  .cont_contactBox .contactBox_ttl {
    margin-bottom: 6.4vw;
  }
}
.cont_contactBox .contactBox_ttl .en {
  width: 4.375vw;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px) {
  .cont_contactBox .contactBox_ttl .en {
    width: 15.7333333333vw;
    margin-bottom: 3.3333333333vw;
  }
}
.cont_contactBox .contactBox_ttl .ja {
  line-height: 1.534;
  font-size: 1.875vw;
}
@media screen and (max-width: 768px) {
  .cont_contactBox .contactBox_ttl .ja {
    font-size: 5.8666666667vw;
  }
}
.cont_contactBox .contactBox_img {
  max-width: 30.625vw;
  width: 30.625vw;
  position: absolute;
  top: 0;
  right: 1.25vw;
}
@media screen and (max-width: 768px) {
  .cont_contactBox .contactBox_img {
    max-width: 65.3333333333vw;
    width: 65.3333333333vw;
    position: static;
    margin: 0 auto 5.8666666667vw;
  }
}
.cont_contactBox .tel_txt {
  margin-bottom: 1.5vw;
  line-height: 1.834;
  font-size: 1.5vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .cont_contactBox .tel_txt {
    margin-bottom: 2.6666666667vw;
    line-height: 1.45;
    font-size: 5.3333333333vw;
  }
}
.cont_contactBox .tel_txt small {
  font-size: 1.25vw;
}
@media screen and (max-width: 768px) {
  .cont_contactBox .tel_txt small {
    font-size: 5.0666666667vw;
  }
}
.cont_contactBox .mail_txt {
  margin-bottom: 2.3125vw;
  line-height: 1.625;
  font-size: 1vw;
}
@media screen and (max-width: 768px) {
  .cont_contactBox .mail_txt {
    margin-bottom: 5.6vw;
    line-height: 1.5334;
    font-size: 4vw;
  }
}
.cont_contactBox .contactBox_btnWrap {
  display: flex;
  gap: 0.625vw;
}
@media screen and (max-width: 768px) {
  .cont_contactBox .contactBox_btnWrap {
    display: block;
  }
}
@media screen and (min-width: 769px) {
  .cont_contactBox .contactBox_btnWrap .btn:nth-child(1) {
    max-width: 19.1875vw;
  }
  .cont_contactBox .contactBox_btnWrap .btn:nth-child(2) {
    max-width: 18.375vw;
  }
}
@media screen and (max-width: 768px) {
  .cont_contactBox .contactBox_btnWrap .btn {
    max-width: 78.6666666667vw;
    margin: 0 auto 2.6666666667vw;
  }
  .cont_contactBox .contactBox_btnWrap .btn:last-child {
    margin-bottom: 0;
  }
}

.features {
  margin-top: -6.875vw;
  padding: 5.375vw 0 7.5vw;
  border-radius: 7.5vw 7.5vw 0 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .features {
    margin-top: -9.3333333333vw;
    padding: 15.0666666667vw 0 22.6666666667vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
  }
}
.features .sec_ttl {
  margin-bottom: 3.25vw;
}
@media screen and (max-width: 768px) {
  .features .sec_ttl {
    margin-bottom: 9.3333333333vw;
  }
}
.features .sec_ttl .en {
  width: 4.8125vw;
}
@media screen and (max-width: 768px) {
  .features .sec_ttl .en {
    width: 17.6vw;
  }
}
.features .featuresBox_list li {
  display: flex;
  margin-top: -3.75vw;
  padding-top: 7.5vw;
  align-items: center;
  gap: 4.875vw;
}
@media screen and (max-width: 768px) {
  .features .featuresBox_list li {
    display: block;
    margin-top: -5.3333333333vw;
    padding-top: 18.6666666667vw;
  }
}
.features .featuresBox_list li:nth-child(odd) {
  justify-content: flex-end;
}
.features .featuresBox_list li:nth-child(odd) .featuresBox_img {
  margin-left: calc(50% - 50vw);
  border-radius: 0 12.5vw 12.5vw 0;
}
@media screen and (max-width: 768px) {
  .features .featuresBox_list li:nth-child(odd) .featuresBox_img {
    border-radius: 0 26.6666666667vw 26.6666666667vw 0;
  }
}
.features .featuresBox_list li:nth-child(even) {
  flex-direction: row-reverse;
}
.features .featuresBox_list li:nth-child(even) .featuresBox_img {
  margin-right: calc(50% - 50vw);
  border-radius: 12.5vw 0 0 12.5vw;
}
@media screen and (max-width: 768px) {
  .features .featuresBox_list li:nth-child(even) .featuresBox_img {
    border-radius: 26.6666666667vw 0 0 26.6666666667vw;
  }
}
.features .featuresBox_list li .featuresBox_img {
  overflow: hidden;
  width: 56.875vw;
  height: 25vw;
  position: relative;
  z-index: 10;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .features .featuresBox_list li .featuresBox_img {
    width: 94.6666666667vw;
    height: 53.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.features .featuresBox_list .featuresBox_txtWrap {
  width: 22.625vw;
  position: relative;
}
@media screen and (max-width: 768px) {
  .features .featuresBox_list .featuresBox_txtWrap {
    width: 100%;
    position: relative;
  }
}
.features .featuresBox_list .featuresBox_txtWrap::before {
  content: "";
  display: block;
  width: 11.75vw;
  height: 11.75vw;
  position: absolute;
  top: -3.25vw;
  left: -7.375vw;
  border-radius: 50%;
  background-color: #fff3e6;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .features .featuresBox_list .featuresBox_txtWrap::before {
    width: 30.6666666667vw;
    height: 30.6666666667vw;
    top: -16vw;
    right: 0;
    left: initial;
  }
}
.features .featuresBox_list .featuresBox_txtWrap dt span {
  display: block;
}
.features .featuresBox_list .featuresBox_txtWrap dt .img {
  width: 6.625vw;
  margin-bottom: 1.875vw;
}
@media screen and (max-width: 768px) {
  .features .featuresBox_list .featuresBox_txtWrap dt .img {
    width: 20.5333333333vw;
    margin-bottom: 3.7333333333vw;
  }
}
.features .featuresBox_list .featuresBox_txtWrap dt .ttl {
  margin-bottom: 0.9375vw;
  font-size: 1.875vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .features .featuresBox_list .featuresBox_txtWrap dt .ttl {
    margin-bottom: 2.6666666667vw;
    font-size: 5.3333333333vw;
  }
}
.features .featuresBox_list .featuresBox_txtWrap dd p {
  margin-bottom: 1.25vw;
  line-height: 1.667;
  font-size: 0.9375vw;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .features .featuresBox_list .featuresBox_txtWrap dd p {
    margin-bottom: 4.2666666667vw;
    line-height: 1.534;
    font-size: 4vw;
  }
}
.features .featuresBox_list .featuresBox_txtWrap dd .btn {
  max-width: 15.875vw;
  padding: 0.9375vw 1.25vw 0.9375vw 2.5vw;
  border-radius: 1.875vw;
  gap: 0;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .features .featuresBox_list .featuresBox_txtWrap dd .btn {
    max-width: 78.6666666667vw;
    padding: 3.6vw 4.6666666667vw 3.6vw 5.3333333333vw;
    border-radius: 6.6666666667vw;
  }
}

.map_wrap {
  width: 100%;
  height: 0;
  position: relative;
  margin: 0 auto;
  padding-top: 22.5vw;
}
@media screen and (max-width: 768px) {
  .map_wrap {
    padding-top: 120vw;
  }
}
.map_wrap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.object_bg {
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -5;
}
.object_bg svg {
  width: 100%;
  height: 100%;
}

.lowerPage main {
  padding-top: 6.25vw;
}
@media screen and (max-width: 768px) {
  .lowerPage main {
    padding-top: 16vw;
  }
}
@media screen and (max-width: 768px) {
  .lowerPage footer .cont_contactBox {
    padding-bottom: 26.6666666667vw;
  }
}
.lowerPage .mv {
  display: flex;
  height: 18.75vw;
  padding: 0 3.75vw;
  background-image: url(/assets/img/common/lowerPage_mvBg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .lowerPage .mv {
    height: 50.6666666667vw;
    padding: 0 5.3333333333vw;
    background-image: url(/assets/img/common/lowerPage_mvBg_sp.jpg);
  }
}
.lowerPage .mv::before {
  content: "";
  display: block;
  width: 9.375vw;
  height: 9.375vw;
  position: absolute;
  top: 2vw;
  left: -2vw;
  border-radius: 50%;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .lowerPage .mv::before {
    width: 29.3333333333vw;
    height: 29.3333333333vw;
    top: 1.3333333333vw;
    left: -4vw;
  }
}
.lowerPage .mv .mv_ttl {
  line-height: 1.5;
  font-size: 2.5vw;
  font-weight: 800;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .lowerPage .mv .mv_ttl {
    font-size: 6.4vw;
  }
}
.lowerPage .mv .mv_txt {
  margin-top: 1.5625vw;
  line-height: 1.5;
  font-size: 1.25vw;
  font-weight: 800;
}
@media screen and (max-width: 768px) {
  .lowerPage .mv .mv_txt {
    margin-top: 5.0666666667vw;
    font-size: 4.5333333333vw;
  }
}

.modal_openBtn {
  cursor: pointer;
}

.modal {
  visibility: hidden;
  overflow-y: scroll;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  padding: 3.125vw 0;
  opacity: 0;
  background-color: rgba(255, 255, 255, 0.8);
  transition: 0.4s;
  z-index: -100;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .modal {
    padding: 8vw 0;
  }
}
.modal.is-active {
  visibility: visible;
  opacity: 1;
  z-index: 10000;
}
.modal.is-active .modal_content {
  opacity: 1;
  animation: mmslideIn 0.4s cubic-bezier(0, 0, 0.2, 1);
}

.modal_overlay {
  width: 100%;
  min-height: 100%;
  height: var(--modalH);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

@keyframes mmslideIn {
  from {
    margin-top: 0.9375vw;
  }
  to {
    margin-top: 0;
  }
}
@keyframes mmslideOut {
  from {
    margin-top: 0;
  }
  to {
    margin-top: -0.625vw;
  }
}
.modal_content {
  width: 58.75vw;
  padding: 0 1.25vw;
  margin: 0 auto;
  opacity: 0;
  animation: mmslideOut 0.4s cubic-bezier(0, 0, 0.2, 1);
}
@media screen and (max-width: 768px) {
  .modal_content {
    width: 89.3333333333vw;
    padding: 0;
  }
}

.modal_inner {
  position: relative;
  width: 100%;
  border: 0.25vw solid #f4769c;
  border-radius: 2.5vw;
  margin: 0 auto;
  padding: 3.125vw 0.625vw;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .modal_inner {
    border: 0.8vw solid #f4769c;
    border-radius: 5.3333333333vw;
    padding: 5.7333333333vw 4.5333333333vw;
  }
}

.modal_closeBtn {
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  position: absolute;
  top: -3.75vw;
  right: -0.25vw;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .modal_closeBtn {
    width: 5.8666666667vw;
    height: 5.8666666667vw;
    top: -9.3333333333vw;
    right: -0.8vw;
  }
}
.modal_closeBtn::before, .modal_closeBtn::after {
  content: "";
  display: block;
  width: 3.5vw;
  height: 0.1875vw;
  position: absolute;
  top: 1.125vw;
  right: -0.5vw;
  background-color: #f4769c;
  border-radius: 0.11375vw;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .modal_closeBtn::before, .modal_closeBtn::after {
    width: 8vw;
    height: 0.5333333333vw;
    top: 2.6666666667vw;
    right: 1.0666666667vw;
    border-radius: 0.2453333333vw;
  }
}
.modal_closeBtn::before {
  rotate: 45deg;
}
.modal_closeBtn::after {
  rotate: -45deg;
}

/*---------------------------------------
  header
/*---------------------------------------*/
body:not(.page_top) header {
  background-color: #fff;
}

header {
  width: 100%;
  height: 6.25vw;
  position: fixed;
  padding: 0 1.875vw;
  transition: background-color 0.3s;
  z-index: 1000;
}
@media screen and (max-width: 768px) {
  header {
    height: 16vw;
    padding: 0 4vw;
  }
}
header.is_open {
  background-color: #fff;
}
header .cont_contactBox {
  display: flex;
  visibility: hidden;
  overflow-y: auto;
  height: calc(100vh - 6.25vw);
  position: absolute;
  top: 6.25vw;
  left: 0;
  border-radius: 0 0 3.75vw 3.75vw;
  opacity: 0;
  color: #fff;
  background-color: #f488a8;
  transition: opacity 0.3s;
  z-index: 950;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  header .cont_contactBox {
    display: block;
    overflow-y: initial;
    height: initial;
    position: static;
    padding: 15.0666666667vw 0 14.6666666667vw;
    border-radius: 0 0 10.6666666667vw 10.6666666667vw;
    opacity: 1;
  }
}
header .cont_contactBox .inner {
  margin-top: -0.875vw;
}
@media screen and (max-width: 768px) {
  header .cont_contactBox .inner {
    margin-top: 0;
  }
}
header .cont_contactBox.active {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s;
}
header .cont_contactBox .btn {
  border: 1px solid #fff;
  color: #f4769c;
  background-color: #fff;
}
header .cont_contactBox .btn::after {
  background-color: #f4769c;
  background-image: url(/assets/img/common/icon_circle02.svg);
}
@media screen and (min-width: 769px) {
  header .cont_contactBox .btn:hover {
    color: #fff;
    background-color: #f488a8;
  }
  header .cont_contactBox .btn:hover::after {
    background-color: #fff;
    background-image: url(/assets/img/common/arrow02.png);
  }
}

.header_wrap {
  display: flex;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 990;
  align-items: center;
  justify-content: space-between;
}

.header_logo {
  display: block;
  width: 32.75vw;
}
@media screen and (max-width: 768px) {
  .header_logo {
    width: 81.3333333333vw;
  }
}

.menu_trigger {
  display: none;
}
@media screen and (max-width: 768px) {
  .menu_trigger {
    display: block;
    width: 8vw;
    height: 5.7333333333vw;
    position: relative;
  }
  .menu_trigger span {
    display: inline-block;
    width: 100%;
    height: 0.5333333333vw;
    position: absolute;
    left: 0;
    border-radius: 0.2666666667vw;
    background-color: #f4769c;
    transition: all 0.3s;
  }
  .menu_trigger span:nth-child(1) {
    top: 0;
  }
  .menu_trigger span:nth-child(2) {
    top: 2.6666666667vw;
  }
  .menu_trigger span:nth-child(3) {
    bottom: 0;
  }
  .menu_trigger.active span:nth-child(1) {
    rotate: 45deg;
    translate: 0 2.5333333333vw;
  }
  .menu_trigger.active span:nth-child(2) {
    opacity: 0;
  }
  .menu_trigger.active span:nth-child(3) {
    rotate: -45deg;
    translate: 0 -2.5333333333vw;
  }
}

.navigation_cont {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .navigation_cont {
    visibility: hidden;
    overflow-y: auto;
    height: calc(100vh - 16vw);
    position: absolute;
    top: 16vw;
    left: 0;
    opacity: 0;
    background-color: #fff;
    transition: all 0.3s;
    z-index: 950;
  }
  .navigation_cont.active {
    visibility: visible;
    opacity: 1;
  }
  .navigation_cont.active .cont_contactBox {
    visibility: visible;
  }
}

.header_navBox {
  display: flex;
  width: calc(100% - 34vw);
  position: absolute;
  top: 1.6875vw;
  right: 1.875vw;
  z-index: 1000;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .header_navBox {
    display: block;
    width: 100%;
    position: static;
    padding-top: 1.3333333333vw;
    z-index: 960;
  }
}
.header_navBox a {
  position: relative;
  margin: 0 1.375vw;
  font-size: 1vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .header_navBox a {
    display: block;
    margin: 0 5.3333333333vw;
    padding: 4.9333333333vw 2.6666666667vw 5.3333333333vw;
    border-top: 1px solid #ccc;
    line-height: 1.5;
    font-size: 5.3333333333vw;
  }
  .header_navBox a:first-child {
    border-top: none;
  }
}
.header_navBox a::after {
  content: "";
  display: block;
  width: 0.4375vw;
  height: 0.4375vw;
  position: absolute;
  bottom: -0.75vw;
  left: 50%;
  border-radius: 50%;
  opacity: 0;
  background-color: #f488a8;
  transition: all 0.3s;
  translate: -50% 0;
}
@media screen and (max-width: 768px) {
  .header_navBox a::after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
    top: 50%;
    right: 2.6666666667vw;
    bottom: initial;
    left: initial;
    border: 0.2666666667vw solid #f4769c;
    border-radius: 50%;
    opacity: 1;
    background-color: #fff;
    background-image: url(/assets/img/common/icon_circle01.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 0.8vw;
    translate: 0 -50%;
  }
}
.header_navBox a.current::after {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .header_navBox a:hover::after {
    width: 100%;
    border-radius: 0.625vw;
    opacity: 1;
  }
}
.header_navBox .contactBox_trigger {
  max-width: 11vw;
  margin-left: 1.25vw;
  padding: 0.625vw 0.875vw;
  border-radius: 1.5625vw;
  font-size: 1vw;
  gap: 1.25vw;
}
@media screen and (max-width: 768px) {
  .header_navBox .contactBox_trigger {
    display: none;
  }
}
.header_navBox .contactBox_trigger::after {
  width: 1.25vw;
  height: 1.25vw;
}
.header_navBox .contactBox_trigger.active {
  border: 1px solid #f4769c;
  color: #f4769c;
  background-color: #fff;
}
.header_navBox .contactBox_trigger.active::after {
  background-color: #f4769c;
  background-image: url(/assets/img/common/icon_cross.svg);
  background-size: 0.625vw;
}

/*---------------------------------------
  footer
/*---------------------------------------*/
body:not(.page_top) .footer_cont {
  padding-top: 5.8125vw;
}
@media screen and (max-width: 768px) {
  body:not(.page_top) .footer_cont {
    padding-top: 12.9333333333vw;
  }
}
body:not(.page_top) .footer_cont .mapBox {
  display: none;
}
body:not(.page_top) .footer_info {
  margin-top: 0;
}

footer {
  position: relative;
  z-index: 100;
}
footer:has(.trigger_cont.active) {
  z-index: 2000;
}
@media screen and (max-width: 768px) {
  footer .inner {
    max-width: 89.3333333333vw;
  }
}
footer .cont_contactBox {
  margin-top: -6.875vw;
  padding: 5.8125vw 0 18.125vw;
  border-radius: 7.5vw 7.5vw 0 0;
  background-color: #fff3e6;
}
@media screen and (max-width: 768px) {
  footer .cont_contactBox {
    margin-top: -10.6666666667vw;
    padding: 15.7333333333vw 0 53.3333333333vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
  }
}
footer .cont_contactBox .contactBox_ttl .en {
  width: 4.375vw;
  margin-bottom: 0.75vw;
}
@media screen and (max-width: 768px) {
  footer .cont_contactBox .contactBox_ttl .en {
    width: 15.4666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
footer .cont_contactBox .contactBox_ttl .en svg {
  width: 100%;
}
footer .cont_contactBox .contactBox_ttl .ja {
  color: #f15785;
}
@media screen and (max-width: 768px) {
  footer .cont_contactBox .contactBox_ttl .ja {
    line-height: 1.5909;
  }
}
footer .cont_contactBox .contactBox_img {
  top: -1.875vw;
}
footer .trigger_cont {
  display: flex;
  visibility: hidden;
  overflow-y: auto;
  height: calc(100vh - 12.5vw);
  position: fixed;
  bottom: 12.5vw;
  left: 0;
  margin-top: 0;
  padding: 0 0 0;
  border-radius: 3.75vw 3.75vw 0 0;
  opacity: 0;
  color: #fff;
  background-color: #f488a8;
  transition: opacity 0.3s;
  z-index: 2000;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  footer .trigger_cont {
    height: calc(100vh - 41.3333333333vw);
    bottom: 41.3333333333vw;
    padding-top: 6.6666666667vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  footer .trigger_cont .inner {
    height: 100%;
  }
}
footer .trigger_cont.active {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s;
}
footer .trigger_cont .contactBox_ttl .ja {
  color: #fff;
}
footer .trigger_cont .btn {
  border: 1px solid #fff;
  color: #f4769c;
  background-color: #fff;
}
footer .trigger_cont .btn::after {
  background-color: #f4769c;
  background-image: url(/assets/img/common/icon_circle02.svg);
}
@media screen and (min-width: 769px) {
  footer .trigger_cont .btn:hover {
    color: #fff;
    background-color: #f488a8;
  }
  footer .trigger_cont .btn:hover::after {
    background-color: #fff;
    background-image: url(/assets/img/common/arrow02.png);
  }
}
@media screen and (max-width: 768px) {
  footer .trigger_cont .contactBox_btnWrap {
    padding-bottom: 12vw;
  }
}

.footer_cont {
  margin-top: -6.875vw;
  border-radius: 7.5vw 7.5vw 0 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .footer_cont {
    margin-top: -10.6666666667vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
  }
}
.footer_cont .mapBox {
  overflow: hidden;
  max-width: 75vw;
  position: relative;
  top: -3.75vw;
  margin: 0 auto;
  border-radius: 11.25vw;
}
@media screen and (max-width: 768px) {
  .footer_cont .mapBox {
    max-width: 89.3333333333vw;
    top: -26.6666666667vw;
    border-radius: 8vw;
  }
}
.footer_cont .access_wrap {
  display: flex;
  width: 31.5vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 11.25vw;
  color: #fff;
  background-color: rgba(232, 139, 167, 0.9);
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .footer_cont .access_wrap {
    width: 100%;
    min-height: 60vw;
    height: auto;
    top: initial;
    bottom: 0;
    padding: 0 9.3333333333vw 7.0666666667vw;
    border-radius: 0;
    -webkit-clip-path: circle(86% at 50% 109%);
            clip-path: circle(86% at 50% 109%);
    align-items: flex-end;
  }
}
.footer_cont .access_wrap dt {
  width: 100%;
  margin-bottom: 1.875vw;
  font-size: 1.125vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .footer_cont .access_wrap dt {
    margin-bottom: 4vw;
    font-size: 4.5333333333vw;
  }
}
.footer_cont .access_wrap dd {
  line-height: 2.142;
  font-size: 0.875vw;
}
@media screen and (max-width: 768px) {
  .footer_cont .access_wrap dd {
    line-height: 1.667;
    font-size: 3.2vw;
  }
}

@media screen and (max-width: 768px) {
  .footer_info {
    margin-top: -15.2vw;
  }
}

.footer_infoBox {
  display: flex;
  padding-bottom: 3.75vw;
  border-bottom: 1px solid #e7e7e7;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer_infoBox {
    display: block;
    padding-bottom: 10.6666666667vw;
    border-bottom: 0.2666666667vw solid #e7e7e7;
  }
}
.footer_infoBox .companyInfo {
  position: relative;
}
@media screen and (max-width: 768px) {
  .footer_infoBox .companyInfo {
    margin-bottom: 2.9333333333vw;
    padding-bottom: 8.5333333333vw;
    border-bottom: 0.2666666667vw solid #f9e7ed;
  }
}
.footer_infoBox .companyInfo dt {
  margin-bottom: 1.125vw;
  font-size: 1.25vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .footer_infoBox .companyInfo dt {
    margin-bottom: 2.6666666667vw;
    font-size: 5.0666666667vw;
  }
}
.footer_infoBox .companyInfo dd {
  line-height: 1.714;
  font-size: 0.875vw;
}
@media screen and (max-width: 768px) {
  .footer_infoBox .companyInfo dd {
    line-height: 1.5;
    font-size: 3.2vw;
  }
}
.footer_infoBox .companyInfo .foot_logo {
  width: 8.9375vw;
  position: absolute;
  right: -2.5vw;
  bottom: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .footer_infoBox .companyInfo .foot_logo {
    width: 22.6666666667vw;
    right: 0;
    bottom: 6.6666666667vw;
  }
}
.footer_infoBox .footerInfo_list {
  display: flex;
  width: 23.75vw;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .footer_infoBox .footerInfo_list {
    width: 100%;
  }
}
.footer_infoBox .footerInfo_list li:nth-child(odd) {
  width: 15.625vw;
}
@media screen and (max-width: 768px) {
  .footer_infoBox .footerInfo_list li:nth-child(odd) {
    width: 56vw;
  }
}
.footer_infoBox .footerInfo_list li:has(.btn) {
  width: 100%;
}
.footer_infoBox .footerInfo_list a {
  line-height: 2.428;
  font-size: 0.875vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .footer_infoBox .footerInfo_list a {
    font-size: 3.2vw;
  }
}
.footer_infoBox .footerInfo_list button.btn {
  margin-top: 1.1875vw;
  padding: 0.75vw 0.875vw 0.75vw 1.625vw;
  border: 1px solid #f4769c;
  border-radius: 1.5625vw;
  line-height: 1.5;
  font-size: 1vw;
  gap: 0;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .footer_infoBox .footerInfo_list button.btn {
    max-width: 78.6666666667vw;
    margin-top: 3.0666666667vw;
    padding: 4.2666666667vw 4.6666666667vw 4.2666666667vw 5.3333333333vw;
    border-radius: 7.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
.footer_infoBox .footerInfo_list button.btn:after {
  width: 1.25vw;
  height: 1.25vw;
  background-size: 0.25vw;
}
@media screen and (max-width: 768px) {
  .footer_infoBox .footerInfo_list button.btn:after {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    background-size: 1.0666666667vw;
  }
}
.footer_infoBox .footerInfo_list button.btn.active {
  color: #f4769c;
  background-color: #fff;
}
.footer_infoBox .footerInfo_list button.btn.active::after {
  background-color: #f4769c;
  background-image: url(/assets/img/common/icon_cross.svg);
  background-size: 0.6875vw;
}
@media screen and (max-width: 768px) {
  .footer_infoBox .footerInfo_list button.btn.active::after {
    background-size: 2.6666666667vw;
  }
}

.copyright {
  padding: 1.5625vw 0;
  font-size: 0.75vw;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .copyright {
    padding: 4vw 0 4.9333333333vw;
    font-size: 2.6666666667vw;
  }
}

/*---------------------------------------
  page_top
/*---------------------------------------*/
.page_top header.is_color {
  background-color: #fff;
}
.page_top .top_secWrap {
  position: relative;
}
.page_top .mv {
  padding: 10.875vw 0 8.9375vw;
}
@media screen and (max-width: 768px) {
  .page_top .mv {
    padding: 20.2666666667vw 0 24vw;
  }
}
.page_top .mv .mv_img {
  max-width: 56vw;
  width: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .page_top .mv .mv_img {
    max-width: 100%;
    position: static;
    margin-bottom: 2.4vw;
  }
}
.page_top .mv .inner {
  max-width: 90vw;
}
@media screen and (max-width: 768px) {
  .page_top .mv .inner {
    max-width: 100%;
  }
}
.page_top .mv .mv_ttl {
  margin-bottom: 3.625vw;
  color: #f4769c;
  line-height: 1.9;
  font-size: 2.1875vw;
  font-weight: 700;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 768px) {
  .page_top .mv .mv_ttl {
    margin-bottom: 8vw;
    padding-right: 1.3333333333vw;
    padding-left: 5.8666666667vw;
    font-size: 4.2666666667vw;
  }
}
.page_top .mv .mv_ttl strong {
  color: #000;
  font-size: 3.125vw;
}
@media screen and (max-width: 768px) {
  .page_top .mv .mv_ttl strong {
    font-size: 6.1333333333vw;
  }
}
.page_top .mv .object_circle.circle01 {
  width: 79.0625vw;
  height: 79.0625vw;
  right: -13.125vw;
  bottom: 0.375vw;
}
@media screen and (max-width: 768px) {
  .page_top .mv .object_circle.circle01 {
    width: 185.3333333333vw;
    height: 185.3333333333vw;
    right: initial;
    bottom: 54.6666666667vw;
    left: -8.4vw;
  }
}
.page_top .mv .object_circle.circle02 {
  width: 19vw;
  height: 19vw;
  bottom: 3.5vw;
  left: 3.5vw;
}
@media screen and (max-width: 768px) {
  .page_top .mv .object_circle.circle02 {
    width: 30.6666666667vw;
    height: 30.6666666667vw;
    bottom: 33.3333333333vw;
    left: -4vw;
  }
}
@media screen and (min-width: 769px) {
  .page_top .mv .btn {
    gap: 3.125vw;
  }
}
.page_top .greeting {
  z-index: 10;
}
.page_top .greeting .sec_ttl {
  margin-bottom: 3.3125vw;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .sec_ttl {
    max-width: 89.3333333333vw;
    margin: 0 auto 9.0666666667vw;
  }
}
.page_top .greeting .sec_ttl .en {
  width: 4.6875vw;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .sec_ttl .en {
    width: 17.3333333333vw;
  }
}
.page_top .greeting .greeting_wrap {
  margin-bottom: 3.4375vw;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .greeting_wrap {
    margin-bottom: 6.9333333333vw;
  }
}
.page_top .greeting .greeting_wrap dl {
  max-width: 32.875vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .greeting_wrap dl {
    max-width: 100%;
  }
}
.page_top .greeting .greeting_wrap dt {
  margin-bottom: 1.5625vw;
  font-size: 1.25vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .greeting_wrap dt {
    margin-bottom: 4.8vw;
    font-size: 5.0666666667vw;
  }
}
.page_top .greeting .greeting_wrap dd p {
  margin-bottom: 1.875vw;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .greeting_wrap dd p {
    margin-bottom: 6.6666666667vw;
    line-height: 1.667;
  }
}
.page_top .greeting .greeting_wrap dd p:last-child {
  margin-bottom: 0;
}
.page_top .greeting .greeting_img {
  width: 48.25vw;
  position: absolute;
  top: 8.5vw;
  right: 0;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .greeting_img {
    width: 100%;
    position: static;
    margin-bottom: 12vw;
  }
}
.page_top .greeting .mission_boxWrap {
  max-width: 77.5vw;
  margin: 0 auto;
  padding: 0 1.25vw;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .mission_boxWrap {
    max-width: 89.3333333333vw;
    margin-bottom: 9.3333333333vw;
    padding: 0;
  }
}
.page_top .greeting .missionBox {
  display: flex;
  padding: 3.3125vw 0;
  border-radius: 11.375vw;
  box-shadow: 0 0 2.5vw 0 rgba(0, 0, 0, 0.03);
  background-color: #fff;
  align-items: center;
  gap: 3.75vw;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .missionBox {
    display: block;
    padding: 9.3333333333vw 5.3333333333vw 8vw;
    border-radius: 8vw;
    box-shadow: 0 0 5.3333333333vw 0 rgba(0, 0, 0, 0.03);
  }
}
@media screen and (max-width: 768px) {
  .page_top .greeting .missionBox_ttl {
    margin-bottom: 4.8vw;
  }
}
.page_top .greeting .missionBox_ttl .en {
  width: 3.875vw;
}
.page_top .greeting .missionBox_ttl .en svg {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .missionBox_ttl .en {
    width: 14.1333333333vw;
  }
  .page_top .greeting .missionBox_ttl .en path {
    fill: #000;
  }
}
.page_top .greeting .missionBox_ttl .ja {
  color: #f15785;
  line-height: 1.667;
  font-size: 1.875vw;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .missionBox_ttl .ja {
    line-height: 1.75;
    font-size: 5.3333333333vw;
  }
}
.page_top .greeting .missionBox_list {
  width: 32.625vw;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .missionBox_list {
    width: 100%;
  }
}
.page_top .greeting .missionBox_list li {
  display: flex;
  min-height: 5.125vw;
  padding-left: 2.1875vw;
  background-image: linear-gradient(to right, #ccc 0.25vw, transparent 0.25vw);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 0.625vw 0.0625vw;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .missionBox_list li {
    min-height: initial;
    padding: 4vw 0 5.3333333333vw;
    background-image: linear-gradient(to right, #ccc 0.5333333333vw, transparent 0.25vw);
    background-size: 1.3333333333vw 0.1333333333vw;
    gap: 1.3333333333vw 0;
    flex-wrap: wrap;
  }
}
.page_top .greeting .missionBox_list li:first-child {
  background-image: linear-gradient(to right, #ccc 0.25vw, transparent 0.25vw), linear-gradient(to right, #ccc 0.25vw, transparent 0.25vw);
  background-repeat: repeat-x;
  background-position: left bottom, left top;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .missionBox_list li:first-child {
    background-image: linear-gradient(to right, #ccc 0.5333333333vw, transparent 0.5333333333vw), linear-gradient(to right, #ccc 0.5333333333vw, transparent 0.5333333333vw);
  }
}
.page_top .greeting .missionBox_list .icon {
  width: 2.625vw;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .missionBox_list .icon {
    width: 7.4666666667vw;
  }
}
.page_top .greeting .missionBox_list h3 {
  width: 6.25vw;
  font-size: 1.125vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .missionBox_list h3 {
    width: initial;
    margin-left: 2.6666666667vw;
    font-size: 4.5333333333vw;
    text-align: left;
  }
}
.page_top .greeting .missionBox_list h3 .cont_txt {
  width: 100%;
}
.page_top .greeting .mission_partsImg {
  width: 13.625vw;
  height: 8.75vw;
  position: absolute;
  bottom: 22vw;
  left: -2.625vw;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .mission_partsImg {
    overflow: hidden;
    width: 89.3333333333vw;
    height: 45.3333333333vw;
    position: static;
    border-radius: 0 5.3333333333vw 5.3333333333vw 0;
  }
}
.page_top .greeting .mission_partsImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .page_top .greeting .mission_partsImg img {
    -o-object-position: 100% 70%;
       object-position: 100% 70%;
  }
}
.page_top .news {
  margin-top: -1.25vw;
  padding: 6.5vw 0 7.5vw;
  z-index: 8;
}
@media screen and (max-width: 768px) {
  .page_top .news {
    margin-top: -5.3333333333vw;
    padding: 16vw 0 16vw;
  }
}
.page_top .news .sec_ttl {
  margin-bottom: 3.75vw;
}
@media screen and (max-width: 768px) {
  .page_top .news .sec_ttl {
    margin-bottom: 10.6666666667vw;
  }
}
.page_top .news .sec_ttl .en {
  width: 2.625vw;
}
@media screen and (max-width: 768px) {
  .page_top .news .sec_ttl .en {
    width: 9.6vw;
  }
}
@media screen and (max-width: 768px) {
  .page_top .news .newsBox_list {
    margin-bottom: 9.3333333333vw;
  }
}
.page_top .news .newsBox_list li:first-child a {
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .page_top .news .newsBox_list li:first-child a {
    border-top: 0.2666666667vw solid #ccc;
  }
}
.page_top .news .newsBox_list a {
  display: flex;
  min-height: 6.25vw;
  position: relative;
  padding: 0.625vw 4.375vw 0.625vw 1.875vw;
  border-bottom: 1px solid #ccc;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .page_top .news .newsBox_list a {
    min-height: initial;
    padding: 6.2666666667vw 12vw 4.2666666667vw 2.6666666667vw;
    border-bottom: 0.2666666667vw solid #ccc;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) {
  .page_top .news .newsBox_list a:hover::after {
    background-color: #f4769c;
    background-image: url(/assets/img/common/arrow01.png);
  }
}
.page_top .news .newsBox_list a::after {
  content: "";
  display: block;
  width: 1.25vw;
  height: 1.25vw;
  position: absolute;
  top: 50%;
  right: 1.875vw;
  border: 1px solid #f4769c;
  border-radius: 50%;
  background-image: url(/assets/img/common/icon_circle01.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 0.25vw;
  translate: 0 -50%;
}
@media screen and (max-width: 768px) {
  .page_top .news .newsBox_list a::after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
    right: 2.6666666667vw;
    border: 0.2666666667vw solid #f4769c;
    background-size: 0.8vw;
  }
}
.page_top .news p:not(.news_txt) {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .page_top .news p:not(.news_txt) {
    line-height: 1.0715;
    font-size: 3.7333333333vw;
  }
}
.page_top .news .news_vol {
  margin-right: 1vw;
  color: #f4769c;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .page_top .news .news_vol {
    margin-right: 4vw;
  }
}
.page_top .news .news_data {
  margin-right: 2.5vw;
  color: #999;
}
@media screen and (max-width: 768px) {
  .page_top .news .news_data {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page_top .news .news_txt {
    width: 100%;
    margin-top: 2vw;
  }
}
.page_top .news .news_partsImg {
  width: 22.875vw;
  height: 14.25vw;
  position: absolute;
  top: -2.6875vw;
  right: 2.3125vw;
}
@media screen and (max-width: 768px) {
  .page_top .news .news_partsImg {
    overflow: hidden;
    width: 89.3333333333vw;
    height: 45.3333333333vw;
    position: static;
    margin-left: auto;
    border-radius: 5.3333333333vw 0 0 5.3333333333vw;
  }
}
.page_top .news .news_partsImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .page_top .news .news_partsImg img {
    -o-object-position: 100% 72%;
       object-position: 100% 72%;
  }
}
.page_top .service {
  padding: 5.375vw 0 14.375vw;
  border-radius: 7.5vw 7.5vw 0 0;
  background-color: #fff7f7;
}
@media screen and (max-width: 768px) {
  .page_top .service {
    padding: 15.0666666667vw 0 27.0666666667vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
  }
}
.page_top .service .sec_ttl {
  margin-bottom: 3.3125vw;
}
@media screen and (max-width: 768px) {
  .page_top .service .sec_ttl {
    margin-bottom: 9.3333333333vw;
  }
}
.page_top .service .sec_ttl .en {
  width: 4vw;
}
@media screen and (max-width: 768px) {
  .page_top .service .sec_ttl .en {
    width: 14.4vw;
  }
}
.page_top .service .serviceBox_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5vw;
}
@media screen and (max-width: 768px) {
  .page_top .service .serviceBox_list {
    display: block;
  }
}
.page_top .service .serviceBox_list li {
  width: 21.25vw;
}
@media screen and (max-width: 768px) {
  .page_top .service .serviceBox_list li {
    width: 100%;
    margin-bottom: 9.7333333333vw;
  }
  .page_top .service .serviceBox_list li:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 769px) {
  .page_top .service .serviceBox_list a:hover .service_img img {
    transform: scale(1.15);
  }
  .page_top .service .serviceBox_list a:hover dt::after {
    background-color: #f4769c;
    background-image: url(/assets/img/common/arrow01.png);
  }
}
.page_top .service .serviceBox_list .service_img {
  overflow: hidden;
  margin-bottom: 1.4375vw;
  border-radius: 1.25vw;
  box-shadow: 0 0 1.875vw 0 rgba(0, 0, 0, 0.03);
}
@media screen and (max-width: 768px) {
  .page_top .service .serviceBox_list .service_img {
    height: 55.7333333333vw;
    margin-bottom: 3.4666666667vw;
    border-radius: 5.3333333333vw;
    box-shadow: 0 0 4vw 0 rgba(0, 0, 0, 0.03);
  }
  .page_top .service .serviceBox_list .service_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.page_top .service .serviceBox_list .service_img img {
  transition: 0.5s all ease;
}
.page_top .service .serviceBox_list dt {
  position: relative;
  margin-bottom: 1.0625vw;
  color: #f4769c;
  font-size: 1.25vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .page_top .service .serviceBox_list dt {
    margin-bottom: 2.6666666667vw;
    font-size: 5.0666666667vw;
  }
}
.page_top .service .serviceBox_list dt::after {
  content: "";
  display: block;
  width: 1.25vw;
  height: 1.25vw;
  position: absolute;
  top: 50%;
  right: 0;
  border: 1px solid #f4769c;
  border-radius: 50%;
  background-image: url(/assets/img/common/icon_circle01.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 0.25vw;
  translate: 0 -50%;
}
@media screen and (max-width: 768px) {
  .page_top .service .serviceBox_list dt::after {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
    border: 0.2666666667vw solid #f4769c;
    background-size: 0.8vw;
  }
}
.page_top .service .serviceBox_list dd {
  line-height: 1.667;
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .page_top .service .serviceBox_list dd {
    line-height: 1.5;
    font-size: 3.7333333333vw;
  }
}
.page_top .features .featuresBox_list li:first-child {
  margin-top: 0;
  padding-top: 0;
}
.page_top .voice {
  padding: 4.75vw 0 14.375vw;
  border-radius: 7.5vw 7.5vw 0 0;
  background-image: url(/assets/img/top/voice_bg_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .page_top .voice {
    padding: 15.2vw 0 29.3333333333vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
    background-image: url(/assets/img/top/voice_bg_sp.jpg);
  }
}
.page_top .voice .sec_ttl {
  margin-bottom: 3.75vw;
}
@media screen and (max-width: 768px) {
  .page_top .voice .sec_ttl {
    margin-bottom: 10.6666666667vw;
  }
}
.page_top .voice .sec_ttl .en {
  width: 2.75vw;
}
@media screen and (max-width: 768px) {
  .page_top .voice .sec_ttl .en {
    width: 10vw;
  }
}
.page_top .voice .voiceBox {
  display: flex;
  width: 34.375vw;
  min-height: 10.8125vw;
  position: relative;
  margin: 0 auto;
  margin-bottom: 1.875vw;
  border-radius: 5.375vw;
  background-color: #fff;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .page_top .voice .voiceBox {
    width: 100%;
    min-height: 30.9333333333vw;
    margin-bottom: 5.3333333333vw;
    border-radius: 15.4666666667vw;
  }
}
.page_top .voice .voiceBox p {
  line-height: 2;
  font-size: 1.25vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page_top .voice .voiceBox p {
    line-height: 1.47;
    font-size: 4.5333333333vw;
  }
}
.page_top .voice .voiceBox::before {
  content: "";
  display: block;
  width: 4.5625vw;
  height: 3.3125vw;
  position: absolute;
  top: -1.5625vw;
  right: 2.5vw;
  background-image: url(/assets/img/common/icon_quotes01.png);
  background-repeat: no-repeat;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .page_top .voice .voiceBox::before {
    width: 11.7333333333vw;
    height: 8.5333333333vw;
    top: -2.9333333333vw;
    right: 10.9333333333vw;
  }
}
.page_top .voice .btn {
  max-width: 13.75vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page_top .voice .btn {
    max-width: 78.6666666667vw;
  }
}

/*---------------------------------------
  page_service
/*---------------------------------------*/
@media screen and (max-width: 768px) {
  .page_service .mv::before {
    top: 4.5333333333vw;
  }
}
.page_service .service {
  padding-top: 5.375vw;
}
@media screen and (max-width: 768px) {
  .page_service .service {
    padding: 12.4vw 0 0;
  }
}
.page_service .service .sec_ttl {
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 768px) {
  .page_service .service .sec_ttl {
    margin-bottom: 9.3333333333vw;
  }
}
.page_service .service .sec_ttl .en {
  width: 3.875vw;
}
@media screen and (max-width: 768px) {
  .page_service .service .sec_ttl .en {
    width: 14.4vw;
  }
}
.page_service .service .sec_leadTxt {
  margin-bottom: 5.875vw;
}
@media screen and (max-width: 768px) {
  .page_service .service .sec_leadTxt {
    margin-bottom: 17.6vw;
  }
}
.page_service .serviceBox_wrap {
  padding-bottom: 14.375vw;
  border-radius: 7.5vw 7.5vw 0 0;
  background-color: #fff7f7;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_wrap {
    padding-bottom: 28vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
  }
}
.page_service .serviceBox_btnList {
  display: flex;
  position: relative;
  top: -2.5vw;
  margin-bottom: 3.75vw;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.625vw 0;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_btnList {
    top: -10vw;
    margin-bottom: 0;
    gap: 2.6666666667vw 0;
  }
}
.page_service .serviceBox_btnList .btn {
  max-width: 22.375vw;
  min-height: 5.625vw;
  padding: 0 1.25vw 0 1.875vw;
  border-radius: 2.8125vw;
  gap: 0;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_btnList .btn {
    max-width: 43.4666666667vw;
    min-height: 20vw;
    margin: 0;
    padding: 0 4vw;
    border-radius: 10vw;
    font-size: 3.7333333333vw;
  }
  .page_service .serviceBox_btnList .btn::after {
    width: 4vw;
    height: 4vw;
    flex-shrink: 0;
  }
}
.page_service .serviceBox_btnList .btn span {
  display: block;
}
.page_service .serviceBox_btnList .btn .icon {
  width: 2.5vw;
  height: 2.75vw;
  background-repeat: no-repeat;
  background-size: 100%;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_btnList .btn .icon {
    width: 5.3333333333vw;
    height: 5.8666666667vw;
    flex-shrink: 0;
  }
}
.page_service .serviceBox_btnList .btn .icon img {
  transition: 0.3s;
}
.page_service .serviceBox_btnList .btn .txt {
  width: calc(100% - 4.375vw);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_btnList .btn .txt {
    width: calc(100% - 9.3333333333vw);
  }
}
@media screen and (min-width: 769px) {
  .page_service .serviceBox_btnList .btn:hover .icon img {
    opacity: 0;
  }
  .page_service .serviceBox_btnList .btn:hover:nth-child(1) .icon {
    background-image: url(/assets/img/service/icon_service01-on.svg);
  }
  .page_service .serviceBox_btnList .btn:hover:nth-child(2) .icon {
    background-image: url(/assets/img/service/icon_service02-on.svg);
  }
  .page_service .serviceBox_btnList .btn:hover:nth-child(3) .icon {
    background-image: url(/assets/img/service/icon_service03-on.svg);
  }
  .page_service .serviceBox_btnList .btn:hover:nth-child(4) .icon {
    background-image: url(/assets/img/service/icon_service04-on.svg);
  }
  .page_service .serviceBox_btnList .btn:hover:nth-child(5) .icon {
    background-image: url(/assets/img/service/icon_service05-on.svg);
  }
  .page_service .serviceBox_btnList .btn:hover:nth-child(6) .icon {
    background-image: url(/assets/img/service/icon_service06-on.svg);
  }
}
.page_service .serviceBox_list li {
  display: flex;
  position: relative;
  margin-top: -2.5vw;
  padding-top: 6.25vw;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_list li {
    display: block;
    margin-top: -10.6666666667vw;
    padding-top: 56vw;
  }
}
.page_service .serviceBox_list li:nth-child(odd) .serviceBox_cont {
  width: 60vw;
  margin-right: calc(50% - 50vw);
  padding-left: 10.625vw;
  border-radius: 13.875vw 0 0 13.875vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_list li:nth-child(odd) .serviceBox_cont {
    width: 94.6666666667vw;
    padding-left: 5.3333333333vw;
    border-radius: 8vw 0 0 8vw;
  }
}
.page_service .serviceBox_list li:nth-child(even) {
  flex-direction: row-reverse;
}
.page_service .serviceBox_list li:nth-child(even) .serviceBox_cont {
  width: 64.375vw;
  margin-left: calc(50% - 50vw);
  padding-right: 15vw;
  border-radius: 0 14.375vw 14.375vw 0;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_list li:nth-child(even) .serviceBox_cont {
    width: 94.6666666667vw;
    padding-right: 5.3333333333vw;
    border-radius: 0 8vw 8vw 0;
  }
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_list li:first-child {
    padding-top: 58.6666666667vw;
  }
}
.page_service .serviceBox_list li#service01 .serviceBox_img {
  width: 25.375vw;
  top: 10.875vw;
  left: 3.25vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_list li#service01 .serviceBox_img {
    width: 72.5333333333vw;
    top: 20.2666666667vw;
    left: 8vw;
  }
}
.page_service .serviceBox_list li#service02 .serviceBox_img {
  width: 14.75vw;
  top: 11.25vw;
  right: 9.125vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_list li#service02 .serviceBox_img {
    width: 38.2666666667vw;
    top: 17.8666666667vw;
    right: 25.3333333333vw;
  }
}
.page_service .serviceBox_list li#service03 .serviceBox_img {
  width: 20.625vw;
  top: 8.75vw;
  left: 9vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_list li#service03 .serviceBox_img {
    width: 44vw;
    top: 19.0666666667vw;
    left: 22.6666666667vw;
  }
}
.page_service .serviceBox_list li#service04 .serviceBox_img {
  width: 22.5vw;
  top: 10vw;
  right: 2.5vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_list li#service04 .serviceBox_img {
    width: 59.2vw;
    top: 23.3333333333vw;
    right: 14.9333333333vw;
  }
}
.page_service .serviceBox_list li#service05 .serviceBox_img {
  width: 29vw;
  top: 10vw;
  left: 0.625vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_list li#service05 .serviceBox_img {
    width: 59.7333333333vw;
    top: 28.5333333333vw;
    left: 14.9333333333vw;
  }
}
.page_service .serviceBox_list li#service06 .serviceBox_img {
  width: 16.5vw;
  top: 9.125vw;
  right: 5.625vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_list li#service06 .serviceBox_img {
    width: 36.5333333333vw;
    top: 32.4vw;
    right: 14.6666666667vw;
  }
}
.page_service .serviceBox_img {
  position: absolute;
  z-index: 10;
}
.page_service .serviceBox_cont {
  display: flex;
  position: relative;
  padding-top: 3.125vw;
  padding-bottom: 3.125vw;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_cont {
    padding-top: 18.6666666667vw;
    padding-bottom: 6.6666666667vw;
  }
}
.page_service .serviceBox_cont .sub_img {
  width: 6.25vw;
  position: absolute;
  right: 8.125vw;
  bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_cont .sub_img {
    width: 16.2666666667vw;
    top: -19.3333333333vw;
    right: initial;
    bottom: initial;
    left: 16.5333333333vw;
  }
}
.page_service .serviceBox_txtWrap {
  max-width: 33.75vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_txtWrap {
    max-width: 84vw;
  }
}
.page_service .serviceBox_txtWrap dl {
  margin-bottom: 1.25vw;
  padding-bottom: 1.25vw;
  border-bottom: 1px solid #e8e8e8;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_txtWrap dl {
    margin-bottom: 4vw;
    padding-bottom: 4.4vw;
    border-bottom: 0.2666666667vw solid #e8e8e8;
  }
}
.page_service .serviceBox_txtWrap dt {
  display: flex;
  margin-bottom: 1.5vw;
  color: #f15785;
  font-size: 1.875vw;
  font-weight: 700;
  gap: 1.25vw;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_txtWrap dt {
    margin-bottom: 4vw;
    font-size: 5.8666666667vw;
    gap: 4vw;
  }
}
.page_service .serviceBox_txtWrap dt .icon {
  display: flex;
  width: 3.75vw;
  height: 3.75vw;
  border-radius: 50%;
  background-color: #f4769c;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_txtWrap dt .icon {
    width: 12.8vw;
    height: 12.8vw;
  }
}
.page_service .serviceBox_txtWrap dt .icon img {
  width: 2.5vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_txtWrap dt .icon img {
    width: 6.9333333333vw;
  }
}
.page_service .serviceBox_txtWrap dd {
  line-height: 1.667;
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_txtWrap dd {
    line-height: 1.5;
    font-size: 3.7333333333vw;
    text-align: justify;
  }
}
.page_service .serviceBox_txtWrap .supportCont h3 {
  margin-bottom: 0.5vw;
  line-height: 1.556;
  font-size: 1.125vw;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_txtWrap .supportCont h3 {
    margin-bottom: 1.7333333333vw;
    line-height: 1.47;
    font-size: 4.5333333333vw;
  }
}
.page_service .serviceBox_txtWrap .supportCont .tag {
  display: inline-block;
  margin-top: 0.25vw;
  margin-right: 0.125vw;
  padding: 0 0.9375vw;
  border: 1px solid #f4769c;
  border-radius: 0.9375vw;
  color: #f4769c;
  line-height: 1.785;
  font-size: 0.875vw;
  font-weight: 700;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .page_service .serviceBox_txtWrap .supportCont .tag {
    margin-top: 1.3333333333vw;
    margin-right: 0.8vw;
    padding: 0.4vw 4vw;
    border: 0.2666666667vw solid #f4769c;
    border-radius: 3.3333333333vw;
    line-height: 1.5;
    font-size: 3.2vw;
  }
}
.page_service .features {
  padding-bottom: 7.5vw;
}
@media screen and (max-width: 768px) {
  .page_service .features {
    padding-bottom: 18.6666666667vw;
  }
}
.page_service .features .sec_leadTxt {
  margin-bottom: 0;
}
.page_service .features .featuresBox_list li {
  gap: 3.4375vw;
}
@media screen and (max-width: 768px) {
  .page_service .features .featuresBox_list li {
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .page_service .features .featuresBox_list li:first-child {
    padding-top: 12vw;
  }
}
.page_service .features .featuresBox_list li:nth-child(5) {
  flex-wrap: wrap;
}
.page_service .features .featuresBox_list li:nth-child(5) .btn:not(.modal_openBtn) {
  max-width: 20.375vw;
}
@media screen and (max-width: 768px) {
  .page_service .features .featuresBox_list li:nth-child(5) .btn:not(.modal_openBtn) {
    max-width: 78.6666666667vw;
  }
}
.page_service .features .featuresBox_list li .featuresBox_img {
  width: 55vw;
}
@media screen and (max-width: 768px) {
  .page_service .features .featuresBox_list li .featuresBox_img {
    width: 94.6666666667vw;
  }
}
.page_service .features .featuresBox_list li:nth-child(odd) .featuresBox_img {
  border-radius: 0 13.125vw 13.125vw 0;
}
@media screen and (max-width: 768px) {
  .page_service .features .featuresBox_list li:nth-child(odd) .featuresBox_img {
    border-radius: 0 26.6666666667vw 26.6666666667vw 0;
  }
}
.page_service .features .featuresBox_list li:nth-child(even) .featuresBox_img {
  border-radius: 13.125vw 0 0 13.125vw;
}
@media screen and (max-width: 768px) {
  .page_service .features .featuresBox_list li:nth-child(even) .featuresBox_img {
    border-radius: 26.6666666667vw 0 0 26.6666666667vw;
  }
}
.page_service .features .featuresBox_list .featuresBox_txtWrap {
  width: 25.9375vw;
}
@media screen and (max-width: 768px) {
  .page_service .features .featuresBox_list .featuresBox_txtWrap {
    width: 100%;
  }
}
.page_service .features .featuresBox_list .featuresBox_txtWrap::before {
  top: -2.75vw;
  left: -5.8125vw;
}
@media screen and (max-width: 768px) {
  .page_service .features .featuresBox_list .featuresBox_txtWrap::before {
    top: -16vw;
    right: 0;
    left: initial;
  }
}
.page_service .features .detailsBox {
  display: flex;
  width: 100%;
  margin-top: -1.5625vw;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .page_service .features .detailsBox {
    display: block;
    margin-top: 5.3333333333vw;
  }
}
.page_service .features .detailsBox > div {
  width: 33.75vw;
  padding: 1vw 1.25vw;
  border-radius: 0.625vw;
  background-color: #f8f8f8;
}
@media screen and (max-width: 768px) {
  .page_service .features .detailsBox > div {
    width: 100%;
    margin-bottom: 2.6666666667vw;
    padding: 3.0666666667vw 4vw 4vw;
    border-radius: 2.6666666667vw;
  }
  .page_service .features .detailsBox > div:last-child {
    margin-bottom: 0;
  }
}
.page_service .features .detailsBox > div p {
  line-height: 1.538;
  font-size: 0.8125vw;
}
@media screen and (max-width: 768px) {
  .page_service .features .detailsBox > div p {
    font-size: 2.9333333333vw;
  }
}
.page_service .features .modal_openBtn {
  max-width: 23.75vw;
  margin: 0.9375vw auto 0;
  padding: 0.9375vw 1.25vw 0.9375vw 0;
}
@media screen and (max-width: 768px) {
  .page_service .features .modal_openBtn {
    max-width: 78.6666666667vw;
    margin-top: 3.0666666667vw;
    padding: 4vw 4.6666666667vw 4vw 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.page_service .voice {
  padding: 4.75vw 0 14.375vw;
  border-radius: 7.5vw 7.5vw 0 0;
  background-color: #fff7f7;
}
@media screen and (max-width: 768px) {
  .page_service .voice {
    padding: 15.2vw 0 29.3333333333vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
  }
}
.page_service .voice .sec_ttl {
  margin-bottom: 3.75vw;
}
@media screen and (max-width: 768px) {
  .page_service .voice .sec_ttl {
    margin-bottom: 10.6666666667vw;
  }
}
.page_service .voice .sec_ttl .en {
  width: 2.75vw;
}
@media screen and (max-width: 768px) {
  .page_service .voice .sec_ttl .en {
    width: 10.1333333333vw;
  }
}
.page_service .voiceBox_wrap {
  display: flex;
  gap: 3.4375vw 5vw;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .page_service .voiceBox_wrap {
    display: block;
  }
}
.page_service .voiceBox_wrap dl {
  width: 31.875vw;
}
@media screen and (max-width: 768px) {
  .page_service .voiceBox_wrap dl {
    width: 100%;
    margin-bottom: 9.7333333333vw;
  }
  .page_service .voiceBox_wrap dl:last-child {
    margin-bottom: 0;
  }
}
.page_service .voiceBox_wrap dt.voiceBox_img {
  overflow: hidden;
  margin-bottom: 1.4375vw;
  border-radius: 2.5vw;
}
@media screen and (max-width: 768px) {
  .page_service .voiceBox_wrap dt.voiceBox_img {
    height: 48.8vw;
    margin-bottom: 4vw;
    border-radius: 5.3333333333vw;
  }
  .page_service .voiceBox_wrap dt.voiceBox_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.page_service .voiceBox_wrap dd {
  position: relative;
  line-height: 1.6667;
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .page_service .voiceBox_wrap dd {
    line-height: 1.5;
    font-size: 3.7333333333vw;
    text-align: justify;
  }
}
.page_service .voiceBox_wrap dd strong {
  color: #f4769c;
  font-size: 1.125vw;
}
@media screen and (max-width: 768px) {
  .page_service .voiceBox_wrap dd strong {
    font-size: 4.5333333333vw;
  }
}
.page_service .voiceBox_wrap dd::before {
  content: "";
  display: block;
  width: 4.5625vw;
  height: 3.3125vw;
  position: absolute;
  top: 0;
  right: 0;
  background-image: url(/assets/img/common/icon_quotes02.png);
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .page_service .voiceBox_wrap dd::before {
    width: 11.7333333333vw;
    height: 8.5333333333vw;
    top: -1.3333333333vw;
  }
}
.page_service .modal_service01 .modal_inner p {
  font-size: 1vw;
  line-height: 1.875;
  width: 46.25vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page_service .modal_service01 .modal_inner p {
    width: 100%;
    line-height: 1.5334;
    font-size: 4vw;
    text-align: justify;
  }
}
@media screen and (max-width: 768px) {
  .page_service .modal_service01 .modal_inner .note_txt {
    text-indent: -1em;
    padding-left: 1em;
  }
}

/*---------------------------------------
  page_about
/*---------------------------------------*/
@media screen and (max-width: 768px) {
  .page_about .mv {
    height: 66.6666666667vw;
  }
}
.page_about .company {
  padding: 5.375vw 0 7.5vw;
}
@media screen and (max-width: 768px) {
  .page_about .company {
    padding: 12.5333333333vw 0 18.6666666667vw;
  }
}
.page_about .company .sec_ttl {
  margin-bottom: 3.75vw;
}
@media screen and (max-width: 768px) {
  .page_about .company .sec_ttl {
    margin-bottom: 10.6666666667vw;
  }
}
.page_about .company .sec_ttl .en {
  width: 4.5vw;
}
@media screen and (max-width: 768px) {
  .page_about .company .sec_ttl .en {
    width: 16.8vw;
  }
}
.page_about .companyInfo_box table, .page_about .companyInfo_box tbody, .page_about .companyInfo_box tr {
  display: block;
  width: 100%;
}
.page_about .companyInfo_box tr {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .page_about .companyInfo_box tr {
    border-bottom: 0.2666666667vw solid #ccc;
  }
}
.page_about .companyInfo_box tr:first-child {
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 768px) {
  .page_about .companyInfo_box tr:first-child {
    border-top: 0.2666666667vw solid #ccc;
  }
}
.page_about .companyInfo_box th {
  width: 13.75vw;
  padding: 2.1875vw 3.75vw;
  color: #999;
  line-height: 1.5;
  font-size: 1vw;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .page_about .companyInfo_box th {
    display: block;
    width: 100%;
    padding: 4.9333333333vw 2.6666666667vw 4vw;
    line-height: 1.071;
    font-size: 3.7333333333vw;
  }
}
.page_about .companyInfo_box td {
  width: 55vw;
  padding: 2.1875vw 0;
  line-height: 1.5;
  font-size: 1vw;
}
@media screen and (max-width: 768px) {
  .page_about .companyInfo_box td {
    display: block;
    width: 100%;
    padding: 0 2.6666666667vw 4.4vw;
    font-size: 4vw;
  }
}
.page_about .companyInfo_box .map_wrap {
  overflow: hidden;
  max-width: 51.0625vw;
  margin: 1.6875vw 0 0.3125vw;
  padding-top: 17.5vw;
  border-radius: 2.5vw;
}
@media screen and (max-width: 768px) {
  .page_about .companyInfo_box .map_wrap {
    max-width: 84vw;
    margin: 3.0666666667vw 0 0.9333333333vw;
    padding-top: 53.3333333333vw;
    border-radius: 5.3333333333vw;
  }
}
.page_about .employee {
  padding: 4.75vw 0 14.375vw;
  border-radius: 7.5vw 7.5vw 0 0;
  background-color: #fff7f7;
}
@media screen and (max-width: 768px) {
  .page_about .employee {
    padding: 15.0666666667vw 0 29.3333333333vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
  }
}
.page_about .employee .sec_ttl {
  margin-bottom: 3.75vw;
}
@media screen and (max-width: 768px) {
  .page_about .employee .sec_ttl {
    margin-bottom: 10.6666666667vw;
  }
}
.page_about .employee .sec_ttl .en {
  width: 4.875vw;
}
@media screen and (max-width: 768px) {
  .page_about .employee .sec_ttl .en {
    width: 17.8666666667vw;
  }
}
.page_about .employeeBox_list {
  display: flex;
  gap: 2.5vw;
}
@media screen and (max-width: 768px) {
  .page_about .employeeBox_list {
    display: block;
  }
}
.page_about .employeeBox_list > li {
  max-width: 21.25vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .page_about .employeeBox_list > li {
    max-width: 100%;
    margin-bottom: 13.3333333333vw;
  }
  .page_about .employeeBox_list > li:last-child {
    margin-bottom: 0;
  }
}
.page_about .employeeBox_list .employeeBox_img {
  overflow: hidden;
  margin-bottom: 1.25vw;
  border-radius: 1.25vw;
}
@media screen and (max-width: 768px) {
  .page_about .employeeBox_list .employeeBox_img {
    height: 55.7333333333vw;
    margin-bottom: 4.6666666667vw;
    border-radius: 5.3333333333vw;
  }
  .page_about .employeeBox_list .employeeBox_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.page_about .employeeBox_list dt.name {
  margin-bottom: 1.375vw;
  line-height: 1.8;
  font-size: 1.25vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .page_about .employeeBox_list dt.name {
    margin-bottom: 5.7333333333vw;
    line-height: 1.68;
    font-size: 5.0666666667vw;
  }
}
.page_about .employeeBox_list dt.name span {
  display: block;
  padding-top: 0.375vw;
  color: #999;
  line-height: 1;
  font-size: 0.875vw;
}
@media screen and (max-width: 768px) {
  .page_about .employeeBox_list dt.name span {
    padding-top: 1.7333333333vw;
    font-size: 3.2vw;
  }
}
.page_about .employeeBox_list dd.txtBox {
  margin-bottom: 0.9375vw;
  line-height: 1.6667;
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .page_about .employeeBox_list dd.txtBox {
    margin-bottom: 4.5333333333vw;
    line-height: 1.4;
    font-size: 3.7333333333vw;
  }
}
.page_about .employeeBox_list dd.txtBox ol {
  margin-bottom: 1.5625vw;
}
@media screen and (max-width: 768px) {
  .page_about .employeeBox_list dd.txtBox ol {
    margin-bottom: 6.1333333333vw;
  }
}
.page_about .employeeBox_list dd.txtBox li {
  padding-left: 2em;
  text-indent: -2em;
}
.page_about .employeeBox_list dd.specialtyBox {
  padding: 0.8125vw 1.25vw 1vw;
  border-radius: 0.625vw;
  line-height: 1.667;
  font-size: 0.9375vw;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .page_about .employeeBox_list dd.specialtyBox {
    padding: 4vw 5.3333333333vw 4.5333333333vw;
    border-radius: 2.6666666667vw;
    line-height: 1.5;
    font-size: 3.7333333333vw;
  }
}
.page_about .employeeBox_list dd.specialtyBox h3 {
  margin-bottom: 0.3125vw;
  color: #f4769c;
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .page_about .employeeBox_list dd.specialtyBox h3 {
    margin-bottom: 1.8666666667vw;
    font-size: 3.7333333333vw;
  }
}
.page_about .employeeBox_list dd.specialtyBox ul {
  display: flex;
  flex-wrap: wrap;
}
.page_about .employeeBox_list dd.specialtyBox ul li {
  width: 50%;
}

/*---------------------------------------
  page_policy
/*---------------------------------------*/
.page_policy footer .cont_contactBox:not(.trigger_cont) {
  display: none;
}
@media screen and (max-width: 768px) {
  .page_policy .mv {
    height: 32.6666666667vw;
  }
}
.page_policy .policy {
  padding-top: 5.75vw;
}
@media screen and (max-width: 768px) {
  .page_policy .policy {
    padding-top: 12vw;
  }
}
.page_policy .policyBox_wrap {
  padding: 4.625vw 0 14.375vw;
  border-radius: 7.5vw 7.5vw 0 0;
  background-color: #fff7f7;
}
@media screen and (max-width: 768px) {
  .page_policy .policyBox_wrap {
    padding: 12vw 0 29.3333333333vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
  }
}
@media screen and (min-width: 769px) {
  .page_policy .policyBox_wrap .inner {
    max-width: 65vw;
  }
}
.page_policy .policyBox_leadTxt {
  margin-bottom: 3vw;
  line-height: 1.667;
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .page_policy .policyBox_leadTxt {
    margin-bottom: 11.4666666667vw;
    line-height: 1.5;
    font-size: 3.7333333333vw;
  }
}
.page_policy .policyBox dl {
  margin-top: 2.375vw;
}
@media screen and (max-width: 768px) {
  .page_policy .policyBox dl {
    margin-top: 8.6666666667vw;
  }
}
.page_policy .policyBox dl:first-child {
  margin-top: 0;
}
.page_policy .policyBox dl:last-child {
  margin-top: 5.625vw;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .page_policy .policyBox dl:last-child {
    margin-top: 11.4666666667vw;
  }
  .page_policy .policyBox dl:last-child dt {
    margin-bottom: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.page_policy .policyBox dt {
  margin-bottom: 0.8125vw;
  line-height: 1.5625;
  font-size: 1vw;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .page_policy .policyBox dt {
    margin-bottom: 3.4666666667vw;
    line-height: 1.4;
    font-size: 4vw;
  }
}
.page_policy .policyBox dd {
  line-height: 1.667;
  font-size: 0.9375vw;
}
@media screen and (max-width: 768px) {
  .page_policy .policyBox dd {
    line-height: 1.5;
    font-size: 3.7333333333vw;
  }
}
.page_policy .policyBox dd li {
  padding-left: 1em;
  text-indent: -1em;
}
.page_policy .policyBox p + ul, .page_policy .policyBox p + p {
  margin-top: 0.625vw;
}
@media screen and (max-width: 768px) {
  .page_policy .policyBox p + ul, .page_policy .policyBox p + p {
    margin-top: 2.6666666667vw;
  }
}
.page_policy .policyBox p + ul li {
  margin-bottom: 0.625vw;
}
@media screen and (max-width: 768px) {
  .page_policy .policyBox p + ul li {
    margin-bottom: 2.6666666667vw;
  }
}
.page_policy .policyBox p + ul li:last-child {
  margin-bottom: 0;
}

/*---------------------------------------
  animation
/*---------------------------------------*/
header {
  transform: translateY(-100%);
}

.page_top .mv .mv_img {
  opacity: 0;
}
.page_top .mv .mv_ttl {
  opacity: 0;
  transform: translateY(30px);
}
.page_top .mv .btn {
  opacity: 0;
}
.page_top .mv .object_bg .ani_circle {
  opacity: 0;
}

.zoom_bg {
  overflow: hidden;
}
.zoom_bg img {
  width: 100%;
  height: 100%;
  opacity: 1;
  -o-object-fit: cover;
     object-fit: cover;
}

.fuwafuwa01 {
  animation: fuwafuwa01 1.8s ease-in-out infinite alternate-reverse;
}

@keyframes fuwafuwa01 {
  0% {
    transform: translateY(-15px);
  }
  100% {
    transform: translateY(15px);
  }
}
.fuwafuwa02 {
  animation: fuwafuwa02 1.8s ease-in-out infinite alternate-reverse;
}

@keyframes fuwafuwa02 {
  0% {
    transform: translateY(15px);
  }
  100% {
    transform: translateY(-15px);
  }
}
.lowerPage .mv .mv_ttl {
  display: inline-block;
  -webkit-clip-path: polygon(0 100%, 0 100%, 0 0, 0 0);
          clip-path: polygon(0 100%, 0 100%, 0 0, 0 0);
}
.lowerPage .mv .mv_txt {
  opacity: 0;
  transform: translateY(30px);
}

.lowerPage_firstBox .sec_ttl span {
  opacity: 0;
  transform: translateY(20px);
}
.lowerPage_firstBox .sec_leadTxt {
  opacity: 0;
  transform: translateY(20px);
}
.lowerPage_firstBox .slideIn_01 {
  opacity: 0;
  transform: translateY(30px);
}/*# sourceMappingURL=style.css.map */