@charset "UTF-8";
/*===================================================
大枠
===================================================*/
html,body,.ec-layoutRole {
  min-height: 100vh;
}

.ec-layoutRole {
  display: flex;
  flex-direction: column;
}

.ec-layoutRole__footer {
  margin-top: auto;
}

.cart_page .ec-customerRole,
.cart_page .ec-role {
  padding: 0 30px;
  margin: 0;
}

.cart_page *,
.cart_page *::before,
.cart_page *::after {
  word-break: break-all;
  transition: .2s;
}

.cart_page div:empty,
.cart_page p:empty {
  display: none;
}

@media screen and ( max-width:767px ) {
.cart_page .ec-customerRole,
.cart_page .ec-role,
.cart_page .ec-orderRole {
  font-size: 14px;
}

.cart_page .ec-customerRole,
.cart_page .ec-role {
  padding: 0 15px;
}
}


/*===================================================
ヘッダー
===================================================*/
.cart_page .ec-headerNaviRole,
.other_page .ec-headerNaviRole {
  display: none;
}

.cart_page .ec-headerRole,
.other_page .ec-headerRole  {
  padding: 50px 30px;
}

.cart_page .ec-headerTitle .ec-headerTitle__title h1,
.other_page .ec-headerTitle .ec-headerTitle__title h1  {
  position: relative;
  width: 300px;
  height: 0;
  padding-top: calc(300px * 569 / 2627);
  margin: 0 auto;
}
.cart_page .ec-headerTitle .ec-headerTitle__title h1 a,
.other_page .ec-headerTitle .ec-headerTitle__title h1 a {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  text-indent: 101%;
  background: url(https://gakujyutsuweb.net/wp-content/uploads/2022/10/6.png) no-repeat center / contain;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
}

@media screen and ( max-width:767px ) {
.cart_page .ec-headerRole,
.other_page .ec-headerRole {
  padding: 30px 15px;
}

.cart_page .ec-headerTitle .ec-headerTitle__title h1,
.other_page .ec-headerTitle .ec-headerTitle__title h1 {
  width: 200px;
  padding-top: calc(200px * 569 / 2627);
}
}


/*===================================================
フッター
===================================================*/
.cart_page .ec-footerRole,
.other_page .ec-footerRole {
  background-color: #3f61a7;
  padding: 50px 0;
}

.cart_page .ec-footerNavi,
.other_page .ec-footerNavi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -10px 0 0;
}

.cart_page .ec-footerNavi .ec-footerNavi__link,
.other_page .ec-footerNavi .ec-footerNavi__link {
  display: block;
  font-size: 14px;
  line-height: 1;
  margin: 10px 7px 0;
}

.cart_page .ec-footerNavi .ec-footerNavi__link a,
.other_page .ec-footerNavi .ec-footerNavi__link a {
  text-decoration: none;
  border: none;
  padding: 0;
  margin: 0;
}

.cart_page .ec-footerTitle,
.other_page .ec-footerTitle {
  padding: 0;
  margin-top: 30px;
}

@media screen and ( max-width:767px ) {
.cart_page .ec-footerRole,
.other_page .ec-footerRole {
  padding: 30px 0;
}

.cart_page .ec-footerNavi .ec-footerNavi__link a,
.other_page .ec-footerNavi .ec-footerNavi__link a {
  font-size: 12px;
}
}


/*===================================================
タイトル
===================================================*/
.cart_page .ec-pageHeader h1 {
  line-height: 1;
  border-top: none;
}

.cart_page .ec-customerRole > .ec-pageHeader:first-of-type h1 {
  display: flex;
  align-items: center;
  height: 48px;
  font-size: 24px;
  color: #fff;
  background: #3f61a7;
  border: none;
  border-radius: 5px;
  padding: 10px 15px;
  margin: 0 0 30px;
}

