@charset "UTF-8";
@font-face {
  font-family: "futura";
  src: url("fonts/Futura-Normal.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
fieldset,
legend,
pre,
blockquote {
  margin: unset;
  padding: unset;
  font-feature-settings: "pkna";
}

button,
input,
label {
  line-height: 1.1;
}

p,
span,
summary {
  line-height: 1.5;
  margin: unset;
  padding: unset;
  font-weight: unset;
}

h1,
h2,
h3 {
  font-weight: 700;
  line-height: 1.5;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
  margin-bottom: -1px;
}

img,
input[type=image] {
  max-width: 100%;
  vertical-align: middle;
  font-size: 0;
  line-height: 0;
  border: 0;
  margin: 0 auto;
}

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

summary {
  list-style: none !important;
}

html {
  overflow-y: scroll;
  overflow-x: hidden;
  font-size: 62.5%;
  background: #ABB7CE;
  -webkit-font-smoothing: antialiased;
  /* Chrome, Safari */
  -moz-osx-font-smoothing: grayscale;
  /* Firefox on MacOS */
}
@media screen and (max-width: 780px) {
  html {
    overflow-x: hidden;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  max-width: 780px;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif, "A P-OTF A1Gothic Std", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana;
  font-weight: 400;
  font-style: normal;
  word-break: break-all;
  line-height: 1.85;
  color: #333;
  background: #fff;
  -webkit-text-size-adjust: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media screen and (min-width: 780.1px) {
  body {
    font-size: 28px;
  }
}
@media screen and (max-width: 780px) {
  body {
    overflow-x: hidden;
    font-size: 3.75vw;
  }
}

li {
  list-style-type: none;
}

table {
  width: 100%;
  text-align: left;
  border-collapse: collapse;
}

th {
  text-align: left;
  font-weight: normal;
}

a {
  outline: none;
  text-decoration: none;
}
@media screen and (min-width: 780.1px) {
  a {
    cursor: pointer;
  }
}

iframe {
  border: 0;
}

*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  display: revert;
}

html {
  scroll-behavior: smooth;
}

.js_fadeup {
  opacity: 0;
}
.js_fadeup.is-active {
  animation: fadeup 0.4s ease-in-out;
  opacity: 1;
}
@keyframes fadeup {
  0% {
    opacity: 0;
    transform: translateY(min(2.5641025641vw, 20px));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.js_fadeup.is-active .fadeup_delayed {
  animation: fadeup 0.8s ease-in-out;
  opacity: 1;
}
@keyframes fadeup {
  0% {
    opacity: 0;
    transform: translateY(min(2.5641025641vw, 20px));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeup_delayed {
  opacity: 0;
}

#fv.fv {
  position: relative;
  width: 100%;
}
#fv.fv .inner {
  background: linear-gradient(180deg, #082C59 0%, #1C233A 100%);
  padding: min(6.4102564103vw, 50px) min(5.1282051282vw, 40px) min(17.9487179487vw, 140px);
}
#fv.fv .inner .note {
  color: #fff;
  font-size: min(2.8205128205vw, 22px);
  font-weight: 400;
}
#fv.fv .inner .cta_title {
  margin-top: min(7.6923076923vw, 60px);
  text-align: center;
  font-size: min(4.8717948718vw, 38px);
}
#fv.fv .inner .cta_title span {
  font-size: min(6.1538461538vw, 48px);
}
#fv.fv .inner .cta {
  font-size: min(5.1282051282vw, 40px);
  border-radius: min(8.9743589744vw, 70px);
  width: min(89.7435897436vw, 700px);
  height: min(16.6666666667vw, 130px);
  letter-spacing: -2px;
  padding: min(4.4871794872vw, 35px) min(3.8461538462vw, 30px) min(4.4871794872vw, 35px) min(5.1282051282vw, 40px);
}
@media screen and (max-width: 780px) {
  #fv.fv .inner .cta {
    letter-spacing: -0.2564102564vw;
  }
}
#fv.fv .inner .cta svg:first-of-type {
  width: min(6.6666666667vw, 52px);
  height: min(7.9487179487vw, 62px);
  margin-right: min(1.2820512821vw, 10px);
}
#fv.fv .inner .cta svg:last-of-type {
  margin-left: auto;
  width: min(1.9230769231vw, 15px);
  height: min(3.2051282051vw, 25px);
}
#fv.fv .inner .btn {
  margin: min(7.6923076923vw, 60px) auto;
  font-size: min(3.5897435897vw, 28px);
  width: min(79.4871794872vw, 620px);
  height: min(10.2564102564vw, 80px);
  background: #E63074;
  color: #fff;
  font-weight: 700;
  padding: min(2.5641025641vw, 20px);
  display: flex;
  justify-content: center;
  align-items: center;
}
#fv.fv .inner .btn svg {
  margin-left: min(3.8461538462vw, 30px);
  width: min(1.4102564103vw, 11px);
  height: min(2.3076923077vw, 18px);
}

