/*common_css*/
@charset "utf-8";
/* CSS Document */

/**================================================================================
基本装飾
================================================================================**/
:root {
  --mc: #363581;
  --sc: #8686b4;
  --ac: #aa2929;
}
.mc {
  color: var(--mc);
}
.bg-mc {
  color: #fff;
  background-color: var(--mc);
}

body {
  font-family: "Noto Sans JP", sans-serif;
}
main section {
  padding: 50px 0;
}
main #top section {
  padding: 100px 0;
}
main #top section:first-of-type,
main section:first-of-type {
  padding-top: 0;
}
main #top section:last-of-type,
main section:last-of-type {
  padding-bottom: 250px;
}
p a {
  text-decoration: none;
}
a {
  word-break: break-all;
}

@media (max-width: 520px) {
  main section {
    padding: 60px 0 80px;
  }
  main section:last-of-type {
    padding-bottom: 150px;
  }
}

body .m_t100 {
  margin-top: 100px;
}
body .p_t150 {
  padding-top: 150px;
}
body .p_lr5p {
  padding-left: 5%;
  padding-right: 5%;
}
@media (max-width: 520px) {
  body .sp-m_b30 {
    margin: 0 auto 30px;
  }
  body .p_t150 {
    padding-top: 50px;
  }
}

.dashed > * {
  border-bottom: 1px dashed var(--c-ddd);
}

.hr {
  margin: 100px auto;
  border-bottom: 4px double var(--c-999);
}

/* main-office */
.main-office {
  position: relative;
  padding: 5px 0;
  line-height: 2;
}
.main-office::before,
.main-office::after {
  position: absolute;
  top: -3px;
  width: 10px;
  height: 100%;
  content: "";
  border-top: solid 1px;
  border-bottom: solid 1px;
}
.main-office::before {
  border-left: solid 1px;
  border-radius: 10px 0 0 10px;
  /* left: 0; */
}
.main-office::after {
  border-right: solid 1px;
  border-radius: 0 10px 10px 0;
  /* right: 0; */
}
.main-office span {
  padding: 0 20px;
}

@media (max-width: 520px) {
  .hr {
    margin: 50px auto;
  }
}

.richtext a {
  color: var(--ac);
}
.richtext a:hover {
  text-decoration: underline;
}

/**-------------------------------------
tit
-------------------------------------**/
.titA {
  font-size: 7rem;
  font-weight: 900;
}
.titB {
  font-size: 3.5rem;
  font-weight: 700;
}
.titC {
  font-size: 3rem;
  font-weight: 700;
  padding: 10px 20px;
  border-left: 10px solid var(--mc);
  border-bottom: 1px solid var(--mc);
  background-color: #ebebf2;
}
.titD {
  margin: 80px auto 30px;
  font-size: 2.5rem;
  font-weight: 700;
  border-left: 5px solid var(--sc);
  padding-left: 20px;
}
.titE {
  margin-top: 50px;
  padding-bottom: 10px;
  font-size: 2rem;
  color: var(--mc);
  border-bottom: 4px double var(--c-999);
}

@media (max-width: 520px) {
  .titA {
    font-size: 4rem;
  }
  .titB {
    font-size: 3rem;
  }
  .titC {
    font-size: 2.5rem;
  }
  .titD {
    font-size: 2rem;
  }
}

.anton {
  font-weight: normal;
  font-family: "Anton", sans-serif;
}

/**-------------------------------------
btn
-------------------------------------**/
.btn,
.catBtn a,
.form_button a,
.form_button input[type="submit"] {
  width: 300px;
  padding-left: 10px;
  padding-right: 40px;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--mc);
  border: 1px solid var(--mc);
}
.form_button a,
.form_button input[type="submit"] {
  padding-right: 10px;
}
.btn:hover,
.catBtn a:hover,
.form_button a:hover,
.form_button input[type="submit"]:hover {
  font-weight: bold;
  box-shadow: 0 0 0 2px var(--mc);
}

