.p-wrapper {
  padding-bottom: 80px;
}

.p-mv__image {
  object-position: center center;
}
.p-mv__title {
  align-items: flex-start;
}
.p-mv__ja {
  margin-top: 2.5em;
  font-size: 2.6rem;
}

.p-menu {
  position: relative;
}
.p-menu__header {
  position: relative;
  background-image: linear-gradient(to bottom, transparent, var(--color-bg-light));
}
.p-menu__body {
  padding-top: 46px;
  padding-bottom: 72px;
}

.p-image-type__heading {
  padding-top: 80px;
}
.p-image-type__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  max-width: 320px;
  margin-top: 32px;
  margin-right: auto;
  margin-left: auto;
}

.p-heading-type {
  margin-top: 80px;
}
.p-heading-type__body {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  padding-top: 50px;
  padding-bottom: 50px;
}
.p-heading-type__heading > .c-heading-primary__text--en {
  font-size: min(18.4cqw, 7.5rem);
}
.p-heading-type__vertical {
  display: flex;
  justify-content: space-evenly;
  width: 100%;
}

.p-box-type {
  container-type: inline-size;
}
.p-box-type__heading {
  padding-top: 80px;
}
.p-box-type__heading > span:first-child {
  font-size: min(14.4cqw, 7.5rem);
}
.p-box-type__body {
  display: grid;
  gap: 36px;
  margin-top: 32px;
}

.p-list-type {
  container-type: inline-size;
}
.p-list-type__heading {
  padding-top: 80px;
}
.p-list-type__heading > span:first-child {
  letter-spacing: 0.06em;
}
.p-list-type__body {
  display: grid;
  gap: 24px;
  width: fit-content;
  margin-top: 2em;
  margin-right: auto;
  margin-left: auto;
  font-size: var(--font-size-md);
}

.p-image-card {
  container-type: inline-size;
}
.p-image-card__heading {
  padding-top: 80px;
}
.p-image-card__heading > span:first-child {
  font-size: min(14.4cqw, 7.5rem);
  letter-spacing: -0.02em;
}
.p-image-card__body {
  display: grid;
  gap: 36px;
  margin-top: 32px;
}

.p-step-list {
  padding-bottom: 42px;
  margin-top: 80px;
  container-type: inline-size;
}
.p-step-list__heading {
  padding-top: 64px;
}
.p-step-list__heading > span:first-child {
  font-size: min(15.4cqw, 7.5rem);
}
.p-step-list__body {
  margin-top: 24px;
}

.p-table__heading {
  padding-top: 80px;
}
.p-table__body {
  margin-top: 24px;
}

.p-pattern01 {
  position: relative;
}
.p-pattern01__heading {
  padding-top: 80px;
}
.p-pattern01__body {
  margin-top: 24px;
}
.p-pattern01__image {
  display: block;
  width: 300px;
  margin-right: auto;
  margin-bottom: 32px;
  margin-left: auto;
}
.p-pattern01__list {
  margin-top: 20px;
  font-size: var(--font-size-lg);
}
.p-pattern01__text {
  margin-top: 20px;
}
.p-pattern01__column {
  margin-top: 32px;
}
.p-pattern01__column__heading {
  margin-bottom: 0.5em;
  font-size: var(--font-size-lg);
  color: var(--color-text-accent);
  text-align: center;
}
.p-pattern01__column__more {
  margin-top: 24px;
}

.p-pattern02 {
  position: relative;
  container-type: inline-size;
}
.p-pattern02__heading {
  padding-top: 80px;
}
.p-pattern02__body {
  margin-top: 36px;
}

.p-pattern03 {
  position: relative;
}
.p-pattern03__list {
  display: grid;
  gap: 60px;
  padding-top: 100px;
}
.p-pattern03__header {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.p-pattern03__item:nth-child(even) .p-pattern03__header {
  flex-direction: row-reverse;
}

.p-pattern03__heading {
  align-items: flex-start;
}
.p-pattern03__heading__ja {
  margin-top: 1em;
  letter-spacing: 0.2em;
  text-orientation: upright;
}
.p-pattern03__heading__en {
  --max-font-size: 6.5rem;
  --max-text-length: 8;
  font-size: min(var(--max-font-size), var(--max-font-size) - (var(--length) - var(--max-text-length)) * 0.4em);
  letter-spacing: 0.02em;
}
.p-pattern03__figure {
  width: 75%;
}
.p-pattern03__image {
  display: block;
  width: 92%;
  margin: auto;
}
.p-pattern03__caption {
  margin-top: 1.5em;
  font-size: var(--font-size-md);
  text-align: center;
}
.p-pattern03__body {
  margin-top: 24px;
}


.list-heading{
  font-size: var(--font-size-md);
  font-weight: bold;
  text-indent: -1em;
  padding-left: 1em;
  color: rgb(178, 178, 0);
}
.text-indent{
  text-indent: -1em;
  padding-left: 1em;
}
.font-w-b{
  font-weight: bold;
}
.txt-color{
  color: var(--color-org-middle);
}

.l-process table.sk_table {
    width: 100%;
}
.l-process table.sk_table td {
    background: white;
    border: none;
    display: block;
    border-bottom: 1px solid #ccc;
    padding: 10px;
    box-sizing: border-box;
    width: 100% !important;
}
.l-process td.sk02 {
    width: 100%;
    padding: 10px;
    background: #ebce79 !important;
    color: #656565;
    font-weight: bold;
}
.l-process td.sk01 {
    width: 100%;
    padding: 10px;
    background: #8d5724 !important;
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
    text-align: center;
}
.l-process table.sk_table tr {
  margin-bottom: 10px;
  border: 1px solid #ccc;
}

.flex-layout{
  display: flex;
  gap: 0 30px;
  flex-wrap: wrap;
  justify-content: center;
}
.flex-layout li{
  flex-basis: calc(50% - 30px);
}
.flex-layout li img{
  width: 100%;
}