html,
body,
main,
section,
div,
h1,
h2,
h3,
ul,
li,
p,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

ul {
  list-style: none;
}

a {
  text-decoration: underline;
  box-sizing: border-box;
  color: inherit;
}

img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

body {
  color: #626C8A;
  background-color: white;
}

.flex {
  display: flex;
}

h1 {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-size: min(6.4vw, 36px);
  margin: 1rem 0;
}

.header-logo {
  display: block;
  margin-top: 16px;
  margin-left: 16px;
  width: min(30vw, 160px);
}

img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

body {
  color: #626C8A;
  background-color: white;
}

.flex {
  display: flex;
}

h1 {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-size: min(6.4vw, 36px);
  margin: 1rem 0;
}

footer {
  width: 100%;
  background-color: #001B5D;
  color: white;
  font-family: "Zen Kaku Gothic New", sans-serif;
  padding: 7vw 0;
}
footer .flex.companywrap {
  width: min(90%, 900px);
  margin: auto;
  justify-content: space-around;
  align-items: end;
}
footer .flex.companywrap .flex.imgs {
  flex-direction: column;
  width: 50%;
}
footer .flex.companywrap .flex.imgs .company {
  padding-bottom: min(2vw, 16px);
  font-size: min(3.2vw, 19.2px);
}
footer .flex.companywrap .flex.imgs .medipa-logo {
  display: block;
  width: min(100%, 160px);
  margin-bottom: min(4vw, 20px);
}
footer .flex.companywrap .flex.imgs .company-img {
  width: 100%;
  overflow: hidden;
  max-height: 200px;
}
footer .flex.companywrap .flex.info {
  flex-direction: column;
  width: fit-content;
  color: rgb(232, 240, 247);
}
@media screen and (min-width: 768px) {
  footer .flex.companywrap .flex.info {
    width: 40%;
  }
}
footer .flex.companywrap .flex.info .company-name {
  font-size: min(4.3vw, 20px);
  font-weight: 700;
  margin-bottom: 0.4rem;
}
footer .flex.companywrap .flex.info .company-access {
  font-size: min(2.7vw, 14px);
  padding-bottom: min(5vw, 20px);
  border-bottom: 1px solid rgb(148, 148, 148);
}
footer .flex.companywrap .flex.info .legalia-name {
  margin-top: 1rem;
  font-size: min(3.2vw, 18px);
  font-weight: 500;
  margin-bottom: 0.5rem;
}
footer .flex.companywrap .flex.info .legalia-access {
  font-size: min(2.7vw, 14px);
}
footer .flex.companywrap .flex.info .legalia-access span {
  font-weight: 500;
  font-size: min(3.6vw, 16px);
}
footer .flex.sitemap {
  font-size: min(3.7vw, 22px);
  align-items: center;
  justify-content: center;
  gap: 5vw;
  padding: min(10vw, 80px) 0;
}
footer .copyright {
  text-align: center;
  font-size: min(2.1vw, 12px);
}

img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

body {
  color: #626C8A;
  background-color: white;
}

.flex {
  display: flex;
}

