@charset "UTF-8";

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

Reset

リセットスタイルは以下に記述する

============================================================================= */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap&subset=japanese");
*,
*::before,
*::after {
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, td, th, figure {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, th, dt {
  font-weight: inherit;
}

article, aside, footer, header, main, nav, section, figcaption, figure {
  display: block;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

body {
  margin: 0;
  box-sizing: border-box;
  text-rendering: optimizeSpeed;
}

picture {
  max-width: 100%;
}

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

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
*::before,
*::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
svg:not(:root) {
  overflow: hidden;
}

a {
  outline: 0;
  text-decoration: none;
  color: inherit;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
a:not([class]) {
  text-decoration-skip-ink: auto;
}

li {
  list-style: none;
}

b, strong {
  font-weight: inherit;
}

input, select, button, optgroup, textarea {
  font-family: inherit;
  appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  outline: 0;
  margin: 0;
  padding: 0;
}

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

button, input {
  overflow: visible;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

button:-moz-focusring,
input:-moz-focusring {
  outline: 1px dotted ButtonText;
}

button, select {
  cursor: pointer;
  text-transform: none;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border: none;
}

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

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

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

Javascript

・Javascriptによるクラス操作の基本設定
・Javascriptパーツクラス「.__×××」

上記は以下に記述する

============================================================================= */
/* SPメニュー展開時のBody
----------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  body.__spMenu-open {
    overflow: hidden;
  }
}
/* TELリンク
----------------------------------------------------------------------------- */
@media (min-width: 768px) {
  html:not(.__touchedevice) a[href^="tel:"] {
    cursor: default;
  }
}
/* アコーディオン
----------------------------------------------------------------------------- */
.__accordion-button {
  cursor: pointer;
}
@media (min-width: 768px) {
  .__accordion-button:not(.__sp) {
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  .__accordion-button:not(.__pc) {
    cursor: pointer;
  }
}

.__accordion-target {
  overflow: hidden;
  position: relative;
}
.__accordion-target[aria-hidden=true] {
  height: 0;
}
.__accordion-target[aria-hidden=false] {
  z-index: 1;
}

.__tab-targets_wrap {
  display: flex;
}
.__tab-targets_wrap .__accordion-target.__tab {
  flex-shrink: 0;
  margin-left: -100%;
}

/* タブ機能
----------------------------------------------------------------------------- */
.__tab-group .__tab-button {
  cursor: pointer;
}
.__tab-group .__tab-target {
  opacity: 0;
  transition-property: opacity;
  transition-duration: 250ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.__tab-group .__tab-target.__tab-active {
  opacity: 1;
}
.__tab-group .__tab-target[aria-hidden=true] {
  display: none;
}
/* パララックス演出
----------------------------------------------------------------------------- */
.__ios-element01 {
  position: relative;
}

@media screen {
  [data-ios=fade].__ios-element01,
[data-ios=fade] .__ios-element01 {
    transition-property: opacity, transform;
    transition-duration: 1000ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  [data-ios=fade].__ios-element01-delay01,
[data-ios=fade] .__ios-element01-delay01 {
    transition-property: opacity, transform;
    transition-duration: 1000ms;
    transition-delay: 400ms;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  [data-ios=fade].__ios-element01-delay02,
[data-ios=fade] .__ios-element01-delay02 {
    transition-property: opacity, transform;
    transition-duration: 1000ms;
    transition-delay: 800ms;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  [data-ios=fade]:not(.__ios-active).__ios-element01,
[data-ios=fade]:not(.__ios-active) .__ios-element01 {
    will-change: transform;
    opacity: 0;
    transform: translateY(10px);
  }
  [data-ios=fade]:not(.__ios-active).__ios-element01-delay01, [data-ios=fade]:not(.__ios-active).__ios-element01-delay02,
[data-ios=fade]:not(.__ios-active) .__ios-element01-delay01,
[data-ios=fade]:not(.__ios-active) .__ios-element01-delay02 {
    will-change: transform;
    opacity: 0;
    transform: translateY(10px);
  }
}
/* モーダル機能
----------------------------------------------------------------------------- */
[data-modal-youtube],
[data-modal-video],
[data-modal-img] {
  cursor: pointer;
}

body.__modal-active {
  overflow-y: hidden;
}

.modal_container {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  margin: auto;
  z-index: 2;
  max-width: 1160px;
  width: calc(100% - 80px);
  height: 100%;
  z-index: 250000;
  opacity: 0;
  transition: opacity 0.5s;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-tap-highlight-color: transparent !important;
}
.modal_container:focus {
  outline: none !important;
}
.__modal-active .modal_container {
  opacity: 1;
  pointer-events: auto;
}
.__modal-noclick .modal_container {
  pointer-events: none !important;
}
@media screen and (max-width: 767px) {
  .modal_container {
    width: calc(100% - 40px);
  }
}
.modal_container .modal_wrap {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  max-height: 100%;
  position: relative;
  transition-property: height;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.modal_container .modal_wrap .modal_block {
  flex-shrink: 0;
  width: 100%;
  max-height: 100%;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}
.modal_container .modal_wrap .modal_block.__view {
  opacity: 1;
  pointer-events: auto;
}
.modal_container .modal_wrap .modal_block._youtube, .modal_container .modal_wrap .modal_block._img, .modal_container .modal_wrap .modal_block._video {
  overflow: visible;
  padding-bottom: 56.25%;
  height: 0;
  position: relative;
}
.modal_container .modal_wrap .modal_block._youtube > iframe,
.modal_container .modal_wrap .modal_block._youtube > img,
.modal_container .modal_wrap .modal_block._youtube > video, .modal_container .modal_wrap .modal_block._img > iframe,
.modal_container .modal_wrap .modal_block._img > img,
.modal_container .modal_wrap .modal_block._img > video, .modal_container .modal_wrap .modal_block._video > iframe,
.modal_container .modal_wrap .modal_block._video > img,
.modal_container .modal_wrap .modal_block._video > video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.modal_container .modal_wrap .modal_block._youtube .modal-close, .modal_container .modal_wrap .modal_block._img .modal-close, .modal_container .modal_wrap .modal_block._video .modal-close {
  top: auto;
  bottom: 100%;
}
@media (min-width: 768px) {
  .modal_container .modal_wrap .modal_block._youtube .modal-close, .modal_container .modal_wrap .modal_block._img .modal-close, .modal_container .modal_wrap .modal_block._video .modal-close {
    left: 100%;
    right: auto;
  }
}
.modal_container .modal_wrap .modal_block._youtube .modal-close i:before, .modal_container .modal_wrap .modal_block._youtube .modal-close i:after, .modal_container .modal_wrap .modal_block._img .modal-close i:before, .modal_container .modal_wrap .modal_block._img .modal-close i:after, .modal_container .modal_wrap .modal_block._video .modal-close i:before, .modal_container .modal_wrap .modal_block._video .modal-close i:after {
  background-color: #fff;
}
.modal_container .modal_wrap .modal_block._video:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 5;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.modal_container .modal_wrap .modal_block._video.__pause:after {
  opacity: 0.6;
}
.modal_container .modal_wrap .modal_block._video.__pause .modal-play-control {
  opacity: 1;
  pointer-events: auto;
}
.modal_container .modal_wrap .modal_block._video .modal-play-control {
  margin: auto;
  border-radius: 50%;
  width: 200px;
  height: 200px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 10;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .modal_container .modal_wrap .modal_block._video .modal-play-control {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .modal_container .modal_wrap .modal_block._video .modal-play-control:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .modal_container .modal_wrap .modal_block._video .modal-play-control {
    width: 80px;
    height: 80px;
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
}
.modal_container .modal_wrap .modal_block._video .modal-play-control:after {
  content: "";
  display: block;
  margin: auto;
  width: 0;
  height: 0;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 50px solid #0e0d6a;
  position: absolute;
  top: 0;
  left: 10px;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .modal_container .modal_wrap .modal_block._video .modal-play-control:after {
    border-top-width: 16px;
    border-bottom-width: 16px;
    border-left-width: 24px;
    left: 5px;
  }
}
.modal_container .modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 50px;
  height: 48px;
  font-size: 16px;
  letter-spacing: 0.15em;
  line-height: 1;
  position: absolute;
  top: 2px;
  right: 0;
  z-index: 10;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  pointer-events: none;
}
.modal_container .modal-close.__view {
  opacity: 1;
  pointer-events: auto;
}
.__modal-noclick .modal_container .modal-close.__view {
  opacity: 0;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .modal_container .modal-close {
    width: 40px;
    height: 38px;
  }
}
.modal_container .modal-close i {
  display: block;
  margin: auto 0;
  width: 80%;
  height: 80%;
  position: relative;
}
.modal_container .modal-close i:before, .modal_container .modal-close i:after {
  content: "";
  display: block;
  margin: auto;
  width: 100%;
  height: 1px;
  background-color: #0E0D6A;
  position: absolute;
  top: 0;
  right: -10px;
  bottom: 0;
  left: -10px;
}
.modal_container .modal-close i:before {
  transform: rotate(45deg);
}
.modal_container .modal-close i:after {
  transform: rotate(-45deg);
}
.modal_container.view .modal-close {
  opacity: 1;
}

.modal-overlay {
  z-index: 200000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.9);
  backdrop-filter: grayscale(1);
  pointer-events: none;
  transition: opacity 0.5s;
  opacity: 0;
}
.__modal-active .modal-overlay {
  opacity: 1;
  pointer-events: auto;
}
@keyframes ball-spin-fade-loader {
  50% {
    opacity: 0.3;
    transform: scale(0.4);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.modal-loading {
  position: absolute;
  width: 5px;
  height: 5px;
  margin: auto;
  top: -250px;
  left: -5px;
  right: 0;
  bottom: 0;
}
.modal-loading > div {
  -webkit-animation-fill-mode: both;
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  background-color: #fff;
  margin: 2px;
}
.modal-loading > div:nth-child(1) {
  top: 25px;
  left: 0;
  animation: ball-spin-fade-loader 1s -0.96s infinite linear;
}
.modal-loading > div:nth-child(2) {
  top: 17.04545px;
  left: 17.04545px;
  animation: ball-spin-fade-loader 1s -0.84s infinite linear;
}
.modal-loading > div:nth-child(3) {
  top: 0;
  left: 25px;
  animation: ball-spin-fade-loader 1s -0.72s infinite linear;
}
.modal-loading > div:nth-child(4) {
  top: -17.04545px;
  left: 17.04545px;
  animation: ball-spin-fade-loader 1s -0.6s infinite linear;
}
.modal-loading > div:nth-child(5) {
  top: -25px;
  left: 0;
  animation: ball-spin-fade-loader 1s -0.48s infinite linear;
}
.modal-loading > div:nth-child(6) {
  top: -17.04545px;
  left: -17.04545px;
  animation: ball-spin-fade-loader 1s -0.36s infinite linear;
}
.modal-loading > div:nth-child(7) {
  top: 0;
  left: -25px;
  animation: ball-spin-fade-loader 1s -0.24s infinite linear;
}
.modal-loading > div:nth-child(8) {
  top: 17.04545px;
  left: -17.04545px;
  animation: ball-spin-fade-loader 1s -0.12s infinite linear;
}

/* ラインアニメーション
----------------------------------------------------------------------------- */
.__lineanim {
  width: 100%;
  height: 1px;
  background-color: #0E0D6A;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.__lineanim._bottom {
  top: auto;
  bottom: 0;
}
.__lineanim > canvas {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* Video起動
----------------------------------------------------------------------------- */
.__video {
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.__video:not(.__video-active) {
  opacity: 0;
}

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

Default

・サイト毎の基本設定
・上書き前提の単一のパーツクラス「._×××」
※基本的にタグを入れ子にする場合は「._l-×××」とし_common-layoutに記述する

上記は以下に記述する

============================================================================= */
@media (min-width: 768px) {
  html {
    scroll-padding-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 50px;
    -webkit-text-size-adjust: 100%;
  }
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", "Meiryo", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, verdana, "Osaka", sans-serif;
  font-feature-settings: "palt";
  font-weight: 400;
  font-size: 14px;
  font-weight: 400;
  line-height: 2.28;
  letter-spacing: 0.08em;
  color: #3C3C3C;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 12px;
    line-height: 1.75;
  }
}
@media (min-width: 768px) {
  body {
    min-width: 1024px;
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  body {
    padding-top: 50px;
  }
}
.wf-active body:after, .wf-inactive body:after {
  width: 0;
  opacity: 0;
  transition: width 0s, opacity 1s;
  transition-delay: 1s, 0s;
}
body._preload * {
  transition: none !important;
}
body:after {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  pointer-events: none;
  z-index: 100000000;
}

img {
  image-rendering: auto;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
}
img:not(._text) {
  display: block;
}
img[oncontextmenu="return false"] {
  -webkit-user-drag: none;
  -moz-user-select: none;
  user-drag: none;
}

div#Pagetop {
  width: 1px;
  height: 1px;
  text-indent: -9999px;
  position: absolute;
  top: 0;
}

main {
  position: relative;
}

@media (min-width: 768px) {
  html:not(.__touchedevice) a:not([class]) {
    transition-property: color;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
}
@media (min-width: 768px) and (max-width: 1152px) {
  ._pc-w1160 {
    width: 1160px;
  }
}
@media screen and (max-width: 767px) {
  ._sp-pd20 {
    padding-left: 20px;
    padding-right: 20px;
  }

  ._sp-pd36 {
    padding-left: 36px;
    padding-right: 36px;
  }

  ._sp-nm20 {
    margin-left: -20px;
    margin-right: -20px;
  }

  ._sp-nm36 {
    margin-left: -36px;
    margin-right: -36px;
  }
}
/* =============================================================================

Javascript

・Javascriptによるクラス操作の基本設定
・Javascriptパーツクラス「.__×××」

上記は以下に記述する

============================================================================= */
/* SPメニュー展開時のBody
----------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  body.__spMenu-open {
    overflow: hidden;
  }
}
/* TELリンク
----------------------------------------------------------------------------- */
@media (min-width: 768px) {
  html:not(.__touchedevice) a[href^="tel:"] {
    cursor: default;
  }
}
/* アコーディオン
----------------------------------------------------------------------------- */
.__accordion-button {
  cursor: pointer;
}
@media (min-width: 768px) {
  .__accordion-button:not(.__sp) {
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  .__accordion-button:not(.__pc) {
    cursor: pointer;
  }
}

.__accordion-target {
  overflow: hidden;
  position: relative;
}
.__accordion-target[aria-hidden=true] {
  height: 0;
}
.__accordion-target[aria-hidden=false] {
  z-index: 1;
}

.__tab-targets_wrap {
  display: flex;
}
.__tab-targets_wrap .__accordion-target.__tab {
  flex-shrink: 0;
  margin-left: -100%;
}

/* タブ機能
----------------------------------------------------------------------------- */
.__tab-group .__tab-button {
  cursor: pointer;
}
.__tab-group .__tab-target {
  opacity: 0;
  transition-property: opacity;
  transition-duration: 250ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.__tab-group .__tab-target.__tab-active {
  opacity: 1;
}
.__tab-group .__tab-target[aria-hidden=true] {
  display: none;
}
/* パララックス演出
----------------------------------------------------------------------------- */
.__ios-element01 {
  position: relative;
}

@media screen {
  [data-ios=fade].__ios-element01,
[data-ios=fade] .__ios-element01 {
    transition-property: opacity, transform;
    transition-duration: 1000ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  [data-ios=fade].__ios-element01-delay01,
[data-ios=fade] .__ios-element01-delay01 {
    transition-property: opacity, transform;
    transition-duration: 1000ms;
    transition-delay: 400ms;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  [data-ios=fade].__ios-element01-delay02,
[data-ios=fade] .__ios-element01-delay02 {
    transition-property: opacity, transform;
    transition-duration: 1000ms;
    transition-delay: 800ms;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  [data-ios=fade]:not(.__ios-active).__ios-element01,
[data-ios=fade]:not(.__ios-active) .__ios-element01 {
    will-change: transform;
    opacity: 0;
    transform: translateY(10px);
  }
  [data-ios=fade]:not(.__ios-active).__ios-element01-delay01, [data-ios=fade]:not(.__ios-active).__ios-element01-delay02,
[data-ios=fade]:not(.__ios-active) .__ios-element01-delay01,
[data-ios=fade]:not(.__ios-active) .__ios-element01-delay02 {
    will-change: transform;
    opacity: 0;
    transform: translateY(10px);
  }
}
/* モーダル機能
----------------------------------------------------------------------------- */
[data-modal-youtube],
[data-modal-video],
[data-modal-img] {
  cursor: pointer;
}

body.__modal-active {
  overflow-y: hidden;
}

.modal_container {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  margin: auto;
  z-index: 2;
  max-width: 1160px;
  width: calc(100% - 80px);
  height: 100%;
  z-index: 250000;
  opacity: 0;
  transition: opacity 0.5s;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-tap-highlight-color: transparent !important;
}
.modal_container:focus {
  outline: none !important;
}
.__modal-active .modal_container {
  opacity: 1;
  pointer-events: auto;
}
.__modal-noclick .modal_container {
  pointer-events: none !important;
}
@media screen and (max-width: 767px) {
  .modal_container {
    width: calc(100% - 40px);
  }
}
.modal_container .modal_wrap {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  max-height: 100%;
  position: relative;
  transition-property: height;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.modal_container .modal_wrap .modal_block {
  flex-shrink: 0;
  width: 100%;
  max-height: 100%;
  opacity: 0;
  pointer-events: none;
  overflow-y: auto;
}
.modal_container .modal_wrap .modal_block.__view {
  opacity: 1;
  pointer-events: auto;
}
.modal_container .modal_wrap .modal_block._youtube, .modal_container .modal_wrap .modal_block._img, .modal_container .modal_wrap .modal_block._video {
  overflow: visible;
  padding-bottom: 56.25%;
  height: 0;
  position: relative;
}
.modal_container .modal_wrap .modal_block._youtube > iframe,
.modal_container .modal_wrap .modal_block._youtube > img,
.modal_container .modal_wrap .modal_block._youtube > video, .modal_container .modal_wrap .modal_block._img > iframe,
.modal_container .modal_wrap .modal_block._img > img,
.modal_container .modal_wrap .modal_block._img > video, .modal_container .modal_wrap .modal_block._video > iframe,
.modal_container .modal_wrap .modal_block._video > img,
.modal_container .modal_wrap .modal_block._video > video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.modal_container .modal_wrap .modal_block._youtube .modal-close, .modal_container .modal_wrap .modal_block._img .modal-close, .modal_container .modal_wrap .modal_block._video .modal-close {
  top: auto;
  bottom: 100%;
}
@media (min-width: 768px) {
  .modal_container .modal_wrap .modal_block._youtube .modal-close, .modal_container .modal_wrap .modal_block._img .modal-close, .modal_container .modal_wrap .modal_block._video .modal-close {
    left: 100%;
    right: auto;
  }
}
.modal_container .modal_wrap .modal_block._youtube .modal-close i:before, .modal_container .modal_wrap .modal_block._youtube .modal-close i:after, .modal_container .modal_wrap .modal_block._img .modal-close i:before, .modal_container .modal_wrap .modal_block._img .modal-close i:after, .modal_container .modal_wrap .modal_block._video .modal-close i:before, .modal_container .modal_wrap .modal_block._video .modal-close i:after {
  background-color: #fff;
}
.modal_container .modal_wrap .modal_block._video:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 5;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.modal_container .modal_wrap .modal_block._video.__pause:after {
  opacity: 0.6;
}
.modal_container .modal_wrap .modal_block._video.__pause .modal-play-control {
  opacity: 1;
  pointer-events: auto;
}
.modal_container .modal_wrap .modal_block._video .modal-play-control {
  margin: auto;
  border-radius: 50%;
  width: 200px;
  height: 200px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 10;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .modal_container .modal_wrap .modal_block._video .modal-play-control {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .modal_container .modal_wrap .modal_block._video .modal-play-control:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .modal_container .modal_wrap .modal_block._video .modal-play-control {
    width: 80px;
    height: 80px;
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
}
.modal_container .modal_wrap .modal_block._video .modal-play-control:after {
  content: "";
  display: block;
  margin: auto;
  width: 0;
  height: 0;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 50px solid #0e0d6a;
  position: absolute;
  top: 0;
  left: 10px;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .modal_container .modal_wrap .modal_block._video .modal-play-control:after {
    border-top-width: 16px;
    border-bottom-width: 16px;
    border-left-width: 24px;
    left: 5px;
  }
}
.modal_container .modal-close {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 50px;
  height: 48px;
  font-size: 16px;
  letter-spacing: 0.15em;
  line-height: 1;
  position: absolute;
  top: 2px;
  right: 0;
  z-index: 10;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  pointer-events: none;
}
.modal_container .modal-close.__view {
  opacity: 1;
  pointer-events: auto;
}
.__modal-noclick .modal_container .modal-close.__view {
  opacity: 0;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .modal_container .modal-close {
    width: 40px;
    height: 38px;
  }
}
.modal_container .modal-close i {
  display: block;
  margin: auto 0;
  width: 80%;
  height: 80%;
  position: relative;
}
.modal_container .modal-close i:before, .modal_container .modal-close i:after {
  content: "";
  display: block;
  margin: auto;
  width: 100%;
  height: 1px;
  background-color: #0E0D6A;
  position: absolute;
  top: 0;
  right: -10px;
  bottom: 0;
  left: -10px;
}
.modal_container .modal-close i:before {
  transform: rotate(45deg);
}
.modal_container .modal-close i:after {
  transform: rotate(-45deg);
}
.modal_container.view .modal-close {
  opacity: 1;
}

.modal-overlay {
  z-index: 200000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.9);
  backdrop-filter: grayscale(1);
  pointer-events: none;
  transition: opacity 0.5s;
  opacity: 0;
}
.__modal-active .modal-overlay {
  opacity: 1;
  pointer-events: auto;
}
@keyframes ball-spin-fade-loader {
  50% {
    opacity: 0.3;
    transform: scale(0.4);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.modal-loading {
  position: absolute;
  width: 5px;
  height: 5px;
  margin: auto;
  top: -250px;
  left: -5px;
  right: 0;
  bottom: 0;
}
.modal-loading > div {
  -webkit-animation-fill-mode: both;
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  background-color: #fff;
  margin: 2px;
}
.modal-loading > div:nth-child(1) {
  top: 25px;
  left: 0;
  animation: ball-spin-fade-loader 1s -0.96s infinite linear;
}
.modal-loading > div:nth-child(2) {
  top: 17.04545px;
  left: 17.04545px;
  animation: ball-spin-fade-loader 1s -0.84s infinite linear;
}
.modal-loading > div:nth-child(3) {
  top: 0;
  left: 25px;
  animation: ball-spin-fade-loader 1s -0.72s infinite linear;
}
.modal-loading > div:nth-child(4) {
  top: -17.04545px;
  left: 17.04545px;
  animation: ball-spin-fade-loader 1s -0.6s infinite linear;
}
.modal-loading > div:nth-child(5) {
  top: -25px;
  left: 0;
  animation: ball-spin-fade-loader 1s -0.48s infinite linear;
}
.modal-loading > div:nth-child(6) {
  top: -17.04545px;
  left: -17.04545px;
  animation: ball-spin-fade-loader 1s -0.36s infinite linear;
}
.modal-loading > div:nth-child(7) {
  top: 0;
  left: -25px;
  animation: ball-spin-fade-loader 1s -0.24s infinite linear;
}
.modal-loading > div:nth-child(8) {
  top: 17.04545px;
  left: -17.04545px;
  animation: ball-spin-fade-loader 1s -0.12s infinite linear;
}

/* ラインアニメーション
----------------------------------------------------------------------------- */
.__lineanim {
  width: 100%;
  height: 1px;
  background-color: #0E0D6A;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.__lineanim._bottom {
  top: auto;
  bottom: 0;
}
.__lineanim > canvas {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* Video起動
----------------------------------------------------------------------------- */
.__video {
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.__video:not(.__video-active) {
  opacity: 0;
}

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

General

・上書き前提のパーツクラス「._×××」
レイアウトとの区別として、ここは基本的に単一のタグに対するスタイルを記述する ※基本的に入れ子タグになる場合は_layoutに記述
アンダースコアに続く名前は基本的に属性名か、その短縮名称にする。 そこから「-」でつなげてクラス名をきめる
また、PC / SPのみに適応する場合は属性の次に「-pc」「-sp」と適応するデバイス名称をつける
※@include generalで自動的につく

▼例：
・中央寄せにするとき（PC / SP）
._t-center
・PCのみ中央寄せにする時
._t-pc-center
・SPのみ中央寄せにする時
._t-sp-center

上記は以下に記述する

============================================================================= */
/* PC / SP デバイスに関わる基本設定
============================================================================= */
._hidden {
  display: none !important;
}

@media (min-width: 768px) {
  ._sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  ._pc {
    display: none !important;
  }
}
@media (min-width: 768px) {
  ._pc-w1160,
.pc-w1160 {
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 40px);
    width: 1160px;
  }
}
@media (min-width: 768px) {
  ._pc-w960,
.pc-w960 {
    margin-left: auto;
    margin-right: auto;
    max-width: calc(100% - 40px);
    width: 960px;
  }
}
@media screen and (max-width: 767px) {
  ._sp-pd20,
.sp-pd20 {
    padding-left: 20px;
    padding-right: 20px;
  }

  ._sp-nm20,
.sp-nm20 {
    margin-left: calc(-1 * 20px);
    margin-right: calc(-1 * 20px);
  }
}
@media screen and (max-width: 767px) {
  ._sp-pd36,
.sp-pd36 {
    padding-left: 36px;
    padding-right: 36px;
  }

  ._sp-nm36,
.sp-nm36 {
    margin-left: calc(-1 * 36px);
    margin-right: calc(-1 * 36px);
  }
}
/* line-clamp ._lc
============================================================================= */
._lc-1 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-align: justify;
  overflow: hidden;
  -webkit-line-clamp: 1;
}
._lc-2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-align: justify;
  overflow: hidden;
  -webkit-line-clamp: 2;
}
._lc-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-align: justify;
  overflow: hidden;
  -webkit-line-clamp: 3;
}
@media (min-width: 768px) {
  ._lc-pc-1 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-align: justify;
    overflow: hidden;
    -webkit-line-clamp: 1;
  }
  ._lc-pc-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-align: justify;
    overflow: hidden;
    -webkit-line-clamp: 2;
  }
  ._lc-pc-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-align: justify;
    overflow: hidden;
    -webkit-line-clamp: 3;
  }
}
@media screen and (max-width: 767px) {
  ._lc-sp-1 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-align: justify;
    overflow: hidden;
    -webkit-line-clamp: 1;
  }
  ._lc-sp-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-align: justify;
    overflow: hidden;
    -webkit-line-clamp: 2;
  }
  ._lc-sp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-align: justify;
    overflow: hidden;
    -webkit-line-clamp: 3;
  }
}

/* line-height ._lh
============================================================================= */
._lh-1 {
  line-height: 1;
}
@media (min-width: 768px) {
  ._lh-pc-1 {
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  ._lh-sp-1 {
    line-height: 1;
  }
}

/* text ._t
text-align
============================================================================= */
._t-left {
  text-align: left !important;
}
._t-left > img,
._t-left picture > img {
  display: inline-block;
}
._t-justify {
  text-align-last: left;
  text-align: justify;
  text-justify: inter-ideograph;
}
._t-last-justify {
  text-align-last: justify;
}
._t-center {
  text-align: center !important;
}
._t-center > img,
._t-center picture > img {
  display: inline-block;
}
._t-right {
  text-align: right !important;
}
._t-right > img,
._t-right picture > img {
  display: inline-block;
}
._t-underline {
  text-decoration: underline;
}
@media (min-width: 768px) {
  ._t-pc-left {
    text-align: left !important;
  }
  ._t-pc-left > img,
._t-pc-left picture > img {
    display: inline-block;
  }
  ._t-pc-justify {
    text-align-last: left;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  ._t-pc-last-justify {
    text-align-last: justify;
  }
  ._t-pc-center {
    text-align: center !important;
  }
  ._t-pc-center > img,
._t-pc-center picture > img {
    display: inline-block;
  }
  ._t-pc-right {
    text-align: right !important;
  }
  ._t-pc-right > img,
._t-pc-right picture > img {
    display: inline-block;
  }
  ._t-pc-underline {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  ._t-sp-left {
    text-align: left !important;
  }
  ._t-sp-left > img,
._t-sp-left picture > img {
    display: inline-block;
  }
  ._t-sp-justify {
    text-align-last: left;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  ._t-sp-last-justify {
    text-align-last: justify;
  }
  ._t-sp-center {
    text-align: center !important;
  }
  ._t-sp-center > img,
._t-sp-center picture > img {
    display: inline-block;
  }
  ._t-sp-right {
    text-align: right !important;
  }
  ._t-sp-right > img,
._t-sp-right picture > img {
    display: inline-block;
  }
  ._t-sp-underline {
    text-decoration: underline;
  }
}

/* background ._bg
background-color
background-size
============================================================================= */
._bg-black01 {
  color: #fff;
  background-color: #3C3C3C;
}
._bg-gray01 {
  background-color: #F4F4F4;
}
._bg-blue01 {
  color: #fff;
  background-color: #0E0D6A;
}
._bg-cover {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
._bg-contain {
  background-size: coutain;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  ._bg-pc-black01 {
    color: #fff;
    background-color: #3C3C3C;
  }
  ._bg-pc-gray01 {
    background-color: #F4F4F4;
  }
  ._bg-pc-blue01 {
    color: #fff;
    background-color: #0E0D6A;
  }
  ._bg-pc-cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  ._bg-pc-contain {
    background-size: coutain;
    background-position: center;
    background-repeat: no-repeat;
  }
}
@media screen and (max-width: 767px) {
  ._bg-sp-black01 {
    color: #fff;
    background-color: #3C3C3C;
  }
  ._bg-sp-gray01 {
    background-color: #F4F4F4;
  }
  ._bg-sp-blue01 {
    color: #fff;
    background-color: #0E0D6A;
  }
  ._bg-sp-cover {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  ._bg-sp-contain {
    background-size: coutain;
    background-position: center;
    background-repeat: no-repeat;
  }
}

/* object-fit ._of
============================================================================= */
._of-cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
._of-contain {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  font-family: "object-fit: contain;";
}
@media (min-width: 768px) {
  ._of-pc-cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: cover;";
  }
  ._of-pc-contain {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    font-family: "object-fit: contain;";
  }
}
@media screen and (max-width: 767px) {
  ._of-sp-cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: cover;";
  }
  ._of-sp-contain {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    font-family: "object-fit: contain;";
  }
}

/* color ._color
============================================================================= */
._color-white {
  color: #fff !important;
}
._color-black {
  color: #3C3C3C !important;
}
._color-orange01 {
  color: #EA5404 !important;
}
._color-blue01 {
  color: #0E0D6A !important;
}
._color-red01 {
  color: #DE3535 !important;
}
@media (min-width: 768px) {
  ._color-pc-white {
    color: #fff !important;
  }
  ._color-pc-black {
    color: #3C3C3C !important;
  }
  ._color-pc-orange01 {
    color: #EA5404 !important;
  }
  ._color-pc-blue01 {
    color: #0E0D6A !important;
  }
  ._color-pc-red01 {
    color: #DE3535 !important;
  }
}
@media screen and (max-width: 767px) {
  ._color-sp-white {
    color: #fff !important;
  }
  ._color-sp-black {
    color: #3C3C3C !important;
  }
  ._color-sp-orange01 {
    color: #EA5404 !important;
  }
  ._color-sp-blue01 {
    color: #0E0D6A !important;
  }
  ._color-sp-red01 {
    color: #DE3535 !important;
  }
}

/* word-break ._wb
============================================================================= */
._wb-break {
  word-break: break-all;
}
@media (min-width: 768px) {
  ._wb-pc-break {
    word-break: break-all;
  }
}
@media screen and (max-width: 767px) {
  ._wb-sp-break {
    word-break: break-all;
  }
}

/* font ._f
font-family
font-weight
============================================================================= */
._f-black {
  font-weight: 900;
}
._f-bold {
  font-weight: 700;
}
._f-bolder {
  font-weight: 600;
}
._f-medium {
  font-weight: 500;
}
._f-regular {
  font-weight: 400;
}
@media (min-width: 768px) {
  ._f-pc-black {
    font-weight: 900;
  }
  ._f-pc-bold {
    font-weight: 700;
  }
  ._f-pc-bolder {
    font-weight: 600;
  }
  ._f-pc-medium {
    font-weight: 500;
  }
  ._f-pc-regular {
    font-weight: 400;
  }
}
@media screen and (max-width: 767px) {
  ._f-sp-black {
    font-weight: 900;
  }
  ._f-sp-bold {
    font-weight: 700;
  }
  ._f-sp-bolder {
    font-weight: 600;
  }
  ._f-sp-medium {
    font-weight: 500;
  }
  ._f-sp-regular {
    font-weight: 400;
  }
}

/* flex ._flex-*
============================================================================= */
._flex {
  display: flex;
}
._flex-j-start {
  justify-content: flex-start;
}
._flex-j-center {
  justify-content: center;
}
._flex-j-end {
  justify-content: flex-end;
}
._flex-a-start {
  align-items: flex-start;
}
._flex-a-center {
  align-items: center;
}
._flex-a-end {
  align-items: flex-end;
}
@media (min-width: 768px) {
  ._flex-pc {
    display: flex;
  }
  ._flex-pc-j-start {
    justify-content: flex-start;
  }
  ._flex-pc-j-center {
    justify-content: center;
  }
  ._flex-pc-j-end {
    justify-content: flex-end;
  }
  ._flex-pc-a-start {
    align-items: flex-start;
  }
  ._flex-pc-a-center {
    align-items: center;
  }
  ._flex-pc-a-end {
    align-items: flex-end;
  }
}
@media screen and (max-width: 767px) {
  ._flex-sp {
    display: flex;
  }
  ._flex-sp-j-start {
    justify-content: flex-start;
  }
  ._flex-sp-j-center {
    justify-content: center;
  }
  ._flex-sp-j-end {
    justify-content: flex-end;
  }
  ._flex-sp-a-start {
    align-items: flex-start;
  }
  ._flex-sp-a-center {
    align-items: center;
  }
  ._flex-sp-a-end {
    align-items: flex-end;
  }
}

/* border ._bd-*
============================================================================= */
._bd-01 {
  border: 1px solid #c7c7c7;
}
@media (min-width: 768px) {
  ._bd-pc-01 {
    border: 1px solid #c7c7c7;
  }
}
@media screen and (max-width: 767px) {
  ._bd-sp-01 {
    border: 1px solid #c7c7c7;
  }
}

/* icon ._ico-*
============================================================================= */
._ico-tb01 {
  display: inline-block;
  border: 1px solid;
  width: 10px;
  height: 8px;
  position: relative;
}
._ico-tb01:after {
  content: "";
  display: block;
  border-right: 1px solid;
  border-bottom: 1px solid;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  position: absolute;
  right: -3px;
  bottom: -3px;
}

/* 10の倍数で汎用margin / padding を生成 */
._mt-0, .mt-0 {
  margin-top: 0 !important;
}

._mb-0, .mb-0 {
  margin-bottom: 0 !important;
}

._pt-0, .pt-0 {
  padding-top: 0 !important;
}

._pb-0, .pb-0 {
  padding-bottom: 0 !important;
}

._mt-10, .mt-10 {
  margin-top: 10px !important;
}

._mb-10, .mb-10 {
  margin-bottom: 10px !important;
}

._pt-10, .pt-10 {
  padding-top: 10px !important;
}

._pb-10, .pb-10 {
  padding-bottom: 10px !important;
}

._mt-20, .mt-20 {
  margin-top: 20px !important;
}

._mb-20, .mb-20 {
  margin-bottom: 20px !important;
}

._pt-20, .pt-20 {
  padding-top: 20px !important;
}

._pb-20, .pb-20 {
  padding-bottom: 20px !important;
}

._mt-30, .mt-30 {
  margin-top: 30px !important;
}

._mb-30, .mb-30 {
  margin-bottom: 30px !important;
}

._pt-30, .pt-30 {
  padding-top: 30px !important;
}

._pb-30, .pb-30 {
  padding-bottom: 30px !important;
}

._mt-40, .mt-40 {
  margin-top: 40px !important;
}

._mb-40, .mb-40 {
  margin-bottom: 40px !important;
}

._pt-40, .pt-40 {
  padding-top: 40px !important;
}

._pb-40, .pb-40 {
  padding-bottom: 40px !important;
}

._mt-50, .mt-50 {
  margin-top: 50px !important;
}

._mb-50, .mb-50 {
  margin-bottom: 50px !important;
}

._pt-50, .pt-50 {
  padding-top: 50px !important;
}

._pb-50, .pb-50 {
  padding-bottom: 50px !important;
}

._mt-60, .mt-60 {
  margin-top: 60px !important;
}

._mb-60, .mb-60 {
  margin-bottom: 60px !important;
}

._pt-60, .pt-60 {
  padding-top: 60px !important;
}

._pb-60, .pb-60 {
  padding-bottom: 60px !important;
}

._mt-70, .mt-70 {
  margin-top: 70px !important;
}

._mb-70, .mb-70 {
  margin-bottom: 70px !important;
}

._pt-70, .pt-70 {
  padding-top: 70px !important;
}

._pb-70, .pb-70 {
  padding-bottom: 70px !important;
}

._mt-80, .mt-80 {
  margin-top: 80px !important;
}

._mb-80, .mb-80 {
  margin-bottom: 80px !important;
}

._pt-80, .pt-80 {
  padding-top: 80px !important;
}

._pb-80, .pb-80 {
  padding-bottom: 80px !important;
}

._mt-90, .mt-90 {
  margin-top: 90px !important;
}

._mb-90, .mb-90 {
  margin-bottom: 90px !important;
}

._pt-90, .pt-90 {
  padding-top: 90px !important;
}

._pb-90, .pb-90 {
  padding-bottom: 90px !important;
}

._mt-100, .mt-100 {
  margin-top: 100px !important;
}

._mb-100, .mb-100 {
  margin-bottom: 100px !important;
}

._pt-100, .pt-100 {
  padding-top: 100px !important;
}

._pb-100, .pb-100 {
  padding-bottom: 100px !important;
}

._mt-110, .mt-110 {
  margin-top: 110px !important;
}

._mb-110, .mb-110 {
  margin-bottom: 110px !important;
}

._pt-110, .pt-110 {
  padding-top: 110px !important;
}

._pb-110, .pb-110 {
  padding-bottom: 110px !important;
}

._mt-120, .mt-120 {
  margin-top: 120px !important;
}

._mb-120, .mb-120 {
  margin-bottom: 120px !important;
}

._pt-120, .pt-120 {
  padding-top: 120px !important;
}

._pb-120, .pb-120 {
  padding-bottom: 120px !important;
}

._mt-130, .mt-130 {
  margin-top: 130px !important;
}

._mb-130, .mb-130 {
  margin-bottom: 130px !important;
}

._pt-130, .pt-130 {
  padding-top: 130px !important;
}

._pb-130, .pb-130 {
  padding-bottom: 130px !important;
}

._mt-140, .mt-140 {
  margin-top: 140px !important;
}

._mb-140, .mb-140 {
  margin-bottom: 140px !important;
}

._pt-140, .pt-140 {
  padding-top: 140px !important;
}

._pb-140, .pb-140 {
  padding-bottom: 140px !important;
}

._mt-150, .mt-150 {
  margin-top: 150px !important;
}

._mb-150, .mb-150 {
  margin-bottom: 150px !important;
}

._pt-150, .pt-150 {
  padding-top: 150px !important;
}

._pb-150, .pb-150 {
  padding-bottom: 150px !important;
}

._mt-160, .mt-160 {
  margin-top: 160px !important;
}

._mb-160, .mb-160 {
  margin-bottom: 160px !important;
}

._pt-160, .pt-160 {
  padding-top: 160px !important;
}

._pb-160, .pb-160 {
  padding-bottom: 160px !important;
}

._mt-170, .mt-170 {
  margin-top: 170px !important;
}

._mb-170, .mb-170 {
  margin-bottom: 170px !important;
}

._pt-170, .pt-170 {
  padding-top: 170px !important;
}

._pb-170, .pb-170 {
  padding-bottom: 170px !important;
}

._mt-180, .mt-180 {
  margin-top: 180px !important;
}

._mb-180, .mb-180 {
  margin-bottom: 180px !important;
}

._pt-180, .pt-180 {
  padding-top: 180px !important;
}

._pb-180, .pb-180 {
  padding-bottom: 180px !important;
}

._mt-190, .mt-190 {
  margin-top: 190px !important;
}

._mb-190, .mb-190 {
  margin-bottom: 190px !important;
}

._pt-190, .pt-190 {
  padding-top: 190px !important;
}

._pb-190, .pb-190 {
  padding-bottom: 190px !important;
}

._mt-200, .mt-200 {
  margin-top: 200px !important;
}

._mb-200, .mb-200 {
  margin-bottom: 200px !important;
}

._pt-200, .pt-200 {
  padding-top: 200px !important;
}

._pb-200, .pb-200 {
  padding-bottom: 200px !important;
}

@media (min-width: 768px) {
  ._mt-pc-0, .mt-pc-0 {
    margin-top: 0 !important;
  }

  ._mb-pc-0, .mb-pc-0 {
    margin-bottom: 0 !important;
  }

  ._pt-pc-0, .pt-pc-0 {
    padding-top: 0 !important;
  }

  ._pb-pc-0, .pb-pc-0 {
    padding-bottom: 0 !important;
  }

  ._mt-pc-10, .mt-pc-10 {
    margin-top: 10px !important;
  }

  ._mb-pc-10, .mb-pc-10 {
    margin-bottom: 10px !important;
  }

  ._pt-pc-10, .pt-pc-10 {
    padding-top: 10px !important;
  }

  ._pb-pc-10, .pb-pc-10 {
    padding-bottom: 10px !important;
  }

  ._mt-pc-20, .mt-pc-20 {
    margin-top: 20px !important;
  }

  ._mb-pc-20, .mb-pc-20 {
    margin-bottom: 20px !important;
  }

  ._pt-pc-20, .pt-pc-20 {
    padding-top: 20px !important;
  }

  ._pb-pc-20, .pb-pc-20 {
    padding-bottom: 20px !important;
  }

  ._mt-pc-30, .mt-pc-30 {
    margin-top: 30px !important;
  }

  ._mb-pc-30, .mb-pc-30 {
    margin-bottom: 30px !important;
  }

  ._pt-pc-30, .pt-pc-30 {
    padding-top: 30px !important;
  }

  ._pb-pc-30, .pb-pc-30 {
    padding-bottom: 30px !important;
  }

  ._mt-pc-40, .mt-pc-40 {
    margin-top: 40px !important;
  }

  ._mb-pc-40, .mb-pc-40 {
    margin-bottom: 40px !important;
  }

  ._pt-pc-40, .pt-pc-40 {
    padding-top: 40px !important;
  }

  ._pb-pc-40, .pb-pc-40 {
    padding-bottom: 40px !important;
  }

  ._mt-pc-50, .mt-pc-50 {
    margin-top: 50px !important;
  }

  ._mb-pc-50, .mb-pc-50 {
    margin-bottom: 50px !important;
  }

  ._pt-pc-50, .pt-pc-50 {
    padding-top: 50px !important;
  }

  ._pb-pc-50, .pb-pc-50 {
    padding-bottom: 50px !important;
  }

  ._mt-pc-60, .mt-pc-60 {
    margin-top: 60px !important;
  }

  ._mb-pc-60, .mb-pc-60 {
    margin-bottom: 60px !important;
  }

  ._pt-pc-60, .pt-pc-60 {
    padding-top: 60px !important;
  }

  ._pb-pc-60, .pb-pc-60 {
    padding-bottom: 60px !important;
  }

  ._mt-pc-70, .mt-pc-70 {
    margin-top: 70px !important;
  }

  ._mb-pc-70, .mb-pc-70 {
    margin-bottom: 70px !important;
  }

  ._pt-pc-70, .pt-pc-70 {
    padding-top: 70px !important;
  }

  ._pb-pc-70, .pb-pc-70 {
    padding-bottom: 70px !important;
  }

  ._mt-pc-80, .mt-pc-80 {
    margin-top: 80px !important;
  }

  ._mb-pc-80, .mb-pc-80 {
    margin-bottom: 80px !important;
  }

  ._pt-pc-80, .pt-pc-80 {
    padding-top: 80px !important;
  }

  ._pb-pc-80, .pb-pc-80 {
    padding-bottom: 80px !important;
  }

  ._mt-pc-90, .mt-pc-90 {
    margin-top: 90px !important;
  }

  ._mb-pc-90, .mb-pc-90 {
    margin-bottom: 90px !important;
  }

  ._pt-pc-90, .pt-pc-90 {
    padding-top: 90px !important;
  }

  ._pb-pc-90, .pb-pc-90 {
    padding-bottom: 90px !important;
  }

  ._mt-pc-100, .mt-pc-100 {
    margin-top: 100px !important;
  }

  ._mb-pc-100, .mb-pc-100 {
    margin-bottom: 100px !important;
  }

  ._pt-pc-100, .pt-pc-100 {
    padding-top: 100px !important;
  }

  ._pb-pc-100, .pb-pc-100 {
    padding-bottom: 100px !important;
  }

  ._mt-pc-110, .mt-pc-110 {
    margin-top: 110px !important;
  }

  ._mb-pc-110, .mb-pc-110 {
    margin-bottom: 110px !important;
  }

  ._pt-pc-110, .pt-pc-110 {
    padding-top: 110px !important;
  }

  ._pb-pc-110, .pb-pc-110 {
    padding-bottom: 110px !important;
  }

  ._mt-pc-120, .mt-pc-120 {
    margin-top: 120px !important;
  }

  ._mb-pc-120, .mb-pc-120 {
    margin-bottom: 120px !important;
  }

  ._pt-pc-120, .pt-pc-120 {
    padding-top: 120px !important;
  }

  ._pb-pc-120, .pb-pc-120 {
    padding-bottom: 120px !important;
  }

  ._mt-pc-130, .mt-pc-130 {
    margin-top: 130px !important;
  }

  ._mb-pc-130, .mb-pc-130 {
    margin-bottom: 130px !important;
  }

  ._pt-pc-130, .pt-pc-130 {
    padding-top: 130px !important;
  }

  ._pb-pc-130, .pb-pc-130 {
    padding-bottom: 130px !important;
  }

  ._mt-pc-140, .mt-pc-140 {
    margin-top: 140px !important;
  }

  ._mb-pc-140, .mb-pc-140 {
    margin-bottom: 140px !important;
  }

  ._pt-pc-140, .pt-pc-140 {
    padding-top: 140px !important;
  }

  ._pb-pc-140, .pb-pc-140 {
    padding-bottom: 140px !important;
  }

  ._mt-pc-150, .mt-pc-150 {
    margin-top: 150px !important;
  }

  ._mb-pc-150, .mb-pc-150 {
    margin-bottom: 150px !important;
  }

  ._pt-pc-150, .pt-pc-150 {
    padding-top: 150px !important;
  }

  ._pb-pc-150, .pb-pc-150 {
    padding-bottom: 150px !important;
  }

  ._mt-pc-160, .mt-pc-160 {
    margin-top: 160px !important;
  }

  ._mb-pc-160, .mb-pc-160 {
    margin-bottom: 160px !important;
  }

  ._pt-pc-160, .pt-pc-160 {
    padding-top: 160px !important;
  }

  ._pb-pc-160, .pb-pc-160 {
    padding-bottom: 160px !important;
  }

  ._mt-pc-170, .mt-pc-170 {
    margin-top: 170px !important;
  }

  ._mb-pc-170, .mb-pc-170 {
    margin-bottom: 170px !important;
  }

  ._pt-pc-170, .pt-pc-170 {
    padding-top: 170px !important;
  }

  ._pb-pc-170, .pb-pc-170 {
    padding-bottom: 170px !important;
  }

  ._mt-pc-180, .mt-pc-180 {
    margin-top: 180px !important;
  }

  ._mb-pc-180, .mb-pc-180 {
    margin-bottom: 180px !important;
  }

  ._pt-pc-180, .pt-pc-180 {
    padding-top: 180px !important;
  }

  ._pb-pc-180, .pb-pc-180 {
    padding-bottom: 180px !important;
  }

  ._mt-pc-190, .mt-pc-190 {
    margin-top: 190px !important;
  }

  ._mb-pc-190, .mb-pc-190 {
    margin-bottom: 190px !important;
  }

  ._pt-pc-190, .pt-pc-190 {
    padding-top: 190px !important;
  }

  ._pb-pc-190, .pb-pc-190 {
    padding-bottom: 190px !important;
  }

  ._mt-pc-200, .mt-pc-200 {
    margin-top: 200px !important;
  }

  ._mb-pc-200, .mb-pc-200 {
    margin-bottom: 200px !important;
  }

  ._pt-pc-200, .pt-pc-200 {
    padding-top: 200px !important;
  }

  ._pb-pc-200, .pb-pc-200 {
    padding-bottom: 200px !important;
  }
}
@media screen and (max-width: 767px) {
  ._mt-sp-0, .mt-sp-0 {
    margin-top: 0 !important;
  }

  ._mb-sp-0, .mb-sp-0 {
    margin-bottom: 0 !important;
  }

  ._pt-sp-0, .pt-sp-0 {
    padding-top: 0 !important;
  }

  ._pb-sp-0, .pb-sp-0 {
    padding-bottom: 0 !important;
  }

  ._mt-sp-10, .mt-sp-10 {
    margin-top: 10px !important;
  }

  ._mb-sp-10, .mb-sp-10 {
    margin-bottom: 10px !important;
  }

  ._pt-sp-10, .pt-sp-10 {
    padding-top: 10px !important;
  }

  ._pb-sp-10, .pb-sp-10 {
    padding-bottom: 10px !important;
  }

  ._mt-sp-20, .mt-sp-20 {
    margin-top: 20px !important;
  }

  ._mb-sp-20, .mb-sp-20 {
    margin-bottom: 20px !important;
  }

  ._pt-sp-20, .pt-sp-20 {
    padding-top: 20px !important;
  }

  ._pb-sp-20, .pb-sp-20 {
    padding-bottom: 20px !important;
  }

  ._mt-sp-30, .mt-sp-30 {
    margin-top: 30px !important;
  }

  ._mb-sp-30, .mb-sp-30 {
    margin-bottom: 30px !important;
  }

  ._pt-sp-30, .pt-sp-30 {
    padding-top: 30px !important;
  }

  ._pb-sp-30, .pb-sp-30 {
    padding-bottom: 30px !important;
  }

  ._mt-sp-40, .mt-sp-40 {
    margin-top: 40px !important;
  }

  ._mb-sp-40, .mb-sp-40 {
    margin-bottom: 40px !important;
  }

  ._pt-sp-40, .pt-sp-40 {
    padding-top: 40px !important;
  }

  ._pb-sp-40, .pb-sp-40 {
    padding-bottom: 40px !important;
  }

  ._mt-sp-50, .mt-sp-50 {
    margin-top: 50px !important;
  }

  ._mb-sp-50, .mb-sp-50 {
    margin-bottom: 50px !important;
  }

  ._pt-sp-50, .pt-sp-50 {
    padding-top: 50px !important;
  }

  ._pb-sp-50, .pb-sp-50 {
    padding-bottom: 50px !important;
  }

  ._mt-sp-60, .mt-sp-60 {
    margin-top: 60px !important;
  }

  ._mb-sp-60, .mb-sp-60 {
    margin-bottom: 60px !important;
  }

  ._pt-sp-60, .pt-sp-60 {
    padding-top: 60px !important;
  }

  ._pb-sp-60, .pb-sp-60 {
    padding-bottom: 60px !important;
  }

  ._mt-sp-70, .mt-sp-70 {
    margin-top: 70px !important;
  }

  ._mb-sp-70, .mb-sp-70 {
    margin-bottom: 70px !important;
  }

  ._pt-sp-70, .pt-sp-70 {
    padding-top: 70px !important;
  }

  ._pb-sp-70, .pb-sp-70 {
    padding-bottom: 70px !important;
  }

  ._mt-sp-80, .mt-sp-80 {
    margin-top: 80px !important;
  }

  ._mb-sp-80, .mb-sp-80 {
    margin-bottom: 80px !important;
  }

  ._pt-sp-80, .pt-sp-80 {
    padding-top: 80px !important;
  }

  ._pb-sp-80, .pb-sp-80 {
    padding-bottom: 80px !important;
  }

  ._mt-sp-90, .mt-sp-90 {
    margin-top: 90px !important;
  }

  ._mb-sp-90, .mb-sp-90 {
    margin-bottom: 90px !important;
  }

  ._pt-sp-90, .pt-sp-90 {
    padding-top: 90px !important;
  }

  ._pb-sp-90, .pb-sp-90 {
    padding-bottom: 90px !important;
  }

  ._mt-sp-100, .mt-sp-100 {
    margin-top: 100px !important;
  }

  ._mb-sp-100, .mb-sp-100 {
    margin-bottom: 100px !important;
  }

  ._pt-sp-100, .pt-sp-100 {
    padding-top: 100px !important;
  }

  ._pb-sp-100, .pb-sp-100 {
    padding-bottom: 100px !important;
  }

  ._mt-sp-110, .mt-sp-110 {
    margin-top: 110px !important;
  }

  ._mb-sp-110, .mb-sp-110 {
    margin-bottom: 110px !important;
  }

  ._pt-sp-110, .pt-sp-110 {
    padding-top: 110px !important;
  }

  ._pb-sp-110, .pb-sp-110 {
    padding-bottom: 110px !important;
  }

  ._mt-sp-120, .mt-sp-120 {
    margin-top: 120px !important;
  }

  ._mb-sp-120, .mb-sp-120 {
    margin-bottom: 120px !important;
  }

  ._pt-sp-120, .pt-sp-120 {
    padding-top: 120px !important;
  }

  ._pb-sp-120, .pb-sp-120 {
    padding-bottom: 120px !important;
  }

  ._mt-sp-130, .mt-sp-130 {
    margin-top: 130px !important;
  }

  ._mb-sp-130, .mb-sp-130 {
    margin-bottom: 130px !important;
  }

  ._pt-sp-130, .pt-sp-130 {
    padding-top: 130px !important;
  }

  ._pb-sp-130, .pb-sp-130 {
    padding-bottom: 130px !important;
  }

  ._mt-sp-140, .mt-sp-140 {
    margin-top: 140px !important;
  }

  ._mb-sp-140, .mb-sp-140 {
    margin-bottom: 140px !important;
  }

  ._pt-sp-140, .pt-sp-140 {
    padding-top: 140px !important;
  }

  ._pb-sp-140, .pb-sp-140 {
    padding-bottom: 140px !important;
  }

  ._mt-sp-150, .mt-sp-150 {
    margin-top: 150px !important;
  }

  ._mb-sp-150, .mb-sp-150 {
    margin-bottom: 150px !important;
  }

  ._pt-sp-150, .pt-sp-150 {
    padding-top: 150px !important;
  }

  ._pb-sp-150, .pb-sp-150 {
    padding-bottom: 150px !important;
  }

  ._mt-sp-160, .mt-sp-160 {
    margin-top: 160px !important;
  }

  ._mb-sp-160, .mb-sp-160 {
    margin-bottom: 160px !important;
  }

  ._pt-sp-160, .pt-sp-160 {
    padding-top: 160px !important;
  }

  ._pb-sp-160, .pb-sp-160 {
    padding-bottom: 160px !important;
  }

  ._mt-sp-170, .mt-sp-170 {
    margin-top: 170px !important;
  }

  ._mb-sp-170, .mb-sp-170 {
    margin-bottom: 170px !important;
  }

  ._pt-sp-170, .pt-sp-170 {
    padding-top: 170px !important;
  }

  ._pb-sp-170, .pb-sp-170 {
    padding-bottom: 170px !important;
  }

  ._mt-sp-180, .mt-sp-180 {
    margin-top: 180px !important;
  }

  ._mb-sp-180, .mb-sp-180 {
    margin-bottom: 180px !important;
  }

  ._pt-sp-180, .pt-sp-180 {
    padding-top: 180px !important;
  }

  ._pb-sp-180, .pb-sp-180 {
    padding-bottom: 180px !important;
  }

  ._mt-sp-190, .mt-sp-190 {
    margin-top: 190px !important;
  }

  ._mb-sp-190, .mb-sp-190 {
    margin-bottom: 190px !important;
  }

  ._pt-sp-190, .pt-sp-190 {
    padding-top: 190px !important;
  }

  ._pb-sp-190, .pb-sp-190 {
    padding-bottom: 190px !important;
  }

  ._mt-sp-200, .mt-sp-200 {
    margin-top: 200px !important;
  }

  ._mb-sp-200, .mb-sp-200 {
    margin-bottom: 200px !important;
  }

  ._pt-sp-200, .pt-sp-200 {
    padding-top: 200px !important;
  }

  ._pb-sp-200, .pb-sp-200 {
    padding-bottom: 200px !important;
  }
}
/* =============================================================================

Component General

汎用コンポーネントパーツ
汎用コンポーネントパーツは以下に記述

============================================================================= */
.xfpage .xf-content-height {
  margin: 0;
  min-height: 0;
}

/* 見出し
============================================================================= */
.h1 {
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 40px;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .h1 {
    margin-top: 40px;
    margin-bottom: 32px;
    font-size: 24px;
  }
}

.h2 {
  margin-bottom: 32px;
  padding-left: 20px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.12em;
  position: relative;
}
.h2:not(:first-child) {
  margin-top: 200px;
}
@media screen and (max-width: 767px) {
  .h2:not(:first-child) {
    margin-top: 160px;
  }
}
@media screen and (max-width: 767px) {
  .h2 {
    padding-left: 16px;
    margin-bottom: 28px;
    font-size: 18px;
  }
}
.h2:before {
  content: "";
  display: block;
  border-radius: 100px;
  width: 4px;
  height: 1em;
  background-image: linear-gradient(to bottom, #0E0D6A 60%, #EA5404 60%);
  position: absolute;
  top: 0.2em;
  left: 0;
}

.h3 {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.08;
  color: #0E0D6A;
}
.h3:not(:first-child) {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .h3:not(:first-child) {
    margin-top: 28px;
  }
}
@media screen and (max-width: 767px) {
  .h3 {
    margin-bottom: 16px;
    font-size: 16px;
  }
}

.h4 {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .h4 {
    font-size: 18px;
  }
}

/* 区切り線
============================================================================= */
.hr01 {
  margin: 80px 0;
  height: 1px;
  background-color: #c7c7c7;
  border: 0;
}
@media screen and (max-width: 767px) {
  .hr01 {
    margin: 40px 0;
  }
}
.hr01 + * {
  margin-top: 0 !important;
}

/* テキスト
============================================================================= */
.section-inner > *:not([class^=txt]):not([class^=h]) + .txt, .tab-content > *:not([class^=txt]):not([class^=h]) + .txt,
.section-inner > *:not([class^=txt]):not([class^=h]) + .txt_bold,
.tab-content > *:not([class^=txt]):not([class^=h]) + .txt_bold,
.section-inner > *:not([class^=txt]):not([class^=h]) + .txt_red,
.tab-content > *:not([class^=txt]):not([class^=h]) + .txt_red {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .section-inner > *:not([class^=txt]):not([class^=h]) + .txt, .tab-content > *:not([class^=txt]):not([class^=h]) + .txt,
.section-inner > *:not([class^=txt]):not([class^=h]) + .txt_bold,
.tab-content > *:not([class^=txt]):not([class^=h]) + .txt_bold,
.section-inner > *:not([class^=txt]):not([class^=h]) + .txt_red,
.tab-content > *:not([class^=txt]):not([class^=h]) + .txt_red {
    margin-top: 32px;
  }
}
.txt + .txt, .txt + .txt_bold, .txt + .txt_red,
.txt_bold + .txt,
.txt_bold + .txt_bold,
.txt_bold + .txt_red,
.txt_red + .txt,
.txt_red + .txt_bold,
.txt_red + .txt_red {
  margin-top: 2em;
}

.txt {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.28;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .txt {
    font-size: 12px;
    line-height: 1.75;
  }
}
*:not(br) + .listCaution {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  *:not(br) + .listCaution {
    margin-top: 16px;
  }
}
.listCaution > li {
  display: flex;
  position: relative;
  font-size: 12px;
}
.listCaution > li + li {
  margin-top: 0.2em;
}
.listCaution > li .asterisk {
  flex-shrink: 0;
}

* + .listBasic {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  * + .listBasic {
    margin-top: 16px;
  }
}
.listBasic > li {
  padding-left: 16px;
  font-size: 18px;
  line-height: 1.5;
  position: relative;
}
@media screen and (max-width: 391px) {
  .listBasic > li {
    font-size: 16px;
  }
}
.listBasic > li + li {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .listBasic > li + li {
    margin-top: 16px;
  }
}
.listBasic > li:before {
  content: "";
  display: block;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  background-color: #0E0D6A;
  position: absolute;
  left: 0;
  top: 10px;
}
@media screen and (max-width: 391px) {
  .listBasic > li:before {
    top: 9px;
  }
}

.txt_bold {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.28;
  letter-spacing: 0.08em;
  text-align-last: left;
  text-align: justify;
  text-justify: inter-ideograph;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .txt_bold {
    font-size: 12px;
    line-height: 1.75;
  }
}

.txt_red {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.28;
  letter-spacing: 0.08em;
  text-align-last: left;
  text-align: justify;
  text-justify: inter-ideograph;
  color: #DE3535;
}
@media screen and (max-width: 767px) {
  .txt_red {
    font-size: 12px;
    line-height: 1.75;
  }
}

.img_general {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .img_general {
    margin-top: 32px;
  }
}
@media screen and (max-width: 767px) {
  .img_general img {
    width: 100%;
  }
}

.img_general02 {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .img_general02 {
    margin-top: 32px;
  }
}
.txt_wrap01 {
  display: inline-block;
  margin: 4px 0;
  margin-right: 12px;
  border-radius: 3px;
  padding: 0 12px;
  background-color: #0e0d6a;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .txt_wrap01 {
    display: block;
    margin: 12px 0 4px;
    padding: 2px 6px 3px;
    width: fit-content;
  }
}

/* テキストリンク
============================================================================= */
.txt_link {
  padding-left: 24px;
  color: #0E0D6A;
  position: relative;
  word-break: break-all;
}
.txt_link._inline {
  margin: 0 0.5em;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .txt_link:hover:before {
    transform: translateX(5px);
  }
}
.txt_link:before {
  content: "";
  display: block;
  margin: auto 0;
  width: 0;
  height: 0;
  border-left: 6px solid #0E0D6A;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  position: absolute;
  top: calc(0.65em - 3px);
  left: 4px;
  transition-property: transform;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.txt_link_anc {
  padding-left: 24px;
  color: #0E0D6A;
  position: relative;
  word-break: break-all;
}
.txt_link_anc._inline {
  margin: 0 0.5em;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .txt_link_anc:hover:before {
    transform: translateY(5px);
  }
}
.txt_link_anc:before {
  content: "";
  display: block;
  margin: auto 0;
  width: 0;
  height: 0;
  border-top: 6px solid #0E0D6A;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  position: absolute;
  top: calc(0.65em - 1px);
  left: 4px;
  transition-property: transform;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.txt_link_tb {
  padding-left: 24px;
  color: #0E0D6A;
  position: relative;
  word-break: break-all;
}
.txt_link_tb._inline {
  margin: 0 0.5em;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .txt_link_tb:hover:before {
    transform: translateY(5px);
  }
}
.txt_link_tb ._ico-tb01 {
  position: absolute;
  left: 3px;
  top: 0.5em;
}

.txt_link_mail {
  padding-left: 24px;
  color: #0E0D6A;
  position: relative;
  word-break: break-all;
}
.txt_link_mail._inline {
  margin: 0 0.5em;
}
.txt_link_mail:before {
  content: "";
  display: block;
  margin: auto 0;
  width: 12px;
  height: 8px;
  background-image: url(/content/dam/bbw/images/common/icon_mail_blue.png);
  background-size: cover;
  background-position: center;
  position: absolute;
  top: calc(0.65em - 2px);
  left: 2px;
}

.feature_list_nav {
  overflow: hidden;
}
*:not(.feature_list_nav) + .feature_list_nav {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  *:not(.feature_list_nav) + .feature_list_nav {
    margin-top: 40px;
  }
}
.feature_list_nav + .feature_list_nav {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .feature_list_nav + .feature_list_nav {
    margin-top: 32px;
  }
}
@media (min-width: 768px) {
  .feature_list_nav._column2 .nav_inner > li {
    width: calc(50% - 20px);
  }
  .feature_list_nav._column3 .nav_inner > li {
    width: calc(33.3333333333% - 20px);
  }
  .feature_list_nav._column4 .nav_inner > li {
    width: calc(25% - 20px);
  }
}
@media screen and (max-width: 767px) {
  .feature_list_nav._column3 .nav_inner > li, .feature_list_nav._column4 .nav_inner > li {
    width: calc(50% - 10px);
  }
}
.feature_list_nav .nav_inner {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  margin: 0 -10px -20px;
}
@media screen and (max-width: 767px) {
  .feature_list_nav .nav_inner {
    margin: 0 -5px -10px;
  }
}
.feature_list_nav .nav_inner > li {
  margin: 0 10px 20px;
}
@media screen and (max-width: 767px) {
  .feature_list_nav .nav_inner > li {
    margin: 0 5px 10px;
    width: calc(100% - 10px);
  }
}

/* ボタンリンク
============================================================================= */
.btn_main,
.btn_main_tab,
.btn_main_download,
.btn_main_mail,
.btn_main_plus {
  background-color: #0E0D6A;
  color: #fff;
  display: inline-flex;
  align-items: center;
  border-radius: 100px;
  padding-left: 28px;
  padding-right: 40px;
  padding-bottom: 0.2em;
  min-width: 180px;
  max-width: 100%;
  height: 40px;
  font-size: 13px;
  line-height: 1.5;
  position: relative;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .btn_main,
html:not(.__touchdevice) .btn_main_tab,
html:not(.__touchdevice) .btn_main_download,
html:not(.__touchdevice) .btn_main_mail,
html:not(.__touchdevice) .btn_main_plus {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .btn_main:hover,
html:not(.__touchdevice) .btn_main_tab:hover,
html:not(.__touchdevice) .btn_main_download:hover,
html:not(.__touchdevice) .btn_main_mail:hover,
html:not(.__touchdevice) .btn_main_plus:hover {
    opacity: 0.7;
  }
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .btn_main:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):hover:before,
html:not(.__touchdevice) .btn_main_tab:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):hover:before,
html:not(.__touchdevice) .btn_main_download:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):hover:before,
html:not(.__touchdevice) .btn_main_mail:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):hover:before,
html:not(.__touchdevice) .btn_main_plus:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):hover:before {
    transform: translateX(5px);
  }
}
.btn_main:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_main_tab:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_main_download:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_main_mail:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_main_plus:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after {
  content: "";
  display: block;
  margin: auto 0;
  width: 0;
  height: 0;
  border-left: 6px solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  position: absolute;
  right: 20px;
  transition-property: transform;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
@media all and (-ms-high-contrast: none) {
  .btn_main:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]) *::-ms-backdrop, .btn_main:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_main_tab:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]) *::-ms-backdrop,
.btn_main_tab:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_main_download:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]) *::-ms-backdrop,
.btn_main_download:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_main_mail:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]) *::-ms-backdrop,
.btn_main_mail:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_main_plus:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]) *::-ms-backdrop,
.btn_main_plus:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after {
    margin-top: auto;
    margin-bottom: auto;
    top: 0;
    bottom: 0;
  }
}
.btn_main[class*=_tab] ._ico-tb01,
.btn_main_tab[class*=_tab] ._ico-tb01,
.btn_main_download[class*=_tab] ._ico-tb01,
.btn_main_mail[class*=_tab] ._ico-tb01,
.btn_main_plus[class*=_tab] ._ico-tb01 {
  position: absolute;
  right: 24px;
}
@media all and (-ms-high-contrast: none) {
  .btn_main[class*=_tab] ._ico-tb01 *::-ms-backdrop, .btn_main[class*=_tab] ._ico-tb01,
.btn_main_tab[class*=_tab] ._ico-tb01 *::-ms-backdrop,
.btn_main_tab[class*=_tab] ._ico-tb01,
.btn_main_download[class*=_tab] ._ico-tb01 *::-ms-backdrop,
.btn_main_download[class*=_tab] ._ico-tb01,
.btn_main_mail[class*=_tab] ._ico-tb01 *::-ms-backdrop,
.btn_main_mail[class*=_tab] ._ico-tb01,
.btn_main_plus[class*=_tab] ._ico-tb01 *::-ms-backdrop,
.btn_main_plus[class*=_tab] ._ico-tb01 {
    margin-top: auto;
    margin-bottom: auto;
    top: 0;
    bottom: 0;
  }
}
.btn_main[class*=_download],
.btn_main_tab[class*=_download],
.btn_main_download[class*=_download],
.btn_main_mail[class*=_download],
.btn_main_plus[class*=_download] {
  justify-content: center;
  padding-left: 40px;
  padding-right: 80px;
  padding-bottom: 0;
  height: 80px;
  font-size: 18px;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .btn_main[class*=_download],
.btn_main_tab[class*=_download],
.btn_main_download[class*=_download],
.btn_main_mail[class*=_download],
.btn_main_plus[class*=_download] {
    padding-left: 20px;
    padding-right: 48px;
    font-size: 16px;
  }
}
.btn_main[class*=_download]:after,
.btn_main_tab[class*=_download]:after,
.btn_main_download[class*=_download]:after,
.btn_main_mail[class*=_download]:after,
.btn_main_plus[class*=_download]:after {
  content: "";
  display: block;
  margin: auto 0;
  width: 18px;
  height: 18px;
  background-image: url(/content/dam/bbw/images/common/icon_download.png);
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 52px;
}
@media screen and (max-width: 767px) {
  .btn_main[class*=_download]:after,
.btn_main_tab[class*=_download]:after,
.btn_main_download[class*=_download]:after,
.btn_main_mail[class*=_download]:after,
.btn_main_plus[class*=_download]:after {
    width: 16px;
    height: 16px;
    right: 28px;
  }
}
.btn_main[class*=_mail],
.btn_main_tab[class*=_mail],
.btn_main_download[class*=_mail],
.btn_main_mail[class*=_mail],
.btn_main_plus[class*=_mail] {
  justify-content: center;
  padding-left: 20px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .btn_main[class*=_mail],
.btn_main_tab[class*=_mail],
.btn_main_download[class*=_mail],
.btn_main_mail[class*=_mail],
.btn_main_plus[class*=_mail] {
    padding-left: 20px;
    padding-right: 40px;
  }
}
.btn_main[class*=_mail]:after,
.btn_main_tab[class*=_mail]:after,
.btn_main_download[class*=_mail]:after,
.btn_main_mail[class*=_mail]:after,
.btn_main_plus[class*=_mail]:after {
  content: "";
  display: block;
  margin: auto 0;
  width: 12px;
  height: 8px;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 24px;
}
.btn_main._no-padding,
.btn_main_tab._no-padding,
.btn_main_download._no-padding,
.btn_main_mail._no-padding,
.btn_main_plus._no-padding {
  padding: 0;
}
@media (min-width: 768px) {
  .btn_main._no-pc-padding,
.btn_main_tab._no-pc-padding,
.btn_main_download._no-pc-padding,
.btn_main_mail._no-pc-padding,
.btn_main_plus._no-pc-padding {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .btn_main._no-sp-padding,
.btn_main_tab._no-sp-padding,
.btn_main_download._no-sp-padding,
.btn_main_mail._no-sp-padding,
.btn_main_plus._no-sp-padding {
    padding: 0;
  }
}

*:not(.btn_main) + .btn_main {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.btn_main) + .btn_main {
    margin-top: 60px;
  }
}
.btn_main + .btn_main {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .btn_main + .btn_main {
    margin-top: 32px;
  }
}

*:not(.btn_main_tab) + .btn_main_tab {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.btn_main_tab) + .btn_main_tab {
    margin-top: 60px;
  }
}
.btn_main_tab + .btn_main_tab {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .btn_main_tab + .btn_main_tab {
    margin-top: 32px;
  }
}

*:not(.btn_main_mail) + .btn_main_mail {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.btn_main_mail) + .btn_main_mail {
    margin-top: 60px;
  }
}
.btn_main_mail + .btn_main_mail {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .btn_main_mail + .btn_main_mail {
    margin-top: 32px;
  }
}
.btn_main_mail:after {
  background-image: url(/content/dam/bbw/images/common/icon_mail_white.png);
}

.btn_main_plus {
  justify-content: center;
}
*:not(.btn_main_plus) + .btn_main_plus {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.btn_main_plus) + .btn_main_plus {
    margin-top: 60px;
  }
}
.btn_main_plus + .btn_main_plus {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .btn_main_plus + .btn_main_plus {
    margin-top: 32px;
  }
}
.btn_main_plus > i {
  display: block;
  margin: auto 0;
  width: 11px;
  height: 11px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 24px;
}
.btn_main_plus > i:before, .btn_main_plus > i:after {
  content: "";
  margin: auto;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
.btn_main_plus > i:before {
  width: 100%;
  height: 0px;
  border-bottom: 1px solid;
}
.btn_main_plus > i:after {
  width: 0px;
  height: 100%;
  border-left: 1px solid;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.btn_main_plus[aria-expanded=true] > i:after {
  opacity: 0;
}

.btn_sub,
.btn_sub_tab,
.btn_sub_mail {
  border: 1px solid;
  background-color: #fff;
  display: inline-flex;
  align-items: center;
  border-radius: 100px;
  padding-left: 28px;
  padding-right: 40px;
  padding-bottom: 0.2em;
  min-width: 180px;
  max-width: 100%;
  height: 40px;
  font-size: 13px;
  line-height: 1.5;
  position: relative;
  line-height: 1.2;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .btn_sub,
html:not(.__touchdevice) .btn_sub_tab,
html:not(.__touchdevice) .btn_sub_mail {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .btn_sub:hover,
html:not(.__touchdevice) .btn_sub_tab:hover,
html:not(.__touchdevice) .btn_sub_mail:hover {
    opacity: 0.7;
  }
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .btn_sub:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):hover:before,
html:not(.__touchdevice) .btn_sub_tab:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):hover:before,
html:not(.__touchdevice) .btn_sub_mail:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):hover:before {
    transform: translateX(5px);
  }
}
.btn_sub:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_sub_tab:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_sub_mail:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after {
  content: "";
  display: block;
  margin: auto 0;
  width: 0;
  height: 0;
  border-left: 6px solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  position: absolute;
  right: 20px;
  transition-property: transform;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
@media all and (-ms-high-contrast: none) {
  .btn_sub:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]) *::-ms-backdrop, .btn_sub:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_sub_tab:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]) *::-ms-backdrop,
.btn_sub_tab:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after,
.btn_sub_mail:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]) *::-ms-backdrop,
.btn_sub_mail:not([class*=_tab]):not([class*=_download]):not([class*=_mail]):not([class*=_plus]):after {
    margin-top: auto;
    margin-bottom: auto;
    top: 0;
    bottom: 0;
  }
}
.btn_sub[class*=_tab] ._ico-tb01,
.btn_sub_tab[class*=_tab] ._ico-tb01,
.btn_sub_mail[class*=_tab] ._ico-tb01 {
  position: absolute;
  right: 24px;
}
@media all and (-ms-high-contrast: none) {
  .btn_sub[class*=_tab] ._ico-tb01 *::-ms-backdrop, .btn_sub[class*=_tab] ._ico-tb01,
.btn_sub_tab[class*=_tab] ._ico-tb01 *::-ms-backdrop,
.btn_sub_tab[class*=_tab] ._ico-tb01,
.btn_sub_mail[class*=_tab] ._ico-tb01 *::-ms-backdrop,
.btn_sub_mail[class*=_tab] ._ico-tb01 {
    margin-top: auto;
    margin-bottom: auto;
    top: 0;
    bottom: 0;
  }
}
.btn_sub[class*=_download],
.btn_sub_tab[class*=_download],
.btn_sub_mail[class*=_download] {
  justify-content: center;
  padding-left: 40px;
  padding-right: 80px;
  padding-bottom: 0;
  height: 80px;
  font-size: 18px;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .btn_sub[class*=_download],
.btn_sub_tab[class*=_download],
.btn_sub_mail[class*=_download] {
    padding-left: 20px;
    padding-right: 48px;
    font-size: 16px;
  }
}
.btn_sub[class*=_download]:after,
.btn_sub_tab[class*=_download]:after,
.btn_sub_mail[class*=_download]:after {
  content: "";
  display: block;
  margin: auto 0;
  width: 18px;
  height: 18px;
  background-image: url(/content/dam/bbw/images/common/icon_download.png);
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 52px;
}
@media screen and (max-width: 767px) {
  .btn_sub[class*=_download]:after,
.btn_sub_tab[class*=_download]:after,
.btn_sub_mail[class*=_download]:after {
    width: 16px;
    height: 16px;
    right: 28px;
  }
}
.btn_sub[class*=_mail],
.btn_sub_tab[class*=_mail],
.btn_sub_mail[class*=_mail] {
  justify-content: center;
  padding-left: 20px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .btn_sub[class*=_mail],
.btn_sub_tab[class*=_mail],
.btn_sub_mail[class*=_mail] {
    padding-left: 20px;
    padding-right: 40px;
  }
}
.btn_sub[class*=_mail]:after,
.btn_sub_tab[class*=_mail]:after,
.btn_sub_mail[class*=_mail]:after {
  content: "";
  display: block;
  margin: auto 0;
  width: 12px;
  height: 8px;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 24px;
}
.btn_sub._no-padding,
.btn_sub_tab._no-padding,
.btn_sub_mail._no-padding {
  padding: 0;
}
@media (min-width: 768px) {
  .btn_sub._no-pc-padding,
.btn_sub_tab._no-pc-padding,
.btn_sub_mail._no-pc-padding {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .btn_sub._no-sp-padding,
.btn_sub_tab._no-sp-padding,
.btn_sub_mail._no-sp-padding {
    padding: 0;
  }
}

*:not(.btn_sub) + .btn_sub {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.btn_sub) + .btn_sub {
    margin-top: 60px;
  }
}
.btn_sub + .btn_sub {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .btn_sub + .btn_sub {
    margin-top: 32px;
  }
}

*:not(.btn_sub_tab) + .btn_sub_tab {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.btn_sub_tab) + .btn_sub_tab {
    margin-top: 60px;
  }
}
.btn_sub_tab + .btn_sub_tab {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .btn_sub_tab + .btn_sub_tab {
    margin-top: 32px;
  }
}