.btn.R::after,
.btn.L::before,
.catBtn a::after {
  width: auto;
  margin-right: 10px;
}
.btn.R::after {
  content: "\f1df";
}
.btn.L::before {
  content: "\f1e6";
}

@media (max-width: 520px) {
  .btn,
  .catBtn a,
  .form_button a,
  .form_button input[type="submit"] {
    width: 100%;
    font-size: 1.4rem;
  }
}

/**================================================================================
header&footer
================================================================================**/
/**-------------------------------------
header
-------------------------------------**/
header {
  --h-height: 70px;
  color: #fff;
  background: linear-gradient(to top, transparent, rgba(0, 0, 0, 0.2) 50%);
  z-index: 10;
}
header.scroll {
  color: var(--mc);
  background: #fff;
}
header > .ctr-flex {
  width: 90%;
  max-width: 100vw;
  min-height: var(--h-height);
  margin: 0 auto 20px;
}

/* logo */
header h1.logo {
  z-index: 20;
}
header h1.logo img {
  height: calc(var(--h-height) - 30px);
  display: block;
}
header h1.logo img.on {
  display: none;
}
header.scroll h1.logo img {
  display: none;
}
header.scroll h1.logo img.on {
  display: block;
}
/* nav */
header nav ul li {
  margin: 0 10px;
  font-size: min(1.5vw, 2rem);
  font-weight: bold;
}
header.scroll nav a {
  color: var(--mc);
}

@media (max-width: 520px) {
  header {
    --h-height: 50px;
  }
  header.onNav {
    color: var(--mc);
  }
  header.onNav h1.logo img {
    display: none;
  }
  header.onNav h1.logo img.on {
    display: block;
  }
  header > .ctr-flex {
    display: block;
    width: 100%;
    min-height: 40px;
    padding: 0;
  }

  /* logo */
  header h1.logo {
    padding: 10px 20px;
  }
  header h1.logo img {
    height: calc(var(--h-height) - 20px);
  }
  header nav {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100vw;
    height: 100vh;
    padding: 80px 5% 30px;
    color: var(--mc);
    background-color: #fff;
    z-index: -1;
  }
  header nav ul.ctr-flex {
    display: block;
    flex-flow: column;
  }
  header nav ul li {
    font-size: 1.4rem;
    border-bottom: 1px dashed var(--c-ddd);
  }
  header nav ul li a {
    display: block;
    padding: 20px 5%;
  }
}

/**-------------------------------------
nav
-------------------------------------**/
#menu {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--h-height);
  height: var(--h-height);
  cursor: pointer;
}
header.scroll #menu,
header.onNav #menu {
  background: var(--sc);
}
/*ハンバーガー*/
#menu::before {
  content: "\e5d2";
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 30px;
  font-family: "Material Icons";
  line-height: 1;
  color: #fff;
}
header.onNav #menu::before {
  content: "\e5cd";
}
#menu::after {
  content: "Menu";
  position: absolute;
  left: 50%;
  bottom: 4px;
  transform: translateX(-50%);
  color: #fff;
  font-size: 10px;
  text-transform: uppercase;
}
header.onNav #menu::after {
  content: "Close";
}

/**-------------------------------------
footer
-------------------------------------**/
footer {
  position: relative;
  width: 100%;
  height: auto;
  --pagetop-size: 70px;
}
footer .character.ctr-flex {
  position: absolute;
  top: -180px;
  right: 50px;
  /* ctr-flex */
  flex-flow: row-reverse;
  white-space: nowrap;
}
footer figure.character img {
  width: auto;
  height: 200px;
}
footer figure.character figcaption {
  padding-top: 100px;
  padding-right: 20px;
  font-size: 1.2rem;
  text-align: right;
}
footer .f-fixed {
  display: none;
}
footer .f-fixed.scroll {
  display: block;
}
footer .pagetop.ctr-flex {
  position: absolute;
  top: -100px;
  right: 30px;
  width: var(--pagetop-size);
  height: var(--pagetop-size);
  font-size: 1.2rem;
  color: #fff;
  background-color: var(--mc);
  border-radius: 500px;
  /* ctr-flex */
  flex-flow: column;
}