#leading.leading {
  margin-top: -14%;
  position: relative;
  background: url(/lp/ibiki/assets/img/leading/bg_leading.webp) top/contain no-repeat;
  background-size: 100%;
  padding: min(12.8205128205vw, 100px) 0 min(8.9743589744vw, 70px);
  height: min(241.0256410256vw, 1880px);
}
#leading.leading .title {
  text-align: center;
  position: relative;
  width: min(66.0256410256vw, 515px);
  margin-inline: auto;
}
#leading.leading .title:after {
  position: absolute;
  content: "";
  width: min(5.5128205128vw, 43px);
  height: min(5.3846153846vw, 42px);
  top: -10px;
  left: -35px;
  background: url(/lp/ibiki/assets/img/leading/figure_ttl_leading.webp) center/contain no-repeat;
}
@media screen and (max-width: 780px) {
  #leading.leading .title:after {
    top: -1.2820512821vw;
    left: -4.4871794872vw;
  }
}
#leading.leading .title h2 {
  color: #fff;
  font-size: min(7.6923076923vw, 60px);
  font-weight: 700;
  letter-spacing: 4%;
}
#leading.leading .title h2 span {
  font-size: min(10.2564102564vw, 80px);
}
#leading.leading .container {
  margin-top: min(8.9743589744vw, 70px);
}
#leading.leading .container .item {
  display: flex;
  align-items: center;
  width: min(95.5128205128vw, 745px);
  height: min(39.7435897436vw, 310px);
  background-repeat: no-repeat;
  background-size: contain;
}
#leading.leading .container .item:nth-of-type(odd) {
  margin-right: auto;
  background-position: left;
}
#leading.leading .container .item:nth-of-type(odd) .txt_wrapper {
  margin-left: min(53.8461538462vw, 420px);
}
#leading.leading .container .item:nth-of-type(even) {
  margin-left: auto;
  background-position: right;
}
#leading.leading .container .item:nth-of-type(even) .txt_wrapper {
  margin-right: auto;
}
#leading.leading .container .item:not(:first-of-type) {
  margin-top: min(2.5641025641vw, 20px);
}
#leading.leading .container .item:nth-of-type(1) {
  background-image: url(/lp/ibiki/assets/img/leading/leading_01.webp);
}
#leading.leading .container .item:nth-of-type(2) {
  background-image: url(/lp/ibiki/assets/img/leading/leading_02.webp);
}
#leading.leading .container .item:nth-of-type(3) {
  background-image: url(/lp/ibiki/assets/img/leading/leading_03.webp);
}
#leading.leading .container .item:nth-of-type(4) {
  background-image: url(/lp/ibiki/assets/img/leading/leading_04.webp);
}
#leading.leading .container .item .txt_wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
#leading.leading .container .item .txt_wrapper p {
  text-align: left;
  font-size: min(4.2307692308vw, 33px);
  font-weight: 700;
  display: inline-block;
  background: #19243E;
  padding: 0 min(1.2820512821vw, 10px);
}
#leading.leading .container .item .txt_wrapper p:not(:first-of-type) {
  margin-top: min(1.2820512821vw, 10px);
}
#leading.leading .container .item .txt_wrapper p:not(.gold) {
  color: #fff;
}
#leading.leading .container .item .txt_wrapper .gold {
  color: #C1B697;
}
#leading.leading .container .item .txt_wrapper .gold span {
  font-size: min(4.8717948718vw, 38px);
}
#leading.leading .last {
  margin-top: min(8.9743589744vw, 70px);
  font-size: min(5.1282051282vw, 40px);
  font-weight: 700;
  text-align: center;
  position: relative;
  letter-spacing: 8%;
  color: #fff;
}
#leading.leading .last:after {
  position: absolute;
  content: "";
  width: min(31.4102564103vw, 245px);
  height: min(0.2564102564vw, 2px);
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  background: #fff;
}

#mechanism.mechanism {
  margin-top: -16%;
  background: url(/lp/ibiki/assets/img/mechanism/bg_mechanism.webp) top/cover no-repeat;
  background-size: 100%;
  padding: min(19.2307692308vw, 150px) 0 min(8.9743589744vw, 70px);
}
#mechanism.mechanism .title {
  text-align: center;
}
#mechanism.mechanism .title h2 {
  font-family: "Noto Serif JP", serif, sans-serif;
  font-size: min(6.4102564103vw, 50px);
  color: #fff;
  font-weight: 700;
  filter: drop-shadow(0 min(0.5128205128vw, 4px) min(0.5128205128vw, 4px) rgba(0, 0, 0, 0.25));
}
#mechanism.mechanism .title h2 span {
  font-weight: 900;
}
#mechanism.mechanism .title h2 span:nth-of-type(1) {
  font-size: min(9.8717948718vw, 77px);
  background: linear-gradient(145deg, #FFED96 0%, #FFD23F 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
#mechanism.mechanism .title h2 span:nth-of-type(2) {
  font-size: min(7.6923076923vw, 60px);
}
#mechanism.mechanism .item {
  margin-top: min(23.0769230769vw, 180px);
  width: 100%;
}
#mechanism.mechanism .item h3 {
  text-align: center;
  font-weight: 800;
  display: flex;
  flex-direction: column;
  color: #1C233A;
  font-size: min(8.9743589744vw, 70px);
}
#mechanism.mechanism .item h3 img {
  width: min(29.4871794872vw, 230px);
  margin-inline: auto;
  margin-bottom: min(3.8461538462vw, 30px);
}
#mechanism.mechanism .item .container {
  padding: 0 min(5.1282051282vw, 40px);
  margin-top: min(10.2564102564vw, 80px);
}
#mechanism.mechanism .item .container .title {
  width: min(88.4615384615vw, 690px);
  margin-inline: auto;
}
#mechanism.mechanism .item .container .title p {
  font-size: min(6.4102564103vw, 50px);
  color: #5A6993;
  font-weight: 800;
}
#mechanism.mechanism .item .container .title svg {
  margin-top: min(5.1282051282vw, 40px);
  width: min(88.4615384615vw, 690px);
}
#mechanism.mechanism .item .container img {
  margin-top: min(10.2564102564vw, 80px);
}
#mechanism.mechanism .item .container .txt_wrapper {
  margin-top: min(5.1282051282vw, 40px);
  display: flex;
  justify-content: space-between;
}
#mechanism.mechanism .item .container .txt_wrapper p {
  text-align: center;
  font-size: min(3.5897435897vw, 28px);
  font-weight: 700;
  width: min(37.1794871795vw, 290px);
}

