@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Albert+Sans:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
:root {
  --bg: #dbe4e7;
  --text-primary: #333d41;
  --primary: #21436f;
  --secondary: #f00;
  --accent: #ff3e42;
}

@font-face {
  font-family: "Makinas 4 Square";
  src: url("../fonts/Makinas-4-Square.otf") format("opentype");
  font-display: swap;
}
/*base_three.cssを上書き*/
.content_box {
  display: block;
  overflow: visible !important;
  --mb-min: 47;
  --mb-max: 80;
  margin-bottom: clamp(63px, 131.36px - 5.7vw, 110px);
}

@media screen and (max-width: 1000px) {
  .content_box {
    padding-inline: 0;
  }
}
/*_fonts.scssを上書き*/
html, input, textarea {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

/* ==========================================================================
   全体
   ========================================================================== */
/* 背景の装飾 */
#wrapper {
  position: relative;
}

#wrapper:not(.is-loaded) .l-header {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

#wrapper::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  display: block;
  background: linear-gradient(160deg, #95c4e0 0%, #dbe4e8 50%);
  z-index: 1;
}

#wrapper:not(.is-loaded) .l-header {
  opacity: 1;
  -webkit-filter: none;
          filter: none;
}

@media screen and (min-width: 769px) {
  #wrapper::before {
    height: 146.3396778917vw;
  }
}
@media screen and (max-width: 768px) {
  #wrapper::before {
    height: 320vw;
  }
}
/* ==========================================================================
   アニメーション skin_csr.cssから移植
   ========================================================================== */
.js-anim {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-transform 0.8s ease;
}

.js-anim.is-complete {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* ==========================================================================
	Base Setting & Reset
========================================================================== */
@font-face {
  font-family: "Makinas 4 Square";
  src: url("../fonts/Makinas-4-Square.otf") format("opentype");
}
/* =====================================================
	 Main Header Area
===================================================== */
.p-about-kv {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 768px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 202px 106px 157px;
  overflow: hidden;
}

.p-about-kv__bg {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100vw;
  height: auto;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 0;
  pointer-events: none;
}

.p-about-kv > *:not(.p-about-kv__bg) {
  position: relative;
  z-index: 1;
}

.p-about-kv .p-about-kv__eyebrowWrap .p-about-kv__eyebrow {
  margin-left: -20px;
}

@media (min-width: 769px) {
  .p-about-kv {
    height: 768px;
  }
  .p-about-kv__bg {
    -o-object-fit: unset;
       object-fit: unset;
  }
}
@media (max-width: 768px) {
  .p-about-kv {
    padding: 40.8vw 5.3333333333vw 315px;
  }
  .p-about-kv__bg {
    left: 0;
    bottom: 0;
    width: 100%;
    -webkit-transform: none;
            transform: none;
    height: 315px;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center bottom;
       object-position: center bottom;
  }
  .p-about-kv .p-about-kv__eyebrowWrap {
    margin-bottom: 20px;
  }
  .p-about-kv .en__icn {
    width: 12px;
  }
  .p-about-kv .p-about-kv__eyebrowWrap .p-about-kv__eyebrow {
    margin-left: 0;
  }
}
.p-about-kv__title {
  color: var(--primary);
  font-weight: bold;
  position: relative;
  z-index: 10;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .p-about-kv__title {
    margin: 0 0 6.588579795vw 0;
    font-size: 6.2225475842vw;
  }
}
@media screen and (max-width: 768px) {
  .p-about-kv__title {
    margin: 0 0 12.8vw 0;
    font-size: 14.1333333333vw;
  }
}

@media screen and (max-width: 768px) {
  .p-about-kv__title {
    margin: 0 0 90px 15px;
  }
  .p-about-kv {
    padding: 40.8vw 5.3333333333vw 24vw;
    padding-top: 172px;
  }
}
.p-about-kv__eyebrowWrap .p-about-kv__eyebrow .en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: -3px;
  color: var(--primary);
}

.p-about-kv__eyebrowWrap .p-about-kv__eyebrow .en__icn {
  display: block;
}

