@charset "utf-8";

/*PC用*/
@media print, screen {
  .container { background: url(../../images/src/common/content_bg.jpg); background-repeat: no-repeat; background-position: top 305px right 0; }

  /*ページタイトル*/
  .kv { display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; height: 318px; padding-top: 28px; margin-bottom: 10px; color: #fff; text-align: center; box-sizing: border-box; }
  .regulation .kv { background: url(../../images/src/regulation/kv.jpg) no-repeat center / cover; }
  .members .kv { background: url(../../images/src/members/kv.jpg) no-repeat center / cover; }
  .contact .kv { background: url(../../images/src/contact/kv.jpg) no-repeat center / cover; }
  .schedule .kv { background: url(../../images/src/schedule/kv.jpg) no-repeat center / cover; }
  .privacy_policy .kv { background: url(../../images/src/privacy_policy/kv.jpg) no-repeat center / cover; }
  .kv .tit { font-size: 28px; letter-spacing: 0.06em; }
  .kv .tit_en { margin-top: 5px; display: block; font-size: 24px; letter-spacing: 0.06em; }

  /*パンくず*/
  .breadcrumbs { max-width: 1100px; margin: 0 auto 85px; padding: 0 10px; font-size: 14px; letter-spacing: 0.06em; }
  .breadcrumbs a { color: #59c6a1; }
  .parts_wrap { }

  /*大見出し*/
  h3 { margin-bottom: 75px; text-align: center; font-family: "Cormorant", serif; font-weight: 500; font-size: 60px; letter-spacing: 0.06em; line-height: 1.3; color: #000; }
  h3 small { margin-bottom: 10px; display: block; font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; font-size: 20px; letter-spacing: 0.06em; color: #000; }
  .regulation, .privacy_policy, .contact { margin-bottom: 150px; }
  .members_sec, .schedule_sec, .schedule_text { max-width: 1100px; margin-left: auto; margin-right: auto; padding: 0 10px; }

  /*会員名簿 members*/
  .members_sec { margin-bottom: 670px; }
  .members_sec h4 { margin-bottom: 15px; text-align: center; font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; font-size: 24px; letter-spacing: 0.06em; line-height: 2.208; }
  .members_sec .table table { width: 100%; }
  .members_sec .table table th, .members_sec .table table td {padding: 0 12px;font-size: 16px;line-height: 3.333;letter-spacing: 0.06em;font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif;text-align: center;white-space: nowrap;border: solid 1px #cbcbcb;background-color: #fff;}
  .members_sec .table table td:nth-child(2) { text-align: left; }
  .members_sec .table table thead th, .members_sec .table table thead td { background-color: #e1e9ed; }
  .members_sec .corporate_logo { margin: 70px auto 0; }
  .members_sec .corporate_logo ul { display: flex; justify-content: start; flex-wrap: wrap; align-items: center; margin: 0px auto 150px; }
  .members_sec .corporate_logo ul li { width: 25%; text-align: center; margin: 20px 0; }

  /*年間スケジュール schedule*/
  .schedule_sec { margin-bottom: 70px; }
  .schedule_sec h4 { margin-bottom: 50px; font-family: "Cormorant", serif; font-weight: 500; font-size: 100px; line-height: 1; letter-spacing: 0.06em; color: #59c6a1; position: relative; top: -5px; left: 20px; }
  .schedule_sec .month_block { position: relative; display: flex; justify-content: space-between; }
  .schedule_sec .month_block:not(:last-child) { margin-bottom: 113px; }
  .schedule_sec .month_block .txtbox { position: relative; width: 50%; padding-left: 186px; box-sizing: border-box; }
  .schedule_sec .month_block:before { position: absolute; left: 110px; top: 25px; display: block; content: ""; width: 10px; height: 10px; background-color: #000; border-radius: 50%; }
  .schedule_sec .month_block:after { position: absolute; left: 114.5px; top: 25px; display: block; content: ""; width: 1px; height: calc(100% + 120px); background-color: #000; }
  .schedule_sec .month_block:last-child:after { height: calc(100% + 10px); }
  .schedule_sec.sec3 .month_block:last-child:after { height: calc(100% + 20px); }
  .schedule_sec .month_block figure { width: 45.09%; padding-right: 27px; box-sizing: border-box; }
  .schedule_sec .month_block figure img { width: 100%; }
  .schedule_sec .month_block .month { display: flex; margin-bottom: 40px; }
  .schedule_sec .month_block .month p { flex-shrink: 0; display: flex; align-items: center; justify-content: center; height: 71px; width: 71px; font-size: 22px; letter-spacing: 0.06em; color: #fff; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; background-color: #000000; border-radius: 50%; }
  .schedule_sec .month_block .month .title { margin-bottom: 0; margin-top: 25px; margin-left: 28px; }
  .schedule_sec .month_block .title { margin-bottom: 15px; font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; font-size: 22px; line-height: 1.81; letter-spacing: 0.06em; }
  .schedule_sec .month_block .text { padding-left: 20px; }
  .schedule_sec .month_block .text ul li { font-size: 16px; line-height: 1.875; letter-spacing: 0.06em; }
  .schedule_sec .month_block .text ul li:before { position: relative; top: -2px; display: inline-block; content: ""; margin-right: 15px; width: 10px; height: 10px; background-color: #59c6a1; border-radius: 50%; }
  .schedule_text { margin-top: 85px; margin-bottom: 166px; }
  .schedule_text p { padding: 0 27px; font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; font-size: 22px; letter-spacing: 0.1em; line-height: 1.81; }
  .regulation_sec, .privacy_policy_sec { margin: 0 auto 28px; padding: 0 10px; font-size: 16px; letter-spacing: 0.06em; line-height: 1.875; }
  .regulation_sec { max-width: 980px; }
  .privacy_policy_sec { max-width: 1020px; }
  .regulation_sec h4, .privacy_policy_sec h4, .privacy_policy_sec h5 { font-weight: bold; }
  .regulation_sec .text, .privacy_policy_sec .text { padding-left: 1em; }
  .regulation_sec .text ol ol { margin-bottom: 12px; }
  .regulation_sec .text li, .privacy_policy_sec .text li {padding-left: 1.5em;text-indent: -1.5em;}
  .privacy_policy_sec .text p + ul { padding-left: 1em; }
  .privacy_policy_sec .box { display: inline-block; margin: 14px auto 7px 28px; padding: 24px 35px; background: #ebebeb; }
  .contact h3 { margin-bottom: 88px; }
  .contact_sec { max-width: 788px; margin: 0 auto; padding: 0 10px; }
  .contact_sec table { width: 100%; margin-bottom: 50px; }
  .contact_sec table th { width: 226px; height: 77px; padding-top: 3px; padding-left: 10px; font-size: 18px; font-weight: bold; letter-spacing: 0.06em; vertical-align: top; }
  .contact_sec table td .memo { padding-top: 3px; color: #9a9a9a; font-size: 14px; font-weight: bold; letter-spacing: 0.06em; }
  .contact_sec table td span.memo { display: inline-block; margin-left: 13px; }
  .contact_sec table td .p-extended-address { margin-bottom: 34px; }
  .contact_sec table td input[type="text"], .contact_sec table td input[type="tel"], .contact_sec table td input[type="email"], .contact_sec table td textarea { width: 100%; border: 0; padding: 5px 18px; border-radius: 5px; background: #EFEFEF; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; font-size: 16px; box-sizing: border-box; }
  .contact_sec table td input.size1 { max-width: 140px; }
  .contact_sec table td input.size2 { max-width: 187px; }
  .contact_sec table td input.size3 { max-width: 240px; }
  .contact_sec table td input.size4 { max-width: 321px; }
  .contact_sec table td input.d-block { display: block; }
  .contact_sec table td input.d-inliine-block { display: inline-block; }
  .contact_sec table td input + input { margin-top: 10px; }
  .contact_sec table td textarea { height: 180px; }
  .contact_sec table td .postal-search { display: inline-block; width: 135px; margin-left: 22px; border: 0; background: #59C6A1; color: #fff; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; font-size: 16px; font-weight: bold; text-align: center; line-height: 36px; letter-spacing: 0.06em; }
  .contact_sec .btns { display: flex; align-items: center; justify-content: center; }
  .contact_sec .btns input[type="submit"], .contact_sec .btns input[type="button"] { display: flex; align-items: center; justify-content: center; width: 48%; max-width: 343px; min-height: 68px; margin: 10px 15px; padding: 5px; border: 0; border-radius: 34px; background: #59C6A1; color: #fff; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; font-size: 18px; font-weight: bold; letter-spacing: 0.06em; box-sizing: border-box; cursor: pointer; }
}

/*TAB用*/
@media (max-width:1200px) {
  .container { background-position: top 240px right 0; background-size: 67.42vw auto; }

  /*ページタイトル*/
  .kv { height: 260px; }

  /*大見出し*/
  h3 { margin-bottom: 70px; font-size: 50px; }
  h3 small { font-size: 16px; }

  /*会員名簿 members*/
  .members_sec { margin-bottom: 240px; }
  .members_sec h4 { font-size: 22px; }
  .members_sec .table table th, .members_sec .table table td {font-size: 14px;}

  /*年間スケジュール schedule*/
  .schedule_sec h4 { margin-bottom: 40px; font-size: 80px; }
  .schedule_sec .month_block .txtbox { padding-left: 80px; }
  .schedule_sec .month_block:before { left: 30px; }
  .schedule_sec .month_block:after { left: 34.5px; }
}

/*SP用*/
@media screen and (max-width:828px) {
  .container { background-position: top 37.43vw right -6.7vw; background-size: 114vw auto; }

  /*ページタイトル*/
  .regulation .kv { background: url(../../images/src/regulation/kv_sp.jpg) no-repeat center / cover; }
  .members .kv { background: url(../../images/src/members/kv_sp.jpg) no-repeat center / cover; }
  .contact .kv { background: url(../../images/src/contact/kv_sp.jpg) no-repeat center / cover; }
  .schedule .kv { background: url(../../images/src/schedule/kv_sp.jpg) no-repeat center / cover; }
  .privacy_policy .kv { background: url(../../images/src/privacy_policy/kv_sp.jpg) no-repeat center / cover; }
  .kv { margin-bottom: 1.81vw; padding-top: 8vw; height: 38.4vw; }
  .kv .tit { font-size: 4.1vw; }
  .kv .tit_en { margin-top: 0; font-size: 3.14vw; }

  /*パンくず*/
  .breadcrumbs { margin-bottom: 7.8vw; padding: 0 7.246vw; font-size: 3.14vw; }

  /*大見出し*/
  h3 { margin-bottom: 9.5vw; font-size: 7.24vw; }
  h3 small { font-size: 3.623vw; }
  .members_sec, .schedule_sec, .schedule_text { padding: 0 7.246vw; }

  /*会員名簿 members*/
  .members_sec { margin-bottom: 56.15vw; }
  .members_sec h4 { margin-bottom: 6vw; font-size: 3.62vw; line-height: 1.76; }
  .members_sec .table table th, .members_sec .table table td { padding: 0 5vw; font-size: 3.14vw; line-height: 3.34; }
  .members_sec .corporate_logo { margin: 70px auto 0; }
  .members_sec .corporate_logo ul { display: flex; justify-content: start; flex-wrap: wrap; align-items: center; margin: 0px auto 0; }
  .members_sec .corporate_logo ul li { width: 50%; text-align: center; margin: 35px 0; padding: 0 4%; }

  /*年間スケジュール schedule*/
  .schedule_sec { margin-bottom: 7.97vw; }
  .schedule_sec.sec1 { margin-bottom: 7vw; }
  .schedule_sec.sec2 { margin-bottom: 7vw; }
  .schedule_sec h4 { margin-bottom: 7vw; font-size: 12.07vw; position: relative; top: 10px; left: 0px; }
  .schedule_sec .month_block { display: block; }
  .schedule_sec .month_block:not(:last-child) { margin-bottom: 9.66vw; }
  .schedule_sec .month_block .txtbox { width: 100%; padding-left: 6.88vw; }
  .schedule_sec .month_block:before { left: -0.2vw; top: 6vw; width: 2.17vw; height: 2.17vw; }
  .schedule_sec .month_block:after { left: 1vw; top: 6vw; width: 1px; height: calc(100% + 14.49vw); }
  .schedule_sec.sec1 .month_block:before, .schedule_sec.sec1 .month_block:after { top: 7.72vw; }
  .schedule_sec .month_block:last-child:after { height: 100%; }
  .schedule_sec.sec2 .month_block:last-child:after { height: 96%; }
  .schedule_sec.sec3 .month_block:last-child:after { height: 100%; }
  .schedule_sec .month_block figure { margin: 0 auto; width: 56.64vw; padding-right: 0px; }
  .schedule_sec .month_block .month { margin-bottom: 4.5vw; }
  .schedule_sec.sec1 .month_block .month { margin-bottom: 3vw; }
  .schedule_sec .month_block .month p { height: 14.25vw; width: 14.25vw; font-size: 3.623vw; }
  .schedule_sec .month_block .month .title { margin-bottom: 0; margin-top: 0px; margin-left: 0px; }
  .schedule_sec .month_block .title { position: absolute; left: 23vw; top: 4.5vw; margin-bottom: 0px; font-size: 3.62vw; }
  .schedule_sec.sec1 .month_block .title { left: 25vw; top: 4vw; }
  .schedule_sec .month_block .text { padding-left: 0.60vw; }
  .schedule_sec .month_block .text ul { margin-bottom: 4.83vw; }
  .schedule_sec .month_block .text ul li { font-size: 3.38vw; line-height: 1.64; }
  .schedule_sec .month_block .text ul li:before { top: -0.36vw; margin-right: 1.81vw; width: 2.234vw; height: 2.234vw; }
  .schedule_text { margin-top: 12.5vw; margin-bottom: 22vw; }
  .schedule_text p { padding: 0px; font-size: 3.62vw; }
  .regulation_sec, .privacy_policy_sec { margin-bottom: 7.246vw; font-size: 3.38vw; }
  .regulation_sec { padding: 0 7.246vw; }
  .privacy_policy_sec { padding: 0 8vw; }
  .regulation_sec .text > ol, .privacy_policy_sec .text > ol, .privacy_policy_sec .text > ul {/* padding-left: 1em; */}
  .regulation_sec .text ol ol li { padding-left: 1.5em; text-indent: -1.5em; }
  .privacy_policy_sec .box { display: block; margin: 2.415vw 0 0.845vw; margin-left: 0; padding: 2.898vw 2.9vw; }
  .privacy_policy_sec .box li { padding-left: 0; text-indent: 0; }
  .contact h3 { margin-bottom: 9.5vw; }
  .contact_sec { padding: 0 7.186vw; }
  .contact_sec table { margin-bottom: 1.268vw; }
  .contact_sec table th, .contact_sec table td { display: block; width: 100%; height: auto; }
  .contact_sec table th { padding-top: 0.6vw; padding-left: 0; padding-bottom: 1.2vw; font-size: 3.38vw; }
  .contact_sec table td { padding-bottom: 7.24vw; }
  .contact_sec table td .memo { padding-top: 1vw; font-size: 3.14vw; }
  .contact_sec table td span.memo { display: block; margin-left: 0; }
  .contact_sec table td .p-extended-address { margin-bottom: 0; }
  .contact_sec table td input[type="text"], .contact_sec table td input[type="tel"], .contact_sec table td input[type="email"], .contact_sec table td textarea { width: 100%; border: 0; padding: 2.11vw 4.83vw; font-size: 3.14vw; }
  .contact_sec table td input.size1 { max-width: 49.637vw; }
  .contact_sec table td input.size2 { max-width: 49.637vw; }
  .contact_sec table td input.size3 { max-width: 49.637vw; }
  .contact_sec table td input.size4 { max-width: none; }
  .contact_sec table td input.d-block { display: block; }
  .contact_sec table td input.d-inliine-block { display: inline-block; }
  .contact_sec table td input + input { margin-top: 3vw; }
  .contact_sec table td textarea { height: 44.686vw; }
  .contact_sec table td .postal-search { display: inline-block; width: 28.26vw; margin-left: 4vw; font-size: 3.14vw; line-height: 9.3vw; }
  .contact_sec table td input.p-street-address { max-width: none; }
  .contact_sec .btns { display: block; }
  .contact_sec .btns input[type="submit"], .contact_sec .btns input[type="button"] { width: 62vw; max-width: none; min-height: 11.47vw; margin: 0 auto 3.14vw; padding: 5px; border-radius: 5.735vw; font-size: 3.62vw; }
}