/* footer */
footer .footer {
  font-size: 1.6rem;
  line-height: 2;
  color: #fff;
  padding-top: 100px;
}
footer .footer .logo img {
  width: 400px;
}
footer .footer address p:not(:first-child) {
  margin-top: 20px;
}
footer .footer .kiyobank {
  display: flex;
  margin-top: 50px;
}
footer .footer .kiyobank img {
  width: 150px;
}
footer .footer .sitemap ul {
  column-count: 2;
  column-gap: 20px;
}
footer .footer .sitemap ul li,
footer .footer .sitemap ul li dt,
footer .footer .sitemap ul li dd {
  margin-bottom: 10px;
}
footer .footer .sitemap dl dt {
  font-weight: 700;
}
footer .footer .sitemap dl dd {
  position: relative;
  padding-left: 2em;
  text-indent: -1em;
}
footer .footer .sitemap dl dd::before {
  content: "-";
  padding-right: 10px;
}
footer .footer .copy {
  padding: 50px 0;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.8);
}

@media (max-width: 520px) {
  footer {
    --pagetop-size: 50px;
  }
  footer .character.ctr-flex {
    top: -80px;
    right: auto;
    left: 10px;
    width: auto;
    height: 90px;
    flex-flow: row;
  }
  footer figure.character img {
    width: auto;
    height: 100%;
  }
  footer figure.character figcaption {
    padding: 0;
    padding-left: 20px;
    text-align: left;
  }
  footer .pagetop.ctr-flex {
    top: -60px;
    right: 10px;
  }

  /* footer */
  footer .footer {
    font-size: 1.2rem;
    padding-top: 50px;
  }
  footer .footer .box2C.p_t150 {
    flex-flow: column-reverse;
    /* p_t150 */
    padding-top: 0;
  }
  footer .footer .box2C > * {
    width: 90%;
  }
  footer .footer .logo img {
    width: 100%;
  }
  footer .footer address.p_tb20 {
    padding-bottom: 0;
  }
  footer .footer .kiyobank {
    margin-top: 50px;
  }
  footer .footer .sitemap ul {
    flex-flow: column nowrap;
    max-height: none;
    margin: 50px auto;
  }
  footer .footer .sitemap ul li {
    width: 100%;
  }
  footer .footer .copy {
    padding: 20px 0;
    font-size: 1rem;
  }
}

/**================================================================================
TOPページ
================================================================================**/
#top .box2C {
  --box-m: 0;
}
#top .box2C.R {
  flex-flow: row-reverse;
}
#top .box2C picture img {
  width: 100%;
}

@media (max-width: 520px) {
  #top .box2C.sp1c .p_tb50 {
    padding: 30px 0;
  }
  #top .box2C.sp1c .btn {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  #top .box2C.sp1c.R {
    flex-flow: column-reverse;
  }

  #top #sec4 .box2C.sp1c .btn {
    margin-bottom: 50px;
  }
}

/**-------------------------------------
sec1
-------------------------------------**/
#sec1 {
  position: relative;
  width: 100%;
  height: 100vh;
}
#sec1 h2 {
  width: 90%;
  height: auto;
}

/**-------------------------------------
sec3
-------------------------------------**/
#sec3.deco {
  position: relative;
}
#sec3.deco::before,
#sec3.deco::after {
  position: absolute;
  display: block;
  content: "";
  z-index: -1;
}
#sec3.deco::before {
  top: 0;
  left: 0;
  width: 430px;
  max-width: 100%;
  height: 270px;
  background: url("/common/images/sec3-deco-b.png") top right / cover no-repeat;
}
#sec3.deco::after {
  right: 0;
  bottom: -100px;
  width: 620px;
  max-width: 100%;
  height: 270px;
  background: url("/common/images/sec3-deco-a.png") left bottom / cover
    no-repeat;
}

#sec3 .news-list ul li {
  margin: 0;
  background: none;
  border-bottom: none;
}

