@charset "UTF-8";

body {
  font-family: "Noto Sans JP", sans-serif;
}

/* font-weight */
.u-pc {
  display: none;
}

@media screen and (min-width: 768px) {
  .u-pc {
    display: block;
  }
}

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

/* リキッドレイアウト対応 */
html {
  font-size: 16px;
}

@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

@media screen and (min-width: 768px) {
  html {
    font-size: 1.3333333333vw;
  }
}

@media (min-width: 1200px) {
  html {
    font-size: 16px;
  }
}

/* pcの電話番号発信対応 */
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* ホバー */
a {
  color: inherit;
  text-decoration: none;
  transition: opacity .3s;

  -webkit-transition: opacity .3s;
}

@media screen and (min-width: 768px) {
  a:hover {
    opacity: .8;
  }
}

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

  -webkit-box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;

  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
}

/* Natural flow and rhythm in articles by default */
article>*+* {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url("data:image/svg+xml;charset=utf-8,<svg xmlns=\"http://www.w3.org/2000/svg\"><filter id=\"filter\"><feGaussianBlur stdDeviation=\"10\" /></filter></svg>#filter");
  filter: blur(10px);

  -webkit-filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  appearance: none;
  outline: none;
  border: none;
  border-radius: 0;
  background: transparent;
  font: inherit;

  -webkit-appearance: none;
  -moz-appearance: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.c-cvButtonPC {
  position: fixed;
  right: 0;
  bottom: 64px;
  bottom: 4rem;
  z-index: 99;
}

.c-cvButtonPC__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 8px;
  gap: .5rem;

  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
}

.c-cvButtonPC__item.c-requestButton {
  flex-direction: column;
  gap: 15px;
  gap: .9375rem;
  padding: 19px 10px;
  padding: 1.1875rem .625rem;
  min-width: 120px;
  min-width: 7.5rem;
  border-right: none;
  border-radius: .5rem 0 0 .5rem;
  text-align: center;

  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
}

.c-cvButtonPC__item.c-requestButton:hover {
  opacity: .8;
  transform: none;

  -webkit-transform: none;
}

.c-cvButtonPC__item.c-requestButton--dark {
  border: 1px solid #fff;
}

.c-cvButtonPC__item .c-requestButton__icon {
  width: 21px;
  width: 1.3125rem;
  height: 21px;
  height: 1.3125rem;
}

.c-cvButtonPC__item .c-requestButton__text {
  font-size: 13px;
  font-size: .8125rem;
  line-height: 1.4;
}

.c-cvButtonSP {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99;
  background-color: #d9d9d9;
}

.c-cvButtonSP__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 4px;
  gap: .25rem;
  justify-content: center;
  padding: 8px;
  padding: .5rem;

  -webkit-box-align: center;
  -webkit-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-pack: center;
}

.c-cvButtonSP__item.c-requestButton {
  gap: 6px;
  gap: .375rem;
  padding: 10px;
  padding: .625rem;
  max-width: 172px;
  max-width: 10.75rem;
  border-radius: .125rem;
}

.c-cvButtonSP__item.c-requestButton--dark {
  max-width: 183px;
  max-width: 11.4375rem;
}

.c-cvButtonSP__item .c-requestButton__icon {
  width: 14px;
  width: .875rem;
  height: 14px;
  height: .875rem;
}

.c-cvButtonSP__item .c-requestButton__text {
  font-size: 13px;
  font-size: .8125rem;
  line-height: 1.231;
}

.c-requestButton {
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 8px;
  gap: .5rem;
  justify-content: center;
  padding: 24px;
  padding: 1.5rem;
  max-width: 300px;
  max-width: 18.75rem;
  width: 100%;
  border: 1px solid #023451;
  border-radius: 100vmax;
  transition: .5s;

  -webkit-box-align: center;
  -webkit-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-pack: center;
  -webkit-transition: .5s;
}

@media screen and (min-width: 768px) {
  .c-requestButton {
    gap: .625rem;
    max-width: 24.375rem;
    cursor: pointer;
  }
}

.c-requestButton:hover {
  opacity: 1;
  transform: scale(1.1);

  -webkit-transform: scale(1.1);
}

.c-requestButton__icon {
  content: "";
  display: inline-block;
  width: 17px;
  width: 1.0625rem;
  height: 17px;
  height: 1.0625rem;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .c-requestButton__icon {
    width: 1.3125rem;
    height: 1.3125rem;
  }
}

.c-requestButton__text {
  font-weight: 500;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.313;
}

@media screen and (min-width: 768px) {
  .c-requestButton__text {
    font-size: 1.25rem;
  }
}

.c-requestButton--light {
  border: 1px solid #023451;
  background-color: #fff;
}

.c-requestButton--light .c-requestButton__icon {
  background-image: url("../images/common/button_icon_01.svg");
}

.c-requestButton--light .c-requestButton__text {
  color: #023451;
}

.c-requestButton--dark {
  border: 1px solid #023451;
  background-color: #023451;
}

.c-requestButton--cata {
  background-color: #fff;
}

.c-requestButton--dark .c-requestButton__icon {
  background-image: url("../images/common/button_icon_02.svg");
}

.c-requestButton--dark .c-requestButton__text {
  color: #fff;
}

.c-requestButton--cata .c-requestButton__icon {
  background-image: url("../images/common/button_icon_03.svg");
  background-position: center;
}

.c-requestButton--cata .c-requestButton__text {
  color: #023451;
}

.c-sectionTitle {
  text-align: center;
}

.c-sectionTitle__titleEn {
  color: #a49265;
  letter-spacing: .1em;
  font-weight: 400;
  font-size: 24px;
  font-size: 1.5rem;
  font-family: "Jost", sans-serif;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .c-sectionTitle__titleEn {
    font-size: 2rem;
  }
}