@media (min-width: 769px) {
  .p-about-kv__eyebrowWrap .p-about-kv__eyebrow .en {
    gap: 0.3953147877vw;
    margin-bottom: 2px;
    text-box: trim-both cap alphabetic;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .p-about-kv__eyebrowWrap .p-about-kv__eyebrow .en {
    font-size: 1.1713030747vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 768px) {
  .p-about-kv__eyebrowWrap .p-about-kv__eyebrow .en {
    font-size: 3.7333333333vw;
  }
}
@media (min-width: 769px) {
  .p-about-kv__eyebrowWrap .p-about-kv__eyebrow .en__txt {
    letter-spacing: 0.02em;
    text-box: trim-both cap alphabetic;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .p-about-kv__eyebrowWrap .p-about-kv__eyebrow .en__txt {
    font-size: 1.317715959vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 768px) {
  .p-about-kv__eyebrowWrap .p-about-kv__eyebrow .en__txt {
    font-size: 4vw;
  }
}
@media (min-width: 769px) {
  .p-about-kv__eyebrowWrap .p-about-kv__eyebrow .en__icn {
    width: 0.9970717423vw;
  }
}
/* ==========================================================================
   パンくずリスト
   ========================================================================== */
.uc-breadcrumb-nav {
  --uc-text-color: #1F3C65;
  --uc-dot-color: #8EB5D5;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #0f2d52;
}
.uc-breadcrumb-nav .uc-breadcrumb-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
.uc-breadcrumb-nav .uc-breadcrumb-list .uc-breadcrumb-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--uc-text-color);
  font-weight: 500;
  letter-spacing: 0px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  letter-spacing: 2px;
}
.uc-breadcrumb-nav .uc-breadcrumb-list .uc-breadcrumb-item a,
.uc-breadcrumb-nav .uc-breadcrumb-list .uc-breadcrumb-item span {
  --f-min: 10;
  --f-max: 12;
}
.uc-breadcrumb-nav .uc-breadcrumb-list .uc-breadcrumb-item a {
  text-decoration: none;
  color: var(--uc-text-color);
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  font-weight: 500;
}
.uc-breadcrumb-nav .uc-breadcrumb-list .uc-breadcrumb-item a:hover {
  opacity: 0.7;
  text-decoration: underline;
}
.uc-breadcrumb-nav .uc-breadcrumb-list .uc-breadcrumb-item span[aria-current=page] {
  font-weight: 500;
}
.uc-breadcrumb-nav .uc-breadcrumb-list li:nth-child(3) {
  letter-spacing: 0px;
}
.uc-breadcrumb-nav .uc-breadcrumb-list .uc-breadcrumb-separator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 10px;
  gap: 6px;
}

@media (max-width: 600px) {
  .uc-breadcrumb-nav {
    margin-left: 22px;
  }
  .uc-breadcrumb-nav .uc-breadcrumb-list .uc-breadcrumb-item {
    letter-spacing: 0px;
  }
  .uc-breadcrumb-nav .uc-breadcrumb-list li:nth-child(3) {
    letter-spacing: 0.5px;
  }
  .uc-breadcrumb-nav .uc-breadcrumb-list .uc-breadcrumb-separator {
    gap: 4px;
  }
}
/* =====================================================
	common components
===================================================== */
/* PCではSP用改行を消す */
/*
<br class="br-pc">
<br class="br-sp">
*/
.br-sp {
  display: none;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media (max-width: 768px) {
  .br-pc {
    display: none;
  }
  .br-sp {
    display: inline;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
    position: relative;
    z-index: 2;
  }
}
.c-passionNumber {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 185px;
  z-index: 1;
  line-height: 1;
  font-weight: 700;
  font-family: "Albert Sans", sans-serif;
}
@media screen and (min-width: 769px) {
  .c-passionNumber {
    margin-bottom: 2.9282576867vw;
    gap: 0.6588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .c-passionNumber {
    margin-bottom: 10.6666666667vw;
    gap: 1.3333333333vw;
  }
}
.c-passionNumber__p-hash {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 10px;
}
.c-passionNumber__p-hash .c-passionNumber__passion {
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .c-passionNumber__p-hash .c-passionNumber__passion {
    font-size: 1.2445095168vw;
  }
}
@media screen and (max-width: 768px) {
  .c-passionNumber__p-hash .c-passionNumber__passion {
    font-size: 3.2vw;
  }
}
.c-passionNumber__p-hash .c-passionNumber__passion {
  letter-spacing: 0;
  line-height: 1;
  color: var(--primary);
}
.c-passionNumber__p-hash .c-passionNumber__hash {
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px var(--primary);
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .c-passionNumber__p-hash .c-passionNumber__hash {
    font-size: 2.5622254758vw;
    padding-right: 0.9516837482vw;
  }
}
@media screen and (max-width: 768px) {
  .c-passionNumber__p-hash .c-passionNumber__hash {
    font-size: 6.4vw;
    padding-right: 3.4666666667vw;
  }
}
.c-passionNumber__num {
  line-height: 0.75;
  color: var(--primary);
  text-box: trim-both cap alphabetic;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-variant-numeric: tabular-nums;
  -webkit-font-feature-settings: "tnum";
          font-feature-settings: "tnum";
  text-align: left;
}
@media screen and (min-width: 769px) {
  .c-passionNumber__num {
    font-size: 6.2225475842vw;
  }
}
@media screen and (max-width: 768px) {
  .c-passionNumber__num {
    font-size: 15.4666666667vw;
  }
}

.c-passion-text {
  line-height: 2.25;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .c-passion-text {
    font-size: 1.1713030747vw;
  }
}
@media screen and (max-width: 768px) {
  .c-passion-text {
    font-size: 3.7333333333vw;
  }
}

.c-featureHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.715em;
  color: var(--primary);
}
@media screen and (max-width: 768px) {
  .c-featureHead {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.c-featureHead__title {
  font-family: "Makinas 4 Square";
  letter-spacing: 0.02em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .c-featureHead__title {
    font-size: 6.588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .c-featureHead__title {
    font-size: 13.8666666667vw;
  }
}
.c-featureHead__badge {
  padding: clamp(5px, 0.55vw, 7px) clamp(16px, 1.8vw, 24px);
  border-radius: 17px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  background: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .c-featureHead__badge {
    font-size: 2.4890190337vw;
  }
}
@media screen and (max-width: 768px) {
  .c-featureHead__badge {
    font-size: 4.8vw;
  }
}

.c-messageList {
  color: #fff;
  line-height: 1.4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.c-messageList .c-balloon {
  position: relative;
  display: inline-block;
  background-color: var(--primary);
  text-align: left;
  font-weight: 700;
  letter-spacing: 0;
  color: #ffffff;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .c-messageList .c-balloon {
    font-size: 1.317715959vw;
    padding: 1.0248901903vw 1.3909224012vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border-radius: 1.6837481698vw;
  }
}
@media screen and (max-width: 768px) {
  .c-messageList .c-balloon {
    font-size: 4.2666666667vw;
    padding: 8vw 5.3333333333vw;
    width: 100%;
    border-radius: 6.1333333333vw;
    line-height: 2;
  }
}
.c-messageList .c-balloon::after {
  content: "";
  position: absolute;
  background: url(../img/about/balloon_tail-lt.svg) no-repeat 0 0;
  background-size: 100% 100%;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .c-messageList .c-balloon::after {
    width: 1.5373352855vw;
    height: 1.2445095168vw;
    top: 0.1464128843vw;
    left: -0.3660322108vw;
  }
}
@media screen and (max-width: 768px) {
  .c-messageList .c-balloon::after {
    width: 5.6vw;
    height: 4.5333333333vw;
    top: 0.5333333333vw;
    left: -1.3333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .c-messageList .c-balloon:last-child {
    margin-bottom: 3.6603221083vw;
  }
}
@media screen and (max-width: 768px) {
  .c-messageList .c-balloon:last-child {
    margin-bottom: 6.4vw;
  }
}

.c-passion-title {
  font-weight: 700;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .c-passion-title {
    font-size: 2.9282576867vw;
  }
}
@media screen and (max-width: 768px) {
  .c-passion-title {
    font-size: 5.3333333333vw;
  }
}

@media screen and (min-width: 769px) {
  .p-passion01 header .p-passion01__headline,
  .p-passion01 header .c-passion-text {
    margin-left: 6.0029282577vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 header .p-passion01__headline,
  .p-passion01 header .c-passion-text {
    margin-left: 0;
  }
}
@media screen and (min-width: 769px) {
  .p-passion01 header .c-passion-text {
    padding-left: 1.317715959vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 header .c-passion-text {
    padding-left: 0;
  }
}

.p-passion02 header {
  display: grid;
  gap: 16px;
  position: relative;
}
.p-passion02 header .c-passionNumber {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateY(calc(-100% - 40px));
          transform: translateY(calc(-100% - 40px));
  margin-left: 120px;
  z-index: 2 !important;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-passion02 header .c-passionNumber {
    left: auto;
    margin-left: 0;
    right: 0;
    margin-bottom: 0;
  }
}

@media (max-width: 768px) {
  .p-passion01__head .c-passionNumber,
  .p-passion03__head .c-passionNumber {
    margin-left: 0;
  }
}
@media (max-width: 768px) {
  .p-passion03__captionBlock {
    position: relative;
    left: 0;
    top: 0;
    -webkit-transform: none;
            transform: none;
  }
  .p-passion03__captionBlock > .c-messageList:nth-of-type(1) {
    margin-left: 0;
    margin-right: 40px;
  }
  .p-passion03__captionBlock > .c-messageList:nth-of-type(2) {
    margin-left: 0;
    margin-right: 80px;
  }
}
.p-passion01 .c-passion-title {
  color: var(--primary);
}
@media screen and (min-width: 769px) {
  .p-passion01 .c-passion-title {
    margin-left: 1.317715959vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 .c-passion-title {
    margin-left: 0;
  }
}

.p-passion03 .c-passion-title {
  color: #fff;
}

/* =====================================================
	 common Layout
===================================================== */
.p-about {
  position: relative;
  z-index: 2;
  overflow-x: clip;
}

/* ==========================================
	.l-container
========================================== */
.l-container {
  /* width: min(1200px,calc(100% - clamp(17.5px, 6vw, 83px) * 2)); */
  margin-inline: auto;
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .l-container {
    padding: 0 6.0761346999vw;
  }
}
@media screen and (max-width: 768px) {
  .l-container {
    padding: 0 5.3333333333vw;
  }
}

/* =====================================================
	 Passion #01
===================================================== */
.p-passion01 {
  position: relative;
  overflow-x: clip;
  overflow-y: visible;
  isolation: isolate;
}
@media screen and (min-width: 769px) {
  .p-passion01 .l-container:nth-of-type(1) {
    margin-top: 10.2489019034vw;
    margin-bottom: 8.78477306vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 .l-container:nth-of-type(1) {
    margin-top: 22.1333333333vw;
    margin-bottom: 32vw;
  }
}
@media screen and (min-width: 769px) {
  .p-passion01 .l-container:nth-of-type(3) {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 .l-container:nth-of-type(3) {
    margin-top: 21.3333333333vw;
  }
}
.p-passion01 .p-passion01__headline {
  margin: 0 0 32px;
}
.p-passion01 .p-passion01__headline .p-passion01__headline--sentence {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: clamp(8px, 8px + 4 * (100vw - 769px) / 431, 12px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion01 .p-passion01__headline .p-passion01__headline--sentence {
    margin-top: 2.3426061493vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 .p-passion01__headline .p-passion01__headline--sentence {
    margin-top: 4vw;
  }
}
.p-passion01 .p-passion01__headline .p-passion01__headline--sentence .headline-img {
  display: inline-block;
}
@media screen and (min-width: 769px) {
  .p-passion01 .p-passion01__headline .p-passion01__headline--sentence .headline-img {
    width: 51.3909224012vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 .p-passion01__headline .p-passion01__headline--sentence .headline-img {
    width: 76.8vw;
  }
}
.p-passion01 .p-passion01__headline .p-passion01__headline--sentence .headline-img img {
  display: block;
  width: 100%;
  height: auto;
}
.p-passion01 .p-passion01__headline .p-passion01__headline--sentence .headline-text {
  font-weight: 700;
  -webkit-transform: translateY(clamp(0px, 0.3vw, 2px));
          transform: translateY(clamp(0px, 0.3vw, 2px));
  line-height: 1;
  white-space: nowrap;
  color: var(--primary);
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion01 .p-passion01__headline .p-passion01__headline--sentence .headline-text {
    font-size: 2.5622254758vw;
    margin-bottom: 1.8301610542vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 .p-passion01__headline .p-passion01__headline--sentence .headline-text {
    font-size: 4.2666666667vw;
    margin-bottom: 0vw;
  }
}
.p-passion01 .p-passion01-inner {
  position: relative;
  z-index: 1;
  /* width: 100%; */
  margin-inline: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "media content";
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-column-gap: clamp(16px, 2vw, 20px);
     -moz-column-gap: clamp(16px, 2vw, 20px);
          column-gap: clamp(16px, 2vw, 20px);
  min-width: 0;
}
@media screen and (min-width: 769px) {
  .p-passion01 .p-passion01-inner {
    margin-bottom: 17.7159590044vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 .p-passion01-inner {
    margin-bottom: 5.6vw;
  }
}
.p-passion01 .p-passion01-inner::before {
  content: "";
  position: absolute;
  left: 48%;
  top: 45%;
  aspect-ratio: 1/1;
  background: url(../img/about/circle.png) no-repeat center/contain;
  pointer-events: none;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .p-passion01 .p-passion01-inner::before {
    width: 85.7979502196vw;
    -webkit-transform: translate(calc(-50% + 23.7920937042vw), -50%);
            transform: translate(calc(-50% + 23.7920937042vw), -50%);
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 .p-passion01-inner::before {
    width: 116.5333333333vw;
    -webkit-transform: translate(calc(-50% + 31.4666666667vw), -50%);
            transform: translate(calc(-50% + 31.4666666667vw), -50%);
  }
}
.p-passion01 .p-passion01-inner .p-passion01-media {
  grid-area: media;
  position: relative;
  z-index: 1;
  min-width: 0;
  grid-column: 1;
}
@media screen and (min-width: 769px) {
  .p-passion01 .p-passion01-inner .p-passion01-media.top-margin {
    margin-top: 10.6149341142vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01 .p-passion01-inner .p-passion01-media.top-margin {
    margin-top: 0vw;
  }
}
.p-passion01 .p-passion01-inner .p-passion01-media img {
  display: block;
  width: 100%;
  height: auto;
}
.p-passion01 .p-passion01-inner .p-passion01-content {
  grid-area: content;
  grid-column: auto;
  position: relative;
  top: auto;
  bottom: auto;
  min-width: 0;
}

.p-passion01--reverse.p-passion01-inner {
  grid-template-columns: 5.5fr 4.5fr;
}
@media screen and (min-width: 769px) {
  .p-passion01--reverse.p-passion01-inner {
    margin-bottom: 24.9633967789vw;
  }
}
.p-passion01--reverse.p-passion01-inner::before {
  left: 63%;
  top: 48%;
}
@media screen and (min-width: 769px) {
  .p-passion01--reverse.p-passion01-inner::before {
    -webkit-transform: translate(calc(-50% - 31.4787701318vw), -50%) scaleX(-1) scaleY(-1);
            transform: translate(calc(-50% - 31.4787701318vw), -50%) scaleX(-1) scaleY(-1);
  }
}
@media screen and (max-width: 768px) {
  .p-passion01--reverse.p-passion01-inner::before {
    -webkit-transform: translate(calc(-50% - 37.3333333333vw), -50%) scaleX(-1) scaleY(-1);
            transform: translate(calc(-50% - 37.3333333333vw), -50%) scaleX(-1) scaleY(-1);
  }
}
.p-passion01--reverse.p-passion01-inner .p-passion01-media {
  left: -160px;
  top: -50px;
  width: 130%;
  grid-column: 2;
}
.p-passion01--reverse.p-passion01-inner .p-passion01-content {
  grid-column: 1;
}
@media screen and (min-width: 769px) {
  .p-passion01--reverse.p-passion01-inner .p-passion01-h3 {
    margin: 4.2459736457vw 0 2.9282576867vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01--reverse.p-passion01-inner .p-passion01-h3 {
    margin: 0 0 10.6666666667vw;
  }
}

.p-passion01-h3 {
  font-weight: 700;
  color: var(--primary);
  white-space: nowrap;
  line-height: 2;
  letter-spacing: -0.04em;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion01-h3 {
    font-size: 2.635431918vw;
    margin: 4.39238653vw 0 2.9282576867vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-h3 {
    font-size: 5.3333333333vw;
    margin: 5.3333333333vw 0 10.6666666667vw;
  }
}

.p-passion01__lead--row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(10px, 10px + 14 * (100vw - 375px) / 825, 24px);
}
@media screen and (min-width: 769px) {
  .p-passion01__lead--row {
    margin-bottom: 2.635431918vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01__lead--row {
    margin-bottom: 11.2vw;
  }
}
.p-passion01__lead--row .p-passion01-leadIcon {
  width: clamp(114px, 12.0790629575vw, 165px);
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
}
.p-passion01__lead--row .p-passion01-lead {
  margin: 0;
  line-height: 2;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion01__lead--row .p-passion01-lead {
    font-size: 1.9033674963vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01__lead--row .p-passion01-lead {
    font-size: 4.2666666667vw;
  }
}
.p-passion01__lead--row .p-passion01-lead.resize {
  line-height: 1.35;
  font-weight: 700;
}

.t-bold {
  font-weight: bold;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .t-bold {
    font-size: 1.9033674963vw;
  }
}
@media screen and (max-width: 768px) {
  .t-bold {
    font-size: 5.3333333333vw;
  }
}

.u-em {
  color: #333D41;
}
@media screen and (min-width: 769px) {
  .u-em {
    font-size: 1.9033674963vw;
  }
}
@media screen and (max-width: 768px) {
  .u-em {
    font-size: 5.3333333333vw;
  }
}

.u-em-b {
  font-weight: 700;
  color: var(--primary);
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .u-em-b {
    font-size: 2.9282576867vw;
  }
}
@media screen and (max-width: 768px) {
  .u-em-b {
    font-size: 6.4vw;
  }
}

.p-passion01-t18 {
  text-box: trim-both cap alphabetic;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 769px) {
  .p-passion01-t18 {
    font-size: 1.317715959vw;
    margin-bottom: 3.3674963397vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-t18 {
    font-size: 4.8vw;
    margin-bottom: 8vw;
  }
}

.p-passion01-t18-t16 {
  text-box: trim-both cap alphabetic;
  letter-spacing: 0.02em;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .p-passion01-t18-t16 {
    font-size: 1.317715959vw;
    margin: 0 0 4.0995607613vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-t18-t16 {
    font-size: 4.2666666667vw;
    margin: 5.3333333333vw 0 13.3333333333vw;
  }
}

.p-passion01-t18-t14 {
  line-height: 1.9;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion01-t18-t14 {
    font-size: 1.317715959vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-t18-t14 {
    font-size: 3.7333333333vw;
  }
}
.p-passion01-t18-t14 .u-em {
  text-box: trim-both cap alphabetic;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 769px) {
  .p-passion01-t18-t14 .u-em {
    font-size: 1.756954612vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-t18-t14 .u-em {
    font-size: 4.8vw;
  }
}
.p-passion01-t18-t14 .u-em-bold {
  font-weight: 700;
  text-box: trim-both cap alphabetic;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 769px) {
  .p-passion01-t18-t14 .u-em-bold {
    font-size: 1.317715959vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-t18-t14 .u-em-bold {
    font-size: 3.7333333333vw;
  }
}
.p-passion01-t18-t14 .u-em-bold--line {
  text-decoration: none;
  background-image: url(../img/about/dot_underline--primary.svg);
  background-repeat: repeat-x;
  background-position: left 100%;
  background-size: auto 1px;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion01-t18-t14 .u-em-bold--line {
    font-size: 1.317715959vw;
    padding-bottom: 0.6588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-t18-t14 .u-em-bold--line {
    font-size: 3.7333333333vw;
    padding-bottom: 1.0666666667vw;
  }
}
.p-passion01-t18-t14 .u-em-normal {
  text-box: trim-both cap alphabetic;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 769px) {
  .p-passion01-t18-t14 .u-em-normal {
    font-size: 1.317715959vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-t18-t14 .u-em-normal {
    font-size: 3.7333333333vw;
  }
}
.p-passion01-t18-t14 .u-em-normal--line {
  text-decoration: none;
  background-image: url(../img/about/dot_underline--primary.svg);
  background-repeat: repeat-x;
  background-position: left 100%;
  background-size: auto 1px; /* ← ここが肝：高さを固定 */
  white-space: nowrap;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion01-t18-t14 .u-em-normal--line {
    font-size: 1.317715959vw;
    padding-bottom: 0.6588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-t18-t14 .u-em-normal--line {
    font-size: 3.7333333333vw;
    padding-bottom: 1.0666666667vw;
  }
}
.p-passion01-t18-t14 .u-em-box {
  display: inline-block;
  background: #fff;
  border-radius: 5px;
  font-weight: 700;
  color: var(--primary);
  text-box: trim-both cap alphabetic;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 769px) {
  .p-passion01-t18-t14 .u-em-box {
    font-size: 1.317715959vw;
    padding: 0.5856515373vw 0.1464128843vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-t18-t14 .u-em-box {
    font-size: 3.7333333333vw;
    padding: 2.1333333333vw 0.5333333333vw;
  }
}

.p-passion01-strong {
  font-weight: 700;
  line-height: 2;
  color: var(--primary);
  text-box: trim-both cap alphabetic;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 769px) {
  .p-passion01-strong {
    font-size: 2.196193265vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion01-strong {
    font-size: 5.3333333333vw;
  }
}

@media (max-width: 768px) {
  .p-passion01 .l-container .p-passion01--reverse.p-passion01-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 0;
  }
  .p-passion01 .l-container .p-passion01--reverse.p-passion01-inner .p-passion01-media {
    grid-area: inherit;
    width: 100%;
    max-width: 420px;
    margin: 0;
    top: 0;
    left: 0;
  }
  .p-passion01 .l-container .p-passion01--reverse.p-passion01-inner .p-passion01-media img {
    position: relative;
    left: -27px;
    width: 120%;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  .p-passion01 .l-container .p-passion01-inner {
    display: grid;
    grid-template-columns: 0.6fr 0.4fr;
    grid-template-areas: "media content";
    -webkit-column-gap: 14px;
       -moz-column-gap: 14px;
            column-gap: 14px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 0;
  }
  .p-passion01 .l-container .p-passion01-inner .p-passion01-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; /* 横中央 */
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-passion01 .l-container .p-passion01-inner .p-passion01-media {
    grid-area: media;
    width: 100%;
    max-width: 420px;
    float: none;
    margin: 0;
  }
  .p-passion01 .l-container .p-passion01-inner .p-passion01-media img {
    width: 110%;
  }
  .p-passion01 .l-container .p-passion01-inner .p-passion01-content {
    height: 100%;
  }
  .p-passion01 .c-featureHead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
  }
  .headline-text {
    line-height: 11.2vw;
  }
}
@media (min-width: 481px) and (max-width: 768px) {
  .p-passion01 .p-passion01::before {
    width: 600px;
    height: 600px;
    top: -160px;
    left: 75%;
    -webkit-transform: translateX(calc(-50% - 80px));
            transform: translateX(calc(-50% - 80px));
  }
}
@media (max-width: 480px) {
  .p-passion01 .p-passion01::before {
    width: 437px;
    height: 437px;
    top: -110px;
    left: 90%;
    -webkit-transform: translateX(calc(-50% - 80px));
            transform: translateX(calc(-50% - 80px));
  }
}
/* =====================================================
	 Passion #02
===================================================== */
.p-passion02 {
  padding: 0 0 80px;
  --bg-extend: 270px;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container:nth-of-type(1) {
    margin-top: 10.7613469985vw;
    margin-bottom: 4.7584187408vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container:nth-of-type(1) {
    margin-top: 22.1333333333vw;
    margin-bottom: 0vw;
  }
}
.p-passion02 .l-container:nth-of-type(2) {
  padding: 0;
}
.p-passion02 .p-passion02__title {
  margin: 0;
  line-height: 0;
}
.p-passion02 .p-passion02__title img {
  width: 334px !important;
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-passion02 .p-passion02__title {
    margin-top: 10.6666666667vw;
    margin-bottom: 16vw;
  }
}
.p-passion02 .l-container__inner--body {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 3vw, 48px);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.p-passion02 .l-container__inner--body .p-passion02__mainWrap {
  position: relative;
  z-index: 1;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main {
  position: relative;
  z-index: 1;
  background: #4F7CB7;
  border-radius: 0 117px 0 0;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main {
    padding: 10.2489019034vw 1.756954612vw 7.8330893119vw 6.0761346999vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main {
    padding: 17.0666666667vw 8vw 17.0666666667vw 5.3333333333vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main {
  color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text .sp-block {
    display: block;
    line-height: 0;
    margin-bottom: 3.4666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text p {
    font-size: 1.317715959vw;
    margin-bottom: 5.1244509517vw;
    line-height: 2.5;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text p {
    font-size: 3.7333333333vw;
    margin-bottom: 12.5333333333vw;
    line-height: 8vw;
  }
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text p:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text p:last-child {
    margin-bottom: 0;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text p .p-passion02__text-em {
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text p .p-passion02__text-em {
    font-size: 1.756954612vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text p .p-passion02__text-em {
    font-size: 4.8vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text p .p-passion02__text-em-box {
  background: #fff;
  color: #4F7CB7;
  border-radius: 5px;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text p .p-passion02__text-em-box {
    padding: 0.0732064422vw 0.2928257687vw;
    font-size: 1.6105417277vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__main .p-passion02__text p .p-passion02__text-em-box {
    padding: 0.1333333333vw 0.5333333333vw;
    font-size: 4.8vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__heading p {
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__heading p {
    font-size: 2.3426061493vw;
    padding-bottom: 2.635431918vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__heading p {
    font-size: 4.2666666667vw;
    padding-bottom: 9.6vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__heading p {
  font-weight: 700;
}
.p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__heading p.p-passion02__heading-em {
  display: inline-block;
  line-height: 1.4167;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__heading p.p-passion02__heading-em {
    font-size: 3.513909224vw;
    margin-bottom: 5.1244509517vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__heading p.p-passion02__heading-em {
    font-size: 5.8666666667vw;
    padding-bottom: 12.2666666667vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__side {
  position: relative;
  grid-template-rows: auto 1fr;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__side {
    margin-top: -4.7584187408vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__side {
    margin-top: 0vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__kicker {
  margin: 0;
  font-size: clamp(14px, 1.6105417277vw, 22px);
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__kicker {
    font-size: 1.6105417277vw;
    margin-bottom: 2.4158125915vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__kicker {
    font-size: 3.7333333333vw;
    margin-bottom: 4vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__kicker .p-passion02__word-strong {
  color: #333D41;
  font-weight: 700;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__kicker .p-passion02__word-strong {
    font-size: 1.9765739385vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__kicker .p-passion02__word-strong {
    font-size: 4.8vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__kicker .p-passion02__u-underline {
  border-bottom: 2px dotted var(--primary);
  padding-bottom: 2px;
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead {
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead {
    font-size: 1.4641288433vw;
    margin-bottom: 5.5636896047vw;
    margin-left: 7.3206442167vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead {
    font-size: 3.7333333333vw;
    margin-bottom: 12vw;
    margin-left: 26.6666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead.m-left {
    margin-left: 9.5168374817vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead.m-left {
    margin-left: 34.6666666667vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead.l-height {
  line-height: 2.8;
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__u-underline {
  text-decoration: none;
  background-image: url(../img/about/dot_underline--primary.svg);
  background-repeat: repeat-x;
  background-position: left 100%;
  background-size: auto 1px;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__u-underline {
    padding-bottom: 0.6588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__u-underline {
    padding-bottom: 2.4vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__u-underline {
  padding-bottom: 2px;
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__word-accent {
  font-weight: 700;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__word-accent {
    font-size: 1.9765739385vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__word-accent {
    font-size: 4.8vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__word-accent.color {
  color: var(--primary);
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__pill {
  display: inline-block;
  padding: 4px 6px;
  background: #fff;
  color: var(--primary);
  font-weight: 700;
  border-radius: 5px;
  line-height: 1;
  vertical-align: baseline;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__pill {
    font-size: 2.4890190337vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead .p-passion02__pill {
    font-size: 6.4vw;
  }
}
.p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__visual {
  position: absolute;
  z-index: 2;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__visual {
    top: 17.6427525622vw;
    width: 58.5651537335vw;
    right: 4.0263543192vw;
  }
}

@media (max-width: 768px) {
  .p-passion02 {
    padding: 120px 0 0;
    --bg-extend: 0px;
  }
  .p-passion02 .p-passion02__title img {
    width: 183px !important;
  }
  .p-passion02 .l-container__inner--body {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-flow: column;
    grid-auto-flow: row;
    padding-bottom: 0px;
  }
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap::before {
    height: 100%;
  }
  .p-passion02 .l-container__inner--body .p-passion02__mainWrap .p-passion02__text p {
    line-height: 2;
  }
  .p-passion02 .l-container__inner--body .p-passion02__side {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    padding: 0 5.3333333333vw;
    margin-bottom: 36.5333333333vw;
  }
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy {
    padding-top: 0;
  }
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__kicker {
    text-box: normal;
    margin: 0;
  }
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead {
    text-box: normal;
    margin: 0 0 22px;
    margin-left: 0;
    line-height: 2.2;
  }
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead.m-left {
    margin-left: 0;
  }
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__sideCopy .p-passion02__lead:last-child {
    margin: 0 0 0;
  }
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__visual {
    position: absolute;
    -webkit-transform: none;
            transform: none;
    margin-left: auto;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    width: 68%;
    z-index: 2;
    left: 29.3333333333vw;
    top: 66.6666666667vw;
  }
  .p-passion02 .l-container__inner--body .p-passion02__side .p-passion02__visual img {
    width: 100%;
  }
}
/* ===============================
	 Passion #02　Swiper Slider
=============================== */
/*.p-passion02__sliderWrapで囲って全画面対応*/
.p-passion02__sliderWrap {
  position: relative;
  z-index: 2;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

.p-passion02__slider {
  overflow: hidden;
}

.p-passion02__slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}

.p-passion02__slider .swiper-slide {
  width: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-passion02__slider img {
  display: block;
  width: 100%;
  height: auto;
}

.p-passion02__slider .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .p-passion02__slider .swiper-slide {
    width: 180px;
  }
}
/* ========== 既存：操作ありSwiper（カードUI） ========== */
.slider-container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  padding-bottom: 60px;
  overflow: hidden;
}

.slider-container .swiper {
  width: 100%;
  height: auto;
  overflow: hidden !important;
  padding: 20px !important;
  margin: -20px !important;
}

.slider-container .swiper-slide {
  width: 600px !important;
  height: auto;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .slider-container .swiper {
    margin: 0 !important;
    padding: 0 !important;
  }
  .slider-container {
    margin: 17px;
    padding-bottom: 0;
  }
}
@media (max-width: 768px) {
  .p-passion02__sliderWrap {
    margin-top: 0;
  }
}
/* =====================================================
	 Passion #03
===================================================== */
.p-passion03 {
  margin-top: -80px;
}
@media screen and (min-width: 769px) {
  .p-passion03 .l-container {
    padding-top: 12.1522693997vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03 .l-container {
    padding-top: 26.6666666667vw;
  }
}
.p-passion03 header .c-passionNumber__passion, .p-passion03 header .c-passionNumber__num {
  color: #fff;
}
.p-passion03 header .c-passionNumber__hash {
  -webkit-text-stroke-color: #fff;
}
@media screen and (min-width: 769px) {
  .p-passion03 header .c-passion-title,
  .p-passion03 header .c-passion-text {
    margin-left: 5.270863836vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03 header .c-passion-title,
  .p-passion03 header .c-passion-text {
    margin-left: 0;
  }
}
@media screen and (min-width: 769px) {
  .p-passion03 header .c-passion-title {
    margin-bottom: 3.513909224vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03 header .c-passion-title {
    margin-bottom: 12.8vw;
  }
}
.p-passion03 header .c-passion-text {
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-passion03 header .c-passion-text {
    margin-bottom: 5.0512445095vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03 header .c-passion-text {
    margin-bottom: 33.6vw;
  }
}
.p-passion03 .l-container__inner {
  position: relative;
  z-index: 1;
}
.p-passion03 .l-container__inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  z-index: -1;
  background: -webkit-gradient(linear, left top, left bottom, from(#728AA8), color-stop(30%, #728AA8), color-stop(70%, rgba(114, 138, 168, 0)), to(rgba(114, 138, 168, 0)));
  background: linear-gradient(to bottom, #728AA8 0%, #728AA8 30%, rgba(114, 138, 168, 0) 70%, rgba(114, 138, 168, 0) 100%);
}
.p-passion03 .l-container__inner .l-container__inner--body {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(32px, 4vw, 66px);
}
.p-passion03 .l-container__inner .l-container__inner--body .p-passion03__scenes {
  display: grid;
}

@media screen and (min-width: 769px) {
  .p-passion03__panel--01,
  .p-passion03__panel--02,
  .p-passion03__panel--03,
  .p-passion03__panel--04 {
    margin-bottom: 6.0761346999vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01,
  .p-passion03__panel--02,
  .p-passion03__panel--03,
  .p-passion03__panel--04 {
    margin-bottom: 20.8vw;
  }
}

/* =========================
	.p-passion03__panel--01
========================= */
@media screen and (min-width: 769px) {
  .p-passion03__panel--01 {
    margin-left: 5.270863836vw;
    margin-right: 5.270863836vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01 {
    margin-left: 0;
    margin-right: 0;
  }
}
.p-passion03__panel--01 .panel--01__panelbody {
  position: relative;
  min-height: clamp(500px, 500px + 220 * (100vw - 375px) / 825, 720px);
  isolation: isolate;
}
.p-passion03__panel--01 .panel--01__panelbody::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: min(1056px, 95vw);
  aspect-ratio: 1056/1552;
  background: url(../img/about/passion03_bg_img_01.png) no-repeat top center/contain;
  pointer-events: none;
  z-index: -1;
}
.p-passion03__panel--01 .panel--01__panelbody--center {
  position: relative;
  display: grid;
  justify-items: center;
  z-index: 2;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--01 .panel--01__panelbody--center {
    gap: 13.17715959vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01 .panel--01__panelbody--center {
    gap: 47.5841874085vw;
  }
}
.p-passion03__panel--01 .panel--01__panelbody--center .year,
.p-passion03__panel--01 .panel--01__panelbody--center .event {
  grid-row: 1;
  grid-column: 1;
  justify-self: center;
  text-align: center;
}
.p-passion03__panel--01 .panel--01__panelbody--center .year {
  font-family: "Albert Sans";
  font-weight: 700;
  line-height: 1;
  color: #667D9B;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--01 .panel--01__panelbody--center .year {
    font-size: 11.4934114202vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01 .panel--01__panelbody--center .year {
    font-size: 16vw;
  }
}
.p-passion03__panel--01 .panel--01__panelbody--center .event {
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  -webkit-transform: translateY(clamp(32px, 7.027818448vw, 96px));
          transform: translateY(clamp(32px, 7.027818448vw, 96px));
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--01 .panel--01__panelbody--center .event {
    font-size: 4.5387994143vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01 .panel--01__panelbody--center .event {
    font-size: 6.4vw;
  }
}
.p-passion03__panel--01 .panel--01__panelbody--center .img {
  position: static;
  -webkit-transform: none;
          transform: none;
  margin: 0;
  width: 557px;
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01 .panel--01__panelbody--center .img {
    width: 75.4666666667vw;
  }
}
.p-passion03__panel--01 .panel--01__panelbody--center .img img {
  display: block;
  height: auto;
  max-width: none;
}
.p-passion03__panel--01 .panel--01__panelbody--copy1 {
  position: absolute;
  color: #fff;
  line-height: 2;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--01 .panel--01__panelbody--copy1 {
    font-size: 1.317715959vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01 .panel--01__panelbody--copy1 {
    font-size: 3.7333333333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--01 .panel--01__panelbody--copy1 {
    left: 9.3704245974vw;
    top: 32.4304538799vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01 .panel--01__panelbody--copy1 {
    left: 0;
    top: 45.6808199122vw;
  }
}
.p-passion03__panel--01 .panel--01__panelbody--copy1 .copy1-em {
  font-weight: 700;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--01 .panel--01__panelbody--copy1 .copy1-em {
    font-size: 2.0497803807vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01 .panel--01__panelbody--copy1 .copy1-em {
    font-size: 5.8666666667vw;
  }
}
.p-passion03__panel--01 .panel--01__panelbody--copy2 {
  position: absolute;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--01 .panel--01__panelbody--copy2 {
    right: 13.3235724744vw;
    bottom: 0;
    line-height: 1.5;
    font-size: 1.756954612vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01 .panel--01__panelbody--copy2 {
    right: 0;
    bottom: -8vw;
    text-align: right;
    line-height: 1.4;
    font-size: 4.5333333333vw;
  }
}
.p-passion03__panel--01 .panel--01__panelbody--copy2 .copy2-em {
  font-weight: 700;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--01 .panel--01__panelbody--copy2 .copy2-em {
    font-size: 3.0014641288vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--01 .panel--01__panelbody--copy2 .copy2-em {
    font-size: 7.7333333333vw;
  }
}

/* =========================
	.p-passion03__panel--02
========================= */
.p-passion03__panel--02 {
  position: relative;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--02 {
    margin-left: 5.270863836vw;
    margin-right: 5.270863836vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--02 {
    margin-left: 0;
    margin-right: 0;
  }
}
.p-passion03__panel--02 .panel--02__panelbody--center {
  position: relative;
  display: grid;
  justify-items: center;
  z-index: 2;
  text-align: center;
  width: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--02 .panel--02__panelbody--center {
    gap: 2.7086383602vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--02 .panel--02__panelbody--center {
    gap: 8vw;
  }
}
.p-passion03__panel--02 .panel--02__panelbody--center .center-tag {
  background: rgba(255, 255, 255, 0.85);
  color: var(--primary);
  padding: clamp(8px, 8px + 2 * (100vw - 769px) / 431, 10px) clamp(14px, 14px + 2 * (100vw - 769px) / 431, 16px);
  white-space: nowrap;
  display: inline-block;
  position: relative;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--02 .panel--02__panelbody--center .center-tag {
    font-size: 1.317715959vw;
    border-radius: 0.439238653vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--02 .panel--02__panelbody--center .center-tag {
    font-size: 3.7333333333vw;
    border-radius: 1.6vw;
  }
}
.p-passion03__panel--02 .panel--02__panelbody--center .center-tag::before {
  content: "";
  position: absolute;
  width: 15px;
  height: 12px;
  background: rgba(255, 255, 255, 0.85);
  bottom: -12px;
  left: 0;
  right: 0;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin: auto;
}
.p-passion03__panel--02 .panel--02__panelbody--center .center-img {
  position: static;
  -webkit-transform: none;
          transform: none;
  margin: 0;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--02 .panel--02__panelbody--center .center-img {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--02 .panel--02__panelbody--center .center-img {
    margin-top: 24vw;
  }
}
.p-passion03__panel--02 .panel--02__panelbody--center .center-img img {
  display: block;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--02 .panel--02__panelbody--center .center-img img {
    width: 38.0673499268vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--02 .panel--02__panelbody--center .center-img img {
    width: 80vw;
  }
}
.p-passion03__panel--02 .panel--02__panelbody--center .center-img img {
  height: auto;
  max-width: none;
}
.p-passion03__panel--02 .panel--02__panelbody--center .center-headline,
.p-passion03__panel--02 .panel--02__panelbody--center .center-outline {
  display: block;
  margin: 0;
  text-align: center;
  font-weight: 700;
  line-height: 1.25;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--02 .panel--02__panelbody--center .center-headline,
  .p-passion03__panel--02 .panel--02__panelbody--center .center-outline {
    font-size: 3.2210834553vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--02 .panel--02__panelbody--center .center-headline,
  .p-passion03__panel--02 .panel--02__panelbody--center .center-outline {
    font-size: 5.8666666667vw;
  }
}
.p-passion03__panel--02 .panel--02__panelbody--center .center-headline {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--02 .panel--02__panelbody--center .center-outline {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--02 .panel--02__panelbody--center .center-outline {
    display: block;
  }
}
.p-passion03__panel--02 .panel--02__panelbody--circle {
  position: absolute;
  display: inline-block;
  z-index: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--02 .panel--02__panelbody--circle {
    left: 12.4450951684vw;
    top: 30.7467057101vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--02 .panel--02__panelbody--circle {
    left: 9.0666666667vw;
    top: 69.3333333333vw;
  }
}
.p-passion03__panel--02 .panel--02__panelbody--circle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--02 .panel--02__panelbody--circle::before {
    width: 25.8418740849vw;
    height: 25.8418740849vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--02 .panel--02__panelbody--circle::before {
    width: 56vw;
    height: 56vw;
  }
}
.p-passion03__panel--02 .panel--02__panelbody--conclusion {
  position: absolute;
  right: 8.0527086384vw;
  bottom: 65px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-weight: 700;
  z-index: 2;
  font-weight: 700;
  line-height: 1.25;
  z-index: 2;
  pointer-events: none;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--02 .panel--02__panelbody--conclusion {
    font-size: 2.7086383602vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--02 .panel--02__panelbody--conclusion {
    font-size: 6.4vw;
  }
}

@media (max-width: 768px) {
  .p-passion03__panel--02 .panel--02__panelbody--conclusion {
    display: none;
  }
}
/* =========================
	.p-passion03__panel--03
========================= */
.p-passion03__panel--03 {
  position: relative;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--03 {
    margin-left: 5.270863836vw;
    margin-right: 5.270863836vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--03 {
    margin-left: 0;
    margin-right: 0;
  }
}
.p-passion03__panel--03 .panel--03__panelbody--caption {
  display: grid;
  gap: 12px;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--03 .panel--03__panelbody--caption > .c-messageList {
    margin-left: 2.9282576867vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--03 .panel--03__panelbody--caption > .c-messageList {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--03 .panel--03__panelbody--caption > .c-messageList .c-balloon {
    padding: 3.7333333333vw 5.0666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--03 .panel--03__panelbody--caption > .c-messageList .c-balloon:last-child {
    margin-left: 5.1244509517vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--03 .panel--03__panelbody--caption > .c-messageList .c-balloon:last-child {
    width: 90%;
  }
}
.p-passion03__panel--03 .panel--03__panelbody--caption .caption-line {
  margin: 0;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  color: inherit;
  color: var(--primary);
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--03 .panel--03__panelbody--caption .caption-line {
    font-size: 1.756954612vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--03 .panel--03__panelbody--caption .caption-line {
    font-size: 4.2666666667vw;
  }
}
.p-passion03__panel--03 .panel--03__panelbody--center {
  position: relative;
  display: grid;
  justify-items: center;
  gap: clamp(30px, 2.7086383602vw, 37px);
  z-index: 2;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-passion03__panel--03 .panel--03__panelbody--center .center-img {
  position: static;
  -webkit-transform: none;
          transform: none;
  margin: 0;
}
.p-passion03__panel--03 .panel--03__panelbody--center .center-img img {
  margin: auto;
  width: 80%;
}
.p-passion03__panel--03 .panel--03__panelbody--center .center-lead {
  margin: 0;
  font-weight: 700;
  line-height: 2;
  color: var(--primary);
  text-align: center;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--03 .panel--03__panelbody--center .center-lead {
    font-size: 2.196193265vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--03 .panel--03__panelbody--center .center-lead {
    font-size: 5.3333333333vw;
  }
}

@media (max-width: 768px) {
  .p-passion03__panel--03 .panel--03__panelbody--caption {
    position: relative;
  }
  .p-passion03__panel--03 .panel--03__panelbody--caption > .c-messageList:nth-of-type(2) {
    margin-right: 6.6666666667vw;
    margin-left: 0;
  }
  .p-passion03__panel--03 .panel--03__panelbody--center .center-img {
    margin-top: 8vw;
  }
}
/* =========================
	.p-passion03__panel--04
========================= */
@media screen and (min-width: 769px) {
  .p-passion03__panel--04 {
    margin-left: 5.270863836vw;
    margin-right: 5.270863836vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--04 {
    margin-left: 0;
    margin-right: 0;
  }
}
.p-passion03__panel--04 {
  text-align: center;
}
.p-passion03__panel--04 .panel--04__panelbody--center {
  display: grid;
  position: relative;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--04 .panel--04__panelbody--center {
    gap: 4.0995607613vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--04 .panel--04__panelbody--center {
    gap: 17.3333333333vw;
  }
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-block {
  width: 100%;
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-block .center-block__lead {
  margin: 0;
  font-weight: 700;
  line-height: 2;
  color: var(--primary);
  text-align: left;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--04 .panel--04__panelbody--center .center-block .center-block__lead {
    font-size: 2.196193265vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--04 .panel--04__panelbody--center .center-block .center-block__lead {
    font-size: 5.3333333333vw;
  }
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 80px;
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__points .points-text {
  margin: 0;
  line-height: 1.9;
  text-align: center;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__points .points-text {
    font-size: 1.317715959vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__points .points-text {
    font-size: 4.8vw;
  }
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__points .points-text .points-text__em {
  display: inline-block;
  font-weight: 700;
  color: var(--primary);
  text-decoration: none;
  background-image: url("../img/about/dot_underline--primary.svg");
  background-repeat: repeat-x;
  background-position: left 100%;
  background-size: auto 1px;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__points .points-text .points-text__em {
    font-size: 1.756954612vw;
    padding-bottom: 0.6588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__points .points-text .points-text__em {
    font-size: 6.4vw;
    padding-bottom: 2.4vw;
  }
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__points .points-img--x {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__points .points-img--x img {
  display: block;
  width: clamp(54px, 6.0029282577vw, 82px);
  height: clamp(54px, 6.0029282577vw, 82px);
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-block .center-block__balloon {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: auto;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__head {
    gap: 1.1713030747vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__head {
    gap: 0;
  }
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__head figure {
    width: 14.3484626647vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--04 .panel--04__panelbody--center .center-block.center-block__head figure {
    width: 28.2666666667vw;
  }
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-img {
  margin: 0;
  background-image: url(../img/about/passion04_bg_img_01.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-passion03__panel--04 .panel--04__panelbody--center .center-img img {
  display: block;
  height: auto;
}
.p-passion03__panel--04 .panel--04__panelbody--footer {
  margin-top: 72px;
  display: grid;
  justify-items: center;
  gap: 14px;
  color: var(--primary);
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--04 .panel--04__panelbody--footer {
    margin-top: 5.270863836vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--04 .panel--04__panelbody--footer {
    margin-top: 17.3333333333vw;
  }
}
.p-passion03__panel--04 .panel--04__panelbody--footer .footer-line {
  margin: 0;
  line-height: 1.8;
  text-align: center;
}
.p-passion03__panel--04 .panel--04__panelbody--footer .footer-line.footer-line--sm {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--04 .panel--04__panelbody--footer .footer-line.footer-line--sm {
    font-size: 1.756954612vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--04 .panel--04__panelbody--footer .footer-line.footer-line--sm {
    font-size: 4.2666666667vw;
  }
}
.p-passion03__panel--04 .panel--04__panelbody--footer .footer-line.footer-line--lg {
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--04 .panel--04__panelbody--footer .footer-line.footer-line--lg {
    font-size: 2.5622254758vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--04 .panel--04__panelbody--footer .footer-line.footer-line--lg {
    font-size: 5.3333333333vw;
  }
}

@media (max-width: 768px) {
  .panel--04__panelbody--center {
    gap: 40px;
  }
  .center-block__balloon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .center-block__lead {
    margin: 0;
    min-width: 0;
  }
  .p-passion03__panel--04__footer {
    margin-top: 56px;
  }
  .center-block__points {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 60px;
  }
  .p-passion03 {
    margin-top: 0;
  }
}
/* =========================
	.p-passion03__panel--05
========================= */
.p-passion03__panel--05 {
  position: relative;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--05 {
    margin-left: 5.270863836vw;
    margin-right: 5.270863836vw;
    margin-bottom: 11.1273792094vw;
    padding: 5.8565153734vw 0;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--05 {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    padding: 16vw 0 0;
  }
}
.p-passion03__panel--05 .passion05_bg_img {
  position: absolute;
  left: 50%;
  margin: auto;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--05 .passion05_bg_img {
    width: 61.7130307467vw;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--05 .passion05_bg_img {
    width: 97.6vw;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.p-passion03__panel--05 .panel--05__panelbody--center {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--05 .panel--05__panelbody--center {
    gap: 4.0995607613vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--05 .panel--05__panelbody--center {
    gap: 12vw;
  }
}
.p-passion03__panel--05 .panel--05__panelbody--center img {
  display: block;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--05 .panel--05__panelbody--center img {
    width: 56.8vw;
  }
}
.p-passion03__panel--05 .panel--05__panelbody--center .center-text {
  color: var(--primary);
  text-align: center;
  line-height: 2;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .p-passion03__panel--05 .panel--05__panelbody--center .center-text {
    font-size: 1.9765739385vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion03__panel--05 .panel--05__panelbody--center .center-text {
    font-size: 4.2666666667vw;
  }
}

/* ==========================================================================
	 footer
	 ========================================================================== */
.l-footer__recruit:not(.is-complete) {
  opacity: 1;
  translate: none;
  -webkit-filter: none;
          filter: none;
}

.u-em-bold--line {
  text-decoration: none;
  background-image: url(../img/about/dot_underline--primary.svg);
  background-repeat: repeat-x;
  background-position: left 100%;
  background-size: auto 1px;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .u-em-bold--line {
    font-size: 1.317715959vw;
    padding-bottom: 0.6588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .u-em-bold--line {
    font-size: 3.7333333333vw;
    padding-bottom: 1.0666666667vw;
  }
}

.u-em-normal--line {
  text-decoration: none;
  background-image: url(../img/about/dot_underline--primary.svg);
  background-repeat: repeat-x;
  background-position: left 100%;
  background-size: auto 1px; /* ← ここが肝：高さを固定 */
  white-space: nowrap;
  text-box: trim-both cap alphabetic;
}
@media screen and (min-width: 769px) {
  .u-em-normal--line {
    font-size: 1.317715959vw;
    padding-bottom: 0.6588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .u-em-normal--line {
    font-size: 3.7333333333vw;
    padding-bottom: 1.0666666667vw;
  }
}

.p-passion02__u-underline {
  text-decoration: none;
  background-image: url(../img/about/dot_underline--primary.svg);
  background-repeat: repeat-x;
  background-position: left 100%;
  background-size: auto 1px;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .p-passion02__u-underline {
    padding-bottom: 0.6588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .p-passion02__u-underline {
    padding-bottom: 2.4vw;
  }
}
.p-passion02__u-underline {
  padding-bottom: 2px;
}

.copy2-underline {
  text-decoration: none;
  background-image: url(../img/about/dot_underline--wht.svg);
  background-repeat: repeat-x;
  background-position: left 100%;
  background-size: auto 1px;
}
@media screen and (min-width: 769px) {
  .copy2-underline {
    font-size: 1.756954612vw;
    padding-bottom: 0.6588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .copy2-underline {
    font-size: 4.5333333333vw;
    padding-bottom: 2.1333333333vw;
  }
}

.panel--02__panelbody--circle .circle-txt {
  display: block;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .panel--02__panelbody--circle .circle-txt {
    font-size: 1.756954612vw;
  }
}
@media screen and (max-width: 768px) {
  .panel--02__panelbody--circle .circle-txt {
    font-size: 4vw;
  }
}
@media screen and (min-width: 769px) {
  .panel--02__panelbody--circle .circle-txt:first-child {
    margin-bottom: 1.2445095168vw;
  }
}
@media screen and (max-width: 768px) {
  .panel--02__panelbody--circle .circle-txt:first-child {
    margin-bottom: 1.8666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .panel--02__panelbody--circle .circle-txt:nth-child(2) {
    margin-bottom: 2.0497803807vw;
  }
}
@media screen and (max-width: 768px) {
  .panel--02__panelbody--circle .circle-txt:nth-child(2) {
    margin-bottom: 4.8vw;
  }
}
.panel--02__panelbody--circle .circle-txt:last-child {
  line-height: 1.4;
}
.panel--02__panelbody--circle .circle-txt span {
  display: inline-block;
  text-decoration: none;
  background-image: url(../img/about/dot_underline--wht.svg);
  background-repeat: repeat-x;
  background-position: left 100%;
  background-size: auto 1px;
}
@media screen and (min-width: 769px) {
  .panel--02__panelbody--circle .circle-txt span {
    font-size: 2.3426061493vw;
    padding-bottom: 0.5124450952vw;
  }
}
@media screen and (max-width: 768px) {
  .panel--02__panelbody--circle .circle-txt span {
    font-size: 5.3333333333vw;
    padding-bottom: 1.6vw;
  }
}

.points-text__em {
  display: inline-block;
  font-weight: 700;
  color: var(--primary);
  text-decoration: none;
  background-image: url("../img/about/dot_underline--primary.svg");
  background-repeat: repeat-x;
  background-position: left 100%;
  background-size: auto 1px;
}
@media screen and (min-width: 769px) {
  .points-text__em {
    font-size: 1.756954612vw;
    padding-bottom: 0.6588579795vw;
  }
}
@media screen and (max-width: 768px) {
  .points-text__em {
    font-size: 6.4vw;
    padding-bottom: 2.4vw;
  }
}/*# sourceMappingURL=skin_philosophy.css.map */