@media (max-width: 520px) {
  #sec3 .box2C.sp1c > * {
    width: 90%;
    padding: 0;
  }
  #sec3.deco::before {
    top: -50px;
  }
}

/**-------------------------------------
sec4
-------------------------------------**/
#sec4 ul {
  display: flex;
  flex-flow: column;
}
#sec4 ul li {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-flow: column;
  height: 500px;
}
#sec4 ul li::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(255, 255, 255, 0) 50%,
    rgba(0, 0, 0, 0.4) 100%
  );
}
#sec4 ul li div {
  padding: 50px;
  font-size: 1.6rem;
  line-height: 2;
  color: #fff;
  z-index: 1;
}
#sec4 ul li div .text {
  padding: 20px 0;
}
#sec4 ul li div .btn {
  margin-left: 0;
  color: #fff;
  background-color: transparent;
  border-color: #fff;
}

@media (max-width: 520px) {
  #sec4 ul li {
    height: 400px;
  }
  #sec4 ul li::after {
    background: linear-gradient(
      to bottom,
      transparent,
      rgba(0, 0, 0, 0.4) 100%
    );
  }
  #sec4 ul li div {
    padding: 20px;
  }
}

/**-------------------------------------
sec5
-------------------------------------**/
#sec5 .btn {
  width: 400px;
}
#sec5 .box2C picture img {
  height: 1000px;
  object-fit: cover;
}
@media (max-width: 520px) {
  #sec5 .box2C picture img {
    height: 400px;
  }
}

/**================================================================================
下層ページ
================================================================================**/
/**-------------------------------------
page-title
-------------------------------------**/
.page-title {
  position: relative;
  width: 100%;
  height: 400px;
}
.page-title h2 {
  position: absolute;
  left: 50%;
  bottom: 35%;
  transform: translateX(-50%);
  font-size: 5rem;
  font-weight: 700;
  color: #fff;
}
nav#bread {
  margin-bottom: 100px;
  color: var(--mc);
}
nav#bread ol > li {
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 520px) {
  .page-title {
    height: 250px;
  }
  .page-title h2 {
    bottom: auto;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    width: 80%;
    padding-left: 0;
    font-size: 2.5rem;
  }
  nav#bread {
    width: 90%;
    margin-bottom: 50px;
  }
}

/**-------------------------------------
会社情報
-------------------------------------**/
#company a {
  color: var(--ac);
}
#company a:hover {
  text-decoration: underline;
}
#company .table {
  --table-w: 20%;
  background-color: transparent;
}
#company .table tr td,
#company .table dl dd {
  vertical-align: middle;
}
#company .table tr > *,
#company .table dl > * {
  padding: 30px;
}

/* 会社概要 */
#company .table.ba-line dl {
  position: relative;
}
#company .table.ba-line dl::before,
#company .table.ba-line dl::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  height: 1px;
}
#company .table.ba-line dl::before {
  left: 0;
  width: var(--table-w);
  background-color: var(--mc);
}
#company .table.ba-line dl::after {
  right: 0;
  width: calc(100% - var(--table-w));
  background-color: var(--c-ddd);
}
#company #summary ul li:not(:first-child) {
  margin-top: 20px;
}

/* アクセス */
#company #access ul li {
  padding: 30px 0;
}
#company #access ul li:not(:first-child) {
  border-top: 1px solid var(--c-999);
}
#company #access ul li dl {
  font-size: 1.8rem;
}
#company #access ul li .map {
  height: 300px;
}
#company #access ul li .map iframe {
  height: 100%;
}

/* SDGsへの取組 */
#company #sdgs li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 40px 0;
}
#company #sdgs li:last-child {
  border-bottom: none;
}
#company #sdgs li img {
  width: auto;
  height: 100px;
}
#company #sdgs li p {
  margin-left: 20px;
}
#company #sdgs li.img_only {
  justify-content: center;
}
#company #sdgs li.img_only img {
  width: 100%;
  height: auto;
}