.c-sectionTitle__titleJp {
  margin-top: 24px;
  margin-top: 1.5rem;
  color: #023451;
  letter-spacing: .2em;
  font-weight: 500;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .c-sectionTitle__titleJp {
    font-size: 3.5rem;
  }
}

.c-sectionTitle__text {
  margin-top: 24px;
  margin-top: 1.5rem;
  color: #1a1a1a;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .c-sectionTitle__text {
    font-size: .75rem;
  }
}

.fadeUp {
  opacity: 0;
  animation-name: fadeUpAnime;
  animation-duration: 2s;
  animation-fill-mode: forwards;

  -webkit-animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
  -webkit-animation-name: fadeUpAnime;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);

    -webkit-transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);

    -webkit-transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);

    -webkit-transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);

    -webkit-transform: translateY(0);
  }
}

.footer {
  margin-bottom: 54px;
  margin-bottom: 3.375rem;
  background-color: #f7f7f5;
}

@media screen and (min-width: 768px) {
  .footer {
    margin-bottom: 0;
  }
}

.footer__inner {
  margin: 0 auto;
  padding: 0 20px 35px;
  padding: 0 1.25rem 2.1875rem;
  max-width: 100%;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .footer__inner {
    padding: 0 1.25rem 2.5rem;
  }
}

.footer__copy {
  text-align: center;
}

.footer__copyText {
  color: #023451;
  font-weight: 400;
  font-size: 12px;
}

.header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: 10.66667vw;
}

@media screen and (min-width: 768px) {
  .header {
    height: 5rem;
  }
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 5.33333vw;
  max-width: 100%;
  width: 100%;
  height: inherit;

  -webkit-box-align: center;
  -webkit-box-pack: justify;
  -ms-flex-align: center;
  -ms-flex-pack: justify;
}

@media screen and (min-width: 768px) {
  .header__inner {
    padding-left: 2.5rem;
  }
}

.header__logoWrapper {
  position: relative;
  top: 20px;
  top: 1.25rem;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .header__logoWrapper {
    top: 1rem;
  }
}

.header__logo {
  max-width: 24.8vw;
  aspect-ratio: 93/32;
}

@media screen and (min-width: 768px) {
  .header__logo {
    max-width: 7.25rem;
  }
}

.inner {
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .inner {
    padding-right: 25px;
    padding-left: 25px;
    max-width: 1250px;
  }
}

.js-scroll-top {
  visibility: hidden;
  opacity: 0;
  transition: opacity 1s;

  -webkit-transition: opacity 1s;
}

.js-scroll-top.is-fadein {
  visibility: visible;
  opacity: 1;
}

.pageTop {
  position: fixed;
  right: 5.33333vw;
  bottom: 18.66667vw;
  z-index: 9;
  padding: 6.66667vw;
  border-radius: 50%;
  background-color: #023451;
  color: #fff;
  cursor: pointer;
  transition: all .2s ease-in-out;

  -webkit-transition: all .2s ease-in-out;
}

@media screen and (min-width: 768px) {
  .pageTop {
    right: 8.125rem;
    bottom: 1.25rem;
    padding: 1.875rem;
  }
}

.pageTop:hover {
  background-color: #a49265;
}

.pageTop::before {
  content: "";
  position: absolute;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4.26667vw;
  height: 4.26667vw;
  border-top: solid .8vw #fff;
  border-right: solid .8vw #fff;
  transform: translate(-50%, -50%) rotate(-45deg);

  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .pageTop::before {
    width: 1rem;
    height: 1rem;
    border-top: solid .1875rem #fff;
    border-right: solid .1875rem #fff;
  }
}

.about {
  background-color: #f7f7f5;
}

.about__inner {
  position: relative;
  padding-top: 40px;
  padding-top: 2.5rem;
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
  max-width: 375px;
  max-width: 23.4375rem;
}

@media screen and (min-width: 768px) {
  .about__inner {
    padding-top: 6rem;
    padding-bottom: 3rem;
    max-width: 78.125rem;
  }
}

.about__title {
  color: #023451;
  letter-spacing: .09em;
  font-weight: 500;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .about__title {
    letter-spacing: .1em;
    font-size: 2.5rem;
  }
}

.about__textWrapper {
  margin-top: 32px;
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .about__textWrapper {
    margin-top: 3rem;
  }
}

.about__text {
  color: #1a1a1a;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .about__text {
    letter-spacing: -.02em;
    font-size: 1.125rem;
    line-height: 2.35;
  }
}

.about__imgWrapper {
  position: absolute;
  top: 740px;
  /* top: 46.25rem; */
  top: 44.25rem;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .about__imgWrapper {
    top: 28.75vw;
    right: 2.5rem;
  }
}

@media screen and (min-width: 1360px) {
  .about__imgWrapper {
    top: 25.875rem;
    right: -3.125rem;
  }
}

.about__img {
  max-width: 365px;
  max-width: 22.8125rem;
  aspect-ratio: 725/375;
}

@media screen and (min-width: 768px) {
  .about__img {
    max-width: 50.34722vw;

    margin-inline: 0;
  }
}

@media screen and (min-width: 1441px) {
  .about__img {
    max-width: 45.3125rem;
  }
}

.about__slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  margin: 12.8125rem calc(50% - 50vw) 0;
  width: 100vw;
}

@media screen and (min-width: 768px) {
  .about__slider {
    margin: 7.5rem calc(50% - 50vw) 0;
  }
}

.about__sliderItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  gap: 1.25rem;
  animation: loop-list 100s linear infinite;

  -webkit-animation: loop-list 100s linear infinite;
}