#type.type {
  background: url(/lp/ibiki/assets/img/type/bg_type.webp) top/cover no-repeat;
  background-size: 100%;
  padding: min(6.4102564103vw, 50px) min(5.1282051282vw, 40px) min(20.5128205128vw, 160px);
}
#type.type .top_title {
  text-align: center;
  position: relative;
  width: min(88.4615384615vw, 690px);
  margin-inline: auto;
}
#type.type .top_title:after {
  position: absolute;
  content: "";
  width: min(7.5641025641vw, 59px);
  height: min(8.8461538462vw, 69px);
  top: -30px;
  right: min(3.2051282051vw, 25px);
  background: url(/lp/ibiki/assets/img/type/ttl_type.svg) center/contain no-repeat;
}
@media screen and (max-width: 780px) {
  #type.type .top_title:after {
    top: -3.8461538462vw;
  }
}
#type.type .top_title h2 {
  font-size: min(7.6923076923vw, 60px);
  font-weight: 800;
  background: linear-gradient(180deg, #5A6993 0%, #0B2542 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
#type.type .top_title h2 .fs_l {
  font-size: min(12.8205128205vw, 100px);
  font-weight: 600;
  line-height: 1;
}
#type.type .top_title svg {
  margin-top: min(3.8461538462vw, 30px);
  width: min(88.4615384615vw, 690px);
}
#type.type .container {
  margin-top: min(11.5384615385vw, 90px);
}
#type.type .container .item {
  text-align: center;
}
#type.type .container .item:not(:first-of-type) {
  margin-top: min(10.2564102564vw, 80px);
  padding-top: min(8.9743589744vw, 70px);
  border-top: min(0.3846153846vw, 3px) dashed #969DB2;
}
#type.type .container .item .num {
  text-align: center;
  color: #1C233A;
  font-size: min(7.6923076923vw, 60px);
  font-family: "DIN2014", "din-2014", sans-serif;
  line-height: 1;
  font-weight: 700;
}
#type.type .container .item h3 {
  margin-top: min(2.5641025641vw, 20px);
  color: #1C233A;
  font-size: min(5.1282051282vw, 40px);
  font-weight: 800;
}
#type.type .container .item h3 span {
  font-size: min(7.6923076923vw, 60px);
  background: linear-gradient(180deg, #5A6993 0%, #0B2542 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
  padding: 0 min(0.641025641vw, 5px);
}
#type.type .container .item .list_wrapper {
  margin-top: min(6.4102564103vw, 50px);
  display: flex;
  align-items: center;
}
#type.type .container .item .list_wrapper img {
  width: min(42.3076923077vw, 330px);
  height: min(29.4871794872vw, 230px);
  margin: unset;
}
#type.type .container .item .list_wrapper .list {
  margin-left: min(3.8461538462vw, 30px);
}
#type.type .container .item .list_wrapper .list .title {
  background: #5A6993;
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: min(3.0769230769vw, 24px);
  width: min(35.8974358974vw, 280px);
  height: min(6.4102564103vw, 50px);
  display: grid;
  place-items: center;
}
#type.type .container .item .list_wrapper .list p:not(.title) {
  display: flex;
  align-items: center;
  margin-top: min(2.5641025641vw, 20px);
  color: #5A6993;
  font-weight: 700;
  font-size: min(4.1025641026vw, 32px);
  line-height: 1;
  white-space: nowrap;
}
#type.type .container .item .list_wrapper .list p:not(.title) svg {
  width: min(3.8461538462vw, 30px);
  height: min(3.8461538462vw, 30px);
  margin-right: min(1.2820512821vw, 10px);
}
#type.type .container .item:first-of-type .list_wrapper p:nth-of-type(2) {
  margin-top: min(3.2051282051vw, 25px);
}
#type.type .container .item .txt {
  text-align: left;
  margin-top: min(5.1282051282vw, 40px);
  font-weight: 500;
  font-size: min(3.5897435897vw, 28px);
}

#risk.risk {
  margin-top: -10%;
  background: url(/lp/ibiki/assets/img/risk/bg_risk.webp) top/cover no-repeat;
  background-size: 100%;
  height: min(302.9487179487vw, 2363px);
  position: relative;
  z-index: 1;
}
#risk.risk .title {
  padding-top: min(14.1025641026vw, 110px);
  width: min(89.7435897436vw, 700px);
  margin-inline: auto;
  text-align: center;
}
#risk.risk .title h2 {
  font-size: min(6.4102564103vw, 50px);
  line-height: 1.2;
  font-weight: 700;
  color: #1C233A;
}
#risk.risk .title h2 img {
  width: min(39.4871794872vw, 308px);
  margin-bottom: min(3.8461538462vw, 30px);
  display: block;
}
#risk.risk .title h2 span {
  background: linear-gradient(0deg, #5A6993 0%, #0B2542 100%);
  font-size: min(8.9743589744vw, 70px);
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
  width: 100%;
  letter-spacing: 8%;
  height: min(12.8205128205vw, 100px);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: min(3.2051282051vw, 25px) 0;
}
#risk.risk .figure {
  display: block;
  width: min(84.6153846154vw, 660px);
  margin-top: min(6.4102564103vw, 50px);
  margin-inline: auto;
}
#risk.risk h3 {
  width: min(89.7435897436vw, 700px);
  margin-top: min(5.1282051282vw, 40px);
  margin-right: auto;
}
#risk.risk .txt {
  width: min(79.4871794872vw, 620px);
  margin-top: min(8.9743589744vw, 70px);
  margin-inline: auto;
  font-size: min(3.5897435897vw, 28px);
  font-weight: 600;
}
#risk.risk .note {
  font-size: min(2.5641025641vw, 20px);
  width: min(79.4871794872vw, 620px);
  margin-top: min(6.4102564103vw, 50px);
  margin-inline: auto;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "A P-OTF A1Gothic Std", "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}
