@charset "UTF-8";

@import "lp-common.css";

/* color-mix
------------------------------*/
:root {
  /* メインカラー */
  --main-color-soft: color-mix(in oklab, var(--main-color) 13%, white);
  --main-color-pale: color-mix(in oklab, var(--main-color) 7%, white);
  --main-color-light: color-mix(in oklab, var(--main-color) 70%, white);
  --main-color-border: color-mix(in oklab, var(--main-color) 28%, white);
  --main-color-dark: color-mix(in oklab, var(--main-color) 80%, black);

  /* サブカラー */
  --sub-color-soft: color-mix(in oklab, var(--sub-color) 20%, white);
  --sub-color-pale: color-mix(in oklab, var(--sub-color) 40%, white);
  --sub-color-light: color-mix(in oklab, var(--sub-color) 70%, white);
  --sub-color-border: color-mix(in oklab, var(--sub-color) 50%, white);
  --sub-color-dark: color-mix(in oklab, var(--sub-color) 80%, black);

  /* アクセントカラー */
  --accent-color-soft: color-mix(in oklab, var(--accent-color) 13%, white);
  --accent-color-pale: color-mix(in oklab, var(--accent-color) 7%, white);
  --accent-color-light: color-mix(in oklab, var(--accent-color) 70%, white);
  --accent-color-border: color-mix(in oklab, var(--accent-color) 28%, white);
  --accent-color-dark: color-mix(in oklab, var(--accent-color) 80%, black);
}

/* Common
------------------------------*/
body {
  background: none;
}
#wrapper {
  max-width: 750px;
  width: 100%;
  position: relative;
  z-index: initial;
  overflow: hidden;
  padding: 0;
  margin-inline: auto;
  background: #fff;
}
#wrapper.bg::before {
  left: 0;
  background-position: right top;
}
#wrapper.bg::after {
  right: 0;
  background-position: left top;
}
#wrapper.bg::before,
#wrapper.bg::after {
  content: "";
  position: fixed;
  top: 0;
  width: calc(50vw - 375px);
  height: 100%;
  background-image: var(--bg-image, none);
  background-color: var(--bg-color);
  background-size: max(1000px, 100%) auto;
  background-repeat: repeat-y;
  z-index: -1;
}
.inner {
  max-width: 750px;
  width: 100%;
  margin-inline: auto;
}
#wrapper .contact-common {
  padding: 28px 0 0 0;
}
#schedule .contact-common {
  padding: 80px 0 0 0;
}
section .inner {
  padding: 80px 20px;
}
section .title {
  padding: 80px 0;
}
section .title img {
  margin: 0 auto;
}
@media (max-width: 768px) {
  section .title img {
    height: 41px;
    width: auto;
  }
  .sp-none {
    display: none;
  }
}
@media (max-width: 768px) {
  .pc_only {
    display: none;
  }
}

.sp_only {
  display: none;
}
@media (max-width: 768px) {
  .sp_only {
    display: inline;
  }
}
/* Navi
------------------------------*/
#global-nav {
  background: #122882;
}
#global-nav .navi li {
  width: 20%;
}

/* Header
------------------------------*/
#header {
  background: #FFFFFF;
  position: initial;
}
#header .header-inner {
  max-width: 750px;
  width: 100%;
  margin-inline: auto;
  padding: 22px 0 17px;
  box-sizing: border-box;
}
#header .header-inner #header-logo {
  display: block;
  max-width: 317px;
  width: 100%;
  height: auto;
  padding: 0;
  margin-inline: auto;
}
@media (max-width: 768px) {
  #header .header-inner {
    padding: 11px 0 8.5px;
  }
  #header .header-inner #header-logo {
    max-width: 158px;
  }
}

/* Main
------------------------------*/
#main {
  /* background: url(../images/lp/rheos202402/back.png) center top/cover no-repeat; */

}
.main-manseki {
  font-size: 25px;
  font-weight: bold;
  color: #d00;
  border: 3px solid #d00;
  padding: 30px 40px;
  text-align: center;
  max-width: 700px;
  margin: 40px auto 0;
}