@media (max-width: 520px) {
  #company .table tr,
  #company .table dl {
    padding: 10px 0;
  }
  #company .table tr > *,
  #company .table dl > * {
    padding: 10px;
  }
  #company .table tr th,
  #company .table dl dt {
    text-align: left;
    border-bottom: none;
  }

  #company #access ul li .map {
    height: 40vh;
    margin-top: 20px;
  }

  #company #sdgs li {
    padding: 20px 0;
  }
  #company #sdgs li.img_only {
    padding: 0;
  }
  #company #sdgs li p {
    margin-left: 20px;
  }
}

/**-------------------------------------
投資事業
-------------------------------------**/
#investment ul.box4C li {
  flex-flow: column;
  width: calc(100% / 4);
  margin: 0;
  margin-bottom: 50px;
  padding: 20px 40px;
}

#investment ul.box4C li .ctr-flex.h100p {
  height: 100%;
}
#investment ul.box4C li .ctr-flex.h100p a p:hover {
  text-decoration: underline;
}

#investment ul.box4C li a {
  width: auto;
  height: auto;
}
#investment ul.box4C li img {
  width: 100%;
  height: 80px;
}
/* 運用中のファンド */
#investment #fund ul li {
  padding: 30px;
}

@media (max-width: 520px) {
  #investment ul.box4C.sp2c li {
    width: calc(100% / 2);
    padding: 10px 20px;
  }
  #investment #fund ul li {
    padding: 20px 0;
  }
}

/**-------------------------------------
投資先一覧
-------------------------------------**/
/* .tab */
#portfolio .tab {
  overflow-x: auto;
}
#portfolio .tab ul {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 10px;
}
#portfolio .tab ul li {
  --size: 20px;
  --padding: 10px;
  display: grid;
  justify-content: center;
  align-items: center;
  padding: var(--padding);
  padding-right: calc(var(--size) + var(--padding));
  font-size: 2rem;
  clip-path: polygon(
    0 0,
    calc(100% - var(--size)) 0,
    100% 75%,
    100% 100%,
    0 100%
  );
}
#portfolio .tab ul li.current {
  background-color: color-mix(in srgb, var(--sc) 50%, #fff);
}
/* .area */
#portfolio .area .inner {
  display: none;
}
#portfolio .area .inner.current {
  display: block;
  animation-name: opacity;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
@keyframes opacity {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (max-width: 520px) {
  #portfolio .tab ul li {
    --size: 10px;
    --padding: 5px;
    font-size: 1.2rem;
  }
}

#portfolio .area ul {
  --gap: 20px;
  --grid: 5;
  display: grid;
  grid-template-columns: repeat(
    auto-fill,
    minmax(calc(100% / var(--grid) - var(--gap)), 1fr)
  );
  grid-auto-rows: min-content;
  gap: var(--gap);
  padding: 30px;
  border: 1px solid var(--sc);
}
#portfolio .area ul li {
  position: relative;
  min-height: 150px;
  border: 1px solid var(--mc);
}
#portfolio .area ul li .ctr-flex {
  height: 100%;
  padding: 10px;
}
#portfolio .area ul li img {
  width: 100%;
  max-height: 80px;
}

#portfolio .area ul li[data-portfolio]::before {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  display: block;
  width: 50px;
  height: auto;
  aspect-ratio: 1/1;
  z-index: -1;
}
#portfolio .area ul li[data-portfolio="IPO"]::before {
  background: url(/common/images/portfolio-ipo.svg) right top / contain
    no-repeat;
}
#portfolio .area ul li[data-portfolio="EXITED"]::before {
  background: url(/common/images/portfolio-exited.svg) right top / contain
    no-repeat;
}
#portfolio .area ul li[data-portfolio="M&A"]::before {
  background: url(/common/images/portfolio-ma.svg) right top / contain
    no-repeat;
}

@media (max-width: 520px) {
  #portfolio .area ul {
    --gap: 20px;
    --grid: 2;
    padding: 20px;
  }
  #portfolio .area ul.sp2c li {
    width: calc(100% / 2);
    padding: 10px 20px;
  }
}

