@charset "utf-8";

/* GoogleFonts読み込み 下記のライセンス記述は削除禁止 */
/*
* "Zen Kaku Gothic New" licensed under the SIL Open Font License 1.1
* by https://fonts.google.com/specimen/Zen+Kaku+Gothic+New
*/

@font-face {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 500;
  src: url("fonts/ZKG-500.woff2") format("woff2"), url("fonts/ZKG-500.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/ZKG-700.woff2") format("woff2"), url("fonts/ZKG-700.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: "Zen Kaku Gothic New vertical";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/ZKG-700-vertical.woff2") format("woff2"), url("fonts/ZKG-700-vertical.woff") format("woff");
  font-display: swap;
}



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

    base settings

*/
:root {
  font-size: 62.5%;
  --s1: 0.8rem;
  --s2: calc(var(--s1) * 2);
  --s3: calc(var(--s1) * 3);
  --s4: calc(var(--s1) * 4);
  --s5: calc(var(--s1) * 5);
  --s6: calc(var(--s1) * 6);
  --s7: calc(var(--s1) * 7);
}

@media screen and (max-width: 1100px) {
  :root {
    font-size: 0.9090909091vw;
  }
}

body {
  margin: 0;
  padding: 0;
  color: #101010;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: normal;
  clear: both;
}

ul,
ol,
dl,
p,
img,
form,
dt,
dd,
figure {
  margin: 0;
  padding: 0;
  border: 0;
}

li {
  list-style: none;
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

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

a {
  color: #101010;
  transition: opacity 0.3s ease, color 0.3s ease;
  outline: none;
}

a:active {
  color: #101010;
  text-decoration: none;
}



p {
  line-height: 2;
}

p+p {
  margin-top: 1em;
}

strong {
  font-weight: 700;
}

em {
  font-style: italic;
  font-weight: normal;
}

small {
  font-size: 1.2rem;
}

* {
  box-sizing: border-box;
}

.sp_br {
  display: none;
}

.pc_br {
  display: inline;
}

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

@media screen and (max-width: 767px) {
  .for-pc {
    display: none;
  }
}

@media screen and (max-width: 767px) {

  .sp_br {
    display: inline;
  }

  .pc_br {
    display: none;
  }
}

/*--------------------------------------
　Utility
---------------------------------------*/
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

.u-sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .u-sp {
    display: block !important;
  }
}

@media screen and (max-width: 767px) {

  :root {
    font-size: 2.6666666667vw;
  }

  body {
    font-size: 1.4rem;
  }

}


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

    layout center

*/
.l-center {
  max-width: 110rem;
  margin-right: auto;
  margin-left: auto;
  box-sizing: content-box;
}

@media screen and (max-width: 767px) {

  .l-center {
    padding-right: var(--s2);
    padding-left: var(--s2);
    box-sizing: border-box;
  }

}

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

    titles

*/
.main-area h1,
.main-area h2,
.main-area h3,
.main-area h4,
.main-area h5,
.main-area h6 {
  word-wrap: break-word;
}


@media (hover: hover) {

  .main-area h2:not([class]) a:hover,
  .main-area h3:not([class]) a:hover,
  .main-area h4:not([class]) a:hover,
  .main-area h5:not([class]) a:hover,
  .main-area h6:not([class]) a:hover {
    opacity: 0.6;
  }
}


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

	text

*/
.marker {
  padding-bottom: 2px;
    border: 0;
    background: linear-gradient(transparent 90%, #ffbc5a 90%);
    font-weight: 700;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.txt_bold {
  font-weight: 700;
  color: var(--color-story-deep-orange);
}


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

    リスト

*/
ul:not([class]) {
  margin: 3rem 0;
}

ul:not([class]) > li {
  margin: 0 0 1.4rem;
  padding-left: 1.9rem;
  line-height: 2.3rem;
  position: relative;
}

ul:not([class]) > li::before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-color: var(--color-low-green);
  border-radius: 50%;
  position: absolute;
  top: 0.5rem;
  left: 0;
}

ol:not([class]) {
  margin: 2.6rem 0 0;
  counter-reset: low-number;
}

ol:not([class]) > li {
  margin: 0 0 1.4rem;
  padding-left: 3rem;
  counter-increment: low-number;
  line-height: 2.6rem;
  position: relative;
}

ol:not([class]) > li::before {
  content: counter(low-number);
  width: 2.2rem;
  height: 2.2rem;
  background-color: var(--color-accent-yellow);
  border-radius: 0.4rem;
  color: var(--color-text);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  position: absolute;
  top: 0.2rem;
  left: 0;
}

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

    caption

*/
.caption {
  margin-top: 0.8em;
  display: block;
  color: #999;
  font-size: 1rem;
  line-height: 1.5;
  text-align: left;
  word-break: break-all;
}

.caption a {
  color: #999;
}

@media screen and (max-width: 767px) {

  .caption {
    font-size: 0.9rem;
  }

}
.l-date {
	 margin-top: 0.8em;
  display: block;
  color: #999;
  font-size: 1.2rem;
  text-align: left;
}

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

    float wrap

*/
.float-wrap {
  display: flow-root;
  margin: var(--s4) 0;
}

.float-wrap .float-img.fr {
  width: 37rem;
  margin-left: var(--s5);
  margin-bottom: var(--s2);
  float: right;
}

.float-wrap .float-img.fl {
  width: 37rem;
  margin-right: var(--s5);
  margin-bottom: var(--s2);
  float: left;
}

.float-wrap .float-img.ct {
  width: 55rem;
	text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--s2);
}

@media screen and (max-width: 767px) {

  .float-wrap .float-img.fr {
    width: 100%;
    margin-left: 0;
    float: none;
  }

  .float-wrap .float-img.fl {
    width: 100%;
    margin-right: auto;
    float: none;
	text-align: center;
  }

  .float-wrap .float-img.ct {
    width: 100%;
    margin-left:  auto;
    margin-right:  auto;
	  text-align: center;
  }
}

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

    table

*/
table {
  width: 100%;
  margin: var(--s5) 0;
  border-collapse: collapse;
}

table th,
table td {
  padding: var(--s2);
  border-right: solid 1px #c7c7c7;
  border-bottom: solid 1px #c7c7c7;
	border-top: solid 1px #c7c7c7;
  line-height: 1.5;
  word-break: break-all;
}

table th {
  background: #f3f3f3;
}

table td {
  background: #fff;
}



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

    btn

*/
.btn-web,.btn-internal {
  width: 40rem;
  margin: 4rem auto;
  position: relative;
}

.btn-internal a {
  width: 100%;
  margin: 0 auto;
  padding: 2.5rem 6rem;
	border: solid 2px #74a399ad;
  background: var(--color-white) url("img/mv-arrow-sp.svg") no-repeat right 2.2rem center/3rem 3rem;
  box-shadow: 2px 2px 5px var(--color-mv-shadow);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-bubble-text);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.2rem;
  text-align: center;
  text-decoration: none;
  position: relative;
  z-index: 1;
  transition: opacity 0.3s;
  border-radius: 30rem;
}



.btn-web a {
  width: 100%;
  margin: 0 auto;
  padding: 2.5rem 7rem;
  background: linear-gradient(90deg, var(--color-button-start), var(--color-button-end));
  box-shadow: 2px 2px 5px var(--color-mv-shadow);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.2rem;
  text-align: center;
  text-decoration: none;
  position: relative;
  z-index: 1;
  transition: opacity 0.3s;
  border-radius: 30rem;
}

.btn-web a::before,
.btn-web a::after {
  content: "";
  width: 1.6rem;
  height: 1.1rem;
  border: 1px solid var(--color-white);
  position: absolute;
  top: calc(50% - 7px);
  right: 3.6rem;
}

.btn-web a::after {
  border-top: 0;
  border-right: 0;
  top: calc(50% - 3px);
  right: 4rem;
}


@media (hover: hover) {

  .btn-internal a:hover,
  .btn-web a:hover {
    opacity: 0.7;
  }
}

.btn-link {
  margin: var(--s2) auto;
  text-align: right;
}

.btn-link a {
  margin: 0;
  padding: var(--s1) var(--s4) var(--s1) 0;
  background: url("img/arrow-red.svg") no-repeat center right/2.2rem auto;
  display: inline-block;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: underline;
}

@media (hover: hover) {
  .btn-link a:hover {
    text-decoration: none;
    opacity: 0.6;
  }
	  a:hover {
    text-decoration: none;
    opacity: 0.6;
  }
}

.btn-column {
  margin: 4rem 0;
  display: flex;
  justify-content: center;
  gap:2.3rem;
}

.btn-column .btn-web,
.btn-column .btn-internal {
  margin: 0;
  display: flex;
}

@media screen and (max-width: 767px) {



  .btn-web a {
    width: 100%;
	  padding: 2rem 5rem;
  }
  .btn-internal a {
    width: 100%;
    padding: 2rem 5rem;
    background-position: right 12px center;
    background-size: 30px 30px;
  }

  .btn-link {
    margin: var(--s1) auto;
  }

  .btn-column {
    flex-direction: column;
    gap: var(--s3);
  }
	.btn-web a::after {
    right: 2rem;
}
.btn-web a::before{
    right: 1.6rem;
}

}



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

    gnavi

*/
/* --- ハンバーガーボタン (一番下だけ短く右寄せのデザイン) --- */
.gnavi-btn {
  width: 5rem;
  height: 3rem;
  background: transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end; /* 右揃えにする */
  gap: 0.8rem;
  position: fixed;
  right: 1.5rem;
  top: 1.5rem;
  z-index: 500;
  cursor: pointer;
  border: none;
  padding: 0;
}

/* 3本共通スタイル（同じ太さ・右揃え） */
.gnavi-btn span {
  width: 4.2rem;
  height: 1px;
  display: block;
  background-color: var(--color-bubble-text);
  border-radius: 1px;
  position: relative;
  transition: transform 0.4s ease, opacity 0.4s ease, width 0.3s ease;
}

/* 1本目と2本目 */
.gnavi-btn span:nth-of-type(1) {
  width: 4.2rem;
}

.gnavi-btn span:nth-of-type(2) {
  width: 4.2rem;
}

/* 3本目だけ短くする */
.gnavi-btn span:nth-of-type(3) {
  width: 3rem;
}


/* --- 開いた状態 (×印へのアニメーション) --- */
.gnavi-btn.is-active span:nth-of-type(1) {
  transform: translateY(10px) rotate(30deg);
}

.gnavi-btn.is-active span:nth-of-type(2) {
  opacity: 0;
}

.gnavi-btn.is-active span:nth-of-type(3) {
  width: 4.2rem; /* ×印の時は長さを揃えてきれいに交差させる */
  transform: translateY(-8px) rotate(-30deg);
}
/* --- ドロワー本体 --- */
.gnavi-area {
  width: 100%;
  max-width: 42rem;
  height: 100vh;
  height: 100dvh;
  padding: 3rem 2.5rem 5rem;
  background-color: var(--color-white);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 400;
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
  opacity: 0;
  overflow-y: auto;
  box-shadow: -4px 0 15px var(--color-mv-shadow);
}

body.is-gnavi-open {
  overflow: hidden;
}

body.is-gnavi-open .gnavi-area {
  opacity: 1;
  transform: translateX(0);
}

/* --- ロゴ & バナー --- */
.gnavi-area__logo {
  text-align: center;
  margin-top: 1rem;
  margin-bottom: 2.5rem;
}
.gnavi-area__logo img {
  width: 9rem;
  height: auto;
}

.gnavi-area__banner {
  margin-bottom: 3.5rem;
}
.btn-internal-banner {
  width: 100%;
  min-height: 7.5rem;
  padding: 1.5rem 4.5rem 1.5rem 2rem;
  background: var(--color-white);
  border-radius: 4rem;
  box-shadow: 0 4px 12px var(--color-mv-shadow);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--color-bubble-text);
  text-align: center;
  position: relative;
  transition: opacity 0.3s ease;
}
.btn-internal-banner span {
  font-size: 1.3rem;
  line-height: 1.5;
  font-weight: 500;
}
.btn-internal-banner strong {
  font-size: 1.5rem;
  font-weight: 700;
}
.btn-internal-banner::after {
  content: "";
  width: 2.2rem;
  height: 2.2rem;
  background: url("img/mv-arrow-sp.svg") no-repeat center/contain;
  position: absolute;
  right: 1.8rem;
  top: 50%;
  transform: translateY(-50%);
}

/* --- ナビゲーションリスト --- */
.l-header__menu-list {
  margin: 0;
  padding: 0;
}

.l-header__menu-list-item {
  border-top: 1px solid var(--color-bubble-line);
}
.l-header__menu-list-item:last-child {
  border-bottom: 1px solid var(--color-bubble-line);
}

.l-header__menu-list-button,
.l-header__menu-detail-button {
  margin: 0;
  position: relative;
  display: flex;
  align-items: center;
}

.l-header__menu-list-button-link {
  width: 100%;
  min-height: 5.6rem;
  padding: 1.5rem 4.5rem 1.5rem 0.5rem;
  display: flex;
  align-items: center;
  color: var(--color-bubble-text);
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;
  position: relative;
}

/* 子階層なし（単独リンク）の場合の右矢印 */
.l-header__menu-list-item:not(.js-accordion) > .l-header__menu-list-button > .l-header__menu-list-button-link::after,
.l-header__menu-detail-item:not(.js-accordion) > .l-header__menu-detail-button > .l-header__menu-detail-button-link::after {
  content: "";
  width: 3rem;
  height: 3rem;
  background: url("img/mv-arrow-sp.svg") no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
}
.l-header__menu-list-button > .js-accordion__button {
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.l-header__menu-list-button > .js-accordion__button::after {
  content: "";
  width: 3rem;
  height:3rem;
  background: url("img/mv-arrow-sp.svg") no-repeat center / contain;
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%) rotate(90deg);
  transition: none;
}
/* アコーディオン開閉状態 */
.toggle-content {
  display: none;
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: height 0.4s ease, opacity 0.4s ease;
}

.js-accordion.is-open > .l-header__menu-list-button > .js-accordion__button::after {
  background: url("img/mv-arrow-sp.svg") no-repeat center / contain;
  transform: translateY(-50%) rotate(-90deg);
}
.gnavi-toggle-btn {
  width: 4.5rem;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 2;
}

.gnavi-toggle-btn::after {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background: url("img/mv-arrow-sp.svg") no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0.5rem;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}

.js-accordion.is-open > .l-header__menu-detail-button > .gnavi-toggle-btn::after {
  background: url("img/footer_arrow.svg") no-repeat center/contain;
  transform: translateY(-50%) rotate(180deg);
}
/* 子階層・孫階層の装飾 */
.l-header__menu-detail-item {
  border-top: 1px dashed var(--color-bubble-line);
  background: rgba(255, 255, 255, 0.45);
}
.l-header__menu-detail-button-link {
  width: 100%;
  min-height: 4.8rem;
  padding: 1.2rem 4.5rem 1.2rem 1.5rem;
  display: flex;
  align-items: center;
  color: var(--color-text);
  font-size: 1.4rem;
  font-weight: 500;
  text-decoration: none;
}
.l-header__menu-detail--grandchild .l-header__menu-detail-button-link {
  padding-left: 2.8rem;
  font-size: 1.3rem;
}