/* Message
------------------------------*/
#message {
  color: #f00;
}
#message .inner {
  padding-top: 30px;
}
#message .box {
  padding: 15px;
  text-align: center;
  border: 1px solid #f00;
}

/* contact
------------------------------*/
#contact {
  
}
#contact .contact-common {
  padding: 20px;
  box-sizing: border-box;
}
.contact-content {
  margin: 0;
}
.contact-content .item {
  padding: 0;
}
.contact-content .item .top_contact_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 345px;
  width: calc(50% - 10px);
  height: 100%;
  border-radius: clamp(5px, 1.3vw ,10px);
  text-decoration: none;
  font-size: clamp(16px,4.2vw, 32px);
  font-weight: 400;
  line-height: clamp(25px,6.5vw ,50px);
  letter-spacing: 0;
  text-align: center;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 clamp(6.5px, 1.7vw ,13px) var(--accent-color-dark);
  background: var(--accent-color);
  aspect-ratio: 23 / 9;
  transition: all 0.3s ease;
}
.contact-content .item .top_contact_btn.disabled {
  color: #fff;
  cursor: default;
  box-shadow: 0 clamp(6.5px, 1.7vw ,13px) #B1B1B1;
  border-color: #C9C9C9;
  background: #C9C9C9;
  transform: initial;
}
.contact-content .item .top_contact_btn .bold {
  font-size: clamp(20px,5vw ,40px);
  font-weight: bold;
}
@media (max-width: 768px) {
  #contact .contact-common {
    padding: 10px;
  }
  .contact-content .item .top_contact_btn {
    width: calc(50% - 5px);
  }
}
.contact-content .item .top_contact_btn:hover {
  box-shadow: 0 0 0 transparent;
  transform: translateY(clamp(6.5px, 1.7vw ,13px));
}

/* About
------------------------------*/
#about {
  color: #000;
}
#about .inner {
  max-width: 750px;
  width: 100%;
  padding: 50px 20px;
  box-sizing: border-box;
}
#about .main-text {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 30px;
  color: var(--main-color);
}
#about .text {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: left;
}
@media (max-width: 768px) {
  #about .inner {
    padding: 50px 10px;
  }
  #about .main-text {
    font-size: 21px;
    line-height: 28px;
    margin-bottom: 15px;
  }
  #about .text {
    font-size: 16px;
    line-height: 27px;
  }
}
#about .text + .text {
  margin-top: 2.3vw;
}
#about .text .bold {
  font-weight: bold;
}
.sec-tit {
  text-align: center;
  padding: 0 0 53px;
}
.sec-tit .tit {
  font-size: 32px;
  line-height: 1;
  letter-spacing: 5px;
}
.sec-tit .cap {
  font-size: 15px;
  line-height: 1;
  margin: 12px 0 0;
  letter-spacing: 5px;
}
/* company
------------------------------*/
#company {
  background: #E6E6E6;
}
#company .inner .tit {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  color: #000;
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 40px;
  position: relative;
}
#company .inner .tit::after {
  content: "";
  display: block;
  height: 5.25px;
  width: 90px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  background: var(--main-color);
  position: absolute;
}
@media (max-width: 768px) {
  #company .inner {
    padding: 40px 10px;
  }
  #company .inner .tit {
    font-size: 21px;
    line-height: 28px;
    padding-bottom: 9px;
    margin-bottom: 21px;
  }
  #company .inner .tit::after {
    height: 3.5px;
    width: 50px;
  }
}
/* explanation
------------------------------*/
.explanation {
  background: #E6E6E6;
}
.explanation.guest {
  background: #E6E6E6;
  padding: 0 0 40px;
}
.explanation.guest + .explanation.guest {
  background: #E6E6E6;
  padding: 0 0 40px;
}
.explanation.guest + .explanation.guest:last-of-type {
  padding: 0;
}
.explanation.guest:first-child + .explanation {
  background: #E6E6E6;
  padding-top: 80px;
  padding-bottom: 80px;
}
.explanation.guest.only-one {
  padding: 0;
}
.explanation.guest.only-one + .explanation {
  background: #E6E6E6;
  padding-top: 40px;
}
.explanation + .explanation {
  background: #E6E6E6;
  padding-top: 0;
}
.explanation .exp-inner {
  background: #fff;
  max-width: 958px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 41px 41px 51px;
  position: relative;
}
.explanation .text-box {
  max-width: 100%;
  padding: 41px 0 0 0;
}
.explanation .text-box .bold {
  font-weight: bold;
}
.explanation .exp-tit {
  text-align: center;
  }