.about__sliderItem:last-of-type {
  margin-right: 20px;
  margin-right: 1.25rem;
}

.about__sliderItem img {
  min-width: 240px;
  min-width: 15rem;
  aspect-ratio: 240/360;
}

@media screen and (min-width: 768px) {
  .about__sliderItem img {
    min-width: 25rem;
    aspect-ratio: 400/540;
  }
}

@-webkit-keyframes loop-list {
  from {
    transform: translateX(0);

    -webkit-transform: translateX(0);
  }

  to {
    transform: translateX(-100%);

    -webkit-transform: translateX(-100%);
  }
}

@keyframes loop-list {
  from {
    transform: translateX(0);

    -webkit-transform: translateX(0);
  }

  to {
    transform: translateX(-100%);

    -webkit-transform: translateX(-100%);
  }
}

.about__anchorLink {
  margin-top: 48px;
  margin-top: 3rem;
  background: url("../images/common/cross.svg") no-repeat center center/cover;
}

@media screen and (min-width: 768px) {
  .about__anchorLink {
    margin-top: 4rem;
    background: none;
  }
}

.about__anchorLinkItems {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.9375rem;

  -webkit-column-gap: 1.9375rem;
  -moz-column-gap: 1.9375rem;
  row-gap: 20px;
  row-gap: 1.25rem;
}

@media screen and (min-width: 768px) {
  .about__anchorLinkItems {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 70.3125rem;
    column-gap: 0;

    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    margin-inline: auto;
    row-gap: 0;
  }
}