@media screen and (max-width: 767px) {
  .gnavi-area {
    max-width: 100%;
    padding: 2.5rem 2rem 4rem;
  }
	.gnavi-btn {
    width: 6rem;
    height: 4rem;
    background: #ffffffbd;
    padding: 1rem;
		border-radius: 3px;
}
}


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

    footer

*/
.footer-copyright,
.footer-copyright a {
  background: #3163AD;
  text-align: center;
  color: #fff;
}

.page-top {
  width: 7.2rem;
  height: auto;
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  z-index: 10;
  transition: opacity 0.3s;
}

.page-top__link,
.page-top__link img {
  width: 100%;
  display: block;
}

@media (hover: hover) {
  .page-top__link:hover {
    opacity: 0.6;
  }
}

@media screen and (max-width: 767px) {
  .page-top {
    width: 5.5rem;
    height: auto;
    bottom: 66px;
  }
}

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

    template

*/
:root {
  --color-text: #333;
  --color-white: #fff;
  --color-accent-yellow: #FED961;
  --color-accent-orange: #FFA85D;
  --color-sponsor: #A7A7A7;
  --color-bubble-text: #73604D;
  --color-bubble-line: #B29F8D;
  --color-mv-panel: rgba(255, 255, 255, 0.94);
  --color-mv-shadow: rgba(0, 0, 0, 0.2);
  --color-mv-grad-center: #FFFCF5;
  --color-mv-grad-edge: rgba(243, 241, 239, 0.5);
  --color-story-deep-orange: #C28142;
  --color-story-green: #EDF9F3;
  --color-story-cream: #F9F6EC;
  --color-story-gray: #8B8B8B;
  --color-story-accordion-close: #CBCBCB;
  --color-button-start: #ff4e00;
  --color-button-end: #ff832b;
  --color-summary-orange: #F88C00;
  --color-summary-pale: #FFEED3;
  --color-supervision-note: #999;
  --color-supervision-bg: #fff;
  --color-system-bg: #FFFBF1;
  --color-venture-card-overlay: rgba(68, 55, 44, 0.8);
  --color-qa-answer: #FFF1C2;
  --color-guidance-bg: #F88C00;
  --color-guidance-card: #F9F7F5;
  --color-guidance-information: #79C2B5;
  --color-guidance-recommend: #FFCC2B;
  --color-guidance-check: #D8D8D8;
  --color-header-line: #06C755;
  --color-low-title: #FF9A42;
  --color-low-title-decoration: rgba(255, 255, 255, 0.3);
  --color-low-green: #74A399;
  --color-low-table: #E4F5F1;
  --color-mv-lp-panel: rgba(255, 255, 255, 0.9);
  --color-mv-lp-title-bg: rgba(216, 174, 38, 0.5);
  --color-mv-lp-gradation: rgba(100, 107, 105, 0.71);
  --color-mv-lp-orange: #F88C00;
}

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

    template
    ヘッダー

*/
.site-header {
  width: 100%;
  height: 7rem;
  padding: 1.3rem 2rem;
  background-color: var(--color-white);
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 300;
}

.site-header__logo {
  width: 13.6rem;
  height: 3.9rem;
  flex-shrink: 0;
}

.site-header__logo img {
  width: 100%;
  height: 100%;
}

.site-header__title {
  width: 25.5rem;
  margin-top: -0.3rem;
  color: var(--color-bubble-text);
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.35;
}
.site-header__title h1{
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.35;
}
.site-header__title a{
  color: var(--color-bubble-text);
	text-decoration:none;
}
.site-header__sponsor {
  margin-top: 3px;
  color: var(--color-sponsor);
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.5;
}
.header-navi {
  height: 4.5rem;
  margin-right: 5rem;
  margin-left: auto;
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}

.header-navi__about {
  width: 24.4rem;
  margin-right: 3rem;
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.header-navi__about-lead {
  font-size: 1.3rem;
  line-height: 1.5;
}

.header-navi__about-label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  line-height: 1.5;
}

.header-navi__arrows {
  width: 1rem;
  height: 1rem;
  position: relative;
  flex-shrink: 0;
}

.header-navi__arrows img {
  width: 0.6rem;
  height: 1rem;
  position: absolute;
  top: 0;
  left: 0;
}

.header-navi__arrows img:last-child {
  left: 0.4rem;
}

.header-navi__button {
  width: 19rem;
  height: 4rem;
  padding: 0 1.6rem;
	box-shadow: 1px 1px 5px var(--color-mv-shadow);
  border-radius: 10rem;
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  flex-shrink: 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
}

.header-navi__button--reserve {
  background: linear-gradient(90deg, var(--color-button-start), var(--color-button-end));
}

.header-navi__button--reserve img {
  width: 2.2rem;
  height: 2rem;
}

.header-navi__button--line {
  width: 19.5rem;
  background: var(--color-header-line);
}

.header-navi__button--line img {
  width: 1.7rem;
  height: 1.6rem;
}

@media (hover: hover) {
  .site-header a:hover {
    opacity: 0.7;
  }

  .header-navi__about:hover {
    color: var(--color-text);
  }

  .header-navi__button:hover {
    color: var(--color-white);
  }
}

@media screen and (max-width: 767px) {
  .site-header {
    height: 7rem;
    padding: 0.4rem 1rem 0.6rem;
    gap: 0.9rem;
    position: relative;
    top: auto;
    left: auto;
  }

  .site-header__logo {
    width: 5.4rem;
    height: 6rem;
  }

  .site-header__title {
   width: 230px;
        margin-top: .8rem;
        line-height: 1.5;
        white-space: normal;
  }
	

  .header-navi {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0.8rem;
    background-color:#ffffffc4;
    display: flex;
    align-items: center;
    gap: 1.6rem;
    position: fixed;
    right: auto;
    bottom: 0;
    left: 0;
    z-index: 400;
  }

  .header-navi__about {
    display: none;
  }

  .header-navi__button,
  .header-navi__button--line {
    width: calc((100% - 1.6rem) / 2);
    height: 4.8rem;
    padding: 0 1rem;
    gap: 0.5rem;
    flex: 1 1 0;
    font-size: 1.4rem;
  }
}

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

    メインビジュアル

*/

.mv {
  --mv-slide-offset: 0px;
  --mv-slide-width: 3060px;
  --mv-stage-scale: 1;
  --mv-stage-height: 720px;
  --mv-rendered-slide-width: calc(var(--mv-slide-width) * var(--mv-stage-scale));
  --mv-track-origin: 0px;
  --mv-bubble-adjust-x: 30rem;
  --mv-bubble-opacity: 1;
  min-height: calc(var(--mv-stage-height) + 720px);
  margin-top: 70px;
  color: var(--color-text);
  overflow: hidden;
  position: relative;
}