.explanation .exp-tit .logo {
  display: block;
  max-height: 50px;
  font-size: 30px;
  line-height: 50px;
}
.explanation .exp-tit .logo img {
  display: block;
  width: auto;
  height: 50px;
  margin-inline: auto;
  object-fit: contain;
}
.explanation .exp-tit .logo-text {
  font-size: 22px;
  line-height: 30px;
  padding-left: 8px;
}
.explanation .exp-text {
  margin-bottom: 26px;
  line-height: 26px;
}
.explanation .exp-text .notes {
  font-size: 87%;
  color: #666;
}
.explanation .exp-text:last-child {
  margin-bottom: 0;
}
.explanation .img-box {
  max-width: 164px;
}
.explanation .img-box img {
  width: 100%;
  height: auto;
}
.explanation .img-text01 {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 21px;
  white-space: nowrap;
}
.explanation .img-text02 {
  margin: 5px 0 0;
  font-weight :bold;
  font-size: 18px;
  line-height: 23px;
}
.explanation .img-text02 .small {
  font-size: 16px;
}

/* Lecturer
------------------------------*/
#lecturer {
  color: #000;
  background: var(--accent-color-soft);
}
#lecturer .inner {
  padding: 50px 20px;
}
@media (max-width: 768px) {
  #lecturer .inner {
    padding: 31px 10px 40px;
  }
}
#lecturer .inner .tit {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 40px;
  position: relative;
}
#lecturer .inner .tit::after {
  content: "";
  display: block;
  height: 5.25px;
  width: 90px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  background: var(--main-color);
}
#lecturer .biography {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
#lecturer .biography .year {
  width: 76px;
  white-space: nowrap;
}
#lecturer .biography .bio-text {
  width: calc(100% - 76px);
}

#lecturer-list .item {
  margin-bottom: 50px;
}
#lecturer-list .item:last-child {
  margin-bottom: 0;
}

#lecturer-list .item .item_image {
  max-width: 180px;
  width: 100%;
  height: 180px;
  margin-inline: auto;
  margin-bottom: 17px;
  border-radius: 50%;
  overflow: hidden;
}
#lecturer-list .item .photo {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  object-fit: contain;
}
#lecturer-list #main-item .photo {
  left: 0;
  right: inherit;
}
#lecturer-list .name {
  margin-bottom: 15px;
}
#lecturer-list .name {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  margin-bottom: 15px;
  text-align: center;
}
#lecturer-list .name > * {
  display: inline-block;
  vertical-align: middle;
}
#lecturer-list .name .honor {
  margin-left: 5px;
  font-size: 20px;
}
@media (max-width: 768px) {
  #lecturer-list .name .honor {
    font-size: 16px;
  }
}
#lecturer-list .name .place {
  font-size: 18px;
  vertical-align: top;
  display: inline-block;
  padding: 3px 10px 0 0;
}
#lecturer-list .name .en {
  margin-left: 40px;
  font-size: 18px;
}
#lecturer-list #main-item .name .en {
  margin-left: 30px;
}
#lecturer-list .company {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
}
@media (max-width: 768px) {
  #lecturer-list .item {
    margin-bottom: 48px;
  }
  #lecturer-list .item .item_image {
    max-width: 160px;
    height: 160px;
    margin-bottom: 8.5px;
  }
  #lecturer .inner .tit {
    font-size: 21px;
    line-height: 28px;
    padding-bottom: 9px;
    margin-bottom: 21px;
  }
  #lecturer .inner .tit::after {
    height: 3.5px;
    width: 50px;
  }
  #lecturer .biography {
    font-size: 14px;
    line-height: 21px;
  }
  #lecturer-list .name {
    font-size: 20px;
    line-height: 27px;
    margin-bottom: 8px;
  }
  #lecturer-list .company {
    font-size: 14px;
    line-height: 27px;
  }
}
#lecturer-list .company .small {
  font-size: 12px;
  vertical-align: middle;
}
#lecturer-list .company .position {
  margin-left: 10px;
}
#lecturer-list .comment {
  margin-top: 25px;
  font-size: 13px;
}