.cart_page #change_cart + .ec-pageHeader h1,
.cart_page .ec-role .ec-pageHeader h1 {
  font-size: 20px;
  color: #3f61a7;
  padding: 0 0 15px;
}
.cart_page #change_cart + .ec-pageHeader h1 {
  width: 90%;
  margin: 0 auto;
}
.cart_page .ec-role .ec-pageHeader h1 {
  margin: 0 auto 30px;
}

@media screen and ( max-width:767px ) {
.cart_page .ec-customerRole > .ec-pageHeader:first-of-type h1 {
  height: 36px;
  font-size: 18px;
  padding: 10px;
  margin: 0 0 15px;
}

.cart_page #change_cart + .ec-pageHeader h1,
.cart_page .ec-role .ec-pageHeader h1 {
  width: 100%;
  font-size: 16px;
  padding: 0 0 10px;
}
}


/*===================================================
フロー
===================================================*/
.cart_page .ec-cartRole {
  padding: 0;
}

.cart_page .ec-progress {
  margin: 0 auto;
}

.cart_page .ec-progress .is-complete .ec-progress__number {
  background: #3f61a7;
}

.cart_page .ec-progress .is-complete .ec-progress__label {
  color: #3f61a7;
}


/*===================================================
商品選択
===================================================*/
.cart_page #change_cart {
  width: 90%;
  padding: 0;
  margin: 30px auto 100px;
}

.cart_page #change_cart tr {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  padding-top: 45px;
}
.cart_page #change_cart tr:not(:last-of-type) {
  border-bottom: 1px dashed #ccc;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.cart_page #change_cart tr td {
  padding: 0 !important;
}
.cart_page #change_cart tr td:first-of-type {
  width: calc(100% - 100px);
}

.cart_page #change_cart tr td:nth-of-type(2) {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  font-size: 150%;
  font-weight: bold;
  line-height: 1;
  color: red;
}

.cart_page #change_cart label {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  width: 100%;
  height: 30px;
  font-size: 18px;
  line-height: 1;
  padding: 0 10px !important;
  cursor: pointer;
  z-index: 2;
}

.cart_page #change_cart label input {
  margin: 0 5px 0 0;
}

.cart_page #change_cart label input:checked + strong {
  color: #fff;
}
.cart_page #change_cart label:hover input + strong {
  color: #3f61a7;
}

.cart_page #change_cart label input + strong::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #3f61a7;
  border-radius: 5px;
  opacity: .05;
  z-index: -1;
}
.cart_page #change_cart label input:checked + strong::after {
  opacity: .7;
}
.cart_page #change_cart label:hover input + strong::after {
  opacity: .2;
}

.cart_page #change_cart tr td p {
  text-align: justify;
  padding: 0 !important;
  margin: 0 !important;
}
.cart_page #change_cart tr td p+p {
  margin-top: 10px !important;
}

@media screen and ( max-width:767px ) {
.cart_page #change_cart {
  width: 100%;
  margin: 15px auto 50px;
}

.cart_page #change_cart label {
  font-size: 16px;
}
}


/*===================================================
入力
===================================================*/
.cart_page .ec-off1Grid .ec-off1Grid__cell {
  width: 90%;
  margin: 0 auto;
}

.cart_page .ec-borderedDefs {
  border-top: none;
  margin-bottom: 30px;
}

.cart_page .ec-borderedDefs dl {
  border-bottom: 1px solid #ccc;
  padding: 15px 0;
}
/*
.cart_page .ec-borderedDefs dl:first-of-type {
  border-top: 1px solid #ccc;
}
*/

.cart_page .ec-borderedDefs dt {
  width: 12em;
  padding: 0 1em 0 0;
}
.cart_page .ec-borderedDefs dt label {
  margin: 0;
}
.cart_page .ec-borderedDefs dt .ec-required {
  margin-left: 5px;
}

.cart_page .ec-borderedDefs dd {
  width: calc(100% - 12em);
  line-height: 1;
}