#risk.risk .note a {
  color: #333;
}
#risk.risk .last {
  font-size: min(6.4102564103vw, 50px);
  margin-top: min(11.5384615385vw, 90px);
  margin-left: min(37.8205128205vw, 295px);
  display: inline-block;
  font-weight: 800;
  color: #031F4A;
}

#recommend.recommend {
  margin-top: -12%;
}
#recommend.recommend .container {
  background: linear-gradient(180deg, #2C467D 0%, #091A3E 100%);
  padding-top: min(21.7948717949vw, 170px);
}
#recommend.recommend .container .title {
  text-align: center;
}
#recommend.recommend .container .title h2 {
  font-family: "Noto Serif JP", serif, sans-serif;
  font-size: min(7.6923076923vw, 60px);
  line-height: 1.2;
  font-weight: 900;
  color: #fff;
}
#recommend.recommend .container .title h2 span {
  background: linear-gradient(90deg, #FFED96 0%, #FFD23F 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
  font-size: min(11.5384615385vw, 90px);
  padding-right: min(1.2820512821vw, 10px);
  font-weight: 700;
}
#recommend.recommend .container .txt {
  width: min(79.4871794872vw, 620px);
  margin-top: min(9.6153846154vw, 75px);
  margin-inline: auto;
  font-size: min(3.5897435897vw, 28px);
  font-weight: 500;
  color: #fff;
}
#recommend.recommend .container .txt span {
  font-size: min(2.5641025641vw, 20px);
}
#recommend.recommend .container .figure {
  display: block;
  width: min(89.7435897436vw, 700px);
  margin-top: min(7.6923076923vw, 60px);
}
#recommend.recommend .container .figure_note {
  font-size: min(2.5641025641vw, 20px);
  width: min(89.7435897436vw, 700px);
  margin-top: min(1.2820512821vw, 10px);
  margin-inline: auto;
  text-align: right;
  color: #fff;
  font-weight: 500;
  position: relative;
  z-index: 1;
}
#recommend.recommend .fv {
  margin-top: -4%;
}
#recommend.recommend .fv .inner .btn {
  display: none;
}

#reason.reason {
  margin-top: -12%;
  padding: min(20.5128205128vw, 160px) min(5.1282051282vw, 40px) min(16.6666666667vw, 130px);
  background: url(/lp/ibiki/assets/img/reason/bg_reason.webp) top/contain no-repeat;
  background-size: 100%;
  position: relative;
  z-index: 3;
}
#reason.reason .title {
  width: min(89.7435897436vw, 700px);
  text-align: center;
  margin-inline: auto;
}
#reason.reason .title h2 {
  color: #0B3C72;
  font-size: min(5.1282051282vw, 40px);
  line-height: 1.5;
  font-weight: 700;
}
#reason.reason .title h2 span {
  font-size: min(11.5384615385vw, 90px);
  background: linear-gradient(125deg, #162643 0%, #0F74BC 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
}
#reason.reason .title svg {
  width: min(89.7435897436vw, 700px);
  margin-top: min(1.2820512821vw, 10px);
}
#reason.reason .point {
  padding-top: min(8.9743589744vw, 70px);
  text-align: center;
}
#reason.reason .point .num {
  font-size: min(8.9743589744vw, 70px);
  font-family: "DIN2014", "din-2014", sans-serif;
  color: #1C233A;
  font-weight: 700;
  line-height: 1;
}
#reason.reason .point[data-num="01"] h3 {
  width: min(77.9487179487vw, 608px);
  height: min(23.8461538462vw, 186px);
  margin-inline: auto;
}
#reason.reason .point[data-num="01"] .figure {
  margin-top: min(7.0512820513vw, 55px);
  width: min(89.7435897436vw, 700px);
  height: min(56.1538461538vw, 438px);
}
#reason.reason .point[data-num="01"] .effect {
  margin-top: min(3.8461538462vw, 30px);
  width: min(83.3333333333vw, 650px);
  margin-inline: auto;
}
#reason.reason .point[data-num="01"] .effect .types_wrapper {
  margin-top: min(3.8461538462vw, 30px);
  display: flex;
  width: min(83.3333333333vw, 650px);
  margin-inline: auto;
  justify-content: space-between;
}
#reason.reason .point[data-num="01"] .effect .types_wrapper .type {
  background: #162643;
  width: min(26.9230769231vw, 210px);
  height: min(14.1025641026vw, 110px);
  font-size: min(4.1025641026vw, 32px);
  color: #fff;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
#reason.reason .point[data-num="01"] .effect .types_wrapper .type .fs_s {
  font-size: min(2.5641025641vw, 20px);
}
#reason.reason .point[data-num="01"] .effect .types_wrapper .type .fs_m {
  font-size: min(3.0769230769vw, 24px);
}
#reason.reason .point[data-num="01"] .effect .types_wrapper .type:nth-of-type(2) {
  font-size: min(3.8461538462vw, 30px);
}
#reason.reason .point[data-num="01"] .effect h4 {
  text-align: center;
  font-size: min(4.8717948718vw, 38px);
  color: #1C233A;
  font-weight: 800;
  line-height: 1;
}
#reason.reason .point[data-num="01"] .effect h4 span {
  font-size: min(7.6923076923vw, 60px);
  background: linear-gradient(125deg, #4F89CB 0%, #275A93 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
  letter-spacing: min(0.5128205128vw, 4px);
  padding-right: min(0.641025641vw, 5px);
}
#reason.reason .point[data-num="01"] .effect img:last-of-type {
  margin-top: min(3.8461538462vw, 30px);
  width: min(83.3333333333vw, 650px);
  height: min(25.5128205128vw, 199px);
}
#reason.reason .point:not([data-num="01"]) {
  margin-top: min(12.8205128205vw, 100px);
  border-top: min(0.3846153846vw, 3px) dashed #969DB2;
}
#reason.reason .point:not([data-num="01"]) h3 {
  margin-top: min(3.8461538462vw, 30px);
  font-size: min(6.4102564103vw, 50px);
  color: #162643;
  font-weight: 800;
  line-height: 1.2;
}
#reason.reason .point:not([data-num="01"]) h3 .marker {
  background: linear-gradient(90deg, #FFED96 0%, #FFD23F 100%);
  background-repeat: repeat-x;
  background-size: 100% min(2.8205128205vw, 22px);
  background-position: 0 90%;
  padding: 0 min(0.641025641vw, 5px);
}
#reason.reason .point:not([data-num="01"]) h3 .fs_s {
  font-size: min(2.5641025641vw, 20px);
}
#reason.reason .point:not([data-num="01"]) h3 .fs_m {
  font-size: min(4.8717948718vw, 38px);
}
#reason.reason .point:not([data-num="01"]) h3 .fs_l {
  font-size: min(8.7179487179vw, 68px);
}
#reason.reason .point:not([data-num="01"]) .txt {
  margin-top: min(6.4102564103vw, 50px);
  font-size: min(3.5897435897vw, 28px);
  width: min(80.7692307692vw, 630px);
  margin-inline: auto;
  text-align: left;
  font-weight: 500;
}
#reason.reason .point:not([data-num="01"]) .note {
  margin-top: min(2.5641025641vw, 20px);
  font-size: min(2.5641025641vw, 20px);
  width: min(80.7692307692vw, 630px);
  margin-inline: auto;
  text-align: left;
  font-weight: 400;
}

