@charset "UTF-8";
/*----------------------------------------------

  FUNCTIONS

----------------------------------------------*/
/*----------------------------------------------

  VARIABLE

----------------------------------------------*/
:root {
  --base-font-color: #4E5B68;
  --base-background-color: #ffffff;
  --primary-color: #00428A;
  --secondary-color: #FFCC00;
  --gutter: 30;
  --container-width: 1000;
  --base-font-size: 15;
}

/*----------------------------------------------

  FOUNDATION

----------------------------------------------*/
html {
  font-size: 62.5%;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-print-color-adjust: exact;
}
@media (min-width: 769px) {
  html {
    overflow-y: scroll;
  }
}

body {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
  -webkit-overflow-scrolling: touch;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  font-family: "Yu Gothic", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: var(--base-font-color);
  background-color: var(--base-background-color);
  font-size: calc(var(--base-font-size) * 1px);
  line-height: 2;
  word-break: break-word;
  position: relative;
  min-width: initial;
}
@media print {
  body {
    min-width: 1124px;
  }
}

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

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
ul,
ol,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
}

ul {
  list-style: none;
}

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

svg {
  display: block;
}

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

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

:where(a[target=_blank]):hover, :where(a[target=_blank]):focus {
  text-decoration: none;
  color: inherit;
}

::selection {
  color: #fff;
  background: #00a9e0;
}

/*----------------------------------------------

  LAYOUT

----------------------------------------------*/
.l-container {
  width: 100%;
  max-width: calc((var(--container-width) + var(--gutter) * 2) * 1px);
  margin-inline: auto;
  padding-left: calc(var(--gutter) * 1px);
  padding-right: calc(var(--gutter) * 1px);
}

