@charset "UTF-8";
@media screen and (min-width: 769px) {
  .members-template header .header_left_joinBtn a {
    font-size: 16px;
    font-weight: bold;
  }
  .members-template #overlay,
  .members-template #overlayShadow,
  .members-template .navbar_toggle {
    display: none;
  }
  .members-template > footer {
    display: none;
  }
  .membersHeaderNav ul {
    display: flex;
    align-items: center;
  }
  .membersHeaderNav li a {
    margin: 0 0.5rem;
    font-size: 0.8rem;
    white-space: nowrap;
  }
  .members-template header .header_logo {
    position: relative;
  }
  .members-template header .header_logo h1::after {
    content: "会員専用サイト";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateX(100%) translateY(-50%);
    font-size: 20px;
    padding-left: 40px;
    font-weight: bold;
  }
  a:hover {
    opacity: 0.65;
  }
  .members-page {
    color: #333;
    padding-bottom: 0;
  }
  .members-page img {
    display: block;
    max-width: 100%;
    height: auto;
  }
  .members-password {
    padding: 120px 20px;
  }
  .members-password__inner {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
  }
  .members-password__inner p {
    margin-bottom: 36px;
    font-size: 16px;
    line-height: 1.65;
  }
  .members-password__form {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .members-password__field {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-bottom: 36px;
  }
  .members-password__field label {
    flex: 0 0 146px;
    color: #333;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    text-align: right;
  }
  .members-password__field input {
    width: 493px;
    height: 52px;
    margin-left: 28px;
    padding: 0 16px;
    border: 1px solid #ccc;
    border-radius: 6px;
    text-align: left;
    font-size: 16px;
  }
  .members-password__form button {
    width: 170px;
    height: 40px;
    color: #fff;
    background: #122e56;
    border: 0;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
  }
  .members-password__form button:hover {
    cursor: pointer;
    opacity: 0.85;
    border: 0;
  }
  .members-hero,
  .members-section {
    width: 1000px;
    margin-right: auto;
    margin-left: auto;
  }
  .members-hero {
    padding-top: 88px;
  }
  .members-hero__visual {
    position: relative;
    margin-bottom: 70px;
  }
  .members-hero__visual > img {
    width: 1000px;
    min-height: 451px;
    object-fit: cover;
    background: #ddd;
  }
  .members-hero__note {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 450px;
    padding: 30px 32px;
    background: #fff;
  }
  .members-hero__note h1 {
    margin-bottom: 12px;
    color: #333;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.4;
  }
  .members-hero__note p {
    color: #333;
    font-size: 16px;
    line-height: 1.9;
  }
  .members-anchor {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px 20px;
    margin-bottom: 88px;
  }
  .members-anchor a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    color: #333;
    background: #e1e5ee;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 700;
  }
  .members-anchor span {
    position: relative;
    width: 15px;
    height: 15px;
    margin-right: 12px;
    background: url(../images/members/icon-arrow01.png) center center no-repeat;
  }
  .members-section {
    margin-bottom: 100px;
  }
  .members-heading {
    display: flex;
    align-items: center;
    height: 60px;
    padding: 0 20px;
    color: #fff;
    background: #122e56;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
  }
  .members-emblem {
    padding-top: 40px;
  }
  .members-emblem img {
    width: 579px;
    margin: 0 auto;
  }
  .members-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 38px;
    margin-top: 40px;
  }
  .members-cards article {
    min-height: 260px;
    padding: 22px 22px 40px;
    background: #e1e5ee;
    border-radius: 8px;
    text-align: center;
  }
  .members-cards h3 {
    display: inline-block;
    margin-bottom: 46px;
    padding-bottom: 9px;
    color: #333;
    border-bottom: 3px solid #122e57;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
  }
  .members-cards p {
    color: #333;
    font-size: 16px;
    line-height: 1.56;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .members-cards p.members-cards__lead {
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.56;
  }
  .members-data {
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin-top: 24px;
  }
  .members-data div {
    display: flex;
  }
  .members-data dt,
  .members-data dd {
    min-height: 45px;
    padding: 10px 16px;
    color: #333;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    line-height: 1.5;
  }
  .members-data dt {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 270px;
    background: #e1e5ee;
    font-size: 16px;
    font-weight: 700;
  }
  .members-data dd {
    flex: 1;
    background: #fff;
    font-size: 16px;
  }
  .members-map {
    height: 268px;
    margin-top: 54px;
  }
  .members-map iframe {
    width: 100%;
    height: 100%;
  }
  .members-table-grid {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-top: 24px;
  }
  .members-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    background: #fff;
  }
  .members-table th,
  .members-table td {
    padding: 10px 18px;
    color: #333;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    line-height: 1.5;
    vertical-align: middle;
  }
  .members-table thead th {
    background: #e1e5ee;
    font-weight: 700;
    text-align: center;
  }
  .members-table tbody th {
    width: 92px;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
  }
  .members-table:not(.members-table--officers) thead th:first-child {
    font-size: 16px;
  }
  .members-table:not(.members-table--officers) thead th:not(:first-child),
  .members-table:not(.members-table--officers) td {
    font-size: 16px;
  }
  .members-table--officers {
    table-layout: fixed;
    margin-top: 24px;
  }
  .members-table--officers th,
  .members-table--officers td {
    height: 45px;
    padding: 0 12px;
    font-size: 16px;
    line-height: 1.3;
    text-align: center;
    vertical-align: middle;
  }
  .members-table--officers th br,
  .members-table--officers td br {
    display: none;
  }
  .members-song {
    display: grid;
    grid-template-columns: 464px 399px;
    justify-content: center;
    align-items: start;
    gap: 30px 70px;
    margin-top: 30px;
  }
  .members-song img:nth-child(3) {
    grid-column: 1/-1;
    margin: 20px auto 0;
  }
  .members-note {
    margin-bottom: 31px;
    color: #333;
    font-size: 16px;
    line-height: 1.5;
    margin-top: 40px;
  }
  .members-address__item {
    padding-bottom: 23px;
    background: #f2f2f2;
  }
  .members-address__item + .members-address__item {
    margin-top: 27px;
  }
  .members-address__item header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 65px;
    padding: 0 20px;
    color: #fff;
    background: #58616e;
  }
  .members-address__item header h3 {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
  }
  .members-address__item header p {
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
    text-align: right;
  }
  .members-address__item header p br {
    display: none;
  }
  .members-address__item h4 {
    margin: 14px 23px 8px;
    color: #333;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
  }
  .members-address__item h4::before {
    content: "■";
    margin-right: 2px;
  }
  .members-data--compact {
    margin: 0 19px;
  }
  .members-data--compact dt,
  .members-data--compact dd {
    min-height: 45px;
    padding: 10px 16px;
  }
  .members-data--compact dt {
    flex: 0 0 153px;
    font-size: 16px;
  }
  .members-data--compact dd {
    font-size: 16px;
    line-height: 1.5;
  }
  .members-data--compact a {
    color: #0040d2;
    text-decoration: underline;
  }
  .members-rules {
    color: #333;
    margin-bottom: 60px;
  }
  .members-rules .members-heading {
    margin-bottom: 34px;
  }
  .members-rules__lead {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 54px;
  }
  .members-rules__lead h3 {
    width: 100%;
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
  }
  .members-rules__lead ul,
  .members-rules__lead p {
    width: 50%;
    font-size: 16px;
    line-height: 1.5;
  }
  .members-rules__lead li::before {
    content: "・";
  }
  .members-rules__body {
    font-size: 16px;
    line-height: 1.55;
  }
  .members-rules__body h3 {
    margin: 40px 0 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ccc;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.15;
  }
  .members-rules__body h4 {
    margin: 40px 0 14px;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.2;
  }
  .members-rules__body h4:first-of-type {
    margin-top: 25px;
  }
  .members-rules__body h5 {
    margin: 24px 0 10px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
  }
  .members-rules__body h6 {
    margin: 23px 0 8px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
  }
  .members-rules__body p {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 1.55;
  }
  .members-rules__box {
    margin: 58px 0 50px;
    padding: 29px 75px 32px;
    background: #fff;
    border: 1px solid #ccc;
  }
  .members-rules__box h5 {
    margin: 0 0 25px;
    text-align: center;
  }
  .members-rules__note {
    padding-left: 36px;
  }
  .members-rules__editor {
    text-align: right;
  }
  .members-bottom-nav {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(4, 233px);
    gap: 17px;
    width: 1000px;
    margin: 0 auto 40px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 40px 0;
  }
  .members-bottom-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 41px;
    color: #333;
    background: #e1e5ed;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
  }
  .members-bottom-nav a:hover {
    opacity: 0.65;
  }
  .members-bottom-nav span {
    width: 15px;
    height: 15px;
    margin-right: 12px;
    background: url(../images/members/icon-arrow01.png) center center no-repeat;
  }
  .members-page-footer {
    display: grid;
    grid-template-columns: 307px 1fr 174px;
    grid-template-rows: 49px auto;
    grid-template-areas: "brand site official" "copyright copyright copyright";
    width: 1003px;
    margin: 0 auto;
    padding-bottom: 38px;
    position: relative;
  }
  .members-page-footer__brand {
    grid-area: brand;
    align-self: start;
  }
  .members-page-footer__brand a {
    display: flex;
    align-items: center;
    width: 307px;
    height: 49px;
    color: #000;
  }
  .members-page-footer__brand img {
    width: 50px;
    height: auto;
    margin-right: 7px;
  }
  .members-page-footer__brand h1 {
    font-size: 1.3125rem;
    color: #000;
    line-height: 1;
    position: relative;
  }
  .members-page-footer__brand h1 span {
    display: block;
    font-size: 0.6875rem;
    padding-bottom: 5px;
  }
  .members-page-footer__brand h1::after {
    content: "会員専用サイト";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateX(100%) translateY(-50%);
    font-size: 20px;
    padding-left: 40px;
    font-weight: bold;
  }
  .members-page-footer > a {
    grid-area: official;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: start;
    width: 174px;
    min-height: 41px;
    margin-top: 7px;
    color: #333;
    background: #f4c438;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
  }
  .members-page-footer small {
    grid-area: copyright;
    margin-top: 56px;
    color: #333;
    font-size: 14px;
    line-height: 1;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .members-template #overlay,
  .members-template #overlayShadow,
  .membersHeaderNav,
  .members-template .navbar_toggle {
    display: none;
  }
  .members-template > footer {
    display: none;
  }
  .members-template header {
    position: relative;
    z-index: 1;
    width: 100%;
    background: #fff;
  }
  .members-template header .header {
    display: flex;
    flex-wrap: wrap;
    height: auto;
    padding: 4.8vw 4.2666666667vw 0;
  }
  .members-template header .header_logo {
    width: 100%;
    position: relative;
  }
  .members-template header .header_logo a {
    display: flex;
    align-items: center;
  }
  .members-template header .header_logo img {
    width: 14.4vw;
    margin-right: 2.6666666667vw;
  }
  .members-template header .header_logo h1 {
    font-size: 1.3125rem;
    color: #000;
    line-height: 1;
    letter-spacing: 0;
  }
  .members-template header .header_logo h1 span {
    display: block;
    font-size: 0.6875rem;
    padding-bottom: 1.3333333333vw;
  }
  .members-template header .header_logo h1::after {
    content: "会員専用サイト";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    font-size: 3.7333333333vw;
  }
  .members-template header .header_right {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    margin: 4.8vw -4.2666666667vw 0;
    padding: 4.2666666667vw;
    background: #e1e5ee;
  }
  .members-template header .header_left_joinBtn {
    display: block;
  }
  .members-template header .header_left_joinBtn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 37.0666666667vw;
    min-width: auto;
    height: 8.2666666667vw;
    padding: 0;
    color: #041b3d;
    background: #fdc601;
    border-radius: 0.8vw;
    font-size: 3.4666666667vw;
    font-weight: 700;
  }
  .members-template header .header_left_snsBtn {
    display: flex;
    align-items: center;
    padding-left: 6.4vw;
    border-left: 2px solid #333;
  }
  .members-template header .header_left_snsBtn a {
    margin: 0 2.6666666667vw;
  }
  .members-template header .header_left_snsBtn img {
    width: 8vw;
    height: auto;
  }
  .members-page {
    color: #333;
    padding-bottom: 0;
  }
  .members-template main {
    padding-top: 0;
  }
  .members-page img {
    display: block;
    max-width: 100%;
    height: auto;
  }
  .members-password {
    padding: 21.3333333333vw 4.2666666667vw;
  }
  .members-password__inner {
    max-width: 165.3333333333vw;
    margin: 0 auto;
    text-align: center;
  }
  .members-password__inner p {
    margin-bottom: 6.4vw;
    font-size: 3.7333333333vw;
    line-height: 1.8;
  }
  .members-password__form {
    display: block;
  }
  .members-password__field {
    display: block;
    margin-bottom: 4.8vw;
  }
  .members-password__field label {
    display: block;
    margin-bottom: 2.1333333333vw;
    color: #333;
    font-size: 3.7333333333vw;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
  }
  .members-password__field input {
    width: 100%;
    height: 12.2666666667vw;
    padding: 0 3.2vw;
    border: 1px solid #ccc;
    border-radius: 1.6vw;
    text-align: left;
  }
  .members-password__form button {
    width: 100%;
    height: 12.8vw;
    color: #fff;
    background: #122e56;
    border: 0;
    border-radius: 1.6vw;
    font-size: 4.2666666667vw;
    font-weight: 700;
    line-height: 1;
  }
  .members-hero,
  .members-section {
    width: calc(100% - 5.3333333333vw);
    max-width: 94.6666666667vw;
    margin-right: auto;
    margin-left: auto;
  }
  .members-hero {
    padding-top: 10.6666666667vw;
  }
  .members-hero__visual {
    margin-bottom: 9.0666666667vw;
  }
  .members-hero__visual > img {
    width: 100%;
    min-height: 48vw;
    object-fit: cover;
    background: #ddd;
  }
  .members-hero__note {
    padding: 5.8666666667vw 0 0;
    background: #fff;
  }
  .members-hero__note h1 {
    margin-bottom: 2.6666666667vw;
    color: #333;
    font-size: 5.8666666667vw;
    font-weight: 700;
    line-height: 1.4;
  }
  .members-hero__note p {
    color: #333;
    font-size: 3.7333333333vw;
    line-height: 1.8;
  }
  .members-anchor {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.2vw;
    margin-bottom: 12.8vw;
  }
  .members-anchor a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 12.2666666667vw;
    color: #333;
    background: #e1e5ee;
    border-radius: 1.6vw;
    font-size: 3.7333333333vw;
    font-weight: 700;
  }
  .members-anchor span {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
    margin-right: 1.8666666667vw;
    background: url(../images/members/icon-arrow01.png) center center no-repeat;
  }
  .members-section {
    margin-bottom: 14.9333333333vw;
  }
  .members-heading {
    display: flex;
    align-items: center;
    min-height: 10.6666666667vw;
    margin-bottom: 4.8vw;
    padding: 0 2.6666666667vw;
    color: #fff;
    background: #122e56;
    font-size: 3.7333333333vw;
    font-weight: 700;
    line-height: 1.4;
  }
  .members-emblem img {
    width: 77.2vw;
    margin: 0 auto;
  }
  .members-cards {
    width: 70.9333333333vw;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4.8vw;
  }
  .members-cards article {
    padding: 7.4666666667vw 4.8vw;
    background: #e1e5ee;
    border-radius: 2.1333333333vw;
    text-align: center;
  }
  .members-cards h3 {
    display: inline-block;
    margin-bottom: 6.4vw;
    padding-bottom: 2.1333333333vw;
    color: #333;
    border-bottom: 2px solid #333;
    font-size: 4.8vw;
    font-weight: 700;
    line-height: 1.4;
  }
  .members-cards p {
    color: #333;
    font-size: 3.7333333333vw;
    line-height: 1.8;
  }
  .members-cards__lead {
    font-weight: 700;
  }
  .members-data {
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    font-size: 3.7333333333vw;
  }
  .members-data div {
    display: flex;
  }
  .members-data dt,
  .members-data dd {
    min-height: 0;
    color: #333;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    line-height: 1.35;
  }
  .members-data dt {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.8666666667vw 0vw;
    flex: 0 0 32vw;
    background: #e1e5ee;
    font-size: 3.7333333333vw;
    font-weight: 700;
    text-align: center;
  }
  .members-data dd {
    flex: 1;
    padding: 1.8666666667vw;
    background: #fff;
    font-size: 3.7333333333vw;
  }
  .members-map {
    height: 66.6666666667vw;
    margin-top: 7.4666666667vw;
    background: #eef3f7;
  }
  .members-map iframe {
    width: 100%;
    height: 100%;
  }
  .members-table-grid {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4.8vw;
  }
  .members-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    background: #fff;
    font-size: 3.7333333333vw;
  }
  .members-table th,
  .members-table td {
    padding: 2.1333333333vw 1.8666666667vw;
    color: #333;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    line-height: 1.3;
    vertical-align: middle;
  }
  .members-table thead th {
    background: #e1e5ee;
    font-weight: 700;
    text-align: center;
  }
  .members-table tbody th {
    width: 19.7333333333vw;
    font-size: 3.7333333333vw;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
  }
  .members-table:not(.members-table--officers) thead th:first-child {
    font-size: 3.7333333333vw;
  }
  .members-table:not(.members-table--officers) thead th:not(:first-child),
  .members-table:not(.members-table--officers) td {
    font-size: 3.7333333333vw;
  }
  .members-table--officers {
    table-layout: fixed;
  }
  .members-table--officers th,
  .members-table--officers td {
    height: 11.7333333333vw;
    text-align: center;
    vertical-align: middle;
  }
  .members-table--officers th {
    font-size: 3.3333333333vw;
    line-height: 1.35;
    padding: 0;
  }
  .members-table--officers td {
    font-size: 3.3333333333vw;
    line-height: 1.25;
    padding: 0 0.2666666667vw;
  }
  .members-table--officers th:nth-child(1),
  .members-table--officers td:nth-child(1) {
    width: 23.4666666667vw;
  }
  .members-table--officers th:nth-child(n+2),
  .members-table--officers td:nth-child(n+2) {
    width: 24vw;
  }
  .members-song {
    width: 70.9333333333vw;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4.8vw;
  }
  .members-song img {
    margin: 0 auto;
  }
  .members-note {
    margin-bottom: 10.4vw;
    color: #333;
    font-size: 3.7333333333vw;
    line-height: 1.3;
  }
  .members-address__item {
    padding-bottom: 2.6666666667vw;
    background: #f2f2f2;
  }
  .members-address__item + .members-address__item {
    margin-top: 9.0666666667vw;
  }
  .members-address__item header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 12.8vw;
    padding: 0 2.6666666667vw;
    color: #fff;
    background: #58616e;
  }
  .members-address__item header h3 {
    margin-bottom: 0;
    color: #fff;
    font-size: 4vw;
    font-weight: 700;
    line-height: 1.2;
  }
  .members-address__item header p {
    color: #fff;
    font-size: 2.9333333333vw;
    line-height: 4vw;
    white-space: nowrap;
    text-align: right;
  }
  .members-address__item h4 {
    margin: 2.1333333333vw 3.2vw 1.6vw;
    color: #333;
    font-size: 3.4666666667vw;
    font-weight: 700;
    line-height: 1.4;
  }
  .members-address__item h4::before {
    content: "■";
    margin-right: 0.5333333333vw;
  }
  .members-data--compact {
    margin: 0 2.5333333333vw;
  }
  .members-data--compact dt,
  .members-data--compact dd {
    min-height: 8.2666666667vw;
    padding: 1.6vw 2.1333333333vw;
    line-height: 1.25;
  }
  .members-data--compact dt {
    flex-basis: 20.4vw;
    font-size: 3.4666666667vw;
  }
  .members-data--compact dd {
    flex-basis: 69.6vw;
    font-size: 3.4666666667vw;
    line-height: 1.35;
  }
  .members-data--compact a {
    color: #0040d2;
    text-decoration: underline;
  }
  .members-rules {
    width: calc(100% - 4.8vw);
    max-width: 95.2vw;
    color: #333;
  }
  .members-rules .members-heading {
    margin-bottom: 6.9333333333vw;
  }
  .members-rules__lead {
    margin-bottom: 7.7333333333vw;
  }
  .members-rules__lead h3 {
    margin-bottom: 2.9333333333vw;
    font-size: 3.7333333333vw;
    font-weight: 700;
    line-height: 1.2;
  }
  .members-rules__lead ul {
    margin-bottom: 5.3333333333vw;
  }
  .members-rules__lead ul,
  .members-rules__lead p {
    font-size: 3.7333333333vw;
    line-height: 1.49;
  }
  .members-rules__lead li::before {
    content: "・";
  }
  .members-rules__body {
    font-size: 3.7333333333vw;
    line-height: 1.55;
  }
  .members-rules__body h3 {
    margin: 0 0 3.4666666667vw;
    padding-bottom: 1.8666666667vw;
    border-bottom: 0.2666666667vw solid #333;
    font-size: 4.2666666667vw;
    font-weight: 700;
    line-height: 1.2;
  }
  .members-rules__body h4 {
    margin: 3.4666666667vw 0 2.6666666667vw;
    font-size: 4vw;
    font-weight: 700;
    line-height: 1.2;
  }
  .members-rules__body h5 {
    margin: 3.4666666667vw 0 1.8666666667vw;
    font-size: 3.7333333333vw;
    font-weight: 700;
    line-height: 1.25;
  }
  .members-rules__body h6 {
    margin: 4.2666666667vw 0 1.8666666667vw;
    font-size: 3.7333333333vw;
    font-weight: 700;
    line-height: 1.55;
  }
  .members-rules__body p {
    margin: 0 0 3.7333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.58;
  }
  .members-rules__box {
    margin: 7.4666666667vw 0 7.4666666667vw;
    padding: 5.8666666667vw 4.6666666667vw 6.4vw;
    background: #fff;
    border: 1px solid #ccc;
  }
  .members-rules__box h5 {
    margin: 0 0 4.8vw;
    text-align: center;
  }
  .members-rules__note {
    padding-left: 0;
  }
  .members-rules__editor {
    text-align: right;
  }
  .members-bottom-nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.1333333333vw;
    width: calc(100% - 4.8vw);
    max-width: 95.2vw;
    margin: -1.3333333333vw auto 19.2vw;
  }
  .members-bottom-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 9.3333333333vw;
    color: #333;
    background: #e1e5ed;
    border-radius: 1.3333333333vw;
    font-size: 3.12vw;
    font-weight: 700;
    line-height: 1;
  }
  .members-bottom-nav span {
    width: 2.9333333333vw;
    height: 2.9333333333vw;
    margin-right: 1.6vw;
    background: url(../images/members/icon-arrow01.png) center center no-repeat;
    background-size: contain;
  }
  .members-page-footer {
    width: calc(100% - 4.8vw);
    max-width: 95.2vw;
    margin: 0 auto;
    padding-bottom: 8.2666666667vw;
    position: relative;
    text-align: center;
  }
  .members-page-footer__brand {
    width: 54.2666666667vw;
    margin: 0 0 2.9333333333vw 6.6666666667vw;
  }
  .members-page-footer__brand a {
    display: flex;
    align-items: center;
    width: 54.2666666667vw;
    height: 8.6666666667vw;
    color: #000;
    text-align: left;
  }
  .members-page-footer__brand img {
    width: 8.6666666667vw;
    height: auto;
    margin-right: 1.2vw;
  }
  .members-page-footer__brand h1 {
    color: #000;
    font-size: 3.6vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .members-page-footer__brand h1 span {
    display: block;
    padding-bottom: 0.8vw;
    font-size: 1.8666666667vw;
    line-height: 1;
  }
  .members-page-footer__brand::after {
    content: "会員専用サイト";
    position: absolute;
    top: 2.6666666667vw;
    right: 6.8vw;
    color: #333;
    font-size: 3.3333333333vw;
    font-weight: bold;
    line-height: 1;
    white-space: nowrap;
  }
  .members-page-footer > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 37.4666666667vw;
    min-height: 8.6666666667vw;
    margin: 0 auto 8vw;
    color: #333;
    background: #f4c438;
    border-radius: 0.8vw;
    font-size: 2.6666666667vw;
    font-weight: 700;
    line-height: 1;
  }
  .members-page-footer small {
    display: block;
    color: #333;
    font-size: 2.6666666667vw;
    line-height: 1;
    text-align: center;
  }
}