@media screen and (min-width: 768px) {
  .about__anchorLinkItem:nth-of-type(-n+3)::after {
    content: "";
    position: absolute;
    top: 0;
    right: -1.875rem;
    display: inline-block;
    width: 2.5625rem;
    height: 4.4375rem;
    background-image: url("../images/common/slash_single.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
  }
}

.about__anchorLinkItem {
  padding-bottom: 21px;
  padding-bottom: 1.3125rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .about__anchorLinkItem {
    position: relative;
    padding-bottom: .5625rem;
  }
}

.about__anchorLinkItem a {
  display: block;
}

.about__anchorLinkItemEnTitle {
  color: #a49265;
  letter-spacing: .1em;
  font-weight: 400;
  font-size: 14px;
  font-size: .875rem;
  font-family: "Jost", sans-serif;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .about__anchorLinkItemEnTitle {
    font-size: 1rem;
  }
}

.about__anchorLinkItemTitle {
  margin-top: 8px;
  margin-top: .5rem;
  color: #023451;
  letter-spacing: .2em;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .about__anchorLinkItemTitle {
    font-size: 1.125rem;
  }
}

.about__anchorLinkItemIcon {
  content: "";
  display: block;
  margin-top: 15px;
  margin-top: .9375rem;
  width: 10px;
  width: .625rem;
  height: 6px;
  height: .375rem;
  background-image: url("../images/common/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  transition: ease .3s;

  margin-inline: auto;
  -webkit-transition: ease .3s;
}

@media screen and (min-width: 768px) {
  .about__anchorLinkItemIcon {
    margin-top: 1rem;
    width: .75rem;
    height: .4375rem;
  }
}

.js-aboutFadeUp {
  visibility: hidden;
  opacity: 0;
  transition: opacity 7s, visibility 7s, -webkit-transform 4s;
  transition: opacity 7s, visibility 7s, transform 4s;
  transition: opacity 7s, visibility 7s, transform 4s, -webkit-transform 4s;
  transform: translateY(200px);

  -webkit-transform: translateY(200px);
  -webkit-transition: opacity 7s, visibility 7s, -webkit-transform 4s;
}

.js-aboutFadeUp.load {
  visibility: visible;
  opacity: 1;
  transform: translateY(0px);

  -webkit-transform: translateY(0px);
}

.fv {
  position: relative;
}

.fv::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: url("../images/common/fv_sp.png") no-repeat center center/cover;
}

@media screen and (min-width: 768px) {
  .fv::before {
    background: url("../images/common/fv_pc.png") no-repeat center center/cover;
  }
}

.fv__inner {
  padding-top: 140px;
  padding-top: 8.75rem;
  padding-bottom: 221px;
  padding-bottom: 13.8125rem;
}

@media screen and (min-width: 768px) {
  .fv__inner {
    padding-top: 12.5rem;
    padding-bottom: 23.125rem;
  }
}

.fv__img {
  max-width: 69.33333vw;
  aspect-ratio: 721/330;

  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .fv__img {
    min-width: none;
    max-width: 45.0625rem;
  }
}

.js-fvFadeUp {
  visibility: hidden;
  opacity: 0;
  transition: opacity 4.5s, visibility 4.5s, -webkit-transform 3s;
  transition: opacity 4.5s, visibility 4.5s, transform 3s;
  transition: opacity 4.5s, visibility 4.5s, transform 3s, -webkit-transform 3s;
  transform: translateY(200px);

  -webkit-transform: translateY(200px);
  -webkit-transition: opacity 4.5s, visibility 4.5s, -webkit-transform 3s;
}

.js-fvFadeUp.load {
  visibility: visible;
  opacity: 1;
  transform: translateY(0px);

  -webkit-transform: translateY(0px);
}

.fv--bgFadeIn {
  opacity: 0;
  animation-name: fvFadeInAnime;
  animation-duration: 3s;
  animation-fill-mode: forwards;

  -webkit-animation-duration: 3s;
  -webkit-animation-fill-mode: forwards;
  -webkit-animation-name: fvFadeInAnime;
}

@-webkit-keyframes fvFadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fvFadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.operation {
  background-color: #f7f7f5;
}

.operation__inner {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
}

@media screen and (min-width: 768px) {
  .operation__inner {
    padding-top: 7.5rem;
    padding-bottom: 12.5rem;
  }
}

.operation__items {
  margin-top: 40px;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .operation__items {
    margin-top: 3.5rem;
  }
}

.operation__item {
  max-width: 335px;
  max-width: 20.9375rem;
  background-color: #fff;

  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .operation__item {
    max-width: 75rem;

    margin-inline: 0;
  }
}

.operation__item+.operation__item {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.operation__itemInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 24px;
  gap: 1.5rem;
  padding: 20px 20px 32px;
  padding: 1.25rem 1.25rem 2rem;

  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
}

@media screen and (min-width: 768px) {
  .operation__itemInner {
    align-items: center;
    flex-direction: row;
    gap: 3rem;
    justify-content: center;
    padding: 4rem;

    -webkit-box-align: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-box-pack: center;
    -ms-flex-align: center;
    -ms-flex-direction: row;
    -ms-flex-pack: center;
  }
}

@media screen and (min-width: 768px) {
  .operation__itemTextBlock {
    width: 50%;
  }
}

.operation__itemLead {
  color: #1a1a1a;
  font-weight: 500;
  font-size: 20px;
  font-size: 1.25rem;
}

@media screen and (min-width: 768px) {
  .operation__itemLead {
    font-size: 1.5rem;
  }
}

.operation__itemTextWrapper {
  margin-top: 19px;
  margin-top: 1.1875rem;
}

@media screen and (min-width: 768px) {
  .operation__itemTextWrapper {
    margin-top: 1.5rem;
  }
}

.operation__itemText {
  color: #1a1a1a;
  font-weight: 400;
  font-size: 14px;
  font-size: .875rem;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .operation__itemImgBlock {
    width: 50%;
  }
}

.operation__itemImg {
  margin-inline: auto;
}

.operation__itemNote {
  margin-top: 34px;
  margin-top: 2.125rem;
  color: #a0a0a0;
}

@media screen and (min-width: 768px) {
  .operation__itemNote {
    margin-top: 1.875rem;
  }
}

.operation__itemNoteText {
  padding-left: 1em;
  text-indent: -1em;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .operation__itemNoteText {
    font-size: 11px;
  }
}

.operation__itemNoteText+.operation__itemNoteText {
  margin-top: 6px;
  margin-top: .375rem;
}

/* ===============================================
# 01
=============================================== */
.operation__item:nth-of-type(1) .operation__itemImg {
  max-width: 295px;
  max-width: 18.4375rem;
  aspect-ratio: 295/249;
}

@media screen and (min-width: 768px) {
  .operation__item:nth-of-type(1) .operation__itemImg {
    max-width: 32rem;
    aspect-ratio: 512/180;
  }
}

/* ===============================================
# 02
=============================================== */
@media screen and (min-width: 768px) {
  .operation__item:nth-of-type(2) .operation__itemInner {
    flex-direction: column;
    gap: 2.5rem;

    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -ms-flex-direction: column;
  }
}

@media screen and (min-width: 768px) {
  .operation__item:nth-of-type(2) .operation__itemTextBlock {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .operation__item:nth-of-type(2) .operation__itemImgBlock {
    width: 100%;
  }
}

.operation__item:nth-of-type(2) .operation__itemImgWrapper {
  overflow-x: scroll;
}

@media screen and (min-width: 768px) {
  .operation__item:nth-of-type(2) .operation__itemImgWrapper {
    overflow-x: auto;
  }
}

.operation__item:nth-of-type(2) .operation__itemImg {
  padding-bottom: 11px;
  padding-bottom: .6875rem;
  min-width: 641px;
  min-width: 40.0625rem;
  aspect-ratio: 641/240;
}

@media screen and (min-width: 768px) {
  .operation__item:nth-of-type(2) .operation__itemImg {
    padding-bottom: 0;
    min-width: 0;
    max-width: 61rem;
    aspect-ratio: 976/367;
  }
}

/* ===============================================
# 03
=============================================== */
@media screen and (min-width: 768px) {
  .operation__item:nth-of-type(3) .operation__itemInner {
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .operation__itemPraiseImgWrapper {
    position: absolute;
    top: 4.51389vw;
    left: 30.83333vw;
  }
}

@media screen and (min-width: 1441px) {
  .operation__itemPraiseImgWrapper {
    top: 4.0625rem;
    left: 27.75rem;
  }
}

@media screen and (min-width: 768px) {
  .operation__itemPraiseImg {
    max-width: 8.25rem;
    aspect-ratio: 132/72;
  }
}

.operation__item:nth-of-type(3) .operation__itemImg {
  max-width: 295px;
  max-width: 18.4375rem;
  aspect-ratio: 295/216;
}

@media screen and (min-width: 768px) {
  .operation__item:nth-of-type(3) .operation__itemImg {
    max-width: 32rem;
    aspect-ratio: 512/171;
  }
}

/* ===============================================
# cv
=============================================== */
.operation__bottomTextInner {
  text-align: center;
}

.operation__bottomText {
  padding-bottom: 40px;
  color: #023451;
  font-size: 1rem;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .operation__bottomText {
    padding-bottom: 32px;
    font-size: 1.25rem;
  }
}

.operation__cv {
  margin-top: 48px;
  margin-top: 3rem;
}

@media screen and (min-width: 768px) {
  .operation__cv {
    margin-top: 5rem;
  }
}

.operation__cvInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  gap: 1.25rem;
  justify-content: center;

  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-direction: column;
  -ms-flex-pack: center;
}

@media screen and (min-width: 768px) {
  .operation__cvInner {
    flex-direction: row;
    gap: 1.5rem;

    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: row;
  }
}

.scheme {
  background-color: #023451;
}

.scheme__inner {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 64px;
  padding-bottom: 4rem;
}

@media screen and (min-width: 768px) {
  .scheme__inner {
    padding-top: 6rem;
    padding-bottom: 7.5rem;
  }
}

@media screen and (min-width: 1921px) {
  .scheme__inner {
    max-width: 90rem;

    margin-inline: auto;
  }
}

.scheme__titleJp,
.scheme__text {
  color: #fff;
}

.scheme__items {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  margin-top: 40px;
  margin-top: 2.5rem;

  row-gap: 20px;
  row-gap: 1.25rem;
}

@media screen and (min-width: 768px) {
  .scheme__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 3.5625rem;
    column-gap: 0;

    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    row-gap: 1.25rem;
  }
}

.scheme__item {
  padding: 12px 12px 32px;
  padding: .75rem .75rem 2rem;
  max-width: 359px;
  max-width: 22.4375rem;
  border: 1px solid #a49265;
  color: #fff;

  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .scheme__item {
    padding: 2rem 2rem 1.625rem;
    max-width: 100%;
    border-top: 1px solid #a49265;
    border-right: none;
    border-bottom: 1px solid #a49265;
    border-left: none;
  }
}

@media screen and (min-width: 1921px) {
  .scheme__item {
    border-right: 1px solid #a49265;
    border-left: 1px solid #a49265;
  }
}

@media screen and (min-width: 768px) {
  .scheme__item:nth-of-type(n+2) {
    border-left: 1px solid #a49265;
  }
}

.scheme__itemImg {
  max-width: 335px;
  max-width: 20.9375rem;
  aspect-ratio: 416/200;

  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .scheme__itemImg {
    max-width: 26rem;
  }
}

.scheme__itemTitle {
  margin-top: 20px;
  margin-top: 1.25rem;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .scheme__itemTitle {
    margin-top: 1.5rem;
    font-size: .9375rem;
  }
}

.scheme__itemText {
  margin-top: 20px;
  margin-top: 1.25rem;
  font-weight: 400;
  font-size: 14px;
  font-size: .875rem;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .scheme__itemText {
    font-size: .8125rem;
  }
}

.scheme__itemNote {
  margin-top: 12px;
  margin-top: .75rem;
  font-weight: 400;
  font-size: 12px;
  line-height: 1;
}

.scheme__cv {
  margin-top: 48px;
  margin-top: 3rem;
}

@media screen and (min-width: 768px) {
  .scheme__cv {
    margin-top: 5.0625rem;
  }
}

.scheme__cvInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  gap: 1.25rem;
  justify-content: center;

  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-direction: column;
  -ms-flex-pack: center;
}

