@charset "UTF-8";
/*--- import -------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Mukta+Mahee:wght@400;500;700&display=swap");
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  word-break: break-word;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent;
}

html, body {
  overflow-x: hidden;
  font-size: 62.5%;
}

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

li {
  list-style-type: none;
}

blockquote, q {
  quotes: none;
}

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

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

img, picture {
  vertical-align: middle;
  max-width: 100%;
}

img {
  height: auto;
}

picture {
  display: block;
}

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

input, select {
  vertical-align: middle;
}

br {
  line-height: 0;
}

input, textarea, select, button {
  font: inherit;
}

/* safariでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

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

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

/* -----------------------------------------------------
	variables
----------------------------------------------------- */
/*------------------------------------- import ---*/
body {
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', '游ゴシック', 'YuGothic', 'メイリオ', 'Meiryo', sans-serif;
  text-align: center;
  font-weight: 500;
  color: #323232;
  line-height: 1.6;
}

a {
  opacity: 1;
  -webkit-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s;
}

@media (hover: hover) and (pointer: fine) {
  a:hover {
    opacity: 0.6;
  }
}

.pc {
  display: block;
}

.pc._inline {
  display: inline;
}

.pc._inline-block {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
  .sp._inline {
    display: inline;
  }
  .sp._inline-block {
    display: inline-block;
  }
}

/* -----------------------------------------------------
	common
----------------------------------------------------- */
section .inner {
  max-width: 1000px;
  width: 96%;
  margin: 0 auto;
  padding: min(6.25vw,90px) 0 min(6.94444vw,100px);
}

@media screen and (max-width: 768px) {
  section .inner {
    padding: 11.71875vw 3.90625vw 13.02083vw;
  }
}

section .section_ttl {
  display: inline-block;
  margin-block: 0 min(3.47222vw,50px);
  font-size: min(3.125vw,45px);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  section .section_ttl {
    font-size: 7.16146vw;
    margin-block: 0 7.8125vw;
  }
}

section .section_ttl span {
  display: block;
  font-weight: 700;
  color: #00BFFF;
  font-size: min(1.94444vw,28px);
  letter-spacing: .02em;
}

@media screen and (max-width: 768px) {
  section .section_ttl span {
    font-size: 4.94792vw;
  }
}

section .en {
  font-family: 'Mukta Mahee', sans-serif;
}

section.bg {
  background: rgba(84, 200, 243, 0.05);
}

/* -----------------------------------------------------
	header
----------------------------------------------------- */
header {
  background: white;
  width: 100%;
  position: fixed;
  z-index: 5;
}

header .inner_h {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 0 min(2.08333vw,30px);
  height: min(4.86111vw,70px);
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
}

@media screen and (max-width: 768px) {
  header .inner_h {
    -ms-flex-pack: justify;
    /*IE10*/
    -webkit-box-pack: justify;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-justify-content: space-between;
    /* Safari6.1以降 */
    justify-content: space-between;
    padding: 0 5.20833vw;
    height: 13.02083vw;
  }
}

header .inner_h .logo img {
  width: min(24.16667vw,348px);
}

@media screen and (max-width: 768px) {
  header .inner_h .logo img {
    width: 52.08333vw;
    position: relative;
    z-index: 1;
  }
}

@media screen and (max-width: 768px) {
  header .inner_h nav {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    padding: 13.28125vw 0 15.625vw;
    background: #fff;
  }
}

header .inner_h nav .btn_menu {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  margin-inline: min(12.5vw,180px) 0;
}

@media screen and (max-width: 768px) {
  header .inner_h nav .btn_menu {
    display: block;
    margin-inline: auto;
    padding-block: 3.90625vw 0;
    border-top: 0.26042vw solid #E1E1E1;
  }
}

header .inner_h nav .btn_menu li a {
  display: block;
}

@media screen and (max-width: 768px) {
  header .inner_h nav .btn_menu li a {
    display: -webkit-box;
    /*Android4.3*/
    display: -ms-flexbox;
    /*IE10*/
    display: -webkit-flex;
    /*PC-Safari,iOS8.4*/
    display: flex;
    -ms-flex-pack: justify;
    /*IE10*/
    -webkit-box-pack: justify;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-justify-content: space-between;
    /* Safari6.1以降 */
    justify-content: space-between;
    -ms-flex-align: center;
    /*IE10*/
    -webkit-box-align: center;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-align-items: center;
    /* Safari6.1以降 */
    align-items: center;
    padding: 5.20833vw 8.85417vw;
    position: relative;
  }
  header .inner_h nav .btn_menu li a::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 6.25vw;
    width: 2.08333vw;
    height: 2.08333vw;
    border: 0.52083vw solid #898989;
    border-left: 0;
    border-bottom: 0;
    -webkit-transform: translate(-25%, -50%) rotate(45deg);
    -ms-transform: translate(-25%, -50%) rotate(45deg);
    transform: translate(-25%, -50%) rotate(45deg);
  }
}