#introduction.introduction {
  box-shadow: min(0.2564102564vw, 2px) min(0.5128205128vw, 4px) min(0.5128205128vw, 4px) rgba(0, 0, 0, 0.15);
  margin-top: min(15.3846153846vw, 120px);
  width: min(89.7435897436vw, 700px);
  margin-inline: auto;
  background: #FFF;
}
#introduction.introduction .title {
  width: 100%;
  height: min(28.2051282051vw, 220px);
  background: center/cover no-repeat url(/lp/ibiki/assets/img/introduction/bg_ttl_introduction.webp);
  display: flex;
  justify-content: center;
  align-items: center;
}
#introduction.introduction .title h3 {
  font-size: min(5.7692307692vw, 45px);
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  text-align: center;
}
#introduction.introduction .title h3 span {
  font-size: min(8.9743589744vw, 70px);
}
#introduction.introduction .inner {
  padding: min(6.4102564103vw, 50px) min(5.1282051282vw, 40px) min(10.2564102564vw, 80px);
}
#introduction.introduction .inner p:first-of-type {
  font-size: min(3.5897435897vw, 28px);
  text-align: left;
  font-weight: 500;
}
#introduction.introduction .inner .figure {
  margin-top: min(5.1282051282vw, 40px);
  width: min(79.4871794872vw, 620px);
  height: min(47.1794871795vw, 368px);
}
#introduction.introduction .inner .container {
  margin-top: min(5.1282051282vw, 40px);
  width: min(67.0512820513vw, 523px);
  height: min(28.5897435897vw, 223px);
  background: center/cover no-repeat url(/lp/ibiki/assets/img/introduction/bg_case.svg);
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
#introduction.introduction .inner .container .case_num {
  color: #1F69BC;
  text-align: center;
  font-size: min(4.1025641026vw, 32px);
  font-weight: 700;
  line-height: 1.3;
  position: relative;
}
#introduction.introduction .inner .container .case_num:after {
  position: absolute;
  font-size: min(2.1794871795vw, 17px);
  font-weight: 400;
}
#introduction.introduction .inner .container .case_num span {
  line-height: 1;
}
#introduction.introduction .inner .container .case_num .num {
  font-family: "DIN2014", "din-2014", sans-serif;
  color: #1F69BC;
  font-size: min(15.3846153846vw, 120px);
  font-weight: 700;
  letter-spacing: 1%;
}
#introduction.introduction .inner .container .case_num .fs_l {
  font-size: min(5.1282051282vw, 40px);
}
#introduction.introduction .inner .container .case_num .fs_s {
  font-size: min(2.1794871795vw, 17px);
  font-weight: 400;
}
#introduction.introduction .inner .note {
  margin-top: min(3.8461538462vw, 30px);
  font-size: min(2.5641025641vw, 20px);
  text-align: center;
  font-weight: 400;
}