h1 {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-size: min(6.4vw, 36px);
  margin: 1rem 0;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

main {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
main .cvbtn {
  width: 99%;
  padding-right: 1%;
}
main .cvbtn a {
  position: relative;
}
main .cvbtn a .cvbtn-img {
  position: relative;
  width: 96%;
  max-width: 700px;
  margin: auto;
}
main .cvbtn a .cvbtn-img .clickbtn {
  width: 100%;
}
main .cvbtn a .cvbtn-img img.click-animation {
  position: absolute;
  bottom: 0;
  right: -2vw;
  width: clamp(40px, 16vw, 133px);
  height: clamp(40px, 16vw, 133px);
}
main .firstview {
  z-index: 1;
  width: 100%;
  position: relative;
}
main .firstview .heart {
  position: absolute;
  top: -7vw;
  right: 4vw;
  width: min(30vw, 250px);
}
@media screen and (min-width: 1100px) {
  main .firstview .heart {
    top: 2.4vw;
  }
}
main .firstview .top {
  position: relative;
  height: 420px;
}
main .firstview .top .catchwrap {
  padding-top: 80px;
}
main .firstview .top .catchwrap .catch1 {
  position: relative;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(4.8vw, 31.87px);
  width: fit-content;
  margin: auto;
  color: #9a670e;
}
main .firstview .top .catchwrap .catch1::before {
  content: "";
  position: absolute;
  right: max(-14.3vw, -100px);
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  display: block;
  width: min(13.3vw, 88px);
  height: min(6.7vw, 60px);
  background: url("../images/lp/firstview-text.webp") no-repeat center/cover;
}
main .firstview .top .catchwrap .catch1::after {
  content: "";
  position: absolute;
  left: max(-14.3vw, -100px);
  top: 0;
  bottom: 0;
  margin-top: auto;
  margin-bottom: auto;
  display: block;
  width: min(13.3vw, 88px);
  height: min(6.7vw, 60px);
  background: url("../images/lp/firstview-text.webp") no-repeat center/cover;
  transform: scaleX(-1);
}
main .firstview .top .catchwrap .catch1 span {
  position: relative;
  display: inline-block;
}
main .firstview .top .catchwrap .catch1 span.circle1::before {
  content: "";
  position: absolute;
  top: clamp(-10px, -2vw, 10px);
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  display: block;
  background-color: #A1CCDE;
  width: min(2vw, 10px);
  height: min(2vw, 10px);
  border-radius: 50%;
  animation: pikapika 2s infinite;
}
main .firstview .top .catchwrap .catch1 span.circle2::before {
  content: "";
  position: absolute;
  top: clamp(-10px, -2vw, 10px);
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  display: block;
  background-color: #ffcdcd;
  width: min(2vw, 10px);
  height: min(2vw, 10px);
  border-radius: 50%;
  animation: pikapika 2s infinite 0.2s;
}
main .firstview .top .catchwrap .catch1 span.circle3::before {
  content: "";
  position: absolute;
  top: clamp(-10px, -2vw, 10px);
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  display: block;
  background-color: #b5ffd9;
  width: min(2vw, 10px);
  height: min(2vw, 10px);
  border-radius: 50%;
  animation: pikapika 2s infinite 0.4s;
}
@keyframes pikapika {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
main .firstview .top .catchwrap .catch2 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(8vw, 53.11px);
  font-weight: 700;
  text-align: center;
}
main .firstview .top .catchwrap .catch2 span {
  color: #e84a82;
}
main .firstview .top .firstview-girls {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
main .firstview .top .logo-medipa {
  position: absolute;
  bottom: 2.4vw;
  right: 4vw;
  width: min(32.8vw, 180px);
}
@media screen and (min-width: 440px) {
  main .firstview .top {
    height: 530px;
    overflow: hidden;
  }
  main .firstview .top .firstview-girls {
    position: absolute;
    top: 200px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  main .firstview .top .firstview-girls {
    width: min(80%, 1100px);
  }
  main .firstview .top .logo-medipa {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 900px) {
  main .firstview .top {
    height: 600px;
  }
  main .firstview .top .firstview-girls {
    position: absolute;
    top: 100px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    transform: translateX(-5%);
    width: min(80%, 1100px);
  }
  main .firstview .top .catchwrap {
    padding-top: 60px;
  }
}
main .firstview .second {
  position: relative;
  padding-bottom: 30vw;
  background: url("../images/lp/firstview-bottom.webp") no-repeat center bottom/contain;
  background-size: 110% auto;
}
@media screen and (min-width: 1000px) {
  main .firstview .second {
    background: url("../images/lp/firstview-bottom-pc.webp") no-repeat left -40vw bottom;
    background-size: 160% 80%;
    padding-bottom: 13vw;
  }
}
@media screen and (min-width: 1480px) {
  main .firstview .second {
    background-size: 160% 90%;
  }
}
main .firstview .second .girl {
  position: absolute;
  top: 5vh;
  left: -6vw;
  width: min(40vw, 320px);
}
@media screen and (min-width: 768px) {
  main .firstview .second .girl {
    margin-top: -80px;
    left: 0;
  }
}
@media screen and (min-width: 1170px) {
  main .firstview .second .girl {
    margin-top: -80px;
    left: 8vw;
  }
}
main .firstview .second .flex.textwrap {
  flex-direction: column;
  align-items: end;
}
@media screen and (min-width: 768px) {
  main .firstview .second .flex.textwrap {
    margin-top: -50px;
  }
}
main .firstview .second .flex.textwrap .pro {
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: min(4.3vw, 28.45px);
  font-weight: 500;
  color: white;
  background: url("../images/lp/firstview-rect.webp") no-repeat center/cover;
  width: min(84vw, 556px);
  height: min(14.4vw, 95px);
  margin-right: -2vw;
  text-align: center;
  line-height: min(13vw, 80px);
}
main .firstview .second .flex.textwrap .flex.counterwrap {
  align-items: end;
  gap: 2vw;
  padding-right: 9.3vw;
  padding-top: 4px;
  background: url("../images/lp/firstview-confetti.webp") no-repeat top -5px right -5px/cover;
  background-size: auto 120%;
}
main .firstview .second .flex.textwrap .flex.counterwrap .start {
  width: min(12.7vw, 94px);
  padding-bottom: min(3.5vw, 20px);
}
main .firstview .second .flex.textwrap .flex.counterwrap .flex.counterbody {
  flex-direction: column;
  justify-content: space-between;
}
main .firstview .second .flex.textwrap .flex.counterwrap .flex.counterbody .counter-label {
  color: #e84a82;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(2.6vw, 15.79px);
  font-weight: 900;
  padding-bottom: 2px;
}
main .firstview .second .flex.textwrap .flex.counterwrap .flex.counterbody .flex.counter-value {
  align-items: baseline;
  color: rgb(70, 75, 89);
  font-family: "Bodoni Moda", serif;
  font-weight: 600;
  font-size: min(6.9vw, 49.5px);
  line-height: 1;
  letter-spacing: 0.4vw;
}
main .firstview .second .flex.textwrap .flex.counterwrap .flex.counterbody .flex.counter-value .counter-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(4.2vw, 30.74px);
  line-height: 1;
  font-weight: 500;
}
main .firstview .second .flex.textwrap .flex.counterwrap .flex.counterbody .counter-date {
  color: rgb(70, 75, 89);
  font-size: min(2vw, 8px);
  text-align: right;
}
main .firstview .second .explanation {
  margin-top: 4vh;
  margin-left: 34vw;
  font-size: min(3.7vw, 24px);
  line-height: 1.6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
}
main .firstview .second .explanation span {
  position: relative;
  font-size: min(5.3vw, 41.8px);
  font-weight: 900;
}
main .firstview .second .explanation span.circle1::before {
  content: "";
  position: absolute;
  top: clamp(-2px, -1vw, 10px);
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  display: block;
  background-color: #ffcdcd;
  width: min(1.6vw, 10px);
  height: min(1.6vw, 10px);
  border-radius: 50%;
}
main .firstview .second .explanation span.circle2::before {
  content: "";
  position: absolute;
  top: clamp(-2px, -1vw, 10px);
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  display: block;
  background-color: #b5ffd9;
  width: min(1.6vw, 10px);
  height: min(1.6vw, 10px);
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  main .firstview .second .explanation {
    margin-left: 35vw;
  }
}
@media screen and (min-width: 1000px) {
  main .firstview .second .explanation {
    margin-left: 30vw;
  }
}
@media screen and (min-width: 1170px) {
  main .firstview .second .explanation {
    margin-left: 35vw;
  }
}
main .troubles {
  z-index: -2;
  margin-top: -32vw;
  padding-top: 32vw;
  background: url("../images/lp/bg-blue.webp") no-repeat center top/cover;
  text-align: center;
}
main .troubles h2 {
  display: inline-block;
  position: relative;
  font-family: "Zen Old Mincho", serif;
  font-size: min(6.4vw, 64px);
  font-weight: 900;
  color: #F0ECEC;
}
main .troubles h2::before {
  position: absolute;
  content: "";
  display: block;
  width: min(70vw, 550px);
  height: min(35vw, 257px);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: url("../images/lp/titleback.webp") no-repeat center/cover;
  opacity: 0.2;
}
main .troubles h2::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 4px;
  bottom: -4px;
  left: 0;
  background: url("../images/lp/underline.webp") no-repeat center/cover;
}
main .troubles .flex.imgwrap {
  align-items: center;
}
main .troubles .flex.imgwrap .troubles-img {
  display: block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 160vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  main .troubles .flex.imgwrap .troubles-img {
    width: 80vw;
  }
}
main .choice {
  position: relative;
  margin-top: -34vw;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  main .choice {
    margin-top: -20vw;
  }
}
main .choice .choice-top {
  position: absolute;
  z-index: -1;
  width: 105%;
  height: auto;
  transform: rotate(180deg);
}
main .choice .choice-top-pc {
  display: none;
  position: absolute;
  z-index: -1;
  height: auto;
}
@media screen and (min-width: 768px) {
  main .choice .choice-top {
    display: none;
  }
  main .choice .choice-top-pc {
    display: block;
    width: 160%;
    transform: translateX(-10%) rotate(180deg);
  }
}
main .choice-body {
  z-index: 2;
  padding-top: 30vw;
}
@media screen and (min-width: 768px) {
  main .choice-body {
    padding-top: 12vw;
  }
}
main .choice-body h2 {
  position: relative;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: min(6.4vw, 51.2px);
  font-weight: 900;
  text-align: center;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
main .choice-body h2::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: -10vw;
  left: 0;
  right: 0;
  margin: auto;
  width: min(60vw, 500px);
  height: min(60vw, 500px);
  background: url("../images/lp/choice-back.webp") no-repeat center/cover;
}
main .choice-body p {
  margin-top: 22vw;
  margin-bottom: 3vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(8.5vw, 51.2px);
  font-weight: 900;
  text-align: center;
}
@media screen and (min-width: 768px) {
  main .choice-body p {
    margin-top: 20vw;
    margin-bottom: 2vw;
  }
}
@media screen and (min-width: 1200px) {
  main .choice-body p {
    margin-top: 16vw;
    margin-bottom: 2vw;
  }
}
main .choice-body .choice-table {
  display: block;
  width: min(95vw, 800px);
  margin: auto;
}
main .cv1 .flex.textwrap {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 40vw;
  background: url("../images/lp/cv1-back.webp") no-repeat center bottom/cover;
}
main .cv1 .flex.textwrap .text1 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(6.4vw, 38.4px);
  font-weight: 700;
}
main .cv1 .flex.textwrap .text2 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(8.5vw, 51.2px);
  font-weight: 900;
}
main .cv1 .flex.textwrap .text2 span {
  color: #e84a82;
  text-decoration: underline;
  text-underline-offset: 2vw;
}
main .cv1 .flex.textwrap .text3 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(4.3vw, 25.6px);
  font-weight: 500;
  color: #4858cd;
  margin-top: 3vw;
}
@media screen and (min-width: 768px) {
  main .cv1 .flex.textwrap {
    height: 20vw;
    background-size: 50vw;
  }
  main .cv1 .flex.textwrap .text2 span {
    text-underline-offset: 1vw;
  }
  main .cv1 .flex.textwrap .text3 {
    margin-top: 1.5vw;
  }
}
main .news {
  margin-top: clamp(20px, 8vw, 60px);
  padding-bottom: 10.7vw;
}
main .news h2 {
  position: relative;
  font-family: "Zen Old Mincho", serif;
  color: #cd9c48;
  font-size: min(8.5vw, 51.2px);
  font-weight: 900;
  text-align: center;
  margin-bottom: 6vw;
  z-index: -1;
}
main .news h2::before {
  position: absolute;
  content: "";
  display: block;
  width: min(60vw, 450px);
  height: min(28vw, 200px);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: url("../images/lp/titleback.webp") no-repeat center/cover;
  opacity: 0.2;
}
main .news .newswrap {
  margin: auto;
  width: min(86vw, 800px);
  height: 70vw;
  border: 2px solid #626c8a;
  border-radius: 1vw;
  padding: min(4.8vw, 25.6px);
  overflow-y: scroll;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  main .news .newswrap {
    height: 500px;
  }
}
main .news .newswrap .news-item + .news-item {
  margin-top: 4vw;
}
@media screen and (min-width: 768px) {
  main .news .newswrap .news-item + .news-item {
    margin-top: 10px;
  }
}
main .news .newswrap .news-item-title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #cd9c48;
  font-size: min(3.2vw, 19.2px);
  font-weight: 700;
  padding-bottom: min(2vw, 10px);
  border-bottom: 1px solid #cd9c48;
}
main .news .newswrap .news-item-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(4.3vw, 25.6px);
  line-height: 1.5;
  padding-top: min(2vw, 10px);
  font-weight: 500;
}
main .news .newswrap .news-list {
  margin: 10px;
}
.news-list main .news .newswrap::-webkit-scrollbar {
  width: min(2vw, 16px);
}
.news-list main .news .newswrap::-webkit-scrollbar-thumb {
  background: #aaaaaa;
  border-radius: 10px;
}
main .details {
  position: relative;
  background: url("../images/lp/bg-dark.webp") repeat-y center top/contain;
  padding-bottom: 8.5vw;
}
main .details .girl {
  position: absolute;
  top: -10vw;
  left: 1vw;
  width: min(24vw, 250px);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  main .details .girl {
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    transform: translateX(-160%);
  }
}
main .details h2 {
  position: relative;
  font-family: "Zen Old Mincho", serif;
  font-size: min(6.4vw, 51.2px);
  font-weight: 900;
  color: #fff157;
  text-align: center;
  line-height: 120%;
  width: 100%;
  height: fit-content;
  padding: 12px 0;
}
main .details h2::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0.3;
  background: url("../images/lp/titleback.webp") no-repeat center/cover;
  background-size: 60vw auto;
}
@media screen and (min-width: 768px) {
  main .details h2 {
    height: 200px;
    padding-top: 25px;
  }
  main .details h2::before {
    background-size: 500px auto;
  }
}
main .details .flex.contentswrap {
  width: min(89.3vw, 550px);
  margin: auto;
  flex-direction: column;
  gap: 8vw;
}
@media screen and (min-width: 768px) {
  main .details .flex.contentswrap {
    gap: 32px;
  }
}
main .details .flex.contentswrap .content {
  background-color: white;
  padding: 2.7vw 2.7vw 5.3vw 2.7vw;
}
@media screen and (min-width: 768px) {
  main .details .flex.contentswrap .content {
    padding: 32px;
  }
}
main .details .flex.contentswrap .content .flex.titlewrap {
  width: 100%;
  height: min(19.5vw, 100px);
  align-items: center;
  padding-bottom: 1.6vw;
  border-bottom: 1px solid #d5c088;
  gap: min(4.3vw, 20px);
}
main .details .flex.contentswrap .content .flex.titlewrap .flex.numwrap {
  flex-direction: column;
}
main .details .flex.contentswrap .content .flex.titlewrap .flex.numwrap .point {
  font-family: "Bodoni Moda", serif;
  font-size: min(4.3vw, 25.6px);
  line-height: 1.2;
  transform: skewX(-20deg);
  background: linear-gradient(180deg, #cd9c48, #75674d);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
main .details .flex.contentswrap .content .flex.titlewrap .flex.numwrap .num {
  font-family: "Bodoni Moda", serif;
  font-size: min(10.9vw, 65.3px);
  letter-spacing: 0.4vw;
  line-height: 1;
  transform: skewX(-20deg);
  background: linear-gradient(180deg, #cd9c48, #75674d);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
main .details .flex.contentswrap .content .flex.titlewrap h3 {
  font-family: "Zen Old Mincho", serif;
  font-size: min(5.9vw, 35.2px);
  font-weight: 500;
}
main .details .flex.contentswrap .content .flex.textwrap {
  flex-direction: column;
  margin-top: 3.7vw;
  gap: 3.7vw;
}
@media screen and (min-width: 768px) {
  main .details .flex.contentswrap .content .flex.textwrap {
    margin-top: 22px;
    gap: 22px;
  }
}
main .details .flex.contentswrap .content .flex.textwrap p {
  font-size: min(3.7vw, 22.4px);
  line-height: 1.6;
}
main .details .flex.contentswrap .content .flex.textwrap .text1 {
  text-align: center;
}
main .details .flex.contentswrap .content .flex.textwrap span {
  display: inline-block;
  position: relative;
  width: fit-content;
}
main .details .flex.contentswrap .content .flex.textwrap span::before {
  position: absolute;
  content: "";
  bottom: -5px;
  width: 100%;
  height: 10px;
  background: url("../images/lp/underline.webp") no-repeat center/100% 100%;
}
main .details .flex.contentswrap .flex.textwrap.point1 img {
  width: min(53.3vw, 320px);
  margin: auto;
}
main .details .flex.contentswrap .content.point2 .flex.titlewrap {
  position: relative;
}
main .details .flex.contentswrap .content.point2 .flex.titlewrap .flex.attention {
  flex-direction: column;
  width: fit-content;
  align-items: end;
}
main .details .flex.contentswrap .content.point2 .flex.titlewrap .flex.attention h3 {
  font-size: min(5.3vw, 32px);
}
main .details .flex.contentswrap .content.point2 .flex.titlewrap .flex.attention p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(2.7vw, 16px);
}
main .details .flex.contentswrap .content.point2 .flex.titlewrap::after {
  content: "";
  position: absolute;
  right: -2vw;
  bottom: -2vw;
  width: min(29.6vw, 160px);
  height: min(29.6vw, 160px);
  border-radius: 50%;
  background: url("../images/lp/details-lawyer-img.webp") no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  main .details .flex.contentswrap .content.point2 .flex.titlewrap::after {
    bottom: -10px;
  }
}
main .details .flex.contentswrap .content.point3 h3 {
  font-size: 5.3vw;
}
main .details .flex.contentswrap .content.point4 h3 {
  font-size: 5.3vw;
}
main .details .flex.contentswrap .content.point4 .details-4-2 {
  width: min(55.2vw, 330px);
  margin: auto;
}
main .details .flex.contentswrap .content.point5 .textwrap {
  gap: 0;
  align-items: center;
}
main .details .flex.contentswrap .content.point5 .textwrap img {
  width: 105%;
}
main .lawyer {
  background-color: #001b5d;
  padding: min(9.1vw, 67px) 0 min(14.7vw, 118px);
}
main .lawyer .wrap {
  position: relative;
  margin: auto;
  width: min(85vw, 740px);
  padding: min(5.9vw, 52px);
  padding-top: 2vw;
  border: min(1.6vw, 8px) solid transparent;
  border-image: linear-gradient(142deg, #BF9521 20.06%, #FFF2CE 23.23%, #BF9521 37.05%, #FFF2CE 50.58%, #BF9521 62.09%, #FFF2CE 67.85%, #BF9521 73.61%, #806210 79.94%) 1;
}
main .lawyer .wrap::after {
  content: "";
  position: absolute;
  left: -5vw;
  top: clamp(-120px, -16vw, -40px);
  width: min(29.6vw, 214px);
  height: min(29.6vw, 214px);
  border-radius: 50%;
  background: url("../images/lp/details-lawyer-img.webp") no-repeat center/cover;
}
main .lawyer .wrap::before {
  content: "";
  position: absolute;
  bottom: clamp(-50px, -7vw, 50px);
  left: 0;
  right: 0;
  margin: auto;
  width: min(51.7vw, 400px);
  aspect-ratio: 400/84;
  background: url("../images/lp/logo-legalia.webp") no-repeat center/cover;
}
main .lawyer .wrap h2 {
  position: relative;
  font-family: "Zen Old Mincho", serif;
  text-align: center;
  color: #cd9c48;
  font-size: min(8.2vw, 51.2px);
  line-height: 1.2;
  margin-bottom: 3.5vw;
}
main .lawyer .wrap h2::before {
  position: absolute;
  content: "";
  display: block;
  width: min(63vw, 464px);
  height: min(30vw, 190px);
  top: 8vw;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: url("../images/lp/titleback.webp") no-repeat center/cover;
  opacity: 0.2;
}
@media screen and (min-width: 768px) {
  main .lawyer .wrap h2::before {
    top: 3vw;
  }
}
main .lawyer .wrap h2 .text1 {
  font-size: min(3.7vw, 32px);
}
main .lawyer .wrap h2 .text2 {
  font-size: min(6.4vw, 51.2px);
}
main .lawyer .wrap .text3 {
  font-size: min(3.7vw, 24px);
  font-weight: 400;
  line-height: 1.6;
  font-family: "Zen Old Mincho", serif;
  color: rgb(220, 220, 220);
  padding-bottom: min(6.9vw, 40px);
  border-bottom: 1px solid #CD9C48;
}
@media screen and (min-width: 768px) {
  main .lawyer .wrap .text3 {
    text-align: center;
  }
}
main .lawyer .wrap .flex.katsuren {
  padding-top: min(4.8vw, 33px);
  justify-content: space-between;
}
main .lawyer .wrap .flex.katsuren .affiliation {
  font-size: min(3.7vw, 24px);
  font-family: "Zen Old Mincho", serif;
  color: #f4dea1;
  letter-spacing: 0.2vw;
}
main .lawyer .wrap .flex.katsuren .name {
  font-size: min(5.3vw, 32px);
  font-family: "Zen Old Mincho", serif;
  color: #ebd28e;
  font-weight: 900;
  line-height: 1;
  margin-top: 3vw;
}
main .lawyer .wrap .flex.katsuren .name-en {
  font-size: min(3.6vw, 32px);
  font-family: "Bodoni Moda", serif;
  background: linear-gradient(180deg, #cd9c48, #75674d);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  transform: skewX(-20deg);
  margin-top: 1vw;
}
main .lawyer .wrap .flex.katsuren img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  main .lawyer {
    bottom: -10px;
  }
}
main .cv2 .wagamama-img {
  display: block;
  width: min(100%, 800px);
  height: auto;
  margin: auto;
}
main .cv2 .cvbtn {
  margin-top: clamp(-60px, -10vw, 20px);
}
main .cv2 a {
  display: inline-block;
  width: 100%;
  margin-top: -30px;
}
main .concept {
  padding: 5vw 0;
}
main .concept .flex.wrap {
  align-items: center;
  justify-content: center;
  text-align: center;
  width: min(85.3vw, 600px);
  aspect-ratio: 983/1024;
  margin: auto;
  font-family: "Zen Old Mincho", serif;
  font-size: min(4.3vw, 25.6px);
  line-height: 1.6;
  background: url("../images/lp/concept-back.webp") no-repeat center/cover;
}
main .concept .flex.wrap span {
  font-size: min(2.7vw, 16px);
}
main .qa {
  position: relative;
  background: url("../images/lp/bg-green.webp") no-repeat center/cover;
  padding-bottom: 5.3vw;
}
main .qa .girl {
  position: absolute;
  top: -10vw;
  left: 1vw;
  width: min(30vw, 250px);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  main .qa .girl {
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    transform: translateX(-90%);
  }
}
main .qa .flex.titlewrap {
  flex-direction: column;
  align-items: center;
  padding: 2vw 0;
}
main .qa .flex.titlewrap h2 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: min(8.5vw, 51.2px);
  color: #cd9c48;
  letter-spacing: min(2vw, 10px);
  padding-left: min(2vw, 5px);
}
main .qa .flex.titlewrap p {
  font-family: "Zen Old Mincho", serif;
  color: white;
  font-size: min(4vw, 24px);
}
main .qa .flex.qa-list {
  flex-direction: column;
  gap: min(5.3vw, 32px);
  align-items: center;
}
main .qa .flex.qa-list .qa-item {
  background-color: #fff;
  width: min(89.3vw, 550px);
  padding: min(5.3vw, 32px);
}
main .qa .flex.qa-list .qa-item .flex.qa-question {
  gap: min(5.3vw, 32px);
  padding-bottom: min(5.3vw, 32px);
  border-bottom: 1px solid #cd9c48;
}
main .qa .flex.qa-list .qa-item .flex.qa-question p {
  font-family: "Zen Old Mincho", serif;
  font-size: min(6.4vw, 38.4px);
  color: #cd9c48;
  line-height: 1;
}
main .qa .flex.qa-list .qa-item .flex.qa-question h3 {
  font-family: "Zen Old Mincho", serif;
  font-size: min(5vw, 32px);
}
main .qa .flex.qa-list .qa-item .flex.qa-answer {
  gap: min(5.3vw, 32px);
  font-family: "Zen Old Mincho", serif;
  padding-top: min(5.3vw, 32px);
}
main .qa .flex.qa-list .qa-item .flex.qa-answer p.en {
  font-size: min(6.4vw, 38.4px);
  color: #cd9c48;
  line-height: 1;
}
main .qa .flex.qa-list .qa-item .flex.qa-answer p {
  font-size: min(3.7vw, 25.6px);
  text-align: justify;
}
main .cv3 {
  padding: 3vw 0 10vw;
}

img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

body {
  color: #626C8A;
  background-color: white;
}

.flex {
  display: flex;
}

h1 {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-size: min(6.4vw, 36px);
  margin: 1rem 0;
}

body.page-id-17 main {
  padding-bottom: 8vw;
  margin: auto;
}
body.page-id-17 main p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  width: min(80%, 800px);
  margin: auto;
}
body.page-id-17 main p a {
  color: #2c63ec;
}
@media screen and (min-width: 768px) {
  body.page-id-17 main p {
    text-align: center;
  }
}
body.page-id-17 main .wpcf7 {
  width: min(80%, 600px);
  margin: auto;
  margin-bottom: min(8vw, 500px);
}
body.page-id-17 main .wpcf7 p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  margin-top: 1rem;
  width: 100%;
  text-align: left;
}
body.page-id-17 main .wpcf7 input,
body.page-id-17 main .wpcf7 textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem;
  font-size: 16px;
  margin-top: 0.5rem;
  border: 1px solid black;
}
body.page-id-17 main .wpcf7 textarea {
  resize: none;
}
body.page-id-17 main .wpcf7 input[type=submit] {
  background-color: #001B5D;
  color: white;
  cursor: pointer;
  font-size: 20px;
  font-weight: 700;
  width: 100%;
  padding: 2rem;
}

img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

body {
  color: #626C8A;
  background-color: white;
}

.flex {
  display: flex;
}

h1 {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-size: min(6.4vw, 36px);
  margin: 1rem 0;
}

body.privacy-policy main {
  padding-bottom: 8vw;
  margin: auto;
  width: min(80%, 800px);
}
body.privacy-policy main p,
body.privacy-policy main li {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
body.privacy-policy main ol {
  margin: 0;
  margin-top: 1rem;
  padding-left: 1.8rem;
  list-style-position: outside;
}
body.privacy-policy main ol li {
  margin-top: 0.5rem;
}