header .inner_h nav .btn_menu li a .link_text {
  font-size: min(1.25vw,18px);
}

@media screen and (max-width: 768px) {
  header .inner_h nav .btn_menu li a .link_text {
    color: #909090;
    font-size: 4.6875vw;
    text-align: left;
    padding-inline: 8.33333vw 0;
    position: relative;
  }
  header .inner_h nav .btn_menu li a .link_text::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  header .inner_h nav .btn_menu li a .link_text.icon01::before {
    width: 3.90625vw;
    height: 3.38542vw;
    background: url(../img/icon01.png) no-repeat left center/contain;
  }
  header .inner_h nav .btn_menu li a .link_text.icon02::before {
    width: 4.16667vw;
    height: 4.81771vw;
    background: url(../img/icon02.png) no-repeat left center/contain;
  }
  header .inner_h nav .btn_menu li a .link_text.icon03::before {
    width: 3.90625vw;
    height: 3.25521vw;
    background: url(../img/icon03.png) no-repeat left center/contain;
  }
  header .inner_h nav .btn_menu li a .link_text.icon04::before {
    width: 3.90625vw;
    height: 3.90625vw;
    background: url(../img/icon04.png) no-repeat left center/contain;
  }
  header .inner_h nav .btn_menu li a .link_text.icon05::before {
    width: 3.90625vw;
    height: 4.42708vw;
    background: url(../img/icon05.png) no-repeat left center/contain;
  }
  header .inner_h nav .btn_menu li a .link_text.icon06::before {
    width: 3.90625vw;
    height: 3.90625vw;
    background: url(../img/icon06.png) no-repeat left center/contain;
  }
}

header .inner_h nav .btn_menu li + li {
  margin: 0 0 0 min(3.05556vw,44px);
}

@media screen and (max-width: 768px) {
  header .inner_h nav .btn_menu li + li {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .open nav {
    visibility: visible;
    display: block;
    pointer-events: inherit;
    opacity: 1;
    -webkit-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    overflow-y: scroll;
  }
}

@media screen and (max-width: 768px) {
  header nav {
    visibility: visible;
    display: block;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
  }
}

.menu {
  display: none;
}

@media screen and (max-width: 768px) {
  .menu {
    display: -webkit-box;
    /*Android4.3*/
    display: -ms-flexbox;
    /*IE10*/
    display: -webkit-flex;
    /*PC-Safari,iOS8.4*/
    display: flex;
    -ms-flex-pack: center;
    /*IE10*/
    -webkit-box-pack: center;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-justify-content: center;
    /* Safari6.1以降 */
    justify-content: center;
    -ms-flex-align: center;
    /*IE10*/
    -webkit-box-align: center;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-align-items: center;
    /* Safari6.1以降 */
    align-items: center;
    position: absolute;
    top: 50%;
    right: 1.30208vw;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 10.41667vw;
    height: 10.41667vw;
    border-radius: 1.30208vw;
  }
}

.menu .menu-trigger,
.menu .menu-trigger span {
  display: inline-block;
  -webkit-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}

.menu .menu-trigger {
  position: relative;
}

@media screen and (max-width: 768px) {
  .menu .menu-trigger {
    width: 5.20833vw;
    height: 3.90625vw;
  }
}

@media screen and (max-width: 768px) {
  .menu .menu-trigger span {
    position: absolute;
    right: 0;
    width: 100%;
    background-color: #898989;
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    height: 0.52083vw;
    background-color: #898989;
  }
}

.menu .menu-trigger span:nth-of-type(1) {
  top: 0;
}

@media screen and (max-width: 768px) {
  .menu .menu-trigger span:nth-of-type(2) {
    top: 0;
    bottom: 0;
    margin: auto;
  }
}

.menu .menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

@media screen and (max-width: 768px) {
  .menu .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(1.82292vw) rotate(-45deg);
    -ms-transform: translateY(1.82292vw) rotate(-45deg);
    transform: translateY(1.82292vw) rotate(-45deg);
  }
}

.menu .menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .menu .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-1.5625vw) rotate(45deg);
    -ms-transform: translateY(-1.5625vw) rotate(45deg);
    transform: translateY(-1.5625vw) rotate(45deg);
  }
}

.menu:hover {
  cursor: pointer;
}

/* -----------------------------------------------------
	footer
----------------------------------------------------- */
footer {
  background-color: #002A40;
}

footer .inner_f {
  max-width: 1220px;
  width: 100%;
  margin: 0 auto;
  padding: min(4.16667vw,60px) min(2.08333vw,30px);
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  color: #fff;
}

@media screen and (max-width: 768px) {
  footer .inner_f {
    display: block;
    padding: 15.625vw 5.20833vw;
  }
}

footer .inner_f .logo_section {
  width: min(18.40278vw,265px);
}

@media screen and (max-width: 768px) {
  footer .inner_f .logo_section {
    width: 54.6875vw;
  }
}

footer .inner_f .logo_section .logo_wrapper {
  width: min(18.33333vw,264px);
}