/* Program
------------------------------*/
#program {
  background: #fff;
}
#program .inner {
  padding: 80px 20px;
}
@media (max-width: 768px) {
  #program .inner {
    padding: 40.5px 10px 43px;
  }
}
#program .inner .tit {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  color: #000;
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 40px;
  position: relative;
}
#program .inner .tit::after {
  content: "";
  display: block;
  height: 5.25px;
  width: 90px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  background: var(--main-color);
  position: absolute;
}
#program .inner #program-list .program-item {
  margin-bottom: 60px;
}
@media (max-width: 768px) {
  #program .inner #program-list .program-item {
    margin-bottom: 30px;
  }
}
#program .inner #program-list .program-item + .program-item {
  padding-top: 60px;
  position: relative;
}
#program .inner #program-list .program-item + .program-item::before {
  content: "";
  display: block;
  max-width: 400px;
  width: 100%;
  left: 50%;
  top: 0;
  border-top: 1px solid #aaa;
  position: absolute;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  #program .inner #program-list .program-item + .program-item {
    padding-top: 30px;
  }
  #program .inner #program-list .program-item + .program-item::before {
    max-width: 200px;
  }
}
#program .inner #program-list .program-item:last-child {
  margin-bottom: 0;
}
.program-item .program-time p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
}
.program-item .program-subheading {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
}
.program-item .program-heading {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 18px;
}
.program-item .program-info {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: left;
  margin-bottom: 18px;
}
.program-item .program-info ul {
  padding-left: 2em;
}
.program-item .program-info ul li {
  list-style: disc;
}
.program-item .program-lecturers ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.program-item .program-lecturers ul .lecturer-img {
  max-width: 150px;
  width: 100%;
  height: 150px;
  overflow: hidden;
  border-radius: 50%;
}
.program-item .program-lecturers ul .lecturer-img img {
  max-width: 100%;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 768px) {
  #program .inner .tit {
    font-size: 21px;
    line-height: 28px;
    padding-bottom: 9px;
    margin-bottom: 22px;
  }
  #program .inner .tit::after {
    height: 3.5px;
    width: 50px;
  }
  .program-item .program-time p {
    font-size: 12px;
    line-height: 27px;
  }
  .program-item .program-subheading {
    font-size: 16px;
    line-height: 27px;
  }
  .program-item .program-heading {
    font-size: 16px;
    line-height: 27px;
    margin-bottom: 8px;
  }
  .program-item .program-info {
    font-size: 14px;
    margin-bottom: 18px;
  }
  .program-item .program-lecturers ul .lecturer-img {
    max-width: 80px;
    height: 80px;
  }
}
/* Schedule
------------------------------*/
#schedule {
  color: #fff;
  background: var(--sub-color-pale);
}
#schedule .inner {
  padding: 80px 20px;
}
@media (max-width: 768px) {
  #schedule .inner {
    padding: 34.5px 10px;
  }
}
#schedule .inner .tit {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  color: #000;
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 40px;
  position: relative;
}
#schedule .inner .tit::after {
  content: "";
  display: block;
  height: 5.25px;
  width: 90px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  background: var(--main-color);
  position: absolute;
}
@media (max-width: 768px) {
  #schedule .inner .tit {
    font-size: 21px;
    line-height: 28px;
    padding-bottom: 9px;
    margin-bottom: 22px;
  }
  #schedule .inner .tit::after {
    height: 3.5px;
    width: 50px;
  }
}
#schedule #seminar-list .item:not(:first-child) {
  margin-top: 0;
  padding-top: 40px;
}
#schedule #seminar-list:has(div.online_list:not(.none)) div.venue_list {
  margin-bottom: 90px;
}

