@charset "UTF-8";

/* ==========================

  00. multi-class
  01. key visual
  02. campaign
  03. caution
  04. information
  05. staff
  06. difference
  07. case
  08. banner
  09. service
  10. price
  11. needs
  12. result
  13. Re-correction
  14. counseling
  15. message
  16. photo gallery
  17. seo

  00. multi-class
========================================================================== */
.idx,
.idx dl,
.idx dt,
.idx dd,
.idx ul,
.idx li,
.idx a,
.idx span,
.idx i,
.idx div,
.idx p,
.idx h2,
.idx h3,
.idx section,
.idx nav,
.idx figure,
.idx article,
.idx aside,
.idx h2 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.idx {
  font-size: max(calc((15 / 1400) * 100vw), calc(15px * 0.97));
  position: relative;
}

.idx img {
  width: 100%;
  max-width: 100%;
}

.idx_otr {
  position: relative;
}

.idx_inr {
  position: relative;
  display: block;
  margin: 0 auto;
}

.idx_box {
  display: block;
  position: relative;
}

.idx_ttl {
  position: relative;
}

.idx_lst {
  display: grid;
  gap: 0.5em;
}

.idx_lst li {
  position: relative;
  padding-left: 0.6em;
  background-repeat: no-repeat;
  background-position: 0 0.4em;
  background-size: 0.8em auto;
}

.idx_lst.idx_lst_dot li::before {
  content: "";
  display: block;
  position: absolute;
  width: 0.2em;
  aspect-ratio: 1 / 1;
  left: 0;
  top: 0.7em;
  background-color: #2e2e2e;
  border-radius: 50%;
}

.idx_lst.idx_lst_check li {
  padding-left: 1.2em;
  background-repeat: no-repeat;
  background-position: 0 0.4em;
  background-size: 0.8em auto;
}

.idx_lm {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  text-align: center;
}

.idx_lm span {
  display: inline-block;
  width: 8.46em;
}

.idx_lm span img {
  aspect-ratio: 127 / 88;
}

.idx_btn {
  text-align: center;
}

.idx_btn a {
  display: inline-block;
  width: 21.93em;
  aspect-ratio: 329 / 51;
}

.brckts {
  display: inline-block;
  margin: 0 -0.4em;
}

.kerning {
  font-feature-settings: 'palt';
}