@media screen and (min-width: 768px) {
  .scheme__cvInner {
    flex-direction: row;
    gap: 1.5rem;

    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: row;
  }
}

.scheme__cv .c-requestButton.c-requestButton--dark {
  border: 1px solid #fff;
}

.technology__inner {
  padding-top: 64px;
  padding-top: 4rem;
  padding-bottom: 81px;
  padding-bottom: 5.0625rem;
}

@media screen and (min-width: 768px) {
  .technology__inner {
    padding-top: 7.5rem;
    padding-bottom: 7.5625rem;
  }
}

.technology__anchorLink {
  margin-top: 40px;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .technology__anchorLink {
    margin-top: 4rem;
  }
}

.technology__anchorLinkItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  gap: 20px;
  gap: 1.25rem;

  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
}

@media screen and (min-width: 768px) {
  .technology__anchorLinkItems {
    align-items: center;
    flex-direction: row;
    gap: 2.5rem;
    justify-content: center;
    padding: 1.5625rem;
    border-top: 1px solid #d6d6d6;
    border-bottom: 1px solid #d6d6d6;

    -webkit-box-align: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-box-pack: center;
    -ms-flex-align: center;
    -ms-flex-direction: row;
    -ms-flex-pack: center;
  }
}

.technology__anchorLinkItem {
  min-width: 190px;
  min-width: 11.875rem;

  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .technology__anchorLinkItem {
    margin-inline: 0;
  }
}

.technology__anchorLinkItem a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 8px;
  gap: .5rem;
  justify-content: space-around;

  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-pack: distribute;
}

.technology__anchorLinkItemEnTitle {
  color: #a49265;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  font-family: "Jost", sans-serif;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .technology__anchorLinkItemEnTitle {
    padding-top: 2px;
    font-size: 1rem;
  }
}

.technology__anchorLinkItemEnTitle.green {
  color: #769b7a;
}

.technology__anchorLinkItemEnTitle.blue {
  color: #7497a8;
}

.technology__anchorLinkItemEnTitle.blue {
  color: #a19c78;
}

.technology__anchorLinkItemEnTitle.gray {
  color: #828297;
}

.technology__anchorLinkItemTitle {
  width: 136px;
  width: 8.5rem;
  color: #023451;
  text-align: center;
  letter-spacing: .2em;
  font-weight: 700;
  font-size: 14px;
  font-size: .875rem;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .technology__anchorLinkItemTitle {
    width: auto;
    letter-spacing: .1em;
    font-size: 1.125rem;
  }
}

.technology__anchorLinkItemIcon {
  content: "";
  display: inline-block;
  width: 10px;
  width: .625rem;
  height: 6px;
  height: .375rem;
  background-image: url("../images/common/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .technology__anchorLinkItemIcon {
    width: .75rem;
    height: .4375rem;
  }
}

.technology__items {
  margin-top: 32px;
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .technology__items {
    margin-top: 5rem;
  }
}