#schedule div.venue_list .contact-btn,
#schedule div.online_list .contact-btn {
  margin-top: 29px;
}
@media (max-width: 768px) {
  #schedule #seminar-list:has(div.online_list:not(.none)) div.venue_list {
    margin-bottom: 45px;
  }
  #schedule div.venue_list .contact-btn,
  #schedule div.online_list .contact-btn {
    margin-top: 14.5px;
  }
}
#schedule .seminar-date {
  margin-bottom: 37px;
}
#schedule .seminar-info {
  padding-bottom: 37px;
  position: relative;
}
#schedule .seminar-info::after {
  content: "";
  display: block;
  max-width: 400px;
  width: 100%;
  border-top: 1px solid #AAAAAA;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  #schedule .seminar-date {
    margin-bottom: 18.5px;
  }
  #schedule .seminar-info {
    padding-bottom: 18.5px;
  }
  #schedule .seminar-info::after {
    max-width: 200px;
  }
}

#schedule .icon_wrap {
  margin-bottom: 32px;
}
#schedule .icon_wrap .icon {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  width: 100%;
  color: #000;
  text-align: center;
}
#schedule .venue_img,
#schedule .online_img {
  max-width: 100%;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 26px;
}
@media (max-width: 768px) {
  #schedule .icon_wrap {
    margin-bottom: 16px;
  }
  #schedule .icon_wrap .icon {
    font-size: 16px;
    line-height: 28px;
  }
  #schedule .venue_img,
  #schedule .online_img {
    border-radius: 5px;
    margin-bottom: 13px;
  }
}
#schedule .venue_img img,
#schedule .online_img img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
}
#schedule .venue_info_area,
#schedule .online_info_area {
  color: #000;
}
#schedule .online_name {
  margin-bottom: 26px;
}
#schedule .venue_name .venue_text,
#schedule .online_name .online_text {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  color: #000;
}
#schedule .online_name .online_text {
  display: flex;
}
#schedule .online_name .online_title {
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  #schedule .online_name {
    margin-bottom: 13px;
  }
  #schedule .venue_name .venue_text,
  #schedule .online_name .online_text {
    font-size: 16px;
    line-height: 28px;
  }
  #schedule .online_name .online_text {
    flex-wrap: wrap;
  }
}
#schedule .room_name {
  margin: 25px 0 0;
}
#schedule .room_name .room_text {
  font-size: 25px;
  font-weight: bold;
}
#schedule .access .access-text {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
#schedule .access .access-text a {
  color: #000;
  text-decoration: none;
}
#schedule .online_info {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  color: #000;
}
@media (max-width: 768px) {
  #schedule .access .access-text {
    font-size: 14px;
    line-height: 21px;
  }
  #schedule .online_info {
    font-size: 14px;
    line-height: 21px;
  }
}
#schedule .date-box {
  width: 49.5%;
  max-width: 492px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 8px;
  padding: 29px 20px 34px;
}

#schedule .date-img {
  text-align: center;
  margin: 16px 0 0;
}
#schedule .date-img img {
  width: 100%;
  height: auto;
}
#schedule .max {
  font-size: 16px;
  margin: 18px 0 0;
  padding: 0 10px;
  line-height: 16px;
}
#schedule .max .num {
  font-size: 25px;
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho ProN','Hiragino Mincho Pro','HGS明朝E','メイリオ','Meiryo',serif;
  line-height: 16px;
  vertical-align: top;
}
#schedule .date-place {
  padding: 0 10px;
  margin: 18px 0 0;
  font-size: 16px;
  line-height: 2;
}
#schedule .date-place .place-table {
  width: 100%;
}
#schedule .date-place .place-table th {
  font-weight: normal;
  width: 50.41px;
  white-space: nowrap;
}
#schedule .date-place .place-url {
  display: inline-block;
  background: url(../images/lp/sony202310/icon_map.png) left top/15px auto no-repeat;
  line-height: 20px;
  font-size: 18px;
  padding-left: 20px;
}
#schedule .date-btn {
  margin: 25px 0 0;
  text-align: center;
}
#schedule .date-btn a {
  display: inline-block;
  vertical-align: top;
}