.kntn {
  padding-top: 0.2em;
  background: top left / 1em 0.3em repeat-x radial-gradient(circle, #333 0.1em, rgba(0, 0, 0, 0) 0.1em);
}

/* ------------------------------ slick */
.slide-arrow {
  z-index: 90;
  position: absolute;
  cursor: pointer;
  transition: 0.3s;
}

.slide-arrow:hover {
  opacity: 0.7;
}

/* ------------------------------ twentytwenty */
.twentytwenty-handle {
  width: 5em;
  height: 5em;
  margin-left: -2.5em;
  margin-top: -2.5em;
  border: 0 none;
  background: rgba(255, 255, 255, 0.5);
}

.twentytwenty-horizontal .twentytwenty-handle::before,
.twentytwenty-horizontal .twentytwenty-handle:after {
  width: 1px;
  margin-left: -0.5px;
}

.twentytwenty-horizontal .twentytwenty-handle::before {
  bottom: 0;
}

.twentytwenty-horizontal .twentytwenty-handle::after {
  top: 0;
}

.twentytwenty-left-arrow,
.twentytwenty-right-arrow {
  width: 0.66em;
  height: 0.66em;
  border: 0.2em solid #505050;
  border-right: 0 none;
  border-bottom: 0 none;
  position: absolute;
}

.twentytwenty-left-arrow {
  margin-left: -1.6em;
  transform: rotate(-45deg);
}

.twentytwenty-right-arrow {
  margin-right: -1.6em;
  transform: rotate(135deg);
}

/*
  00. header, gnav
========================================================================== */
.gnav {
  width: 85.33em;
  margin: -7em auto 0;
  border-radius: 0.66em;
  background-color: #fff;
  box-shadow: 0 0 0.5em rgba(226, 226, 226, 0.6);
}

/*
  01. key visual
========================================================================== */
.idx_kv {
  padding: 7.06em 33.4em 0 3.4em;
  aspect-ratio: 1400 / 760;
  display: grid;
  grid-template-columns: 38.666em 1fr;
  grid-template-rows: max-content max-content max-content 1fr;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/top/kv_bg.jpg");
}

.idx_kv .logo {
  margin: 0 0 4em;
  padding: 0 2em;
  width: 38.4em;
}

.idx_kv .logo img {
  aspect-ratio: 138/47;
}

.idx_kv .badge-container {
  position: absolute;
  top: 28em;
  left: 50.66em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 max(1.14svw, 14.86px);
}

.idx_kv .badge {
  padding-top: 0.6em;
  width: max(10.71svw, 139.29px);
  aspect-ratio: 59/58;
  text-align: center;
  color: #bfa438;
  font-size: 1.25em;
  line-height: 1.2;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% 100%;
  background-image: url("../images/top/kv_badge.png");
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.idx_kv .badge span:nth-child(1) {
  font-size: 70%;
}

.idx_kv .feat {
  grid-column: 1 / 2;
  margin: 0 0 1.4em;
}

.idx_kv .feat li:nth-of-type(1) {
  padding: 1.5em 0 1em 8em;
  background-color: #fff88f;
  background-repeat: no-repeat;
  background-position: 11% center;
  background-size: 7.2em auto;
  background-image: url("../images/top/kv_fig_01.png");
  border-radius: 0.6em 0.6em 0 0;
}

.idx_kv .feat li:nth-of-type(1) span {
  display: block;
  text-align: center;
  line-height: 1.3;
}

.idx_kv .feat li:nth-of-type(1) span:nth-of-type(1) {
  font-size: 195.46%;
  letter-spacing: -0.06em;
}

.idx_kv .feat li:nth-of-type(1) span:nth-of-type(2) {
  font-size: 271%;
  line-height: 1.2;
}

.idx_kv .feat li:nth-of-type(1) span:nth-of-type(2) em {
  display: inline-block;
  border-bottom: 0.08em solid #7ad8cc;
}

.idx_kv .feat li:nth-of-type(2) {
  display: grid;
  grid-template-columns: 14.93em 1fr;
  gap: 0 2em;
  align-items: center;
  padding: 0 0 0 1.1em;
  border-radius: 0 0 0.6em 0.6em;
  background-color: #7ad8cc;
}

.idx_kv .feat li:nth-of-type(2) p:nth-of-type(1) {
  position: relative;
  background-color: #fff;
  color: #2ec0ad;
  line-height: 1.2;
  text-align: center;
  padding: 0.4em 0 0.4em;
}

.idx_kv .feat li:nth-of-type(2) p:nth-of-type(1)::before,
.idx_kv .feat li:nth-of-type(2) p:nth-of-type(1)::after {
  content: "";
  display: block;
  position: absolute;
  width: 1.2em;
  height: 50%;
  right: 0;
  background-color: #7ad8cc;
}

.idx_kv .feat li:nth-of-type(2) p:nth-of-type(1)::before {
  top: 0;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

.idx_kv .feat li:nth-of-type(2) p:nth-of-type(1)::after {
  bottom: 0;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.idx_kv .feat li:nth-of-type(2) p:nth-of-type(1) span {
  font-size: 187.8%;
  display: block;
}

.idx_kv .feat li:nth-of-type(2) p:nth-of-type(1) em {
  font-size: 150%;
}

.idx_kv .feat li:nth-of-type(2) p:nth-of-type(2) {
  color: #fff88f;
}

.idx_kv .feat li:nth-of-type(2) p:nth-of-type(2) em {
  font-family: "Jost", sans-serif;
  font-size: 620%;
  line-height: 1;
}

.idx_kv .feat li:nth-of-type(2) p:nth-of-type(2) span {
  font-size: 240%;
  position: relative;
  display: inline-block;
  margin-left: 0.2em;
}

.idx_kv .feat li:nth-of-type(2) p:nth-of-type(2) span i {
  position: absolute;
  left: 0;
  top: -1em;
  font-size: 54%;
}

.idx_kv .accs {
  grid-column: 1 / 2;
  text-align: center;
}

.idx_kv .accs li {
  display: inline-block;
  font-size: 138.8%;
  min-height: 1.54em;
  background-repeat: no-repeat;
  background-position: 0 50%;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
}

.idx_kv .accs li:nth-of-type(1) {
  margin-right: 2em;
  padding-left: 1.8em;
  background-size: 1.05em auto;
  background-image: url("../images/top/kv_ico_train.png");
}

.idx_kv .accs li:nth-of-type(2) {
  padding-left: 2.4em;
  background-size: 1.536em auto;
  background-image: url("../images/top/kv_ico_calendar.png");
}

/*
  02. campaign
========================================================================== */
.idx_campaign {
  margin: 5.4em auto 4em;
  width: 85.33em;
  aspect-ratio: 1280 / 280;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% 100%;
  background-image: url("../images/top/campaign_bg.jpg");
}

.idx_campaign .idx_ttl {
  position: relative;
  padding: 0 0 0 19.8em;
  margin: 0 0 2em;
}

.idx_campaign .idx_ttl span:nth-of-type(1) {
  position: absolute;
  display: grid;
  align-items: center;
  padding-left: 2.2em;
  width: 11.8em;
  left: 6.2em;
  top: -1.8em;
  aspect-ratio: 177 / 145;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-image: url("../images/top/campaign_fukidashi.png");
  color: #fff;
}

.idx_campaign .idx_ttl span:nth-of-type(1) i {
  font-size: 192.2%;
}

.idx_campaign .idx_ttl span:nth-of-type(2) {
  display: inline-block;
  font-size: 222.2%;
  color: #333333;
  line-height: 1;
  padding-top: 0.5em;
}

.idx_campaign .idx_ttl span:nth-of-type(2) i {
  font-size: 140%;
  vertical-align: middle;
  margin-left: 0.2em;
}

.idx_campaign .idx_ttl span:nth-of-type(2) em {
  color: #12b9a3;
  font-size: 125%;
}

.idx_campaign .catch {
  font-size: 277.8%;
  width: fit-content;
  margin: 0 auto 0.1em 1.3em;
  color: #fff;
  border-bottom: 0.1em solid #fff88f;
}

.idx_campaign .lead {
  padding: 0 0 0 8.2em;
  color: #fff;
  line-height: 1;
  display: grid;
  grid-template-columns: 9.13em auto 1fr;
  align-items: end;
}

.idx_campaign .lead span:nth-of-type(1) {
  font-size: 250%;
  text-align: center;
  padding: 0.25em 0 0.35em;
  border: 0.1em solid #fff;
  margin-bottom: 0.95em;
}

.idx_campaign .lead em {
  font-size: 1000%;
  font-family: "Jost";
  margin-left: 0.1em;
}

.idx_campaign .lead span:nth-of-type(2) {
  position: relative;
  font-size: 285%;
  padding: 0 0 0.5em 0.2em;
}

.idx_campaign .lead span:nth-of-type(2) i:nth-of-type(1) {
  font-size: 122%;
  margin-right: 0.3em;
}

.idx_campaign .lead span:nth-of-type(2) i:nth-of-type(2) {
  position: absolute;
  font-size: 43%;
  left: 0;
  top: -1em;
}

.idx_campaign .note {
  position: absolute;
  font-size: 111%;
  font-weight: 300;
  color: #fff;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5em;
  left: 45em;
  bottom: 1em;
  line-height: 1;
}

/*
  03. caution
========================================================================== */
.idx_caution {
  width: 78.4em;
  margin: 0 auto 3.8em;
  padding: 4.8em 9.9em 0;
  aspect-ratio: 1176 / 718;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  background-image: url("../images/top/caution_bg.png");
  text-align: center;
  color: #2e2e2e;
}

.idx_caution .idx_ttl {
  font-size: 275%;
  width: 11.28em;
  margin: 0 auto 0.6em;
  background-color: #ea6e8f;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: auto 0.88em;
  background-image: url("../images/top/caution_ttl_bg.png");
  color: #fff;
  font-weight: 700;
}

.idx_caution p,
.idx_caution p * {
  font-weight: 700;
}

.idx_caution p em {
  color: #e77090;
  line-height: 1;
}

.idx_caution .lead {
  margin: 0 0 2em;
}

.idx_caution .lead span {
  font-size: 199%;
}

.idx_caution .lead em {
  font-size: 131%;
}

.idx_caution .desc {
  font-size: 175%;
  margin: 0 0 1em;
}

.idx_caution .desc > i {
  font-size: 113%;
}

.idx_caution .desc span {
  font-size: 142%;
  margin: 0 -0.3em;
}

.idx_caution .desc span em {
  display: inline-block;
  line-height: 1.2;
  border-bottom: 0.1em solid #e77090;
}

.idx_caution .desc span i {
  display: inline-block;
  margin: 0 -0.5em;
}

.idx_caution .desc span em::first-letter {
  font-size: 120%;
}

.idx_caution .catch {
  position: relative;
  font-size: 175%;
  margin: 0 auto 2em;
  width: fit-content;
  border-bottom: 0.1em solid #e77090;
}

.idx_caution .catch i {
  font-size: 135.68%;
}

.idx_caution .catch::before {
  content: "";
  display: block;
  position: absolute;
  width: 1.74em;
  left: calc((100% - 1.74em) / 2);
  bottom: -1.4em;
  aspect-ratio: 51 / 28;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #e77090;
}

.idx_caution .kkm {
  background-color: #fff;
  font-size: 225%;
  line-height: 1.3;
  padding: 0.5em 0;
}

/*
  04. information
========================================================================== */
.idx_info {
  position: relative;
  height: max(37.643vw, 489px);
  margin-top: max(6.214vw, 80px);
  margin-bottom: max(6.214vw, 80px);
  padding-top: max(4.286vw, 55px);
  background: url(../images/top/info_bg.jpg) center top no-repeat;
  background-size: cover;
  line-height: 1;
}

.idx_info h2 {
  width: max(37.857vw, 492px);
  margin-left: max(28.5vw, 370px);
  padding-bottom: max(0.357vw, 4px);
  padding-left: max(4.071vw, 52px);
  color: #444;
  border-bottom: #333 solid 1px;
}

.idx_info h2 .en {
  display: inline-block;
  font-family: 'Times New Roman', Times, serif;
  font-size: max(2.679vw, 34px);
  font-weight: 400;
  font-style: italic;
  letter-spacing: .15em;
}

.idx_info h2 .en::first-letter {
  font-size: max(4.166vw, 54px);
}

.idx_info h2 .ja {
  padding-left: max(2.429vw, 31px);
  font-size: max(1.488vw, 19px);
  font-weight: 400;
  font-style: italic;
  letter-spacing: .08em;
}

.idx_info .catch {
  position: absolute;
  top: max(9.43svw, 122.57px);
  left: max(6.929vw, 90px);
}

.idx_info .catch img {
  width: max(13.357vw, 173px);
}

.idx_info .lead {
  position: relative;
  width: max(30.286vw, 393px);
  height: max(3.429vw, 44px);
  margin-top: max(2.143vw, 27px);
  margin-left: max(30.714vw, 399px);
  padding-top: max(0.86svw, 11.14px);
  text-align: center;
}

.idx_info .lead::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform: skewX(-15deg);
}

.idx_info .lead span {
  position: relative;
  font-size: max(2.00svw, 26.00px);
  font-weight: 400;
  letter-spacing: .1em;
  color: #444;
}

.idx_info .lead em {
  color: #00ade7;
}

.idx_info ul.list {
  margin-top: max(3.429vw, 44px);
  margin-left: max(23.857vw, 310px);
}

.idx_info ul.list li {
  padding-left: max(3.21svw, 41.79px);
  font-size: max(2.18svw, 28.39px);
  font-weight: 500;
  letter-spacing: .1em;
  background: url(../images/top/info_check.png) left center no-repeat;
  background-size: max(2.14svw, 27.86px) auto;
}

.idx_info ul.list li * {
  font-weight: 500;
}

.idx_info ul.list li:nth-of-type(1) {
  margin-left: max(6.429vw, 83px);
}

.idx_info ul.list li:nth-of-type(2) {
  margin-left: max(4.286vw, 55px);
}

.idx_info ul.list li:nth-of-type(3) {
  margin-left: max(2.143vw, 27px);
}

.idx_info ul.list li + li {
  margin-top: max(1.79svw, 23.21px);
}

.idx_info ul.list li span.fs30 {
  font-size: max(2.62svw, 34.06px);
}

.idx_info ul.list li span.fs22 {
  font-size: max(1.92svw, 24.98px);
}

.idx_info ul.list li em {
  color: #00ade7;
}

.idx_info .btn {
  margin-top: max(1.929vw, 25px);
  margin-left: max(50.714vw, 659px);
}

.idx_info .btn a {
  padding-right: max(1.643vw, 21px);
  font-family: 'Times New Roman', Times, serif;
  font-size: max(1.191vw, 15px);
  font-weight: 400;
  font-style: italic;
  letter-spacing: .08em;
  background: url(../images/top/info_arrow.png) right center no-repeat;
  background-size: max(0.786vw, 10px) auto;
}

/*
  faculty
========================================================================== */
.faculty,
.faculty * {
  box-sizing: border-box;
}

/* --------------------------- top */
.faculty .top {
  padding: 3.13em 0 4.93em;
  background-image: url('../images/top/faculty_bg1.jpg');
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: cover;
}

.faculty .top .catch {
  margin: auto;
  padding: .2em .5em .1em;
  width: fit-content;
  color: #333;
  font-size: 240%;
  background-color: #fff;
}

.faculty .top h2 {
  margin-top: .52em;
  text-align: center;
  color: #333;
  font-size: 380%;
  line-height: 1.3;
}

.faculty .top h2 em {
  color: #1d84c5;
  font-size: 126%;
}

.faculty .top h2 i {
  font-size: 80%;
}

.faculty .top p {
  margin: 2.12em 0 0 4.24em;
  color: #4c4c4c;
  font-size: 2.2em;
  line-height: 1.7;
}

.faculty .top p em {
  color: #1d84c5;
}

/* --------------------------- middle */
.faculty .middle {
  padding: 3em 0 4.66em;
  background-color: #312411;
}

.faculty .middle p {
  text-align: center;
  color: #fff;
  font-size: 262%;
}

.faculty .middle p em {
  color: #e3c479;
  font-size: 130%;
}

.faculty .middle .img {
  margin-top: 3.33em;
  display: grid;
  grid-template-columns: 37.8em 37.8em;
  gap: 1.73em;
  justify-content: center;
}

/* --------------------------- bottom */
.faculty .bottom {
  padding: 3em;
  background-color: #efe1d3;
}

.faculty .bottom .inner {
  padding: 4em 4.66em 2.66em;
  background-image: url('../images/top/faculty_bg2.png');
  background-repeat: repeat;
  background-size: 1.07vw 1.07vw;
  box-shadow: 0 0 2.66vw 0 rgba(67, 67, 67, .15);
}

.faculty .bottom .inner .img {
  margin: 0 auto;
  width: 76.76em;
}

.faculty .bottom .inner .img img {
  aspect-ratio: 2303/1306;
}

.faculty .bottom .inner .lst {
  margin-top: 4.53em;
  color: #333;
  font-size: 125%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8em;
}

/*
  strong
========================================================================== */
.strong,
.strong * {
  box-sizing: border-box;
}

.strong {
  padding: 6em 2.66em 4em;
  background-color: #e5f2fc;
}

.strong h2 {
  margin: auto;
  width: 32.2em;
}

.strong h2 img {
  aspect-ratio: 968/295;
}

.strong .box-container {
  margin-top: 2.93em;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.86em;
}

.strong .box-container .box {
  padding: 2.14em;
  background-color: #006bb9;
  position: relative;
}

.strong .box-container .box1 {
  display: grid;
  grid-template-columns: 1fr 38.35em;
  gap: 3.85em;
}

.strong .box-container .box2 {
  padding: 2.14em 2.14em 3.73em;
}

.strong .box-container .box1 {
  grid-column: 1/3;
  grid-row: 1/2;
}

.strong .box-container .box .num {
  padding: 1.66em 0 0 1.86em;
  width: 12.33em;
  aspect-ratio: 1/1;
  color: #006bb9;
  line-height: 1;
  background-image: url('../images/top/strong_deco.png');
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.strong .box-container .box .num span {
  display: inline-block;
  width: fit-content;
  text-align: center;
  font-size: 204%;
}

.strong .box-container .box .num span i {
  font-size: 151%;
}

.strong .box-container .box h3 {
  margin-bottom: 2.16em;
  text-align: center;
  color: #ece6a2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0 2em;
}

.strong .box-container .box h3 span:nth-child(1) {
  font-size: 192%;
}

.strong .box-container .box h3 span:nth-child(2) {
  font-size: 433%;
}

.strong .box-container .box1 h3 span:nth-child(2) {
  font-size: 260%;
}

.strong .box-container .box1 h3 span:nth-child(2) i {
  font-size: 189%;
}

.strong .box-container .box p {
  color: #fff;
  font-size: 166%;
  line-height: 1.5;
}

.strong .box-container .box p em {
  color: #ece6a2;
}

.strong .box-container .box .img {
  margin: 3.2em 0;
}

.strong .box-container .box1 .img {
  margin: 0;
}

.strong .box-container .box .case {
  margin-top: 4.4em;
}

.strong .box-container .box .case1 {
  margin-top: 2.93em;
}

.strong .box-container .box .case h4 {
  padding-left: 8.13em;
  display: flex;
  align-items: center;
  gap: 0 1.46em;
}

.strong .box-container .box .case h4 span:nth-child(1) {
  width: 4.88em;
  height: 1.76em;
  text-align: center;
  color: #006bb9;
  font-size: 116%;
  background-color: rgba(255, 255, 255, .52);
  border-radius: 4px;
  display: grid;
  place-content: center;
}

.strong .box-container .box .case h4 span:nth-child(2) {
  color: #fff;
  font-size: 2.12em;
}

.strong .box-container .box .case img {
  margin-top: 1em;
}

.strong .box-container .box > h4 {
  margin: auto;
  width: fit-content;
  text-align: center;
  color: #fff;
  font-size: 200%;
  border-bottom: 1px solid #ece6a2;
}

.strong .box-container .box > h4 em {
  color: #ece6a2;
  font-size: 106%;
}

.strong .box-container .box .catch {
  margin-top: 1.45em;
  text-align: center;
  color: #ece6a2;
  font-size: 164%;
}

.strong .box-container .box ul {
  margin: 2.64em auto 0;
  width: fit-content;
}

.strong .box-container .box ul li {
  padding-left: 1em;
  color: #fff;
  font-size: 164%;
  background-image: url('../images/top/strong_check.png');
  background-repeat: no-repeat;
  background-position: 0 .2em;
  background-size: 0.95em auto;
}

.strong .box-container .box ul li:nth-child(3) {
  padding-left: 1.5em;
}

.strong .box-container .box ul li + li {
  margin-top: 0.75em;
}

/*
  05. staff
========================================================================== */
.idx_staff {
  padding: 7.6em 3.8em 3.2em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  background-image: url("../images/top/staff_bg.jpg");
  background-color: #1ab6eb;
}

.idx_staff::before {
  content: "";
  display: block;
  position: absolute;
  width: 13.46em;
  aspect-ratio: 202 / 217;
  left: 0;
  top: 41.3em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/top/staff_cnr.png");
}

.idx_staff .idx_ttl {
  width: 72.93em;
  margin: 0 auto 21em 0;
}

.idx_staff .idx_ttl img {
  aspect-ratio: 547/131;
}

.idx_staff .logo {
  position: absolute;
  width: 11em;
  top: 8.2em;
  right: 29.27em;
}

.idx_staff .logo img {
  aspect-ratio: 194/109;
}

.idx_staff .ccl {
  position: absolute;
  width: 41em;
  right: 0;
  top: 26.5em;
}

.idx_staff .ccl {
  aspect-ratio: 615 / 664;
}

.idx_staff .inr {
  margin: 0 0 3.4em 5em;
  color: #fff;
}

.idx_staff .inr em {
  color: #fff88f;
}

.idx_staff .lead {
  font-size: 277.8%;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  width: fit-content;
  margin: 0 0 0.4em;
}

.idx_staff .lead em {
  border-bottom: 1px solid #fff88f;
}

.idx_staff .desc {
  font-size: 166.6%;
  line-height: 1.7;
  margin: 0 0 0.3em;
}

.idx_staff .idx_lst {
  width: 51em;
  display: block;
}

.idx_staff .idx_lst li {
  padding-left: 2.125em;
  margin: 0 1.3em 0.5em 0;
  display: inline-block;
  font-size: 194.5%;
  background-size: 1.542em auto;
  background-position: 0 0;
  background-image: url("../images/top/staff_check.png");
}

.idx_staff .box {
  background-color: #fff;
  position: relative;
  z-index: 3;
  display: grid;
  gap: 1.33em;
  grid-template-columns: 30.3em 1fr;
  margin: 0 0 2.2em;
  padding: 3.5em 3.2em 3.2em;
  border-radius: 0.66em;
}

.idx_staff .box .fig {
  margin: -1.4em 0 0;
}

.idx_staff .box .fig2 {
  width: 18.93em;
  position: absolute;
  right: 2.66em;
  bottom: 3.2em;
}

.idx_staff .box .name {
  margin: 1.2em 0 1.2em;
}

.idx_staff .box .name span {
  font-size: 333.3%;
  letter-spacing: 0.04em;
}

.idx_staff .box .name i {
  font-size: 232%;
  color: #00ade7;
  font-family: 'Times New Roman', Times, serif;
  letter-spacing: 0.06em;
  margin-left: 0.5em;
}

.idx_staff .box .ttl {
  font-size: 158.8%;
}

.idx_staff .box .lst + .ttl {
  margin-top: 1em;
}

.idx_staff .box .lst {
  display: grid;
  gap: 0.5em;
}

.idx_staff .box .lst li {
  font-size: 138.8%;
  padding-left: 0.6em;
  position: relative;
  color: #2e2e2e;
}

.idx_staff .box .lst li::before {
  content: "";
  display: block;
  position: absolute;
  width: 0.2em;
  aspect-ratio: 1 / 1;
  left: 0;
  top: 0.75em;
  border-radius: 50%;
  background-color: #2e2e2e;
}

.idx_staff .box .certificate {
  grid-column: 1/3;
  grid-row: 2/3;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 1.33em;
}

/*
  06. difference
========================================================================== */
.idx_diff {
  margin: 0 0 4.2em;
  padding: 3.8em 3.8em 5.2em;
  background: repeating-linear-gradient(-45deg, #1ab6eb, #1ab6eb 0.6em, #41c2ee 0.6em, #41c2ee 1.2em);
}

.idx_diff::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1400 / 800;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/top/diff_bg.png");
}

.idx_diff .idx_ttl,
.idx_diff .en,
.idx_diff .inr {
  position: relative;
  z-index: 3;
}

.idx_diff .idx_ttl {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-feature-settings: initial;
  font-feature-settings: "vkrn";
  width: 100%;
  padding: 1.2em 4.4em 0;
  margin: 0 0 6em;
  color: #000000;
}

.idx_diff .idx_ttl span {
  display: block;
  letter-spacing: 0.1em;
  line-height: 1.4;
  font-size: 372.4%;
}

.idx_diff .idx_ttl span:nth-of-type(1) {
  background-color: #00ade7;
  color: #fff;
  font-size: 256%;
  padding: 1em 0.3em 1.5em;
  margin: -0.6em 0 0 0.3em;
}

.idx_diff .idx_ttl span:nth-of-type(2) i,
.idx_diff .idx_ttl span:nth-of-type(3) i {
  font-size: 77%;
}

.idx_diff .idx_ttl span:nth-of-type(4) {
  font-size: 608.8%;
  line-height: 1.1;
  letter-spacing: 0.08em;
}

.idx_diff .idx_ttl span:nth-of-type(4) i {
  font-size: 92%;
}

.idx_diff .en {
  position: absolute;
  top: 21.6em;
  left: 4em;
  width: 68.4em;
}

.idx_diff .en span {
  display: block;
}

.idx_diff .en img {
  aspect-ratio: 1027 / 171;
}

.idx_diff .en span:nth-of-type(2) {
  position: absolute;
  bottom: 0;
  left: 4.2em;
  aspect-ratio: 424 / 53;
  width: 28.26em;
  display: grid;
  align-items: center;
  text-align: center;
}

.idx_diff .en span:nth-of-type(2)::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform: skewX(-15deg);
  background: linear-gradient(to right, #7ad8cc 0, #32bbe8 100%);
}

.idx_diff .en span:nth-of-type(2) i {
  position: relative;
  z-index: 3;
  font-size: 268.3%;
  line-height: 1.4;
  color: #fff;
  display: block;
  padding: 0.1em 0 0;
}

/* --------------------------- inr */
.idx_diff .inr {
  background-color: #fff;
  padding: 3.8em 3.6em 4.2em;
  border-radius: 0.66em 0.66em 0 0;
}

.idx_diff .inr > .ttl {
  text-align: center;
  padding-left: 16em;
  margin: 0 0 3.8em;
  position: relative;
}

.idx_diff .inr > .ttl span {
  display: block;
  text-align: center;
  line-height: 1;
}

.idx_diff .inr > .ttl span:nth-of-type(1) {
  font-size: 471%;
}

.idx_diff .inr > .ttl span:nth-of-type(1) i {
  font-size: 89%;
}

.idx_diff .inr > .ttl span:nth-of-type(1) em {
  font-size: 122%;
  color: #00ade7;
  display: inline-block;
}

.idx_diff .inr > .ttl span:nth-of-type(1) em::first-letter {
  font-size: 136%;
}

.idx_diff .inr > .ttl span:nth-of-type(2) {
  font-size: 235.4%;
  margin: 0 auto;
  width: fit-content;
  border-bottom: 0.1em solid #00ade7;
}

.idx_diff .inr > .ttl span:nth-of-type(2) em {
  font-size: 125%;
}

.idx_diff .inr > .ttl span:nth-of-type(2) em i {
  font-size: 150%;
}

.idx_diff .inr > .ttl::before {
  content: "";
  display: block;
  position: absolute;
  width: 14.73em;
  aspect-ratio: 221 / 299;
  left: 3.6em;
  top: -6.3em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% 100%;
  background-image: url("../images/top/diff_woman.png");
}

.idx_diff .inr .graph {
  width: 72.4em;
  margin: 0 1.2em 2.8em auto;
}

.idx_diff .inr .graph img {
  aspect-ratio: 1086 / 311;
}

/* --------------------------- qa */
.idx_diff .inr .qa {
  margin: 0 0 4em;
  border-radius: 1.33em;
  background-color: #f8f8f8;
  padding: 4em 0 4.4em 7.4em;
}

.idx_diff .inr .qa * {
  font-weight: 700;
}

.idx_diff .inr .qa dt {
  padding-left: 7.4em;
  margin-bottom: 1.5em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 5.6em auto;
  background-image: url("../images/top/diff_qa_q.png");
}

.idx_diff .inr .qa dt span {
  font-size: 406%;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
}

.idx_diff .inr .qa dd {
  padding-left: 7.4em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 5.6em auto;
  background-image: url("../images/top/diff_qa_a.png");
}

.idx_diff .inr .qa dd > span {
  font-size: 233.6%;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
}

.idx_diff .inr .qa dd > span span {
  border-bottom: 0.1em solid #ea6e8f;
}

.idx_diff .inr .qa dd > span > i {
  font-size: 120%;
}

.idx_diff .inr .qa dd span em {
  font-size: 120%;
  color: #ea6e8f;
}

.idx_diff .inr .qa dd span em i {
  font-size: 109%;
}

.idx_diff .inr .kkm {
  border: 2px solid #a9a9a9;
  text-align: center;
  padding: 2.6em 0 1.6em;
  margin: 0 0 2.4em;
  position: relative;
}

.idx_diff .inr .kkm::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  width: 2.92em;
  bottom: -39.46em;
  left: calc((100% - 2.92em) / 2);
  aspect-ratio: 44 / 592;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url("../images/top/diff_cmp_arrow.png");
}

.idx_diff .inr .kkm span {
  display: block;
}

.idx_diff .inr .kkm span:nth-of-type(1) {
  font-size: 233.5%;
}

.idx_diff .inr .kkm span:nth-of-type(1) em {
  display: inline-block;
  padding: 0.1em 0.5em 0;
  color: #fff;
  line-height: 1.3;
}

.idx_diff .inr .kkm span:nth-of-type(1) em:nth-of-type(1) {
  background-color: #555555;
}

.idx_diff .inr .kkm span:nth-of-type(1) em:nth-of-type(2) {
  background-color: #00ade7;
}

.idx_diff .inr .kkm span:nth-of-type(2) {
  font-size: 300%;
}

.idx_diff .inr .kkm span:nth-of-type(2) em {
  font-size: 122%;
  color: #ea6e8f;
}

/* --------------------------- cmp */
.diff_compare {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 4em 3em 0;
  margin: 0 0 2.8em;
}

.diff_compare .cmp_fig {
  position: absolute;
  z-index: 3;
  width: 22.4em;
  top: 0;
  left: calc((100% - 22.4em) / 2);
  aspect-ratio: 336 / 224;
}

.diff_compare .cmp_sbj {
  font-size: 250%;
  color: #fff;
  padding: 0.3em 0 0.4em;
  letter-spacing: 0.06em;
  position: relative;
  margin: 0 0 2.5em;
  text-align: center;
}

.diff_compare .cmp_sbj::before {
  content: "";
  display: block;
  position: absolute;
  width: 1.46em;
  aspect-ratio: 55 / 31;
  background-color: #ccc;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  bottom: -1.4em;
}

.diff_compare .cmp_box:nth-of-type(1) .cmp_sbj::before {
  background-color: #555;
  left: 4.5em;
}

.diff_compare .cmp_box:nth-of-type(1) .cmp_sbj {
  background-color: #555;
  padding-right: 4.5em;
}

.diff_compare .cmp_box:nth-of-type(2) .cmp_sbj::before {
  background-color: #00ade7;
  right: 4.5em;
}

.diff_compare .cmp_box:nth-of-type(2) .cmp_sbj {
  background-color: #00ade7;
  padding-left: 4em;
}

.diff_compare .cmp_kkm {
  min-height: 17.46em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  margin: 0 0 4em;
}

.diff_compare .cmp_box:nth-of-type(1) .cmp_kkm {
  padding: 2em 1em 0 1.5em;
  background-image: url("../images/top/diff_cmp_01_bg.png");
}

.diff_compare .cmp_box:nth-of-type(2) .cmp_kkm {
  padding: 2em 1.5em 0 1em;
  background-image: url("../images/top/diff_cmp_02_bg.png");
}

.diff_compare .cmp_kkm p {
  background-color: #fff;
  border: 0.16em solid #ccc;
  text-align: center;
}

.diff_compare .cmp_kkm p * {
  font-weight: 500;
}

.diff_compare .cmp_box:nth-of-type(1) em {
  color: #2e2e2e;
}

.diff_compare .cmp_box:nth-of-type(1) p {
  border-color: #2e2e2e;
}

.diff_compare .cmp_box:nth-of-type(2) em {
  color: #00ade7;
}

.diff_compare .cmp_box:nth-of-type(2) p {
  border-color: #00ade7;
}

.diff_compare .cmp_kkm p:nth-of-type(1) {
  padding: 0.4em 0 0.6em;
}

.diff_compare .cmp_kkm p:nth-of-type(1) span {
  font-size: 194.6%;
}

.diff_compare .cmp_kkm p:nth-of-type(1) em {
  line-height: 1;
  font-size: 183.2%;
  display: inline-block;
  margin: 0 0.1em;
}

.diff_compare .cmp_kkm p:nth-of-type(1) em i {
  font-size: 122%;
}

.diff_compare .cmp_kkm p:nth-of-type(2) {
  margin-top: 1em;
  padding-left: 4em;
  background-repeat: no-repeat;
  background-position: 3.6em 50%;
  background-size: 9.4em auto;
  background-image: url("../images/top/diff_cmp_unit.png");
}

.diff_compare .cmp_kkm p:nth-of-type(2) span {
  font-size: 306%;
}

.diff_compare .cmp_kkm p:nth-of-type(2) em {
  font-size: 200%;
  font-family: "Jost";
  line-height: 1;
}

/* --------------------------- cmp */
.idx_diff .result {
  text-align: center;
}

.idx_diff .result * {
  font-weight: bold;
}

.idx_diff .result p:nth-of-type(1) {
  font-size: 233.5%;
}

.idx_diff .result p:nth-of-type(1) span {
  display: block;
}

.idx_diff .result p:nth-of-type(1) em {
  color: #00ade7;
  font-size: 128%;
}

.idx_diff .result p:nth-of-type(2) {
  font-size: 300%;
}

.idx_diff .result p:nth-of-type(2) span {
  font-size: 122%;
}

.idx_diff .result p:nth-of-type(2) span em {
  border-bottom: 0.1em solid #fff264;
}

.idx_diff .result p:nth-of-type(2) span em i {
  color: #ea6e8f;
}

/*
  07. case
========================================================================== */
.idx_case {
  position: relative;
  z-index: 3;
  background-color: #f8f8f8;
  border-radius: 0 0 0.66em 0.66em;
  padding: 3.8em 5.8em;
}

.idx_case .case_en {
  text-align: center;
  font-size: 166.6%;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #00ade7;
}

.idx_case .case_ttl {
  text-align: center;
  font-size: 388.8%;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.idx_case .case_note {
  text-align: center;
  font-size: 138.8%;
  letter-spacing: -0.06em;
  margin: 0 0 2.4em;
}

.idx_case .case_set {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6em;
}

.idx_case .case_box {
  background-color: #fff;
  padding: 1.8em 2em 2.4em;
  border-radius: 0.6em;
}

.idx_case .box_ttl {
  margin: 0 0 1.6em -2em;
  display: grid;
  grid-template-columns: 7em 1fr;
  gap: 1em;
}

.idx_case .box_ttl span:nth-of-type(1) {
  font-size: 134.8%;
  color: #fff;
  text-align: center;
  display: grid;
  place-content: center;
  background-color: #00ade7;
  position: relative;
}

.idx_case .box_ttl span:nth-of-type(1)::before {
  content: "";
  display: block;
  position: absolute;
  width: 0.6em;
  height: 100%;
  right: -1px;
  top: 0;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background-color: #fff;
}

.idx_case .box_ttl span:nth-of-type(2) {
  font-size: 194.4%;
  line-height: 1.3;
  display: flex;
  align-items: center;
}

.idx_case .box_ttl span:nth-of-type(2) i {
  font-size: 70%;
}

.idx_case .case_desc {
  font-size: 100%;
  margin-top: 0.7em;
  letter-spacing: -0.06em;
  width: 100%;
  box-sizing: border-box;
}

.idx_case .case_desc tr + tr th,
.idx_case .case_desc tr + tr td {
  border-top: 1px solid;
}

.idx_case .case_desc th {
  border-right: 1px solid;
  white-space: nowrap;
  padding: 0 0.5em 0.1em;
  text-align: center;
  vertical-align: middle;
}

.idx_case .case_desc td {
  padding: 0 0.5em 0.1em;
}

/*
  08. banner
========================================================================== */
.idx_bnr a {
  display: block;
  width: 78.4em;
  margin: 0 auto;
}

/* --------------------------- idx_bnr_01 */
.idx_bnr_01 {
  margin-bottom: 4.4em;
}

/* --------------------------- idx_bnr_02 */
.idx_bnr_02 {
  margin-bottom: 4em;
}

/* --------------------------- idx_bnr_03 */
.idx_bnr_03 {
  margin-bottom: 5em;
}

/*
  09. service
========================================================================== */
.idx_srvc {
  padding: 5em 4em 5.2em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/top/srvc_bg.png");
}

.idx_srvc .idx_ttl {
  margin: 0 0 3em;
  text-align: center;
}

.idx_srvc .idx_ttl * {
  font-weight: bold;
}

.idx_srvc .idx_ttl span {
  display: block;
}

.idx_srvc .idx_ttl span:nth-of-type(1) {
  line-height: 1.487;
  padding-top: 0.15em;
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: 35.4em auto;
  background-image: url("../images/top/srvc_ttl_bg.png");
}

.idx_srvc .idx_ttl span:nth-of-type(1) i {
  font-size: 277.8%;
  color: #fff;
}

.idx_srvc .idx_ttl span:nth-of-type(2) {
  font-size: 475%;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}

.idx_srvc .idx_ttl span:nth-of-type(2) em {
  color: #ea6e8f;
}

.idx_srvc_lst {
  position: relative;
  background-color: #fff;
  margin: 0 0 4em 16em;
  padding: 3em 3.6em 2.6em 19.8em;
}

.idx_srvc_lst::before {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 650 / 708;
  width: 43.3em;
  left: -20em;
  top: -1em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/top/srvc_ccl.png");
}

.idx_srvc_lst .box {
  display: grid;
  grid-template-columns: 1fr 10em;
  grid-template-rows: 1fr;
  place-items: center start;
}

.idx_srvc_lst .box:nth-of-type(1) {
  margin-left: 2em;
  gap: 0 1em;
}

.idx_srvc_lst .box:nth-of-type(2) {
  margin: 0.5em 0 0 5em;
  grid-template-columns: 1fr 10.53em;
}

.idx_srvc_lst .box:nth-of-type(1) .fig,
.idx_srvc_lst .box:nth-of-type(2) .fig {
  grid-row: 1 / 3;
  grid-column: 2 / 3;
}

.idx_srvc_lst .box:nth-of-type(3) {
  margin: 1em 0 0 5em;
  grid-template-columns: 1fr 9.93em;
  align-items: center;
}

.idx_srvc_lst .box:nth-of-type(4) {
  margin: 3em 0 0 0;
  grid-template-columns: 1fr 9.9em;
  align-items: center;
}

.idx_srvc_lst .box:nth-of-type(1) .fig {
  width: 9.4em;
}

.idx_srvc_lst .ttl {
  display: grid;
  grid-template-columns: 7em 1fr;
  border-bottom: 0.16em solid;
}

.idx_srvc_lst .box:nth-of-type(1) .ttl {
  color: #2acbf4;
  border-color: #2acbf4;
}

.idx_srvc_lst .box:nth-of-type(2) .ttl {
  color: #47bce8;
  font-size: 90%;
  border-color: #47bce8;
}

.idx_srvc_lst .box:nth-of-type(3) .ttl {
  color: #65c9c6;
  border-color: #65c9c6;
  padding-bottom: 1em;
}

.idx_srvc_lst .box:nth-of-type(4) .ttl {
  color: #59e4cf;
  border-color: #59e4cf;
  padding-bottom: 0.7em;
  width: fit-content;
}

.idx_srvc_lst .nbr {
  font-size: 500%;
  font-style: italic;
  line-height: 1;
}

.idx_srvc_lst .ttl p span {
  display: block;
  line-height: 1.2;
}

.idx_srvc_lst .ttl p span:nth-of-type(1) {
  font-size: 222.2%;
}

.idx_srvc_lst .ttl p span:nth-of-type(2) {
  font-size: 180%;
}

.idx_srvc_lst .ttl p span:nth-of-type(2) small {
  font-size: 0.84em;
}

.idx_srvc_lst .note {
  font-size: 138.8%;
  margin-left: 5em;
}

/* --------------------------- srvc_set */
.idx_srvc_set {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.2em;
}

.idx_srvc_set .box {
  position: relative;
  border-radius: 0.6em;
  background-color: #ccc;
  padding: 3em 3.8em 2.6em;
  min-height: 37.6em;
}

.idx_srvc_set .box::before,
.idx_srvc_set .box::after {
  content: "";
  display: block;
  position: absolute;
}

.idx_srvc_set .box::before {
  width: calc(100% - 2.4em);
  height: calc(100% - 2.4em);
  top: 1.2em;
  left: 1.2em;
  background-color: #fff;
  border-radius: 0.66em;
}

.idx_srvc_set .box::after {
  width: 12em;
  aspect-ratio: 1 / 1;
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  opacity: 0.2;
  border-radius: 0.66em 0 0 0;
  mix-blend-mode: multiply;
}

.idx_srvc_set .box:nth-of-type(1),
.idx_srvc_set .box:nth-of-type(1):after {
  background-color: #4cd7fa;
}

.idx_srvc_set .box:nth-of-type(2),
.idx_srvc_set .box:nth-of-type(2):after {
  background-color: #59c7ec;
}

.idx_srvc_set .box:nth-of-type(3),
.idx_srvc_set .box:nth-of-type(3):after {
  background-color: #65c9c6;
}

.idx_srvc_set .box:nth-of-type(4),
.idx_srvc_set .box:nth-of-type(4):after {
  background-color: #59e4cf;
}

.idx_srvc_set .ttl,
.idx_srvc_set .fig,
.idx_srvc_set .desc,
.idx_srvc_set .note {
  position: relative;
  z-index: 3;
}

.idx_srvc_set .ttl {
  display: grid;
  grid-template-columns: 6em 1fr;
  align-items: center;
  gap: 0;
  color: #333;
  margin: 0 0 1em;
}

.idx_srvc_set .box:nth-of-type(1) .ttl i,
.idx_srvc_set .box:nth-of-type(1) .ttl span:nth-of-type(1) {
  color: #4cd7fa;
}

.idx_srvc_set .box:nth-of-type(2) .ttl i,
.idx_srvc_set .box:nth-of-type(2) .ttl span:nth-of-type(1) {
  color: #47bce8;
}

.idx_srvc_set .box:nth-of-type(3) .ttl i,
.idx_srvc_set .box:nth-of-type(3) .ttl span:nth-of-type(1) {
  color: #65c9c6;
}

.idx_srvc_set .box:nth-of-type(4) .ttl i,
.idx_srvc_set .box:nth-of-type(4) .ttl span:nth-of-type(1) {
  color: #47dfc5;
}

.idx_srvc_set .ttl > i {
  display: block;
  font-size: 535%;
  line-height: 1;
  font-style: italic;
  grid-row: 1 / 3;
}

.idx_srvc_set .ttl span {
  display: block;
  line-height: 1;
}

.idx_srvc_set .ttl span i {
  font-size: 65%;
  vertical-align: top;
  line-height: 1;
  display: inline-block;
  margin-left: 0.2em;
}

.idx_srvc_set .ttl span:nth-of-type(1) {
  font-size: 174%;
}

.idx_srvc_set .ttl span:nth-of-type(2) {
  font-size: 185%;
  letter-spacing: 0.06em;
}

.idx_srvc_set .fig {
  margin: 0 0 1.2em;
}

.idx_srvc_set .desc {
  font-size: 133.8%;
}

.idx_srvc_set .desc em {
  color: #ea6e8f;
}

.idx_srvc_set .note {
  font-size: 111%;
  color: #999999;
}

/*
  10. price
========================================================================== */
.idx_prc {
  color: #333;
  margin: 0 0 4em;
  padding: 2.2em 3.8em 4.8em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/top/prc_bg.jpg");
}

.idx_prc .logo {
  width: 15.8em;
  margin: 0 auto;
}

.idx_prc .logo img {
  aspect-ratio: 202/113;
}

.idx_prc .idx_ttl {
  width: 63.73em;
  position: relative;
  margin: -0.5em auto 4.4em 0;
}

.idx_prc .idx_ttl span {
  position: absolute;
  font-size: 251.2%;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  right: 3.26em;
  top: 1.3em;
  letter-spacing: 0.1em;
}

.idx_prc .idx_ttl img {
  aspect-ratio: 956 / 217;
}

.idx_prc .idx_lead {
  position: absolute;
  top: 3em;
  right: 7em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-feature-settings: initial;
  font-feature-settings: "vkrn";
}

.idx_prc .idx_lead span {
  display: block;
  font-size: 388.8%;
  line-height: 1.2;
  letter-spacing: 0.2em;
}

.idx_prc .idx_lead span i {
  font-size: 124.5%;
}

.idx_prc .idx_lead span em {
  color: #00ade7;
}

.idx_prc .idx_inr {
  position: relative;
  border: 2.6em solid rgba(255, 255, 255, 0.5);
  background-color: rgba(255, 255, 255, 0.9);
  background-clip: padding-box;
  padding: 2em 6.4em 4.8em 21.8em;
  margin: 0 0 3.4em;
}

.idx_prc .idx_inr::before {
  content: "";
  display: block;
  position: absolute;
  width: 11.33em;
  aspect-ratio: 170 / 167;
  top: 0.9em;
  left: 0.9em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/top/prc_cnr.png");
}

.idx_prc .idx_inr .catch {
  top: 5em;
  left: 6.2em;
  position: absolute;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-feature-settings: initial;
  font-feature-settings: "vkrn";
  display: flex;
  flex-direction: column;
}

.idx_prc .idx_inr .catch > span {
  display: block;
  font-size: 335%;
  white-space: nowrap;
  letter-spacing: 0.1em;
  line-height: 1.2;
}

.idx_prc .idx_inr .catch > span:nth-of-type(2) {
  margin-top: auto;
  margin-bottom: 1em;
}

.idx_prc .idx_inr .catch > span em {
  color: #00ade7;
}

.idx_prc .idx_inr .catch > span i {
  font-size: 68.74%;
}

.idx_prc .idx_inr .catch > span .num {
  text-combine-upright: all;
  font-style: normal;
  vertical-align: 4px;
}

.idx_prc .prc_lst dl {
  min-height: 7em;
  display: grid;
  grid-template-columns: 18.2em 1fr;
  align-items: center;
  border-bottom: 1px solid #727272;
}

.idx_prc .prc_lst dl:last-of-type {
  border: 0 none;
}

.idx_prc .prc_lst dt {
  font-size: 194.5%;
}

.idx_prc .prc_lst dd {
  position: relative;
  padding-left: 1.6em;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}

.idx_prc .prc_lst dd::before {
  content: "";
  display: block;
  position: absolute;
  width: 0.93em;
  aspect-ratio: 14 / 16;
  left: 0;
  top: calc(50% - 0.55em);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background-color: #00ade7;
}

.idx_prc .prc_lst dd p:nth-of-type(1) {
  font-size: 239.26%;
}

.idx_prc .prc_lst dd p:nth-of-type(1) em {
  color: #00ade7;
}

.idx_prc .prc_lst dd p:nth-of-type(1) i {
  font-size: 174%;
}

.idx_prc .prc_lst dd p:nth-of-type(2) {
  font-size: 138.8%;
  margin-left: 1em;
}

.idx_prc .prc_lst dd p:nth-of-type(2) em {
  color: #ea6e8f;
}

.idx_prc .conclusion {
  text-align: center;
  position: relative;
  color: #fff;
  margin: 0 0 4em;
}

.idx_prc .conclusion::before {
  content: "";
  display: block;
  position: absolute;
  width: 3em;
  aspect-ratio: 44 / 25;
  left: calc((100% - 3em) / 2);
  bottom: -2.4em;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #fff88f;
}

.idx_prc .conclusion span {
  font-size: 253%;
}

.idx_prc .prc_type {
  width: 80em;
  margin: 0 auto 2.5em;
  display: grid;
  grid-template-columns: 60%;
  justify-content: center;
  gap: 0 1.2em;
}

.idx_prc .prc_type .box {
  position: relative;
  background-color: #fff;
  border-radius: 0.6em;
  overflow: hidden;
  padding: 2.8em 0 1.5em;
}

.idx_prc .prc_type .box::before {
  content: "";
  display: block;
  position: absolute;
  width: 8.93em;
  aspect-ratio: 1 / 1;
  left: 0;
  top: 0;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background-color: #00ade7;
  z-index: 0;
}

.idx_prc .prc_type .box .nbr,
.idx_prc .prc_type .box .ttl {
  position: relative;
  z-index: 3;
}

.idx_prc .prc_type .box .nbr {
  position: absolute;
  left: 1.2em;
  top: 0.8em;
  font-family: "Jost";
  color: #fff;
}

.idx_prc .prc_type .box .nbr i {
  display: block;
  line-height: 1.16;
  font-weight: 300;
}

.idx_prc .prc_type .box .nbr i:nth-of-type(1) {
  font-size: 112%;
  letter-spacing: 0.16em;
}

.idx_prc .prc_type .box .nbr i:nth-of-type(2) {
  font-size: 262.4%;
}

.idx_prc .prc_type .box .ttl {
  text-align: center;
  font-size: 222.2%;
  margin: 0 0 1em;
  line-height: 1.2;
}

.idx_prc .prc_type .box .fig {
  margin: 0 auto 0.8em;
  width: 22.66em;
}

.idx_prc .prc_type .box .fig img {
  aspect-ratio: 340 / 210;
}

.idx_prc .prc_type .box .desc {
  text-align: center;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 0.8em;
  position: relative;
}

.idx_prc .prc_type .box .desc em {
  font-size: 166%;
  color: #ea6e8f;
}

.idx_prc .prc_type .box .desc span:nth-of-type(1) {
  font-size: 160%;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}

.idx_prc .prc_type .box .desc span:nth-of-type(2) {
  font-size: 133.3%;
}

.idx_prc .prc_type .box .desc .note {
  position: absolute;
  bottom: 0;
  right: 0;
}

.idx_prc .payment {
  background-color: #00366a;
  padding: 2.4em;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1em;
}

.idx_prc .payment p {
  background-color: #fff;
  min-height: 8.2em;
  text-align: center;
  display: grid;
  align-items: center;
  align-content: center;
}

.idx_prc .payment p span {
  display: block;
}

.idx_prc .payment span:nth-of-type(1) {
  font-size: 138.8%;
}

.idx_prc .payment p:nth-of-type(1) span:nth-of-type(2) {
  width: 28.33em;
  margin: 0.5em auto 0;
}

.idx_prc .payment p:nth-of-type(1) span:nth-of-type(2) img {
  aspect-ratio: 425 / 46;
}

.idx_prc .payment p:nth-of-type(2) {
  padding-right: 4.6em;
  background-repeat: no-repeat;
  background-position: calc(100% - 2em) 50%;
  background-size: 6.13em auto;
  background-image: url("../images/top/prc_loan.png");
}

.idx_prc .payment p:nth-of-type(2) span:nth-of-type(2) {
  font-size: 154.6%;
}

.idx_prc .payment p:nth-of-type(2) span:nth-of-type(2) i {
  font-size: 106%;
}

.idx_prc .payment p:nth-of-type(2) span:nth-of-type(2) em {
  color: #ea6e8f;
}

.idx_prc .payment p:nth-of-type(2) span:nth-of-type(2) em i {
  font-size: 130%;
}

/*
  11. needs
========================================================================== */
.idx_needs {
  padding: 7.4em 4em 5.2em;
  background-color: #f8f8f8;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  background-image: url("../images/top/needs_bg.jpg");
  color: #333;
}

.idx_needs .idx_ttl {
  margin: 0 auto 10.2em 2.4em;
  width: 55.26em;
}

.idx_needs .idx_ttl span {
  display: block;
  text-align: center;
}

.idx_needs .idx_ttl span:nth-of-type(1) {
  line-height: 1;
  font-size: 166.6%;
  color: #00ade7;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 1em;
}

.idx_needs .idx_ttl img {
  aspect-ratio: 829 / 141;
}

.idx_needs .idx_desc {
  font-size: 111%;
  margin: 0 2.6em 3.2em;
}

.idx_needs .idx_sttl {
  text-align: center;
  font-size: 222.2%;
  color: #fff;
  background-color: #00ade7;
  margin: 0 0 1.9em;
}

.idx_needs .idx_inr + .idx_sttl {
  margin-top: 1.8em;
}

.idx_needs .idx_inr {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.8em 2.2em;
}

.idx_needs .idx_inr .box {
  position: relative;
  background-color: #fff;
  border-radius: 0.6em;
  box-shadow: 0.1em 0.1em 0.2em rgba(51, 51, 51, 0.15);
  padding: 2em 1.8em 2.4em;
}

.idx_needs .idx_inr .box::before {
  content: "";
  display: block;
  position: absolute;
  width: 1.33em;
  aspect-ratio: 1 / 1;
  bottom: 0.5em;
  right: 0.5em;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background-color: #00ade7;
}

.idx_needs .idx_inr .box .nbr {
  position: absolute;
  line-height: 1;
  font-size: 749%;
  font-family: 'Times New Roman', Times, serif;
  font-style: italic;
  color: rgba(68, 68, 68, 0.1);
  top: -0.4em;
  left: 0;
  letter-spacing: -0.06em;
}

.idx_needs .idx_inr .box .ttl {
  text-align: center;
  font-size: 194.4%;
  line-height: 1.1;
  margin: 0 0 0.5em;
  padding: 0 0 0.2em;
  border-bottom: 1px solid rgba(51, 51, 51, 0.3);
  letter-spacing: 0.06em;
  min-height: 2.4em;
  align-content: end;
}

.idx_needs .idx_inr .box .ttl em {
  color: #00ade7;
  font-size: 114.3%;
}

.idx_needs .idx_inr .box .fig {
  width: 20em;
  margin: 0 auto 1.2em;
}

.idx_needs .idx_inr .box .fig img {
  aspect-ratio: 300 / 200;
}

.idx_needs .idx_inr .box .desc {
  font-size: 111%;
  margin: 0 1.4em 0.8em;
  min-height: 3em;
}

.idx_needs .idx_inr .box .idx_lst {
  margin: 0 1.7em;
  background-color: #f3f9fd;
  padding: 1em;
}

.idx_needs .idx_inr .box .idx_lst li {
  padding-left: 1.2em;
  line-height: 1.2;
  font-size: 97.1%;
  background-position: 0 0.26em;
  background-image: url("../images/top/needs_check.png");
}

/*
  12. result
========================================================================== */
.idx_result {
  padding: 5em 0;
  background-color: #f2fbff;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto, cover;
  background-image: url("../images/top/result_header.jpg"), url("../images/top/result_bg.png");
}

.idx_result .idx_ttl {
  display: grid;
  align-items: center;
  text-align: center;
  width: 40.8em;
  aspect-ratio: 613 / 83;
  margin: 0 auto 1.6em 9.8em;
  padding: 0.4em 0 0;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  background-image: url("../images/top/result_ttl_bg.png");
}

.idx_result .idx_ttl span {
  font-size: 330%;
  color: #fff;
  line-height: 1;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
}

.idx_result .idx_lead {
  width: fit-content;
  margin: 0 auto 3.2em 7.8em;
}

.idx_result .idx_lead span {
  display: block;
  text-align: center;
  font-size: 416.6%;
  color: #007399;
  line-height: 1.2;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
}

.idx_result .result_lst {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 3.6em;
  margin: 0 6.2em 2em;
}

.idx_result .result_lst li {
  padding: 0.4em 0 0;
  font-size: 194.46%;
  aspect-ratio: 368 / 140;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% 100%;
  background-image: url("../images/top/result_lst_bg.png");
}

.idx_result .result_lst li span {
  display: block;
  line-height: 1.3;
  font-weight: 500;
}

.idx_result .result_lst li:nth-of-type(1) p,
.idx_result .result_lst li:nth-of-type(2) p {
  width: fit-content;
  margin: 0 auto;
}

.idx_result .result_lst li:nth-of-type(1) span:nth-of-type(2),
.idx_result .result_lst li:nth-of-type(2) p span:nth-of-type(2) {
  margin-left: 1em;
}

.idx_result .result_lst li:nth-of-type(3) {
  text-align: center;
}

.idx_result .result_arrow {
  margin: 0 6.2em 2.9em;
  padding: 1.6em 0;
  background-color: #333333;
  text-align: center;
  position: relative;
  border-radius: 0.66em;
}

.idx_result .result_arrow::before {
  content: "";
  display: block;
  position: absolute;
  width: 2.4em;
  aspect-ratio: 18 / 12;
  left: calc((100% - 2.4em) / 2);
  bottom: -1.2em;
  background-color: inherit;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.idx_result .result_arrow * {
  font-weight: 500;
}

.idx_result .result_arrow span {
  font-size: 253%;
  color: #fff;
}

.idx_result .result_arrow em {
  color: #fff08b;
  padding-top: 0.2em;
  background: top left / 1em 0.3em repeat-x radial-gradient(circle, #fff08b 0.1em, rgba(0, 0, 0, 0) 0.1em);
}

.idx_result .idx_inr {
  margin: 0 6.2em 1.4em;
  padding: 2.2em 0 3.2em;
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr 45.3em;
  grid-template-rows: max-content max-content max-content max-content 1fr;
  border-radius: 0.66em;
}

.idx_result .idx_inr .ttl {
  grid-column: 1 / 3;
  font-size: 333%;
  text-align: center;
  color: #00ade7;
  font-weight: 500;
  margin: 0 0 0.2em;
}

.idx_result .idx_inr .lead {
  grid-column: 1 / 3;
  font-size: 166.6%;
  text-align: center;
  margin: 0 0 2em;
}

.idx_result .idx_inr .lead em {
  font-size: 116.6%;
  color: #fff;
  background-color: #13baff;
  display: inline-block;
  vertical-align: middle;
  padding: 0 0.5em 0.16em;
  line-height: 1.3;
  margin: 0 0.4em;
}

.idx_result .idx_inr .lead i {
  font-size: 120%;
  display: inline-block;
  margin: 0 -0.5em;
}

.idx_result .idx_inr .fig {
  grid-row: 3 / 6;
  width: 27.66em;
  margin-left: 2em;
}

.idx_result .idx_inr .fig img {
  aspect-ratio: 415 / 379;
}

.idx_result .idx_inr .catch {
  margin: 0 3.8em 1em 0;
  padding: 1em 0 1.5em;
  background-color: #f3f9fd;
}

.idx_result .idx_inr .catch * {
  font-weight: 500;
}

.idx_result .idx_inr .catch span {
  display: block;
  width: fit-content;
  margin: 0 auto;
}

.idx_result .idx_inr .catch span i {
  display: block;
  font-size: 243%;
  line-height: 1.3;
}

.idx_result .idx_inr .catch span em {
  background-color: #00ade7;
  color: #fff;
  display: inline-block;
  margin: 0 0.3em;
  font-size: 102.6%;
  line-height: 1;
  padding: 0.2em 0.3em 0.4em;
  text-shadow: 2px 0 0 #333, 0 2px 0 #333, -2px 0 0 #333, 0 -2px 0 #333;
}

.idx_result .idx_inr .desc {
  font-size: 138.9%;
  margin: 0 2.7em 0.5em 0;
  line-height: 1.8;
  letter-spacing: 0.02em;
}

.idx_result .idx_inr .desc em {
  color: #00ade7;
}

.idx_result .idx_inr .note {
  text-align: right;
  font-size: 125%;
  font-weight: 300;
  margin-right: 2.5em;
}

.idx_result .type {
  margin: 0 6.2em 4.2em;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1em;
}

.idx_result .type a {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}

.idx_result .type .box {
  background-color: #fff;
  border-radius: 0.66em;
  overflow: hidden;
  padding: 0 0 2em;
  display: inherit;
  grid-template-rows: inherit;
  grid-row: inherit;
  gap: 0;
}

.idx_result .type .box .ttl {
  background-color: #00ade7;
  color: #fff;
  text-align: center;
  font-size: 194.4%;
  padding: 0.4em 0;
  margin: 0 0 0.72em;
}

.idx_result .type .box .fig {
  margin: 0 auto 1em;
  width: 22.2em;
  display: grid;
  place-content: center;
}

.idx_result .type .box .desc {
  font-size: 138.8%;
  margin: 0 2.5em;
}

/*
  13. Re-correction
========================================================================== */
.idx_recorr {
  margin: 0 6.2em;
  padding: 3.4em 0 0;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  background-image: url("../images/top/recorr_bg.png");
}

.idx_recorr .recorr_lst {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  gap: 0 1.2em;
  margin: 0 8.4em 18em 9.2em;
}

.idx_recorr .recorr_lst li {
  padding-top: 1em;
}

.idx_recorr .recorr_lst li span {
  display: block;
  width: fit-content;
  margin: 0 auto;
}

.idx_recorr .recorr_lst li i + i {
  padding-left: 1em;
}

.idx_recorr .recorr_lst li i {
  display: block;
  font-size: 194.4%;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.idx_recorr .lead {
  margin: 0 6.2em 3.4em;
  padding: 1.6em 0;
  background-color: #333333;
  text-align: center;
  position: relative;
  border-radius: 0.66em;
}

.idx_recorr .lead::before {
  content: "";
  display: block;
  position: absolute;
  width: 2.4em;
  aspect-ratio: 18 / 12;
  left: calc((100% - 2.4em) / 2);
  bottom: -1.2em;
  background-color: inherit;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.idx_recorr .lead span {
  font-size: 253%;
  color: #fff;
}

.idx_recorr .lead span em {
  color: #fff08b;
}

.idx_recorr .inr {
  background-color: #fff;
  padding: 2em 2.6em 3em;
  margin: 0 auto;
  width: 80em;
  border-radius: 0.6em;
}

.idx_recorr .inr .ttl {
  text-align: center;
  margin: 0 0 3.5em;
}

.idx_recorr .inr .ttl * {
  font-weight: 500;
}

.idx_recorr .inr .ttl span {
  display: block;
}

.idx_recorr .inr .ttl span:nth-of-type(1) {
  font-size: 333.3%;
  color: #00ade7;
}

.idx_recorr .inr .ttl span:nth-of-type(2) {
  font-size: 194.4%;
}

.idx_recorr .inr .ttl span:nth-of-type(2) em {
  font-size: 151.8%;
  color: #00ade7;
}

.idx_recorr .inr .ttl span:nth-of-type(2) i {
  display: inline-block;
  margin: 0 -0.5em;
}

.idx_recorr .inr .box {
  position: relative;
  margin: 0 0 2.4em;
  padding: 2.9em 0 2.2em;
  border: 0.3em solid #ea6e8f;
}

.idx_recorr .inr .box h4 {
  text-align: center;
  position: absolute;
  left: 0;
  top: -1.6em;
  width: 100%;
}

.idx_recorr .inr .box h4 span {
  display: inline-block;
  font-size: 166.6%;
  font-weight: 500;
  color: #fff;
  background-color: #ea6e8f;
  padding: 0.15em 0 0.25em;
  width: 14.24em;
}

.idx_recorr .inr .box ul {
  width: fit-content;
  margin: 0 auto;
  display: grid;
  gap: 0.7em 0;
}

.idx_recorr .inr .box ul * {
  font-weight: bold;
}

.idx_recorr .inr .box li {
  font-size: 194%;
  padding-left: 2em;
  min-height: 1.5em;
  background-repeat: no-repeat;
  background-position: 0 50%;
  background-size: 1.5em auto;
  background-image: url("../images/top/recorr_check.png");
}

.idx_recorr .inr .box li em {
  color: #ea6e8f;
}

.idx_recorr .inr .box p {
  text-align: center;
  position: absolute;
  left: 0;
  bottom: -1.6em;
  width: 100%;
}

.idx_recorr .inr .box p span {
  display: inline-block;
  font-size: 166.6%;
  font-weight: 500;
  color: #333;
  background-color: #fff;
  padding: 0.2em;
  width: 19.2em;
}

.idx_recorr .inr .desc {
  position: relative;
  background-color: #f3f9fd;
  color: #333333;
  font-size: 138.8%;
  padding: 1.5em;
}

.idx_recorr .inr .desc::before {
  content: "";
  display: block;
  position: absolute;
  width: 1.92em;
  aspect-ratio: 44 / 25;
  left: calc((100% - 1.92em) / 2);
  top: -0.4em;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #ea6e8f;
}

.idx_recorr .inr .desc i {
  font-weight: 500;
}

.idx_recorr .inr .desc em {
  color: #ea6e8f;
}

/*
  14. counseling
========================================================================== */
.idx_counsel a {
  display: block;
  margin: 0 0 6em;
  padding: 5.2em 6.6em 5.2em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/top/counsel_bg.jpg");
  color: #333;
}

.idx_counsel .en {
  text-align: center;
  font-size: 166%;
  color: #00ade7;
  letter-spacing: 0.1em;
}

.idx_counsel .idx_ttl {
  font-size: 389%;
  text-align: center;
  margin: 0 0 0.8em;
  font-feature-settings: "palt";
  font-weight: bold;
  line-height: 1.3;
}

.idx_counsel .idx_inr {
  border-radius: 0.66em;
  overflow: hidden;
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr 40em;
  align-items: center;
}

.idx_counsel .desc {
  display: grid;
  gap: 2.6em 0;
  padding: 0 0 0 6em;
}

.idx_counsel .desc p {
  font-size: 138.8%;
  font-feature-settings: "palt";
}

.idx_counsel .desc p em {
  color: #ea6e8f;
}

/*
  15. message
========================================================================== */
.idx_msg {
  margin: 0 3.8em 5.4em 2.6em;
  padding: 2.6em 49em 4em 3.6em;
  color: #333333;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/top/msg_bg.jpg");
}

.idx_msg::before {
  content: "";
  display: block;
  position: absolute;
  pointer-events: none;
  top: -1em;
  left: 1em;
  width: calc(100% - 2em);
  height: 100%;
  border: 1px solid #a6a6a6;
  mix-blend-mode: multiply;
}

.idx_msg .en {
  background-color: #fff;
  color: #a6a6a6;
  font-size: 194.4%;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 0 0.3em;
  position: absolute;
  top: -1em;
  left: 2em;
}

.idx_msg .idx_ttl {
  font-size: 194.4%;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  margin: 0 0 1em;
}

.idx_msg .idx_ttl span {
  font-size: 128.5%;
}

.idx_msg .idx_ttl span i {
  font-size: 144.4%;
}

.idx_msg .idx_ttl em {
  font-size: 114.3%;
  color: #00ade7;
  border-bottom: 2px solid #00ade7;
}

.idx_msg .desc {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.2em 0;
  margin: 0 0 2em;
}

.idx_msg .desc p {
  font-size: 138.8%;
  line-height: 1.4;
}

.idx_msg .desc em {
  color: #00ade7;
}

.idx_msg .signature {
  text-align: right;
  letter-spacing: 0.1em;
}

.idx_msg .signature span {
  display: inline-block;
  font-size: 152.8%;
  border-bottom: 1px solid #333;
}

.idx_msg .signature i {
  font-size: 72%;
}

/*
  16. photo gallery
========================================================================== */
.idx_gallery {
  margin: 0 0 4.2em;
  padding: 5em 0 5.2em;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  background-image: url("../images/top/gallery_bg.jpg");
}

.idx_gallery .idx_ttl {
  font-size: 166%;
  text-align: center;
  color: #00ade7;
  margin: 0 auto 1.6em;
  line-height: 1;
  letter-spacing: 0.1em;
}

/* ---------------------------------- slider */
.idx_gallery_fig {
  position: relative;
  width: 73.33em;
  margin: 0 auto 6.6em;
}

.idx_gallery_fig .idx_gallery_slider {
  margin-bottom: 0 !important;
}

.idx_gallery_fig .idx_gallery_slider img {
  aspect-ratio: 1100 / 660;
}

/* ---------------------------------- dot */
.idx_gallery_fig .slick-dots {
  position: absolute;
  width: 100%;
  bottom: -4em;
  right: 0;
  margin: 0;
  padding: 0;
  text-align: center;
}

.idx_gallery_fig .slick-dots li {
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  margin: 0 0.8em;
  padding: 0;
}

.idx_gallery_fig .slick-dots li button:before {
  font-size: max(calc((11 / 1400) * 100vw), calc(13px * 0.97));
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: 50% auto;
  background-position: 50% 0;
  background-image: url("../images/top/gallery_dot.png");
  opacity: 1;
  color: transparent;
}

.idx_gallery_fig .slick-dots li.slick-active button:before {
  background-image: url("../images/top/gallery_dot_act.png");
}

/* ---------------------------------- thumbnail */
.idx_gallery_thumb {
  overflow: hidden;
  width: 65.8em;
  position: relative;
  margin: 0 auto;
}

.idx_gallery_thumb .slick-list {
  width: 138.8em !important;
  left: -2em;
}

.idx_gallery_thumb .slick-track {
  transform: unset !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between;
}

.idx_gallery_thumb_box {
  width: 15.33em !important;
  cursor: pointer;
}

.idx_gallery_thumb_box img {
  opacity: 1;
  transition: 0.3s;
  aspect-ratio: 230 / 160;
}

.idx_gallery_thumb .slick-current img {
  opacity: 1;
}

/*
  17. seo
========================================================================== */
.idx_seo {
  margin: 0 4.4em 5.4em;
}

.idx_seo p {
  font-size: 111%;
  color: #333333;
}