#flow.flow {
  padding: min(7.6923076923vw, 60px) 0 0;
}
#flow.flow .title {
  width: min(79.4871794872vw, 620px);
  text-align: center;
  margin-inline: auto;
}
#flow.flow .title h2 {
  color: #fff;
  font-size: min(7.6923076923vw, 60px);
  line-height: 1.5;
  font-weight: 700;
}
#flow.flow .title svg {
  width: min(79.4871794872vw, 620px);
  margin-top: min(1.2820512821vw, 10px);
}
#flow.flow .swiper-parent {
  transition: transform 0.4s;
  margin-top: min(7.6923076923vw, 60px);
  padding-bottom: min(8.3333333333vw, 65px);
  width: 100%;
  position: relative;
  overflow: hidden;
}
#flow.flow .swiper-parent .swiper-slide {
  width: min(89.7435897436vw, 700px) !important;
  height: min(108.3333333333vw, 845px);
  margin: 0 min(5.1282051282vw, 40px);
  padding: min(5.1282051282vw, 40px) min(5.1282051282vw, 40px) min(3.8461538462vw, 30px);
  background: #fff;
}
#flow.flow .swiper-parent .swiper-slide .num {
  text-align: center;
  font-size: min(6.4102564103vw, 50px);
  font-weight: 700;
  color: #5A6993;
  font-family: "DIN2014", "din-2014", sans-serif;
  line-height: 1;
}
#flow.flow .swiper-parent .swiper-slide .title {
  text-align: center;
  margin-top: min(2.5641025641vw, 20px);
  font-size: min(5.8974358974vw, 46px);
  font-weight: 700;
  color: #1C233A;
  line-height: 1;
}
#flow.flow .swiper-parent .swiper-slide img {
  margin-top: min(6.4102564103vw, 50px);
}
#flow.flow .swiper-parent .swiper-slide .txt {
  margin-top: min(3.8461538462vw, 30px);
  font-size: min(3.5897435897vw, 28px);
  font-weight: 500;
}
#flow.flow .swiper-parent .swiper-slide .current_num {
  margin-top: min(2.5641025641vw, 20px);
  text-align: center;
  font-size: min(5.1282051282vw, 40px);
  font-weight: 400;
  color: #B6BED4;
  font-family: "DIN2014", "din-2014", sans-serif;
  line-height: 1;
}
#flow.flow .swiper-parent .swiper-slide .current_num span {
  color: #5A6993;
}
#flow.flow .swiper-parent .swiper-button-prev,
#flow.flow .swiper-parent .swiper-button-next {
  width: min(1.2820512821vw, 10px);
  height: min(2.6923076923vw, 21px);
}
#flow.flow .swiper-parent .swiper-button-prev:after,
#flow.flow .swiper-parent .swiper-button-next:after {
  display: none;
}
#flow.flow .swiper-parent .swiper-button-prev {
  left: min(1.9230769231vw, 15px);
  transform: scaleX(-1);
}
#flow.flow .swiper-parent .swiper-button-next {
  right: min(1.9230769231vw, 15px);
}
#flow.flow .swiper-parent .swiper-button-disabled {
  display: none;
}
#flow.flow .swiper-parent .swiper-pagination {
  top: unset !important;
  bottom: 0;
}
#flow.flow .swiper-parent .swiper-pagination .swiper-pagination-bullet {
  width: min(2.0512820513vw, 16px);
  height: min(2.0512820513vw, 16px);
  background: #fff;
  margin: unset;
  opacity: unset;
}
#flow.flow .swiper-parent .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #FEC75A;
}
#flow.flow .swiper-parent .swiper-pagination .swiper-pagination-bullet:not(:first-of-type) {
  margin-left: min(2.5641025641vw, 20px);
}

#faq.faq {
  margin-top: min(20.5128205128vw, 160px);
  padding: 0 min(5.1282051282vw, 40px) min(25.641025641vw, 200px);
}
#faq.faq .title {
  width: min(54.7435897436vw, 427px);
  text-align: center;
  margin-inline: auto;
}
#faq.faq .title h2 {
  color: #fff;
  font-size: min(7.6923076923vw, 60px);
}
#faq.faq .title svg {
  width: min(54.7435897436vw, 427px);
  margin-top: min(1.2820512821vw, 10px);
}
#faq.faq .container {
  margin-top: min(10.2564102564vw, 80px);
}
#faq.faq .container details {
  list-style: none;
  background: #fff;
  box-shadow: min(0.2564102564vw, 2px) min(0.5128205128vw, 4px) min(0.5128205128vw, 4px) rgba(0, 0, 0, 0.15);
  padding: 0 min(3.8461538462vw, 30px);
}
#faq.faq .container details:not(:first-of-type) {
  margin-top: min(5.1282051282vw, 40px);
}
#faq.faq .container details summary {
  color: #1C233A;
  min-height: min(18.5897435897vw, 145px);
  font-size: min(3.5897435897vw, 28px);
  position: relative;
  padding-left: min(12.8205128205vw, 100px);
  padding-right: min(6.4102564103vw, 50px);
  font-weight: 700;
  display: flex;
  align-items: center;
}
#faq.faq .container details summary .icon {
  background: #1C233A;
  color: #fff;
}
@media screen and (min-width: 780.1px) {
  #faq.faq .container details summary {
    cursor: pointer;
  }
}
#faq.faq .container details summary:before, #faq.faq .container details summary:after {
  position: absolute;
  content: "";
  width: min(3.0769230769vw, 24px);
  height: min(0.3846153846vw, 3px);
  background: #1C233A;
  top: min(8.9743589744vw, 70px);
  border-radius: min(0.3846153846vw, 3px);
  right: 0;
  transition: transform 0.4s;
}
#faq.faq .container details summary:before {
  transform: rotate(90deg);
}
#faq.faq .container details .content_inner {
  min-height: min(19.2307692308vw, 150px);
  border-top: min(0.2564102564vw, 2px) dashed #969DB2;
  padding-top: min(3.8461538462vw, 30px);
  font-size: min(3.5897435897vw, 28px);
  padding-left: min(12.8205128205vw, 100px);
  padding-right: min(3.8461538462vw, 30px);
  padding-bottom: min(5.1282051282vw, 40px);
  position: relative;
  font-weight: 500;
}
#faq.faq .container details .content_inner .txt_wrapper {
  display: flex;
  align-items: center;
  min-height: min(10.2564102564vw, 80px);
}
#faq.faq .container details .content_inner .icon {
  background: #D5DBEE;
  color: #0A3A6F;
}
#faq.faq .container details .icon {
  position: absolute;
  left: 0;
  font-size: min(5.7692307692vw, 45px);
  border-radius: 100%;
  font-family: "DIN2014", "din-2014", sans-serif;
  width: min(10.2564102564vw, 80px);
  height: min(10.2564102564vw, 80px);
  display: grid;
  place-content: center;
  font-weight: 700;
}
#faq.faq .container details.is-opened summary:before {
  transform: rotate(360deg);
}