#schedule .area {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 2px;
  color: #000;
}
@media (max-width: 768px) {
  #schedule .area {
    font-size: 16px;
    line-height: 28px;
    margin-bottom: 1px;
  }
}

#schedule .label {
  padding: 5px;
  margin-left: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .1em;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  #schedule .label {
    font-size: 14px;
    line-height: 1;
  }
}
#schedule .label-full {
  background: #fff;
  border: 1px solid #e60012;
  color: #e60012;
}
#schedule .label-few {
  background: #f48f09;
}
#schedule .label-waiting {
  color: #e60012;
  background: #fff;
  border: 1px solid #e60012;
}

#schedule h3.date {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  color: #000;
  text-align: center;
}
#schedule h3.date .date_time {
  display: block;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  #schedule h3.date {
    font-size: 21px;
    line-height: 28px;
  }
  #schedule h3.date .date_time {
    font-size: 16px;
    line-height: 28px;
  }
}
#schedule .info img {
  display: inline-block;
}
#schedule .venue_cap {
  display: flex;
  margin-bottom: 36px;
}
#schedule .capacity {
  display: inline-block;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #000;
  padding: 10px;
  background: var(--sub-color);
}
@media (max-width: 768px) {
  #schedule .venue_cap {
    margin-bottom: 18px;
  }
  #schedule .capacity {
    font-size: 14px;
    line-height: 14px;
    padding: 5px;
  }
}
#schedule .place {
  margin-bottom: 18px;
  font-size: 36px;
  line-height: 1.0;
}
#schedule .place .small {
  font-size: 22px;
  font-weight: normal;
}
#schedule .address {
  font-size: 18px;
  line-height: 1.0;
}

#schedule .access {
  display: table;
  clear: both;
  overflow: hidden;
}
#schedule .access .box {
  padding: 0 25px;
  height: 100%;
  font-size: 22px;
  line-height: 1.0;
  letter-spacing: 0;
  color: #666;
  white-space: nowrap;
  background: #fff;
  display: table-cell;
  vertical-align: middle;
}
#schedule dd {
  margin-left: 20px;
  font-size: 16px;
}
#schedule .access-list:before {
  content: '●';
}
/* Contact
------------------------------*/
.img_center {
  margin: 0 auto;
}
/* Faq
------------------------------*/
#faq {
  background: #e6e6e6;
}

/* Organizer
------------------------------*/
#organizer {
  border-bottom: 4px solid #d8d8d8;
}
#organizer .inner {
  padding-bottom: 100px;
}
#organizer-list {
  text-align: center;
  letter-spacing: -.4em;
}
#organizer-list .item {
  display: inline-block;
  letter-spacing: .1em;
}
#organizer-list .item.main {
  margin-bottom: 60px;
  width: 100%;
}
#organizer-list .tit {
  margin-bottom: 30px;
  font-size: 18px;
  letter-spacing: .3em;
}
#organizer-list .logo-list {
  display: flex;
  align-items: center;
}
#organizer-list .logo-list .logo {
  margin: 0 32px;
}
#organizer-list .logo img {
  max-width: none;
  margin: 0 auto;
}

/* Plaza
------------------------------*/
#plaza {
  padding-bottom: 80px;
  border-bottom: 4px solid #d8d8d8;
}
#plaza .title {
  padding-top: 60px;
}

/* Service
------------------------------*/
#service .title {
  padding-top: 60px;
}

/* Contact（共通）
------------------------------*/
.contact-common {
  padding: 56px 0;
}
.contact-content .item {
  max-width: 100%;
  width: 100%;
}
.contact-content .item:has(.hybrid-btn) {
  max-width: inherit;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
@media (max-width: 768px) {
  .contact-content .item:has(.hybrid-btn) {
    gap: 10px;
  }
}
#lecturer .contact-common {
  padding: 0;
}
.contact-title:before,
.contact-title:after {
  width: calc(50% - 22px*12/2 - 15px);
}
.contact-title span {
  font-size: 22px;
}
#lecturer .contact-title span {
  color: #1A3068;
}