/**-------------------------------------
サポートの流れ・投資プロセス
-------------------------------------**/
ul.support-flow > li {
  position: relative;
  height: 220px;
  margin-bottom: 50px;
}
#management ul.support-flow > li {
  width: calc((100% / 4) - 20px);
  padding: 30px 50px 20px 20px;
}
#succeed ul.support-flow > li {
  width: calc((100% / 3) - 20px);
  padding: 30px 20px;
}
ul.support-flow > li .txt p {
  padding-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
  text-align: left;
  color: var(--mc);
}
ul.support-flow > li .txt ul li {
  text-align: left;
  line-height: 2;
}
#management ul.support-flow > li .txt ul li {
  padding-left: 1em;
  text-indent: -1em;
}

/* 背景 */
ul.support-flow > li::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background-color: #fff;
  filter: drop-shadow(2px -2px 0px var(--mc));
  z-index: -1;
}

/* step */
ul.support-flow {
  counter-reset: number 0;
}
ul.support-flow > li p.num {
  position: absolute;
  left: 0;
  bottom: 100%;
  font-size: 3rem;
  font-family: "Anton", sans-serif;
  line-height: 1;
  color: var(--sc);
}
ul.support-flow > li p.num::before {
  content: "STEP";
}
ul.support-flow > li p.num::after {
  counter-increment: number 1;
  content: counter(number) " ";
  font-size: 1.5em;
}

/* arrow */
ul.flowChart > li:not(:last-child) {
  margin-right: 20px;
}
ul.flowChart > li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 2px);
  transform: translateY(-50%);
  width: 0;
  border: solid transparent;
  border-width: 15px;
  border-left-color: var(--sc);
}

@media (max-width: 520px) {
  #management ul.support-flow > li,
  #succeed ul.support-flow > li {
    width: 90%;
    height: auto;
  }
  ul.flowChart > li:not(:last-child) {
    margin-right: 0;
    margin-bottom: 100px;
  }
  ul.flowChart > li:not(:last-child)::after {
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-left-color: transparent;
    border-top-color: var(--sc);
  }
}

/**-------------------------------------
news
-------------------------------------**/
#news-deco {
  position: relative;
}
#news-deco::before,
#news-deco::after {
  position: absolute;
  display: block;
  content: "";
  z-index: -1;
}
#news-deco::before {
  top: -100px;
  right: 0;
  width: 570px;
  max-width: 100%;
  height: 280px;
  background: url("/common/images/news-deco-b.png") top left / cover no-repeat;
}
#news-deco::after {
  left: 0;
  bottom: 0;
  width: 800px;
  max-width: 100%;
  height: 360px;
  background: url("/common/images/news-deco-a.png") right bottom / cover
    no-repeat;
}
#news-wrap.box2C {
  --b2c-w: 20%;
  --b2c-gap: 50px;
}

@media (max-width: 520px) {
  #news-wrap.box2C.sp1c {
    width: 90%;
    flex-flow: column-reverse;
  }
}

/* news */
.news-list ul li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0 -150px 0 -20px;
  padding: 30px 20px;
  font-size: 1.6rem;
}
.news-list ul li .date {
  font-size: 1.4rem;
  color: var(--mc);
}
.tag {
  width: 80px;
  margin: 0 30px;
  font-size: 1.2rem;
  text-align: center;
}
.tag span {
  display: block;
  padding: 2px 0;
}
.tag span[data-tag="TOPICS"] {
  color: #fff;
  background-color: var(--mc);
}
#news-detail .news-cont .tag {
  margin: 0;
}
.news-list ul li .text a {
  text-decoration: none;
}
.news-cont a.btn,
.news-list a.btn {
  padding-right: 10px;
}
#news-wrap .news-side h3 {
  width: 100px;
  font-size: 1.6rem;
}
#news-wrap .news-side ul li {
  position: relative;
  padding-left: 2em;
  text-indent: -1em;
  text-align: left;
  font-size: 1.6rem;
}
#news-wrap .news-side ul li::before {
  content: "-";
  padding-right: 10px;
}
#news-wrap .pagenation {
  --pagenation-c01: var(--mc);
  --pagenation-c02: var(--sc);
  font-size: 1.4rem;
  font-weight: 700;
}