.cart_page .ec-borderedDefs dd .ec-halfInput {
  display: flex;
}
.cart_page .ec-halfInput input[type="text"] {
  width: calc((100% - 1em) / 2);
  margin: 0;
}
.cart_page .ec-halfInput input[type="text"]+input[type="text"] {
  margin-left: 1em;
}

.cart_page .ec-borderedDefs dd input {
  margin-bottom: 0;
}
.cart_page .ec-borderedDefs dd textarea {
  resize: vertical;
}

.cart_page .ec-input+.ec-input,
.cart_page .ec-borderedDefs dd input+button {
  margin-top: 10px;
}

.cart_page #nonmember_gakujyutsu_job ,
.cart_page #nonmember_gakujyutsu_membership_type,
.cart_page #nonmember_gakujyutsu_local_participation_type,
.cart_page #nonmember_gakujyutsu_classification {
  display: flex;
  flex-wrap: wrap;
  margin-top: -10px;
}
.cart_page #nonmember_gakujyutsu_job > .checkbox-item,
.cart_page #nonmember_gakujyutsu_membership_type > .radio-item,
.cart_page #nonmember_gakujyutsu_local_participation_type > .radio-item,
.cart_page #nonmember_gakujyutsu_classification > .radio-item {
  position: relative;
  display: flex;
  line-height: 1;
  padding: 7px 10px;
  margin: 10px 10px 0 0;
  z-index: 2;
}
.cart_page #nonmember_gakujyutsu_job > .checkbox-item:hover,
.cart_page #nonmember_gakujyutsu_membership_type > .radio-item:hover,
.cart_page #nonmember_gakujyutsu_local_participation_type > .radio-item:hover,
.cart_page #nonmember_gakujyutsu_classification > .radio-item:hover{
  cursor: pointer;
  opacity: .5;
}
.cart_page #nonmember_gakujyutsu_job > .checkbox-item:hover * ,
.cart_page #nonmember_gakujyutsu_membership_type > .radio-item:hover *,
.cart_page #nonmember_gakujyutsu_local_participation_type > .radio-item:hover *,
.cart_page #nonmember_gakujyutsu_classification > .radio-item:hover *{
  cursor: pointer;
}

.cart_page #nonmember_gakujyutsu_job > .checkbox-item input ,
.cart_page #nonmember_gakujyutsu_membership_type > .radio-item input,
.cart_page #nonmember_gakujyutsu_local_participation_type > .radio-item input,
.cart_page #nonmember_gakujyutsu_classification > .radio-item input{
  margin: 0 5px 0 0;
}
.cart_page #nonmember_gakujyutsu_job > .checkbox-item label ,
.cart_page #nonmember_gakujyutsu_membership_type > .radio-item label,
.cart_page #nonmember_gakujyutsu_local_participation_type > .radio-item label,
.cart_page #nonmember_gakujyutsu_classification > .radio-item label {
  margin: 0;
}
.cart_page #nonmember_gakujyutsu_job > .checkbox-item label::after ,
.cart_page #nonmember_gakujyutsu_membership_type > .radio-item label::after,
.cart_page #nonmember_gakujyutsu_local_participation_type > .radio-item label::after,
.cart_page #nonmember_gakujyutsu_classification > .radio-item label::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #3f61a7;
  border-radius: 5px;
  z-index: -1;
}
.cart_page #nonmember_gakujyutsu_job > .checkbox-item input:checked+label::after ,
.cart_page #nonmember_gakujyutsu_membership_type > .radio-item input:checked+label::after,
.cart_page #nonmember_gakujyutsu_local_participation_type > .radio-item input:checked+label::after,
.cart_page #nonmember_gakujyutsu_classification > .radio-item input:checked+label::after{
  background-color: #d9dfed;
}