.technology__item {
  max-width: 335px;
  max-width: 28.9375rem;

  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .technology__item {
    max-width: 75rem;
  }
}

.technology__item+.technology__item {
  margin-top: 24px;
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px) {
  .technology__item+.technology__item {
    margin-top: 4rem;
  }
}

.technology__itemTitleWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  gap: 12px;
  gap: .75rem;
  padding: 20px;
  padding: 1.25rem;

  -webkit-box-align: center;
  -ms-flex-align: center;
}

@media screen and (min-width: 768px) {
  .technology__itemTitleWrapper {
    gap: 1.125rem;
    padding: 1.875rem 1.5rem 1.875rem 1.25rem;
  }
}

.technology__itemTitleNumber {
  color: #f7f7f5;
  font-weight: 400;
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "Jost", sans-serif;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .technology__itemTitleNumber {
    font-size: 1.5rem;
  }
}

.technology__itemTitle {
  color: #fff;
  font-weight: 500;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .technology__itemTitle {
    font-size: 2rem;
  }
}

.technology__itemBody {
  position: relative;
  padding: 20px;
  padding: 1.25rem;
}

@media screen and (min-width: 768px) {
  .technology__itemBody {
    padding: 2.5rem 4rem 4rem;
  }
}

.technology__itemLead {
  color: #1a1a1a;
  font-weight: 500;
  font-size: 20px;
  font-size: 1.25rem;
}

@media screen and (min-width: 768px) {
  .technology__itemLead {
    font-size: 1.5rem;
  }
}

.technology__itemTextWrapper {
  margin-top: 19px;
  margin-top: 1.1875rem;
}

@media screen and (min-width: 768px) {
  .technology__itemTextWrapper {
    margin-top: 1.625rem;
  }
}

.technology__itemText {
  color: #1a1a1a;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .technology__itemText {
    /* font-size: 0.8125rem; */
  }
}

.technology__itemNote {
  margin-top: 12px;
  margin-top: .75rem;
  padding-left: 1em;
  color: #a0a0a0;
  text-indent: -1em;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .technology__itemNote {
    margin-top: .5rem;
    line-height: 1.8;
  }
}

/* ===============================================
# 01
=============================================== */
.technology__item:nth-of-type(1) .technology__itemTitleWrapper {
  background-color: #769b7a;
}

.technology__item:nth-of-type(1) .technology__itemBody {
  background-color: #f7f7f5;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(1) .technology__itemTextWrapper {
    max-width: 53.81944vw;
  }
}

@media screen and (min-width: 1441px) {
  .technology__item:nth-of-type(1) .technology__itemTextWrapper {
    max-width: 48.4375rem;
  }
}

.technology__item:nth-of-type(1) .technology__itemImgWrapper {
  position: absolute;
  right: -9px;
  right: -.5625rem;
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
  .technology__item:nth-of-type(1) .technology__itemImgWrapper {
    top: -10.41667vw;
  }
}

@media screen and (min-width: 1281px) {
  .technology__item:nth-of-type(1) .technology__itemImgWrapper {
    top: -8.33333vw;
  }
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(1) .technology__itemImgWrapper {
    right: 2.77778vw;
  }
}

@media screen and (min-width: 1441px) {
  .technology__item:nth-of-type(1) .technology__itemImgWrapper {
    top: -120px;
    right: 40px;
  }
}

.technology__item:nth-of-type(1) .technology__itemImg {
  max-width: 324px;
  max-width: 20.25rem;
  aspect-ratio: 324/285;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(1) .technology__itemImg {
    max-width: 32.0625rem;
    aspect-ratio: 513/426;
  }
}

.technology__item:nth-of-type(1) .technology__itemGraphImgWrapper {
  margin-top: 315px;
  margin-top: 19.6875rem;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(1) .technology__itemGraphImgWrapper {
    margin-top: 4.1875rem;
  }
}

.technology__item:nth-of-type(1) .technology__itemGraphImg {
  max-width: 295px;
  max-width: 18.4375rem;
  aspect-ratio: 295/1449;

  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(1) .technology__itemGraphImg {
    max-width: 67rem;
    aspect-ratio: 1072/959;
  }
}

/* ===============================================
# 02
=============================================== */
.technology__item:nth-of-type(2) .technology__itemTitleWrapper {
  background-color: #7497a8;
}

.technology__item:nth-of-type(2) .technology__itemBody {
  background-color: #f3f9fc;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(2) .technology__itemTextWrapper {
    max-width: 35.55556vw;
  }
}

@media screen and (min-width: 1441px) {
  .technology__item:nth-of-type(2) .technology__itemTextWrapper {
    max-width: 32rem;
  }
}

.technology__item:nth-of-type(2) .technology__itemImgWrapper {
  position: absolute;
  top: 350px;
  top: 21.875rem;
  left: 50%;
  transform: translateX(-50%);

  -webkit-transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(2) .technology__itemImgWrapper {
    top: -4.58333vw;
    right: 4.44444vw;
    left: auto;
    transform: none;

    -webkit-transform: none;
  }
}

@media screen and (min-width: 1441px) {
  .technology__item:nth-of-type(2) .technology__itemImgWrapper {
    top: -4.125rem;
    right: 4rem;
  }
}

.technology__item:nth-of-type(2) .technology__itemImg {
  min-width: 295px;
  min-width: 18.4375rem;
  aspect-ratio: 295/320;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(2) .technology__itemImg {
    min-width: 0;
    max-width: 32rem;
    aspect-ratio: 512/422;
  }
}

.technology__item:nth-of-type(2) .technology__itemGraphImgWrapper {
  margin-top: 376px;
  margin-top: 23.5rem;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(2) .technology__itemGraphImgWrapper {
    margin-top: 7.9375rem;
  }
}