@media screen and (max-width: 768px) {
  footer .inner_f .logo_section .logo_wrapper {
    width: 54.6875vw;
  }
}

footer .inner_f .logo_section .copyright {
  font-family: "Inter", sans-serif;
  font-size: min(0.83333vw,12px);
  margin-top: min(1.38889vw,20px);
}

@media screen and (max-width: 768px) {
  footer .inner_f .logo_section .copyright {
    font-size: 2.60417vw;
    margin-top: 2.60417vw;
  }
}

footer .inner_f .footer_nav {
  margin-top: min(-0.69444vw,-10px);
  margin-left: min(4.16667vw,60px);
}

@media screen and (max-width: 768px) {
  footer .inner_f .footer_nav {
    margin-top: 8.85417vw;
    margin-left: 0;
  }
}

footer .inner_f .footer_nav-list {
  display: -ms-grid;
  display: grid;
  grid-auto-flow: column;
  -ms-grid-columns: auto auto;
  grid-template-columns: auto auto;
  -ms-grid-rows: (auto)[6];
  grid-template-rows: repeat(6, auto);
  -webkit-column-gap: min(6.25vw,90px);
  column-gap: min(6.25vw,90px);
}

@media screen and (max-width: 768px) {
  footer .inner_f .footer_nav-list {
    -webkit-column-gap: 0;
    column-gap: 0;
  }
}

footer .inner_f .footer_nav-list .nav_item {
  text-align: left;
}

footer .inner_f .footer_nav-list .nav_item .nav_link {
  display: block;
  font-size: min(0.97222vw,14px);
  padding: min(0.55556vw,8px) 0;
}

@media screen and (max-width: 768px) {
  footer .inner_f .footer_nav-list .nav_item .nav_link {
    font-size: 3.90625vw;
    padding: 2.08333vw 0;
  }
}

footer .inner_f .footer_contact {
  color: #fff;
  margin-left: min(13.88889vw,200px);
  text-align: right;
}

@media screen and (max-width: 768px) {
  footer .inner_f .footer_contact {
    margin-top: 13.02083vw;
    margin-left: 0;
    text-align: left;
  }
}

footer .inner_f .footer_contact-text {
  font-size: min(1.18056vw,17px);
}

@media screen and (max-width: 768px) {
  footer .inner_f .footer_contact-text {
    font-size: 3.64583vw;
    font-weight: 600;
  }
}

footer .inner_f .footer_contact-phone {
  font-family: "Mukta", sans-serif;
  font-size: min(2.36111vw,34px);
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  footer .inner_f .footer_contact-phone {
    font-size: 8.33333vw;
  }
}

footer .inner_f .footer_contact-phone::before {
  content: '';
  display: inline-block;
  width: min(1.52778vw,22px);
  height: min(1.52778vw,22px);
  background: url(../img/tel-icon.svg) no-repeat center center/contain;
  position: static;
  margin-right: min(0.69444vw,10px);
}

@media screen and (max-width: 768px) {
  footer .inner_f .footer_contact-phone::before {
    width: 5.72917vw;
    height: 5.72917vw;
    margin-right: 2.60417vw;
  }
}

footer .inner_f .footer_contact-hours {
  font-size: min(0.69444vw,10px);
  font-weight: 400;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  footer .inner_f .footer_contact-hours {
    font-size: 2.86458vw;
  }
}

footer .inner_f .footer_contact-hours span {
  font-size: min(1.11111vw,16px);
}

@media screen and (max-width: 768px) {
  footer .inner_f .footer_contact-hours span {
    font-size: 3.64583vw;
  }
}

/* -----------------------------------------------------
	kv
----------------------------------------------------- */
.kv {
  margin-block: min(4.86111vw,70px) 0;
  background: url(../img/kv_bg.png) no-repeat center center/cover;
}

@media screen and (max-width: 768px) {
  .kv {
    margin-block: 13.02083vw 0;
    background: url(../img/kv_bg_sp.png) no-repeat center center/cover;
  }
}

.kv_inner {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  max-width: 1000px;
  width: 96%;
  margin: 0 auto;
  padding-block: min(4.16667vw,60px) min(2.77778vw,40px);
}

@media screen and (max-width: 768px) {
  .kv_inner {
    display: block;
    padding-block: 7.8125vw;
    padding-inline: 3.90625vw;
  }
}

.kv_inner_txt {
  width: min(34.72222vw,500px);
}

@media screen and (max-width: 768px) {
  .kv_inner_txt {
    width: 100%;
  }
}

.kv_inner_txt .btn_col {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  gap: min(1.25vw,18px);
  margin-block: min(2.08333vw,30px) min(1.52778vw,22px);
}

@media screen and (max-width: 768px) {
  .kv_inner_txt .btn_col {
    gap: 3.38542vw;
    margin-block: 5.20833vw;
  }
}

.kv_inner_txt .btn_col li {
  width: calc(100% / 2);
}