@media screen and ( max-width:767px ) {
.cart_page .ec-off1Grid .ec-off1Grid__cell {
  width: 100%;
}

.cart_page .ec-borderedDefs dl {
  flex-direction: column;
}

.cart_page .ec-borderedDefs dt {
  width: 100%;
  line-height: 1;
  padding: 0;
  margin-bottom: 10px;
}

.cart_page .ec-borderedDefs dd {
  width: 100%;
}

.cart_page .ec-borderedDefs dd input,
.cart_page .ec-borderedDefs dd textarea {
  font-size: 14px;
}
}


/*===================================================
カート確認
===================================================*/
.cart_page .ec-orderRole {
  flex-direction: column;
  padding: 0 30px;
  margin: 50px 0 0;
}

.cart_page .ec-orderRole__detail {
  width: 100%;
  max-width: 800px;
  padding: 0;
  margin: 0 auto;
}
.cart_page .ec-orderRole__detail > div {
  margin: 0;
}
.cart_page .ec-orderRole__detail > div+div {
  margin-top: 50px;
}

@media screen and ( max-width:767px ) {
.cart_page .ec-orderRole {
  padding: 0 15px;
  margin: 30px 0 0;
}

.cart_page .ec-orderRole__detail > div+div {
  margin-top: 30px;
}
}

.cart_page .ec-rectHeading h2 {
  display: flex;
  align-items: center;
  height: 36px;
  font-size: 18px;
  background-color: #ebeff6;
  border-radius: 5px;
  margin: 0 0 15px;
}
.cart_page .ec-rectHeading h2 input {
  display: none;
}

@media screen and ( max-width:767px ) {
.cart_page .ec-rectHeading h2 {
  font-size: 16px;
  margin: 0 0 10px;
}
}

.cart_page .ec-orderAccount {
  position: relative;
}

.cart_page .ec-orderAccount__change {
  position: absolute;
  top: 5px;
  right: 5px;
}
.cart_page .ec-orderAccount__change button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 26px;
  font-size: 14px;
  line-height: 1;
  border-radius: 5px;
  padding: 0;
}

.cart_page .ec-orderAccount__account {
  margin: 0;
}

.cart_page .ec-orderAccount__account > p {
  width: 100%;
  border-bottom: 1px dashed #ccc;
  padding-bottom: 5px;
}
.cart_page .ec-orderAccount__account > p+p {
  margin-top: 15px;
}

.cart_page .ec-borderedList {
  margin: 0;
}
.cart_page .ec-borderedList li {
  border: none;
  margin-bottom: 15px;
}
.cart_page .ec-borderedList li+li {
  border-top: 1px dashed #ccc;
}

.cart_page .ec-borderedList .ec-imageGrid {
  border: none;
}
.cart_page .ec-borderedList .ec-imageGrid .ec-imageGrid__content > p span {
  color: red;
}
.cart_page .ec-borderedList .ec-imageGrid .ec-imageGrid__content > p+p {
  margin-top: 5px;
}

.cart_page .ec-orderDelivery__actions .ec-selects,
.cart_page .ec-orderDelivery__actions .ec-selects .ec-select {
  margin: 0;
}
.cart_page .ec-orderDelivery__actions .ec-selects {
  border: none;
}
.cart_page .ec-orderDelivery__actions .ec-selects+.ec-selects {
  border-top: 1px dashed #ccc;
  padding-top: 10px;
  margin-top: 10px;
}

.cart_page .ec-orderPayment .ec-radio,
.cart_page .ec-orderPayment .ec-radio > div {
  display: flex;
  flex-wrap: wrap;
}
.cart_page .ec-orderPayment .ec-radio > div {
  position: relative;
  line-height: 1;
  padding: 7px 10px;
  z-index: 2;
}
.cart_page .ec-orderPayment .ec-radio > div+div {
  margin-left: 10px;
}
.cart_page .ec-orderPayment .ec-radio > div:hover {
  cursor: pointer;
  opacity: .5;
}
.cart_page .ec-orderPayment .ec-radio > div:hover * {
  cursor: pointer;
}