.technology__item:nth-of-type(2) .technology__itemGraphImg {
  max-width: 295px;
  max-width: 18.4375rem;
  aspect-ratio: 295/498;

  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(2) .technology__itemGraphImg {
    max-width: 67rem;
    aspect-ratio: 1072/435;
  }
}

/* ===============================================
# 03
=============================================== */
.technology__item:nth-of-type(3) .technology__itemTitleWrapper {
  background-color: #a19c78;
}

.technology__item:nth-of-type(3) .technology__itemBody {
  background-color: #fcfbf6;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(3) .technology__itemTextWrapper {
    max-width: 35.55556vw;
  }
}

@media screen and (min-width: 1441px) {
  .technology__item:nth-of-type(3) .technology__itemTextWrapper {
    max-width: 32rem;
  }
}

.technology__item:nth-of-type(3) .technology__itemImgWrapper {
  position: absolute;
  top: 325px;
  top: 20.3125rem;
  left: 50%;
  transform: translateX(-50%);

  -webkit-transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(3) .technology__itemImgWrapper {
    top: -2.77778vw;
    right: 4.44444vw;
    left: auto;
    transform: none;

    -webkit-transform: none;
  }
}

@media screen and (min-width: 1441px) {
  .technology__item:nth-of-type(3) .technology__itemImgWrapper {
    top: -40px;
    right: 64px;
  }
}

.technology__item:nth-of-type(3) .technology__itemImg {
  min-width: 295px;
  min-width: 18.4375rem;
  aspect-ratio: 295/189;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(3) .technology__itemImg {
    min-width: 0;
    max-width: 32rem;
    aspect-ratio: 512/328;
  }
}

@media screen and (min-width: 768px) and (max-width: 1100px) {
  .technology__item:nth-of-type(3) .technology__itemImg {
    max-width: 28.125rem;
  }
}

.technology__item:nth-of-type(3) .technology__itemGraphImgWrapper {
  margin-top: 245px;
  margin-top: 15.3125rem;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(3) .technology__itemGraphImgWrapper {
    margin-top: 5.3125rem;
  }
}

.technology__item:nth-of-type(3) .technology__itemGraphImg {
  max-width: 295px;
  max-width: 18.4375rem;
  aspect-ratio: 295/679;

  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(3) .technology__itemGraphImg {
    max-width: 67rem;
    aspect-ratio: 1072/328;
  }
}

/* ===============================================
# 04
=============================================== */
.technology__item:nth-of-type(4) .technology__itemTitleWrapper {
  background-color: #828297;
}

.technology__item:nth-of-type(4) .technology__itemBody {
  padding-bottom: 190px;
  padding-bottom: 11.875rem;
  background-color: #efeff8;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(4) .technology__itemBody {
    padding-bottom: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(4) .technology__itemTextWrapper {
    max-width: 35.55556vw;
  }
}

@media screen and (min-width: 1441px) {
  .technology__item:nth-of-type(4) .technology__itemTextWrapper {
    max-width: 32rem;
  }
}

.technology__item:nth-of-type(4) .technology__itemImgWrapper {
  position: absolute;
  top: 300px;
  top: 18.75rem;
  left: 50%;
  transform: translateX(-50%);

  -webkit-transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(4) .technology__itemImgWrapper {
    top: -40px;
    right: 64px;
    left: auto;
    transform: none;

    -webkit-transform: none;
  }
}

.technology__item:nth-of-type(4) .technology__itemImg {
  min-width: 295px;
  min-width: 18.4375rem;
  aspect-ratio: 295/146;
}

@media screen and (min-width: 768px) {
  .technology__item:nth-of-type(4) .technology__itemImg {
    min-width: 0;
    max-width: 32rem;
    aspect-ratio: 512/254;
  }
}

/* ===============================================
# cv
=============================================== */
.technology__cv {
  margin-top: 48px;
  margin-top: 3rem;
}

@media screen and (min-width: 768px) {
  .technology__cv {
    margin-top: 5rem;
  }
}

.technology__cvInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  gap: 1.25rem;
  justify-content: center;

  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-direction: column;
  -ms-flex-pack: center;
}

@media screen and (min-width: 768px) {
  .technology__cvInner {
    flex-direction: row;
    gap: 1.5rem;

    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: row;
  }
}

.type__inner {
  padding-top: 48px;
  padding-top: 3rem;
  padding-bottom: 81px;
  padding-bottom: 5.0625rem;
}

@media screen and (min-width: 768px) {
  .type__inner {
    padding-top: 5.6875rem;
    padding-bottom: 7.5625rem;
  }
}

/* ===============================================
# SP   toggle item
=============================================== */
.type__toggleItems {
  margin-top: 40px;
  margin-top: 2.5rem;
}

.type__toggleItem+.type__toggleItem {
  margin-top: 24px;
  margin-top: 1.5rem;
}

.type__toggleItem {
  padding: 24px 20px 22px;
  padding: 1.5rem 1.25rem 1.375rem;
  max-width: 335px;
  max-width: 20.9375rem;
  border-radius: .5rem;
  background-color: #f7f7f5;

  margin-inline: auto;
}

.type__toggleItemHead {
  padding-bottom: 24px;
  padding-bottom: 1.5rem;
}

.type__toggleItemCategory {
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
}

.type__toggleItemTitle {
  margin-top: 12px;
  margin-top: .75rem;
  font-weight: 700;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
}

.type__toggleItemText {
  margin-top: 24px;
  margin-top: 1.5rem;
  font-weight: 400;
  font-size: 14px;
  font-size: .875rem;
  line-height: 1.8;
}

