@charset "UTF-8";
/*
====>> サイトのレイアウトに関わるデフォルトスタイリング <<====

・このファイルはベースのスタイルになるので、原則オーバーライド(上書き)はしない事
・共通パーツの大まかレイアウトやサイトの幅に関するスタイルを格納

*/
/*		コンテンツタイプと幅
-----------------------------------------------------*/
.l-wrapper {
  width: 100%;
  max-width: 100%;
  max-width: 100vw;
  max-width: 100dvw;
  clip-path: inset(0px);
  overflow-x: clip;
}

.l-container {
  width: var(--w-liquid);
  max-width: var(--w-solid-base);
  margin: auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.l-container .l-inner {
  width: var(--w-liquid);
  max-width: var(--w-solid-short);
  margin: auto;
  padding: 0 20px;
}

@media (max-width: 600px) {
  .l-container .l-inner {
    width: 100%;
    margin: 0;
    padding: 0;
  }
}
.l-container.l-2column {
  max-width: var(--w-solid-wide);
  margin: auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 50px 20px;
}
.l-container.l-2column .l-main {
  width: 100%;
  max-width: var(--w-2column-main);
}
.l-container.l-2column .l-aside {
  width: 100%;
  max-width: var(--w-2column-aside);
}
.l-container.l-3column {
  margin: auto;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.l-container.l-3column .l-main {
  width: 100%;
  max-width: var(--w-3column-main);
}
.l-container.l-3column .l-aside-right {
  width: 100%;
  max-width: var(--w-3column-right);
  margin: auto;
}
.l-container.l-3column .l-aside-left {
  width: 100%;
  max-width: var(--w-3column-left);
}

@media (max-width: 600px) {
  /*SP以下 表示*/
  .l-container.l-2column .l-aside {
    max-width: var(--w-liquid);
  }
  .l-container.l-3column .l-aside-right {
    max-width: var(--w-liquid);
  }
  .l-container.l-3column .l-aside-left {
    max-width: var(--w-liquid);
  }
}
/*END SP以下 表示*/
.l-container_wide {
  width: var(--w-liquid);
  max-width: var(--w-solid-wide);
  padding: 0 20px;
}