.cart_page .ec-orderPayment .ec-radio > div input {
  margin: 0 5px 0 0;
}
.cart_page .ec-orderPayment .ec-radio > div label {
  margin: 0;
}
.cart_page .ec-orderPayment .ec-radio > div label::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #3f61a7;
  border-radius: 5px;
  z-index: -1;
}
.cart_page .ec-orderPayment .ec-radio > div input:checked+label::after {
  background-color: #d9dfed;
}

.cart_page #shopping_order_payment_type_0_body .dl_table > dl {
  display: flex;
  flex-wrap: wrap;
  height: auto !important;
}
.cart_page #shopping_order_payment_type_0_body .dl_table > dl+dl {
  border-top: 1px dashed #ccc;
  padding-top: 10px;
  margin-top: 10px;
}

.cart_page #shopping_order_payment_type_0_body .dl_table > dl {
  display: flex;
  flex-wrap: wrap;
}
.cart_page #shopping_order_payment_type_0_body .dl_table > dl > dt {
  width: 12em;
  padding-right: 1em;
}
.cart_page #shopping_order_payment_type_0_body .dl_table > dl > dd {
  width: calc(100% - 12em);
}

@media screen and ( max-width:767px ) {
.cart_page #shopping_order_payment_type_0_body .dl_table > dl {
  flex-direction: column;
}
.cart_page #shopping_order_payment_type_0_body .dl_table > dl > dt {
  width: 100%;
  padding: 0 0 10px;
}
.cart_page #shopping_order_payment_type_0_body .dl_table > dl > dd {
  width: 100%;
}
}

.cart_page .ec-orderRole__summary {
/*  padding: 0 0 0 30px;*/
  width: 90%;
  max-width: 550px;
  padding: 0;
  margin: 50px auto 0 !important;
}

@media screen and ( max-width:767px ) {
.cart_page .ec-orderRole__summary {
  padding: 0;
}
}

.cart_page .ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price,
.cart_page .ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__taxLabel {
  color: #ff2f13;
}

/*===================================================
ボタン
===================================================*/
.cart_page .ec-off4Grid .ec-off4Grid__cell {
  display: flex;
  justify-content: center;
  width: 90%;
  max-width: 630px;
  margin: 0 auto;
}

.cart_page .ec-off4Grid .ec-off4Grid__cell > button,
.cart_page .ec-off4Grid .ec-off4Grid__cell > a {
  display: block;
  width: calc((100% - 30px) / 2);
  margin: 0;
}

.cart_page .ec-totalBox .ec-totalBox__btn .ec-blockBtn--action,
.cart_page .ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  line-height: 1;
  margin: 15px auto 0;
}
.cart_page .ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel {
  width: 80%;
}

.cart_page .ec-off4Grid .ec-off4Grid__cell > button,
.cart_page .ec-off4Grid .ec-off4Grid__cell > a,
.cart_page .ec-totalBox .ec-totalBox__btn .ec-blockBtn--action,
.cart_page .ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel {
  border: none;
  border-radius: 5px;
}

.cart_page .ec-off4Grid .ec-off4Grid__cell > button:hover,
.cart_page .ec-off4Grid .ec-off4Grid__cell > a:hover,
.cart_page .ec-totalBox .ec-totalBox__btn .ec-blockBtn--action:hover,
.cart_page .ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel:hover {
  opacity: .5
}
.cart_page .ec-off4Grid .ec-off4Grid__cell > button,
.cart_page .ec-totalBox .ec-totalBox__btn .ec-blockBtn--action {
  background-color: #ff2f13;
}
.cart_page .ec-off4Grid .ec-off4Grid__cell > a {
  margin-left: 30px;
}

@media screen and ( max-width:767px ) {
.cart_page .ec-totalBox .ec-totalBox__btn .ec-blockBtn--action,
.cart_page .ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel {
  font-size: 14px;
  height: 36px;
  margin: 10px auto 0;
}
}