@charset "UTF-8";
/* ***********************************
 *    Ire's CSS Reset & Base
 * *********************************** */
/* Reset margin, padding, border */
@import url("https://fonts.googleapis.com/css2?family=Sen:wght@400..800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Sen:wght@400..800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?Noto+Sans+JP:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");
html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  word-wrap: break-word;
}
*:before, *:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

a:visited {
  color: inherit;
}

/* Layout */
article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

/* Elements */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

ol, ul {
  list-style: none;
}

img, video {
  max-width: 100%;
}

img {
  border-style: none;
}

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

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

/* Attributes & states */
[hidden] {
  display: none !important;
}

[disabled] {
  cursor: not-allowed;
}

:focus:not(:focus-visible) {
  outline: none;
}

/* Utility classes */
.sr-only {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  left: -9999px;
  top: -9999px;
}

button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Typography */
html {
  font-size: 62.5%;
  line-height: 1.6;
  word-break: break-all;
  scroll-behavior: smooth;
}

body {
  color: #2d2d2e;
  font-family: "ヒラギノ角ゴシック", sans-serif, "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  font-display: fallback;
  position: relative;
}

a {
  color: #4500FF;
}
a:link {
  color: #4500FF;
}
a:visited {
  color: #4500FF;
}
a:hover {
  color: #0058FF;
}

input, select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border-radius: 0;
  border: 1px solid #174B98;
}

/*color set*/
.d_pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .d_pc {
    display: block;
  }
}