.kv_inner_txt .btn_col li a {
  display: block;
  color: #fff;
  font-size: min(1.25vw,18px);
  font-weight: 700;
  border-radius: 5px;
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
  padding-block: min(1.25vw,18px);
  padding-inline: 0 min(1.11111vw,16px);
  background: #FF9292;
  position: relative;
}

@media screen and (max-width: 768px) {
  .kv_inner_txt .btn_col li a {
    font-size: 3.25521vw;
    border-radius: 0.78125vw;
    padding-block: 3.90625vw;
    padding-inline: 0 2.34375vw;
  }
}

.kv_inner_txt .btn_col li a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 0.8em;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background: url(../img/look.png) no-repeat right center/contain;
  width: min(0.69444vw,10px);
  height: min(0.97222vw,14px);
}

@media screen and (max-width: 768px) {
  .kv_inner_txt .btn_col li a::after {
    right: 2.60417vw;
    width: 3.125vw;
    height: 3.125vw;
  }
}

.kv_inner_txt .btn_col li:first-child a {
  background: #F6BD34;
}

.kv_inner_txt .btn_col li:first-child a::after {
  background: url(../img/download.png) no-repeat right center/contain;
  width: min(1.25vw,18px);
  height: min(1.25vw,18px);
}

@media screen and (max-width: 768px) {
  .kv_inner_txt .btn_col li:first-child a::after {
    width: 3.125vw;
    height: 3.125vw;
  }
}

.kv_inner_img {
  width: min(31.25vw,450px);
}

@media screen and (max-width: 768px) {
  .kv_inner_img {
    width: 100%;
    margin-block: 7.8125vw 0;
  }
}

.scrolls {
  padding-block: 50px;
}

@media screen and (max-width: 768px) {
  .scrolls {
    padding-block: 6.51042vw;
  }
}

.scrolls .scroll-background {
  width: 100%;
  height: 50px;
  background-image: url(../img/slide.png);
  background-repeat: repeat-x;
  background-size: auto 100%;
  -webkit-animation: scrollBg 30s linear infinite;
  animation: scrollBg 30s linear infinite;
  background-position: 0 0;
}

@media screen and (max-width: 768px) {
  .scrolls .scroll-background {
    height: 13.02083vw;
  }
}

@-webkit-keyframes scrollBg {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -2839px 0;
  }
}

@keyframes scrollBg {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -2839px 0;
  }
}

/* -----------------------------------------------------
	problem
----------------------------------------------------- */
.problem .inner .lead {
  font-size: min(1.38889vw,20px);
  font-weight: 700;
  margin-block: 0 min(3.47222vw,50px);
}

@media screen and (max-width: 768px) {
  .problem .inner .lead {
    font-size: 4.16667vw;
    margin-block: 0 9.11458vw;
  }
}

.problem .inner .lead span {
  color: #0097E0;
  font-size: min(1.73611vw,25px);
  border-bottom: 6px double #0097E0;
}

@media screen and (max-width: 768px) {
  .problem .inner .lead span {
    display: inline-block;
    font-size: 5.20833vw;
    margin-block: 0 0.78125vw;
  }
}

.problem .inner .row + dl {
  margin-block: min(3.75vw,54px) 0;
}

@media screen and (max-width: 768px) {
  .problem .inner .row + dl {
    margin-block: 13.02083vw 0;
  }
}

.problem .inner .row_in {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in {
    display: block;
  }
}

.problem .inner .row_in dt, .problem .inner .row_in dd {
  background: #fff;
  border-radius: 15px;
  -webkit-box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.08);
}

.problem .inner .row_in dt {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  width: 42.5%;
  padding-block: min(5vw,72px) 0;
  position: relative;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dt {
    width: 100%;
    padding-block: 15.625vw 0;
    margin-block: 0 13.02083vw;
  }
}

.problem .inner .row_in dt::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: -5.8em;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: min(1.38889vw,20px);
  height: min(3.05556vw,44px);
  background: url(../img/problem_arrow.png) no-repeat right center/contain;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dt::after {
    top: inherit;
    right: inherit;
    left: 50%;
    bottom: -9.11458vw;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    width: 10.9375vw;
    height: 4.94792vw;
    background: url(../img/problem_arrow_sp.png) no-repeat center bottom/contain;
  }
}

.problem .inner .row_in dt .num {
  position: absolute;
  top: 0;
  left: 0;
  color: #E8E8E8;
  font-size: min(3.19444vw,46px);
  font-weight: 900;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dt .num {
    font-size: 8.33333vw;
  }
}

.problem .inner .row_in dt p {
  width: min(16.66667vw,240px);
  font-size: min(1.18056vw,17px);
  font-weight: 700;
  text-align: left;
}

.problem .inner .row_in dt p::before {
  content: '';
  display: block;
  height: 0;
  width: 0;
  margin-top: calc((1 - 1.6) * 0.5em);
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dt p {
    width: 50.78125vw;
    font-size: 3.51563vw;
  }
}