#clinics.clinics {
  position: relative;
  padding-top: min(15.3846153846vw, 120px);
  margin-top: -14%;
}
#clinics.clinics .title {
  margin-inline: auto;
  width: min(91.5384615385vw, 714px);
  height: min(27.9487179487vw, 218px);
  text-align: center;
}
#clinics.clinics .title h2 {
  font-size: min(6.4102564103vw, 50px);
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
}
#clinics.clinics .title h2 span {
  font-size: min(8.9743589744vw, 70px);
}
#clinics.clinics .container {
  margin-inline: auto;
  width: min(79.4871794872vw, 620px);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#clinics.clinics .container details {
  width: calc((100% - min(2.5641025641vw, 20px)) / 2);
  position: relative;
}
#clinics.clinics .container details:nth-of-type(n+3) {
  margin-top: min(2.5641025641vw, 20px);
}
#clinics.clinics .container details .clinic_card {
  width: 100%;
  text-align: center;
  padding: min(3.2051282051vw, 25px);
  background: #fff;
  color: #031F4A;
}
@media screen and (min-width: 780.1px) {
  #clinics.clinics .container details .clinic_card {
    cursor: pointer;
  }
}
#clinics.clinics .container details .clinic_card .clinic_name {
  font-size: min(4.1025641026vw, 32px);
  font-weight: 700;
}
#clinics.clinics .container details .clinic_card .clinic_access {
  font-size: min(3.0769230769vw, 24px);
  font-weight: 500;
}
#clinics.clinics .container details.is-opened .clinic_card {
  background: #D5DBEE;
}
#clinics.clinics .container details .clinic-inner {
  width: min(79.4871794872vw, 620px);
  margin-top: min(3.0769230769vw, 24px);
  background: #fff;
  padding: min(5.1282051282vw, 40px);
  position: relative;
  z-index: 2;
}
#clinics.clinics .container details .clinic-inner h3 {
  font-size: min(5.1282051282vw, 40px);
  color: #031F4A;
  text-align: center;
  font-weight: 700;
}
#clinics.clinics .container details .clinic-inner .notice {
  background: rgba(213, 219, 238, 0.4);
  margin-top: min(2.5641025641vw, 20px);
  padding: min(3.8461538462vw, 30px) min(5.1282051282vw, 40px) min(5.1282051282vw, 40px);
}
#clinics.clinics .container details .clinic-inner .notice .notice_title {
  font-size: min(3.5897435897vw, 28px);
  font-weight: 700;
  color: #031F4A;
  text-align: center;
}
#clinics.clinics .container details .clinic-inner .notice .txt {
  margin-top: min(2.5641025641vw, 20px);
  font-size: min(3.0769230769vw, 24px);
  font-weight: 500;
}
#clinics.clinics .container details .clinic-inner .notice img {
  margin-top: min(2.5641025641vw, 20px);
}
#clinics.clinics .container details .clinic-inner .table {
  margin-top: min(3.8461538462vw, 30px);
  border-radius: min(0.641025641vw, 5px);
  border: min(0.2564102564vw, 2px) solid #031F4A;
  background: #FFF;
  overflow: hidden;
}
#clinics.clinics .container details .clinic-inner .table .tr {
  display: grid;
  grid-template-columns: min(24.2307692308vw, 189px) min(44.7435897436vw, 349px);
}
#clinics.clinics .container details .clinic-inner .table .tr:not(:first-of-type) .th {
  border-top: min(0.2564102564vw, 2px) solid #fff;
}
#clinics.clinics .container details .clinic-inner .table .tr:not(:first-of-type) .td {
  border-top: min(0.2564102564vw, 2px) solid #031F4A;
}
#clinics.clinics .container details .clinic-inner .table .th,
#clinics.clinics .container details .clinic-inner .table .td {
  padding: min(2.5641025641vw, 20px) min(3.8461538462vw, 30px);
  font-size: min(3.0769230769vw, 24px);
  font-weight: 500;
}
#clinics.clinics .container details .clinic-inner .table .th {
  text-align: center;
  background: #031F4A;
  color: #fff;
  display: grid;
  place-content: center;
}
#clinics.clinics .container details .clinic-inner .table .td {
  color: #031F4A;
}
#clinics.clinics .container details .clinic-inner iframe {
  margin-top: min(2.5641025641vw, 20px);
  width: 100%;
  height: min(38.4615384615vw, 300px);
}
#clinics.clinics .container details .clinic-inner .buttons_container {
  margin-top: min(3.8461538462vw, 30px);
  display: flex;
  justify-content: space-between;
}
#clinics.clinics .container details .clinic-inner .buttons_container a:first-of-type {
  display: grid;
  place-content: center;
  color: #fff;
  background: #031F4A;
  font-weight: 500;
  width: min(26.9230769231vw, 210px);
  height: min(8.9743589744vw, 70px);
  font-size: min(3.0769230769vw, 24px);
  border-radius: min(5.1282051282vw, 40px);
}
#clinics.clinics .container details .clinic-inner .buttons_container .cta {
  font-size: min(3.0769230769vw, 24px);
  border-radius: min(5.1282051282vw, 40px);
  width: min(40.3846153846vw, 315px);
  height: min(8.9743589744vw, 70px);
  text-align: center;
  letter-spacing: -1.5px;
}
@media screen and (max-width: 780px) {
  #clinics.clinics .container details .clinic-inner .buttons_container .cta {
    letter-spacing: -0.1923076923vw;
  }
}
#clinics.clinics .container details .clinic-inner .buttons_container .cta svg {
  fill: none;
  width: min(1.2820512821vw, 10px);
  height: min(2.0512820513vw, 16px);
  margin-left: min(1.2820512821vw, 10px);
}
#clinics.clinics .container details .clinic-inner .doctor_content {
  margin-top: min(5.1282051282vw, 40px);
  font-weight: 500;
}
#clinics.clinics .container details .clinic-inner .doctor_content .name {
  display: flex;
}
#clinics.clinics .container details .clinic-inner .doctor_content .name span {
  font-size: min(3.0769230769vw, 24px);
}
#clinics.clinics .container details .clinic-inner .doctor_content .name img {
  margin-left: min(2.5641025641vw, 20px);
  width: 40%;
}
#clinics.clinics .container details .clinic-inner .doctor_content .history {
  margin-top: min(2.5641025641vw, 20px);
  font-size: min(3.0769230769vw, 24px);
  line-height: 1.5;
}
#clinics.clinics .container details .clinic-inner .doctor_content .history dl {
  display: flex;
  white-space: nowrap;
}
#clinics.clinics .container details .clinic-inner .doctor_content .history dl dd {
  margin-left: min(0.641025641vw, 5px);
}
#clinics.clinics .container details:nth-of-type(even) .clinic-inner {
  margin-left: -107%;
}
#clinics.clinics .container details:nth-of-type(4) .clinic-inner {
  margin-top: min(7.6923076923vw, 60px);
}

