/* layout -------------------------------------------------------- */

/* @group @variables */

[class*="o-page-contents"] {
--page-contents-grid-template-columns: 1fr;
--gap: 3rem;
--font-size: .875rem;
--line-height: 1.71428571;
}


@media (width >= 48em) { /* 768px -> * */

[class*="o-page-contents"] {
--page-contents-grid-template-columns: 1fr 2fr;
--page-contents-direction: rtl;
}

}

/* @end @variables */

/* @group @o-page-contents */

[class*="o-page-contents"] {
display: grid;
grid-template-columns: var(--page-contents-grid-template-columns);
gap: 3rem;
direction: var(--page-contents-direction);
padding: 3rem var(--x-padding-right) 5.25rem var(--x-padding-left);;
background-color: hsl(220deg 5% 95%);
}

[class*="o-page-contents"]>* {
direction: ltr;
}

[class*="o-infobar"] {

}

[class*="o-contents-detail"] {
display: grid;
gap: 3.75rem;
}

/* @end @o-page-contents */

/* @group @m-section */

[class*="m-section"] {
display: grid;
gap: 1.5rem;
}

/* @end @m-section */

/* info-bar -------------------------------------------------------- */

/* @group @variables */

[class*="m-info-body"] {
--head-2-font-size: 1rem;
--head-2-line-height: 1.5;
--head-2-word-break: keep-all;
--head-2-overflow-wrap: anywhere;
--font-size: .875rem;
--line-height: 1.71428571;
}

:where([class*="m-info-body"]) p,
:where([class*="m-info-body"]) dt {
--font-weight: 500;
}

/* @end @variables */

/* @group @m-info-body */

[class*="m-info-body"] {
position: sticky;
overflow-y: auto;
top: 3rem;
display: grid;
gap: 1.125rem;
max-height: calc(100vh - 6rem);
padding: 1.5rem 1.125rem;
background-color: var(--color-white);
border-radius: .5rem;
}