/* participation
------------------------------*/
.participation {
  background: var(--sub-color-pale);
}
.participation .inner {
  padding: 65px 20px;
  box-sizing: border-box;
  text-align: center;
}
@media (max-width: 768px) {
  .participation .inner {
    padding: 32.5px 10px;
  }
}
.participation .par-tit {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  padding-bottom: 10px;
  margin-bottom: 40px;
}
.participation .par-tit .spon {
  display: none;
}
.participation .par-tit span {
  display: inline-block;
  position: relative;
}
.participation .par-tit span::after {
  content: "";
  display: block;
  height: 5.25px;
  width: 90px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -10px;
  background: var(--main-color);
}
@media (max-width: 768px) {
  .participation .par-tit span::after {
    height: 3.5px;
    width: 50px;
  }
}
.participation .par-list {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}
.participation .par-list li {
  padding-left: 1.5em;
  text-align: left;
  position: relative;
  margin-bottom: 20px;
}
.participation .par-list li:last-child {
  margin-bottom: 0;
}
.participation .par-list li::before {
  content: '';
  position: absolute;
  display: inline-block;
  top: 5px;
  left: 0;
  width: 1em;
  height: 1em;
  -webkit-mask-image: url("../images/lp-ex-seminar/icon_check.svg");
  mask-image: url("../images/lp-ex-seminar/icon_check.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background: var(--accent-color);
}
@media (max-width: 768px) {
  .participation .par-tit {
    font-size: 21px;
    line-height: 28px;
    padding-bottom: 9px;
    margin-bottom: 25px;
  }
  .participation .par-list {
    font-size: 16px;
    line-height: 27px;
  }
  .participation .par-list li {
    padding-left: 25.5px;
    line-height: 27px;
    margin-bottom: 14.5px;
  }
  .participation .par-list li::before {
    top: 7px;
    width: 17px;
    height: 12px;
  }
}

/* talk
------------------------------*/
.talk {
  background: var(--main-color);
}
.talk .inner {
  max-width: 750px;
  padding: 67px 20px 67px;
}
.talk .talk-tit {
  font-size: 32px;
  text-align: center;
  color: #fff;
  margin-bottom: 35px;
}
.talk .talk-tit .spon {
  display: none;
}
.talk .talk-text {
  text-align: center;
  font-size: 18px;
  line-height: 1.8;
  color: #fff;
  margin-bottom: 20px;
}
.talk .talk-list {
  vertical-align: top;
  text-align: center;
  font-size: 0;
}
.talk .talk-list li {
  background: #FFFFFF;
  font-size: 21px;
  display: inline-block;
  white-space: nowrap;
  color: var(--main-color);
  padding: 11px 25px;
  line-height: 21px;
  border-radius: 43px;
  font-weight: bold;
  margin: 0 6.5px 23px;
}
.talk .talk-list li:last-child {
  margin-bottom: 0;
}
.talk .talk-list li.li-first {
  display: block;
  border-radius: initial;
  background: none;
  color: #fff !important;
  padding: initial;
  margin: initial;
  margin-bottom: 20px;
}
.talk .talk-list li .spon {
  display: none;
}

/* attention
------------------------------*/
#attention {
  padding: initial;
  background: #EFEFEF;
}
#attention .inner {
  padding: 50px 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  color: #000;
}
#attention p ~ .info-text,
#attention .info-text + .info-text {
  margin-top: 20px;
}
@media (max-width: 768px) {
  #attention .inner {
    padding: 41px 10px 34.5px;
    font-size: 14px;
    line-height: 21px;
  }
  #attention p ~ .info-text,
  #attention .info-text + .info-text {
    margin-top: 27.5px;
  }
}