.l-header {
  background: linear-gradient(330.69deg, #FFFFFF 77.26%, #DDF5FF 88.02%, #A6E5FF 96.55%);
  text-align: center;
  position: relative;
}
.l-header__inner {
  padding-top: calc(93 / 375 * 100vw);
  padding-bottom: calc(93 / 375 * 100vw);
}
@media (min-width: 768px) {
  .l-header {
    background: linear-gradient(318.99deg, #FFFFFF 66.33%, #DDF5FF 82.62%, #A6E5FF 95.54%);
  }
  .l-header__inner {
    padding-top: min(calc(300 / 1920 * 100vw), 300px);
    padding-bottom: min(calc(300 / 1920 * 100vw), 300px);
  }
}
.l-header__scroll {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 45px;
  height: 72px;
  display: none;
}
@media (min-width: 768px) {
  .l-header__scroll {
    display: block;
  }
}

.l-section {
  padding-top: min(calc(60 / 375 * 100vw), 60px);
  padding-bottom: min(calc(60 / 375 * 100vw), 60px);
}
@media (min-width: 768px) {
  .l-section {
    padding-top: min(calc(150 / 1920 * 100vw), 150px);
    padding-bottom: min(calc(150 / 1920 * 100vw), 150px);
  }
}

.l-footer {
  background-color: #fff;
}

/*----------------------------------------------

  PROJECT

----------------------------------------------*/
.p-header img {
  width: calc(296 / 375 * 100vw);
  height: auto;
  opacity: 0;
  filter: blur(20px);
  transition: opacity 1s ease, filter 1s ease;
}
.p-header img.is-loaded {
  opacity: 1;
  filter: blur(0);
}
@media (prefers-reduced-motion: reduce) {
  .p-header img {
    transition: none;
  }
}
@media (min-width: 768px) {
  .p-header img {
    width: 500px;
  }
}

.p-footer {
  padding: min(calc(75 / 375 * 100vw), 75px) 0 min(calc(71 / 375 * 100vw), 71px);
  text-align: center;
}
.p-footer img {
  width: min(calc(230 / 375 * 100vw), 230px);
}
@media (min-width: 768px) {
  .p-footer {
    padding: min(calc(90 / 1920 * 100vw), 90px) 0 min(calc(99 / 1920 * 100vw), 99px);
  }
  .p-footer img {
    width: min(calc(300 / 1920 * 100vw), 300px);
  }
}

.p-title {
  text-align: center;
  color: var(--primary-color);
  font-family: "YuMincho", "Yu Mincho", "游明朝", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  margin-bottom: min(calc(42 / 375 * 100vw), 42px);
}
@media (min-width: 768px) {
  .p-title {
    margin-bottom: min(calc(76 / 1920 * 100vw), 76px);
  }
}
.p-title__ja {
  display: block;
  font-weight: 600;
  font-size: min(calc(32 / 375 * 100vw), 32px);
  line-height: min(calc(48 / 375 * 100vw), 48px);
}
@media (min-width: 768px) {
  .p-title__ja {
    font-size: min(calc(42 / 1920 * 100vw), 42px);
    line-height: min(calc(63 / 1920 * 100vw), 63px);
  }
}
.p-title__en {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 500;
  font-size: min(calc(12 / 375 * 100vw), 12px);
  line-height: min(calc(14 / 375 * 100vw), 14px);
  letter-spacing: 0.35em;
}
@media (min-width: 768px) {
  .p-title__en {
    font-size: min(calc(14 / 1920 * 100vw), 14px);
    line-height: min(calc(16 / 1920 * 100vw), 16px);
  }
}

.p-subtitle {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(calc(10 / 375 * 100vw), 10px);
  margin-bottom: min(calc(20 / 375 * 100vw), 20px);
  margin-top: min(calc(42 / 375 * 100vw), 42px);
}
@media (min-width: 768px) {
  .p-subtitle {
    margin-top: min(calc(76 / 1920 * 100vw), 76px);
  }
}
.p-subtitle__text {
  font-size: min(calc(14 / 375 * 100vw), 14px);
  line-height: 1;
  font-weight: 700;
  color: #fff;
  background-color: var(--primary-color);
  padding: min(calc(5 / 375 * 100vw), 5px) min(calc(20 / 375 * 100vw), 20px);
  border-radius: min(calc(13 / 375 * 100vw), 13px);
}
.p-subtitle__addon {
  font-size: min(calc(14 / 375 * 100vw), 14px);
  color: var(--primary-color);
}

.p-list {
  list-style: disc;
  list-style-position: outside;
  padding-left: min(calc(20 / 375 * 100vw), 20px);
}

.p-button {
  margin-top: min(calc(30 / 375 * 100vw), 30px);
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .p-button {
    margin-top: min(calc(90 / 1920 * 100vw), 90px);
  }
}
.p-button button,
.p-button a {
  padding: 0;
  margin: 0;
  border: 0;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  display: inline-flex;
  align-items: center;
  gap: min(calc(11 / 375 * 100vw), 11px);
  font-size: min(calc(16 / 375 * 100vw), 16px);
  font-weight: 700;
  padding: min(calc(10 / 375 * 100vw), 10px) min(calc(24 / 375 * 100vw), 24px);
  background-color: var(--primary-color);
  color: #fff;
  height: min(calc(40 / 375 * 100vw), 40px);
  border-radius: min(calc(20 / 375 * 100vw), 20px);
}
@media (min-width: 992px) {
  .p-button button:hover,
  .p-button a:hover {
    opacity: 0.8;
  }
}
@media (max-width: 991px) {
  .p-button button:active,
  .p-button a:active {
    opacity: 0.8;
  }
}
.p-button button::after,
.p-button a::after {
  content: "";
  flex-shrink: 0;
  width: min(calc(21.6 / 375 * 100vw), 21.6px);
  aspect-ratio: 1;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.6 21.6'%3E%3Ccircle cx='10.8' cy='10.8' r='10.8' fill='%23fff'/%3E%3Cpath d='M10 15.2l4.4-4.4L10 6.4M14.4 10.8h-8' fill='none' stroke='%2300428a' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (min-width: 768px) {
  .p-button button,
  .p-button a {
    gap: min(calc(11 / 1920 * 100vw), 11px);
    height: min(calc(52 / 1920 * 100vw), 52px);
    border-radius: min(calc(26 / 1920 * 100vw), 26px);
    font-size: min(calc(21 / 1920 * 100vw), 21px);
    padding: min(calc(10 / 1920 * 100vw), 10px) min(calc(32 / 1920 * 100vw), 32px);
  }
  .p-button button::after,
  .p-button a::after {
    width: min(calc(27 / 1920 * 100vw), 27px);
  }
}
.p-button--more button::after,
.p-button--more a::after {
  rotate: 90deg;
}
.p-button--accent button,
.p-button--accent a {
  color: var(--primary-color);
  background-color: var(--secondary-color);
  padding: min(calc(10 / 375 * 100vw), 10px) min(calc(14 / 375 * 100vw), 14px) min(calc(10 / 375 * 100vw), 10px) min(calc(40 / 375 * 100vw), 40px);
}
@media (min-width: 768px) {
  .p-button--accent button,
  .p-button--accent a {
    padding: min(calc(10 / 1920 * 100vw), 10px) min(calc(14 / 1920 * 100vw), 14px) min(calc(10 / 1920 * 100vw), 10px) min(calc(50 / 1920 * 100vw), 50px);
  }
}
.p-button--light button,
.p-button--light a {
  justify-content: center;
  width: min(calc(252 / 375 * 100vw), 252px);
  height: auto;
  padding: min(calc(10 / 375 * 100vw), 10px);
  border-radius: min(calc(40 / 375 * 100vw), 40px);
  background-color: #349bc9;
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 768px) {
  .p-button--light button,
  .p-button--light a {
    width: min(calc(415 / 1920 * 100vw), 415px);
    height: min(calc(52 / 1920 * 100vw), 52px);
    padding: 0 min(calc(15 / 1920 * 100vw), 15px);
    border-radius: min(calc(26 / 1920 * 100vw), 26px);
  }
}
.p-button--stack {
  flex-direction: column;
  align-items: center;
  gap: min(calc(30 / 375 * 100vw), 30px);
}
@media (min-width: 768px) {
  .p-button--stack {
    gap: min(calc(50 / 1920 * 100vw), 50px);
  }
}
.p-button--contact button,
.p-button--contact a {
  justify-content: space-between;
  width: min(calc(300 / 375 * 100vw), 300px);
  height: min(calc(51 / 375 * 100vw), 51px);
  padding: 0 min(calc(15 / 375 * 100vw), 15px) 0 min(calc(75 / 375 * 100vw), 75px);
  border-radius: min(calc(26 / 375 * 100vw), 26px);
  font-size: min(calc(21 / 375 * 100vw), 21px);
}
.p-button--contact button::after,
.p-button--contact a::after {
  width: min(calc(27 / 375 * 100vw), 27px);
}
@media (min-width: 768px) {
  .p-button--contact button,
  .p-button--contact a {
    width: min(calc(300 / 1920 * 100vw), 300px);
    height: min(calc(52 / 1920 * 100vw), 52px);
    padding: 0 min(calc(15 / 1920 * 100vw), 15px) 0 min(calc(75 / 1920 * 100vw), 75px);
  }
}

.p-movie {
  width: 100%;
  aspect-ratio: 16/9;
  max-width: min(calc(640 / 375 * 100vw), 640px);
  margin-inline: auto;
}
.p-movie iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.idx-lead {
  position: relative;
  z-index: 1;
  overflow: hidden;
  overflow: clip;
  background-color: #00428a;
  background-image: linear-gradient(180deg, rgba(52, 155, 201, 0) 0%, #00428a 29%);
  color: #fff;
  font-family: "YuMincho", "Yu Mincho", "游明朝", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  text-shadow: calc(3 / 375 * 100vw) calc(3 / 375 * 100vw) calc(10 / 375 * 100vw) rgb(8, 77, 110);
}
@media (min-width: 768px) {
  .idx-lead {
    background-image: linear-gradient(180deg, #ffffff 0%, rgba(0, 66, 138, 0) 20%), linear-gradient(180deg, rgba(52, 155, 201, 0) 0%, #00428a 52%);
    text-shadow: 3px 3px 10px rgb(8, 77, 110);
  }
}
.idx-lead__stage {
  position: relative;
  padding: min(calc(60 / 375 * 100vw), 60px) min(calc(30 / 375 * 100vw), 30px) min(calc(56 / 375 * 100vw), 56px);
}
@media (min-width: 768px) {
  .idx-lead__stage {
    display: grid;
    align-items: start;
    width: min(calc(1920 / 1920 * 100vw), 1920px);
    margin-inline: auto;
    padding: min(calc(250 / 1920 * 100vw), 250px) 0 min(calc(227 / 1920 * 100vw), 227px);
  }
}
.idx-lead__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  .idx-lead__bg {
    right: auto;
    width: 100vw;
    left: calc(50% - 50vw);
  }
}
.idx-lead__photo {
  position: absolute;
  left: min(calc(-22 / 375 * 100vw), -22px);
  top: min(calc(-19 / 375 * 100vw), -19px);
  width: min(calc(617 / 375 * 100vw), 617px);
  height: min(calc(347 / 375 * 100vw), 347px);
  background: url("../images/lead-photo.png") center/100% 100% no-repeat;
  opacity: 0.45;
}
@media (min-width: 768px) {
  .idx-lead__photo {
    left: min(calc(-58 / 1920 * 100vw), -58px);
    top: min(calc(-180 / 1920 * 100vw), -180px);
    width: min(calc(2997 / 1920 * 100vw), 2997px);
    height: min(calc(1687 / 1920 * 100vw), 1687px);
  }
}
.idx-lead__heading {
  color: #fff;
  position: relative;
  z-index: 1;
  text-shadow: min(calc(2.4 / 375 * 100vw), 2.4px) min(calc(2.4 / 375 * 100vw), 2.4px) min(calc(8 / 375 * 100vw), 8px) rgb(8, 77, 110);
}
@media (min-width: 768px) {
  .idx-lead__heading {
    margin-bottom: 0;
    text-shadow: 3px 3px 10px rgb(8, 77, 110);
  }
}
.idx-lead__catch-h {
  position: sticky;
  top: min(calc(20 / 375 * 100vw), 20px);
  z-index: 2;
  margin-top: min(calc(42 / 375 * 100vw), 42px);
  font-weight: 600;
  font-size: min(calc(25 / 375 * 100vw), 25px);
  line-height: min(calc(38 / 375 * 100vw), 38px);
  letter-spacing: 0.1em;
  text-align: center;
}
@media (min-width: 768px) {
  .idx-lead__catch-h {
    display: none;
  }
}
.idx-lead__catch-v {
  display: none;
}
@media (min-width: 768px) {
  .idx-lead__catch-v {
    display: block;
    position: sticky;
    top: clamp(20px, 50vh - 384px, 120px);
    z-index: 1;
    grid-row: 2;
    grid-column: 1;
    width: 126px;
    height: 767px;
    margin-top: min(calc(107 / 1920 * 100vw), 107px);
    margin-left: clamp(16px, calc(360 / 1920 * 100vw), 360px);
  }
}
.idx-lead__col {
  position: absolute;
  width: 40px;
  font-weight: 600;
  font-size: 40px;
  text-align: center;
}
.idx-lead__col span {
  display: block;
  height: 55px;
  line-height: 40px;
  writing-mode: vertical-rl;
}
.idx-lead__col--main {
  top: 0;
  left: 86px;
}
.idx-lead__col--sub {
  top: 52px;
  left: 0;
}
.idx-lead__body {
  position: relative;
  z-index: 1;
  margin: min(calc(42 / 375 * 100vw), 42px) 0 0;
  font-weight: 800;
  text-align: left;
}
.idx-lead__body--sp {
  font-size: min(calc(14 / 375 * 100vw), 14px);
  line-height: min(calc(32 / 375 * 100vw), 32px);
  -webkit-mask-image: linear-gradient(to bottom, transparent var(--fade-start, 0px), #000 var(--fade-end, 0px));
  mask-image: linear-gradient(to bottom, transparent var(--fade-start, 0px), #000 var(--fade-end, 0px));
}
@media (min-width: 768px) {
  .idx-lead__body--sp {
    display: none;
  }
}
.idx-lead__body--pc {
  display: none;
}
@media (min-width: 768px) {
  .idx-lead__body--pc {
    display: block;
    grid-row: 2;
    grid-column: 1;
    width: min(calc(893 / 1920 * 100vw), 893px);
    margin: min(calc(97 / 1920 * 100vw), 97px) 0 0 min(calc(678 / 1920 * 100vw), 678px);
    font-size: min(calc(24 / 1920 * 100vw), 24px);
    line-height: min(calc(64 / 1920 * 100vw), 64px);
  }
}

.idx-project__text {
  text-align: center;
  font-size: min(calc(14 / 375 * 100vw), 14px);
  line-height: 2;
}
@media (min-width: 768px) {
  .idx-project__text {
    font-size: min(calc(18 / 1920 * 100vw), 18px);
    line-height: 2.5;
  }
}

.idx-partner {
  background-color: #e2ebef;
}
.idx-partner__inner {
  background-color: #fff;
  box-shadow: 0 0 50px #e2ebef;
  padding: min(calc(60 / 375 * 100vw), 60px) min(calc(17.5 / 375 * 100vw), 17.5px) min(calc(55 / 375 * 100vw), 55px);
}
@media (min-width: 768px) {
  .idx-partner__inner {
    padding: min(calc(104 / 1920 * 100vw), 104px) min(calc(100 / 1920 * 100vw), 100px) min(calc(98 / 1920 * 100vw), 98px);
  }
}
.idx-partner__title {
  margin-bottom: min(calc(30 / 375 * 100vw), 30px);
}
@media (min-width: 768px) {
  .idx-partner__title {
    margin-bottom: min(calc(100 / 1920 * 100vw), 100px);
  }
}
.idx-partner__wrap {
  display: flex;
  flex-direction: column;
  gap: min(calc(30 / 375 * 100vw), 30px);
}
@media (min-width: 768px) {
  .idx-partner__wrap {
    gap: min(calc(42 / 1920 * 100vw), 42px);
  }
}
.idx-partner__list {
  border-bottom: 0.5px solid var(--primary-color);
}
.idx-partner__item {
  border-top: 0.5px solid var(--primary-color);
  padding-top: min(calc(30 / 375 * 100vw), 30px);
  padding-bottom: min(calc(30 / 375 * 100vw), 30px);
}
.idx-partner__name {
  color: var(--primary-color);
  font-weight: 700;
  font-size: min(calc(16 / 375 * 100vw), 16px);
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 768px) {
  .idx-partner__name {
    font-size: min(calc(18 / 1920 * 100vw), 18px);
    text-align: left;
  }
}
.idx-partner__text {
  margin-top: min(calc(15 / 375 * 100vw), 15px);
  color: #4e5b68;
  font-weight: 500;
  font-size: min(calc(14 / 375 * 100vw), 14px);
  line-height: 2;
}
@media (min-width: 768px) {
  .idx-partner__text {
    margin-top: min(calc(23 / 1920 * 100vw), 23px);
    font-size: min(calc(14 / 1920 * 100vw), 14px);
  }
}
.idx-partner__logos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: min(calc(12 / 375 * 100vw), 12px);
  justify-content: center;
}
@media (min-width: 768px) {
  .idx-partner__logos {
    grid-template-columns: repeat(3, 1fr);
    column-gap: min(calc(60 / 1920 * 100vw), 60px);
    row-gap: min(calc(40 / 1920 * 100vw), 40px);
  }
}
.idx-partner__logo-img {
  display: block;
  width: 100%;
  height: auto;
}

.idx-offer {
  background-color: #FEF6EB;
}
.idx-offer__inner {
  background-color: #fff;
  box-shadow: 0 0 50px #FEF6EB;
  padding: min(calc(60 / 375 * 100vw), 60px) min(calc(17.5 / 375 * 100vw), 17.5px) min(calc(55 / 375 * 100vw), 55px);
}
@media (min-width: 768px) {
  .idx-offer__inner {
    padding: min(calc(104 / 1920 * 100vw), 104px) min(calc(100 / 1920 * 100vw), 100px) min(calc(98 / 1920 * 100vw), 98px);
  }
}
.idx-offer__lead {
  text-align: center;
  font-size: min(calc(20 / 375 * 100vw), 20px);
  line-height: 1.5;
  color: var(--primary-color);
  margin-bottom: min(calc(30 / 375 * 100vw), 30px);
}
@media (min-width: 768px) {
  .idx-offer__lead {
    font-size: min(calc(28 / 1920 * 100vw), 28px);
    margin-bottom: min(calc(54 / 1920 * 100vw), 54px);
  }
}

.idx-event-report {
  background-color: #e2ebef;
}
.idx-event-report__inner {
  background-color: #fff;
  box-shadow: 0 0 50px #e2ebef;
  padding: min(calc(60 / 375 * 100vw), 60px) min(calc(17.5 / 375 * 100vw), 17.5px) min(calc(55 / 375 * 100vw), 55px);
}
@media (min-width: 768px) {
  .idx-event-report__inner {
    padding: min(calc(104 / 1920 * 100vw), 104px) min(calc(100 / 1920 * 100vw), 100px) min(calc(98 / 1920 * 100vw), 98px);
  }
}
.idx-event-report .p-movie {
  margin-bottom: min(calc(30 / 375 * 100vw), 30px);
}
@media (min-width: 768px) {
  .idx-event-report .p-movie {
    margin-bottom: min(calc(54 / 1920 * 100vw), 54px);
  }
}

.idx-survey-results__title {
  margin-bottom: min(calc(30 / 375 * 100vw), 30px);
}
@media (max-width: 767px) {
  .idx-survey-results__title .p-title__ja {
    line-height: min(calc(38 / 375 * 100vw), 38px);
  }
}
@media (min-width: 768px) {
  .idx-survey-results__title {
    margin-bottom: min(calc(50 / 1920 * 100vw), 50px);
  }
}
.idx-survey-results__wrap {
  display: flex;
  flex-direction: column;
  gap: min(calc(30 / 375 * 100vw), 30px);
}
@media (min-width: 768px) {
  .idx-survey-results__wrap {
    gap: min(calc(50 / 1920 * 100vw), 50px);
  }
}
.idx-survey-results__card {
  background-color: #fff;
  border: 1px solid #349bc9;
  border-radius: 15px;
  padding: min(calc(30 / 375 * 100vw), 30px) min(calc(17.5 / 375 * 100vw), 17.5px) min(calc(20 / 375 * 100vw), 20px);
}
@media (min-width: 768px) {
  .idx-survey-results__card {
    padding: min(calc(50 / 1920 * 100vw), 50px) 0 min(calc(40 / 1920 * 100vw), 40px);
  }
}
.idx-survey-results__card-title {
  margin-bottom: min(calc(30 / 375 * 100vw), 30px);
  margin-inline: calc(min(calc(12 / 375 * 100vw), 12px) * -1);
  color: var(--primary-color);
  font-weight: 700;
  font-size: min(calc(20 / 375 * 100vw), 20px);
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 768px) {
  .idx-survey-results__card-title {
    margin-inline: 0;
    margin-bottom: min(calc(50 / 1920 * 100vw), 50px);
    font-size: min(calc(20 / 1920 * 100vw), 20px);
  }
}
.idx-survey-results__questions {
  display: flex;
  flex-direction: column;
  gap: min(calc(30 / 375 * 100vw), 30px);
}
@media (min-width: 768px) {
  .idx-survey-results__questions {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    column-gap: min(calc(30 / 1920 * 100vw), 30px);
    padding-inline: min(calc(67 / 1920 * 100vw), 67px);
  }
}
.idx-survey-results__question {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.idx-survey-results__head {
  width: 100%;
  margin-bottom: min(calc(20 / 375 * 100vw), 20px);
}
@media (min-width: 768px) {
  .idx-survey-results__head {
    width: auto;
    margin-bottom: min(calc(30 / 1920 * 100vw), 30px);
  }
}
.idx-survey-results__label {
  padding: min(calc(8 / 375 * 100vw), 8px) min(calc(10 / 375 * 100vw), 10px);
  border-radius: 50px;
  background-color: var(--primary-color);
  color: #fff;
  font-weight: 700;
  font-size: min(calc(15 / 375 * 100vw), 15px);
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 768px) {
  .idx-survey-results__label {
    width: min(calc(294 / 1920 * 100vw), 294px);
    margin-inline: auto;
    padding: min(calc(7 / 1920 * 100vw), 7px) min(calc(10 / 1920 * 100vw), 10px);
    font-size: min(calc(15 / 1920 * 100vw), 15px);
    line-height: min(calc(20 / 1920 * 100vw), 20px);
  }
}
@media (min-width: 768px) {
  .idx-survey-results__label--wide {
    width: min(calc(382 / 1920 * 100vw), 382px);
  }
  .idx-survey-results__label--3-1 {
    width: min(calc(460 / 1920 * 100vw), 460px);
  }
  .idx-survey-results__label--4-1 {
    width: min(calc(540 / 1920 * 100vw), 540px);
  }
  .idx-survey-results__label--5-1 {
    width: min(calc(452 / 1920 * 100vw), 452px);
  }
}
.idx-survey-results__note {
  margin-top: min(calc(5 / 375 * 100vw), 5px);
  margin-inline: calc(min(calc(12 / 375 * 100vw), 12px) * -1);
  color: #4e5b68;
  font-weight: 500;
  font-size: min(calc(12 / 375 * 100vw), 12px);
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 768px) {
  .idx-survey-results__note {
    margin-top: 0;
    margin-inline: 0;
    font-size: min(calc(12 / 1920 * 100vw), 12px);
    line-height: 2.5;
  }
}
@media (min-width: 768px) {
  .idx-survey-results__note--end {
    text-align: right;
  }
  .idx-survey-results__note--split {
    display: flex;
    justify-content: space-between;
    gap: 1em;
  }
  .idx-survey-results__note--lines {
    margin-top: min(calc(6 / 1920 * 100vw), 6px);
    line-height: 1.5;
  }
}
.idx-survey-results__graph {
  width: 100%;
}
@media (min-width: 768px) {
  .idx-survey-results__graph {
    width: max-content;
    margin-top: auto;
  }
}
.idx-survey-results__img {
  display: block;
  width: 100%;
  height: auto;
  margin-inline: auto;
}
.idx-survey-results__img--1-1 {
  width: min(calc(251 / 375 * 100vw), 251px);
}
.idx-survey-results__img--6-1 {
  width: min(calc(225 / 375 * 100vw), 225px);
}
.idx-survey-results__img--6-2 {
  width: min(calc(193 / 375 * 100vw), 193px);
}
.idx-survey-results__img--7-2 {
  width: min(calc(270 / 375 * 100vw), 270px);
}
@media (min-width: 768px) {
  .idx-survey-results__img--1-1 {
    width: min(calc(314 / 1920 * 100vw), 314px);
  }
  .idx-survey-results__img--3-1 {
    width: min(calc(834 / 1920 * 100vw), 834px);
  }
  .idx-survey-results__img--4-1 {
    width: min(calc(670 / 1920 * 100vw), 670px);
  }
  .idx-survey-results__img--5-1 {
    width: min(calc(685 / 1920 * 100vw), 685px);
  }
  .idx-survey-results__img--6-1 {
    width: min(calc(336 / 1920 * 100vw), 336px);
  }
  .idx-survey-results__img--6-2 {
    width: min(calc(293 / 1920 * 100vw), 293px);
  }
  .idx-survey-results__img--7-1, .idx-survey-results__img--7-2 {
    width: min(calc(410 / 1920 * 100vw), 410px);
  }
  .idx-survey-results__img--1-2 {
    width: min(calc(472 / 1920 * 100vw), 472px);
  }
  .idx-survey-results__img--2-1 {
    width: min(calc(444 / 1920 * 100vw), 444px);
  }
  .idx-survey-results__img--2-2 {
    width: min(calc(415 / 1920 * 100vw), 415px);
  }
}
.idx-survey-results__n {
  color: #4e5b68;
  font-weight: 500;
  font-size: min(calc(12 / 375 * 100vw), 12px);
  line-height: min(calc(30 / 375 * 100vw), 30px);
  text-align: right;
}
@media (min-width: 768px) {
  .idx-survey-results__n {
    font-size: min(calc(14 / 1920 * 100vw), 14px);
    line-height: min(calc(30 / 1920 * 100vw), 30px);
  }
}
.idx-survey-results__overview {
  margin-top: min(calc(30 / 375 * 100vw), 30px);
}
@media (min-width: 768px) {
  .idx-survey-results__overview {
    margin-top: min(calc(100 / 1920 * 100vw), 100px);
  }
}
.idx-survey-results__overview-title {
  margin-bottom: min(calc(16 / 375 * 100vw), 16px);
  padding-bottom: min(calc(15 / 375 * 100vw), 15px);
  border-bottom: 1px solid var(--primary-color);
  color: var(--primary-color);
  font-weight: 700;
  font-size: min(calc(18 / 375 * 100vw), 18px);
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 768px) {
  .idx-survey-results__overview-title {
    margin-bottom: min(calc(30 / 1920 * 100vw), 30px);
    padding-bottom: min(calc(15 / 1920 * 100vw), 15px);
    font-size: min(calc(18 / 1920 * 100vw), 18px);
  }
}
.idx-survey-results__overview-list {
  display: flex;
  flex-direction: column;
  gap: min(calc(15 / 375 * 100vw), 15px);
  color: #4e5b68;
  font-size: min(calc(14 / 375 * 100vw), 14px);
  line-height: 1.5;
}
@media (min-width: 768px) {
  .idx-survey-results__overview-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(calc(15 / 1920 * 100vw), 15px) min(calc(24 / 1920 * 100vw), 24px);
    font-size: min(calc(14 / 1920 * 100vw), 14px);
  }
}
.idx-survey-results__overview-item {
  display: flex;
}
@media (min-width: 768px) {
  .idx-survey-results__overview-item--full {
    flex-basis: 100%;
  }
}
.idx-survey-results__overview-term {
  flex-shrink: 0;
  font-weight: 500;
}
.idx-survey-results__overview-term::after {
  content: "|";
  margin-inline: 0.5em;
}
.idx-survey-results__overview-desc {
  font-weight: 500;
}
.idx-survey-results__source {
  margin-top: min(calc(15 / 375 * 100vw), 15px);
  font-weight: 500;
  font-size: min(calc(14 / 375 * 100vw), 14px);
  line-height: 1.5;
}
@media (min-width: 768px) {
  .idx-survey-results__source {
    margin-top: min(calc(15 / 1920 * 100vw), 15px);
    font-size: min(calc(14 / 1920 * 100vw), 14px);
  }
}
.idx-survey-results__source a {
  color: #349bc9;
  text-decoration: underline;
}
.idx-survey-results__source a:hover {
  color: #349bc9;
}

.idx-voices {
  background-color: #e2ebef;
}
@media (max-width: 767px) {
  .idx-voices {
    padding-top: min(calc(91 / 375 * 100vw), 91px);
  }
}
.idx-voices__inner {
  padding: min(calc(30 / 375 * 100vw), 30px) min(calc(17.5 / 375 * 100vw), 17.5px);
  background-color: #fff;
  box-shadow: 0 0 50px #edfaff;
}
@media (min-width: 768px) {
  .idx-voices__inner {
    padding: min(calc(100 / 1920 * 100vw), 100px);
  }
}
.idx-voices__title {
  margin-bottom: min(calc(30 / 375 * 100vw), 30px);
}
@media (min-width: 768px) {
  .idx-voices__title {
    margin-bottom: min(calc(73 / 1920 * 100vw), 73px);
  }
}
.idx-voices__item {
  padding-block: min(calc(21 / 375 * 100vw), 21px);
}
.idx-voices__item + .idx-voices__item {
  border-top: 0.5px solid var(--primary-color);
}
.idx-voices__item:first-child {
  padding-top: 0;
}
.idx-voices__item:last-child {
  padding-bottom: 0;
}
@media (min-width: 768px) {
  .idx-voices__item {
    display: grid;
    grid-template-columns: min(calc(76 / 1920 * 100vw), 76px) 1fr;
    align-items: start;
    column-gap: min(calc(45 / 1920 * 100vw), 45px);
    padding-block: min(calc(50 / 1920 * 100vw), 50px);
  }
}
.idx-voices__icon {
  display: block;
  width: min(calc(76 / 375 * 100vw), 76px);
  margin-inline: auto;
}
@media (min-width: 768px) {
  .idx-voices__icon {
    width: 100%;
    margin-top: min(calc(7 / 1920 * 100vw), 7px);
  }
}
.idx-voices__name {
  display: flex;
  flex-wrap: wrap;
  column-gap: min(calc(12 / 375 * 100vw), 12px);
  margin-top: min(calc(30 / 375 * 100vw), 30px);
  color: var(--primary-color);
  font-weight: 700;
  font-size: min(calc(16 / 375 * 100vw), 16px);
  line-height: 1.5;
}
@media (min-width: 768px) {
  .idx-voices__name {
    column-gap: min(calc(17 / 1920 * 100vw), 17px);
    margin-top: 0;
    font-size: min(calc(18 / 1920 * 100vw), 18px);
  }
}
.idx-voices__text {
  margin-top: min(calc(15 / 375 * 100vw), 15px);
  font-weight: 500;
  font-size: min(calc(14 / 375 * 100vw), 14px);
  line-height: 2;
}
@media (min-width: 768px) {
  .idx-voices__text {
    margin-top: min(calc(15 / 1920 * 100vw), 15px);
    font-size: min(calc(14 / 1920 * 100vw), 14px);
  }
}

.idx-contact {
  background-color: var(--primary-color);
  color: #fff;
}
.idx-contact__title {
  margin-bottom: min(calc(30 / 375 * 100vw), 30px);
  color: #fff;
}
@media (min-width: 768px) {
  .idx-contact__title {
    margin-bottom: min(calc(50 / 1920 * 100vw), 50px);
  }
}
.idx-contact__text {
  font-weight: 700;
  font-size: min(calc(18 / 375 * 100vw), 18px);
  line-height: 1.5;
}
@media (min-width: 768px) {
  .idx-contact__text {
    font-size: min(calc(18 / 1920 * 100vw), 18px);
    text-align: center;
  }
}
@media (min-width: 768px) {
  .idx-contact__button {
    margin-top: min(calc(50 / 1920 * 100vw), 50px);
  }
}

/*----------------------------------------------

  UTILITIES

----------------------------------------------*/
@media (min-width: 768px) {
  .u-br-xs--only {
    display: none;
  }
}

.u-color-light-blue {
  color: #349BC9;
}

.u-bold {
  font-weight: 700;
}

.u-center {
  text-align: center;
}

.u-underline {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 4px;
  text-decoration-color: #349BC9;
}

@media (min-width: 768px) {
  .u-sp-only {
    display: none;
  }
}

@media (max-width: 767px) {
  .u-pc-only {
    display: none;
  }
}

/*# sourceMappingURL=theme.css.map */