#info.info {
  padding: min(12.8205128205vw, 100px) min(10.2564102564vw, 80px) min(7.6923076923vw, 60px);
  color: #fff;
  text-align: center;
  background: #031F4A;
}
#info.info h2 {
  font-size: min(5.1282051282vw, 40px);
  font-weight: 700;
  line-height: 1.5;
}
#info.info h3 {
  text-align: left;
  margin-top: min(5.1282051282vw, 40px);
  font-size: min(3.5897435897vw, 28px);
  font-weight: 700;
}
#info.info h3 ~ p {
  text-align: left;
  margin-top: min(2.5641025641vw, 20px);
  font-size: min(3.0769230769vw, 24px);
  padding-left: min(5.1282051282vw, 40px);
  font-weight: 500;
}
#info.info h3 ~ p span {
  display: inline-block;
  padding-left: min(2.8205128205vw, 22px);
}
#info.info .note {
  font-size: min(2.5641025641vw, 20px);
  margin-top: min(3.8461538462vw, 30px);
  padding: unset;
  font-weight: 400;
}
#info.info a {
  color: #fff;
  margin-top: min(10.2564102564vw, 80px);
  margin-inline: auto;
  font-size: min(3.5897435897vw, 28px);
  font-weight: 700;
  display: inline-block;
  border-bottom: 1px solid #fff;
}

header {
  width: 100%;
  height: min(14.7435897436vw, 115px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: min(2.5641025641vw, 20px) min(5.1282051282vw, 40px);
  position: relative;
  z-index: 1;
  margin-bottom: -16%;
}
header img {
  margin: unset;
  width: min(32.0512820513vw, 250px);
  height: min(6.9230769231vw, 54px);
}
header .cta_title {
  display: none;
}
header .cta {
  font-size: min(3.0769230769vw, 24px);
  border-radius: min(5.1282051282vw, 40px);
  width: min(41.0256410256vw, 320px);
  height: min(9.6153846154vw, 75px);
  letter-spacing: -1.5px;
}
@media screen and (max-width: 780px) {
  header .cta {
    letter-spacing: -0.1923076923vw;
  }
}
header .cta span {
  display: none;
}
header .cta svg:first-of-type {
  width: min(4.6153846154vw, 36px);
  height: min(5.3846153846vw, 42px);
  margin-right: min(0.641025641vw, 5px);
}
header .cta svg:last-of-type {
  display: none;
}

footer {
  width: 100%;
  height: min(48.7179487179vw, 380px);
  padding: min(6.4102564103vw, 50px) 0 0;
  background: #000;
  text-align: center;
}
footer p {
  color: #fff;
  font-size: min(3.0769230769vw, 24px);
  font-weight: 500;
}

.cta,
.cta_title {
  font-weight: 700;
}

.cta_title {
  color: #FFD342;
}

.cta {
  color: #0B263E;
  background: linear-gradient(90deg, #FFED96 0%, #FFD23F 100%);
  display: flex;
  justify-content: center;
  align-items: center;
}
.cta svg:first-of-type {
  fill: #0B263E;
}

.floating {
  width: min(100%, 780px);
  height: min(32.0512820513vw, 250px);
  background: rgba(25, 37, 63, 0.6);
  -webkit-backdrop-filter: blur(min(1.9230769231vw, 15px));
          backdrop-filter: blur(min(1.9230769231vw, 15px));
  padding: min(2.5641025641vw, 20px) min(5.1282051282vw, 40px) min(3.8461538462vw, 30px);
  position: fixed;
  bottom: 0;
  transition: 0.5s;
  opacity: 0;
  pointer-events: none;
  text-align: center;
}
.floating.active {
  opacity: 1;
  z-index: 200;
  pointer-events: revert;
}
.floating .cta_title {
  font-size: min(4.8717948718vw, 38px);
}
.floating .cta_title span {
  font-size: min(6.1538461538vw, 48px);
}
.floating .cta {
  font-size: min(5.1282051282vw, 40px);
  border-radius: min(8.9743589744vw, 70px);
  width: min(89.7435897436vw, 700px);
  height: min(16.6666666667vw, 130px);
  letter-spacing: -2px;
  padding: min(4.4871794872vw, 35px) min(3.8461538462vw, 30px) min(4.4871794872vw, 35px) min(5.1282051282vw, 40px);
}
@media screen and (max-width: 780px) {
  .floating .cta {
    letter-spacing: -0.2564102564vw;
  }
}
.floating .cta svg:first-of-type {
  width: min(6.6666666667vw, 52px);
  height: min(7.9487179487vw, 62px);
  margin-right: min(1.2820512821vw, 10px);
}
.floating .cta svg:last-of-type {
  margin-left: auto;
  width: min(1.9230769231vw, 15px);
  height: min(3.2051282051vw, 25px);
}

.section_container_middle {
  background: linear-gradient(180deg, #969DB2 0%, #3F5181 100%);
}

.section_container_bottom {
  background: url(/lp/ibiki/assets/img/bg_bottom.webp) top/cover no-repeat;
  background-size: 100%;
}/*# sourceMappingURL=style.css.map */