@charset "utf-8";

.cont-wrap {max-width: 1400px; margin: 0 auto;}
.sec-title {padding: 0 40px;}
.page-title {padding: 100px 0; border-bottom: 3px solid #000; font-size: 56px; line-height: 1; text-align: center;}
.sec-chapter {padding: 100px 40px;}
.sec-chapter--border {padding-top: 0 !important;}
.sec-chapter--border .cont-wrap {padding-top: 100px; border-top: 1px solid #e5e5e5;}
.sec-chapter--bg {background: #f7f8fb;}
.chapter-wrap {display: flex; }
.chapter-header {width: 290px;}
.chapter-body {width: 1110px;}
.chapter-title {position: relative; font-size: 32px; letter-spacing: -1px; line-height: 1;}
.chapter-title:before {content: ""; position: absolute; top: 50px; left: 0; width: 50px; height: 5px; background: #0dd100;}

.table-style th,
.table-style td {padding: 20px 0; border-top: 1px solid #f4f4f4; font-size: 18px; letter-spacing: -1px; text-align: left; }
.table-style th {width: 190px; border-color: #000; font-weight: bold;}
.table-style td {padding-left: 50px; color: #555;}
.table-style tr:first-child th,
.table-style tr:first-child td {border-top: 0;}
.table-style tr:after {display: none;}
.table-style td strong {color: #000; font-weight: 500;}
.regist-list-item {position: relative; padding-left: 20px; font-size: 18px; line-height: 36px;}
.regist-list-item:before {content: ""; position: absolute; top: 15px; left: 0; width: 6px; height: 3px; background: #0dd100;}
.regist-list-item em { color: #0dd100;}
.invitations {display: flex; justify-content: space-between;}
.invitations:after {display: none;}
.invitation {position: relative; width: calc(50% - 10px); margin-left: 20px; padding: 50px 60px; background: #fff; box-shadow: 0 5px 20px 0 rgb(0 0 0 / 5%); box-sizing: border-box;}
.invitation:after {content: ""; position: absolute; top: 30px; right: 34px; width: 38px; height: 48px; background: url("./invitation.png") no-repeat 50%;}
.invitation:first-child {margin-left: 0;}
.invitation:first-child:after {background: url("./free_invitation.png") no-repeat 50%;}
.invitation__title {font-size: 26px; color: #0dd100;}
.invitation__cont {display: block; margin-top: 20px; font-size: 18px; }
.invitation .regist-list-item {display: block; margin-top: 10px;}

.sec-chapter--footer {padding: 60px 0 100px; text-align: center;}
.visit-button {display: inline-block; width: 288px; height: 72px; background: #0dd100; border-radius: 35px; color: #fff !important; font-size: 0; line-height: 72px; }
.visit-button span {font-size: 26px; vertical-align: middle;}
.visit-button:after {content: ""; display: inline-block; width: 25px; height: 24px; margin-left: 25px; background: url("./visit_button.png") no-repeat 50%; vertical-align: middle;}


@media screen and (max-width:1480px) {
  .page-title {padding: 80px 0 40px; border-width: 2px; font-size: 48px;}
  .sec-chapter {padding: 80px 40px;}
  .sec-chapter--border .cont-wrap {padding-top: 80px;}
  .chapter-wrap {display: block;}
  .chapter-header {width: auto; padding-bottom: 50px;}
  .chapter-title {font-size: 28px;}
  .chapter-title:before {width: 30px; height: 4px;}
  .chapter-body {width:auto;}
  .table-style th,
  .table-style td {font-size: 16px;}
  .regist-list-item {font-size: 16px; line-height: 30px;}
  .invitation {width: calc(50% - 5px); margin-left: 10px; padding: 35px 40px;}
  .invitation:after {top: 30px; right: 30px; width: 25px; height: 32px; background-size: 100%;}
  .invitation:first-child:after {background-size: 100%;}
  .invitation__cont {font-size: 16px;}
  .sec-chapter--footer {padding: 40px 0 80px;}
}


@media screen and (max-width:760px) {
  .sec-title {padding: 0 20px;}
  .page-title {padding: 33px 0 30px; border-width: 2px; font-size: 28px;}
  .sec-chapter {padding: 40px 20px;}
  .sec-chapter--border .cont-wrap {padding-top: 40px;}
  .chapter-header {padding-bottom: 38px;}
  .chapter-title {font-size: 18px;}
  .chapter-title:before {top: 33px; width: 25px; height: 4px;}
  .table-style th,
  .table-style td {padding: 10px 0; font-size: 13px;}
  .table-style th {width: 62px;}
  .table-style td {padding-left: 25px;}
  .regist-list-item {padding-left: 14px; font-size: 15px; line-height: 25px;}
  .regist-list-item:before {top: 10px; width: 3px; height: 2px;}
  .invitations {display: block;}
  .invitation {width: auto; margin: 10px 0 0; padding: 25px 30px;}
  .invitation:first-child {margin-top: 0;}
  .invitation:after {top: 20px; right: 21px; width: 19px; height: 24px;}
  .invitation__title {font-size: 22px;}
  .invitation__cont {margin-top: 15px; font-size: 15px;}
  .invitation .regist-list-item {margin-top: 8px; font-size: 14px;}

  .sec-chapter--footer {padding: 25px 0 40px;}
  .visit-button {width: 159px; height: 40px; border-radius: 20px; font-size: 0; line-height: 40px; }
  .visit-button span {font-size: 20px;}
  .visit-button:after {width: 14px; height: 12px; margin-left: 7px; background-size: 100%;}
}