.problem .inner .row_in dt p span {
  font-size: min(1.66667vw,24px);
  line-height: 1.4;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #FFE88A));
  background: -webkit-linear-gradient(transparent 70%, #FFE88A 30%);
  background: -o-linear-gradient(transparent 70%, #FFE88A 30%);
  background: linear-gradient(transparent 70%, #FFE88A 30%);
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dt p span {
    font-size: 4.42708vw;
  }
}

.problem .inner .row_in dt p.top {
  margin-top: -0.6em;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dt p.top {
    margin-top: -3.38542vw;
  }
}

.problem .inner .row_in dt p.pt {
  padding-block: min(1.25vw,18px) 0;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dt p.pt {
    padding-block: 5.20833vw 0;
  }
}

.problem .inner .row_in dt .img_box {
  width: min(9.375vw,135px);
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dt .img_box {
    width: 24.73958vw;
  }
}

.problem .inner .row_in dt .img_box .ht {
  height: 140px;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dt .img_box .ht {
    height: auto;
  }
}

.problem .inner .row_in dd {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  width: 52.5%;
  padding-block: min(1.80556vw,26px);
  position: relative;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dd {
    width: 100%;
    padding-block: 6.51042vw;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.problem .inner .row_in dd::before {
  content: '';
  display: block;
  width: min(5.55556vw,80px);
  height: min(5.55556vw,80px);
  background: url(../img/problem_common_icon.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -4em;
  right: -3.8em;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dd::before {
    width: 18.22917vw;
    height: 18.22917vw;
    top: -5.20833vw;
    right: -3.90625vw;
  }
}

.problem .inner .row_in dd .text_area {
  width: min(20vw,288px);
  text-align: left;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dd .text_area {
    width: 49.47917vw;
  }
}

.problem .inner .row_in dd .text_area h3 {
  margin-block: 0 min(0.97222vw,14px);
  line-height: 1.4;
}

.problem .inner .row_in dd .text_area h3::before {
  content: '';
  display: block;
  height: 0;
  width: 0;
  margin-top: calc((1 - 1.6) * 0.5em);
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dd .text_area h3 {
    margin-block: 0 3.90625vw;
  }
}

.problem .inner .row_in dd .text_area h3 span {
  color: #00BFFF;
  font-size: min(1.80556vw,26px);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #FFE88A));
  background: -webkit-linear-gradient(transparent 70%, #FFE88A 30%);
  background: -o-linear-gradient(transparent 70%, #FFE88A 30%);
  background: linear-gradient(transparent 70%, #FFE88A 30%);
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dd .text_area h3 span {
    font-size: 4.94792vw;
  }
}

.problem .inner .row_in dd .text_area p {
  font-size: min(1.25vw,18px);
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dd .text_area p {
    font-size: 3.64583vw;
  }
}

.problem .inner .row_in dd .img_box {
  width: min(9.44444vw,136px);
  margin-inline: min(1.38889vw,20px) 0;
}

@media screen and (max-width: 768px) {
  .problem .inner .row_in dd .img_box {
    width: 27.34375vw;
    margin-inline: 0;
  }
}

/* -----------------------------------------------------
	function
----------------------------------------------------- */
.function .inner .function_list {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  /*IE10*/
  -webkit-flex-wrap: wrap;
  /*PC-Safari,iOS8.4*/
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  gap: min(1.80556vw,26px);
}

@media screen and (max-width: 768px) {
  .function .inner .function_list {
    -ms-flex-pack: justify;
    /*IE10*/
    -webkit-box-pack: justify;
    /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-justify-content: space-between;
    /* Safari6.1以降 */
    justify-content: space-between;
    gap: 3.90625vw;
  }
}

.function .inner .function_list_item {
  width: calc(94% / 3);
  padding: min(1.80556vw,26px) min(2.08333vw,30px) min(3.05556vw,44px);
  -webkit-box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.08);
  border-radius: 8px;
}

@media screen and (max-width: 768px) {
  .function .inner .function_list_item {
    width: calc(95% / 2);
    padding: 6.51042vw 3.90625vw;
    border-radius: 1.30208vw;
  }
}

.function .inner .function_list_item img {
  width: min(9.44444vw,136px);
}

@media screen and (max-width: 768px) {
  .function .inner .function_list_item img {
    width: 23.95833vw;
  }
}

.function .inner .function_list_item .list_ttl {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  color: #00BFFF;
  font-size: min(1.66667vw,24px);
  margin-block: 0 min(1.11111vw,16px);
  line-height: 1.3;
}

@media screen and (max-width: 768px) {
  .function .inner .function_list_item .list_ttl {
    font-size: 4.42708vw;
    margin-block: 0 3.90625vw;
  }
}

.function .inner .function_list_item .item_in {
  text-align: left;
}

.function .inner .function_list_item .item_in li {
  margin-block: min(1.25vw,18px) 0;
  padding-inline: min(1.52778vw,22px) 0;
  font-size: min(1.11111vw,16px);
  line-height: 1.4;
  position: relative;
}

@media screen and (max-width: 768px) {
  .function .inner .function_list_item .item_in li {
    font-size: 3.125vw;
    margin-block: 5.20833vw 0;
    padding-inline: 4.42708vw 0;
  }
}

.function .inner .function_list_item .item_in li + li {
  margin-block: min(0.97222vw,14px) 0;
}

@media screen and (max-width: 768px) {
  .function .inner .function_list_item .item_in li + li {
    margin-block: 2.60417vw 0;
  }
}

.function .inner .function_list_item .item_in li::before {
  content: '';
  display: block;
  position: absolute;
  top: 0.4em;
  left: 0;
  background: url(../img/check.png) no-repeat left top/contain;
  width: min(1.11111vw,16px);
  height: min(0.83333vw,12px);
}

@media screen and (max-width: 768px) {
  .function .inner .function_list_item .item_in li::before {
    width: 3.25521vw;
    height: 2.47396vw;
  }
}

/* -----------------------------------------------------
	flow
----------------------------------------------------- */
.flow .inner .flow_list {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  padding-block: min(1.80556vw,26px) 0;
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list {
    display: block;
    padding-block: 3.90625vw 0;
  }
}

.flow .inner .flow_list_item {
  width: calc(100% / 4 - min(1.66vw,24px));
  -webkit-box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.08);
  background: #fff;
  border-radius: min(1.04167vw,15px);
  padding-block: min(3.05556vw,44px) min(2.08333vw,30px);
  padding-inline: min(0.97222vw,14px);
  position: relative;
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item {
    width: 100%;
    border-radius: 2.08333vw;
    padding-block: 10.41667vw 7.8125vw;
    padding-inline: 2.60417vw;
  }
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item + div {
    margin-block: 16.92708vw 0;
  }
}

.flow .inner .flow_list_item + div::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: -3.6em;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: min(0.97222vw,14px);
  height: min(1.66667vw,24px);
  background: url(../img/flow_arrow.png) no-repeat right center/contain;
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item + div::after {
    top: -12.76042vw;
    right: inherit;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    width: 13.02083vw;
    height: 5.59896vw;
    background: url(../img/flow_arrow_sp.png) no-repeat center bottom/contain;
  }
}

.flow .inner .flow_list_item.tag::before {
  content: '';
  display: block;
  width: min(5vw,72px);
  height: min(5vw,72px);
  background: url(../img/flow_tag.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -1em;
  right: -3em;
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item.tag::before {
    width: 21.35417vw;
    height: 21.35417vw;
    top: -3.90625vw;
    right: -2.60417vw;
  }
}

.flow .inner .flow_list_item .num {
  display: inline-block;
  color: #fff;
  text-align: center;
  width: min(7.22222vw,104px);
  background: #00BFFF;
  font-size: min(1.11111vw,16px);
  font-weight: 700;
  border-radius: 50vh;
  position: absolute;
  top: -1em;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item .num {
    width: 36.45833vw;
    font-size: 3.64583vw;
  }
}

.flow .inner .flow_list_item .num b {
  font-size: min(1.52778vw,22px);
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item .num b {
    font-size: 5.46875vw;
  }
}

.flow .inner .flow_list_item h3 {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  color: #00BFFF;
  font-size: min(1.38889vw,20px);
  line-height: 1.4;
  margin-block: 0 min(0.83333vw,12px);
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item h3 {
    font-size: 5.20833vw;
    margin-block: 0 5.20833vw;
  }
}

.flow .inner .flow_list_item .period {
  width: min(11.11111vw,160px);
  background: rgba(0, 191, 255, 0.1);
  margin-block: 0 min(1.66667vw,24px);
  margin-inline: auto;
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item .period {
    width: 72.91667vw;
    margin-block: 0 6.51042vw;
  }
}

.flow .inner .flow_list_item .period span {
  color: #00BFFF;
  display: inline-block;
  padding-block: min(0.27778vw,4px);
  padding-inline: min(0.97222vw,14px) 0;
  font-size: min(0.97222vw,14px);
  border-radius: min(0.27778vw,4px);
  position: relative;
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item .period span {
    padding-block: 1.30208vw;
    padding-inline: 3.90625vw 0;
    border-radius: 1.30208vw;
    font-size: 3.64583vw;
  }
}

.flow .inner .flow_list_item .period span::before {
  content: '';
  display: block;
  width: min(1.04167vw,15px);
  height: min(1.04167vw,15px);
  background: url(../img/clock.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item .period span::before {
    width: 4.94792vw;
    height: 4.94792vw;
  }
}

.flow .inner .flow_list_item .icon {
  margin: 0 auto min(1.80556vw,26px);
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item .icon {
    margin: 0 auto 3.90625vw;
  }
}

.flow .inner .flow_list_item .icon img {
  height: min(5.69444vw,82px);
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item .icon img {
    height: 22.65625vw;
  }
}

.flow .inner .flow_list_item .text {
  font-size: min(0.97222vw,15px);
}

@media screen and (max-width: 768px) {
  .flow .inner .flow_list_item .text {
    font-size: 3.64583vw;
  }
}

/* -----------------------------------------------------
	cace
----------------------------------------------------- */
.case .inner .case_list {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .case .inner .case_list {
    display: block;
  }
}

.case .inner .case_list .case_item {
  width: calc(100% / 2 - min(1.38vw,20px));
  padding-block: min(1.52778vw,22px);
  padding-inline: min(1.66667vw,24px);
  border-radius: min(0.41667vw,6px);
  background: #fff;
  text-align: left;
  -webkit-box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.08);
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item {
    width: 100%;
    padding-block: 5.20833vw;
    padding-inline: 4.6875vw;
    border-radius: 1.30208vw;
  }
  .case .inner .case_list .case_item + .case_item {
    margin-block: 5.20833vw 0;
  }
}

.case .inner .case_list .case_item .img_box {
  margin-block: 0 min(1.38889vw,20px);
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .img_box {
    margin-block: 0 2.60417vw;
  }
}

.case .inner .case_list .case_item h3 {
  color: #00BFFF;
  font-size: min(1.38889vw,20px);
  margin-block: 0 min(0.55556vw,8px);
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item h3 {
    font-size: 4.16667vw;
    margin-block: 0 1.30208vw;
  }
}

.case .inner .case_list .case_item .name {
  font-size: min(1.04167vw,15px);
  margin-block: 0 min(2.08333vw,30px);
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .name {
    font-size: 3.38542vw;
    margin-block: 0 6.51042vw;
  }
}

.case .inner .case_list .case_item .text_area {
  padding: min(2.08333vw,30px) min(1.38889vw,20px);
  border-radius: min(0.41667vw,6px);
  position: relative;
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .text_area {
    padding: 8.59375vw 3.90625vw 5.20833vw;
    border-radius: 1.30208vw;
  }
}

.case .inner .case_list .case_item .text_area span {
  display: inline-block;
  width: min(12.22222vw,176px);
  text-align: center;
  color: #fff;
  font-size: min(1.11111vw,16px);
  line-height: 1.8;
  background: #0097E0;
  border-radius: 50vh;
  position: absolute;
  top: -0.8em;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .text_area span {
    width: 36.45833vw;
    font-size: 3.38542vw;
  }
}

.case .inner .case_list .case_item .text_area .effect li {
  font-size: min(1.04167vw,15px);
  padding-inline: min(1.25vw,18px) 0;
  position: relative;
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .text_area .effect li {
    font-size: 3.64583vw;
    padding-inline: 3.90625vw 0;
  }
}

.case .inner .case_list .case_item .text_area .effect li::before {
  content: '●';
  display: block;
  color: #0097E0;
  position: absolute;
  top: 0.5em;
  left: 0;
  font-size: min(0.69444vw,10px);
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .text_area .effect li::before {
    font-size: 2.34375vw;
  }
}

.case .inner .case_list .case_item .text_area .effect li + li {
  margin-block: min(0.69444vw,10px) 0;
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .text_area .effect li + li {
    margin-block: 2.60417vw 0;
  }
}

.case .inner .case_list .case_item .text_area .effect.b_color li::before {
  color: #00BFFF;
}

.case .inner .case_list .case_item .text_area.navy {
  background: #F8F8F8;
  margin-block: 0 min(3.88889vw,56px);
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .text_area.navy {
    margin-block: 0 13.80208vw;
  }
}

.case .inner .case_list .case_item .text_area.navy::after {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  bottom: -4.8em;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  width: min(1.52778vw,22px);
  height: min(1.11111vw,16px);
  background: url(../img/case_arrow.png) no-repeat center bottom/contain;
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .text_area.navy::after {
    bottom: -7.8125vw;
    width: 9.11458vw;
    height: 3.90625vw;
    background: url(../img/case_arrow_sp.png) no-repeat center bottom/contain;
  }
}

.case .inner .case_list .case_item .text_area.blue {
  background: rgba(0, 191, 255, 0.06);
}

.case .inner .case_list .case_item .text_area.blue span {
  background: #00BFFF;
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .text_area.blue span {
    width: rem(160);
  }
}

.case .inner .case_list .case_item .text_area.blue span::before {
  content: '';
  display: block;
  background: url(../img/case_check.png) no-repeat left center/contain;
  width: min(1.52778vw,22px);
  height: min(1.52778vw,22px);
  position: absolute;
  top: 50%;
  left: 0.2em;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

@media screen and (max-width: 768px) {
  .case .inner .case_list .case_item .text_area.blue span::before {
    left: 1.04167vw;
    width: 4.42708vw;
    height: 4.42708vw;
  }
}

/* -----------------------------------------------------
	contact_us
----------------------------------------------------- */
.contact_us {
  background: url(../img/bg_contact.png) no-repeat center center/cover;
}

@media screen and (max-width: 768px) {
  .contact_us {
    background: url(../img/bg_contact_sp.png) no-repeat top center/cover;
  }
}

.contact_us .inner {
  max-width: 1000px;
  width: 96%;
  margin: 0 auto;
  padding: min(4.16667vw,60px) 0;
}

@media screen and (max-width: 768px) {
  .contact_us .inner {
    padding: 11.71875vw 2.60417vw;
  }
}

.contact_us .inner .ttl {
  color: #fff;
  font-size: min(3.05556vw,44px);
  margin-block: 0 min(0.83333vw,12px);
}

@media screen and (max-width: 768px) {
  .contact_us .inner .ttl {
    font-size: 7.29167vw;
    margin-block: 0 3.90625vw;
  }
}

.contact_us .inner .ttl.mt {
  margin-block: 0 min(3.19444vw,46px);
}

@media screen and (max-width: 768px) {
  .contact_us .inner .ttl.mt {
    margin-block: 0 6.51042vw;
  }
}

.contact_us .inner .lead {
  color: #fff;
  font-size: min(1.52778vw,22px);
  font-weight: 700;
  margin-block: 0 min(2.22222vw,32px);
}

@media screen and (max-width: 768px) {
  .contact_us .inner .lead {
    font-size: 3.90625vw;
    margin-block: 0 5.20833vw;
  }
}

.contact_us .inner .sb {
  position: relative;
  display: inline-block;
  margin-block: 0 min(1.38889vw,20px);
  padding-block: min(0.41667vw,6px);
  padding-inline: min(2.5vw,36px);
  border-radius: 50vh;
  background: #fff;
  font-size: min(1.11111vw,16px);
  font-weight: 700;
  line-height: 1.5;
  color: #59D0F3;
}

@media screen and (max-width: 768px) {
  .contact_us .inner .sb {
    font-size: 3.64583vw;
    padding-block: 1.30208vw;
    padding-inline: 6.51042vw;
    margin-block: 0 5.20833vw;
  }
}

.contact_us .inner .sb::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 0.8em 0.5em 0 0.5em;
  border-color: #fff transparent transparent;
  translate: -50% 100%;
}

.contact_us .inner .text {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  color: #03517A;
  font-size: min(1.25vw,18px);
  font-weight: 700;
  margin-block: 0 min(0.83333vw,12px);
}

@media screen and (max-width: 768px) {
  .contact_us .inner .text {
    font-size: 3.64583vw;
    margin-block: 0 2.60417vw;
  }
}

.contact_us .inner .text::before, .contact_us .inner .text::after {
  content: '';
  display: block;
  background-color: #000066;
  height: 2px;
  width: 1.4em;
}

@media screen and (max-width: 768px) {
  .contact_us .inner .text::before, .contact_us .inner .text::after {
    height: 0.26042vw;
    width: 8.85417vw;
  }
}

.contact_us .inner .text::before {
  margin-right: 0.4em;
  -webkit-transform: rotate(60deg);
  -ms-transform: rotate(60deg);
  transform: rotate(60deg);
}

.contact_us .inner .text::after {
  margin-left: 0.4em;
  -webkit-transform: rotate(-60deg);
  -ms-transform: rotate(-60deg);
  transform: rotate(-60deg);
}

.contact_us .inner .btn_col {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  gap: min(1.25vw,18px);
}

@media screen and (max-width: 768px) {
  .contact_us .inner .btn_col {
    gap: 3.38542vw;
  }
}

.contact_us .inner .btn_col li {
  width: calc(72% / 2);
}

@media screen and (max-width: 768px) {
  .contact_us .inner .btn_col li {
    width: calc(100% / 2);
  }
}

.contact_us .inner .btn_col li a {
  display: block;
  color: #fff;
  font-size: min(1.25vw,18px);
  font-weight: 700;
  border-radius: 5px;
  -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
  padding-block: min(1.25vw,18px);
  padding-inline: 0 min(1.11111vw,16px);
  background: #FF9292;
  position: relative;
}

@media screen and (max-width: 768px) {
  .contact_us .inner .btn_col li a {
    font-size: 3.25521vw;
    border-radius: 0.78125vw;
    padding-block: 3.90625vw;
    padding-inline: 0 2.34375vw;
  }
}

.contact_us .inner .btn_col li a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 0.8em;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background: url(../img/look.png) no-repeat right center/contain;
  width: min(0.69444vw,10px);
  height: min(0.97222vw,14px);
}

@media screen and (max-width: 768px) {
  .contact_us .inner .btn_col li a::after {
    right: 2.60417vw;
    width: 3.125vw;
    height: 3.125vw;
  }
}

.contact_us .inner .btn_col li:first-child a {
  background: #F6BD34;
}

.contact_us .inner .btn_col li:first-child a::after {
  background: url(../img/download.png) no-repeat right center/contain;
  width: min(1.25vw,18px);
  height: min(1.25vw,18px);
}

@media screen and (max-width: 768px) {
  .contact_us .inner .btn_col li:first-child a::after {
    width: 3.125vw;
    height: 3.125vw;
  }
}

/* -----------------------------------------------------
	form
----------------------------------------------------- */
#form .inner .frame_wrapper {
  width: 100%;
}

#form .inner .frame_wrapper iframe {
  width: 100%;
}