@supports (min-height: 100dvh) {
[class*="m-info-body"] {
max-height: calc(100dvh - 6rem);
}

/* @end @m-info-body */

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

/* @group @m-info-price */

[class*="m-info-price"] {
display: grid;
gap: .375rem;
}

/* @end @m-info-price */

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

/* @group @variables */

/*[class*="m-price-list-segunto"] {
--font-size: .75rem;
--line-height: 1.5;
}*/

/* @end @variables */

/* @group @m-price-list */

[class*="m-price-list"] {
display: grid;
place-content: start;
grid-template-columns: 2.25rem 1fr;
gap: .375rem;
}

/* @end @m-price-list */

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

/* @group @variables */

[class*="m-info-schedule"] {
--word-break: keep-all;
--overflow-wrap: anywhere;
}

/* @end @variables */

/* @group @m-info-schedule */

[class*="m-info-schedule"] {
display: grid;
gap: .375rem;
}

:where([class*="m-info-schedule"]) dl {
display: grid;
place-content: start;
grid-auto-flow: column;
gap: .375rem;
}

/* @end @m-info-schedule */

/* 01 -------------------------------------------------------- */


/* 02 -------------------------------------------------------- */

/* @group @variables */

[class*="m-benefits-list"] {
--head-3-font-size: 1rem;
--head-3-line-height: 1.5;
--font-size: .875rem;
--line-height: 1.71428571;
}

/* @end @variables */

/* @group @m-benefits-list */

[class*="m-benefits-list"] {
display: grid;
gap: .75rem;
}

[class*="a-benefits-detail"] {
display: grid;
gap: .1875rem;
min-height: 1.5rem;
padding-left: 1.75rem;
background-image: url('../img/sprite-svg.svg#icon-check-mark-primary');
background-size: 1.25rem 1.25rem;
background-position: 0 .125rem;
background-repeat: no-repeat;
}

/* @end @m-benefits-list */

/* 03 -------------------------------------------------------- */

/* @group @m-introduction */

[class*="m-introduction"] {
display: grid;
gap: .75rem;
}

/* @end @m-introduction */

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

/* @group @m-worries-list */

[class*="m-worries-list"] {
display: grid;
gap: .75rem;
}

/* @end @m-worries-list */

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

/* @group @a-worries-detail */

[class*="a-worries-detail"] {
display: grid;
/*align-items: center;
grid-template-columns: 1.875rem 1fr;*/
gap: .75rem;
}

:where([class*="a-worries-detail"]) img {
width: 1.875rem;
}

:where([class*="a-worries-detail"]) dl {
display: grid;
place-items: center start;
justify-content: start;
grid-auto-flow: column;
gap: .375rem;
}

:where([class*="a-worries-detail"]) dt {
display: grid;
place-content: center;
width: 2.25rem;
height: 1.125rem;
padding-inline: .25rem;
background-color: hsl(220, 20%, 20%);
border-radius: .25rem;
font-size: .625rem;
font-weight: 500;
color: var(--color-white);
}

/* @end @a-worries-detail */

/* 04 -------------------------------------------------------- */


/* 05 -------------------------------------------------------- */

/* @group @variables */

[class*="m-content-list"] {
--head-3-font-size: 1rem;
--head-3-line-height: 1.5;
--font-size: .875rem;
--line-height: 1.71428571;
}

/* @end @variables */

/* @group @m-content-list */

[class*="m-content-list"] {
display: grid;
gap: .75rem;
}

[class*="a-content-detail"] {
display: grid;
gap: .375rem;
min-height: 1.5rem;
padding-left: 1.75rem;
background-image: url('../img/sprite-svg.svg#icon-check-mark-primary');
background-size: 1.25rem 1.25rem;
background-position: 0 .125rem;
background-repeat: no-repeat;
}

/* @end @m-content-list */

/* 06 -------------------------------------------------------- */


/* 07 -------------------------------------------------------- */


/* 08 -------------------------------------------------------- */

/* @group @variables */

[class*="m-equipment-list"] {
--equipment-list-grid-template-columns: repeat(2, 1fr);
--gap: .375rem;
--font-size: .75rem;
--font-weight: 500;
}


@media (width >= 48em) { /* 768px -> * */

[class*="m-equipment-list"] {
--equipment-list-grid-template-columns: repeat(4, 1fr);
}

}

/* @end @variables */

/* @group @m-equipment-list */

[class*="m-equipment-list"] {
display: grid;
grid-template-columns: var(--equipment-list-grid-template-columns);
gap: .75rem;
}

/* @end @m-equipment-list */

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

/* @group @a-equipment-detail */

[class*="a-equipment-detail"] {
display: grid;
justify-content: center;
gap: .375rem;
padding: 1.125rem .25rem .75rem;
background-color: var(--color-white);
border-radius: .5rem;
text-align: center;
}

:where([class*="a-equipment-detail"]) img {
width: 2.25rem;
height: auto;
margin: auto;
}

/* @end @a-equipment-detail */

/* 09 -------------------------------------------------------- */


/* @group @m-curriculum-list */

[class*="m-curriculum-list"] {
display: grid;
gap: .75rem;
}

/* @end @m-curriculum-list */

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

/* @group @variables */

[class*="m-curriculum-detail"] {
--font-size: .875rem;
--line-height: 1.71428571;
}

/* @end @variables */

/* @group @m-curriculum-detail */

[class*="m-curriculum-detail"] {
position: relative;
overflow: hidden;
display: grid;
grid-template-rows: var(--curriculum-detail-grid-template-rows);
background-color: var(--color-white);
border-radius: .375rem;
/*transition: grid-template-rows var(--transition-time) 0s var(--transition-cubic-bezier);*/
}

/* @end @m-curriculum-detail */

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

/* @group @a-curriculum-checked */

[class*="a-curriculum-checked"] {
position: absolute;
z-index: -100;
width: 0;
height: 0;
opacity: 0;
clip: rect(1px, 1px, 1px, 1px);
}

/* @end @a-curriculum-timetable */

/* @group @a-curriculum-break */

[class*="a-curriculum-break"] {
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
padding: .375rem .75rem;
background-color: var(--color-white);
}

/* @end @a-curriculum-break */

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

/* @group @variables */

[class*="m-curriculum-detail"] {
--curriculum-label-background-image: url('../img/sprite-svg.svg#icon-accordion-toggle-primary');
--font-size: 1rem;
--line-height: 1.5;
}

[class*="m-curriculum-detail"]:has(input:checked) {
--curriculum-label-background-color: hsl(220deg 25% 75% / 50%);
--curriculum-label-icon-transform: scaleY(-1);
}

[class*="a-curriculum-label"] {

}

[class*="a-curriculum-label"] {
--font-weight: 600;
}

/* @end @variables */

/* @group @a-curriculum-label */

[class*="a-curriculum-label"] {
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
padding: .75rem 1.125rem;
background-color: var(--curriculum-label-background-color);
color: var(--curriculum-label-color);
cursor: pointer;
transition: background-color var(--transition-time) 0s var(--transition-cubic-bezier);
}

[class*="a-curriculum-label"]:after {
content: '';
display: grid;
width: 1rem;
height: 1rem;
background-image: var(--curriculum-label-background-image);
background-size: 1rem 1rem;
background-position: center center;
background-repeat: no-repeat;
transition: background-image var(--transition-time) 0s var(--transition-cubic-bezier), transform var(--transition-time) 0s var(--transition-cubic-bezier);
}

input:checked ~ h3 [class*="a-curriculum-label"]:after {
transform: var(--curriculum-label-icon-transform);
}

/* @end @a-curriculum-label */

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

/* @group @variables */

[class*="m-curriculum-body"] {
--curriculum-body-padding: 0 1.125rem;
}

input:checked ~ [class*="m-curriculum-body"] {
--curriculum-body-padding: 1.5rem 1.125rem;
}

/* @end @variables */

/* @group @m-curriculum-body */

[class*="m-curriculum-body"] {
overflow: hidden;
display: grid;
gap: .75rem;
max-height: 0;
padding: var(--curriculum-body-padding);
transition: max-height var(--transition-time) 0s var(--transition-cubic-bezier);
}

input:checked ~ [class*="m-curriculum-body"] {
max-height: 200em;
}

/* @end @m-curriculum-body */

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

/* @group @variables */

[class*="a-curriculum-date"] {
--font-weight: 600;
}

/* @end @variables */

/* @group @a-curriculum-date */

/* @end @a-curriculum-date */

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

/* @group @variables */

[class*="a-curriculum-timetable"] {
--curriculum-timetable-gap: .375rem;
--font-size: .875rem;
--line-height: 1.71428571;
}

:where([class*="a-curriculum-timetable"]) dt {
--font-weight: 600;
}


@media (width >= 48em) { /* 768px -> * */

[class*="a-curriculum-timetable"] {
--curriculum-timetable-grid-template-columns: 7.125rem 1fr;
--curriculum-timetable-dt-grid-column: 1;
--curriculum-timetable-dd-grid-column: 2;
}

}

@media (width < 48em) { /* 0 -> 767px */

[class*="a-curriculum-timetable"] {
--curriculum-timetable-grid-template-columns: 1fr;
--curriculum-timetable-dt-grid-column: 1;
--curriculum-timetable-dd-grid-column: 2;
}

}

/* @end @variables */

/* @group @a-curriculum-timetable */

[class*="a-curriculum-timetable"] {
display: grid;
justify-content: start;
grid-template-columns: var(--curriculum-timetable-grid-template-columns);
grid-template-rows: var(--curriculum-timetable-grid-template-rows);
gap: var(--curriculum-timetable-gap);
padding: .375rem;
box-shadow: 0 1px 0 0 var(--border-color), inset 0 1px 0 0 var(--border-color);
}

:where([class*="a-curriculum-timetable"]) dt {
grid-column: var(--curriculum-timetable-dt-grid-column);
}

:where([class*="a-curriculum-timetable"]) dd {
grid-column: var(--curriculum-timetable-dd-grid-column);
}

/* @end @a-curriculum-timetable */

/* 10 -------------------------------------------------------- */

/* @group @variables */

[class*="m-scrolled-contents-tertiary"] {
--scrolled-contents-overflow-y: hidden;
}

/* @end @variables */

/* @group @m-scrolled-contents */

[class*="m-scrolled-contents"] {
position: relative;
overflow-x: auto;
overflow-y: var(--scrolled-contents-overflow-y);
display: inline-grid;
margin-right: auto;
max-height: var(--scrolled-contents-max-height);
width: 100%;
background-image: linear-gradient(to right, var(--color-white), var(--color-white)), linear-gradient(to right, var(--color-white), var(--color-white)), linear-gradient(to right, hsl(220deg 20% 20% / 20%), hsl(0deg 0% 100% / 0%)), linear-gradient(to left, hsl(220deg 20% 20% / 20%), hsl(0deg 0% 100% / 0%));
background-position: left center, right center, left center, right center;
background-repeat: no-repeat;
background-color: var(--color-white);
background-size: 1rem 100%, 1rem 100%, .5rem 100%, .5rem 100%;
background-attachment: local, local, scroll, scroll;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
transition: var(--background-image-transition);
}

/* @end @m-scrolled-contents */

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

/* @group @variables */

[class*="m-price-table"] {
--price-table-width: 100%;
}

/* @end @variables */

/* @group @variables */

[class*="m-price-table"] {
--price-table-cell-padding-block: calc(.375rem - 1px);
--price-table-cell-padding-inline: .25rem;
}

[class*="m-price-table"] thead th {
--price-table-cell-padding-inline: .25rem;
--price-table-cell-padding-block: calc(.375rem - 1px);
}

[class*="m-price-table"] thead th:nth-of-type(1),
[class*="m-price-table"] tbody {
--price-table-cell-width: 4.5rem;
--price-table-cell-min-width: 4.5rem;
--price-table-cell-max-width: 4.5rem;
}

[class*="m-price-table"] td {
--price-table-cell-width: 5.25rem;
--price-table-cell-min-width: 5.25rem;
--price-table-cell-max-width: 5.25rem;
}

[class*="m-price-table"] td:nth-of-type(1) {
--price-table-cell-width: 6.75rem;
--price-table-cell-min-width: 6.75rem;
--price-table-cell-max-width: 6.75rem;
}

/* @end @variables */

/* @group @variables */

[class*="m-price-table"] {
--price-table-cell-border-width: 1px 1px 0 0;
}

[class*="m-price-table"] thead th:last-of-type,
[class*="m-price-table"] tbody td:last-of-type {
--price-table-cell-border-width: 1px 0 0 0;
}

[class*="m-price-table"] tbody tr:last-of-type {
--price-table-cell-border-width: 1px 1px 1px 0;
}

[class*="m-price-table"] tbody tr:last-of-type td:last-of-type {
--price-table-cell-border-width: 1px 0 1px 0;
}

/* @end @variables */

/* @group @variables */

/*[class*="m-price-table"] {
--font-size: .75rem;
--line-height: 1.5;
}

[class*="m-price-table"] thead th,
[class*="m-price-table"] tbody th,
[class*="m-price-table"] tbody td {
--font-size: .75rem;
--line-height: 1.5;
}*/

/* @end @variables */

/* @group @variables */

[class*="m-price-table"] th {
--font-weight: var(--font-weight-bold);
--font-variation-settings: var(--font-variation-settings-bold);
}

/* @end @variables */

/* @group @variables */

[class*="m-price-table"] {
--price-table-cell-text-align: left;
}

[class*="m-price-table"] thead th,
[class*="m-price-table"] thead th:nth-of-type(1) {
--price-table-cell-text-align: center;
}

[class*="m-price-table"] td {
--price-table-cell-text-align: center;
}

/* @end @variables */

/* @group @variables */

[class*="m-price-table"] td {
--price-table-cell-background-color: hsl(0deg 0% 0% / 0%);
}

[class*="m-price-table"] thead th {
--price-table-cell-background-color: hsl(220deg 25% 82.5% / 50%);
}

[class*="m-price-table"] tbody th:nth-of-type(1) {
--price-table-cell-background-color: hsl(220deg 25% 97.5% / 100%);
}

/* @end @variables */

/* @group @variables */

[class*="m-price-table"] {
--price-table-cell-vertical-align: middle;
}

[class*="m-price-table"] thead th {
--price-table-cell-vertical-align: top;
}

/* @end @variables */

/* @group @variables */

[class*="m-price-table"] tr:hover {
--price-table-cell-group-background-color: hsl(220deg 20% 92.5% / 50%);
}

/* @end @variables */

/* @group @m-price-table */

[class*="m-price-table"] {
position: relative;
width: var(--price-table-width);
margin-right: auto;
background-color: var(--color-white);
}

[class*="m-scrolled-contents"] [class*="m-price-table"] {
border-bottom-width: 0;
}

[class*="m-price-table"] tr,
[class*="m-price-table"] tr:hover {
background-color: var(--price-table-cell-group-background-color);
transition: var(--background-color-transition);
}

[class*="m-price-table"] th,
[class*="m-price-table"] td {
box-sizing: border-box;
width: var(--price-table-cell-width);
min-width: var(--price-table-cell-min-width);
max-width: var(--price-table-cell-max-width);
padding-block: var(--price-table-cell-padding-block);
padding-inline: var(--price-table-cell-padding-inline);
background-color: var(--price-table-cell-background-color);
border: solid var(--border-color);
border-width: var(--price-table-cell-border-width);
box-shadow: var(--price-table-cell-box-shadow);
white-space: var(--price-table-cell-white-space);
text-align: var(--price-table-cell-text-align);
vertical-align: var(--price-table-cell-vertical-align);
transition: var(--background-color-transition);
}

[class*="m-price-table"] thead th {
position: relative;
}

[class*="m-price-table"] thead {
position: sticky;
z-index: 3;
top: 0;
}

[class*="m-price-table"] thead tr:not(:has([rowspan])) th:nth-of-type(1),
[class*="m-price-table"] tbody th:nth-of-type(1),
[class*="m-price-table"] tbody tr:not([class*="a-price-child-sticky"]) th[class*="a-price-sticky"] {
position: sticky;
z-index: 2;
left: 0;
}

[class*="m-price-table"] tbody tr:has(th[rowspan="2"]) + tr td:nth-of-type(1),
[class*="m-price-table"] tbody tr:has(th[rowspan="2"]) + tr + tr td:nth-of-type(1),
[class*="m-price-table"] tbody tr:has(th[rowspan="3"]) + tr td:nth-of-type(1),
[class*="m-price-table"] tbody tr:has(th[rowspan="3"]) + tr + tr td:nth-of-type(1),
[class*="m-price-table"] tbody tr:has(th[rowspan="3"]) + tr + tr + tr td:nth-of-type(1),
[class*="m-price-table"] tbody tr:has(th[rowspan="4"]) + tr td:nth-of-type(1),
[class*="m-price-table"] tbody tr:has(th[rowspan="4"]) + tr + tr td:nth-of-type(1),
[class*="m-price-table"] tbody tr:has(th[rowspan="4"]) + tr + tr + tr td:nth-of-type(1),
[class*="m-price-table"] tbody tr:has(th[rowspan="4"]) + tr + tr + tr +tr td:nth-of-type(1) {
position: static;
box-shadow: none;
}


[class*="m-price-table-secondary"] tbody th:nth-of-type(1):not([rowspan]):not([class*="a-table-cell-sticky"]) {
position: static;
box-shadow: none;
}
  
/* @end @m-price-table */

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

/* @group @m-price-calculater */

[class*="m-price-calculater"] {
display: grid;
gap: .75rem;
padding: .75rem;
background-color: var(--color-white);
}

/* @end @m-price-calculater */

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

/* @group @a-price-calculater-heading */

[class*="a-price-calculater-heading"] {
display: grid;
gap: .375rem;
}

/* @end @1-price-calculater-heading */

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

/* @group @variables */

[class*="a-price-event-participants"] {
--input-border-color: var(--border-color);
--font-weight: 500;
}

:where([class*="a-price-event-participants"]) input:hover,
:where([class*="a-price-event-participants"]) input:focus {
--input-border-color: var(--color-form-checked);
--input-box-shadow: inset 0 0 0 1px var(--color-form-checked), 0 1px .375rem hsl(220deg 5% 90%);
}

/* @end @variables */

/* @group @a-price-event-participants */

[class*="a-price-event-participants"] {
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
gap: .75rem;
text-align: right;
}

:where([class*="a-price-event-participants"]) input {
display: grid;
align-items: center;
width: 3.75rem;
padding: calc(.375rem - 1px);
background-color: var(--color-white);
border: 1px solid var(--border-color);
box-shadow: var(--input-box-shadow);
text-align: right;
transition: var(--input-form-input-transition);
}

input[type="number"]::-webkit-inner-spin-button {
margin-left: .5rem; /* 数字との間隔 */
}

input[type="number"]::-moz-number-spin-box {
margin-left: .5rem; /* 数字との間隔 */
}

/* @end @a-price-event-participants */

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

/* @group @m-price-calculater */

[class*="a-price-calculated-result"] {
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
gap: .1875rem .375rem;
}

:where([class*="a-price-calculated-result"]) dd {
text-align: right;
}

/* @end @a-price-calculated-result */

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

/* @group @variables */

[class*="a-price-calculated-total"] {
--font-size: .875rem;
--line-height: 1.71428571;
--font-weight: 600;
}

/* @end @variables */

/* @group @a-price-calculated-total*/

[class*="a-price-calculated-total"] {
display: grid;
align-items: center;
grid-template-columns: 1fr auto;
gap: 0 .375rem;
padding-top: .375rem;
box-shadow: 0 -1px 0 0 var(--border-color);

font-size: 1.25rem;
box-shadow: 0 -1px 0 0 #aaa;
font-weight: 500;
}

:where([class*="a-price-calculated-total"]) dd {
text-align: right;
}

/* @end @a-price-calculated-total */