@media (max-width: 520px) {
  .news-list ul li {
    flex-flow: column;
    margin: auto;
    padding: 20px 0;
  }
  .news-list ul li p {
    margin-top: 10px;
  }
}

/**-------------------------------------
form
-------------------------------------**/
#form .table table {
  --table-bw: 1px;
  --table-bs: dashed;
  --table-bc: var(--c-bbb);
}
#form .table table tr > * {
  padding: 30px;
}
#form .table table th {
  position: relative;
  padding-right: 50px;
  vertical-align: top;
}
#form .table table td .input_address {
}
#form .table table td .input_address > div:not(.owlet-input-sample) {
  margin-top: 20px;
  font-size: 14px;
}
#form
  .table
  table
  td
  .input_address
  > div:not(.owlet-input-sample)
  input[type="text"] {
  font-size: 16px;
}

#form .table input[type="text"],
#form .table textarea,
#form .table select {
  margin: 0;
}
.require {
  position: absolute;
  top: 30px;
  /* transform: translateY(-50%); */
  right: 0;
  padding: 2px 10px;
  color: var(--c-fff);
  font-size: 0.75em;
  font-weight: bold;
  line-height: 1.5;
  background-color: var(--ac);
}

@media (max-width: 520px) {
  #form .table table tr {
    padding: 20px 0;
  }
  #form .table table tr > * {
    padding: 10px;
  }
  #form .table table th {
    padding-right: 50px;
    text-align: left;
    border-bottom: none;
  }
}

/**-------------------------------------
policy
-------------------------------------**/
/* linkメニュー */
#p_link ul li {
  position: relative;
  padding: 5px 0;
  padding-left: 2em;
  text-indent: -2em;
  line-height: 1.8;
  color: var(--mc);
}
#p_link ul li::before {
  content: "\e037";
  padding-right: 0.5em;
  font-size: 2rem;
  font-family: "Material Icons";
  color: var(--mc);
}

/* link */
#policy a {
  color: var(--ac);
}
#policy a:hover {
  text-decoration: underline;
}

/* policy-top */
#policy ul {
  counter-reset: number 0;
}
#policy ul li p.tit {
  position: relative;
  margin: 30px auto 10px;
  font-weight: 600;
}
#policy ul li p.tit::before {
  counter-increment: number 1;
  content: counter(number) " ";
}

/* policy-top ul li */
#policy .cont ul {
  margin: 10px auto 20px;
}
#policy .cont ul li {
  padding: 5px 0;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.8;
  border-bottom: 1px dashed var(--c-ddd);
}
#policy .cont ul li::before {
  content: "\eb36";
  padding-right: 1em;
  font-family: "Material Icons";
  font-size: 0.5em;
  color: var(--mc);
}

/* policy table */
#policy .table {
  --table-w: 30%;
}
#policy .table tr > * {
  padding: 20px;
}
#policy .table ul li {
  padding: 5px 0;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.8;
  border-bottom: 1px dashed var(--c-ddd);
}
#policy .table ul li::before {
  content: "\eb36";
  font-size: 0.5em;
  color: var(--mc);
  padding-right: 1em;
  font-family: "Material Icons";
}

.owlet-rules {
  width: 100%;
  margin: 0;
}
.owlet-rules-title {
  display: none;
}
.owlet-rules-body {
  overflow: hidden;
  height: auto;
  margin: 0;
  padding: 30px;
  text-align: center;
  border: none;
}
.owlet-rules-body a {
  color: var(--ac);
}
.owlet-rules-body a:hover {
  text-decoration: underline;
}
[data-instance="123"]{background: url("/_img/ja/cms/123/bg/_/") center 65% / cover no-repeat;}[data-instance="155"] .footer{background: url(/_img/ja/cms/155/footer_bg/_/) center center / cover no-repeat;
	background-blend-mode: multiply;
	background-color: #4a5b77;}