/* sponsor
------------------------------*/
#sponsor {
  background: #fff;
}
#sponsor .inner {
  padding: 52px 20px 44px;
}
#sponsor .sponsor-category .tit {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0;
  color: #000;
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 20px;
  position: relative;
}
#sponsor .sponsor-category .tit::after {
  content: "";
  display: block;
  height: 5.25px;
  width: 90px;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  bottom: 0;
  background: var(--main-color);
  position: absolute;
}
#sponsor .sponsor-category + .sponsor-category {
  margin-top: 47px;
}
#sponsor .sponsor-info ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 20px;
}
#sponsor .sponsor-info ul li {
  max-width: 345px;
  width: calc(50% - 10px);
  height: auto;
  aspect-ratio: 115 / 43;
}
#sponsor .sponsor-info li .sponsor-name {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  height: 100%;
  padding: 10px;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  #sponsor .inner {
    padding: 26px 10px 22px;
  }
  #sponsor .sponsor-category .tit {
    font-size: 21px;
    line-height: 28px;
    padding-bottom: 9px;
    margin-bottom: 9px;
  }
  #sponsor .sponsor-category .tit::after {
    height: 3.5px;
    width: 50px;
  }
  #sponsor .sponsor-category + .sponsor-category {
    margin-top: 23.5px;
  }
  #sponsor .sponsor-info ul {
    column-gap: 10px;
  }
  #sponsor .sponsor-info ul li {
    width: calc(50% - 5px);
  }
  #sponsor .sponsor-info li .sponsor-name {
    font-size: 16px;
    line-height: 1.6;
    padding: 5px;
  }
}






/* Modal
------------------------------*/
#modal-seminar-select .button-list {
  margin: 0 -15px;
  clear: both;
  overflow: hidden;
  text-align: center;
  letter-spacing: -.4em;
}
#modal-seminar-select * + .button-list {
  margin-top: 30px;
}
#modal-seminar-select .button-list .button {
  padding: 0 15px;
  width: 50%;
  display: inline-block;
  letter-spacing: .1em;
  box-sizing: border-box;
}
#modal-seminar-select .button-list .button .btn {
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
}
#modal-seminar-select .btn-active {
  background: #08207c;
}
#modal-seminar-select .btn-inactive {
  background: #ccc;
}
#modal-seminar-select .btn-active:hover {
  opacity: .8;
}
#modal-seminar-select .message-box,
#modal-seminar-closed .message-box {
  margin-bottom: 15px;
  padding: 20px;
  font-size: 13px;
  border: 1px solid #ccc;
}
#modal-seminar-select .message-box-bottom {
  margin-top: 30px;
}
#modal-seminar-select .message-box.attention,
#modal-seminar-closed .message-box.attention {
  color: #f00;
  border-color: #f00;
}
#modal-seminar-select .message.box,
#modal-seminar-closed .message.box {
  margin-bottom: 0;
}
#modal-seminar-select .message-center {
  text-align: center;
  letter-spacing: .1em;
}


/* footer */
footer {
  padding: 0;
}
.none {
  display: none;
}

.apply_btn {
  display: inline-block;
  max-width: 100%;
  width: 100%;
  color: #fff;
  font-size: clamp(16px, 4.2vw, 32px);
  font-weight: bold;
  line-height: clamp(25px, 6.6vw, 50px);
  border-radius: clamp(5px, 1.3vw, 10px);
  cursor: pointer;
  position: relative;
  transition: all 0.3s ease;
  text-decoration: none;
  box-sizing: border-box;
  padding: clamp(7.5px, 2vw, 15px) 0;
  background: var(--accent-color);
  box-shadow: 0 clamp(5px, 1.3vw, 10px) var(--accent-color-dark);
}
.apply_btn:hover {
  box-shadow: 0 0 0 transparent;
  transform: translateY(clamp(5px, 1.3vw, 10px));
}
.apply_btn:visited {
  color: #fff;
}
.disabled {
  pointer-events: none;
  cursor: default;
  background: #C9C9C9;
  box-shadow: 0 clamp(5px, 1.3vw, 10px) #B5B5B5;
}
.date_box {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
@media (max-width: 768px) {
  .disabled {
    box-shadow: 0 clamp(5px, 1.3vw, 10px) #B5B5B5;
  }
}