.mv-background {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.mv-background__slide {
  width: 100%;
  min-width: 0;
  height: 720px;
  background-attachment: scroll;
  background-repeat: repeat-x;
  background-position: calc(var(--mv-track-origin) + var(--mv-slide-offset)) center;
  background-size: var(--mv-rendered-slide-width) auto;
}

.mv-background__slide--upper {
  height: var(--mv-stage-height);
  background-image: url("img/mv-bg.jpg");
}

.mv-background__slide--lower {
  background-image: url("img/mv-bg.jpg");
}

.mv-bubbles {
  --mv-bubble-loop-offset: 0px;
  width: auto;
  max-width: none;
  height: calc(486px * var(--mv-stage-scale));
  opacity: var(--mv-bubble-opacity);
  position: absolute;
  top: calc(33px * var(--mv-stage-scale));
  left: calc(var(--mv-track-origin) + (var(--mv-bubble-adjust-x) * var(--mv-stage-scale)));
  transform: translate3d(calc(var(--mv-slide-offset) + var(--mv-bubble-loop-offset)), 0, 0);
  z-index: 1;
  pointer-events: none;
  transition: opacity 0.25s ease-out;
  will-change: opacity, transform;
}

.mv-catch {
  width: 950px;
  padding: 40px 55px 40px 55px;
  background: var(--color-mv-panel);
  box-shadow: 1px 1px 20px var(--color-mv-shadow);
  position: absolute;
  top: calc(440px * var(--mv-stage-scale));
  right: 0;
  transform: scale(var(--mv-stage-scale));
  transform-origin: right top;
  z-index: 2;
}

.mv-catch__lead {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
}

.mv-catch__title {
  margin-top: 3px;
  margin-left: 23px;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.5;
}

.mv-catch__phrase {
  display: inline-block;
  margin-right: 28px;
  position: relative;
}

.mv-catch__phrase::before,
.mv-catch__phrase::after {
  content: "";
  width: 29px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 13px;
}

.mv-catch__phrase::before {
  background-image: url("img/mv-lp-quote-left.svg");
  left: -29px;
}

.mv-catch__phrase::after {
  background-image: url("img/mv-lp-quote-right.svg");
  right: -29px;
}

.mv-catch__sponsor {
  margin-top: 6px;
  color: var(--color-sponsor);
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}

.mv-intro {
  width: 100%;
  min-height: 720px;
  padding-top: 117px;
  background: linear-gradient(90deg, var(--color-mv-grad-edge) 0%, var(--color-mv-grad-center) 47.115%, var(--color-mv-grad-edge) 100%);
  text-align: center;
  position: relative;
  margin-top: var(--mv-stage-height);
  z-index: 1;
}

.mv-intro__title {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
}

.mv-intro__dream,
.mv-intro__about,
.mv-intro__closing {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
}

.mv-intro__dream {
  margin-top: 20px;
}

.mv-intro__title.is-reveal-ready,
.mv-intro__dream.is-reveal-ready,
.mv-intro__about.is-reveal-ready,
.mv-intro__closing.is-reveal-ready {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.mv-intro__title.is-reveal-ready.is-visible,
.mv-intro__dream.is-reveal-ready.is-visible,
.mv-intro__about.is-reveal-ready.is-visible,
.mv-intro__closing.is-reveal-ready.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.mv-intro__about {
  margin-top: 50px;
  line-height: 2.4;
}
.mv-intro__keyword {
  position: relative;
  display: inline-block;
  padding-bottom: 7px;
  border-bottom: none;
  font-size: 2.4rem;
  line-height: 1.2;
}

.mv-intro__keyword::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 0;
  height: 4px;

  background-image: radial-gradient(
    circle,
    var(--color-accent-orange) 2px,
    transparent 2.2px
  );
  background-size: 8px 4px;
  background-repeat: repeat-x;
  background-position: left bottom;
}
.mv-intro__closing {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .mv {
    --mv-slide-width: 1578px;
    min-height: 1116px;
    margin-top: 0;
  }

  .mv-background__slide {
    width: 100%;
    min-width: 0;
    height: 372px;
    background-size: var(--mv-slide-width) auto;
  }

  .mv-background__slide--upper {
    background-image: url("img/mv-bg.jpg");
  }

  .mv-background__slide--lower {
    background-image: url("img/mv-bg.jpg");
  }

  .mv-background__slide--sp-third {
    background-image: url("img/mv-bg.jpg");
  }

  .mv-bubbles {
    display: none;
  }

  .mv-catch {
    width: calc(100% - 15px);
    padding: 19px 18px 14px 20px;
    top: 313px;
  }

  .mv-catch__lead {
    font-size: 1.8rem;
    line-height: 1.5;
    white-space: nowrap;
  }

  .mv-catch__title {
    margin-top: 7px;
    margin-left: 23px;
    font-size: 3rem;
    line-height: 1.3;
    white-space: normal;
  }

  .mv-catch__phrase {
    margin-right: 18px;
  }

  .mv-catch__phrase::before,
  .mv-catch__phrase::after {
    width: 19px;
    height: 16px;
    top: 6px;
  }

  .mv-catch__phrase::before {
    left: -23px;
  }

  .mv-catch__phrase::after {
    right: -23px;
  }

  .mv-catch__sponsor {
    width: auto;
    margin-top: 13px;
    line-height: normal;
    white-space: normal;
  }

  .mv-intro {
        min-height: 684px;
        margin-top: 433px;
        background: linear-gradient(90deg, #f3f1efad 0%, var(--color-mv-grad-center) 47.115%, #f3f1efad 100%);
        padding-top: 110px;
  }

  .mv-intro__title {
    font-size: 2.4rem;
    line-height: 1.5;
  }

  .mv-intro__dream,
  .mv-intro__about,
  .mv-intro__closing {
    font-size: 1.6rem;
    line-height: 2;
  }

  .mv-intro__dream {
    margin-top: 14px;
  }

  .mv-intro__about {
    width: calc(100% - 7px);
    margin: 20px auto 0;
    line-height: 2;
  }

 .mv-intro__keyword {
    padding-bottom: 5px;
    font-size: 2rem;
  }

  .mv-intro__keyword::after {
    left: 1.5px;
    right: 1.5px;
    height: 3px;

    background-image: radial-gradient(
      circle,
      var(--color-accent-orange) 1.5px,
      transparent 1.7px
    );

    background-size: 6px 3px;
  }
  .mv-intro__closing {
    margin-top: 20px;
  }

  .mv-intro .btn-internal {
    margin: 29px auto 0;
  }

  .mv-intro .btn-internal a {
    width: 100%;
    padding: 15px 38px;
    display: block;
  }

  .mv-intro .btn-internal a::first-line {
    font-size: 1.4rem;
  }
}

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

    監修メインビジュアル

*/
.main-area.kanshu{
    margin-top: 6.7rem;
}
.main-area.kanshu .l-date{
    margin-left:2rem ;
	 margin-bottom: .5rem;
}
.mv_lp {
  width: 100%;
  height: min(46.02vw, 85.4rem);
  background-color: var(--color-white);
  color: var(--color-white);
  position: relative;
  overflow: hidden;
}

.mv_lp__background,
.mv_lp__color,
.mv_lp__mask,
.mv_lp__gradation,
.mv_lp__people {
  position: absolute;
}

.mv_lp__background {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  top: 0;
  left: 0;
}

.mv_lp__color {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.mv_lp__gradation {
  width: 100%;
  height: 30%;
  background: linear-gradient(to bottom, transparent, rgb(100 107 105 / 40%) 68.06%);
  bottom: 0;
  left: 0;
}

.mv_lp__people {
  width: 79.95%;
  max-width: none;
  height: auto;
  top: 2.93%;
  left: 33.68%;
}

.mv_lp__features {
  width: max-content;
  min-width: 43.07%;
  max-width: 100%;
  margin: 0;
  padding: min(1vw, 3.1rem) min(3.14vw, 4.8rem) min(2.18vw, 1.8rem) min(9.89vw, 15.1rem);
  background-color: var(--color-mv-lp-panel);
  box-shadow: 1px 1px 10px var(--color-mv-shadow);
  display: grid;
  grid-template-columns: repeat(2, max-content);
  align-content: center;
  column-gap: min(5.23vw, 8rem);
  row-gap: min(0.46vw, 0.7rem);
  position: absolute;
  top: 78%;
  left: 0;
}

.mv_lp__features li {
  color: var(--color-text);
  display: flex;
  align-items: center;
  gap: min(0.52vw, 0.8rem);
  font-size: min(1.31vw, 2rem);
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}

.mv_lp__features img {
  width: min(1.91vw, 2.9rem);
  height: min(1.57vw, 2.4rem);
  flex-shrink: 0;
}

.mv_lp__catch {
  width: 52%;
  position: absolute;
  top: 48%;
  left: 9.4%;
}

.mv_lp__lead {
  width: fit-content;
  padding: 0 min(0.56vw, 0.9rem);
  background-color: var(--color-mv-lp-title-bg);
  color: var(--color-white);
  display: block;
  font-size: min(2.35vw, 3.6rem);
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}

.mv_lp__title {
  width: fit-content;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-white);
  font-size: min(5.1vw, 7.8rem);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  position: relative;
  overflow: visible;
}

.mv_lp__title-main {
  width: fit-content;
  margin-top: min(0.37vw, 0.6rem);
  display: flex;
  align-items: center;
  gap: min(0.65vw, 1rem);
}

.mv_lp__quote {
  width: min(2.75vw, 4.2rem);
  height: min(2.3vw, 3.5rem);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
}

.mv_lp__quote--left {
  background-image: url("img/mv-lp-quote-left.svg");
}

.mv_lp__quote--right {
  background-image: url("img/mv-lp-quote-right.svg");
}

.mv_lp__title-text {
  white-space: nowrap;
  position: relative;
  z-index: 1;
}

.mv_lp__note {
  margin:0;
  color: var(--color-white);
  font-size:1.1rem;
  font-weight: 500;
  line-height: normal;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
	.main-area.kanshu {
    margin-top: 0;
}
	.main-area.kanshu .l-date {
    margin-left: 1rem;
	    margin-top: 0;
    margin-bottom: .5rem;
}
  .mv_lp {
    height: auto;
    aspect-ratio: 390 / 555;
	  margin-top:0;
    background-color: var(--color-mv-lp-orange);
  }

  .mv_lp__background {
          width: 141.95%;
        max-width: none;
        height: auto;
        object-fit: fill;
        object-position: center;
        top: -1.6%;
        left: auto;
        left: 50%;
        transform: translateX(-50%);  
  }

  .mv_lp__color {
                width: 237.31%;
        max-width: none;
        height: 117%;
        top: 30.69%;
        left: -70.77%;
  }

  .mv_lp__mask {
 width: 100.26%;
        max-width: none;
        height: auto;
        top: -3.6%;
        left: 0;
  }

  .mv_lp__gradation {
    width: 100%;
    height: 15.5%;
    background:none;
    top: 38.2%;
    bottom: auto;
  }

 
  .mv_lp__features {
   width: 96.15%;
        min-width: 0;
        max-width: none;
        padding: 16px 10px;
        grid-template-columns: calc(49% + 0.5px) minmax(0, 1fr);
        column-gap: 0px;
        row-gap: 8px;
                top: 78.5%;
  }

  .mv_lp__features li {
    gap: 5px;
    font-size: clamp(1.2rem, 3.85vw, 1.5rem);
    line-height: 1.5;
  }

  .mv_lp__features img {
    width: clamp(18px, 5.64vw, 22px);
    height: clamp(16px, 5.13vw, 20px);
  }

  .mv_lp__catch {
 width: calc(100% - 30px);
        top: 45%;
        left: 15px;
  }

  .mv_lp__lead {
    padding-inline: 4px;
    font-size: clamp(1.4rem, 4.1vw, 1.6rem);
    line-height: 1.5;
	  text-align: center;
        margin: auto;
  }

  .mv_lp__title {
    font-size: clamp(3rem, 9.23vw, 3.6rem);
    line-height: 1.5;
  }

  .mv_lp__title-main {
    margin-top: 7px;
    gap: 6px;
	align-items: baseline;
  }

  .mv_lp__quote {
    width: clamp(18px, 5.64vw, 22px);
    height: clamp(15px, 4.62vw, 18px);
  }

  .mv_lp__note {
    margin-top: 15px;
    line-height: normal;
    white-space: normal;
  }
	.mv_lp__title-text {
  white-space: normal;
line-height: 1.2;
}

}

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

    Story セクション01

*/
.sec_01 {
  padding: 115px 0 0;
  background-color: var(--color-white);
  background-image: linear-gradient(27.276deg, var(--color-white) 61.105%, var(--color-story-cream) 80.775%, rgba(254, 217, 97, 0.1) 99.342%);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 772px;
  color: var(--color-text);
  position: relative;
}

.sec_01::before {
  content: "";
  width: 259px;
  height: 151px;
  background: url("img/story-heading-decoration.svg") no-repeat center/contain;
  position: absolute;
  top: 29px;
  left: calc(50% - 191px);
}

.story-heading,
.story-entry {
  width: min(1100px, calc(100% - 40px));
  margin-inline: auto;
}

.story-heading {
  padding-bottom: 4px;
  display: grid;
  gap:0 4rem;
  grid-template-columns: 510px 550px;
  grid-template-rows: 60px auto;
}

.story-heading__en {
  grid-column: 1;
  grid-row: 1;
  color: var(--color-story-deep-orange);
  font-family: "Caveat", cursive;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
}

.story-heading__title {
  grid-column: 1;
  grid-row: 2;
  margin-top: -1px;
  font-size: 4.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.story-heading__title::first-line {
  font-size: 3.2rem;
}

.story-heading__lead {
  grid-column: 2;
  grid-row: 2;
  margin-top: 56px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
}

.story-entry {
  margin-top: 69px;
  background: linear-gradient(180deg, var(--color-story-green), var(--color-story-cream));
}

.story-hero {
  height: auto;
  position: relative;
}

.story-hero > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-entry__number {
  width: 141px;
  height: 189px;
  color: var(--color-accent-orange);
  font-family: "Caveat", cursive;
  font-size: 12.8rem;
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  top: -110px;
  right: 45px;
  text-align: right;
}

.story-summary {
  width: 535px;
  padding: 34px 39px 27px 40px;
  background: var(--color-mv-panel);
  box-shadow: 1px 1px 10px var(--color-mv-shadow);
  position: absolute;
  right: 25px;
  bottom: 21px;
}

.story-summary__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  z-index: 1;
}

.story-summary__quotes {
  width: 472px;
  height: 21px;
  position: absolute;
  top: 14px;
  left: 28px;
}

.story-summary__meta {
  margin-top: 17px;
  color: var(--color-story-gray);
  display: flex;
  align-items: center;
  gap: 19px;
  font-size: 1.4rem;
  font-weight: 700;
}

.story-summary__meta span + span + span {
  padding-left: 10px;
  border-left: 1px solid var(--color-story-gray);
}

.story-summary__tag {
  padding: 6px 20px;
  border: 1px solid var(--color-story-deep-orange);
  border-radius: 5px;
  color: var(--color-story-deep-orange);
  line-height: 1;
}
.story-summary__meta.tem{
  margin:2rem 0;
}

.story-introduction {
      padding: 70px 0 50px 90px;
    display: grid;
    grid-template-columns: 617px 348px;
    align-items: center;
    gap: 45px;
}
.story-introduction.one{
      padding: 70px 90px 50px;
    display: block;
}

.story-introduction p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
}

.story-introduction__note {
  margin-top: 10px;
  display: block;
  font-size: 1.2rem;
}

.story-introduction__image {
  width: 348px;
  height: 224px;
  display: block;
  overflow: hidden;
}

.story-introduction__image img {
  width: 365px;
  height: 250px;
  max-width: none;
  object-fit: cover;
  transform: translate(-7px, -9px);
}

.story-body {
  padding: 0 90px 50px;
}

.story-question + .story-question {
  margin-top: 50px;
}

.story-question__title {
  color: var(--color-bubble-text);
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.story-question__title span {
  width: 70px;
  height: 70px;
  margin: 0 auto 24px;
  background: url("img/story-q-bg.svg") no-repeat center/contain;
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Montserrat", sans-serif;
  font-size: 2.8rem;
  line-height: 1;
}

.story-question__title span::before {
  content: "";
  width: 27px;
  height: 23px;
  background-color: var(--color-white);
  -webkit-mask: url("img/qa-label.svg") no-repeat center/contain;
  mask: url("img/qa-label.svg") no-repeat center/contain;
}

.story-answer-grid {
  margin-top: 50px;
  display: grid;
  grid-template-columns: repeat(2, 442px);
  gap: 30px;
}

.story-answer-grid__next {
  display: none;
}

.story-answer {
  padding: 30px;
  background: var(--color-white);
  position: relative;
}

.story-answer__profile {
  width: 82px;
    position: absolute;
    top: 17px;
    left: 30px;
    text-align: center;
}

.story-answer--partner .story-answer__profile {
  right: 30px;
  left: auto;
}

.story-answer__avatar {
  width: 82px;
  height: 82px;
  border-radius: 50%;
  display: block;
  overflow: hidden;
}

.story-answer__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-answer__name {
  margin-top: 5px;
  color: var(--color-story-gray);
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
}

.story-answer__title {
  padding-bottom: 20px;
  font-size: 1.8rem;
  font-weight: 700;
	display: flex;
    min-height: 90px;
    align-items: center;
  line-height: 1.5;
  position: relative;
}

.story-answer__title::after {
  content: "";
  width: 57px;
	display: none;
  height: 5px;
  background: url("img/story-answer-dots.svg") no-repeat center/contain;
  position: absolute;
  bottom: 1px;
  left: 0;
}
.story-answer:first-of-type .story-answer__title {
  padding: 0 0 20px 11.5rem;
}
.story-answer:nth-child(2) .story-answer__title {
justify-content: flex-end;
    padding: 0 11.5rem 20px 0;
}
.story-answer > p:last-child,
.story-dream__answer > p:last-child {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
}
	.story-dream__answer .story-answer__title{
    min-height: 0;
		text-align:center;
		    display: block;
  }
.story-dream__answer .story-answer__title::after {
  content: "";
  width: 57px;
  height: 5px;
	display: block;
  background: url("img/story-answer-dots.svg") no-repeat center/contain;
  position: absolute;
  bottom: 1px;
  left: 50%;
  transform: translateX(-50%);
}
.story-dream {
  height: 437px;
  margin-top: 40px;
  overflow: hidden;
  position: relative;
}
.story-dream.three{
  height:381px;
}
.story-dream.two{
  height: 381px;
}

.story-dream__background {
  width: 100%;
  height: 100%;
  opacity: 0.8;
  object-fit: cover;
	object-position: center bottom;
}

.story-dream__background.three{
  object-position: center bottom;
}

.story-dream__answer {
  width: 549px;
  min-height: 272px;
  padding: 30px;
  background: var(--color-white);
  position: absolute;
  top: 40px;
  left: 20px;
  z-index: 1;
}

.story-dream__people {
   width: 388px;
    height: auto;
    position: absolute;
    right: -44px;
    bottom: -9px;
}
.story-dream__people.two {
       width: 407px;
    right: -31px;
    bottom: -1px;
}
.story-dream__people.three {
    width: 427px;
    bottom: -8px;
	    right: -36px;
}

.story-question--result {
  margin-top: 49px;
}

.story-question--result .story-answer {
  min-height: 350px;
}

.story-entry--preview {
  margin-top: 74px;
}

.story-entry--preview .story-introduction {
  padding-bottom: 34px;
}

.story-entry__more {
  width: 80px;
margin: 0 20px 0 auto;
    padding: 0 0 30px;
  border: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  cursor: pointer;
}

.story-entry__more-label {
     width: 89px;
    height: 21px;
  margin-left: 4px;
  display: block;
  object-fit: contain;
  object-position: left center;
}

.story-entry__more-icon {
  width: 61px;
  height: 61px;
  margin-top: 3px;
  border-radius: 50%;
  background: var(--color-bubble-line);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: transform 0.25s ease;
}

.story-entry__more-icon img {
  display: none;
}

.story-entry__more-icon::before,
.story-entry__more-icon::after {
  content: "";
  width: 32px;
  height: 1px;
  background-color: var(--color-white);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.story-entry__more-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.story-entry__more.is-open .story-entry__more-icon::after {
  display: none;
}

.story-entry__accordion {
  transition: height 0.55s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.35s ease;
  will-change: height, opacity;
}

.story-entry__accordion[hidden] {
  display: none;
}

.story-entry__more.is-open .story-entry__more-label {
  content: url("img/story-close-label.svg");
  width: 40px;
  height: 19px;
  margin-left: 10px;
}

.story-entry__more.is-open .story-entry__more-icon {
  background: var(--color-story-accordion-close);
}

.sec_01 > .btn-web {
  margin-top: 60px;
  margin-bottom: -42px;
  z-index: 3;
}

.venture-summary {
  padding: 250px 0 130px;
  background: linear-gradient(var(--color-summary-orange), var(--color-summary-pale));
  color: var(--color-white);
  overflow: hidden;
  position: relative;
}

.venture-summary::before {
  content: "";
  width: calc(100% + 2px);
  height: 160px;
  background: var(--color-white);
  border-radius: 0 0 100px 100px;
  position: absolute;
  top: -1px;
  left: -1px;
  z-index: 1;
}
.venture-summary.lp::before {
 display: none;
}
.venture-summary.lp {
    padding: 60px 0 225px;
	 position: relative;
  overflow: hidden;
}

.venture-summary__background {
  width: 151.94%;
  max-width: none;
  height: 177.68%;
  object-fit: fill;
  position: absolute;
  top: -10.9%;
  left: -29.5%;
  z-index: 0;
}
.venture-summary.lp .venture-summary__background {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.venture-summary__inner {
  width: min(912px, calc(100% - 40px));
  margin-inline: auto;
  position: relative;
  z-index: 2;
}

.venture-summary__title {
  margin: 0;
  color: var(--color-white);
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.venture-summary__keyword {
  position: relative;
  display: inline-block;
  padding-bottom: 7px;
  border-bottom: none;
}

.venture-summary__keyword::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 0;
  height: 4px;
  background-image: radial-gradient(circle, #d86600 1.8px, transparent 2px);
  background-size: 8px 4px;
  background-repeat: round no-repeat;
  background-position: center;
}

.venture-summary__description{
  margin-top: 60px;
  font-weight: 500;
  line-height: 2;
}

.venture-summary__description p{
  margin: 0;
}

.venture-summary__description p + p {
  margin-top: 30px;
}

.venture-summary__marker {
  padding-bottom: 3px;
	color: var(--color-white);
  background: linear-gradient(transparent 70%, #d4690c8c 70%);
}

.venture-summary__actions {
  margin-top: 110px;
  display: flex;
  justify-content: center;
  gap: 32px;
}

.venture-summary__actions .btn-web,
.venture-summary__actions .btn-internal {
  margin: 0;
  display: flex;
}

.venture-summary__actions .btn-web a,.venture-summary__actions .btn-internal a{
border: 2px solid #ffffffb8;
}

@media (prefers-reduced-motion: reduce) {
  .story-entry__accordion {
    transition: none;
  }
}

@media screen and (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .sec_01 {
    padding: 41px 0 0;
    background-position: center top;
    background-size: 100% 534px;
    overflow: visible;
  }

  .sec_01::before {
    width: 197px;
    height: 115px;
    top: -22px;
    right: auto;
    z-index: 1;
    left: calc(50% - 32px);
  }

  .story-heading {
    width: calc(100% - 30px);
    padding-inline: 0;
    padding-bottom: 0;
    display: block;
  }

  .story-heading__en {
    font-size: 3.2rem;
  }

  .story-heading__title {
    margin-top: 6px;
    font-size: 3.2rem;
  }

  .story-heading__title::first-line {
    font-size: 2rem;
  }

  .story-heading__title .pc_br {
    display: inline;
  }

  .story-heading__lead {
    margin-top: 20px;
  }

  .story-entry {
    width: calc(100% - 32px);
    margin-top: 40px;
    padding-inline: 0;
  }

  .story-hero {
    height: auto;
    aspect-ratio: 1 / 1;
    overflow: visible;
  }

  .story-hero > img {
    width: 100%;
    max-width: 100%;
    object-fit: cover;
    transform: none;
  }

  .story-entry__number {
    width: 71px;
    height: 96px;
    font-size: 6.4rem;
    top: -54px;
    right: 19px;
    z-index: 2;
  }

  .story-summary {
    width: 100%;
    padding: 22px 15px 18px;
    right: 0;
    bottom: 0;
    box-shadow:none;
  }

  .story-summary__title {
    width: calc(100% - 8px);
    margin-inline: auto;
    font-size: 2rem;
    text-align: center;
  }

  .story-summary__quotes {
    content: url("img/story-summary-quotes-sp.svg");
    width: 288px;
    max-width: calc(100% - 33px);
    height: 16px;
    top: 14px;
    left: 50%;
    display: block;
    object-fit: fill;
    transform: translateX(-50%);
  }

  .story-summary__meta {
    width: 100%;
	  text-align: center;
    margin-top: 15px;
	display: inline-block;
    gap: 8px;
    white-space: nowrap;
  }
  .story-summary__tag {
           padding: 5px;
        margin-bottom: 5px;
        display: inline-flex;
  }

  .story-introduction {
    padding: 30px 0 0 15px;
    display: block;
  }
	 .story-introduction.one {
    padding: 30px 0 0 15px;
  }

  .story-introduction p {
    width: calc(100% - 15px);
  }

  .story-introduction__image {
    width: 100%;
    height: auto;
    margin-top: 30px;
    aspect-ratio: 340 / 209;
  }

  .story-introduction__image img {
    width: 102.7%;
    height: 114.35%;
    object-fit: fill;
    transform: translate(-0.9%, -4.55%);
  }

  .story-body {
    width: calc(100% + 15px);
    padding: 45px 33px 70px 15px;
  }

  .story-question + .story-question {
    margin-top: 45px;
  }

  .story-question {
    position: relative;
  }

  .story-question__title {
    width: auto;
    margin-inline: auto;
    font-size: 1.8rem;
  }

  .story-question__title span {
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    font-size: 2rem;
  }

  .story-question__title span::before {
    width: 20px;
    height: 17px;
  }

  .story-answer-grid {
    width: calc(100% + 33px);
    margin-top: 25px;
    padding: 20px 20px 0 0;
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .story-answer-grid::-webkit-scrollbar {
    display: none;
  }

  .story-answer-grid::after {
    content: none;
  }

  .story-answer-grid__next {
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    background: url("img/story-slider-next-sp.svg") no-repeat center/contain;
    display: block;
    position: absolute;
    top: 354px;
    right: 4px;
    z-index: 2;
    cursor: pointer;
    transition: transform 0.2s ease;
  }

  .story-question--result .story-answer-grid__next {
    top: 366px;
  }

  .story-answer-grid__next.is-prev {
    right: auto;
    left: 0;
    transform: rotate(180deg);
  }

  .story-answer {
    width: calc(100vw - 96px);
    max-width: 294px;
    padding: 90px 30px 24px;
    flex: 0 0 calc(100vw - 96px);
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .story-answer__profile,
  .story-answer--partner .story-answer__profile {
    top: -20px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }

  .story-answer__title {
    padding-bottom: 20px;
	          min-height: auto;
  }
.story-answer:first-of-type .story-answer__title {
    padding:10px 0;
	text-align: center;
}
	.story-answer:nth-child(2) .story-answer__title {
     padding:10px 0;
		justify-content: center;
		text-align: center;
}
  .story-answer > p:last-child,
  .story-dream__answer > p:last-child {
    font-size: 1.4rem;
  }

  .story-dream {
    height: auto;
    margin-top: 35px;
    overflow: visible;
  }
.story-dream.two,.story-dream.three {
   height: auto;
}
  .story-dream__background {
    height: auto;
    aspect-ratio: 388 / 202;
    display: block;
  }
	

  .story-dream__answer {
    width: 100%;
    padding: 20px 30px 30px;
    position: relative;
    top: auto;
    left: auto;
  }

  .story-dream__people{
         width: 63.27%;
        height: auto;
        object-fit: fill;
        right: 11px;
        top: 4px;
    bottom: auto;
  }
.story-dream__people.two {
      width: 68.27%;
        height: auto;
        right: 4px;
        top: 20px;
        bottom: auto;
  }
	  .story-dream__people.three{
            width: 72.27%;
        height: auto;
        object-fit: fill;
        right: 7px;
        top: 24px;
        bottom: auto;
  }
  .story-question + .story-question--result {
    margin-top: 59px;
  }

  .story-question--result .story-question__title {
    width: auto;
  }


  .story-entry--preview {
    margin-top: 80px;
  }

  .story-entry--preview .story-introduction {
    padding-bottom: 0;
  }



  .story-entry--preview .story-introduction__image {
    display: none;
  }

  .story-entry__more {
    width: 80px;
    margin: 17px 6px 11px auto;
	  padding: 0 0 20px;
  }

  .story-entry__more-icon {
    width: 42px;
    height: 42px;
    margin-top: 8px;
    margin-left: 15px;
  }

  .story-entry__more.is-open .story-entry__more-label {
    margin-left: 16px;
  }

  .story-entry__more-icon img {
    width: 22px;
    height: 22px;
  }

  .story-entry__more-icon::before,
  .story-entry__more-icon::after {
    width: 22px;
  }

  .sec_01 > .btn-web {
    margin-top: 60px;
    margin-bottom: 0;
	          padding: 0 16px 0;
  }


  .venture-summary {
    padding: 110px 0 80px;
  }
 .venture-summary.lp{
    padding: 44px 0 110px;
}

  .venture-summary::before {
    width: 100%;
    height: 50px;
    border-radius: 0 0 40px 40px;
    top: 0;
    left: 0;
  }

  .venture-summary__background {
    content: url("img/venture-summary-bg-sp.svg");
    width: 237.31%;
    height: 141.7%;
    top: -8.67%;
    left: -70.77%;
  }
.venture-summary.lp .venture-summary__background {
    content: url("img/venture-summary-bg-sp.svg");
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    object-fit: contain;
  }
  .venture-summary__inner {
    width: calc(100% - 32px);
  }

  .venture-summary__title {
    font-size: 2rem;
    line-height: 1.5;
  }

  .venture-summary__title > .pc_br,
  .venture-summary__actions .pc_br {
    display: inline;
  }

  .venture-summary__keyword {
    padding-bottom: 5px;
    font-size: 2.4rem;
  }

  .venture-summary__keyword::after {

    height: 3px;

    background-image: radial-gradient(
      circle,
      #d86600 1.5px,
      transparent 1.7px
    );

    background-size: 6px 3px;
  }


  .venture-summary__description {
    margin-top: 43px;
    font-size: 1.4rem;
    line-height: 2;
  }

  .venture-summary__description p + p {
    margin-top: 28px;
  }

 

  .venture-summary__actions {
    margin-top: 73px;
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
.venture-summary__actions .btn-web, .venture-summary__actions .btn-internal {
    max-width: 100%;
}

  .venture-summary__actions .btn-web a,
  .venture-summary__actions .btn-internal a {
    width: 100%; 
  }

 
}

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

    監修 セクション02

*/
.sec_02 {
  background-color: var(--color-supervision-bg);
  background-image: url("img/supervision-bg-pc.svg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 162.7rem;
  color: var(--color-text);
  position: relative;
}

.supervision-bubble {
  width: 76rem;
  padding: 5.2rem 8rem 7.5rem;
  background: url("img/supervision-bubble-pc.svg") no-repeat center/100% 100%;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  top: -9.1rem;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
}

.supervision__inner {
  width: 110rem;
  margin: 0 auto;
  padding-top: 14rem;
  padding-bottom: 20rem;
}

.supervision__lead {
  margin: 0;
  color: var(--color-accent-yellow);
  font-family: "Caveat", cursive;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  opacity: 0.4;
}

.supervision__heading {
  margin-top: 0.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
}

.supervision__heading span {
  padding-right: 1.6rem;
  border-right: 1px solid var(--color-bubble-line);
  color: var(--color-bubble-line);
  font-size: 1.8rem;
}

.supervision__title {
  margin-top: 3.2rem;
  color: var(--color-bubble-text);
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.supervision__title span {
  margin-right: 2.8rem;
  display: inline-block;
  position: relative;
}

.supervision__title span::before,
.supervision__title span::after {
  content: "";
  width: 2.4rem;
  height: 2.1rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.supervision__title span::before {
  background-image: url("img/mv-lp-quote-left.svg");
  left: -2.8rem;
}

.supervision__title span::after {
  background-image: url("img/mv-lp-quote-right.svg");
  right: -2.8rem;
}

.supervision__photo {
  width: 100%;
  height: 58.5rem;
  margin-top: 5.2rem;
  margin-right: auto;
  margin-left: auto;
  display: block;
  border-radius: 1.5rem;
  overflow: hidden;
  position: relative;
}

.supervision__photo.is-scroll-expand-ready {
  width: var(--supervision-photo-width, 40%);
  will-change: width;
}

@media (prefers-reduced-motion: reduce) {
  .supervision__photo.is-scroll-expand-ready {
    width: 100%;
  }
}

.supervision__photo-slide {
  width: 100%;
  height: 100%;
  opacity: 0;
  object-fit: cover;
  position: absolute;
  inset: 0;
  transform: scale(1);
  transition: opacity 1.4s ease, transform 6s ease-out;
}

.supervision__photo-slide.is-active {
  opacity: 1;
  z-index: 1;
  transform: scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
  .supervision__photo-slide {
    transition: none;
    transform: none;
  }

  .supervision__photo-slide.is-active {
    transform: none;
  }
}

.supervision__information {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: 34.4rem 1fr;
  gap: 3.2rem;
}

.supervision__logo {
  width: 34.4rem;
  height: 13.6rem;
  background-color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
}

.supervision__logo img {
  width: 28.8rem;
}

.supervision__caption {
  margin-top: 2rem;
}

.supervision__description {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
}

.supervision__description p,
.supervision__description p + p {
  margin-top: 0;
}

.sec_02 .btn-web {
  margin-top: 5.9rem;
  margin-bottom: 0;
}

.venture-system {
  background-color: var(--color-system-bg);
  text-align: center;
  position: relative;
	padding-bottom: 5rem;
}

.venture-system::before {
  content: "";
  width: 56.4rem;
  height: 49.3rem;
  background-color: var(--color-system-bg);
  border-radius: 50%;
  position: absolute;
  top: -10.7rem;
  left: 50%;
  transform: translateX(-50%);
}

.venture-system__badge {
  width: 13.2rem;
  height: 7.7rem;
  position: absolute;
  top: -8.4rem;
  left: calc(50% + 14.9rem);
  z-index: 1;
  transform: translateX(-50%);
}

.venture-system__title {
  padding-top: 0.5rem;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}

.venture-system__lead {
  margin-top: 3rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  position: relative;
}

.venture-system__viewport {
  height: 32.5rem;
  margin-top: 3.6rem;
  overflow: hidden;
  position: relative;
}

.venture-system__track {
  width: max-content;
  margin-left: calc(50% - 15.75rem);
  display: flex;
  gap: 5rem;
  touch-action: pan-y;
  transition: transform 0.5s ease;
  will-change: transform;
}

.venture-system__track.is-jumping {
  transition: none;
}

.venture-system__card {
  width: 31.5rem;
  height: 32.5rem;
  flex: 0 0 auto;
  position: relative;
}

.venture-system__card::before {
  content: "";
  width: 31.5rem;
  height: 31.5rem;
  background-color: var(--color-white);
  border-radius: 50%;
  position: absolute;
  top: 1rem;
  left: 0;
}

.venture-system__number {
  color: var(--color-accent-orange);
  font-family: "Caveat", cursive;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  top: -0.1rem;
  left: 3.4rem;
  z-index: 1;
}

.venture-system__card p {
  width: 100%;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  top: 6.7rem;
  left: 0;
  z-index: 1;
}

.venture-system__card p span {
  display: block;
  font-size: 1.4rem;
}
  .venture-system__card > p:not([class]),
  .venture-more__visual > p:not([class]) {
    font-size: 2rem;
  }

.venture-system__card > img {
  position: absolute;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
}

.venture-system__card--01 > img {
  width: 13.6rem;
  height: 14.2rem;
  top: 12.4rem;
}

.venture-system__card--02 > img {
  width: 10.8rem;
  height: 12rem;
  top: 14.3rem;
}

.venture-system__card--03 > img {
  width: 17.7rem;
  height: 15.5rem;
  top: 11.7rem;
}

.venture-system__card--04 > img {
  width: 22.5rem;
  height: 7.4rem;
  top: 15.9rem;
}

.venture-system__card--05 > img {
  width: 17.6rem;
  height: 14.4rem;
  top: 12.6rem;
}

.venture-system__card--06 > img {
  width: 14.5rem;
  height: 10.6rem;
  top: 16.3rem;
}

.venture-system__card--07 > img {
  width: 13.4rem;
  height: 12.1rem;
  top: 12.2rem;
}

.venture-system__card--08 > img {
  width: 16.3rem;
  height: 12.5rem;
  top: 13.4rem;
}

.venture-system__arrow {
  width: 5.3rem;
  height: 5.3rem;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  position: absolute;
  top: 14rem;
  z-index: 2;
  transition: transform 0.25s ease;
}

.venture-system__arrow img {
  width: 100%;
  height: 100%;
  display: block;
}

.venture-system__arrow--prev {
  left: calc(50% - 18.6rem);
}

.venture-system__arrow--prev img {
  transform: rotate(180deg);
}

.venture-system__arrow--next {
  left: calc(50% + 12.8rem);
}

.venture-system__description {
  width: 100%;
  min-height: 12rem;
  margin-top: 0.9rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  position: relative;
}

.venture-system__detail {
  width: 100%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease;
}

.venture-system__detail.is-active {
  opacity: 1;
  pointer-events: auto;
}

.venture-system__actions {
  margin-top: 5rem;
  display: flex;
  justify-content: center;
  gap: 3.1rem;
}

.venture-system__actions .btn-web,
.venture-system__actions .btn-internal {

  margin: 0;
  display: flex;
}

.venture-more {
  max-width: 110rem;
  margin: 9.5rem auto 0;
  padding: 5.8rem 0 4.2rem;
  background-image: radial-gradient(circle, var(--color-accent-yellow) 1.5px, transparent 1.5px);
  background-repeat: repeat-x;
  background-position: left top;
  background-size: 1rem 0.5rem;
}

.venture-more__title {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.venture-more__title span {
  margin-bottom: 0.7rem;
  display: block;
  color: var(--color-bubble-text);
  font-size: 2rem;
  line-height: 1.5;
}

.venture-more__title span::before,
.venture-more__title span::after {
  content: "";
  width: 2.1rem;
  height: 1.8rem;
  margin-inline: 1rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: inline-block;
  vertical-align: -0.3rem;
}

.venture-more__title span::before {
  background-image: url("img/venture-more-title-left.svg");
}

.venture-more__title span::after {
  background-image: url("img/venture-more-title-right.svg");
  transform: scaleX(-1);
}

.venture-more__lead {
  margin-top: 3rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
}

.venture-more__list {
  margin-top: 3.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
}

.venture-more__item a {
  min-height: 30.9rem;
  background-color: var(--color-white);
  display: block;
  color: var(--color-text);
  text-decoration: none;
}

.venture-more__visual {
  height: 23.9rem;
  overflow: hidden;
  position: relative;
}

.venture-more__visual::after {
  content: "";
  background:linear-gradient(90deg, rgb(48 37 27 / 88%), rgb(76 61 47 / 26%));
  position: absolute;
  inset: 0;
}

.venture-more__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.venture-more__item:nth-child(4) .venture-more__visual img {
  object-position: left center;
}

.venture-more__number {
  color: var(--color-accent-yellow);
  font-family: "Caveat", cursive;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  position: absolute;
  top: 0;
  left: 0.5rem;
  z-index: 1;
}

.venture-more__number::after {
  content: "";
  width: 4.6rem;
  height: 2.6rem;
  background: url("img/venture-more-number-line.svg") no-repeat center/contain;
  position: absolute;
  top: 2.7rem;
  left: -0.5rem;
}

.venture-more__visual h4 {
  color: var(--color-white);
  font-family: "Zen Kaku Gothic New vertical", "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  writing-mode: vertical-rl;
  position: absolute;
  top: 5.2rem;
  left: 1rem;
  z-index: 1;
}

.venture-more__visual .venture-more__living-title {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0.4rem;
  writing-mode: horizontal-tb;
}

.venture-more__living-title span {
  writing-mode: vertical-rl;
}

.venture-more__item > a > p {
  min-height: 6.9rem;
  padding: 1.1rem 4rem 1.1rem 1.5rem;
  background: var(--color-white) url("img/mv-arrow-sp.svg") no-repeat right 0.8rem center/2.8rem 2.8rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
}

@media (hover: hover) {
  .venture-more__item a:hover .venture-more__visual img {
    transform: scale(1.04);
  }
}

.venture-qa {
  max-width: 110rem;
  margin: 0 auto;
  padding: 7.3rem 0 6.5rem;
  color: var(--color-text);
  text-align: center;
}

.venture-qa__mark {
  width: 10.3rem;
  height: 7.3rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transform: translateX(-9.9rem);
}

.venture-qa__mark img:first-child {
  width: 9.9rem;
  height: 6.6rem;
  flex-shrink: 0;
  transform: rotate(176.13deg) scaleY(-1);
}

.venture-qa__mark img:last-child {
  width: 4.4rem;
  height: 2.4rem;
  position: absolute;
  top: 2.4rem;
  left: 3rem;
  transform: rotate(-3.87deg);
}

.venture-qa__title {
  margin-top: -2rem;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
}

.venture-qa__title span {
  margin-bottom: 0.8rem;
  display: block;
  color: var(--color-bubble-text);
  font-size: 2rem;
  line-height: 1.5;
}

.venture-qa__lead {
  max-width: 84.8rem;
  margin: 3rem auto 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
}

.venture-qa__members {
  width: 90rem;
  margin: 6rem auto 0;
  display: grid;
  grid-template-columns: repeat(2, 44.2rem);
  gap: 3.1rem;
}

.venture-qa__member {
  padding: 2.8rem 0 1.8rem;
  border-top: 1px solid var(--color-bubble-text);
  border-bottom: 1px solid var(--color-bubble-text);
}

.venture-qa__member-photos {
  display: flex;
  justify-content: center;
  gap: 4.8rem;
}

.venture-qa__member-photos img {
  width: 13rem;
  height: 13rem;
  object-fit: cover;
  border-radius: 50%;
}

.venture-qa__member-type {
  width: fit-content;
  min-width: 9.6rem;
  min-height: 3.2rem;
  margin: 0.4rem auto 0;
  padding: 0.6rem 2rem;
  border: 1px solid var(--color-story-deep-orange);
  color: var(--color-story-deep-orange);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: normal;
  border-radius: 0.5rem;
}

.venture-qa__member-names {
  margin-top: 1.2rem;
  display: flex;
  justify-content: center;
  color: var(--color-story-gray);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: normal;
}

.venture-qa__member-names span + span {
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 1px solid var(--color-story-gray);
}

.venture-qa__list {
  margin-top: 5.5rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.venture-qa__question {
  padding: 3rem 6rem 3rem 4rem;
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-bubble-line);
  display: grid;
  grid-template-columns: 4.3rem 1fr;
  align-items: center;
  position: relative;
	cursor: pointer;
}

.venture-qa__question::after {
  content: none;
}

.venture-qa__question-label {
  width: 3.9rem;
  height: 3.3rem;
  justify-self: center;
  position: relative;
  z-index: 1;
}

.venture-qa__question h4 {
  width: fit-content;
  max-width: 82rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  justify-self: center;
  text-align: center;
  position: relative;
  z-index: 1;
}

.venture-qa__question h4::before,
.venture-qa__question h4::after {
  content: "";
  width: 2.5rem;
  height: 2.3rem;
  background-image: url("img/qa-question-quotes.svg");
  background-repeat: no-repeat;
  background-size: 69.5rem 2.3rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.venture-qa__question h4::before {
  background-position: left center;
  left: -4rem;
}

.venture-qa__question h4::after {
  background-position: right center;
  right: -4rem;
}

.venture-qa__toggle {
  width: 7.8rem;
  height: 7.8rem;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--color-bubble-text);
  font-family: inherit;
  position: absolute;
  top: 1rem;
  right: 2rem;
  z-index: 2;
}

.venture-qa__toggle-text {
  width: 100%;
  position: absolute;
  top: -1.8rem;
  left: 0;
}

.venture-qa__toggle-text--read img:first-child {
  width: 7.6rem;
  height: 1.5rem;
  margin: 0 auto;
  display: block;
}

.venture-qa__toggle-text--read img + img {
  width: 0.8rem;
  height: 0.9rem;
  position: absolute;
  top: -0.3rem;
  left: 8.3rem;
}

.venture-qa__toggle-text--close {
  display: none;
}

.venture-qa__toggle-text--close img {
  width: 4.5rem;
  margin: 0 auto;
  display: block;
}

.venture-qa__item.is-open .venture-qa__toggle-text--read {
  display: none;
}

.venture-qa__item.is-open .venture-qa__toggle-text--close {
  display: block;
}

.venture-qa__toggle-icon {
  width: 5.5rem;
  height: 5.5rem;
  background-color: var(--color-bubble-line);
  position: absolute;
  top: 1.1rem;
  left: 1.2rem;
  border-radius: 50%;
  transition: transform 0.25s ease;
}

@media (hover: hover) {
  .story-entry__more:hover .story-entry__more-icon,
  .venture-qa__toggle:hover .venture-qa__toggle-icon,
  .venture-system__arrow:hover {
    transform: scale(1.08);
  }
}

.venture-qa__toggle-icon::before,
.venture-qa__toggle-icon::after {
  content: "";
  width: 2rem;
  height: 1px;
  background-color: var(--color-white);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.venture-qa__toggle-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.venture-qa__item.is-open .venture-qa__toggle-icon {
  background-color: var(--color-story-accordion-close);
}

.venture-qa__item.is-open .venture-qa__toggle-icon::before {
  transform: translate(-50%, -50%);
}

.venture-qa__item.is-open .venture-qa__toggle-icon::after {
  display: none;
}

.venture-qa__answers {
  margin-top: 3rem;
  display: grid;
  gap: 2rem;
  transition: height 0.55s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.35s ease, margin-top 0.55s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: height, opacity;
}

.venture-qa__answers[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .venture-qa__answers {
    transition: none;
  }
}

.venture-qa__answer {
  padding: 3rem 8rem;
  background-color: var(--color-qa-answer);
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  text-align: left;
}

.venture-qa__answer-person {
  width: 8.2rem;
  flex-shrink: 0;
}

.venture-qa__answer-person img:first-child {
  width: 8.2rem;
  height: 8.2rem;
  object-fit: cover;
  border-radius: 50%;
}

.venture-qa__answer-person .story-answer__name {
  margin: 0.5rem auto 0;
  text-align: center;
}

.venture-qa__answer > p {
  width: 82.8rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
}

.venture-qa .btn-internal {
  margin: 7.1rem auto 0;
}


    
@media screen and (max-width: 767px) {
  .sec_02 {
    background-image: url("img/supervision-bg-sp.svg");
    background-size: 100% 100%;
  }

  .supervision-bubble {
    width: 398px;
    height: 174px;
    padding: 48px 20px 45px;
    background-image: url("img/supervision-bubble-sp.svg");
    font-size: 1.8rem;
    line-height: 1.5;
    top: -76px;
  }

  .supervision__inner {
    width: 100%;
    padding: 100px 16px 130px;
  }

  .supervision__lead {
    font-size: 3.2rem;
    line-height: 40px;
  }

  .supervision__heading {
    margin-top: 13px;
    gap: 8px;
    font-size: 2rem;
    line-height: 30px;
  }

  .supervision__heading span {
    padding-right: 8px;
    font-size: 1.8rem;
  }

  .supervision__title {
    margin-top: 16px;
    font-size: 2.8rem;
    line-height: 1.5;
  }

  .supervision__title span {
    width: auto;
    margin-right: 24px;
  }

  .supervision__title span::before,
  .supervision__title span::after {
    width: 21px;
    height: 18px;
  }

  .supervision__title span::before {
    left: -24px;
  }

  .supervision__title span::after {
    right: -24px;
  }

  .supervision__photo {
    height: auto;
    margin-top: 31px;
    aspect-ratio: 358 / 190;
    border-radius: 5px;
  }

  .supervision__photo-slide {
    object-position: center 18%;
  }

  .supervision__information {
    margin-top: -45px;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .supervision__brand {
    display: contents;
  }

  .supervision__logo {
    width: 228px;
    height: 90px;
    margin: 0 auto;
    order: 1;
    position: relative;
    z-index: 1;
  }

  .supervision__logo img {
    width: 194px;
  }

  .supervision__description {
    margin-top: 20px;
    font-size: 1.4rem;
    line-height: 2;
    order: 2;
  }

  .supervision__caption {
    margin-top: 2rem;
    order: 3;
  }

  .sec_02 .btn-web {
    margin-top: 40px;
	max-width:100%;
  }



  .venture-system {
  }

  .venture-system::before {
    width: 236px;
    height: 206px;
    top: -62px;
  }

  .venture-system__badge {
    width: 117px;
    height: 68px;
    top: -62px;
    left: calc(50% + 77px);
  }

  .venture-system__title {
    padding-top: 18px;
    font-size: 2.4rem;
    line-height: 1.5;
  }

  .venture-system__lead {
    width: 100%;
    margin-top: 14px;
    padding-inline: 16px;
    font-size: 1.4rem;
    line-height: 2;
  }

  .venture-system__viewport {
    height: 236px;
    margin-top: 39px;
  }

  .venture-system__track {
    margin-left: calc(50% - 118px);
    gap: 30px;
  }

  .venture-system__card {
    width: 236px;
    height: 236px;
  }

  .venture-system__card::before {
    width: 236px;
    height: 236px;
    top: 0;
  }

  .venture-system__number {
    font-size: 4rem;
    top: 0;
    left: 11px;
  }

  .venture-system__card p {
    font-size: 1.8rem;
    top: 44px;
  }

  .venture-system__card p span {
    font-size: 1.4rem;
  }

  .venture-system__card--01 > img {
    width: 100px;
    height: 104px;
    top: 88px;
  }

  .venture-system__card--02 > img {
    width: 104px;
    height: 119px;
    top: 98px;
  }

  .venture-system__card--03 > img {
    width: 133px;
    height: 116px;
    top: 88px;
  }

  .venture-system__card--04 > img {
    width: 169px;
    height: 56px;
    top: 119px;
  }

  .venture-system__card--05 > img {
    width: 132px;
    height: 108px;
    top: 95px;
  }

  .venture-system__card--06 > img {
    width: 109px;
    height: 80px;
    top: 122px;
  }

  .venture-system__card--07 > img {
    width: 101px;
    height: 91px;
    top: 92px;
  }

  .venture-system__card--08 > img {
    width: 147px;
    height: 116px;
    top: 84px;
  }

  .venture-system__arrow {
    width: 42px;
    height: 42px;
    top: 97px;
  }

  .venture-system__arrow--prev {
    left: calc(50% - 147px);
  }

  .venture-system__arrow--next {
    left: calc(50% + 105px);
  }

  .venture-system__description {
    min-height: 112px;
    margin-top: 5px;
    padding-inline: 16px;
    font-size: 1.4rem;
    line-height: 2;
  }

  .venture-system__actions {
    width: 100%;
    margin-top: 35px;
	  padding:0 16px;
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .venture-system__actions .btn-web,
  .venture-system__actions .btn-internal {
    margin: 0;
  }


  .venture-more {
    max-width: none;
    margin-top: 43px;
    padding: 64px 16px 40px;
    background-image: none;
    position: relative;
  }

  .venture-more::before {
    content: "";
    width: calc(100% - 30px);
    height: 5px;
    background-image: radial-gradient(circle, var(--color-accent-yellow) 1.5px, transparent 1.5px);
    background-repeat: repeat-x;
    background-position: left top;
    background-size: 10px 5px;
    position: absolute;
    top: 0;
    left: 15px;
  }

  .venture-more__title {
    font-size: 2.4rem;
    line-height: 1.5;
  }

  .venture-more__title span {
    margin-bottom: 5px;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .venture-more__title span::before,
  .venture-more__title span::after {
    width: 18px;
    height: 15px;
    margin-inline: 8px;
    vertical-align: -2px;
  }

  .venture-more__lead {
    margin-top: 14px;
    font-size: 1.4rem;
    line-height: 2;
  }

  .venture-more__list {
    margin-top: 31px;
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .venture-more__item a {
    min-height: 0;
  }

  .venture-more__visual {
    height:106px;
    margin-top: 2px;
  }

  .venture-more__item:nth-child(4) .venture-more__visual img {
    object-position: center;
  }

  .venture-more__number {
    font-size: 2.4rem;
    top: -2px;
    left: 2px;
  }

  .venture-more__number::after {
    width: 46px;
    height: 26px;
    top: 20px;
    left: -2px;
  }

  .venture-more__visual h4,
  .venture-more__visual .venture-more__living-title {
    display: block;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 0;
    writing-mode: horizontal-tb;
    top: 30px;
    left: 36px;
  }

  .venture-more__living-title span {
    display: inline;
    writing-mode: horizontal-tb;
  }

  .venture-more__item > a > p {
    min-height: 48px;
    padding: 12px 40px 12px 13px;
    background-size: 26px 26px;
    font-size: 1.4rem;
    line-height: 1.5;
    white-space: nowrap;
  }

  .venture-qa {
    width: 100%;
    max-width: none;
    padding: 30px 16px 20px;
  }

  .venture-qa__mark {
    width: 69px;
    height: 49px;
    transform: translateX(-84px);
  }

  .venture-qa__mark img:first-child {
    width: 67px;
    height: 45px;
  }

  .venture-qa__mark img:last-child {
    width: 30px;
    height: 16px;
    top: 15px;
    left: 20px;
  }

  .venture-qa__title {
    margin-top: -14px;
    font-size: 2.4rem;
    line-height: 1.5;
  }

  .venture-qa__title span {
    margin-bottom: 5px;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .venture-qa__lead {
    width: 100%;
    max-width: none;
    margin-top: 14px;
    font-size: 1.4rem;
    line-height: 2;
    text-align: left;
  }

  .venture-qa__members {
    width: 100%;
    margin-top: 42px;
    grid-template-columns: 1fr;
    gap: 0;
  }

  .venture-qa__member {
    width: 100%;
    height: auto;
    padding: 18px 0 15px;
    display: grid;
    grid-template-columns: 76px 1fr;
    grid-template-rows: 98px auto;
    column-gap: 8px;
    row-gap: 16px;
    align-items: center;
  }

  .venture-qa__member + .venture-qa__member {
    border-top: 0;
  }

  .venture-qa__member-photos {
    grid-column: 1 / -1;
    justify-content: center;
    gap: 30px;
  }

  .venture-qa__member-photos img {
    width: 98px;
    height: 98px;
  }

  .venture-qa__member-type {
    min-width: 76px;
    min-height: 25px;
    margin: 0;
    padding: 3px 5px;
    font-size: 1.4rem;
  }

  .venture-qa__member-names {
    min-width: 0;
    margin-top: 0;
    justify-content: flex-start;
    font-size: 1.4rem;
  }

  .venture-qa__member-names span + span {
    margin-left: 8px;
    padding-left: 8px;
  }

  .venture-qa__list {
    margin-top: 44px;
    flex-direction: column;
    gap: 28px;
  }

  .venture-qa__item:not(.is-open):not(:last-child) {
    margin-bottom: 17px;
  }

  .venture-qa__question {
    padding: 14px 10px 14px 5px;
    grid-template-columns: 43px 1fr;
  }

  .venture-qa__question-label {
    width: 32px;
    height: 27px;
  }

  .venture-qa__question h4 {
    width: 100%;
    max-width: none;
    font-size: 1.6rem;
    line-height: 1.5;
    justify-self: start;
    text-align: left;
  }

  .venture-qa__question h4::before,
  .venture-qa__question h4::after {
    content: none;
  }

  .venture-qa__toggle {
    width: 70px;
    height: 64px;
    top: auto;
    right: 0;
    bottom: -54px;
  }

  .venture-qa__toggle-text {
    top: 37px;
  }

  .venture-qa__toggle-text--read img:first-child {
    width: 59px;
    height: 14px;
  }

  .venture-qa__toggle-text--read img + img {
    width: 7px;
    height: 8px;
    top: -3px;
    left:68px;
  }

  .venture-qa__toggle-text--close img {
    width: 41px;
    height: 14px;
  }

  .venture-qa__toggle-icon {
    width: 34px;
    height: 34px;
    top: 0;
    left: 18px;
  }

  .venture-qa__toggle-icon::before,
  .venture-qa__toggle-icon::after {
    width: 16px;
  }

  .venture-qa__answers {
    margin-top: 42px;
    gap: 37px;
  }

  .venture-qa__answer {
    padding: 65px 20px 20px;
    display: block;
    position: relative;
  }

  .venture-qa__answer-person {
    width: 69px;
    position: absolute;
    top: -25px;
    left: 20px;
  }

  .venture-qa__answer-person img:first-child {
    width: 69px;
    height: 69px;
  }

  .venture-qa__answer-person .story-answer__name {
    margin-top: 3px;
    font-size: 1rem;
    line-height: 1;
  }

  .venture-qa__answer > p {
    width: 100%;
    font-size: 1.5rem;
    line-height: 2;
  }

  .venture-qa .btn-internal {
    margin: 82px auto 0;
  }
}


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

    説明会 セクション03

*/
.sec_03 {
  padding: 12.1rem 0 11.3rem;
  background-color: var(--color-guidance-bg);
  background-image: url("img/guidance-bg-pc.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  color: var(--color-text);
  overflow: hidden;
}

.guidance {
  width: 110rem;
  margin: 0 auto;
  padding: 6.3rem 0 6rem;
  background-color: var(--color-white);
  text-align: center;
  position: relative;
  border-radius: 1rem;
}

.guidance__hotel-image {
  width: 26.9rem;
  height: 26.9rem;
  position: absolute;
  top: -2.7rem;
  left: 4.1rem;
  overflow: hidden;
  transform: rotate(-2.36deg);
  border-radius: 50%;
}

.guidance__hotel-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.guidance__bubble {
  width: 23.3rem;
  height: 13.6rem;
  position: absolute;
  top: -6.1rem;
  left: 65.8rem;
}

.guidance__bubble img:first-child {
  width: 100%;
  height: 100%;
}

.guidance__bubble img:last-child {
  width: 16.8rem;
  height: 4.1rem;
  position: absolute;
  top: 5rem;
  left: 3rem;
  transform: rotate(3.6deg);
}

.guidance__title {
  font-size: 4.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.guidance__title span {
  display: block;
  color: var(--color-bubble-text);
  font-size: 2.4rem;
}

.guidance__lead {
  margin-top: 3.5rem;
}

.guidance__cards {
  width: 91.2rem;
  margin: 4.1rem auto 0;
  display: grid;
  grid-template-columns: repeat(2, 44.2rem);
  gap: 2.8rem;
}

.guidance-card {
  padding: 2rem 6rem 4rem;
  background-color: var(--color-guidance-card);
  border-radius: 1rem;
}

.guidance-card__icon {
  width: 5.3rem;
  height: 5.3rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 50%;
}

.guidance-card__icon--information {
  background-color: var(--color-guidance-information);
}

.guidance-card__icon--information img:first-child {
  width: 1.7rem;
  height: 1.9rem;
}

.guidance-card__icon--information img:last-child {
  width: 0.3rem;
  height: 1.5rem;
  margin-left: -0.5rem;
  transform: rotate(35.23deg);
}

.guidance-card__icon--recommend {
  background-color: var(--color-guidance-recommend);
}

.guidance-card__icon--recommend img {
  width: 2.3rem;
  height: 2.2rem;
}

.guidance-card__list {
  margin-top: 0.5rem;
  display: grid;
  gap: 1rem;
  text-align: left;
}

.guidance-card__list li {
  min-height: 3rem;
  padding-left: 3rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.4;
  display: flex;
  align-items: center;
  position: relative;
}

.guidance-card__list li::before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  background-color: var(--color-white);
  border: 2px solid var(--color-guidance-check);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border-radius: 0.2rem;
}

.guidance-card__list li::after {
  content: "";
  width: 2rem;
  height: 1.3rem;
  background: url("img/guidance-check.svg") no-repeat center/100% 100%;
  position: absolute;
  top: 50%;
  left: 0.2rem;
  transform: translateY(-50%);
}

.guidance .btn-web {
  margin: 4.3rem auto 0;
}

.guidance__people {
    width: 42.2rem;
    height: 39.4rem;
    position: absolute;
    bottom: -12.1rem;
    left: 79.5rem;
    overflow: hidden;
}


.guidance__people img:last-child {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0.4rem;
    left: 0;
    z-index: 1;
}


    
@media screen and (max-width: 767px) {
  .sec_03 {
    padding: 54px 0 47px;
    background-color:#f88c0000;
    background-image: url("img/guidance-bg-pc.svg");
    background-position: center;
    background-size: cover;
    overflow: visible;
  }

  .guidance {
    width: calc(100% - 30px);
    padding: 52px 16px 133px;
    border-radius: 10px;
  }

  .guidance__hotel-image {
    display: none;
  }

  .guidance__bubble {
    width: 190px;
    height: 111px;
    top: -78px;
    right: 3px;
    left: auto;
    z-index: 2;
  }

  .guidance__bubble img:last-child {
    width: 136px;
    height: 33px;
    top: 39px;
    left: 27px;
  }

  .guidance__title {
    font-size: 3.2rem;
    line-height: 1.5;
  }

  .guidance__title span {
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .guidance__lead {
    margin-top: 22px;
    text-align: left;
  }

  .guidance__cards {
    width: 100%;
    margin-top: 25px;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .guidance-card {
    min-height: 0;
            padding: 20px 16px 30px;
    display: grid;
    grid-template-columns: 42px auto;
    align-items: center;
    align-content: start;
    justify-content: start;
    border-radius: 10px;
  }



  .guidance-card__icon {
    width: 42px;
    height: 42px;
    margin: 0;
  }

  .guidance-card__icon--information img:first-child {
    width: 14px;
    height: 16px;
  }

  .guidance-card__icon--information img:last-child {
    width: 3px;
    height: 12px;
    margin-left: -4px;
  }

  .guidance-card__icon--recommend img {
    width: 23px;
    height: 22px;
  }


  .guidance-card__list {
    width: 100%;
    max-width: 294px;
    margin-top: 20px;
    display: grid;
    grid-column: 1 / -1;
    gap: 10px;
  }

  .guidance-card__list li {
    padding-left:30px;
    font-size: 1.4rem;
    line-height: 1.4;
  }

  .guidance-card__list li::before {
    width: 18px;
    height: 18px;
  }

  .guidance-card__list li::after {
    width: 20px;
    height: 13px;
    left: 2px;
  }

  .guidance .btn-web {
    margin: 43px auto 0;
	  width: 100%;
  }


  .guidance__people {
    width: 211px;
    height: 169px;
    right: -16px;
    bottom: -47px;
    left: auto;
  }

  .guidance__people img:first-child {
    width: 163px;
    height: 169px;
    top: 0;
    left: 24px;
  }

  .guidance__people img:last-child {
    width: 211px;
    height: auto;
    top: 2px;
    left: 0;
  }
}


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

    基礎コンテンツ セクション04

*/
.sec_04 {
  padding: 13.2rem 0 11.7rem;
  background-color: var(--color-white);
  color: var(--color-text);
}

.basic-content {
  width: 110rem;
  margin: 0 auto;
  position: relative;
}

.basic-content__bubble {
  width: 25.9rem;
  height: 10.4rem;
  position: absolute;
  top: -5.5rem;
  left: calc(50% - 1.5rem);
  transform: translateX(-50%);
}

.basic-content__bubble img:first-child {
  width: 100%;
  height: 100%;
}

.basic-content__bubble img:last-child {
  width: 18.1rem;
  height: 1.7rem;
  position: absolute;
  top: 4rem;
  left: 3.9rem;
  transform: rotate(2.05deg);
}

.basic-content__en,
.basic-content-card__en {
  color: var(--color-story-deep-orange);
  font-family: "Caveat", cursive;
  font-weight: 700;
  line-height: 1.5;
}

.basic-content__en {
  font-size: 4rem;
}

.basic-content__title {
  margin-top: -0.1rem;
  font-size: 4.6rem;
  font-weight: 700;
  line-height: 1.5;
}

.basic-content__title a {
  width: fit-content;
  color: inherit;
  display: flex;
  align-items: center;
  gap: 2rem;
  text-decoration: none;
}

.basic-content__title a::after {
  content: "";
  width: 2.1rem;
  height: 2.1rem;
  background: url("img/content-basic-heading-arrow.svg") no-repeat center/contain;
  flex-shrink: 0;
}

.basic-content__lead {
  margin-top: 2rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
}

.basic-content__cards {
  margin-top: 5.6rem;
  display: grid;
  grid-template-columns: repeat(3, 34.8rem);
  gap: 2.8rem;
}

.basic-content-card {
  padding: 2.7rem 2rem 3.2rem;
  background-color: var(--color-guidance-card);
  border-top: 1px solid var(--color-bubble-line);
  color: var(--color-text);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
}

.basic-content-card__en {
  color: var(--color-accent-orange);
  font-size: 2rem;
}

.basic-content-card__title {
  margin-top: 0.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}

.basic-content-card__arrow {
  width: 2.2rem;
  height: 2.2rem;
  margin-top: 1.6rem;
}

.basic-content-card__illustration {
  margin-top: 3rem;
}

.basic-content-card__illustration--franchise {
  width: 12.4rem;
  height: 8.6rem;
}

.basic-content-card__illustration--business {
  width: 10.2rem;
  height: 8.4rem;
}

.basic-content-card__illustration--taxes {
  width: 9.8rem;
  height: 8.8rem;
  display: block;
  position: relative;
}

.basic-content-card__illustration--taxes img:first-child {
  width: 6.9rem;
  height: 8.8rem;
  position: absolute;
  top: 0;
  left: 0;
}

.basic-content-card__illustration--taxes img:last-child {
  width: 4.4rem;
  height: 6rem;
  position: absolute;
  top: 2.7rem;
  left: 5.4rem;
}

@media (hover: hover) {
  .basic-content__title a,
  .basic-content-card {
    transition: opacity 0.3s;
  }

  .basic-content__title a:hover,
  .basic-content-card:hover {
    opacity: 0.7;
  }
}


    
@media screen and (max-width: 767px) {
  .sec_04 {
    padding: 109px 16px 80px;
  }

  .basic-content {
    width: 100%;
  }

  .basic-content__bubble {
    width: 230px;
    height: 95px;
    top: -74px;
    right: -7px;
    left: auto;
    transform: rotate(0.68deg);
  }

  .basic-content__bubble img:last-child {
    width: 160px;
    height: 15px;
    top: 38px;
    left: 35px;
    transform: rotate(2.74deg);
  }

  .basic-content__en {
    font-size: 3.2rem;
  }

  .basic-content__title {
    margin-top: 1px;
    max-width: 310px;
    font-size: 3.2rem;
    line-height: 1.5;
  }

  .basic-content__title a {
    width: auto;
    display: inline;
  }

  .basic-content__title a::after {
    width: 21px;
    height: 21px;
    margin-left: 10px;
    display: inline-block;
    vertical-align: middle;
  }

  .basic-content__lead {
    margin-top: 19px;
    font-size: 1.4rem;
    line-height: 2;
  }

  .basic-content__cards {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .basic-content-card {
    width: 100%;
    min-height: 0;
    padding: 39px 16px 18px;
    display: block;
    text-align: left;
    position: relative;
  }


  .basic-content-card__en {
    margin-bottom: 0;
    display: block;
    font-size: 2rem;
  }

  .basic-content-card__title {
    margin-top: 0;
    display: inline;
    font-size: 2rem;
    line-height: 1.5;
  }

  .basic-content-card__arrow {
    width: 17px;
    height: 17px;
    margin: 0 0 0 6px;
    display: inline-block;
    vertical-align: -3px;
  }

  .basic-content-card__illustration {
    margin-top: 0;
    position: absolute;
  }

  .basic-content-card__illustration--franchise {
    width: 111px;
    height: 77px;
    top: 17px;
    right: 10px;
    opacity: 0.4;
  }

  .basic-content-card__illustration--business {
    width: 71px;
    height: 59px;
    top: 9px;
    right: 46px;
    opacity: 0.4;
  }

  .basic-content-card__illustration--taxes {
    width: 87px;
    height: 78px;
    top: 14px;
    right: 28px;
    opacity: 0.4;
  }

  .basic-content-card__illustration--taxes img:first-child {
    width: 61px;
    height: 78px;
  }

  .basic-content-card__illustration--taxes img:last-child {
    width: 39px;
    height: 54px;
    top: 24px;
    left: 48px;
  }
}

.main-area--low {
  padding:0 max(calc((100% - 100rem) / 2), 1.4rem) 5rem;
  background-color: var(--color-white);
  background-image: url("img/low-bg-pc.svg");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100% 213.9rem;
}

p:not([class]) {
  font-size: 1.5rem;
  line-height: 2;
}


h2:not([class]) {
  margin: 6rem auto 2rem;
  padding: 1.8rem 3rem;
  border-bottom: 3px solid var(--color-accent-yellow);
  background-color: var(--color-low-title);
  color: var(--color-white);
  display: flex;
  align-items: center;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: normal;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

h2:not([class])::before {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background-color: var(--color-low-title-decoration);
  position: absolute;
  top: calc(50% - 1.2rem);
  left: -1.2rem;
  z-index: 1;
}


h2:not([class]) > a {
  width: 100%;
  padding-right: 3rem;
  color: inherit;
  display: flex;
  align-items: center;
  align-self: stretch;
  text-decoration: none;
  position: relative;
}

h2:not([class]) > a::before,
h2:not([class]) > a::after {
  content: "";
  width: 1.1rem;
  height: 2.1rem;
  background: url("img/low-chevron-large.svg") no-repeat center/contain;
  position: absolute;
  top: calc(50% - 1.05rem);
  right: -1rem;
}

h2:not([class]) > a::before {
  right: -0.3rem;
}

h3:not([class]) {
  margin: 5rem auto 2rem;
  padding: 1rem 3.1rem 1.8rem;

  background-image: radial-gradient(
    circle,
    var(--color-accent-yellow) 1.5px,
    transparent 1.7px
  );
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 10px 5px;

  font-size: 2.4rem;
  font-weight: 700;
  line-height: normal;
  position: relative;
}

h3:not([class]) + h3 {
  margin-top: 2rem;
}

h3:not([class])::before,
h3:not([class])::after {
  content: "";
  width: 2.4rem;
  height: 2rem;
  background: url("img/low-quote-left.svg") no-repeat center/contain;
  position: absolute;
  top: 0;
}

h3:not([class])::before {
  left: 0.1rem;
}

h3:not([class])::after {
  background-image: url("img/low-quote-right.svg");
  right:1.2rem;
}

h3:not([class]) > a {
  padding-right: 3rem;
  color: var(--color-text);
  display: block;
  text-decoration: none;
  position: relative;
}


h3:not([class]) > a::before,
h3:not([class]) > a::after {
  content: "";
  width: 1.1rem;
  height: 2.1rem;
  background: url("img/low-chevron-heading.svg") no-repeat center/contain;
  position: absolute;
  top: calc(50% - 1.05rem);
  right: 1.8rem;
}

h3:not([class]) > a::before {
  right: 2.5rem;
}

h4:not([class]) {
  margin: 4rem 0 1.5rem;
  border-bottom: 1px solid var(--color-bubble-line);
  color: var(--color-bubble-text);
  font-size: 2rem;
	padding:0 2rem .5rem;
  font-weight: 700;
  line-height: normal;
}

h4:not([class]) + h4:not([class]) {
  margin-top: 2rem;
}

h4:not([class]) > a {
  padding-right: 3rem;
  color: inherit;
  display: flex;
  align-items: flex-start;
  text-decoration: none;
  position: relative;
}

h4:not([class]) > a::before,
h4:not([class]) > a::after {
  content: "";
  width: 0.8rem;
  height: 1.5rem;
  background: url("img/low-chevron-small.svg") no-repeat center/contain;
  position: absolute;
  top: calc(50% - 0.75rem);
  right: 0;
}

h4:not([class]) > a::before {
  right: 0.5rem;
}

h5:not([class]) {
  margin: 3rem 0 1.5rem;
  color: var(--color-story-deep-orange);
  font-size: 1.8rem;
  font-weight: 700;
}

h5:not([class]) + h5 {
  margin-top: 2rem;
}

h5:not([class]) > a {
  padding-right: 3rem;
  color: inherit;
  display: block;
  text-decoration: none;
  position: relative;
}

h5:not([class]) > a::before,
h5:not([class]) > a::after {
  content: "";
  width: 0.8rem;
  height: 1.5rem;
  background: url("img/low-chevron-heading.svg") no-repeat center/contain;
  position: absolute;
  top: calc(50% - 0.75rem);
  right: 0;
}

h5:not([class]) > a::before {
  right: 0.5rem;
}

.float-wrap:has(> .float-img.ct) {
  margin: 4rem 0;
}

.float-wrap:has(> .float-img.fl) {
  margin:4rem 0;
}

.float-wrap:has(> .float-img.fr) {
 margin:4rem 0;
}

.float-img.ct {
  width: 55rem;
}

.float-img.fl,
.float-img.fr {
  width: 40rem;
  margin-bottom: 0;
}

.float-img.fl {
  margin-right: 6rem;
}

.float-img.fr {
  margin-left: 6rem;
}


.float-img .flame {
  display: block;
  width: 100%;
  object-fit: cover;
}

.float-img .caption {
  margin-top: 1rem;
	text-align:center;
}

.float-img.ct + p {
  margin-top: 2rem;
}

.float-wrap .catch-01 {
  margin: 0;
  color: var(--color-story-deep-orange);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}




table:not([class]),
.low-table-scroll table {
  margin: 5rem 0 5rem;
  border-color: var(--color-white);
  table-layout: fixed;
}

table th,
table td {
  height: 5rem;
  padding: 1rem;
  border-color: var(--color-low-table);
  font-weight: 500;
  text-align: center;
}

table td {
  text-align: left;
}

table th {
  background-color: var(--color-low-table);
  border-color: var(--color-white);
}

.low-table-scroll {
   margin: 5rem 0 5rem;
}

.low-table-scroll > p {
  display: none;
}

.low-table-scroll table {
  margin-top: 0;
}

.low-table-scroll tr:not(:first-child) th {
  border-color: var(--color-white);
}

.low-table--two-columns {
 margin: 5rem 0 5rem;
}

.low-table--two-columns th {
  width: 33.3%;
}



.btn-link {
  margin: 4rem 0 ;
}

.btn-link a {
  padding: 0 3rem 0 0;
  background: url("img/mv-arrow-sp.svg") no-repeat right center/3rem 3rem;
  color: var(--color-bubble-text);
  display: inline-flex;
  align-items: center;
  font-size: 1.4rem;
}
.btn-link.wh a {
	 color: #fff;
	background: url(img/arrow_wh.svg) no-repeat right center / 3rem 3rem;
}


.map {
margin:8rem 5rem;
}
@media screen and (max-width: 767px) {
	.map {
 margin:5rem -16px;
}
	
}
@media screen and (max-width: 767px) {
  .main-area--low {
    padding: 1rem 16px 2rem;
    background-image: url("img/low-bg-sp.svg");
    background-position: center top;
    background-size: 100% auto;
  }
p:not([class]) {
  font-size: 1.4rem;
}
  h2:not([class]) {
    margin: 4rem 0 2rem;
    padding: 1rem 1rem;
    font-size: 2.2rem;
    line-height: 1.45;
  }


  h2:not([class]):has(> a)::before {
    display: none;
  }

  h2:not([class]) > a {
    padding-right: 2.5rem;
  }

  h2:not([class]) > a::before,
  h2:not([class]) > a::after {
    width: 1rem;
    height: 2rem;
    top: calc(50% - 1rem);
    right: -0.2rem;
  }

  h2:not([class]) > a::before {
    right: 0.5rem;
  }

   h3:not([class]) {
     margin: 3rem 0 1.5rem;
    padding: 0 1.7rem 1.7rem;

    background-image: radial-gradient(
      circle,
      var(--color-accent-yellow) 1.5px,
      transparent 1.7px
    );
    background-repeat: repeat-x;
    background-position: left bottom;
    background-size: 8px 5px;

    font-size: 2rem;
    line-height: 1.4;
  }

  h3:not([class]) + h3 {
    margin-top: 2rem;
  }

  h3:not([class])::before,
  h3:not([class])::after {
    width: 1.7rem;
    height: 1.4rem;
  }

  h3:not([class])::before {
    left: -0.3rem;
  }

  h3:not([class])::after {
    right: -0.2rem;
  }

  h3:not([class]) > a {
    padding-right: 2.8rem;
  }

  h3:not([class]) > a::before,
  h3:not([class]) > a::after {
    width: 0.9rem;
    height: 2rem;
    top: calc(50% - 1rem);
    right: 0;
  }

  h3:not([class]) > a::before {
    right: 0.7rem;
  }

    h4:not([class]) {
    margin: 3rem 0 1.5rem;
    padding-bottom: 1rem;
    font-size: 1.8rem;
    line-height: 1.5;
  }

    h4:not([class]) + h4:not([class]) {
    margin-top: 2rem;
  }

    h4:not([class]) > a {
    padding-right: 2.5rem;
  }

    h4:not([class]) > a::before,
    h4:not([class]) > a::after {
    width: 0.7rem;
    height: 1.4rem;
    top: calc(50% - 0.7rem);
  }

    h5:not([class]) {
     margin: 2rem 0 1.5rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }

    h5:not([class]) + h5 {
    margin-top: 2rem;
  }

  h5:not([class]) > a {
    padding-right: 2.5rem;
  }

  h5:not([class]) > a::before,
  h5:not([class]) > a::after {
    width: 0.7rem;
    height: 1.4rem;
    top: calc(50% - 0.7rem);
  }

  ul:not([class]) {
    margin: 3rem auto;
  }

  ul:not([class]) > li,
  ol:not([class]) > li {
    font-size: 1.4rem;
  }

  .float-wrap:has(> .float-img.ct),
  .float-wrap:has(> .float-img.fl),
  .float-wrap:has(> .float-img.fr) {
    margin: 3rem 0 ;
  }

  .float-img.ct,
  .float-img.fl,
  .float-img.fr {
    width: 100%;
    margin: 0;
    float: none;
  }

  .float-img.ct .flame,
  .float-img.fl .flame,
  .float-img.fr .flame {
    width: 100%;
    height: auto;
    aspect-ratio: 45 / 28;
  }

  .float-img.ct + p {
    margin-top: 2rem;
  }

  .float-wrap .catch-01 {
    margin-top: 2rem;
    font-size: 1.6rem;
  }

	
  table:not([class]) {
    width: 100%;
    margin: 4rem 0;
  }

  .low-table-scroll {
    width: 100%;
  }

  .low-table-scroll > p {
    margin: 0;
    color: var(--color-story-gray);
    display: block;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center;
  }

  .low-table-scroll__body {
    width: 100%;
    margin-top: 1rem;
    padding-bottom: 0.6rem;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .low-table-scroll table {
    width: 100rem;
    margin: 0;
  }

  .low-table--two-columns {
    margin: 4rem 0;
  }

  .btn-web,
  .btn-internal,
  .btn-column .btn-web,
  .btn-column .btn-internal {
    margin-right: auto;
    margin-left: auto;
	  width: 90%;
  }

  .btn-web a,
  .btn-internal a,
  .btn-column .btn-web a,
  .btn-column .btn-internal a {
    width: 100%;
  }


 .btn-web,
  .btn-internal,
  .btn-link {
    margin: 4rem auto
  }


}


.guidance-card h3,
.basic-content-card__title {
  min-height: 0;
  padding: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}

.guidance-card h3 {
  margin: 1rem auto 2rem;
    background: none;
}
.guidance-card h3::after,.guidance-card h3::before{
    background: none;
}


.basic-content-card__title {
  margin-top: 0.5rem;
}

.venture-system__title {
  margin: 0;
  padding-top: 0.5rem;
}

.venture-more__title {
  margin: 0;
}

.venture-qa__title {
  margin: -2rem 0 0;
}

.venture-system__card > p:not([class]),
.venture-more__visual > h4:not([class]),
.venture-qa__question > h4:not([class]) {
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}

.venture-system__card > p:not([class]),
.venture-qa__question > h4:not([class]) {
  color: var(--color-text);
  font-weight: 700;
  line-height: 1.5;
}

.venture-system__card > p:not([class]) {
  font-size: 2rem;
}

.venture-more__visual > h4:not([class]) {
  color: var(--color-white);
  font-family: "Zen Kaku Gothic New vertical", "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

.venture-qa__question > h4:not([class]) {
  font-size: 2.4rem;
}


@media screen and (max-width: 767px) {

  .guidance-card h3 {
    margin: 0 0 0 10px;
    font-size: 1.8rem;
	text-align: left;
  }

  .basic-content-card__title {
    margin-top: 0;
    font-size: 2rem;
  }

  .venture-system__title {
    padding-top: 18px;
  }

  .venture-qa__title {
    margin-top: -14px;
  }
	.venture-system__card > p:not([class]),
  .venture-more__visual > h4:not([class]) {
    font-size: 1.8rem;
  }

  .venture-more__visual > h4:not([class]) {
    font-family: "Zen Kaku Gothic New", sans-serif;
    line-height: 1.5;
    letter-spacing: 0;
    writing-mode: horizontal-tb;
  }

  .venture-qa__question > h4:not([class]) {
    font-size: 1.6rem;
  }
}

/*--------------------------------------
　Footer
---------------------------------------*/
.l-footer {
  position: relative;
  z-index: 1;
  padding-top:0;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-top: 0;
  }
}
.l-footer__content {
  padding-block: 6rem 3.6rem;
  background: #F2F2F2;
}
@media screen and (max-width: 767px) {
  .l-footer__content {
    padding-block: 4rem 1.1rem;
  }
}
.l-footer__box {
  display: grid;
  align-items: center;
  grid-template-columns: 11.4rem 1fr;
  column-gap: 5rem;
  margin-inline: auto;
  padding: 3rem 9rem;
  width: 94rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .l-footer__box {
    display: block;
    padding: 2rem 4% 2rem;
    width: auto;
    margin: 0 16px;
  }
}
.l-footer__box-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-bubble-text);
  grid-row: 2;
  grid-column: 2;
}
@media screen and (max-width: 767px) {
  .l-footer__box-title {
    font-size: 1.9rem;
    line-height: 1.4210526316;
    text-align: center;
  }
}
.l-footer__box-logo {
  grid-row: span 5;
  grid-column: 1;
}
@media screen and (max-width: 767px) {
  .l-footer__box-logo {
    margin: 2.2rem auto 0;
    width: 15rem;
  }
}
.l-footer__box-text {
  font-weight: 500;
  grid-row: 3;
  font-size: 1.3rem;
  grid-column: 2;
  margin-top: 1.4rem;
}
@media screen and (max-width: 767px) {
  .l-footer__box-text {
    font-size: 1.4rem;
    margin-top: 2.3rem;
  }
}
.l-footer__box .btn-link {
  text-align: right;
  grid-row: 4;
  grid-column: 2;
  margin: 2rem 0;
}

.l-footer__category {
  margin: 6rem auto 0;
  width: 110rem;
}
@media screen and (max-width: 767px) {
  .l-footer__category {
    margin: 3.9rem 16px 0;
    width: auto;
    border-top: 1px solid var(--color-story-gray);
  }
}
@media screen and (max-width: 767px) {
  .l-footer__category-item {
    --_js-accordion: 0fr;
  }
}
.l-footer__category-item:nth-child(n+2) {
  margin-top: 4.1rem;
}
@media screen and (max-width: 767px) {
  .l-footer__category-item:nth-child(n+2) {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__category-item.is-open {
    --_js-accordion: 1fr;
  }
  .l-footer__category-item.is-open .l-footer__category-theme-button::after {
    rotate: 180deg;
  }
}
.l-footer__category-theme {
  border-bottom: 1px solid var(--color-story-gray);
}
@media screen and (max-width: 767px) {
  .l-footer__category-theme {
    border-bottom-width: 0.1rem;
  }
}
.l-footer__category-theme-button {
  font-weight: 700;
  color: var(--color-bubble-text);
  text-decoration: none;
  text-align: left;
  display: inline-block;
  padding-bottom: 0.6rem;
}
@media screen and (max-width: 767px) {
  .l-footer__category-theme-button {
    position: relative;
    padding: 1.5rem 3.6rem 1.5rem 1.4rem;
    width: 100%;
  }
  .l-footer__category-theme-button::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0.5rem;
    width: 2rem;
    height: 100%;
    background: url("img/mv-arrow-sp.svg") no-repeat right center/3rem 3rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__category-theme-button.js-accordion__button::after {
   right: 0.5rem;
        width: 3rem;
        background: url(img/footer_arrow.svg) no-repeat right center / 3rem 3rem;
    transition: rotate var(--transition-base);
  }
}
@media screen and (max-width: 767px) {
 .l-footer__category-content {
  display: none;
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: height 0.4s ease, opacity 0.4s ease;
}
  .l-footer__category-content-outer {
    overflow: hidden;
  }
}
.l-footer__category-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem 2.7rem;
  margin-top: 1.4rem;
}
@media screen and (max-width: 767px) {
  .l-footer__category-list {
    display: block;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__category-list-item {
    border-bottom: 1px solid #ababab;
  }
}
.l-footer__category-list-link {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  font-weight: 500;
  text-decoration: none;
  display: block;
}
@media screen and (max-width: 767px) {
  .l-footer__category-list-link {
    font-size: 1.3rem;
        line-height: 1.4;
        color: var(--color-bubble-text);
        position: relative;
        padding: 1rem 3rem 1rem 1.5rem;
  }
  .l-footer__category-list-link::after {
content: "";
        position: absolute;
        top: 0;
        background: url(img/mv-arrow-sp.svg) no-repeat right center / 2.5rem 2.5rem;
        right: 0.7rem;
        width: 2.5rem;
        height: 100%; 
}
	}
.l-footer__disclaimer {
  font-size: 1.2rem;
  font-weight: 500;
  margin: 5.3rem auto 0;
  width: 94rem;
}
@media screen and (max-width: 767px) {
  .l-footer__disclaimer {
    font-size: 1.3rem;
    line-height: 1.45;
    width: auto;
    margin: 2.4rem 16px;
  }
}
.l-footer__note {
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .l-footer__note {
    font-size: 1.3rem;
    line-height: 1.4615384615;
    margin-top: 0.9rem;
  }
}
.l-footer__bottom {
  background: var(--color-story-gray);
}
@media screen and (max-width: 767px) {
  .l-footer__bottom {
  padding-bottom: 10rem;
}
}
.l-footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-inline: auto;
  width: 110rem;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom-inner {
    display: block;
    padding-block: 1.1rem 1.2rem;
    width: 90%;
  }
}
.l-footer__bottom-copy {
  font-size: 1.2rem;
  line-height: 1.3333333333;
  font-weight: 500;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom-copy {
    font-size: 1.3rem;
    line-height: 1.4615384615;
    text-align: center;
  }
}
.l-footer__bottom-copy a {
  color: inherit;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom-button {
    display: none;
  }
}
.l-footer__bottom-button-link {
  font-size: 1.2rem;
  line-height: 1.3333333333;
  font-weight: 500;
  color: #fff;
}
.l-footer__bottom-button {
margin-top: 0;
}

.l-page-head {
  padding: 13.8rem 2rem 3rem;
  background-color: var(--color-white);
  position: relative;
}

.l-page-head::before {
  content: "";
  width: 100%;
  height: 18.8rem;
  background: url("img/page-head-bg-pc.jpg") no-repeat center top/cover;
  position: absolute;
  top: 0;
  left: 0;
}

.l-page-head .-pagettl {
  width: 100%;
  max-width: 99.9rem;
  margin-inline: auto;
  padding: 2.9rem 5.2rem;
  background-color: var(--color-mv-panel);
  box-shadow: 0.1rem 0.1rem 2rem var(--color-mv-shadow);
  color: var(--color-bubble-text);
  display: flex;
  align-items: center;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.6;
  position: relative;
  z-index: 1;
}

.l-page-head .-pagettl > span {
  width: 100%;
  display: block;
}
.header_sponsor {
  margin-top: 7rem;
	padding:0 2rem  1.3rem;
  color: var(--color-sponsor);
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-page-head {
	  margin-top: 1rem;
    padding: 5.1rem 1.5rem 1rem;
	  position: relative;
  }

  .l-page-head::before {
    height: 8rem;
    background-image: url("img/page-head-bg-sp.jpg");
    background-position: 30.6% top;
    background-repeat: repeat-x;
    background-size: 200.5% 100%;
    animation: page-head-slide-sp 39s linear infinite;
    will-change: background-position;
  }

  .l-page-head .-pagettl {
    max-width: none;
    padding: 2rem 2rem;
    font-size: 2.4rem;
    line-height: 1.6;
  }
	.header_sponsor {
  margin-top: 1rem;
	padding:0 16px ;
}

}

@keyframes page-head-slide-sp {
  from {
    background-position: 30.6% top;
  }

  to {
    background-position: calc(30.6% - 200.5vw) top;
  }
}

@media (prefers-reduced-motion: reduce) {
  .l-page-head::before {
    animation: none;
  }
}
/*--------------------------------------
　pankuzu
---------------------------------------*/
#pankuzuWrap{
position: relative;
width: 100%;
margin: 0 0;
}
#pankuzu{
width: 100%;
margin: 0 auto .5rem;
padding: 2rem 0 0;
font-size:1.2rem;
color: #666;
}
#pankuzu a{
display: inline;
text-decoration: underline;
color: #666;
}

#pankuzu br{
display: none;
}

@media screen and (max-width: 767px) {

#pankuzuWrap{
overflow: auto;
white-space: nowrap;
margin: 0 0 1.5rem;
padding: 1rem 0 0;
position: static;
box-sizing: border-box;
width: auto;
}
#pankuzuWrap::-webkit-scrollbar{
height: 3px;
}
#pankuzuWrap::-webkit-scrollbar-track{
border-radius: 3px;
background: #eee;
}
#pankuzuWrap::-webkit-scrollbar-thumb{
border-radius: 3px;
background: #bbb;
}

#pankuzu{
width: 100%;
margin: 0 auto 10px;
padding: 0 0;
font-size:1.1rem;
}
#pankuzu a{
text-decoration: underline;
}

}
/*--------------------------------------
　toc
---------------------------------------*/
.toc__wrap,
.more,
.related-article01-frame {
  width: calc(100% - 4rem);
  max-width: 73.4rem;
  margin-right: auto;
  margin-left: auto;
}

.toc{
  margin-bottom: 5rem;
}


.toc__wrap {
  margin-top: 5rem;
}

.toc_parts_inner > .ttl,
.related-article01-title {
  color: var(--color-bubble-text);
  display: flex;
  align-items: center;
  gap: 2rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.toc_parts_inner > .ttl::before,
.toc_parts_inner > .ttl::after,
.related-article01-title::before,
.related-article01-title::after {
  content: "";
  height: 0.1rem;
  background-color: var(--color-bubble-line);
  flex: 1 1 auto;
}

.toc_parts_inner > .ttl::before,
.related-article01-title::before {
  max-width: 4.8rem;
}

#toc {
  width: 61.2rem;
  max-width: 100%;
  margin: 2rem auto 0;
  position: relative;
}

#toc .chapter {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.4rem;
}

#toc .chapter-h {
  margin: 0;
  padding: 0;
}

#toc .chapter-h a {
  color: var(--color-text);
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: start;
  gap: 1rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
  text-decoration: none;
}

#toc .chapter-number {
  padding-top: 0.2rem;
  color: var(--color-story-deep-orange);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.7;
}

.toc__wrap.has-overflow:not(.is-open) #toc::after {
  content: "";
  height: 6.3rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--color-white));
  pointer-events: none;
  position: absolute;
  right: 0;
  bottom: -0.4rem;
  left: 0;
}

.toc__wrap.has-overflow:not(.is-open) .chapter-h:nth-child(n + 4) {
  display: none;
}

.more {
  height: 4rem;
  margin-top: 2.5rem;
  border-top: 0.1rem solid var(--color-bubble-text);
  cursor: pointer;
  position: relative;
}

.more[hidden] {
  display: none;
}

.more.is-static::before,
.more.is-static::after,
.more.is-static .toc_morebtn {
  display: none;
}
.more::before {
  content: "";
  width: 3.8rem;
  height: 3.8rem;
  background-color: var(--color-bubble-line);
  background-image: linear-gradient(var(--color-white), var(--color-white)), linear-gradient(var(--color-white), var(--color-white));
  background-position: center;
  background-repeat: no-repeat;
  background-size: 2rem 0.1rem, 0.1rem 2rem;
  border-radius: 50%;
  position: absolute;
  top: -1.9rem;
  right: 8rem;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.more::after {
  content: "";
  width: 0.7rem;
  height: 0.9rem;
  background: url("img/toc-open-mark.svg") no-repeat center/contain;
  position: absolute;
 top: -2.8rem;
    right: -0.6rem;
}

.toc_morebtn {
     width: 6.7rem;
    height: 2.2rem;
    background-image: url(img/toc-open-label.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    overflow: hidden;
    color: transparent;
    font-size: 0;
    position: absolute;
    top: -2.7rem;
    right: 4px;
}

.more.is-open::before {
  background-color: var(--color-story-accordion-close);
  transform: rotate(45deg);
}

.more.is-open::after {
  display: none;
}

.more.is-open .toc_morebtn {
 width: 4.4rem;
    height: 2.1rem;
    background-image: url(img/toc-close-label.svg);
    background-size: contain;
    right: 2.2rem;
}

.related-article01-frame {
  margin-top: 8rem;
  margin-bottom:3rem;
  padding-bottom: 2.4rem;
  border-bottom: 0.1rem solid var(--color-bubble-line);
}

.related-article01-list {
  width: 65rem;
  max-width: 100%;
  margin: 2rem auto 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

.related-article01-list li {
  margin: 0;
  padding: 0;
}

.related-article01-list .relations-box {
padding: .5rem 0 .5rem 3rem;
  background: url("img/mv-arrow-sp.svg") no-repeat left center/3rem 3rem;
  display: block;
  text-decoration: none;
}

.related-article01-list .relations-box__body {
  min-width: 0;
}

.related-article01-list .catch-01 {
  margin: 0;
  color: var(--color-bubble-text);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
}

@media (hover: hover) {
  .more:hover::before {
    transform: scale(1.08);
  }

  .more.is-open:hover::before {
    transform: rotate(45deg) scale(1.08);
  }

  .related-article01-list .relations-box:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .toc__wrap,
  .more,
  .related-article01-frame {
    width: 100%;
  }

.toc{
  margin-bottom: 1rem;
}

  .toc__wrap {
    margin-top: 2.5rem;
  }

  .toc_parts_inner > .ttl,
  .related-article01-title {
    gap: 2rem;
    font-size: 1.8rem;
  }

  .toc_parts_inner > .ttl::before,
  .related-article01-title::before {
    max-width: 3rem;
  }

  #toc {
    width: 31.8rem;
    max-width: calc(100% - 1.6rem);
    margin-top: 2.2rem;
    margin-left: 0.8rem;
  }

  #toc .chapter {
    gap: 0.7rem;
  }

  #toc .chapter-h a {
    grid-template-columns: 1.6rem minmax(0, 1fr);
    gap: 0.7rem;
    font-size: 1.4rem;
  }

  #toc .chapter-number {
    padding-top: 0;
    font-size: 1.3rem;
  }

  .toc__wrap.has-overflow:not(.is-open) #toc::after {
    height: 10rem;
    bottom: -0.2rem;
  }

  .more {
    margin-top: 4.5rem;
  }

  .more::before {
    width: 3.1rem;
    height: 3.1rem;
    background-size: 1.64rem 0.1rem, 0.1rem 1.64rem;
    top: -1.55rem;
    right: auto;
    left: calc(50% - 2.45rem);
  }

  .more::after {
           width: 0.8rem;
        height: 1rem;
        top: -2.5rem;
        right: auto;
        left: calc(50% + 7.5rem);
  }

  .toc_morebtn {
   width: 5.7rem;
        height: 2rem;
        top: -2.3rem;
        right: auto;
        left: calc(50% + 1.4rem);
  }

  .more.is-open .toc_morebtn {
           width: 3.8rem;
        height: 1.9rem;
    right: auto;
    left: calc(50% + 1.8rem);
  }

  .related-article01-frame {
    margin-top: 5rem;
    margin-bottom:5rem;
    padding-bottom: 3rem;
  }

  .related-article01-list {
    width: auto;
    max-width: 100%;
    margin-top: 2.2rem;
    margin-left: 0;
    gap: 0.5rem;
  }

  .related-article01-list .relations-box {
	  padding: .7rem 0 .7rem 3.2rem;
    background-size: 3rem 3rem;
  }

  .related-article01-list .catch-01 {
    font-size: 1.4rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .more::before {
    transition: none;
  }
}


.kansyu{
   position:relative;
	  margin: 12rem auto 10rem;
  }
.kansyu .guidance__bubble {
    left: 66%;
}

.kansyu .supervision__inner {
    width: 100rem;
	border-bottom:0.1rem solid var(--color-bubble-text);
	border-top:0.1rem solid var(--color-bubble-text);
    margin: 0 auto;
	background: linear-gradient(180deg, var(--color-story-green), var(--color-story-cream));
    padding: 3rem 6rem;
}

	.com.tem{
	 padding: 0 max(calc((100% - 100rem) / 2), 1.4rem) 5rem;
  }
@media screen and (max-width: 767px) {
	.kansyu{
   position:relative;
	  margin: 10rem auto 6rem;
  }
	.kansyu .guidance__bubble {
    left: 43%;
}
	.kansyu .supervision__inner {
    width: 100%;
    padding: 3rem 16px 1rem;
}
		.kansyu .btn-web,.kansyu .btn-internal{
    max-width: 100%;
}
	.kansyu .supervision__information {
        margin-top: 2rem;
    }
	  .kansyu .guidance__bubble img:last-child {
        width: 140px;
        height: 35px;
        top: 40px;
        left: 27px;
    }
	.com{
	  margin: 1rem 16px 10rem;
  }
		.com.tem{
	 padding: 1rem 16px 2rem;
  }
	}