*:not(.btn_sub_mail) + .btn_sub_mail {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.btn_sub_mail) + .btn_sub_mail {
    margin-top: 60px;
  }
}
.btn_sub_mail + .btn_sub_mail {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .btn_sub_mail + .btn_sub_mail {
    margin-top: 32px;
  }
}
.btn_sub_mail:after {
  background-image: url(/content/dam/bbw/images/common/icon_mail_black.png);
}

.btn_list_nav {
  overflow: hidden;
}
*:not(.btn_list_nav) + .btn_list_nav {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  *:not(.btn_list_nav) + .btn_list_nav {
    margin-top: 40px;
  }
}
.btn_list_nav + .btn_list_nav {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .btn_list_nav + .btn_list_nav {
    margin-top: 32px;
  }
}
@media (min-width: 768px) {
  .btn_list_nav .nav_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -12px -20px;
  }
}
@media (min-width: 768px) {
  .btn_list_nav .nav_inner > li {
    margin: 0 10px 20px;
    min-width: 240px;
  }
}
@media screen and (max-width: 767px) {
  .btn_list_nav .nav_inner > li {
    margin-top: 10px;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .btn_list_nav .nav_inner > li .btn_main,
.btn_list_nav .nav_inner > li .btn_main_tab,
.btn_list_nav .nav_inner > li .btn_sub,
.btn_list_nav .nav_inner > li .btn_sub_tab {
    min-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .btn_list_nav .nav_inner > li .btn_main,
.btn_list_nav .nav_inner > li .btn_main_tab,
.btn_list_nav .nav_inner > li .btn_sub,
.btn_list_nav .nav_inner > li .btn_sub_tab {
    width: 320px;
    max-width: 100%;
  }
}

.btn_annotation {
  margin-top: 12px;
  font-size: 10px;
  line-height: 1.8;
}

/* 画像カラム
============================================================================= */
[class*=img_col_] {
  overflow: hidden;
}
*:not([class*=img_col_]):not([class^=h]) + [class*=img_col_] {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  *:not([class*=img_col_]):not([class^=h]) + [class*=img_col_] {
    margin-top: 40px;
  }
}
[class*=img_col_] + [class*=img_col_] {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  [class*=img_col_] + [class*=img_col_] {
    margin-top: 32px;
  }
}
[class*=img_col_] .col_inner {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) [class*=img_col_] .item[href] {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) [class*=img_col_] .item[href]:hover {
    opacity: 0.6;
  }
}
@media (min-width: 768px) {
  [class*=img_col_]:not(.img_col_1) .col_inner {
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: -40px;
  }
  [class*=img_col_]:not(.img_col_1) .item {
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  [class*=img_col_]:not(.img_col_4) .item + .item {
    margin-top: 40px;
  }
}
[class*=img_col_] .item > img {
  max-width: 100%;
  margin: 0 auto;
}
[class*=img_col_] .item > img :not([height]) {
  aspect-ratio: auto 16/9;
}
[class*=img_col_] .item > img + * {
  margin-top: 20px;
}
[class*=img_col_] .item .h4 + * {
  margin-top: 12px;
}
[class*=img_col_] .item .h4 ._ico-tb01 {
  margin-left: 0.5em;
  width: 0.8em;
  height: 0.6em;
  vertical-align: 0.1em;
}
[class*=img_col_] .item .btn_wrap {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  [class*=img_col_] .item .btn_wrap {
    margin-top: 28px;
  }
}

.img_col_1 .col_inner {
  justify-content: center;
}
.img_col_1 .col_inner .item {
  width: 100%;
}

@media (min-width: 768px) {
  .img_col_2 .item {
    width: calc(50% - 40px);
  }
}

@media (min-width: 768px) {
  .img_col_3 .item {
    width: calc(33.3333333333% - 40px);
  }
}

@media screen and (max-width: 767px) {
  .img_col_4 {
    margin: 0 -10px -20px;
  }
}
@media (min-width: 768px) {
  .img_col_4 .item {
    width: calc(25% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .img_col_4 .item {
    width: calc(50% - 20px);
    margin: 0 10px 20px;
  }
}

/* 動画
============================================================================= */
.movie_youtube,
.movie_video {
  position: relative;
}
*:not(.movie_youtube):not([class^=h]) + .movie_youtube, *:not(.movie_video):not([class^=h]) + .movie_youtube,
*:not(.movie_youtube):not([class^=h]) + .movie_video,
*:not(.movie_video):not([class^=h]) + .movie_video {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  *:not(.movie_youtube):not([class^=h]) + .movie_youtube, *:not(.movie_video):not([class^=h]) + .movie_youtube,
*:not(.movie_youtube):not([class^=h]) + .movie_video,
*:not(.movie_video):not([class^=h]) + .movie_video {
    margin-top: 32px;
  }
}
.movie_youtube + .movie_youtube, .movie_youtube + .movie_video,
.movie_video + .movie_youtube,
.movie_video + .movie_video {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .movie_youtube + .movie_youtube, .movie_youtube + .movie_video,
.movie_video + .movie_youtube,
.movie_video + .movie_video {
    margin-top: 32px;
  }
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .movie_youtube:hover img,
html:not(.__touchdevice) .movie_video:hover img {
    opacity: 0.5;
    will-change: filter opacity;
    aspect-ratio: auto 16/9;
  }
  html:not(.__touchdevice) .movie_youtube:hover i,
html:not(.__touchdevice) .movie_video:hover i {
    background-color: #fff;
  }
  html:not(.__touchdevice) .movie_youtube:hover i:after,
html:not(.__touchdevice) .movie_video:hover i:after {
    border-left-color: #0E0D6A;
  }
}
.movie_youtube img,
.movie_video img {
  width: 100%;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.movie_youtube .play-text,
.movie_video .play-text {
  margin: auto;
  width: 180px;
  height: 40px;
  font-size: 16px;
  letter-spacing: 0.08em;
  line-height: 40px;
  color: #fff;
  text-align: left;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.movie_youtube .play-icon,
.movie_video .play-icon {
  display: block;
  margin: auto;
  border-radius: 50%;
  border: 1px solid;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  right: 0;
  transition-property: background-color;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.movie_youtube .play-icon:after,
.movie_video .play-icon:after {
  content: "";
  display: block;
  margin: auto;
  border-left: 10px solid #fff;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 2px;
  right: 0;
  bottom: 0;
  transition-property: border-left-color;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
/* テーブル
============================================================================= */
.col-w1 {
  width: 1%;
}
@media (min-width: 768px) {
  .col-pc-w1 {
    width: 1%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w1 {
    width: 1%;
  }
}

.col-w2 {
  width: 2%;
}
@media (min-width: 768px) {
  .col-pc-w2 {
    width: 2%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w2 {
    width: 2%;
  }
}

.col-w3 {
  width: 3%;
}
@media (min-width: 768px) {
  .col-pc-w3 {
    width: 3%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w3 {
    width: 3%;
  }
}

.col-w4 {
  width: 4%;
}
@media (min-width: 768px) {
  .col-pc-w4 {
    width: 4%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w4 {
    width: 4%;
  }
}

.col-w5 {
  width: 5%;
}
@media (min-width: 768px) {
  .col-pc-w5 {
    width: 5%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w5 {
    width: 5%;
  }
}

.col-w6 {
  width: 6%;
}
@media (min-width: 768px) {
  .col-pc-w6 {
    width: 6%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w6 {
    width: 6%;
  }
}

.col-w7 {
  width: 7%;
}
@media (min-width: 768px) {
  .col-pc-w7 {
    width: 7%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w7 {
    width: 7%;
  }
}

.col-w8 {
  width: 8%;
}
@media (min-width: 768px) {
  .col-pc-w8 {
    width: 8%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w8 {
    width: 8%;
  }
}

.col-w9 {
  width: 9%;
}
@media (min-width: 768px) {
  .col-pc-w9 {
    width: 9%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w9 {
    width: 9%;
  }
}

.col-w10 {
  width: 10%;
}
@media (min-width: 768px) {
  .col-pc-w10 {
    width: 10%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w10 {
    width: 10%;
  }
}

.col-w11 {
  width: 11%;
}
@media (min-width: 768px) {
  .col-pc-w11 {
    width: 11%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w11 {
    width: 11%;
  }
}

.col-w12 {
  width: 12%;
}
@media (min-width: 768px) {
  .col-pc-w12 {
    width: 12%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w12 {
    width: 12%;
  }
}

.col-w13 {
  width: 13%;
}
@media (min-width: 768px) {
  .col-pc-w13 {
    width: 13%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w13 {
    width: 13%;
  }
}

.col-w14 {
  width: 14%;
}
@media (min-width: 768px) {
  .col-pc-w14 {
    width: 14%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w14 {
    width: 14%;
  }
}

.col-w15 {
  width: 15%;
}
@media (min-width: 768px) {
  .col-pc-w15 {
    width: 15%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w15 {
    width: 15%;
  }
}

.col-w16 {
  width: 16%;
}
@media (min-width: 768px) {
  .col-pc-w16 {
    width: 16%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w16 {
    width: 16%;
  }
}

.col-w17 {
  width: 17%;
}
@media (min-width: 768px) {
  .col-pc-w17 {
    width: 17%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w17 {
    width: 17%;
  }
}

.col-w18 {
  width: 18%;
}
@media (min-width: 768px) {
  .col-pc-w18 {
    width: 18%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w18 {
    width: 18%;
  }
}

.col-w19 {
  width: 19%;
}
@media (min-width: 768px) {
  .col-pc-w19 {
    width: 19%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w19 {
    width: 19%;
  }
}

.col-w20 {
  width: 20%;
}
@media (min-width: 768px) {
  .col-pc-w20 {
    width: 20%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w20 {
    width: 20%;
  }
}

.col-w21 {
  width: 21%;
}
@media (min-width: 768px) {
  .col-pc-w21 {
    width: 21%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w21 {
    width: 21%;
  }
}

.col-w22 {
  width: 22%;
}
@media (min-width: 768px) {
  .col-pc-w22 {
    width: 22%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w22 {
    width: 22%;
  }
}

.col-w23 {
  width: 23%;
}
@media (min-width: 768px) {
  .col-pc-w23 {
    width: 23%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w23 {
    width: 23%;
  }
}

.col-w24 {
  width: 24%;
}
@media (min-width: 768px) {
  .col-pc-w24 {
    width: 24%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w24 {
    width: 24%;
  }
}

.col-w25 {
  width: 25%;
}
@media (min-width: 768px) {
  .col-pc-w25 {
    width: 25%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w25 {
    width: 25%;
  }
}

.col-w26 {
  width: 26%;
}
@media (min-width: 768px) {
  .col-pc-w26 {
    width: 26%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w26 {
    width: 26%;
  }
}

.col-w27 {
  width: 27%;
}
@media (min-width: 768px) {
  .col-pc-w27 {
    width: 27%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w27 {
    width: 27%;
  }
}

.col-w28 {
  width: 28%;
}
@media (min-width: 768px) {
  .col-pc-w28 {
    width: 28%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w28 {
    width: 28%;
  }
}

.col-w29 {
  width: 29%;
}
@media (min-width: 768px) {
  .col-pc-w29 {
    width: 29%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w29 {
    width: 29%;
  }
}

.col-w30 {
  width: 30%;
}
@media (min-width: 768px) {
  .col-pc-w30 {
    width: 30%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w30 {
    width: 30%;
  }
}

.col-w31 {
  width: 31%;
}
@media (min-width: 768px) {
  .col-pc-w31 {
    width: 31%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w31 {
    width: 31%;
  }
}

.col-w32 {
  width: 32%;
}
@media (min-width: 768px) {
  .col-pc-w32 {
    width: 32%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w32 {
    width: 32%;
  }
}

.col-w33 {
  width: 33%;
}
@media (min-width: 768px) {
  .col-pc-w33 {
    width: 33%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w33 {
    width: 33%;
  }
}

.col-w34 {
  width: 34%;
}
@media (min-width: 768px) {
  .col-pc-w34 {
    width: 34%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w34 {
    width: 34%;
  }
}

.col-w35 {
  width: 35%;
}
@media (min-width: 768px) {
  .col-pc-w35 {
    width: 35%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w35 {
    width: 35%;
  }
}

.col-w36 {
  width: 36%;
}
@media (min-width: 768px) {
  .col-pc-w36 {
    width: 36%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w36 {
    width: 36%;
  }
}

.col-w37 {
  width: 37%;
}
@media (min-width: 768px) {
  .col-pc-w37 {
    width: 37%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w37 {
    width: 37%;
  }
}

.col-w38 {
  width: 38%;
}
@media (min-width: 768px) {
  .col-pc-w38 {
    width: 38%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w38 {
    width: 38%;
  }
}

.col-w39 {
  width: 39%;
}
@media (min-width: 768px) {
  .col-pc-w39 {
    width: 39%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w39 {
    width: 39%;
  }
}

.col-w40 {
  width: 40%;
}
@media (min-width: 768px) {
  .col-pc-w40 {
    width: 40%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w40 {
    width: 40%;
  }
}

.col-w41 {
  width: 41%;
}
@media (min-width: 768px) {
  .col-pc-w41 {
    width: 41%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w41 {
    width: 41%;
  }
}

.col-w42 {
  width: 42%;
}
@media (min-width: 768px) {
  .col-pc-w42 {
    width: 42%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w42 {
    width: 42%;
  }
}

.col-w43 {
  width: 43%;
}
@media (min-width: 768px) {
  .col-pc-w43 {
    width: 43%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w43 {
    width: 43%;
  }
}

.col-w44 {
  width: 44%;
}
@media (min-width: 768px) {
  .col-pc-w44 {
    width: 44%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w44 {
    width: 44%;
  }
}

.col-w45 {
  width: 45%;
}
@media (min-width: 768px) {
  .col-pc-w45 {
    width: 45%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w45 {
    width: 45%;
  }
}

.col-w46 {
  width: 46%;
}
@media (min-width: 768px) {
  .col-pc-w46 {
    width: 46%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w46 {
    width: 46%;
  }
}

.col-w47 {
  width: 47%;
}
@media (min-width: 768px) {
  .col-pc-w47 {
    width: 47%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w47 {
    width: 47%;
  }
}

.col-w48 {
  width: 48%;
}
@media (min-width: 768px) {
  .col-pc-w48 {
    width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w48 {
    width: 48%;
  }
}

.col-w49 {
  width: 49%;
}
@media (min-width: 768px) {
  .col-pc-w49 {
    width: 49%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w49 {
    width: 49%;
  }
}

.col-w50 {
  width: 50%;
}
@media (min-width: 768px) {
  .col-pc-w50 {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w50 {
    width: 50%;
  }
}

.col-w51 {
  width: 51%;
}
@media (min-width: 768px) {
  .col-pc-w51 {
    width: 51%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w51 {
    width: 51%;
  }
}

.col-w52 {
  width: 52%;
}
@media (min-width: 768px) {
  .col-pc-w52 {
    width: 52%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w52 {
    width: 52%;
  }
}

.col-w53 {
  width: 53%;
}
@media (min-width: 768px) {
  .col-pc-w53 {
    width: 53%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w53 {
    width: 53%;
  }
}

.col-w54 {
  width: 54%;
}
@media (min-width: 768px) {
  .col-pc-w54 {
    width: 54%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w54 {
    width: 54%;
  }
}

.col-w55 {
  width: 55%;
}
@media (min-width: 768px) {
  .col-pc-w55 {
    width: 55%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w55 {
    width: 55%;
  }
}

.col-w56 {
  width: 56%;
}
@media (min-width: 768px) {
  .col-pc-w56 {
    width: 56%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w56 {
    width: 56%;
  }
}

.col-w57 {
  width: 57%;
}
@media (min-width: 768px) {
  .col-pc-w57 {
    width: 57%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w57 {
    width: 57%;
  }
}

.col-w58 {
  width: 58%;
}
@media (min-width: 768px) {
  .col-pc-w58 {
    width: 58%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w58 {
    width: 58%;
  }
}

.col-w59 {
  width: 59%;
}
@media (min-width: 768px) {
  .col-pc-w59 {
    width: 59%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w59 {
    width: 59%;
  }
}

.col-w60 {
  width: 60%;
}
@media (min-width: 768px) {
  .col-pc-w60 {
    width: 60%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w60 {
    width: 60%;
  }
}

.col-w61 {
  width: 61%;
}
@media (min-width: 768px) {
  .col-pc-w61 {
    width: 61%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w61 {
    width: 61%;
  }
}

.col-w62 {
  width: 62%;
}
@media (min-width: 768px) {
  .col-pc-w62 {
    width: 62%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w62 {
    width: 62%;
  }
}

.col-w63 {
  width: 63%;
}
@media (min-width: 768px) {
  .col-pc-w63 {
    width: 63%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w63 {
    width: 63%;
  }
}

.col-w64 {
  width: 64%;
}
@media (min-width: 768px) {
  .col-pc-w64 {
    width: 64%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w64 {
    width: 64%;
  }
}

.col-w65 {
  width: 65%;
}
@media (min-width: 768px) {
  .col-pc-w65 {
    width: 65%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w65 {
    width: 65%;
  }
}

.col-w66 {
  width: 66%;
}
@media (min-width: 768px) {
  .col-pc-w66 {
    width: 66%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w66 {
    width: 66%;
  }
}

.col-w67 {
  width: 67%;
}
@media (min-width: 768px) {
  .col-pc-w67 {
    width: 67%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w67 {
    width: 67%;
  }
}

.col-w68 {
  width: 68%;
}
@media (min-width: 768px) {
  .col-pc-w68 {
    width: 68%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w68 {
    width: 68%;
  }
}

.col-w69 {
  width: 69%;
}
@media (min-width: 768px) {
  .col-pc-w69 {
    width: 69%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w69 {
    width: 69%;
  }
}

.col-w70 {
  width: 70%;
}
@media (min-width: 768px) {
  .col-pc-w70 {
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w70 {
    width: 70%;
  }
}

.col-w71 {
  width: 71%;
}
@media (min-width: 768px) {
  .col-pc-w71 {
    width: 71%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w71 {
    width: 71%;
  }
}

.col-w72 {
  width: 72%;
}
@media (min-width: 768px) {
  .col-pc-w72 {
    width: 72%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w72 {
    width: 72%;
  }
}

.col-w73 {
  width: 73%;
}
@media (min-width: 768px) {
  .col-pc-w73 {
    width: 73%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w73 {
    width: 73%;
  }
}

.col-w74 {
  width: 74%;
}
@media (min-width: 768px) {
  .col-pc-w74 {
    width: 74%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w74 {
    width: 74%;
  }
}

.col-w75 {
  width: 75%;
}
@media (min-width: 768px) {
  .col-pc-w75 {
    width: 75%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w75 {
    width: 75%;
  }
}

.col-w76 {
  width: 76%;
}
@media (min-width: 768px) {
  .col-pc-w76 {
    width: 76%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w76 {
    width: 76%;
  }
}

.col-w77 {
  width: 77%;
}
@media (min-width: 768px) {
  .col-pc-w77 {
    width: 77%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w77 {
    width: 77%;
  }
}

.col-w78 {
  width: 78%;
}
@media (min-width: 768px) {
  .col-pc-w78 {
    width: 78%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w78 {
    width: 78%;
  }
}

.col-w79 {
  width: 79%;
}
@media (min-width: 768px) {
  .col-pc-w79 {
    width: 79%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w79 {
    width: 79%;
  }
}

.col-w80 {
  width: 80%;
}
@media (min-width: 768px) {
  .col-pc-w80 {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w80 {
    width: 80%;
  }
}

.col-w81 {
  width: 81%;
}
@media (min-width: 768px) {
  .col-pc-w81 {
    width: 81%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w81 {
    width: 81%;
  }
}

.col-w82 {
  width: 82%;
}
@media (min-width: 768px) {
  .col-pc-w82 {
    width: 82%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w82 {
    width: 82%;
  }
}

.col-w83 {
  width: 83%;
}
@media (min-width: 768px) {
  .col-pc-w83 {
    width: 83%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w83 {
    width: 83%;
  }
}

.col-w84 {
  width: 84%;
}
@media (min-width: 768px) {
  .col-pc-w84 {
    width: 84%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w84 {
    width: 84%;
  }
}

.col-w85 {
  width: 85%;
}
@media (min-width: 768px) {
  .col-pc-w85 {
    width: 85%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w85 {
    width: 85%;
  }
}

.col-w86 {
  width: 86%;
}
@media (min-width: 768px) {
  .col-pc-w86 {
    width: 86%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w86 {
    width: 86%;
  }
}

.col-w87 {
  width: 87%;
}
@media (min-width: 768px) {
  .col-pc-w87 {
    width: 87%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w87 {
    width: 87%;
  }
}

.col-w88 {
  width: 88%;
}
@media (min-width: 768px) {
  .col-pc-w88 {
    width: 88%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w88 {
    width: 88%;
  }
}

.col-w89 {
  width: 89%;
}
@media (min-width: 768px) {
  .col-pc-w89 {
    width: 89%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w89 {
    width: 89%;
  }
}

.col-w90 {
  width: 90%;
}
@media (min-width: 768px) {
  .col-pc-w90 {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w90 {
    width: 90%;
  }
}

.col-w91 {
  width: 91%;
}
@media (min-width: 768px) {
  .col-pc-w91 {
    width: 91%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w91 {
    width: 91%;
  }
}

.col-w92 {
  width: 92%;
}
@media (min-width: 768px) {
  .col-pc-w92 {
    width: 92%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w92 {
    width: 92%;
  }
}

.col-w93 {
  width: 93%;
}
@media (min-width: 768px) {
  .col-pc-w93 {
    width: 93%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w93 {
    width: 93%;
  }
}

.col-w94 {
  width: 94%;
}
@media (min-width: 768px) {
  .col-pc-w94 {
    width: 94%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w94 {
    width: 94%;
  }
}

.col-w95 {
  width: 95%;
}
@media (min-width: 768px) {
  .col-pc-w95 {
    width: 95%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w95 {
    width: 95%;
  }
}

.col-w96 {
  width: 96%;
}
@media (min-width: 768px) {
  .col-pc-w96 {
    width: 96%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w96 {
    width: 96%;
  }
}

.col-w97 {
  width: 97%;
}
@media (min-width: 768px) {
  .col-pc-w97 {
    width: 97%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w97 {
    width: 97%;
  }
}

.col-w98 {
  width: 98%;
}
@media (min-width: 768px) {
  .col-pc-w98 {
    width: 98%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w98 {
    width: 98%;
  }
}

.col-w99 {
  width: 99%;
}
@media (min-width: 768px) {
  .col-pc-w99 {
    width: 99%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w99 {
    width: 99%;
  }
}

.col-w100 {
  width: 100%;
}
@media (min-width: 768px) {
  .col-pc-w100 {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .col-sp-w100 {
    width: 100%;
  }
}

*:not([class*=tbl_Mod]):not([class^=h]) + [class*=tbl_Mod] {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  *:not([class*=tbl_Mod]):not([class^=h]) + [class*=tbl_Mod] {
    margin-top: 40px;
  }
}
.h2 + [class*=tbl_Mod], .h3 + [class*=tbl_Mod] {
  margin-top: 0;
}
[class*=tbl_Mod] + [class*=tbl_Mod] {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  [class*=tbl_Mod] + [class*=tbl_Mod] {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  [class*=tbl_Mod] {
    overflow-x: auto;
    position: relative;
  }
  [class*=tbl_Mod]:not(.__scroll-hint):after {
    opacity: 0;
  }
  [class*=tbl_Mod]:after {
    content: "";
    display: block;
    margin: auto;
    width: 100px;
    height: 100px;
    background-image: url(/content/dam/bbw/images/common/icon_scrollhint.png);
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
}
[class*=tbl_Mod] .tbl_inner {
  border-top: 1px solid #c7c7c7;
  border-left: 1px solid #c7c7c7;
  table-layout: fixed;
  background-color: #fff;
}
@media (min-width: 768px) {
  [class*=tbl_Mod] .tbl_inner {
    width: 100%;
  }
}
@media (min-width: 768px) {
  [class*=tbl_Mod] .tbl_inner {
    min-width: 100%;
  }
}
[class*=tbl_Mod] .tbl_inner th, [class*=tbl_Mod] .tbl_inner td {
  border-right: 1px solid #c7c7c7;
  border-bottom: 1px solid #c7c7c7;
  padding-top: 8px;
  padding-bottom: 8px;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  [class*=tbl_Mod] .tbl_inner th, [class*=tbl_Mod] .tbl_inner td {
    white-space: nowrap;
  }
  [class*=tbl_Mod] .tbl_inner th > img,
[class*=tbl_Mod] .tbl_inner th > picture > img, [class*=tbl_Mod] .tbl_inner td > img,
[class*=tbl_Mod] .tbl_inner td > picture > img {
    max-width: inherit;
  }
}
[class*=tbl_Mod] .tbl_inner th {
  font-weight: 700;
  background-color: #F4F4F4;
}
@media screen and (max-width: 767px) {
  [class*=tbl_Mod] .tbl_inner th {
    padding-left: 20px;
    padding-right: 20px;
  }
}
[class*=tbl_Mod] .tbl_inner td {
  padding-left: 20px;
  padding-right: 20px;
}
[class*=tbl_Mod] .tbl-logo-image01 {
  display: inline-block;
  box-sizing: content-box;
  padding: 20px;
  height: 16px;
}
@media screen and (max-width: 767px) {
  [class*=tbl_Mod] .tbl-logo-image01 {
    display: block;
    padding: 8px 16px;
  }
}
[class*=tbl_Mod] .tbl-logo-image01 img {
  display: block;
  width: auto;
  height: 100%;
  max-width: none;
}
@media screen and (max-width: 767px) {
  [class*=tbl_Mod] .tbl-logo-image01 img {
    margin: 0 auto;
  }
}

.tbl-image01 {
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .tbl-image01 {
    padding: 10px;
  }
}
.tbl-image01 img {
  margin: 0 auto;
  max-width: 300px;
}
@media screen and (max-width: 767px) {
  .tbl-image01 img {
    max-width: 180px;
  }
}

.tbl-image02 img {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .tbl-image02 img {
    max-width: 180px;
  }
}

.tbl-set-images01 {
  margin: 0 auto;
  padding: 20px 10px;
}
@media (min-width: 768px) {
  .tbl-set-images01 {
    display: flex;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .tbl-set-images01 {
    padding: 10px 0;
    width: 120px;
  }
}
@media (min-width: 768px) {
  .tbl-set-images01 > img {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 767px) {
  .tbl-set-images01 > img {
    max-width: calc(100% - 20px);
  }
}
@media (min-width: 768px) {
  .tbl-set-images01 > img + img {
    margin-top: 20px;
    margin-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .tbl-set-images01 > img + img {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .tbl-set-images01 > img:nth-child(1) {
    margin-right: 20px;
  }
  .tbl-set-images01 > img:nth-child(2) {
    margin-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .tbl_Mod_02 .tbl_inner thead th:first-child,
.tbl_Mod_02 .tbl_inner tbody th:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
  }
  .tbl_Mod_02 .tbl_inner thead th:first-child:before, .tbl_Mod_02 .tbl_inner thead th:first-child:after,
.tbl_Mod_02 .tbl_inner tbody th:first-child:before,
.tbl_Mod_02 .tbl_inner tbody th:first-child:after {
    content: "";
    display: block;
    border-right: 1px solid #c7c7c7;
    height: 100%;
    position: absolute;
    top: 0;
  }
  .tbl_Mod_02 .tbl_inner thead th:first-child:before,
.tbl_Mod_02 .tbl_inner tbody th:first-child:before {
    left: -1px;
  }
  .tbl_Mod_02 .tbl_inner thead th:first-child:after,
.tbl_Mod_02 .tbl_inner tbody th:first-child:after {
    right: -1px;
  }
}

@media screen and (max-width: 767px) {
  .tbl_Mod_03 .tbl_inner tbody th:first-child {
    position: sticky;
    left: 0;
  }
  .tbl_Mod_03 .tbl_inner tbody th:first-child:before, .tbl_Mod_03 .tbl_inner tbody th:first-child:after {
    content: "";
    display: block;
    border-right: 1px solid #c7c7c7;
    height: 100%;
    position: absolute;
    top: 0;
  }
  .tbl_Mod_03 .tbl_inner tbody th:first-child:before {
    left: -1px;
  }
  .tbl_Mod_03 .tbl_inner tbody th:first-child:after {
    right: -1px;
  }
}

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

Component Block

ブロックコンポーネントパーツ
ブロックコンポーネントパーツは以下に記述

============================================================================= */
/* section-block
============================================================================= */
.section-block-lv1 {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .section-block-lv1 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.section-block-lv2 {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .section-block-lv2 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.section-block-lv3 {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .section-block-lv3 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.section-block-lv4 {
  padding-top: 120px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .section-block-lv4 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

/* .index
目次
============================================================================= */
.index {
  overflow: hidden;
}

.index_inner {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -24px -16px;
}
@media screen and (max-width: 767px) {
  .index_inner {
    margin: 0 -10px -8px;
  }
}
.index_inner > li {
  margin: 0 24px 16px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .index_inner > li {
    margin: 0 10px 8px;
  }
}

/* .box_col_2_*
テキスト + 画像
============================================================================= */
.index {
  overflow: hidden;
}

@media (min-width: 768px) {
  [class*=box_col_2] {
    display: flex;
    align-items: center;
  }
  [class*=box_col_2]._reverse {
    flex-direction: row-reverse;
  }
  [class*=box_col_2] > img {
    flex-shrink: 0;
    aspect-ratio: auto 16/9;
  }
  [class*=box_col_2] .col_txt_inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: auto 0;
  }
}
@media screen and (max-width: 767px) {
  [class*=box_col_2] img + .col_txt_inner {
    margin-top: 16px;
  }
}

*:not(.box_col_2_A):not([class^=h]) + .box_col_2_A {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.box_col_2_A):not([class^=h]) + .box_col_2_A {
    margin-top: 60px;
  }
}
.box_col_2_A + .box_col_2_A {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .box_col_2_A + .box_col_2_A {
    margin-top: 60px;
  }
}
@media (min-width: 768px) {
  .box_col_2_A:not(._reverse) > img {
    margin-right: 44px;
  }
  .box_col_2_A._reverse > img {
    margin-left: 44px;
  }
}
@media (min-width: 768px) {
  .box_col_2_A > img {
    width: calc(50% + 60px);
  }
}

*:not(.box_col_2_B):not([class^=h]) + .box_col_2_B {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  *:not(.box_col_2_B):not([class^=h]) + .box_col_2_B {
    margin-top: 40px;
  }
}
.box_col_2_B + .box_col_2_B {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .box_col_2_B + .box_col_2_B {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .box_col_2_B:not(._reverse) > img {
    margin-right: 56px;
  }
  .box_col_2_B._reverse > img {
    margin-left: 56px;
  }
}
@media (min-width: 768px) {
  .box_col_2_B > img {
    width: calc(50% - 192px);
  }
}

.box_col_2_C {
  border-top: 1px solid #C3C3C3;
  border-bottom: 1px solid #C3C3C3;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .box_col_2_C {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}
*:not(.box_col_2_A):not(.box_col_2_C):not([class^=h]) + .box_col_2_C {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  *:not(.box_col_2_A):not(.box_col_2_C):not([class^=h]) + .box_col_2_C {
    margin-top: 80px;
  }
}
*.box_col_2_A + .box_col_2_C {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  *.box_col_2_A + .box_col_2_C {
    margin-top: 32px;
  }
}
.box_col_2_C + .box_col_2_C {
  margin-top: -1px;
}
@media (min-width: 768px) {
  .box_col_2_C:not(._reverse) > img,
.box_col_2_C:not(._reverse) > .img-modal {
    margin-left: 136px;
  }
  .box_col_2_C._reverse > img,
.box_col_2_C._reverse > .img-modal {
    margin-right: 136px;
  }
}
@media screen and (max-width: 767px) {
  .box_col_2_C .col_txt_inner + img, .box_col_2_C .col_txt_inner + .img-modal {
    margin-top: 32px;
  }
}
@media (min-width: 768px) {
  .box_col_2_C > img,
.box_col_2_C > .img-modal {
    width: calc(50% - 188px);
  }
}
.box_col_2_C > .img-modal {
  position: relative;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .box_col_2_C > .img-modal:hover:before {
    opacity: 0.1;
  }
}
.box_col_2_C > .img-modal:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #2F2F2F;
  opacity: 0.25;
  position: absolute;
  top: 0;
  left: 0;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.box_col_2_C > .img-modal .modal-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 52px;
  height: 52px;
  background-color: #fff;
  position: absolute;
  right: 20px;
  bottom: 20px;
}
.box_col_2_C > .img-modal .modal-icon > img {
  width: 26px;
}

/* .guide_col_*
ロゴ説明 guide_col_3
テキスト表記の説明 guide_col_3
テキスト表記の説明 guide_col_2
============================================================================= */
*:not([class*=guide_col]):not([class^=h]) + [class*=guide_col] {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not([class*=guide_col]):not([class^=h]) + [class*=guide_col] {
    margin-top: 60px;
  }
}
[class*=guide_col] + [class*=guide_col] {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  [class*=guide_col] + [class*=guide_col] {
    margin-top: 32px;
  }
}
[class*=guide_col] .col_inner {
  margin-top: 20px;
}
@media (min-width: 768px) {
  [class*=guide_col] .col_inner {
    display: flex;
  }
}
[class*=guide_col] .item {
  padding-top: 12px;
  padding-bottom: 24px;
}
@media (min-width: 768px) {
  [class*=guide_col] .item {
    border-right: 1px solid #c7c7c7;
  }
  [class*=guide_col] .item:first-child {
    border-left: 1px solid #c7c7c7;
  }
}
@media screen and (max-width: 767px) {
  [class*=guide_col] .item {
    padding-top: 16px;
    border-bottom: 1px solid #c7c7c7;
  }
  [class*=guide_col] .item:first-child {
    border-top: 1px solid #c7c7c7;
  }
}
[class*=guide_col] .item .guide_heading {
  font-size: 15px;
  line-height: 1;
}
@media (min-width: 768px) {
  [class*=guide_col] .item .guide_heading {
    padding-left: 24px;
    padding-right: 24px;
  }
}
[class*=guide_col] .item img {
  margin: 12px auto 0;
}
@media (min-width: 768px) {
  [class*=guide_col] .item img {
    max-width: calc(100% - 20px);
  }
}
@media screen and (max-width: 767px) {
  [class*=guide_col] .item img {
    width: 100%;
  }
}

@media (min-width: 768px) {
  .guide_col_3 .item {
    width: 33.3333333333%;
  }
}
@media (min-width: 768px) {
  .guide_col_3 .item img {
    aspect-ratio: auto 2/1;
  }
}

@media (min-width: 768px) {
  .guide_col_2 .item {
    width: 50%;
  }
}
@media (min-width: 768px) {
  .guide_col_2 .item .guide_heading {
    padding-left: 32px;
    padding-right: 32px;
  }
}
.guide_col_2 .item img {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .guide_col_2 .item img {
    max-width: calc(100% - 64px);
  }
}

/* .color_guide
============================================================================= */
*:not(.color_guide):not([class^=h]) + .color_guide {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.color_guide):not([class^=h]) + .color_guide {
    margin-top: 60px;
  }
}
.color_guide + .color_guide {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .color_guide + .color_guide {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .color_guide .guide_list {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 768px) {
  .color_guide .item {
    flex-shrink: 0;
    width: 50%;
  }
  .color_guide .item:nth-child(n+3) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .color_guide .item:nth-child(n+3) {
    margin-top: 32px;
  }
}
@media screen and (max-width: 767px) {
  .color_guide .item + .item {
    margin-top: 20px;
  }
}
.color_guide .color {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .color_guide .color {
    margin-top: 4px;
  }
}
.color_guide .color img {
  flex-shrink: 0;
  margin-right: 28px;
  aspect-ratio: auto 1/1;
  width: 120px;
}
@media screen and (max-width: 767px) {
  .color_guide .color img {
    margin-right: 20px;
    max-width: 28.0373831776vw;
  }
}

/* .download_guide
============================================================================= */
.download_guide {
  overflow: hidden;
}
*:not(.download_guide):not([class^=h]) + .download_guide {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.download_guide):not([class^=h]) + .download_guide {
    margin-top: 60px;
  }
}
.download_guide + .download_guide {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .download_guide + .download_guide {
    margin-top: 40px;
  }
}
.txt + .download_guide {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .txt + .download_guide {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .download_guide .guide_inner {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px -40px;
  }
}
@media (min-width: 768px) {
  .download_guide .item {
    width: calc(50% - 40px);
    margin: 0 20px 40px;
  }
}
@media screen and (max-width: 767px) {
  .download_guide .item + .item {
    margin-top: 20px;
  }
}
.download_guide .btn_main_download {
  width: 100%;
}

/* .download_modal
============================================================================= */
@media (min-width: 768px) {
  .modal_container .modal_wrap .modal_block._download {
    margin-left: auto;
    margin-right: auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .modal_container .modal_wrap .modal_block._download {
    padding-top: 40px;
  }
}

.download_modal {
  margin: 0 auto;
  padding: 50px;
  width: 100%;
  border-radius: 20px;
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .download_modal {
    margin-bottom: calc(env(safe-area-inset-bottom) + 40px);
    border-radius: 10px;
    padding: 40px 20px;
  }
}
.download_modal .modal-close {
  top: 50px;
  right: 50px;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .download_modal .modal-close {
    top: 36px;
    right: 20px;
  }
}
.download_modal .h2 {
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  .download_modal .h2 {
    margin-bottom: 24px;
  }
}
.download_modal .download_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 80px;
  border-top: 1px solid #c7c7c7;
  padding-top: 40px;
}
@media screen and (max-width: 767px) {
  .download_modal .download_box {
    margin-top: 40px;
    padding-top: 32px;
  }
}
.download_modal .download_box .download_check:not(:checked) ~ .download_check_label > i:after {
  opacity: 0;
}
.download_modal .download_box .download_check:not(:checked) ~ .btn_main_download {
  background-color: #B7B7B7;
  pointer-events: none;
}
.download_modal .download_box .download_check_label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.download_modal .download_box .download_check_label > i {
  flex-shrink: 0;
  display: block;
  margin-right: 12px;
  border: 1px solid #707070;
  width: 18px;
  height: 18px;
  background-color: #F5F5F5;
  position: relative;
}
.download_modal .download_box .download_check_label > i:after {
  content: "";
  display: block;
  margin: auto;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  background-color: #0E0D6A;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.download_modal .download_box .btn_main_download {
  margin-top: 28px;
  transition-property: opacity, background-color;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
@media (min-width: 768px) {
  .download_modal .download_box .btn_main_download {
    width: 560px;
  }
}
@media screen and (max-width: 767px) {
  .download_modal .download_box .btn_main_download {
    width: 100%;
  }
}

/* .contact
============================================================================= */
.contact {
  border: 1px solid #0E0D6A;
  padding: 60px;
}
*:not(.download_guide):not([class^=h]) + .contact {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.download_guide):not([class^=h]) + .contact {
    margin-top: 60px;
  }
}
.contact + .download_guide {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .contact + .download_guide {
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .contact {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .contact {
    padding: 32px;
  }
}
@media (min-width: 768px) {
  .contact .txt_inner {
    flex: 1;
  }
}
.contact .link_inner {
  text-align: center;
}
@media (min-width: 768px) {
  .contact .link_inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex-shrink: 0;
    margin-left: 40px;
    width: 440px;
  }
}
@media screen and (max-width: 767px) {
  .contact .link_inner {
    margin-top: 36px;
  }
}
.contact .link_inner .btn_main_mail {
  margin-top: 4px;
  padding-bottom: 0;
  padding-left: 40px;
  padding-right: 68px;
  width: 100%;
  height: 80px;
  font-size: 18px;
  letter-spacing: 0.08em;
  text-align: center;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .contact .link_inner .btn_main_mail {
    padding-left: 20px;
    padding-right: 48px;
    font-size: 13px;
  }
}
.contact .link_inner .btn_main_mail:after {
  width: 18px;
  height: 12px;
  background-image: url(/content/dam/bbw/images/common/icon_mail_white_big.png);
  right: 40px;
}
@media screen and (max-width: 767px) {
  .contact .link_inner .btn_main_mail:after {
    right: 32px;
  }
}
.contact .link_inner .btn_main_mail + .link_heading {
  margin-top: 20px;
}

/* .faq
============================================================================= */
*:not(.faq):not([class^=h]) + .faq {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.faq):not([class^=h]) + .faq {
    margin-top: 60px;
  }
}
.faq + .faq {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .faq + .faq {
    margin-top: 40px;
  }
}

.faq_contents {
  border-bottom: 1px solid #c7c7c7;
}
.faq_contents .faq_question,
.faq_contents .faq_answer {
  padding: 16px 0 20px 40px;
  position: relative;
  transition-property: background-color;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.faq_contents .faq_question:before,
.faq_contents .faq_answer:before {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  align-items: center;
  position: absolute;
  left: 0;
}
.faq_contents .faq_question {
  display: flex;
  justify-content: space-between;
  padding-right: 32px;
  font-size: 16px;
  letter-spacing: 0.08em;
  color: #0E0D6A;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .faq_contents .faq_question {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .faq_contents .faq_question:hover {
    opacity: 0.6;
  }
}
.faq_contents .faq_question[aria-expanded=true]:after {
  transform: scaleY(-1);
}
.faq_contents .faq_question:before {
  content: "Q";
  margin-top: -0.1em;
}
.faq_contents .faq_question:after {
  content: "";
  display: block;
  margin: auto 0;
  width: 0;
  height: 0;
  border-top: 6px solid #0E0D6A;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 0px solid #0E0D6A;
  position: absolute;
  top: calc(20px + 0.8em);
  right: 24px;
  transition-property: transform;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.faq_contents .faq_answer {
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .faq_contents .faq_answer {
    padding-bottom: 32px;
  }
}
.faq_contents .faq_answer:before {
  content: "A";
  margin-top: -0.3em;
  color: #0E0D6A;
}
.faq_contents .answer {
  text-align-last: left;
  text-align: justify;
  text-justify: inter-ideograph;
}

/* .tab
============================================================================= */
*:not(.tab_wrap):not([class^=h]) + .tab_wrap {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.tab_wrap):not([class^=h]) + .tab_wrap {
    margin-top: 60px;
  }
}
.tab_wrap + .tab_wrap {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .tab_wrap + .tab_wrap {
    margin-top: 40px;
  }
}

.tab_wrap .tab-buttons {
  display: flex;
  position: relative;
}
@media screen and (max-width: 767px) {
  .tab_wrap .tab-buttons {
    padding-bottom: 10px;
    overflow-x: auto;
  }
}
.tab_wrap .tab-buttons:not(.__scroll-hint):after {
  opacity: 0;
}
.tab_wrap .tab-buttons:after {
  content: "";
  display: block;
  margin: auto;
  width: 80px;
  height: 80px;
  background-image: url(/content/dam/bbw/images/common/icon_scrollhint.png);
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.tab_wrap .tab-button {
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid #C7C7C7;
  height: 56px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  transition-property: color;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  position: relative;
}
@media (min-width: 768px) {
  .tab_wrap .tab-button {
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  .tab_wrap .tab-button {
    padding: 0 40px;
    height: 80px;
    white-space: nowrap;
  }
}
.tab_wrap .tab-button + .tab-button {
  border-left: 1px solid #C7C7C7;
}
.tab_wrap .tab-button[aria-expanded=true] {
  color: #0E0D6A;
}
.tab_wrap .tab-button[aria-expanded=true]:after {
  opacity: 1;
}
.tab_wrap .tab-button:after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 6px solid;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.tab_wrap .tab-contents {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .tab_wrap .tab-contents {
    padding-top: 30px;
  }
}

/* .carousel
============================================================================= */
*:not(.carousel_wrap):not([class^=h]) + .carousel_wrap {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  *:not(.carousel_wrap):not([class^=h]) + .carousel_wrap {
    margin-top: 60px;
  }
}
.carousel_wrap + .carousel_wrap {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .carousel_wrap + .carousel_wrap {
    margin-top: 40px;
  }
}

.carousel_wrap {
  overflow: hidden;
}
.carousel_wrap .carousel {
  overflow: visible;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .carousel_wrap .carousel {
    width: 675px;
  }
}
@media screen and (max-width: 767px) {
  .carousel_wrap .carousel {
    width: calc(100% - 112px);
  }
}
.carousel_wrap .carousel-item {
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.carousel_wrap .carousel-item:not(.swiper-slide-active):not(.swiper-slide-duplicate-active) {
  opacity: 0.5;
}
.carousel_wrap .carousel-item img + p {
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .carousel_wrap .carousel-item img + p {
    margin-top: 12px;
  }
}
.carousel_wrap .carousel-item p {
  line-height: 1.4;
  font-weight: 700;
}
.carousel_wrap .swiper-button-prev,
.carousel_wrap .swiper-button-next {
  background: none;
  width: 40px;
  height: 100%;
  transition-property: opacity;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  top: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
@media screen and (max-width: 767px) {
  .carousel_wrap .swiper-button-prev,
.carousel_wrap .swiper-button-next {
    width: 46px;
  }
}
.carousel_wrap .swiper-button-prev.swiper-button-disabled,
.carousel_wrap .swiper-button-next.swiper-button-disabled {
  opacity: 0;
}
.carousel_wrap .swiper-button-prev:before, .carousel_wrap .swiper-button-prev:after,
.carousel_wrap .swiper-button-next:before,
.carousel_wrap .swiper-button-next:after {
  content: "";
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.carousel_wrap .swiper-button-prev:before,
.carousel_wrap .swiper-button-next:before {
  border-radius: 50%;
  height: 40px;
  background-color: #0E0D6A;
}
@media screen and (max-width: 767px) {
  .carousel_wrap .swiper-button-prev:before,
.carousel_wrap .swiper-button-next:before {
    height: 46px;
  }
}
.carousel_wrap .swiper-button-prev:after,
.carousel_wrap .swiper-button-next:after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
}
.carousel_wrap .swiper-button-prev {
  margin-left: -50px;
  left: 0;
}
.carousel_wrap .swiper-button-prev:after {
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  right: -4px;
}
.carousel_wrap .swiper-button-next {
  margin-right: -50px;
  right: 0;
}
.carousel_wrap .swiper-button-next:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  left: -4px;
}

/* .header
共通ヘッダー
----------------------------------------------------------------------------- */
@media print {
  .header {
    position: relative !important;
  }
}
@media (min-width: 768px) {
  .header {
    border-bottom: 1px solid #E5E5E5;
    width: 100%;
    min-width: 1024px;
    height: 100px;
    background-color: #fff;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
    transition-property: height, box-shadow, background, transform;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  .__scrolled .header {
    height: 60px;
  }
  .__pc-header-hide .header {
    transform: translateY(-100%);
  }
  .header .header_pc_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
  }
}
.header .header-logo {
  display: flex;
  align-items: center;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .header .header-logo {
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #D5D5D5;
    padding-left: 20px;
    padding: 0 50px;
    width: 100%;
    height: 50px;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    transition-property: transform;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    z-index: 1001;
  }
  .__scrolling.__scrolled:not(.__spMenu-open) .header .header-logo {
    transform: translateY(-100%);
  }
}
.header .header-logo > a {
  display: flex;
  align-items: center;
  height: 100%;
}
@media (min-width: 768px) {
  html:not(.__touchedevice) .header .header-logo > a {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  html:not(.__touchedevice) .header .header-logo > a:hover img {
    opacity: 0.6;
  }
}
.header .header-logo .logo-image img {
  height: auto;
}
@media (min-width: 768px) {
  .header .header-logo .logo-image img {
    transition-property: width, height, opacity;
    transition-duration: 1000ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
}
@media screen and (max-width: 767px) {
  .header .header-logo .logo-image img {
    width: 120px;
  }
}
@media screen and (max-width: 767px) {
  .header .header-sp_menu_btn {
    width: 50px;
    height: 49px;
    background-color: #fff;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1001;
    transition-property: background-color, transform;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  .__scrolling.__scrolled:not(.__spMenu-open) .header .header-sp_menu_btn {
    transform: translateY(-100%);
  }
  .header .header-sp_menu_btn > i {
    display: block;
    margin: auto;
    width: 25px;
    height: 2px;
    background-color: #747474;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition-property: background, transform;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  .header .header-sp_menu_btn > i:before, .header .header-sp_menu_btn > i:after {
    content: "";
    display: block;
    margin: auto;
    width: 100%;
    height: 100%;
    background-color: #747474;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition-property: transform;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  .header .header-sp_menu_btn > i:before {
    transform: translateY(-8px);
  }
  .header .header-sp_menu_btn > i:after {
    transform: translateY(8px);
  }
  .__spMenu-open .header .header-sp_menu_btn > i {
    background-color: transparent;
  }
  .__spMenu-open .header .header-sp_menu_btn > i:before {
    transform: translateY(0) rotate(45deg);
  }
  .__spMenu-open .header .header-sp_menu_btn > i:after {
    transform: translateY(0) rotate(-45deg);
  }
}
@media (min-width: 768px) {
  .header .header-navigation {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .header .header-navigation {
    width: 100%;
    padding-top: 40px;
    padding-bottom: 100px;
    min-height: 100vh;
    background-color: #fff;
    position: fixed;
    top: 50px;
    right: 0;
    overflow-y: scroll;
    transition-property: transform;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    z-index: 1000;
  }
  body:not(.__spMenu-open) .header .header-navigation {
    transform: translateX(100%);
    pointer-events: none;
  }
  .header .header-navigation > *:last-child {
    padding-bottom: 100px;
  }
}
.header .navigation-language {
  display: flex;
  margin: -6px;
}
@media (min-width: 768px) {
  .header .navigation-language {
    padding-left: 40px;
  }
}
.header .navigation-language .language-link._active {
  pointer-events: none;
}
.header .navigation-language .language-link:not(._active) {
  opacity: 0.5;
}
.header .navigation-language .language-link > a {
  display: block;
  padding: 6px;
}
.header .navigation-language .language-link > a > img {
  width: 18px;
}
.header .navigation-main {
  line-height: 1;
}
@media (min-width: 768px) {
  .header .navigation-main {
    margin: 0 -20px;
    height: 100%;
    display: flex;
    justify-content: center;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1600px) {
  .header .navigation-main {
    margin: 0 -10px;
  }
}
@media screen and (max-width: 767px) {
  .header .navigation-main {
    margin-top: 24px;
  }
}
@media (min-width: 768px) {
  .header .main-link {
    height: 100%;
    position: relative;
  }
  .header .main-link:not(.__hover-active) .link-sub {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
  }
}
@media screen and (max-width: 767px) {
  .header .main-link {
    border-bottom: 1px solid #707070;
  }
}
.header .main-link > a,
.header .main-link > span,
.header .main-link > button {
  display: flex;
  align-items: center;
  position: relative;
}
@media (min-width: 768px) {
  .header .main-link > a,
.header .main-link > span,
.header .main-link > button {
    padding: 0 20px;
    height: 100%;
    cursor: pointer;
    letter-spacing: 0.03em;
  }
  html:not(.__touchedevice) .header .main-link > a,
html:not(.__touchedevice) .header .main-link > span,
html:not(.__touchedevice) .header .main-link > button {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  html:not(.__touchedevice) .header .main-link > a:hover,
html:not(.__touchedevice) .header .main-link > span:hover,
html:not(.__touchedevice) .header .main-link > button:hover {
    opacity: 0.6;
  }
}
@media (min-width: 768px) and (max-width: 1152px) {
  .header .main-link > a,
.header .main-link > span,
.header .main-link > button {
    padding: 0 16px;
  }
}
@media screen and (max-width: 767px) {
  .header .main-link > a,
.header .main-link > span,
.header .main-link > button {
    padding: 24px 0 24px 36px;
    width: 100%;
    line-height: 1;
    font-size: 16px;
    position: relative;
  }
  .header .main-link > a:before,
.header .main-link > span:before,
.header .main-link > button:before {
    content: "";
    display: block;
    margin: auto 0;
    width: 0;
    height: 0;
    border-left: 6px solid #0E0D6A;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
  }
}

/* .guidance
各種案内・申請
----------------------------------------------------------------------------- */
.guidance .guidance-sitemap {
  padding-top: 100px;
  padding-bottom: 100px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .guidance .guidance-sitemap {
    padding-top: 56px;
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .guidance .sitemap-group_wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 60px -20px -80px;
  }
}
@media screen and (max-width: 767px) {
  .guidance .sitemap-group_wrap {
    margin-top: 48px;
  }
}
.guidance .sitemap-heading {
  font-size: 28px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .guidance .sitemap-heading {
    font-size: 22px;
  }
}
@media (min-width: 768px) {
  .guidance .sitemap-group {
    display: flex;
    flex-direction: column;
    width: calc(33.3333333333% - 40px);
    margin: 0 20px 80px;
  }
}
@media screen and (max-width: 767px) {
  .guidance .sitemap-group + .sitemap-group {
    margin-top: 56px;
  }
}
.guidance .sitemap-group .group-heading {
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .guidance .sitemap-group .group-heading {
    font-size: 16px;
  }
}
.guidance .sitemap-group .group-heading + .goup-links {
  margin-top: 20px;
}
.guidance .sitemap-group .group-description {
  margin-top: 20px;
  margin-bottom: 16px;
}
.guidance .sitemap-group .goup-links {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .guidance .sitemap-group .link + .link {
    margin-top: 8px;
  }
}
.guidance .sitemap-other {
  margin-top: 80px;
  border-top: 1px solid #C3C3C3;
  padding-top: 24px;
}

/* .article_list_block
記事一覧共通
----------------------------------------------------------------------------- */
.article_list_block {
  display: block;
  overflow: hidden;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 3px 80px rgba(61, 78, 137, 0.16);
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .article_list_block {
    transition-property: "opacity";
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .article_list_block:hover {
    opacity: 0.7;
  }
  html:not(.__touchdevice) .article_list_block:hover .article-img > img {
    transform: scale(1.03);
  }
  html:not(.__touchdevice) .article_list_block:hover .article-text:after {
    transform: translateX(5px);
  }
}
.article_list_block .article-img {
  position: relative;
  overflow: hidden;
}
.article_list_block .article-img > img {
  border-radius: 10px 10px 0 0;
  transition-property: transform;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.article_list_block .img-provided_value {
  padding: 10px 16px;
  width: 100%;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  background-color: rgba(14, 13, 106, 0.8);
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .article_list_block .img-provided_value {
    font-size: 14px;
  }
}
@media screen and (max-width: 391px) {
  .article_list_block .img-provided_value {
    font-size: 12px;
  }
}
.article_list_block .article-text {
  display: flex;
  align-items: center;
  padding: 12px 24px;
  min-height: 80px;
  line-height: 1.7;
  position: relative;
}
@media screen and (max-width: 767px) {
  .article_list_block .article-text {
    font-size: 16px;
    line-height: 1.8;
  }
}
@media screen and (max-width: 391px) {
  .article_list_block .article-text {
    font-size: 14px;
  }
}
.article_list_block .article-text:after {
  content: "";
  display: block;
  margin: auto 0;
  width: 0;
  height: 0;
  border-left: 6px solid #0E0D6A;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  position: absolute;
  right: 20px;
  transition-property: transform;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

/* .footer
----------------------------------------------------------------------------- */
.footer .footer_inner {
  text-align: center;
}
.footer .footer-links {
  padding-top: 48px;
  padding-bottom: 16px;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .footer .footer-links {
    padding-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer-links > li {
    display: inline;
  }
}
.footer .footer-links > li:not(:last-child):after {
  content: "/";
  margin: 0 0.4em;
  font-size: 0.8em;
  vertical-align: 2%;
}
.footer .footer-links > li > a {
  color: inherit;
}
.footer .footer-copyright {
  border-top: 1px solid #6867C4;
  padding-top: 20px;
  padding-bottom: 32px;
  font-size: 10px;
}
@media screen and (max-width: 767px) {
  .footer .footer-copyright {
    padding-top: 16px;
    padding-bottom: 24px;
    font-size: 9px;
  }
}

/* l-topicpath
共通パンくず
----------------------------------------------------------------------------- */
.l-topicpath {
  height: 40px;
}
@media screen and (max-width: 767px) {
  .l-topicpath {
    display: none;
  }
}
.l-topicpath .topicpath_inner {
  display: flex;
  align-items: center;
  height: 100%;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1;
  overflow-x: auto;
}
.l-topicpath li {
  flex-shrink: 0;
  position: relative;
}
.l-topicpath li:not(:last-child) {
  margin-right: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  .l-topicpath li:not(:last-child) {
    margin-right: 12px;
    padding-right: 12px;
  }
}
.l-topicpath li:not(:last-child):after {
  content: "";
  display: block;
  border-top: 1px solid;
  border-right: 1px solid;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 4px;
  right: -3px;
  transform: rotate(45deg);
}
.l-topicpath li:last-child {
  padding-right: 20px;
  color: #9D9D9D;
}
html:not(.__touchedevice) .l-topicpath li a:hover {
  text-decoration: underline;
}

/* l-pagetop
----------------------------------------------------------------------------- */
.l-pagetop {
  display: block;
  margin: -39px 0 0 auto;
  width: 40px;
  height: 40px;
  color: #fff;
  background-color: #0E0D6A;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 100;
  transition: transform 0.5s;
  transform: translateY(100%);
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .l-pagetop {
    transition-property: opacity, transform;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .l-pagetop:hover {
    opacity: 0.6;
  }
}
.__scrolled .l-pagetop {
  transform: translateY(0);
}
.__scroll-end .l-pagetop {
  position: absolute;
  bottom: auto;
}
@media print {
  .l-pagetop {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .l-pagetop {
    bottom: env(safe-area-inset-bottom, 0);
  }
}
.l-pagetop:after {
  content: "";
  display: block;
  margin: auto;
  width: 0;
  height: 0;
  border-bottom: 6px solid #fff;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

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

トップページのスタイルは以下に記述する

親クラス名は先頭に「.top-×××」をつける

============================================================================= */
.top-section-heading01 {
  font-size: 28px;
  letter-spacing: 0.08em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .top-section-heading01 {
    font-size: 22px;
  }
}
.top-section-heading01 + * {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .top-section-heading01 + * {
    margin-top: 32px;
  }
}

.top-mainvisual {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .top-mainvisual {
    margin-top: -100px;
    padding-top: 100px;
    max-height: 1200px;
  }
}
@media screen and (max-width: 767px) {
  .top-mainvisual {
    justify-content: flex-end;
    align-items: flex-end;
    height: calc(100vh - 50px);
  }
}
.top-mainvisual .__video,
.top-mainvisual .mainvisual-img {
  width: 100%;
  height: calc(100% - 100px);
  position: absolute;
  top: 100px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top-mainvisual .__video,
.top-mainvisual .mainvisual-img {
    top: 0;
    height: calc(100% - 102px);
  }
}
@media (min-width: 768px) {
  .top-mainvisual .__video _:-ms-fullscreen, :root .top-mainvisual .__video {
    height: auto;
  }
}
.top-mainvisual .mainvisual-catch_wrap {
  display: flex;
  justify-content: flex-end;
}
.top-mainvisual .mainvisual-catch_wrap _:-ms-fullscreen, :root .top-mainvisual .mainvisual-catch_wrap {
  margin-left: 0;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .top-mainvisual .mainvisual-catch_wrap {
    width: 100%;
  }
}
.top-mainvisual .mainvisual-catch_wrap .mainvisual-catch_inner {
  background-color: #fff;
  padding: 60px 120px 48px 60px;
  border-radius: 10px;
  box-shadow: 0 3px 60px rgba(61, 78, 137, 0.12);
}
@media screen and (max-width: 767px) {
  .top-mainvisual .mainvisual-catch_wrap .mainvisual-catch_inner {
    border-radius: 10px 0 0 10px;
    padding: 32px 0 32px 32px;
    width: calc(100% - 20px);
  }
}
.top-mainvisual .mainvisual-catch_wrap .mainvisual-catch {
  line-height: 2.8;
}
@media (min-width: 768px) {
  .top-mainvisual .mainvisual-catch_wrap .mainvisual-catch {
    margin-top: 28px;
  }
}
.top-mainvisual .mainvisual-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #E5E5E5;
  background-color: #fff;
  width: 100%;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 768px) {
  .top-mainvisual .mainvisual-navigation {
    z-index: 1001;
  }
}
.top-mainvisual .mainvisual-navigation .navigation_inner {
  line-height: 1;
  height: 100%;
  display: flex;
  justify-content: center;
}
.top-mainvisual .mainvisual-navigation .navigation-link {
  height: 100%;
  position: relative;
}
.top-mainvisual .mainvisual-navigation .navigation-link + .navigation-link:before {
  content: "";
  display: block;
  margin: auto 0;
  height: 1em;
  border-left: 1px solid #AAAAAA;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.top-mainvisual .mainvisual-navigation .navigation-link > a {
  display: flex;
  align-items: center;
  position: relative;
}
@media (min-width: 768px) {
  .top-mainvisual .mainvisual-navigation .navigation-link > a {
    padding: 0 36px;
    height: 100%;
    cursor: pointer;
    letter-spacing: 0.03em;
  }
  html:not(.__touchedevice) .top-mainvisual .mainvisual-navigation .navigation-link > a {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
  html:not(.__touchedevice) .top-mainvisual .mainvisual-navigation .navigation-link > a:hover {
    opacity: 0.6;
  }
}
.top-mainvisual .mainvisual-navigation .navigation-language {
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 36px;
  margin: 0 -6px;
}
.top-mainvisual .mainvisual-navigation .navigation-language .language-link._active {
  pointer-events: none;
}
.top-mainvisual .mainvisual-navigation .navigation-language .language-link:not(._active) {
  opacity: 0.5;
}
.top-mainvisual .mainvisual-navigation .navigation-language .language-link > a {
  display: block;
  padding: 6px;
}
.top-mainvisual .mainvisual-navigation .navigation-language .language-link > a > img {
  width: 18px;
}

.top-introduction {
  padding-top: 120px;
  padding-bottom: 120px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-introduction {
    padding-top: 52px;
    padding-bottom: 60px;
  }
}
.top-introduction .introduction-bnrs .swiper-pagination-bullet {
  vertical-align: bottom;
}
.top-introduction .introduction-bnrs .swiper-pagination-bullet-active {
  background-color: #3C3C3C;
}
.top-introduction .introduction-bnrs .link {
  position: relative;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .top-introduction .introduction-bnrs .link {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .top-introduction .introduction-bnrs .link:hover {
    opacity: 0.6;
  }
}
.top-introduction .introduction-bnrs .link:before {
  content: "";
  display: block;
  border: 1px solid #707070;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.top-introduction .introduction-heading {
  margin-top: 48px;
  font-size: 24px;
  line-height: 2.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .top-introduction .introduction-heading {
    margin-top: 40px;
    font-size: 16px;
    letter-spacing: 0.04em;
  }
}
.top-introduction .introduction-brandstory {
  margin-top: 80px;
  padding-top: 60px;
  color: #6C6C6C;
}
@media (min-width: 768px) {
  .top-introduction .introduction-brandstory {
    box-sizing: content-box;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-introduction .introduction-brandstory {
    margin-top: 60px;
    padding-top: 40px;
  }
}
.top-introduction .brandstory-links {
  display: flex;
}
@media (min-width: 768px) {
  .top-introduction .brandstory-links {
    margin: 60px -20px -40px;
  }
}
@media screen and (max-width: 767px) {
  .top-introduction .brandstory-links {
    margin-top: 0;
    padding-top: 32px;
    padding-bottom: 32px;
    margin-right: -20px;
    overflow-x: auto;
    overflow-y: visible;
  }
}
.top-introduction .brandstory-links .link {
  flex-shrink: 0;
  border-radius: 10px;
  box-shadow: 0 3px 80px rgba(61, 78, 137, 0.16);
  overflow: hidden;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .top-introduction .brandstory-links .link {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .top-introduction .brandstory-links .link:hover {
    opacity: 0.6;
  }
}
@media (min-width: 768px) {
  .top-introduction .brandstory-links .link {
    margin: 0 20px 40px;
    width: calc(33.3333333333% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .top-introduction .brandstory-links .link {
    width: 78vw;
    box-shadow: 0 3px 32px rgba(61, 78, 137, 0.08);
    margin-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .top-introduction .brandstory-links .link .article_list_block .img-provided_value {
    font-size: 12px;
  }
}
@media screen and (max-width: 391px) {
  .top-introduction .brandstory-links .link .article_list_block .img-provided_value {
    font-size: 10px;
  }
}
@media screen and (max-width: 767px) {
  .top-introduction .brandstory-links .link .article_list_block .text-heading {
    font-size: 14px;
  }
}
@media screen and (max-width: 391px) {
  .top-introduction .brandstory-links .link .article_list_block .text-heading {
    font-size: 12px;
  }
}
.top-introduction .brandstory-links .link-description {
  padding: 32px 24px;
}
@media screen and (max-width: 767px) {
  .top-introduction .brandstory-links .link-description {
    padding: 20px 20px;
  }
}
.top-introduction .brandstory-more {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .top-introduction .brandstory-more {
    margin-top: 20px;
  }
}

.top-knowledge {
  padding-top: 120px;
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .top-knowledge {
    padding-top: 52px;
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .content {
    display: flex;
    align-items: flex-start;
    min-height: 505px;
  }
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .content:not(._reverse) .content-text_wrap {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .content:not(._reverse) .content-img {
    left: 0;
  }
  .top-knowledge .knowledge-contents .content:not(._reverse) .content-img img {
    margin-left: auto;
  }
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .content._reverse .content-img {
    right: 0;
  }
  .top-knowledge .knowledge-contents .content._reverse .content-img img {
    margin-right: auto;
  }
}
.top-knowledge .knowledge-contents .content + .content {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .top-knowledge .knowledge-contents .content + .content {
    margin-top: 60px;
  }
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .content-img {
    width: calc(50% + 240px);
    height: 585px;
    position: absolute;
    top: 0;
  }
  .top-knowledge .knowledge-contents .content-img.-keyvision-img img {
    object-position: right top;
    font-family: "object-fit: cover;object-position:right top;";
  }
  .top-knowledge .knowledge-contents .content-img img {
    max-width: 1040px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .top-knowledge .knowledge-contents .content-img img {
    width: 100%;
  }
  .top-knowledge .knowledge-contents .content-img img._of-sp-cover {
    height: 240px;
  }
}
.top-knowledge .knowledge-contents .content-text_wrap {
  position: relative;
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .content-text_wrap {
    display: flex;
    margin-top: 140px;
  }
}
@media screen and (max-width: 767px) {
  .top-knowledge .knowledge-contents .content-text_wrap {
    margin-top: -40px;
    margin-left: 20px;
    margin-right: 20px;
  }
}
.top-knowledge .knowledge-contents .content-text {
  border-radius: 10px;
  padding: 80px 80px 90px 72px;
  background-color: #fff;
  box-shadow: 0 3px 80px rgba(61, 78, 137, 0.16);
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .content-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 560px;
    min-height: 505px;
  }
}
@media screen and (max-width: 767px) {
  .top-knowledge .knowledge-contents .content-text {
    padding: 32px;
  }
}
@media all and (-ms-high-contrast: none) {
  .top-knowledge .knowledge-contents .content-text .txt *::-ms-backdrop, .top-knowledge .knowledge-contents .content-text .txt {
    text-align: left;
  }
}
.top-knowledge .knowledge-contents .text-link-list {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .text-link-list {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .top-knowledge .knowledge-contents .text-link-list {
    margin-top: 24px;
  }
}
.top-knowledge .knowledge-contents .text-link-list > li {
  border-bottom: 1px solid #D5D5D5;
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .text-link-list > li {
    width: calc(50% - 15px);
  }
  .top-knowledge .knowledge-contents .text-link-list > li:not(:nth-child(2n+1)) {
    margin-left: 30px;
  }
  .top-knowledge .knowledge-contents .text-link-list > li:not(:nth-child(-n+2)) {
    margin-top: 12px;
  }
}
.top-knowledge .knowledge-contents .text-link-list .txt_link {
  padding: 12px 0 12px 24px;
  position: relative;
  display: block;
}
.top-knowledge .knowledge-contents .text-link-list .txt_link:before {
  top: auto;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .top-knowledge .knowledge-contents .text-link-list .txt_link:before {
    margin-top: 8px;
  }
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .text-link-list .txt_link._logo {
    padding-top: 68px;
  }
}
.top-knowledge .knowledge-contents .text-link-list .txt_link._logo img {
  width: auto;
  height: 44px;
  position: absolute;
  top: 0;
}
@media (min-width: 768px) {
  .top-knowledge .knowledge-contents .text-link-list .txt_link._logo img {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .top-knowledge .knowledge-contents .text-link-list .txt_link._logo img {
    margin: auto 0;
    height: 28px;
    right: 0;
    bottom: 0;
  }
}
.top-knowledge .knowledge-contents .text-more {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .top-knowledge .knowledge-contents .text-more {
    margin-top: 28px;
  }
}

.top-protect_and_nurture {
  padding-top: 100px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture {
    padding-top: 48px;
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .top-protect_and_nurture .protect_and_nurture-contents > * + * {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content + .content,
.top-protect_and_nurture .protect_and_nurture-contents .content + .content_pc_column,
.top-protect_and_nurture .protect_and_nurture-contents .content_pc_column + .content {
    margin-top: 40px;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content {
  border-radius: 10px;
  padding: 52px 65px 56px;
  box-shadow: 0 3px 80px rgba(61, 78, 137, 0.16);
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content {
    padding: 36px 20px 40px;
  }
}
@media (min-width: 768px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content_pc_column {
    display: flex;
  }
  .top-protect_and_nurture .protect_and_nurture-contents .content_pc_column .content {
    padding-left: 0;
    padding-right: 0;
    flex: 1;
  }
  .top-protect_and_nurture .protect_and_nurture-contents .content_pc_column .content + .content {
    margin-left: 36px;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-link {
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-link {
    margin-top: 24px;
  }
}
@media (min-width: 768px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap {
    display: flex;
    margin-top: 32px;
  }
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap > p {
    flex: 1;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .content-bnr_list {
  border-top: 1px solid #D5D5D5;
}
@media (min-width: 768px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .content-bnr_list {
    flex-shrink: 0;
    width: 610px;
    margin-left: 48px;
  }
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .content-bnr_list {
    margin-top: 28px;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_list_row {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #D5D5D5;
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_list_row {
    justify-content: space-between;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr-heading {
  flex-shrink: 0;
  min-width: 160px;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr-heading {
    min-width: 72px;
    font-size: 10px;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap {
  flex: 1;
  display: flex;
  margin: 20px -6px;
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap {
    margin: 16px -4px;
    max-width: 232px;
  }
}
@media screen and (max-width: 767px) and (max-width: 361px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap {
    margin: 12px -4px;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap:not(._bnr-min) > a {
  height: 64px;
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap:not(._bnr-min) > a {
    height: 32px;
  }
}
@media screen and (max-width: 767px) and (max-width: 361px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap:not(._bnr-min) > a {
    height: 28px;
  }
}
@media screen and (max-width: 767px) and (max-width: 320px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap:not(._bnr-min) > a {
    height: 26px;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._bnr-min > a {
  height: 48px;
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._bnr-min > a {
    height: 24px;
  }
}
@media screen and (max-width: 767px) and (max-width: 361px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._bnr-min > a {
    height: 20px;
  }
}
@media screen and (max-width: 767px) and (max-width: 320px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._bnr-min > a {
    height: 18px;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._column-1 > a {
  width: calc(100% - 12px);
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._column-1 > a {
    width: calc(100% - 8px);
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._column-2 > a {
  width: calc(50% - 12px);
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._column-2 > a {
    width: calc(50% - 8px);
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._column-3 > a:nth-child(1), .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._column-3 > a:nth-child(3) {
  width: calc(33.3333333333% - 12px - 24px);
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._column-3 > a:nth-child(2) {
  width: calc(33.3333333333% - 12px + 48px);
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._column-3 > a:nth-child(1), .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._column-3 > a:nth-child(3) {
    width: calc(33.3333333333% - 8px - 12px);
  }
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap._column-3 > a:nth-child(2) {
    width: calc(33.3333333333% - 8px + 24px);
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap > a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 6px;
  border-radius: 5px;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap > a {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap > a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap > a {
    margin: 0 4px;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-bnr_wrap .bnr_wrap > a img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
@media (min-width: 768px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-img_text {
    display: flex;
    flex-direction: row-reverse;
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .top-protect_and_nurture .protect_and_nurture-contents .content-img_text img {
    flex-shrink: 0;
    width: calc(50% - 85px);
    margin-left: 85px;
  }
}
.top-protect_and_nurture .protect_and_nurture-contents .content-img_text p {
  margin-top: 1.5em;
}
.top-protect_and_nurture .protect_and_nurture-contents .btn_list_nav {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .top-protect_and_nurture .protect_and_nurture-contents .btn_list_nav {
    margin-left: auto;
    margin-right: auto;
    width: 1020px;
  }
}
@media screen and (max-width: 767px) {
  .top-protect_and_nurture .protect_and_nurture-contents .btn_list_nav {
    margin-top: 24px;
  }
}

.top-experience {
  overflow: hidden;
  padding-top: 100px;
  padding-bottom: 160px;
}
@media screen and (max-width: 767px) {
  .top-experience {
    padding-top: 56px;
    padding-bottom: 60px;
  }
}
.top-experience .experience-contents {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .top-experience .experience-contents {
    margin-top: 50px;
  }
}
.top-experience .contents-links {
  display: flex;
  flex-wrap: wrap;
  box-sizing: content-box;
  margin: 52px -20px -40px;
}
@media screen and (max-width: 767px) {
  .top-experience .contents-links {
    margin: 32px -10px -20px;
  }
}
@media (min-width: 768px) {
  .top-experience .contents-links:not(._min) .link {
    width: calc(50% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .top-experience .contents-links:not(._min) .link {
    width: calc(100% - 20px);
  }
}
@media (min-width: 768px) {
  .top-experience .contents-links._min .link {
    width: calc(33.3333333333% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .top-experience .contents-links._min .link {
    width: calc(50% - 20px);
  }
}
.top-experience .contents-links .link {
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
  margin: 0 20px 40px;
  box-shadow: 0 3px 80px rgba(61, 78, 137, 0.16);
}
@media screen and (max-width: 767px) {
  .top-experience .contents-links .link {
    margin: 0 10px 20px;
  }
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .top-experience .contents-links .link {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .top-experience .contents-links .link:hover {
    opacity: 0.6;
  }
}
.top-experience .contents-links .link img {
  aspect-ratio: auto 16/9;
}
.top-experience .contents-links .link-text {
  padding: 20px 24px;
}
@media screen and (max-width: 767px) {
  .top-experience .contents-links .link-text {
    padding: 16px 10px 24px;
  }
}
.top-experience .contents-links .link-text .h4 ._ico-tb01 {
  margin-left: 0.5em;
  width: 0.8em;
  height: 0.6em;
  vertical-align: 0.1em;
}
.top-experience .contents-links .link-text .h4 + .txt {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .top-experience .contents-links .link-text .h4 + .txt {
    margin-top: 4px;
  }
}

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

Original

オリジナルページのスタイルは以下に記述する
親クラス名は先頭に「.original-×××」をつける

============================================================================= */
/* 見出し
============================================================================= */
.original-h2 {
  margin-bottom: 48px;
  padding-bottom: 16px;
  font-size: 24px;
  font-weight: 1.7;
  font-weight: 700;
  letter-spacing: 0.12em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .original-h2 {
    margin-bottom: 24px;
    font-size: 18px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) and (max-width: 391px) {
  .original-h2 {
    font-size: 16px;
  }
}
.original-h2 ._line {
  display: block;
  width: 612px;
  height: 3px;
  position: absolute;
  top: auto;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .original-h2 ._line {
    margin: 0 auto;
    width: 64px;
    right: 0;
  }
}
.original-h2 ._line > i {
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.original-h2 ._line > i:nth-child(1) {
  width: 50%;
  background-color: #0E0D6A;
  z-index: 6;
}
.original-h2 ._line > i:nth-child(2) {
  width: 70%;
  background-color: #EA5404;
  z-index: 5;
}
.original-h2 ._line > i:nth-child(3) {
  width: 80%;
  background-color: #00A3DF;
  z-index: 4;
}
.original-h2 ._line > i:nth-child(4) {
  width: 84%;
  background-color: #EB2C91;
  z-index: 2;
}
.original-h2 ._line > i:nth-child(5) {
  width: 90%;
  background-color: #FFFE00;
  z-index: 1;
}
.original-h2 ._line > i:nth-child(6) {
  width: 100%;
  background-color: #898A8B;
}

/* .original-h2-type02
============================================================================= */
.original-h2-type02 {
  margin-bottom: 56px;
  font-size: 42px;
  line-height: 1.45;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .original-h2-type02 {
    margin-bottom: 32px;
    font-size: 32px;
  }
}
.original-h3 {
  margin-bottom: 24px;
  padding-bottom: 16px;
  font-weight: 700;
  position: relative;
}
@media (min-width: 768px) {
  .original-h3 {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .original-h3 {
    padding-top: 20px;
    margin-bottom: 24px;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .original-h3.-materiality {
    flex-direction: column;
  }
}
.original-h3.-materiality .number {
  margin-bottom: 12px;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .original-h3.-materiality .number {
    display: block;
    position: static;
  }
}
.original-h3 .number {
  margin-right: 28px;
  font-size: 14px;
  line-height: 1;
  color: #0E0D6A;
}
@media (min-width: 768px) {
  .original-h3 .number {
    margin-top: 12px;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 767px) {
  .original-h3 .number {
    font-size: 12px;
    position: absolute;
    left: 0;
    top: 0;
  }
}
.original-h3 .number[class*=_color] {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 96px;
  height: 96px;
  border: 3px solid;
  color: #fff;
  position: absolute;
  top: -90px;
  left: -70px;
}
@media (min-width: 768px) {
  .original-h3 .number[class*=_color] + .text {
    padding-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .original-h3 .number[class*=_color] {
    border-width: 2px;
    width: 64px;
    height: 64px;
    top: -40px;
    left: -30px;
  }
}
.original-h3 .number._color01 {
  background-image: linear-gradient(45deg, #bb00ef 0%, #2a109f 90%);
}
.original-h3 .number._color02 {
  background-image: linear-gradient(45deg, #d72d44 0%, #3c1b80 90%);
}
.original-h3 .number._color03 {
  background-image: linear-gradient(45deg, #00934a 0%, #13248b 90%);
}
.original-h3 .text {
  font-size: 24px;
  line-height: 1.7;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .original-h3 .text {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) and (max-width: 391px) {
  .original-h3 .text {
    font-size: 16px;
  }
}
.original-h3 ._line {
  display: flex;
  width: 100%;
  height: 3px;
  position: absolute;
  top: auto;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .original-h3 ._line {
    margin: 0 auto;
    width: 64px;
    right: 0;
  }
}
.original-h3 ._line > i {
  display: block;
  height: 100%;
}
.original-h3 ._line > i:nth-child(1) {
  width: 38%;
  background-color: #0E0D6A;
}
.original-h3 ._line > i:nth-child(2) {
  width: 30%;
  background-color: #EA5404;
}
.original-h3 ._line > i:nth-child(3) {
  width: 20%;
  background-color: #00A3DF;
}
.original-h3 ._line > i:nth-child(4) {
  width: 12%;
  background-color: #898A8B;
}

/* .original-h3-type02
============================================================================= */
.original-h3-type02 {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .original-h3-type02 {
    font-size: 18px;
  }
  .original-h3-type02 + .txt {
    margin-top: 16px !important;
  }
  .original-h3-type02 + div[class*=img_col_] {
    margin-top: 28px;
  }
}
.original-h3-type02:not(:last-child) {
  margin-bottom: 40px;
}
.original-h3-type02 + [class*=img_col_] {
  margin-top: 0;
}

/* .original-description01
============================================================================= */
.original-description01 {
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 2.5;
}
@media screen and (max-width: 767px) {
  .original-description01 {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) and (max-width: 391px) {
  .original-description01 {
    font-size: 13px;
  }
}
.original-description01:not(:last-child) {
  margin-bottom: 40px;
}
.original-description01 + [class*=img_col_] {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .original-description01 + [class*=img_col_] {
    margin-top: 0;
  }
}

/* .original-header
オリジナルページヘッダー
============================================================================= */
.original-header {
  height: 224px;
}
@media (min-width: 768px) {
  .original-header {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .original-header {
    height: 148px;
  }
}
.original-header .header_inner {
  background-image: url(/content/dam/bbw/images/common/header-decoration.png);
  background-size: 72px auto;
  background-position: left top;
  background-repeat: no-repeat;
}
@media (min-width: 768px) {
  .original-header .header_inner {
    min-height: 54px;
    padding-left: 112px;
  }
}
@media screen and (max-width: 767px) {
  .original-header .header_inner {
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: 50px auto;
    width: 100%;
    height: 100%;
  }
}
.original-header .header-heading {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .original-header .header-heading {
    font-size: 24px;
    line-height: 1.75;
    text-align: center;
  }
}

/* .original-mainvisual01
オリジナルページメインビジュアル
============================================================================= */
.original-mainvisual01 img {
  margin: 0 auto;
}
.original-mainvisual01 picture, .original-mainvisual01 img {
  display: block;
}
.original-mainvisual01 picture + .original-h3-type02, .original-mainvisual01 img + .original-h3-type02 {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .original-mainvisual01 picture + .original-h3-type02, .original-mainvisual01 img + .original-h3-type02 {
    margin-top: 60px;
  }
}
.original-mainvisual01 picture + *, .original-mainvisual01 img + * {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .original-mainvisual01 picture + *, .original-mainvisual01 img + * {
    margin-top: 40px;
  }
}
.original-mainvisual01 .mainvisual-description {
  font-size: 18px;
  letter-spacing: 0.08em;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .original-mainvisual01 .mainvisual-description {
    font-size: 14px;
  }
}
.original-mainvisual01 .mainvisual-description + * {
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .original-mainvisual01 .mainvisual-description + * {
    margin-top: 24px;
  }
}
.original-mainvisual01 .original-h3-type02 {
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .original-mainvisual01 .original-h3-type02 {
    margin-bottom: 24px;
  }
}

/* .original-column01
オリジナルページ画像+テキスト
============================================================================= */
*:not(.original-column) + .original-column01 {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  *:not(.original-column) + .original-column01 {
    margin-top: 80px;
  }
}
.original-column01 + .original-column01 {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .original-column01 + .original-column01 {
    margin-top: 60px;
  }
}
@media (min-width: 768px) {
  .original-column01 {
    display: flex;
  }
  .original-column01:not(._reverse) .colulmn-text {
    margin-left: -200px;
  }
  .original-column01._reverse {
    flex-direction: row-reverse;
  }
  .original-column01._reverse .colulmn-text {
    margin-right: -200px;
  }
  .original-column01 > * {
    flex-shrink: 0;
  }
}
@media screen and (max-width: 767px) {
  .original-column01:last-child {
    margin-bottom: -30px;
  }
}
@media (min-width: 768px) {
  .original-column01 .colulmn-img {
    width: calc(50% + 280px);
  }
}
.original-column01 .colulmn-img img {
  width: 100%;
  height: auto;
}
.original-column01 .colulmn-text {
  margin-top: 40px;
  border-radius: 10px;
  padding-top: 50px;
  padding-bottom: 68px;
  background-color: #fff;
  box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .original-column01 .colulmn-text {
    padding-left: 60px;
    padding-right: 60px;
    width: calc(50% - 80px);
    min-height: 404px;
  }
}
@media screen and (max-width: 767px) {
  .original-column01 .colulmn-text {
    padding-top: 20px;
    padding-bottom: 40px;
    margin-top: -32px;
    position: relative;
  }
}
.original-column01 .text-description {
  font-size: 20px;
  line-height: 2.2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .original-column01 .text-description {
    font-size: 18px;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) and (max-width: 391px) {
  .original-column01 .text-description {
    font-size: 16px;
  }
}
.original-column01 .text-description + .h3 {
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .original-column01 .text-description + .h3 {
    margin-top: 28px;
  }
}
.original-column01 .h3 {
  margin-bottom: 0;
}
.original-column01 .h3 + .txt {
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .original-column01 .h3 + .txt {
    margin-top: 8px;
  }
}
.original-column01 .txt {
  margin-top: 36px;
  letter-spacing: 0.05em;
}
.original-column01 .text-list {
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .original-column01 .text-list {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) and (max-width: 391px) {
  .original-column01 .text-list {
    font-size: 16px;
  }
}
.original-column01 .text-list > li {
  padding-left: 20px;
  position: relative;
}
.original-column01 .text-list > li + li {
  margin-top: 24px;
  border-top: 1px dashed #C7C7C7;
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .original-column01 .text-list > li + li {
    margin-top: 16px;
    padding-top: 16px;
  }
}
.original-column01 .text-list > li:before {
  content: "";
  display: block;
  margin-top: calc(1em - 4px);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  background-color: #0E0D6A;
  position: absolute;
  left: 0;
}

/* .original-navigation
オリジナルページローカルナビゲーション
============================================================================= */
.original-navigation {
  border-top: 1px solid #C3C3C3;
  padding-top: 52px;
  padding-bottom: 28px;
}
@media screen and (max-width: 767px) {
  .original-navigation {
    padding-top: 24px;
    padding-bottom: 16px;
  }
}
.original-navigation .navigation-heading {
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .original-navigation .navigation-heading {
    font-size: 18px;
  }
}
.original-navigation .navigation {
  display: flex;
  margin-top: 24px;
}
@media (min-width: 768px) {
  .original-navigation .navigation {
    border-left: 1px solid #C3C3C3;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .original-navigation .navigation {
    flex-wrap: wrap;
  }
}
@media (min-width: 768px) {
  .original-navigation .navigation > li {
    flex: 1;
    border-right: 1px solid #C3C3C3;
    height: 68px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .original-navigation .navigation > li {
    width: 33.3333333333%;
  }
  .original-navigation .navigation > li:not(:nth-child(3n+1)) {
    border-left: 1px solid #C3C3C3;
  }
  .original-navigation .navigation > li:not(:nth-child(-n+3)) {
    border-top: 1px solid #C3C3C3;
  }
}
.original-navigation .navigation > li > a {
  display: block;
  width: 100%;
  height: 100%;
  color: #0E0D6A;
  position: relative;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .original-navigation .navigation > li > a {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .original-navigation .navigation > li > a:hover {
    opacity: 0.6;
  }
  html:not(.__touchdevice) .original-navigation .navigation > li > a:hover:after {
    transform: translateY(5px);
  }
}
@media (min-width: 768px) {
  .original-navigation .navigation > li > a {
    padding-top: 2px;
  }
  .original-navigation .navigation > li > a:after {
    content: "";
    display: block;
    margin: 0 auto;
    width: 0;
    height: 0;
    border-top: 6px solid #0E0D6A;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    transition-property: transform;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }
}
@media screen and (max-width: 767px) {
  .original-navigation .navigation > li > a {
    display: flex;
    align-items: center;
    padding-left: 8px;
    height: 44px;
  }
}
.original-navigation .navigation > li > a > * {
  display: block;
  line-height: 1;
}
.original-navigation .navigation > li > a .number {
  font-size: 10px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .original-navigation .navigation > li > a .number {
    position: absolute;
  }
}
@media (min-width: 768px) {
  .original-navigation .navigation > li > a .text {
    margin-top: 14px;
  }
}
@media screen and (max-width: 767px) {
  .original-navigation .navigation > li > a .text {
    flex: 1;
    font-size: 14px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) and (max-width: 390px) {
  .original-navigation .navigation > li > a .text {
    font-size: 12px;
  }
}

/* .original-flow01
============================================================================= */
.original-flow01 {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .original-flow01 {
    padding-top: 32px;
  }
}
.original-flow01 .flow-top {
  padding-bottom: 32px;
  text-align: center;
}
.original-flow01 .top-text {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .original-flow01 .top-text {
    font-size: 14px;
  }
}
.original-flow01 .flow-separate {
  display: flex;
  align-items: center;
  justify-content: center;
}
.original-flow01 .flow-separate:before, .original-flow01 .flow-separate:after {
  content: "";
  display: block;
  border-bottom: 1px solid #C3C3C3;
  flex: 1;
}
.original-flow01 .flow-separate > i {
  flex-shrink: 0;
  display: block;
  margin: 0 92px;
  border-top: 24px solid #EA5404;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  width: 0;
  height: 0;
}
@media screen and (max-width: 767px) {
  .original-flow01 .flow-separate > i {
    margin: 0 36px;
  }
}
.original-flow01 .flow-bottom {
  padding-top: 28px;
}
.original-flow01 .flow-bottom .h3 {
  text-align: center;
}
.original-flow01 .flow-bottom .img_col_3 {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .original-flow01 .flow-bottom .img_col_3 .item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .original-flow01 .flow-bottom .img_col_3 .item + .item {
    margin-top: 20px;
    border-top: 1px solid #C3C3C3;
    padding-top: 24px;
  }
  .original-flow01 .flow-bottom .img_col_3 .item > img {
    margin: 0;
    flex-shrink: 0;
    width: 35%;
  }
  .original-flow01 .flow-bottom .img_col_3 .item .h4 {
    margin-top: 0;
    margin-left: 10px;
    width: calc(65% - 10px);
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) and (max-width: 391px) {
  .original-flow01 .flow-bottom .img_col_3 .item .h4 {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .original-flow01 .flow-bottom .img_col_3 .item .txt {
    width: 100%;
  }
}
.original-flow01 .flow-bottom .img_col_3 .h4 {
  display: flex;
}
.original-flow01 .flow-bottom .img_col_3 .h4 > .number {
  flex-shrink: 0;
}
.original-flow01 .flow-bottom .img_col_3 .txt {
  line-height: 2;
}

/* .original-interlude01
============================================================================= */
.original-interlude01 {
  margin: 0 auto;
  width: 1px;
  height: 140px;
  background-color: #C7C7C7;
  position: relative;
}
.original-interlude01 > span {
  width: 100%;
  height: 40px;
  background-image: linear-gradient(to bottom, #0E0D6A 40%, #EA5404 40%);
  position: absolute;
  top: 0;
  left: 0;
  transition-property: top;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
.__ios-active .original-interlude01 > span {
  top: calc(100% - 40px);
}
.original-interlude01 + .section-inner {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .original-interlude01 + .section-inner {
    padding-top: 52px;
  }
}

/* .original-logo01
ステートメントh1下のロゴ
============================================================================= */
.original-logo01 img {
  margin: 0 auto;
}

/* .original-statement-contents
ステートメントコンテンツ
============================================================================= */
.original-statement-contents {
  padding-bottom: 200px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .original-statement-contents {
    padding-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents {
    padding-bottom: 100px;
  }
}
.original-statement-contents .content-text {
  font-size: 24px;
  line-height: 2.6;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .original-statement-contents .content-text {
    font-size: 12px;
    letter-spacing: 0.04em;
  }
}
.original-statement-contents .content-text + .content-text {
  margin-top: 2.6em;
}
.original-statement-contents .content-catch {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .original-statement-contents .content-catch {
    margin-top: 40px;
  }
}
.original-statement-contents .content-catch > img {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .original-statement-contents .content-catch > img {
    max-width: calc(100% - 40px);
  }
}
.original-statement-contents .content-decoration {
  position: absolute;
  z-index: -1;
}
@media (min-width: 768px) {
  .original-statement-contents .content-decoration {
    margin: 0 auto;
    left: 0;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents .content-decoration {
    width: 280px;
  }
}
@media (min-width: 768px) {
  .original-statement-contents .content-decoration._r {
    margin-right: 50%;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents .content-decoration._r {
    right: 0;
  }
}
@media (min-width: 768px) {
  .original-statement-contents .content-decoration._l {
    margin-left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents .content-decoration._l {
    left: 0;
  }
}
.original-statement-contents.-kddi .content-decoration._01 {
  top: 60px;
}
@media (min-width: 768px) {
  .original-statement-contents.-kddi .content-decoration._01 {
    left: -720px;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-kddi .content-decoration._01 {
    top: 100px;
  }
}
.original-statement-contents.-kddi .content-decoration._02 {
  top: 570px;
}
@media (min-width: 768px) {
  .original-statement-contents.-kddi .content-decoration._02 {
    right: -692px;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-kddi .content-decoration._02 {
    top: 360px;
  }
}
.original-statement-contents.-kddi .content-decoration._03 {
  top: 1040px;
}
@media (min-width: 768px) {
  .original-statement-contents.-kddi .content-decoration._03 {
    left: -720px;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-kddi .content-decoration._03 {
    top: 620px;
  }
}
.original-statement-contents.-kddi .content-decoration._04 {
  top: 280px;
}
@media (min-width: 768px) {
  .original-statement-contents.-kddi .content-decoration._04 {
    right: -748px;
  }
}
.original-statement-contents.-kddi .content-decoration._05 {
  top: 630px;
}
@media (min-width: 768px) {
  .original-statement-contents.-kddi .content-decoration._05 {
    left: -710px;
  }
}
.original-statement-contents.-kddi .content-decoration._06 {
  top: 1420px;
}
@media (min-width: 768px) {
  .original-statement-contents.-kddi .content-decoration._06 {
    right: -720px;
  }
}
.original-statement-contents.-kddi .content-decoration._07 {
  top: 1730px;
}
@media (min-width: 768px) {
  .original-statement-contents.-kddi .content-decoration._07 {
    left: -710px;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-kddi .content-catch > img {
    width: 300px;
  }
}
.original-statement-contents.-au .content-decoration._01 {
  top: 60px;
}
@media (min-width: 768px) {
  .original-statement-contents.-au .content-decoration._01 {
    left: -720px;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-au .content-decoration._01 {
    top: 100px;
  }
}
.original-statement-contents.-au .content-decoration._02 {
  top: 570px;
}
@media (min-width: 768px) {
  .original-statement-contents.-au .content-decoration._02 {
    right: -692px;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-au .content-decoration._02 {
    top: 360px;
  }
}
.original-statement-contents.-au .content-decoration._03 {
  top: 1040px;
}
@media (min-width: 768px) {
  .original-statement-contents.-au .content-decoration._03 {
    left: -720px;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-au .content-decoration._03 {
    top: 620px;
  }
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-au .content-catch > img {
    width: 320px;
  }
}
.original-statement-contents.-povo {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-povo .content-catch > img {
    width: 360px;
  }
}
.original-statement-contents.-uq {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-uq .content-catch > img {
    width: 380px;
  }
}
.original-statement-contents.-vision {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .original-statement-contents.-vision .content-catch > img {
    width: 350px;
  }
}

/* .original-confidential
社外秘コメント
============================================================================= */
.original-confidential {
  display: flex;
  align-items: center;
  height: 50px;
  background-color: #8D8D8D;
}
.original-confidential .confidential {
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.08em;
}

/* .original-column-3
3カラムレイアウト
============================================================================= */
*:not(.original-column-3) + .original-column-3 {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  *:not(.original-column-3) + .original-column-3 {
    margin-top: 32px;
  }
}
.original-column-3 + .original-column-3 {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .original-column-3 + .original-column-3 {
    margin-top: 32px;
  }
}
@media (min-width: 768px) {
  .original-column-3 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px -40px;
  }
}
.original-column-3 .column {
  padding: 28px 20px 60px;
  border-radius: 10px;
  box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1);
  background-color: #fff;
}
@media (min-width: 768px) {
  .original-column-3 .column {
    margin: 0 20px 40px;
    width: calc(33.3333333333% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .original-column-3 .column {
    padding: 20px 20px 36px;
  }
  .original-column-3 .column + .column {
    margin-top: 40px;
  }
}
.original-column-3 .original-h3 .number {
  margin-right: 20px;
}
.original-column-3 .original-h3 .text {
  letter-spacing: 0.08em;
}
.original-column-3 + .txt {
  margin-top: 60px;
}

/* .original-bland-link-list
============================================================================= */
.original-bland-link-list {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .original-bland-link-list {
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
    max-width: 460px;
  }
}
@media screen and (max-width: 767px) {
  .original-bland-link-list {
    margin-top: 32px;
  }
}
.original-bland-link-list > li {
  border-bottom: 1px solid #D5D5D5;
}
@media (min-width: 768px) {
  .original-bland-link-list > li {
    width: calc(50% - 15px);
  }
  .original-bland-link-list > li:not(:nth-child(2n+1)) {
    margin-left: 30px;
  }
  .original-bland-link-list > li:not(:nth-child(-n+2)) {
    margin-top: 12px;
  }
}
.original-bland-link-list .txt_link {
  padding: 12px 0 12px 24px;
  position: relative;
  display: block;
}
.original-bland-link-list .txt_link:before {
  top: auto;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .original-bland-link-list .txt_link:before {
    margin-top: 8px;
  }
}
@media (min-width: 768px) {
  .original-bland-link-list .txt_link._logo {
    padding-top: 68px;
  }
}
.original-bland-link-list .txt_link._logo img {
  width: auto;
  height: 44px;
  position: absolute;
  top: 0;
}
@media (min-width: 768px) {
  .original-bland-link-list .txt_link._logo img {
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .original-bland-link-list .txt_link._logo img {
    margin: auto 0;
    height: 28px;
    right: 0;
    bottom: 0;
  }
}

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

中期経営戦略（2022-24年度）全体フレームについてページのスタイルは以下に記述する

親クラス名は先頭に「.brandpillar-×××」をつける

============================================================================= */
.brandpillar-header {
  padding-top: 60px;
  padding-bottom: 60px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .brandpillar-header {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.brandpillar-header:before {
  content: "";
  display: block;
  width: 100%;
  height: 520px;
  background-image: url(/content/dam/bbw/images/brandpillar/brandpillar-mainvisual-background.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  .brandpillar-header:before {
    height: 256px;
  }
}
.brandpillar-header .h1 {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .brandpillar-header .h1 {
    text-align: center;
    margin-bottom: 24px;
  }
}
.brandpillar-header .header-mainvisual img {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .brandpillar-header .header-mainvisual img {
    width: 100%;
  }
}
.brandpillar-header .mainvisual-description {
  margin-top: 24px;
  font-size: 18px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .brandpillar-header .mainvisual-description {
    font-size: 14px;
  }
}

.brandpillar-keyvision {
  padding-top: 100px;
}
@media (min-width: 768px) {
  .brandpillar-keyvision {
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .brandpillar-keyvision {
    padding-top: 60px;
  }
}
.brandpillar-keyvision .keyvision-img {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .brandpillar-keyvision .keyvision-img {
    margin-top: 40px;
  }
}
.brandpillar-keyvision .keyvision-link {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .brandpillar-keyvision .keyvision-link {
    margin-top: 40px;
  }
}

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

KDDI VISION 2030 についてページのスタイルは以下に記述する

親クラス名は先頭に「.kddi_vision_2030-×××」をつける

============================================================================= */
@media (min-width: 768px) {
  .kddi_vision_2030-contents .box_col_2_A .col_txt_inner .h3 {
    color: inherit;
    font-size: 24px;
  }
}
.kddi_vision_2030-contents .contents-links {
  margin-top: 80px;
}
@media (min-width: 768px) {
  .kddi_vision_2030-contents .contents-links {
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .kddi_vision_2030-contents .contents-links {
    margin-top: 40px;
  }
}
.kddi_vision_2030-contents .contents-links .btn_sub {
  width: 380px;
  height: 80px;
  line-height: 2;
}
@media (min-width: 768px) {
  .kddi_vision_2030-contents .contents-links .btn_sub {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .kddi_vision_2030-contents .contents-links .btn_sub + .btn_sub {
    margin-left: 40px;
  }
}

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

記事ページのスタイルは以下に記述する

親クラス名は先頭に「.article-×××」をつける

============================================================================= */
.article-archive-pickup {
  padding-bottom: 80px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .article-archive-pickup {
    padding-bottom: 56px;
  }
}
.article-archive-pickup:after {
  content: "";
  display: block;
  width: calc(50% + 445px);
  background-color: #F2F2F2;
  height: 446px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .article-archive-pickup:after {
    width: calc(50% + 160px + 20px);
    right: -20px;
  }
}
@media (min-width: 768px) {
  .article-archive-pickup .pickup_inner {
    display: flex;
    flex-direction: row-reverse;
  }
  .article-archive-pickup .pickup_inner > * {
    flex-shrink: 0;
  }
}
@media (min-width: 768px) {
  .article-archive-pickup .pickup-img {
    width: calc(50% + 145px);
  }
}
.article-archive-pickup .pickup-img img {
  width: 100%;
  height: auto;
}
.article-archive-pickup .pickup-text {
  margin-top: 20px;
  border-radius: 10px;
  padding-top: 36px;
  padding-bottom: 48px;
  background-color: #fff;
  box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .article-archive-pickup .pickup-text {
    margin-right: -65px;
    padding-left: 32px;
    padding-right: 32px;
    width: calc(50% - 80px);
    min-height: 400px;
  }
}
@media screen and (max-width: 767px) {
  .article-archive-pickup .pickup-text {
    padding-top: 16px;
    padding-bottom: 32px;
    margin-top: -32px;
    position: relative;
  }
}
.article-archive-pickup .original-h3 {
  font-weight: 500;
}
@media (min-width: 768px) {
  .article-archive-pickup .original-h3 {
    margin-bottom: 36px;
  }
}
@media screen and (max-width: 767px) {
  .article-archive-pickup .original-h3 > .text {
    font-size: 30px;
    line-height: 1;
  }
}
.article-archive-pickup .text-heading {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .article-archive-pickup .text-heading {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) and (max-width: 391px) {
  .article-archive-pickup .text-heading {
    font-size: 20px;
  }
}
.article-archive-pickup .text-heading + .h3 {
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .article-archive-pickup .text-heading + .h3 {
    margin-top: 28px;
  }
}
.article-archive-pickup .text-materiality {
  margin-top: 32px;
  padding: 12px 20px 12px 32px;
  background-color: #F2F2F2;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .article-archive-pickup .text-materiality {
    margin-top: 16px;
    padding: 8px 12px;
  }
}
.article-archive-pickup .materiality-type {
  font-size: 12px;
}
.article-archive-pickup .materiality-heading {
  margin-top: 4px;
}
@media (min-width: 768px) {
  .article-archive-pickup .materiality-heading {
    padding-left: 1em;
  }
}
.article-archive-pickup .btn_main {
  margin-top: 0;
}
.article-archive-pickup .pickup-link {
  margin-top: -10px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .article-archive-pickup .pickup-link {
    margin-top: 20px;
    text-align: center;
  }
}
.article-archive-pickup .pickup-link .btn_main {
  width: 264px;
  justify-content: center;
}

.article-archive-feature-heading {
  padding-top: 0;
}
@media (min-width: 768px) {
  .article-archive-feature-heading {
    width: 260px;
  }
}
.article-archive-feature-heading .text {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .article-archive-feature-heading .text {
    font-size: 30px;
    line-height: 1;
  }
}

.article-archive-features {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .article-archive-features {
    margin-top: 32px;
  }
}
@media (min-width: 768px) {
  .article-archive-features {
    display: flex;
    flex-wrap: wrap;
    margin-left: -7px;
    margin-right: -7px;
    margin-bottom: -14px;
  }
}
.article-archive-features .feature {
  display: block;
  position: relative;
}
@media (min-width: 768px) {
  html:not(.__touchdevice) .article-archive-features .feature {
    transition-property: opacity;
    transition-duration: 500ms;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  }
  html:not(.__touchdevice) .article-archive-features .feature:hover {
    opacity: 0.7;
  }
  html:not(.__touchdevice) .article-archive-features .feature:hover .feature-heading:after {
    transform: translateX(5px);
  }
}
@media (min-width: 768px) {
  .article-archive-features .feature {
    margin: 0 7px 14px;
    width: calc(33.3333333333% - 14px);
  }
}
@media screen and (max-width: 767px) {
  .article-archive-features .feature + .feature {
    margin-top: 20px;
  }
}
.article-archive-features .feature-heading {
  padding: 20px 15px;
  width: 100%;
  font-size: 16px;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.27);
  position: absolute;
  bottom: 0;
}
.article-archive-features .feature-heading:before {
  content: "#";
}
.article-archive-features .feature-heading:after {
  content: "";
  display: block;
  margin: auto 0;
  width: 0;
  height: 0;
  border-left: 6px solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  transition-property: transform;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.article-archive-list-heading {
  font-size: 28px;
  line-height: 1.35;
  text-align: center;
}

.article-archive-list-tabwrap {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .article-archive-list-tabwrap {
    margin-top: 40px;
  }
}
.article-archive-list-tabwrap .article-archive-list-tabbuttons {
  display: flex;
  margin: 0 -12px;
}
@media (min-width: 768px) {
  .article-archive-list-tabwrap .article-archive-list-tabbuttons {
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .article-archive-list-tabwrap .article-archive-list-tabbuttons {
    flex-wrap: wrap;
    margin: 0 -4px -8px;
  }
}
.article-archive-list-tabwrap .article-archive-list-tabbuttons > .__tab-button {
  display: flex;
  justify-content: center;
  height: 84px;
  border-radius: 5px;
  align-items: center;
  margin: 0 12px;
  background-color: #fff;
  text-align: center;
  line-height: 1.6;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  transition-property: opacity, background-color, color;
  transition-duration: 500ms;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  will-change: background-color, color;
}
@media (min-width: 768px) {
  .article-archive-list-tabwrap .article-archive-list-tabbuttons > .__tab-button {
    flex: 1;
    max-width: 174px;
  }
}
@media screen and (max-width: 767px) {
  .article-archive-list-tabwrap .article-archive-list-tabbuttons > .__tab-button {
    margin: 0 4px 8px;
    width: calc(50% - 8px);
    height: 60px;
  }
}
.article-archive-list-tabwrap .article-archive-list-tabbuttons > .__tab-button[aria-expanded=true] {
  background-color: #0E0D6A;
  color: #fff;
}
.article-archive-list-tabwrap .article-archive-list-tab-contents {
  padding-top: 60px;
  padding-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .article-archive-list-tabwrap .article-archive-list-tab-contents {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.article-archive-list-tabwrap .article-archive-list-tab-contents .tab-content {
  will-change: opacity;
}
.article-archive-list-tabwrap .article-archive-list-category-heading {
  font-size: 24px;
  line-height: 1.4;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 768px) {
  .article-archive-list-tabwrap .article-archive-list-category-heading {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .article-archive-list-tabwrap .article-archive-list-category-heading:before, .article-archive-list-tabwrap .article-archive-list-category-heading:after {
    content: "";
    display: block;
    flex: 1;
    border-bottom: 1px solid #707070;
  }
  .article-archive-list-tabwrap .article-archive-list-category-heading:before {
    margin-right: 80px;
  }
  .article-archive-list-tabwrap .article-archive-list-category-heading:after {
    margin-left: 80px;
  }
}
@media screen and (max-width: 767px) {
  .article-archive-list-tabwrap .article-archive-list-category-heading {
    font-size: 18px;
  }
}
@media screen and (max-width: 391px) {
  .article-archive-list-tabwrap .article-archive-list-category-heading {
    font-size: 16px;
  }
}
.article-archive-list-tabwrap .article-archive-list-category-heading small {
  font-size: 0.8em;
}
@media (min-width: 768px) {
  .article-archive-list-tabwrap .article-archive-list-category-heading small {
    margin-right: 24px;
  }
}
@media screen and (max-width: 767px) {
  .article-archive-list-tabwrap .article-archive-list-category-heading small {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 8px;
  }
  .article-archive-list-tabwrap .article-archive-list-category-heading small:before, .article-archive-list-tabwrap .article-archive-list-category-heading small:after {
    content: "";
    display: block;
    flex: 1;
    border-bottom: 1px solid #707070;
  }
  .article-archive-list-tabwrap .article-archive-list-category-heading small:before {
    margin-right: 30px;
  }
  .article-archive-list-tabwrap .article-archive-list-category-heading small:after {
    margin-left: 30px;
  }
}
.article-archive-list-tabwrap .article-archive-list_wrap {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .article-archive-list-tabwrap .article-archive-list_wrap {
    margin: 0 -20px -40px;
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .article-archive-list-tabwrap .article-archive-list_wrap {
    padding-top: 40px;
  }
}
@media (min-width: 768px) {
  .article-archive-list-tabwrap .article_list {
    margin: 0 20px 40px;
    width: calc(33.3333333333% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .article-archive-list-tabwrap .article_list + .article_list {
    margin-top: 30px;
  }
}
.article-archive-list-tabwrap .article-archive-list-morebutton {
  margin-top: 120px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .article-archive-list-tabwrap .article-archive-list-morebutton {
    margin-top: 72px;
  }
}
.article-archive-list-tabwrap .article-archive-list-morebutton .btn_main {
  padding: 0;
  justify-content: center;
}
.article-archive-list-tabwrap .article-archive-list-morebutton .btn_main:after {
  content: none !important;
}
.article-archive-list-tabwrap .coming-text {
  margin-top: 40px;
  font-size: 18px;
  text-align: center;
}

.article-feature-header {
  position: relative;
}
@media (min-width: 768px) {
  .article-feature-header {
    display: flex;
  }
  .article-feature-header > * {
    flex-shrink: 0;
  }
}
@media (min-width: 768px) {
  .article-feature-header .header-img {
    flex-shrink: 0;
    width: calc(50% + 145px);
  }
}
.article-feature-header .header-img img {
  width: 100%;
  height: auto;
}
.article-feature-header .header-text {
  margin-top: 65px;
  border-radius: 10px;
  padding-top: 36px;
  padding-bottom: 48px;
  background-color: #fff;
  box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .article-feature-header .header-text {
    flex: 1;
    margin-left: -65px;
    padding-left: 32px;
    padding-right: 32px;
    min-height: 400px;
  }
}
@media screen and (max-width: 767px) {
  .article-feature-header .header-text {
    padding-top: 16px;
    padding-bottom: 32px;
    margin-top: -32px;
    position: relative;
  }
}
.article-feature-header .original-h3 {
  font-weight: 500;
}
@media (min-width: 768px) {
  .article-feature-header .original-h3 {
    margin-bottom: 28px;
  }
}
@media screen and (max-width: 767px) {
  .article-feature-header .original-h3 > .text {
    font-size: 30px;
    line-height: 1;
    font-weight: 500;
  }
}
.article-feature-header .text-description {
  font-size: 14px;
  line-height: 2.1;
}
.article-feature-header .text-description + .h3 {
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .article-feature-header .text-description + .h3 {
    margin-top: 28px;
  }
}

@media (min-width: 768px) {
  .article-feature-articles {
    margin: 0 -20px -40px;
    display: flex;
    flex-wrap: wrap;
  }
}
/*.article_list:nth-child(n+7) {
  display: none;
}*/
@media (min-width: 768px) {
  .article_list {
    margin: 0 20px 40px;
    width: calc(33.3333333333% - 40px);
  }
}
@media screen and (max-width: 767px) {
  .article_list + .article_list {
    margin-top: 30px;
  }
}

.article-feature-list-morebutton {
  margin-top: 120px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .article-feature-list-morebutton {
    margin-top: 72px;
  }
}
.article-feature-list-morebutton .btn_main {
  padding: 0;
  justify-content: center;
}
.article-feature-list-morebutton .btn_main:after {
  content: none !important;
}

.article-single-mainvisual img {
  width: 100%;
  height: auto;
}

.article-single-intro {
  padding-top: 32px;
}
.article-single-intro .intro-category {
  padding: 8px 36px;
  background-color: #F2F2F2;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
}
@media (min-width: 768px) {
  .article-single-intro .intro-category {
    display: inline-flex;
  }
}
@media screen and (max-width: 767px) {
  .article-single-intro .intro-category {
    padding: 10px 15px;
    font-size: 12px;
  }
}
.article-single-intro .intro-category .category {
  color: #0E0D6A;
}
@media (min-width: 768px) {
  .article-single-intro .intro-category .category + .category-provided_value {
    margin-left: 70px;
  }
}
@media screen and (max-width: 767px) {
  .article-single-intro .intro-category .category-provided_value {
    margin-top: 4px;
  }
}
@media screen and (max-width: 767px) {
  .article-single-intro .original-h3 {
    text-align: left;
  }
}
.article-single-intro .original-h3 .text {
  margin-top: 24px;
  padding-bottom: 20px;
  font-size: 42px;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .article-single-intro .original-h3 .text {
    font-size: 26px;
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  .article-single-intro .original-h3 ._line {
    width: 100%;
  }
}
.article-single-intro .intro-person .person-place {
  margin-top: 32px;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .article-single-intro .intro-person .person-place {
    margin-top: 24px;
    font-size: 14px;
  }
}
.article-single-intro .intro-person .person-position_name_wrap {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #C7C7C7;
  margin-top: 20px;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .article-single-intro .intro-person .person-position_name_wrap {
    padding-bottom: 10px;
  }
}
.article-single-intro .intro-person .person-position_name_wrap .position_name {
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .article-single-intro .intro-person .person-position_name_wrap .position_name {
    margin-bottom: 20px;
    width: 50%;
  }
}
@media (min-width: 768px) {
  .article-single-intro .intro-person .person-position_name_wrap .position_name + .position_name {
    margin-left: 96px;
  }
}
.article-single-intro .intro-person .person-position_name_wrap .position {
  font-size: 12px;
  color: #707070;
}
@media screen and (max-width: 767px) {
  .article-single-intro .intro-person .person-position_name_wrap .position {
    font-size: 10px;
  }
}
.article-single-intro .intro-person .person-position_name_wrap .name {
  margin-top: 10px;
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .article-single-intro .intro-person .person-position_name_wrap .name {
    font-size: 16px;
  }
}
.article-single-intro .intro-catch {
  margin-top: 72px;
  padding-top: 40px;
  padding-bottom: 40px;
  border: 1px solid #0E0D6A;
  font-size: 24px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.08em;
}
@media (min-width: 768px) {
  .article-single-intro .intro-catch {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .article-single-intro .intro-catch {
    padding: 12px 20px;
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  .article-single-intro .intro-catch > .listCaution > li {
    display: block;
  }
}

.article-single-block01 {
  position: relative;
}
@media (min-width: 768px) {
  .article-single-block01 {
    display: flex;
    align-items: center;
  }
  .article-single-block01:not(._reverse) .block-heading_wrap {
    right: 0;
  }
  .article-single-block01._reverse {
    flex-direction: row-reverse;
  }
  .article-single-block01._reverse .block-heading_wrap {
    left: 0;
  }
}
@media (min-width: 768px) {
  .article-single-block01 > img {
    flex-shrink: 0;
    width: 850px;
  }
}
@media screen and (max-width: 767px) {
  .article-single-block01 > img {
    margin-left: -20px;
    width: calc(100% + 40px);
    max-width: calc(100% + 40px);
  }
}
.article-single-block01 .block-heading_wrap {
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1);
  position: relative;
}
@media (min-width: 768px) {
  .article-single-block01 .block-heading_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    padding: 40px;
    position: absolute;
  }
}
@media screen and (max-width: 767px) {
  .article-single-block01 .block-heading_wrap {
    margin-top: -40px;
    padding: 28px 40px;
  }
}
.article-single-block01 .block-heading_wrap .heading {
  font-size: 24px;
  font-weight: 700;
  color: #0E0D6A;
}
@media screen and (max-width: 767px) {
  .article-single-block01 .block-heading_wrap .heading {
    font-size: 20px;
  }
}

.article-single-block01-text {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .article-single-block01-text {
    margin-left: auto;
    margin-right: auto;
    width: 850px;
    font-size: 16px;
    text-align: center;
  }
}
.article-single-tablink {
  text-align: center;
}
.article-single-tablink .btn_main_tab {
  justify-content: center;
  margin-top: 40px;
  width: 240px;
}

.article-single-materiality {
  margin-top: 140px;
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .article-single-materiality {
    padding-top: 1px;
  }
}
@media screen and (max-width: 767px) {
  .article-single-materiality {
    margin-top: 80px;
    padding-bottom: 52px;
  }
}
.article-single-materiality .materiality-header {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  text-align: center;
  box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1);
}
@media (min-width: 768px) {
  .article-single-materiality .materiality-header {
    border-radius: 10px;
    margin-top: -90px;
    width: 760px;
    height: 170px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-header {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.article-single-materiality .materiality-header .original-h3 {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-header .original-h3 {
    padding-top: 0;
    line-height: 1.6;
  }
}
.article-single-materiality .materiality-header .original-h3 .text {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-header .original-h3 .text {
    font-size: 17px;
    line-height: 1.4;
  }
}
@media screen and (max-width: 391px) {
  .article-single-materiality .materiality-header .original-h3 .text {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-header .original-h3 ._line {
    width: auto;
  }
}
.article-single-materiality .materiality-categories {
  margin: 50px -28px -15px;
  display: flex;
  flex-wrap: wrap;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-categories {
    margin: 40px 0 -16px;
  }
}
.article-single-materiality .materiality-categories .category {
  display: flex;
  margin: 0 28px 15px;
  padding-left: 24px;
  width: calc(33.3333333333% - 56px);
  line-height: 1.6;
  position: relative;
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-categories .category {
    margin: 0 0 16px;
    width: 50%;
    font-size: 12px;
  }
}
@media screen and (max-width: 391px) {
  .article-single-materiality .materiality-categories .category {
    font-size: 10px;
  }
}
.article-single-materiality .materiality-categories .category:not(._current) {
  opacity: 0.5;
}
.article-single-materiality .materiality-categories .category._current:before {
  content: "";
  display: block;
  border-right: 3px solid #EA5404;
  border-bottom: 3px solid #EA5404;
  width: 10px;
  height: 16px;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-categories .category._current:before {
    top: -2px;
  }
}
.article-single-materiality .materiality-categories .category .number {
  flex-shrink: 0;
  color: #0E0D6A;
}
.article-single-materiality .materiality-categories .category .number + span {
  margin-left: 10px;
}
.article-single-materiality .materiality-content {
  margin-top: 44px;
}
@media (min-width: 768px) {
  .article-single-materiality .materiality-content {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-content {
    margin-top: 24px;
  }
}
@media (min-width: 768px) {
  .article-single-materiality .materiality-content img {
    flex-shrink: 0;
  }
}
.article-single-materiality .materiality-content .content_inner {
  border-radius: 10px;
  padding: 28px 50px 40px;
  background-color: #fff;
  box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1);
}
@media (min-width: 768px) {
  .article-single-materiality .materiality-content .content_inner {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-content .content_inner {
    padding: 16px 20px 20px;
  }
  .article-single-materiality .materiality-content .content_inner .original-h3 {
    padding-top: 10px;
    text-align: left;
  }
  .article-single-materiality .materiality-content .content_inner .original-h3 ._line {
    width: auto;
    left: 0;
  }
}
.article-single-materiality .materiality-content .content-type {
  font-size: 12px;
  font-weight: 700;
  color: #0E0D6A;
}
.article-single-materiality .materiality-content .content-description {
  font-size: 18px;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .article-single-materiality .materiality-content .content-description {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 391px) {
  .article-single-materiality .materiality-content .content-description {
    font-size: 16px;
  }
}
.article-single-materiality .materiality-content .content-list {
  font-size: 18px;
  line-height: 1.8;
}
@media (min-width: 768px) {
  .article-single-materiality .materiality-content .content-list {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-content .content-list {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) and (max-width: 391px) {
  .article-single-materiality .materiality-content .content-list {
    font-size: 16px;
  }
}
.article-single-materiality .materiality-content .content-list > li {
  padding-left: 20px;
  position: relative;
}
.article-single-materiality .materiality-content .content-list > li + li {
  margin-top: 16px;
  border-top: 1px dashed #C7C7C7;
  padding-top: 14px;
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-content .content-list > li + li {
    margin-top: 16px;
    padding-top: 16px;
  }
}
.article-single-materiality .materiality-content .content-list > li:before {
  content: "";
  display: block;
  margin-top: calc(1em - 5px);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  background-color: #0E0D6A;
  position: absolute;
  left: 0;
}
.article-single-materiality .materiality-content .content-provided_value_wrap {
  margin-top: auto;
  padding: 24px 20px 12px;
  background-color: #F2F2F2;
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-content .content-provided_value_wrap {
    margin-top: 24px;
    padding: 20px 12px 12px;
  }
}
.article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-types {
  display: flex;
}
.article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-types .type {
  padding-left: 20px;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-types .type {
    font-size: 14px;
  }
}
.article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-types .type + .type {
  margin-left: 16px;
}
.article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-types .type:before {
  content: "";
  display: block;
  border: 1px solid #d3d3d3;
  width: 13px;
  height: 13px;
  position: absolute;
  top: 2px;
  left: 0;
}
.article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-types .type:not(._current) {
  opacity: 0.5;
}
.article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-types .type._current:after {
  content: "";
  display: block;
  border-right: 3px solid #EA5404;
  border-bottom: 3px solid #EA5404;
  width: 10px;
  height: 16px;
  transform: rotate(45deg);
  position: absolute;
  top: -3px;
  left: 2px;
}
.article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-text {
  margin-top: 12px;
}
.article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-text .text-heading {
  font-size: 16px;
  font-weight: 700;
  color: #0E0D6A;
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-text .text-heading {
    font-size: 14px;
  }
}
.article-single-materiality .materiality-content .content-provided_value_wrap .provided_value-text .text-description {
  margin-top: 8px;
}
.article-single-materiality .materiality-link {
  margin-top: 72px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .article-single-materiality .materiality-link {
    margin-top: 36px;
  }
}
.article-single-materiality .materiality-link .btn_main {
  max-width: 100%;
  width: 312px;
  padding: 0;
  justify-content: center;
}

.article-single-backlink {
  padding: 60px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .article-single-backlink {
    padding: 40px 0 60px;
  }
}
.article-single-backlink .btn_main {
  max-width: 100%;
  width: 312px;
  padding: 0;
  justify-content: center;
}