@media screen and (min-width: 980px) {
  .d_sp_tb {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .d_sp {
    display: none;
  }
}
@media screen and (min-width: 980px) {
  .d_sp {
    display: none;
  }
}

.el_en {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.ft_link {
  font-size: clamp(1.2rem, 1vw, 1.4rem);
  line-height: 1em;
  margin: min(10.24vw, 14rem) auto min(2.928vw, 4rem);
  text-align: center;
}
.ft_link a {
  color: #2d2d2e;
  text-decoration: none;
  margin: 0 0.5rem;
}
.ft_link a:first-child {
  border-right: 1px solid #2d2d2e;
  padding-right: 1em;
}
.ft_inner {
  background: #2d2d2e;
  color: #fff;
  padding: min(2.19vw, 3rem) 0 min(10.24vw, 14rem);
  text-align: center;
}

.bl_contTtl_wrapper {
  margin-bottom: 4rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .bl_contTtl_wrapper {
    margin-bottom: 5rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 990px) {
  .bl_contTtl_wrapper {
    padding-left: 0;
  }
}
.bl_contTtl_wrapper strong {
  display: inline-block;
  font-size: clamp(3.6rem, 9.23vw, 4rem);
  font-weight: 400;
  padding-left: 2rem;
  padding-right: 1rem;
  font-family: "Roboto", sans-serif;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .bl_contTtl_wrapper strong {
    padding-left: 0;
    padding-right: 1.5rem;
  }
}
.bl_contTtl_wrapper:before {
  border-bottom: 1px solid #fff;
  content: "";
  position: absolute;
}
@media screen and (min-width: 768px) {
  .bl_contTtl_wrapper:before {
    left: 32.5rem;
    top: calc(50% + 0.2rem);
    width: calc(100% - 32.5rem);
    height: 1px;
  }
}
.bl_contTtl_wrapper span {
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .bl_contTtl_wrapper span {
    font-size: 1.4rem;
  }
}

.hdline_contTtl {
  font-size: clamp(3.6rem, 9.23vw, 4rem);
}
.hdline_sub {
  color: #2d2d2e;
  font-size: 1.8rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .hdline_sub {
    font-size: min(2.635vw, 3.6rem);
  }
}

.ly_flx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .ly_flx_tb {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.menu_tab {
  border-bottom: 1rem solid #663392;
  position: relative;
  width: 100%;
}
.menu_tab:after {
  background: url(../img/btn_arrow.svg) no-repeat left top;
  bottom: -0.2rem;
  content: "";
  right: 2rem;
  width: 4.5rem;
  height: 2.5rem;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .menu_tab {
    display: none;
  }
}

.js-active .menu_tab:after {
  background: url(../img/btn_arrow_cl.svg) no-repeat left top;
  bottom: -0.2rem;
  content: "";
  right: 2rem;
  width: 4.5rem;
  height: 2.5rem;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .js-active .menu_tab {
    display: none;
  }
}
.js-active .menu_list li.btn_form {
  margin-right: 0;
}

/* header */
.hd {
  /*hd_fixed*/
}
@media screen and (min-width: 768px) {
  .hd {
    position: relative;
  }
}
.hd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.hd ul li {
  list-style-type: none;
  line-height: 1em;
}
.hd a {
  text-decoration: none;
}
.hd .menu {
  max-width: 980px;
  margin: auto;
  line-height: 1em;
  padding: clamp(1rem, 3.846vw, 3rem) 0 1.5rem 2rem;
  position: relative;
}
.hd .menu_tabWrap {
  bottom: -8rem;
  left: 0;
  position: fixed;
  z-index: 100;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (min-width: 768px) {
  .hd .menu_tabWrap {
    bottom: auto;
    position: relative;
  }
}
.hd .menu_tabWrap.js_active {
  bottom: 0;
}
.hd .menu_tabWrap.js-active {
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .hd .menu_tabWrap.js-active {
    bottom: auto;
  }
}
.hd .menu_list {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: clamp(1.4rem, 3.589vw, 1.8rem);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (min-width: 768px) {
  .hd .menu_list {
    -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto;
    padding: 0;
    position: relative;
    bottom: -3rem;
    z-index: 100;
    width: clamp(76rem, 58vw, 76rem);
  }
}
.hd .menu_list li {
  border-bottom: 1px solid #D1D1D1;
}
@media screen and (min-width: 768px) {
  .hd .menu_list li {
    border-bottom: none;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
.hd .menu_list li:nth-child(4), .hd .menu_list li:nth-child(5), .hd .menu_list li:nth-child(6) {
  border-bottom: 0;
}
.hd .menu_list li a {
  display: block;
  color: #00034b;
  padding: 1.3rem min(2.7rem, 6.923vw);
}
@media screen and (max-width: 375px) {
  .hd .menu_list li a {
    padding: 1.3rem 2.35rem;
  }
}
@media screen and (min-width: 768px) {
  .hd .menu_list li a {
    border-right: 1px solid #ccc;
    padding: 1rem 23.2px;
  }
}
.hd .menu_list li.btn_form {
  margin-right: 0;
  background: #B48FD5;
}
@media screen and (min-width: 768px) {
  .hd .menu_list li.btn_form {
    background: #fff;
  }
}
.hd .menu_list li.btn_form a {
  color: #fff;
  padding: 1.3rem 5.2vw;
}
@media screen and (min-width: 768px) {
  .hd .menu_list li.btn_form a {
    color: #00034B;
  }
}
@media screen and (min-width: 768px) {
  .hd .menu_list li.btn_form {
    display: none;
  }
}
.hd .menu_list li.menu_s a {
  padding: 1.3rem 7.1vw;
}
@media screen and (min-width: 768px) {
  .hd .menu_list li.menu_s a {
    padding: 1rem 23.2px;
  }
}
.hd_links {
  font-size: min(4.1vw, 1.8rem);
  position: absolute;
  right: 0;
  top: 0;
}
.hd_links a {
  color: #fff;
  display: block;
  border-radius: 0 0 0.4rem 0.4rem;
  line-height: 1em;
  padding: 1.1rem 2.6rem;
}
.hd.fixed {
  /*menu*/
}
@media screen and (min-width: 768px) {
  .hd.fixed {
    border-top: none;
    -webkit-box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    z-index: 100;
  }
}
.hd.fixed h1 {
  display: none;
}
.hd.fixed .menu {
  /*menu_list*/
}
@media screen and (min-width: 768px) {
  .hd.fixed .menu {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 980px;
    padding: 0 1.5rem;
    /*				padding-top: 0;*/
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.hd.fixed .menu_list {
  /*li*/
}
@media screen and (min-width: 768px) {
  .hd.fixed .menu_list {
    -webkit-box-shadow: none;
            box-shadow: none;
    font-size: 1.6rem;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    position: relative;
    bottom: auto;
    width: 100%;
  }
}
@media screen and (min-width: 980px) {
  .hd.fixed .menu_list {
    font-size: clamp(1.4rem, 3.589vw, 1.8rem);
  }
}
@media screen and (min-width: 768px) {
  .hd.fixed .menu_list li {
    padding: 10px 0;
  }
}
@media screen and (min-width: 768px) {
  .hd.fixed .menu_list li.btn_form {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .hd.fixed .menu_list li a {
    border-right: 1px solid #ccc;
    padding: 10px min(1.46875vw, 2.82rem);
    color: #00034B;
    display: block;
    text-align: center;
  }
}
.hd.fixed .menu_list li.btn_form {
  margin-right: 0;
}
@media screen and (min-width: 768px) {
  .hd.fixed .menu_list li.btn_form {
    background: #663392;
  }
}
@media screen and (min-width: 768px) {
  .hd.fixed .menu_list li.btn_form a {
    color: #fff;
    padding: 10px min(1.46875vw, 2.82rem);
  }
}
.hd.fixed .hd_links {
  display: none;
}

.btn {
  background: #000;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 0.4rem;
  position: relative;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  width: 30rem;
}
@media screen and (min-width: 768px) {
  .btn {
    width: 40rem;
  }
}
.btn_ar_r {
  position: relative;
}
.btn_ar_r:after {
  content: "";
  background: url(../img/icon_arw_r.svg) no-repeat right center/min(5.128vw, 2rem);
  height: min(16.69vw, 2.8rem);
  position: absolute;
  right: min(2.928vw, 4rem);
  top: calc(50% - min(8.345vw, 1.4rem));
  width: min(16.69vw, 2.8rem);
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .btn_ar_r:after {
    background-size: 2.8rem;
  }
}
.btn_ar_r a {
  color: #fff;
  display: block;
  padding: 2.5rem 0 2.5rem 2rem;
  font-size: 1.8rem;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .btn_ar_r a {
    font-size: 2.4rem;
    padding: 2.5rem 0 2.5rem 4rem;
  }
}
.btn:hover {
  background: #8669a0;
}
.btn a {
  color: #fff;
  display: block;
  padding: 1.5rem 0 1.5rem 2rem;
  font-size: 2rem;
  /*font-size: min(1.756vw,2.4rem);*/
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .btn a {
    font-size: 2.4rem;
    padding: 2.5rem 0 2.5rem 4rem;
  }
}
.btn_list {
  margin: 2rem auto;
}
@media screen and (min-width: 980px) {
  .btn_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.btn_list .btn {
  margin: auto;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .btn_list .btn {
    margin: 0;
    width: 40rem;
  }
}

@media screen and (min-width: 768px) {
  .btn_list .btn a {
    font-size: 1.8rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .btn_list .btn_ar_r:after {
    right: 2rem;
  }
}
.btn_list .btn_insta a {
  padding-left: 5rem;
}

.btn_insta a {
  position: relative;
}
.btn_insta a:after {
  background: url(../img/icon_insta.svg) no-repeat left top/cover;
  content: "";
  left: 1rem;
  height: 2rem;
  position: absolute;
  top: calc(50% - 1rem);
  width: 2rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .btn_insta a:after {
    height: min(2.196vw, 3rem);
    top: calc(50% - min(2.196vw, 3rem) / 2);
    width: min(2.196vw, 3rem);
  }
}

/*------------------------------------------------------------------
  layout style
------------------------------------------------------------------*/
/*パララックス*/
.ly_bg_fxd {
  background-image: url(../img/bg_ptn.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  background-attachment: fixed;
}
@media (min-width: 769px) {
  .ly_bg_fxd {
    background-image: url(../img/bg_ptn.webp);
  }
}

.ly_bg_fxd:after {
  display: none;
}

.bg_lgry {
  background: #F4F4F4;
}

.bg_pblue {
  background: rgba(214, 228, 250, 0.2);
}

.ly_flx {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.ly_flx.__wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.ly_flx.__row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.ly_flx._bt {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 769px) {
  .ly_flx__tb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

._bt {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.ly_inner {
  max-width: 96rem;
  margin: auto;
}
.ly_inner_w72 {
  margin: auto;
  max-width: 820px;
}
.ly_inner_w82 {
  margin: auto;
  max-width: 820px;
}
.ly_inner_w615 {
  margin: auto;
  max-width: 615px;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  letter-spacing: 0.2px;
  margin: 0;
}

.hdline_main {
  font-size: clamp(2.2rem, 3.51vw, 4.8rem);
}

.hd_wrap {
  background: url(../img/mv.jpg) no-repeat center top/cover;
  position: relative;
}
@media screen and (min-width: 768px) {
  .hd_wrap {
    height: clamp(40rem, 51.9765vw, 71rem);
  }
}
.hd_wrap h1 {
  background: #2d2d2e;
  color: #fff;
  font-weight: 400;
  font-size: 1.5rem;
  text-align: center;
  padding: 0.5rem;
}
@media screen and (min-width: 768px) {
  .hd_wrap h1 {
    font-size: min(2vw, 2.8rem);
  }
}
.hd_wrap .btn {
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  z-index: 1;
  top: calc(50% + 10rem);
}
@media screen and (min-width: 768px) {
  .hd_wrap .btn {
    bottom: 0;
    top: auto;
  }
}
.hd_ttl {
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.6em;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  text-align: center;
  top: calc(45% - 1em);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .hd_ttl {
    font-size: min(3.51vw, 4.8rem);
    top: calc(50% - 1em);
  }
}
.hd_ttl strong {
  font-size: 4rem;
}
@media screen and (min-width: 768px) {
  .hd_ttl strong {
    font-size: min(6.44vw, 8.8rem);
  }
}

main {
  margin-top: min(7.692vw, 2rem);
}
@media screen and (min-width: 768px) {
  main {
    margin-top: 12rem;
  }
}

.about {
  max-width: 136.6rem;
  margin: auto;
}
.about .hdline_main {
  padding: min(5.85vw, 8rem);
  text-align: center;
}
.about_img {
  height: 30rem;
  padding: 0 2rem;
}
@media screen and (min-width: 768px) {
  .about_img {
    height: 460px;
    padding: 0;
  }
}
@media screen and (min-width: 980px) {
  .about_img {
    width: 49.78%;
  }
}
.about_txt {
  letter-spacing: 0.12rem;
  line-height: 2.8rem;
  padding: 2rem;
}
@media screen and (min-width: 980px) {
  .about_txt {
    font-size: 1.8rem;
    line-height: 3.8rem;
    padding: 0 8rem 0 4rem;
    width: 50.22%;
  }
}
.about_txt p {
  margin-bottom: 1em;
}

.activity {
  display: block;
  padding-top: min(5.856vw, 8rem);
}
.activity .hdline_sub {
  margin-bottom: min(5.856vw, 8rem);
}
.activity_item {
  text-align: center;
  max-width: 90%;
  margin: auto;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .activity_item {
    max-width: 25rem;
    margin-bottom: 0;
  }
}
.activity_item h4 {
  font-size: 1.6rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .activity_item h4 {
    font-size: min(1.7569vw, 2.4rem);
    padding-bottom: min(2.928vw, 4rem);
  }
}
.activity_item h4 strong {
  display: block;
  font-size: 2.4rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .activity_item h4 strong {
    font-size: min(3.51vw, 4.8rem);
    padding-bottom: min(2.196vw, 3rem);
  }
}
.activity_item figure {
  margin: auto;
  max-width: 20rem;
}
@media screen and (min-width: 768px) {
  .activity_item figure {
    max-width: 25rem;
  }
}

/* parts */
.cont_wrap {
  margin-bottom: min(5.856vw, 8rem);
  padding: min(5.856vw, 8rem) 0;
}
.cont_ttlWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 2rem;
  margin-bottom: min(4.39vw, 6rem);
}
@media screen and (min-width: 768px) {
  .cont_ttlWrap {
    padding: 0;
  }
}
.cont_ttlWrap strong {
  font-size: 3rem;
  width: 16%;
  display: block;
  border-right: 1px solid #000;
}
@media screen and (min-width: 768px) {
  .cont_ttlWrap strong {
    font-size: min(7.174vw, 9.8rem);
    line-height: 1em;
    padding-right: min(2.928vw, 4rem);
    padding-top: 0.8rem;
    width: min(13.61vw, 18.6rem);
  }
}
.cont_ttlTxt {
  width: 80%;
  padding-left: 2rem;
}
@media screen and (min-width: 768px) {
  .cont_ttlTxt {
    width: min(52.56vw, 71.8rem);
  }
}
@media screen and (min-width: 967px) {
  .cont_ttlTxt {
    width: 80%;
  }
}
.cont_ttlTxt h2 {
  line-height: 1em;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .cont_ttlTxt h2 {
    font-size: min(2.635vw, 3.6rem);
  }
}
.cont_img {
  padding: 2rem;
}
@media screen and (min-width: 768px) {
  .cont_img {
    padding: 0;
    width: 31.25%;
  }
}
.cont_main {
  padding: 2rem;
}
@media screen and (min-width: 768px) {
  .cont_main {
    padding: 0;
    width: 62.5%;
  }
}

.agent_box {
  background: url(../img/ph_sales.jpg) no-repeat center top/cover;
  height: clamp(30rem, 30.74vw, 47rem);
  position: relative;
  text-align: center;
}
.agent_box p {
  color: #fff;
  font-size: clamp(1.8rem, 2vw, 2.8rem);
  left: 0;
  letter-spacing: 0.25rem;
  margin: auto;
  position: absolute;
  right: 0;
  top: calc(50% - min(2vw, 2.8rem));
}

/* Simple Parallax Vanilla JS ベース設定 */
.js-parallax-elm-box {
  overflow: hidden;
}

.js-parallax-elm-box img {
  display: block;
}

img {
  height: auto;
  width: 100%;
}

.test-area01-box {
  position: relative;
  width: 300px;
  margin: 0 0 200px 20vw;
}

.test-area01 {
  height: 400px;
  border-radius: 99em;
}

.test-area02 {
  position: absolute;
  right: -50px;
  bottom: -50px;
  width: 150px;
  height: 200px;
  border-radius: 99em;
}

.test-area02-box {
  position: relative;
  display: block;
  width: 300px;
  margin: 0 10vw 200px auto;
}

.test-area03 {
  height: 400px;
}

.test-area04 {
  position: absolute;
  left: -50px;
  bottom: -50px;
  width: 150px;
  height: 200px;
}

.js_area_mv {
  height: 90vh;
}
@media screen and (min-width: 768px) {
  .js_area_mv {
    height: clamp(40rem, 51.9765vw, 71rem);
  }
}