.type__toggleItemHide {
  display: none;
  padding-bottom: 32px;
  padding-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .type__toggleItemButton {
    display: block;
    padding-top: 1.25rem;
    width: 100%;
    border-top: 1px solid #d9d9d9;
    color: #023451;
    text-align: center;
    font-weight: 700;
    font-size: .875rem;
    line-height: 1;
    transition: .5s;

    -webkit-transition: .5s;
  }
}

@media screen and (max-width: 767px) {
  .type__toggleItemButton::after {
    content: "もっと見る＋";
    transition: .2s;

    -webkit-transition: .2s;
  }
}

@media screen and (max-width: 767px) {
  .type__toggleItemButton.on-click::after {
    content: "閉じるー";
  }
}

.type__toggleItem--01 .type__toggleItemImg {
  max-width: 78.66667vw;
  aspect-ratio: 295/1011;
}

.type__toggleItem--02 .type__toggleItemImg {
  max-width: 78.66667vw;
  aspect-ratio: 295/966;
}

.type__toggleItem--03 .type__toggleItemImg {
  max-width: 78.66667vw;
  aspect-ratio: 295/1089;
}

.type__toggleItem--04 .type__toggleItemImg {
  max-width: 78.66667vw;
  aspect-ratio: 295/974;
}

/* ===============================================
# PC   tab switch
=============================================== */
.type__tabSwitch {
  margin-top: 40px;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .type__tabSwitch {
    margin-top: 3.75rem;
  }
}

.type__tabSwitchButtons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 11px;
  gap: .6875rem;
  justify-content: space-between;

  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
}

.type__tabSwitchButton {
  padding: 8px 8px 8px 16px;
  padding: .5rem .5rem .5rem 1rem;
  max-width: 100%;
  width: 292px;
  width: 18.25rem;
  border: 1px solid #d3d3d3;
  border-bottom: none;
  border-radius: .25rem .25rem 0 0;
  cursor: pointer;
}

.type__tabSwitchButton:hover {
  border: 2px solid #023451;
  border-bottom: 1px solid #023451;
}

.type__tabSwitchButton.is-active {
  background-color: #023451;
}

.type__tabSwitchButton.is-active .type__tabSwitchButtonTitleWrapper {
  color: #fff;
}

.type__tabSwitchButtonInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;

  -webkit-box-align: center;
  -webkit-box-pack: justify;
  -ms-flex-align: center;
  -ms-flex-pack: justify;
}

.type__tabSwitchButtonTitleWrapper {
  color: #023451;
}

.type__tabSwitchButtonCategory {
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
}

.type__tabSwitchButtonTitle {
  margin-top: 12px;
  margin-top: .75rem;
  font-weight: 700;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
}

.type__tabSwitchButtonImg {
  max-width: 80px;
  max-width: 5rem;
  aspect-ratio: 1/1;
  border-radius: .125rem;
}

.type__tabSwitchButton.is-active {
  border-bottom: 2px solid black;
  font-weight: bold;
}

.type__tabSwitchPanel {
  border: 1px solid #023451;
  border-radius: 0 0 .625rem .625rem;
  background-color: #f7f7f5;
}

.type__tabSwitchPanelInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
  gap: 3rem;
  justify-content: space-between;
  padding: 48px;
  padding: 3rem;

  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
}

.type__tabSwitchPanelTextBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width: 50%;

  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
}

.type__tabSwitchPanelCategory {
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
}

.type__tabSwitchPanelTitle {
  margin-top: 12px;
  margin-top: .75rem;
  font-weight: 700;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
}

.type__tabSwitchPanelText {
  margin-top: 23px;
  margin-top: 1.4375rem;
  font-weight: 400;
  font-size: 14px;
  font-size: .875rem;
  line-height: 1.8;
}

.type__tabSwitchPanelTextBlock .type__tabSwitchPanelImg {
  margin-top: auto;
}

.type__tabSwitchPanelImgBlock {
  width: 50%;
}

.type__tabSwitchPanel:nth-of-type(1) .type__tabSwitchPanelTextBlock .type__tabSwitchPanelImg {
  max-width: 528px;
  max-width: 33rem;
  aspect-ratio: 528/284;
}

.type__tabSwitchPanel:nth-of-type(2) .type__tabSwitchPanelTextBlock .type__tabSwitchPanelImg {
  max-width: 528px;
  max-width: 33rem;
  aspect-ratio: 528/228;
}

.type__tabSwitchPanel:nth-of-type(3) .type__tabSwitchPanelTextBlock .type__tabSwitchPanelImg {
  max-width: 528px;
  max-width: 33rem;
  aspect-ratio: 528/358;
}

.type__tabSwitchPanel:nth-of-type(4) .type__tabSwitchPanelTextBlock .type__tabSwitchPanelImg {
  max-width: 528px;
  max-width: 33rem;
  aspect-ratio: 528/241;
}

.type__tabSwitchPanel .type__tabSwitchPanelImgBlock .type__tabSwitchPanelImg {
  max-width: 528px;
  max-width: 33rem;
  aspect-ratio: 528/507;
}

/* ===============================================
# cv
=============================================== */
.type__cv {
  margin-top: 48px;
  margin-top: 3rem;
}

@media screen and (min-width: 768px) {
  .type__cv {
    margin-top: 5rem;
  }
}

.type__cvInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 20px;
  gap: 1.25rem;
  justify-content: center;

  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-box-pack: center;
  -ms-flex-align: center;
  -ms-flex-direction: column;
  -ms-flex-pack: center;
}

@media screen and (min-width: 768px) {
  .type__cvInner {
    flex-direction: row;
    gap: 1.5rem;

    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -ms-flex-direction: row;
  }
}

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