@charset "UTF-8";
header.l-header.close .l-spHeader div#sp_modal {
  height: 150px;
}

div.lineup_kv {
  margin-top: var(--header-height);
  width: 100%;
  border-bottom: 1px solid var(--light-gray);
}
div.lineup_kv .title_area {
  width: 100%;
  background: var(--main-color);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
div.lineup_kv .title_area svg {
  position: relative;
  width: 328px;
  height: 200px;
  margin-right: -64px;
  display: block;
  z-index: 2;
}
div.lineup_kv .title_area svg path, div.lineup_kv .title_area svg text {
  fill: #fff !important;
}
div.lineup_kv .top-image {
  max-height: 438px;
}
div.lineup_kv .top-image img {
  object-fit: cover;
  max-width: 100%;
  width: 100%;
  max-height: 438px;
  height: auto;
}
@media print, screen and (max-width: 750px) {
  div.lineup_kv {
    margin-top: var(--header-height);
    height: 330px;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
  }
  div.lineup_kv .image_area {
    position: relative;
    z-index: 1;
    width: 100%;
  }
  div.lineup_kv .image_area div.sp_display {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  div.lineup_kv .image_area div.sp_display svg {
    filter: drop-shadow(0 1px 8px #464646);
  }
  div.lineup_kv .image_area div.sp_display svg path {
    fill: #fff !important;
  }
  div.lineup_kv .image_area div.sp_display svg text {
    fill: #fff;
  }
  div.lineup_kv .image_area img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

section#link1 {
  padding-top: 80px;
  padding-bottom: 45px;
}
section#link1 h1.logo1 {
  width: 444px;
  padding-bottom: 32px;
  margin: 0 auto;
}
section#link1 h1.logo1 svg path {
  fill: var(--toso-gray);
}
section#link1 div.description1 {
  padding-bottom: 30px;
}
section#link1 div.description1 p {
  padding-top: 30px;
  text-align: center;
}
section#link1 div.delivery_period {
  line-height: 2;
  min-height: 75px;
}
section#link1 div.delivery_period h3 {
  text-align: center;
}
@media print, screen and (max-width: 750px) {
  section#link1 h1.logo1 {
    width: 230px;
  }
}

section#main_menu {
  margin: 0 auto;
  padding: 60px 13px;
}
@media print, screen and (min-width: 751px) {
  section#main_menu {
    padding-top: var(--header-height-padding);
    margin-top: -30px;
  }
}
section#main_menu .main_menu_box {
  max-width: 580px;
  height: 270px;
  text-align: center;
  border: solid 1px var(--main-color);
  border-radius: 5px;
  padding: 25px 0 30px;
  margin: 0 auto 30px auto;
  display: grid;
  grid-template-rows: 35px 63px 50px;
  grid-template-columns: auto minmax(120px, auto);
  grid-row-gap: 25px;
}
section#main_menu .main_menu_box h2 {
  font-size: 26px;
  line-height: 35px;
}
section#main_menu .main_menu_box div.text {
  order: 3;
  padding: 0 8px;
  text-align: left;
  display: inline-block;
  margin: 0 auto;
}
section#main_menu .main_menu_box div.catalog_image {
  order: 2;
  grid-row: span 3;
}
section#main_menu .main_menu_box div.catalog_image img {
  height: 100%;
  object-fit: contain;
}
section#main_menu .main_menu_box a.btn_area {
  order: 4;
}
section#main_menu .main_menu_box a.btn_area button {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  width: 200px;
  height: 50px;
  margin: 0 auto;
}
section#main_menu .main_menu_box a.btn_area button svg {
  margin-left: 18px;
}
@media print, screen and (max-width: 750px) {
  section#main_menu .main_menu_box {
    height: auto;
    padding: 25px 20px 30px;
    grid-row-gap: 15px;
    grid-template-columns: auto minmax(105px, auto);
    grid-template-rows: 35px 140px 50px;
  }
  section#main_menu .main_menu_box h2 {
    grid-column: span 2;
  }
  section#main_menu .main_menu_box div.text {
    order: 2;
    padding: 0;
    padding-right: 16px;
  }
  section#main_menu .main_menu_box div.catalog_image {
    order: 3;
    grid-row: span 1;
  }
  section#main_menu .main_menu_box a.btn_area {
    grid-column: span 2;
  }
}

section#login_area {
  margin: 0 auto;
  font-size: 18px;
  text-align: center;
  padding: 35px 0 58px;
  background: var(--main-color-bg);
}
section#login_area h2 {
  font-size: 26px;
  line-height: 35px;
  padding-bottom: 37px;
}
section#login_area h2:before {
  content: "";
  display: block;
  height: 100px;
  margin-top: -100px;
  visibility: hidden;
}
section#login_area ul {
  display: grid;
  grid-template-columns: 200px 200px;
  grid-auto-rows: 85px;
  grid-column-gap: 100px;
  justify-content: center;
}
section#login_area ul div {
  height: 35px;
  line-height: 35px;
  text-align: center;
}
section#login_area ul button {
  display: block;
  width: 200px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  font-size: 18px;
}
@media print, screen and (max-width: 750px) {
  section#login_area ul {
    grid-template-columns: 200px;
    grid-row-gap: 40px;
  }
}

section#registration_area {
  background: var(--main-color-bg);
  text-align: center;
  padding: 30px 0 30px;
}
@media print, screen and (max-width: 750px) {
  section#registration_area {
    padding: 30px 17px;
  }
}
section#registration_area h2 {
  font-size: 26px;
  line-height: 35px;
  padding-bottom: 30px;
}
section#registration_area p.description {
  padding-bottom: 40px;
}
@media print, screen and (max-width: 750px) {
  section#registration_area p.description {
    font-size: 13px;
  }
}
section#registration_area ul.btn_area {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(330px, 380px));
  grid-auto-rows: 224px;
  grid-column-gap: 30px;
  justify-content: center;
}
section#registration_area ul.btn_area > li {
  border: solid 1px var(--main-color);
  border-radius: 5px;
  background: #fff;
  display: grid;
  grid-template-rows: 54px 60px;
  grid-row-gap: 40px;
  align-items: center;
  justify-content: center;
  padding: 31px 0 0;
}
section#registration_area ul.btn_area > li p.li_title {
  font-size: 20px;
  line-height: 27px;
}
section#registration_area ul.btn_area > li div.link_btn {
  width: 294px;
  height: 100%;
  margin: 0 auto;
}
section#registration_area ul.btn_area > li button {
  width: 100%;
  height: 100%;
  font-size: 18px;
}
@media print, screen and (max-width: 1050px) {
  section#registration_area ul.btn_area {
    grid-template-columns: 600px;
    grid-auto-rows: auto;
    grid-row-gap: 30px;
  }
  section#registration_area ul.btn_area > li {
    padding-left: 5px;
    padding-right: 5px;
    grid-template-rows: 64px 60px auto;
    grid-row-gap: 10px;
  }
}
@media print, screen and (max-width: 750px) {
  section#registration_area ul.btn_area {
    grid-template-columns: minmax(350px, 400px);
  }
}
section#registration_area div.bo_description {
  text-align: left;
}
section#registration_area div.bo_description ul.bo_description {
  list-style: disc;
  padding-left: 36px;
}
section#registration_area div.bo_description.out_column {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 14px;
}
section#registration_area div.bo_description.in_column {
  display: none;
  padding-bottom: 20px;
}
section#registration_area div.bo_description.in_column dl {
  display: grid;
  grid-template-columns: 1rem auto;
}
@media print, screen and (max-width: 1050px) {
  section#registration_area div.bo_description.out_column {
    display: none;
  }
  section#registration_area div.bo_description.in_column {
    display: block;
  }
}

section#about {
  padding: var(--header-height-padding) 30px 0;
  margin-top: -24px;
}
section#about h2.logo2 {
  text-align: center;
}
section#about h2.logo2 svg path {
  fill: var(--toso-gray);
}
section#about h2.logo2 + .under_bar1 {
  margin-top: 30px;
  margin-bottom: 30px;
}
section#about .about_message {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  line-height: 24px;
  padding-bottom: 40px;
}
section#about .about_message p:not(:first-child) {
  margin-top: 1rem;
}
section#about .btn_area button {
  width: 260px;
  height: 40px;
  font-size: 16px;
  padding: 10px;
}
section#about .btn_area button svg {
  width: 13px;
  height: 13px;
}
@media print, screen and (min-width: 751px) {
  section#about {
    margin-top: -30px;
  }
}
@media print, screen and (max-width: 750px) {
  section#about .about_message {
    line-height: 28px;
    padding-top: 30px;
    width: var(--sp-inner-width);
  }
  section#about .video_div {
    width: calc(100% - 10px);
  }
}

section.contents {
  max-width: var(--inner-width);
  width: var(--inner-width);
  align-items: stretch;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px minmax(auto, 920px);
}
section.contents > .left, section.contents > .right {
  border-top: var(--main-color-bg) solid 1px;
  border-bottom: var(--main-color-bg) solid 1px;
}
section.contents > .left {
  background: var(--main-color-bg);
  padding: 25px 28px 33px 18px;
}
section.contents > .left h3 {
  height: 95px;
  padding-bottom: 22px;
  font-size: 26px;
  line-height: 38px;
  font-weight: normal;
}
section.contents > .left p {
  font-size: 14px;
  line-height: 24px;
}
@media print, screen and (min-width: 751px) {
  section.contents {
    padding-top: var(--header-height-padding);
    margin-top: -30px;
  }
}
@media print, screen and (max-width: 750px) {
  section.contents {
    padding: var(--header-height) 13px 0;
    grid-template-columns: 1fr;
    max-width: var(--sp-inner-width);
    flex-wrap: wrap;
  }
  section.contents > .left, section.contents > .right {
    width: 100%;
  }
  section.contents > .left {
    padding: 25px 14px 27px 16px;
  }
}

section#company {
  min-height: calc(220px + var(--header-height));
}
section#company .left p {
  height: 67px;
}
section#company .company_list > ul {
  padding-left: 20px;
  display: grid;
  grid-template-columns: repeat(3, max-content);
  grid-column-gap: 28px;
  grid-row-gap: 8px;
}
section#company .company_list > ul > li a {
  display: flex;
  align-items: center;
}
section#company .company_list > ul > li a div.svg {
  margin-left: 16px;
}
section#company .company_list > ul > li a div.svg svg.link_mark path:first-child {
  fill: var(--toso-gray) !important;
}
section#company .company_list > ul > li a div.svg svg.link_mark path:nth-child(2) {
  fill: none !important;
  stroke: var(--toso-gray);
  stroke-linecap: round;
  stroke-miterlimit: 10;
}
section#company .company_list > ul:first-child {
  margin-top: 30px;
}
section#company .company_list > ul:nth-child(2) {
  padding-top: 13px;
}
@media print, screen and (max-width: 960px) {
  section#company .company_list > ul {
    grid-template-columns: repeat(auto-fill, minmax(300px, max-content));
  }
}
@media print, screen and (max-width: 750px) {
  section#company {
    height: auto;
    padding-top: var(--header-height);
    margin-top: -24px;
  }
  section#company .company_list {
    padding: 30px 15px 30px 0;
    width: 100%;
    margin: 0;
    grid-column-gap: 44px;
  }
  section#company .company_list li {
    font-size: 18px;
  }
  section#company .company_list > ul:first-child {
    height: auto;
  }
}

section#lecture {
  margin-bottom: 70px;
}
section#lecture > .left h3 {
  height: 57px;
}
@media print, screen and (max-width: 750px) {
  section#lecture {
    padding-top: var(--header-height);
    margin-top: -24px;
  }
  section#lecture > .left {
    padding-bottom: 49px;
  }
}

section#footer_btn_area {
  max-width: 100%;
  width: 900px;
  margin: 40.5px auto 14.5px;
  display: flex;
  justify-content: center;
}
section#footer_btn_area > div {
  width: 200px;
  height: 50px;
  padding-right: 20px;
  font-weight: bold;
}
section#footer_btn_area > div button {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 20px;
  font-weight: bold;
}
section#footer_btn_area > div button svg {
  margin-left: 20px;
}
section#footer_btn_area > div button.add_sample {
  font-size: 16px;
}
@media print, screen and (max-width: 750px) {
  section#footer_btn_area {
    max-width: var(--sp-inner-width);
    width: 100%;
    display: block;
  }
  section#footer_btn_area > div {
    width: var(--sp-inner-width);
    padding-right: 0;
    margin: 0 auto 16px;
  }
}

footer > div.flex_box {
  justify-content: space-between;
  max-width: var(--inner-width);
  height: 47px;
  margin: 0 auto;
}

@media print, screen and (max-width: 750px) {
  footer > div.flex_box > div.left, footer > div.flex_box > div.Copyright {
    width: 100%;
    text-align: center;
    font-weight: normal;
    font-size: 10px;
    line-height: 14px;
  }
}
/*
モーダル ----------------------------------------*/
.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition-duration: 0.8s;
}

.popup.is-show {
  opacity: 1;
  visibility: visible;
}

.popup .popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  min-height: 250px;
  z-index: 2;
  background-color: #fff;
  padding: 2rem;
}

@media print, screen and (max-width: 750px) {
  .popup .popup-inner {
    position: absolute;
    left: 50%;
    top: 40%;
    transform: translate(-50%, -40%);
    max-width: 90vw;
    width: 100%;
    min-height: 30vh;
  }
}
.popup .popup-inner .modal {
  z-index: 3;
  max-width: 600px;
  width: 100%;
  height: 100%;
  text-align: center;
}

.popup .popup-inner .close-btn {
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  cursor: pointer;
}

.popup .popup-inner .close-btn .batsu {
  display: block;
  width: 30px;
  /*枠の大きさ*/
  height: 30px;
  /*枠の大きさ*/
  position: relative;
}

.popup .popup-inner .close-btn .batsu::before, .popup .popup-inner .close-btn .batsu::after {
  content: "";
  display: block;
  width: 100%;
  /*バツ線の長さ*/
  height: 1px;
  /*バツ線の太さ*/
  background: var(--toso-gray);
  transform: rotate(45deg);
  transform-origin: 0% 50%;
  position: absolute;
  top: calc(14% - 5px);
  left: 14%;
}

.popup .popup-inner .close-btn .batsu::after {
  transform: rotate(-45deg);
  transform-origin: 100% 50%;
  left: auto;
  right: 14%;
}

.popup .popup-inner#modal_sound_select {
  display: none;
  max-width: 540px;
  width: 100%;
  height: 30vh;
  background-color: #fff;
}

.popup .popup-inner#modal_sound_select div.wrap {
  width: 100%;
  height: 100%;
  justify-content: center;
  padding: 1rem;
}

.popup .popup-inner#modal_sound_select div.wrap div {
  width: 50%;
  box-sizing: border-box;
}

.popup .popup-inner#modal_sound_select div.wrap div a {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
  padding: calc(1.5rem - 12px) 3rem 1.5rem;
  background: var(--main-color);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media print, screen and (max-width: 750px) {
  .popup .popup-inner#modal_sound_select div.wrap div a {
    font-size: 13px;
  }
}
@media print, screen and (max-width: 320px) {
  .popup .popup-inner#modal_sound_select div.wrap div a {
    font-size: 11px;
  }
}
.popup .popup-inner#modal_sound_select div.wrap div a:hover {
  padding: calc(1.5rem - 6px) 3rem;
}

.popup .popup-inner#modal_sound_select div.wrap div a:hover :before {
  top: 0;
  left: 0;
}

.popup .popup-inner#modal_sound_select div.wrap div a:before {
  position: absolute;
  top: -6px;
  left: -6px;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 3px solid var(--toso-gray);
  border-radius: 0.5rem;
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

.popup .popup-inner#modal_play_movie {
  display: none;
  max-width: 670px;
  width: 100%;
  height: 400px;
}

.popup .popup-inner#modal_play_movie .modal {
  justify-content: center;
}

.popup .black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

/* ここまでモーダル ----------------------------------------*/

/* 202510★ */
#app.wc2510 div#main {
  color: var(--main-font-color);
}
#app.wc2510 section[id] {
    padding-top: 72px;
    margin-top: -72px;
}
#app.wc2510 div#main div.lineup_kv {
  min-height: 438px;
  height: auto;
  border-bottom: 0;
}
#app.wc2510 div#main div.lineup_kv .top-image {
  display: flex;
  flex-direction: column;
  position: relative;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  background-image: url(../image/top/top_bg.webp);
  width: 100%;
  min-height: 438px;
  height: auto;
}
#app.wc2510 div#main div.lineup_kv .top-image picture {
  width: 580px;
  max-height: 201.79px;
  height: auto;
  margin: 40.2px auto 0;
}
#app.wc2510 div#main div.lineup_kv .top-image .event-info > div > img {
  width: 100%;
  max-width: 382.16px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}
#app.wc2510 div#main div.lineup_kv .top-image > div.event-info {
  display: flex;
  flex-direction: column;
  /* overflow: hidden; */
  margin: 0 auto 25px;
}
#app.wc2510 div#main div.lineup_kv .top-image > div.event-info p {
  font-size: 14px;
  text-align: center;
  margin: 29px auto 35px;
  justify-content: center;
  text-align: center;
}
#app.wc2510 div#main div.lineup_kv .top-image > div >div {
  width: 100%;
  display: flex;
  flex-direction: column;
  font-size: 18px;
  line-height: 32px;
  text-align: center;
}
#app.wc2510 div#main div.lineup_kv .top-image > div >div span {
  font-size: 20px;
}
/* link1★ */
#app.wc2510 div#main #link1 div.title {
  background-color: #CAA9AF;
  color: #fff;
  text-align: center;
  font-size: 26px;
  line-height: 29px;
  padding-bottom: 10px;
  margin: 80px auto 49px;
  max-width: 900px;
  width: calc(100% - 60px);
}
#app.wc2510 div#main #link1 {
    padding-bottom: 99px;
}
#app.wc2510 div#main #link1 div.title h2 {
  font-size: 32px;
  line-height: 40px;
  padding-top: 24px;
}
#app.wc2510 div#main #link1 div.title h2 > img {
  width: 100%;
  max-width: 158px;
  height: auto;
  margin: 0 auto;
}
#app.wc2510 div#main #link1 div.title p {
  font-size: 16px;
  line-height: 24px;
  margin-top: 6px;
  margin-bottom: 20px;
}
#app.wc2510 div#main div.l-wrapper section#link1 div.description1 {
    text-align: center;
    padding: 0px;
}
#app.wc2510 div#main #link1 div.description1 p {
  font-size: 16px;
  line-height: 40px;
}
/* link2★ */
#app.wc2510 div#main #link2 {
  width: 100%;
  max-width: 900px;
  margin: -72px auto 98px;
  text-align: center;
}
#app.wc2510 div#main #link2 h2 {
  font-size: 26px;
  font-weight: 600;
  color: var(--link-color);
  border-bottom: solid 1px var(--main-color);
  padding-bottom: 34px;
}
#app.wc2510 div#main #link2 h3 {
  font-size: 25px;
  font-weight: 500;
  margin: 40px auto 23px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#app.wc2510 div#main #link2 h3 > img {
  max-width: 23.45px;
  height: auto;
  margin-right: 10.5px;
}
#app.wc2510 div#main #link2 > div > p {
  font-size: 16px;
  line-height: 24px;
  margin: 20px auto 60px;
}
#app.wc2510 div#main #link2 .produce_area {
  max-width: 807px;
  width: calc(100% - 80px);
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  /* border-bottom: solid 1px var(--main-color); */
  padding-bottom: 55.7px;
}
#app.wc2510 div#main #link2 .produce_area .produce_image {
  flex-shrink: 0; 
  max-width: 179.21px;
  height: auto;
  margin-right: 37px;
}
#app.wc2510 div#main #link2 .produce_area .produce_text {
  flex-shrink: 1; 
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  position: relative;
  text-align: left;
  border: solid 1px var(--main-color);
}
#app.wc2510 div#main #link2 .produce_area .produce_text .title_text {
  font-size: 14px;
  font-weight: 500 ;
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  background-color: white;
  padding-left: 1rem;
  padding-right: 47px;
  padding-bottom: 9.5px;
  left: -1rem;
  top: -1rem;
}
#app.wc2510 div#main #link2 .produce_area .produce_text .title_text span {
  color: var(--link-color);
  font-size: 15px;
  font-weight: 400;
}
#app.wc2510 div#main #link2 .produce_area .produce_text .lecture_description {
  max-width: 600px;
  width: calc(100% - 17px);
  line-height: 1.8;
  margin: 0 auto;
  padding-top: 26.3px;
  padding-bottom: 14.3px;
  font-size: 12px;
  line-height: 22px;
}
#app.wc2510 div#main #link2 .link2_hint {
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border-bottom: solid 1px var(--main-color);
  border-top: solid 1px var(--main-color);
}
#app.wc2510 div#main #link2 .link2_seminar p {
  font-size: 16px;
  line-height: 24px;
  /* padding-bottom: 96px; */
  margin: auto;
}
/* link3★ */
#app.wc2510 div#main #link3 {
  width: 100%;

}
#app.wc2510 div#main #link3 > div {
  width: 100%;
    background: var(--main-color-bg);
  text-align: center;
  padding: 0;
}
#app.wc2510 div#main #link3 h2 {
  font-size: 26px;
  font-weight: 600;
  line-height: 35px;
  padding-bottom: 30px;
  background-color: #CAA9AF;
  color: #fff;
  padding: 17px 0 18px;
}
#app.wc2510 div#main #link3 h2 > span {
  font-size: 20px;
}
#app.wc2510 div#main #link3 .company_list { 
  max-width: 900px;
  margin: 0 auto;
}
#app.wc2510 div#main #link3 .company_list > ul {
  width: 100%;
  max-width: 900px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 auto;
  gap: 30px 50px;
  padding-top: 45px;
  padding-bottom: 45px;
  align-items: center;
}
#app.wc2510 div#main #link3 .company_list > ul > li {
  /* flex: calc(100% / 4);  */
  /* max-width: 200px; */
  /* min-width: 150px; */
  text-align: left;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(1) >img {
  max-width: 113.73px;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(2) > img {
  max-width: 256.93px;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(3) > img {
  max-width: 129.09px;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(4) > img {
  max-width: 136.58px;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(5) > img {
  max-width: 335.98px;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(6) > img {
  max-width: 75.01px;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(7) > img {
  max-width: 120.53px;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(8) img {
  max-width: 198px;
}
/* #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(1),
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(2),
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(3),
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(4) {
  padding-right: 60px;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(5){
    padding-right: 50px;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(6){
    padding-right: 50px;
}
#app.wc2510 div#main #link3 .company_list > ul > li:nth-child(7){
    padding-right: 50px;
} */
/* link4★ */
#app.wc2510 div#main #link4 {
   width: calc(100% - 60px);
  max-width: 900px;
  text-align: center;
  padding: 0 0 30px;
  margin: 0 auto 100.5px;
}
#app.wc2510 div#main #link4 h2 {
  font-size: 26px;
  font-weight: 600;
  line-height: 28px;
  color: var(--link-color);
  padding: 95px 0 17.5px;
  margin: 0 auto 43px;
  border-bottom: solid 1px var(--main-color);
}
#app.wc2510 div#main #link4 >div {
  width: 100%;
  max-width: 900px;
  display: flex;
  gap: 40px;
}
#app.wc2510 div#main #link4 .map iframe{
  width: 100%;
  width: 420px;
  height: 197px;
  margin: 0 auto;
}
#app.wc2510 div#main #link4 .info {
  width: 100%;
  max-width: 440px;
  height: 197px;
  margin: 0 auto;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#app.wc2510 div#main #link4 .info > div.info_event{
  width: 100%;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
}

#app.wc2510 div#main #link4 .info .info_japantex {
  background-color: #CAA9AF;
  text-align: center;
}
#app.wc2510 div#main #link4 .info .info_japantex p {
  font-size: 12px;
  font-weight: 500;
  line-height: 24px;
  color: #fff;
  margin: 30px auto;
}
#app.wc2510 div#main #link4 .info .info_japantex p >a {
  color: #fff;
  text-decoration: underline;
}
/* link5★ */
#app.wc2510 div#main #link5 > div {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  background: var(--main-color-bg);
  /* padding: 0 0 70px; */
  padding-bottom: 70px;
}
#app.wc2510 div#main #link5 h2 {
  font-size: 26px;
  font-weight: 600;
  line-height: 28px;
  padding-bottom: 30px;
  background-color: #CAA9AF;
  color: #fff;
  padding: 17px 0 18px;
}
#app.wc2510 div#main #link5 .link5_info {
  max-width: 900px;
  margin: 37px auto 50px;
}
#app.wc2510 div#main #link5 div.link5_info > p:first-child {
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 30px;
  font-size: 16px;
  font-weight: 300;
  line-height: 35px;
  text-align: center;
}
#app.wc2510 div#main #link5 div.link5_info > p:nth-of-type(2) {
  font-size: 16px;
  line-height: 35px;
  margin-bottom: 48px;
  text-align: center;
  padding-bottom: 50px;
}
#app.wc2510 div#main #link5 div.link5_info > p:last-child {
  font-size: 15px;
  line-height: 24px;
  text-align: center;
  font-weight: 500;
}
#app.wc2510 div#main #link5 div.link5_login {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 30px;
}
#app.wc2510 div#main #link5 div.link5_login > p {
  font-size: 20px;
  line-height: 24px;
  text-align: center;
  font-weight: 600;
  color: var(--link-color);
  display: inline-block;
}
#app.wc2510 div#main #link5 div.link5_login button {
  width: 294px;
  height: 50px;
  font-size: 18px;
  font-weight: 600;
  color: #CAA9AF;
  background-color: #fff;
  border: solid 1px #CAA9AF;
  margin: 0 auto;
}
/* 事前エントリー */
#app.wc2510 section#registration_area {
    background: var(--main-color-bg);
    text-align: center;
    padding: 30px 0 100px;
}
#app.wc2510 section#registration_area h2 {
  width: calc(100% - 60px);
  max-width: 900px;
  font-size: 26px;
  font-weight: 600;
  line-height: 28px;
  color: var(--link-color);
  padding: 95px 0 17.5px;
  margin: 0 auto 43px;
  border-bottom: solid 1px var(--main-color);
}
#app.wc2510 section#registration_area ul.btn_area {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(330px, 380px));
  grid-auto-rows: 224px;
    grid-column-gap: 30px;
    justify-content: center;
}
#app.wc2510 section#registration_area ul.btn_area > li {
    border: solid 1px var(--main-color);
    border-radius: 10px;
    border: #CAA9AF solid 1px;
    background: #fff;
    /* display: grid; */
    /* grid-template-rows: 54px 60px; */
    /* grid-row-gap: 40px; */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    /* justify-content: center; */
    padding: 31px 0 40px;
}
/* #app.wc2510 section#registration_area ul.btn_area > li:last-child {
    padding: 35px 0 40px;
} */
#app.wc2510 section#registration_area ul.btn_area > li .outline-btn {
    color: #fff;
    background: #CAA9AF;
    border: none;
    width: 100%;
    max-width: 294px;
    height: 50px;
    font-size: 18px;
    font-weight: 600;
}
#app.wc2510 section#registration_area ul.btn_area > li p.li_title {
    font-size: 20px;
    line-height: 30px;
    font-weight: 600;
    display: flex;
    flex-direction: column;
}
#app.wc2510 section#registration_area ul.btn_area > li p.li_title > span {
    font-size: 14px;
    font-weight: 300;
    line-height: 28px;
}
#app.wc2510 section#registration_area ul.btn_area > li div.link_btn {
    max-width: 294px;
    width: calc(100% - 20px);
    height: inherit;
    margin: 0 auto;
}
/* レスポンシブ★ 1*/
@media screen and (max-width: 750px) {
  #app.wc2510 section[id] {
    padding-top: 45px;
    margin-top: -45px;
  }
  #app.wc2510 div#main div.lineup_kv {
        margin-top: 54px;
        min-height: 220px;
        height: auto;
    }
  #app.wc2510 div#main div.lineup_kv .top-image {
        height: auto;
        min-height: 220px;
        padding-bottom: 20px;
    }
  #app.wc2510 div#main div.lineup_kv .top-image {
      background-image: url(../image/top/top_bg_sp.webp);
      background-repeat: repeat-x;
      background-size: contain;
      background-position: bottom center;
  }
  #app.wc2510 div#main div.lineup_kv .top-image picture {
    width: calc(100% - 40px);
    max-width: 335px;
    margin: 42.3px auto 0;
  }
  #app.wc2510 div#main div.lineup_kv .top-image picture img {
    width: 100%;
    height: auto;
    max-width: 100%;
  }
  #app.wc2510 div#main div.lineup_kv .top-image > div.event-info {
    padding: 0 15px;
    margin: 0 auto 15px;
  }
  #app.wc2510 div#main div.lineup_kv .top-image > div.event-info p {
    font-size: 14px;
    margin: 25px auto 37.5px;
  }
  #app.wc2510 div#main .event-info-sp {
    font-size: 16px;
    text-align: center;
    line-height: 28px;
    padding-top: 47px;
    padding-bottom: 11px;
  }
  #app.wc2510 div#main .event-info-sp > img {
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
  }
  /* link1 */
  #app.wc2510 div#main #link1 {
    padding-bottom: 0;
    width: 100%;
    margin: 0 auto;
  }
  #app.wc2510 div#main #link1 div.title {
    line-height: 29px;
    padding-bottom: 0;
    margin: 0 auto;
    width: calc(100% - 60px);
  }
  #app.wc2510 div#main #link1 div.title h2 {
    font-size: 26px;
    line-height: 29px;
    padding-top: 12px;
  }
  #app.wc2510 div#main #link1 div.title p {
    font-size: 11px;
    line-height: 23px;
    padding-top: 4px;
    padding-bottom: 14px;
    margin-bottom: 0;
  }
  #app.wc2510 div#main #link1 div.description1 p {
    font-size: 14px;
    line-height: 28px;
  }
/* link2 */
  #app.wc2510 div#main #link2 {
    width: calc(100% - 60px);
    margin: 0 auto;
    padding-bottom: 0;
  }
  #app.wc2510 div#main #link2 h2 {
    padding-bottom: 19px;
    padding-top: 15px;
  }
  #app.wc2510 div#main #link2 h3 {
    font-size: 14px;
    margin: 22px auto 20px;
  }
  #app.wc2510 div#main #link2 h3 > img {
    max-width: 13.68px;
    height: auto;
    margin-right: 5.3px;
    padding-bottom: 2.5px;
  }
  #app.wc2510 div#main #link2 > div > p {
    font-size: 14px;
    font-weight: 300;
    margin: 20px auto 23px;
  }
  #app.wc2510 div#main #link2 .produce_area {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 42px;
  }
  #app.wc2510 div#main #link2 .produce_area .produce_image {
    flex-shrink: 0;
    max-width: 105.21px;
    height: auto;
    margin-right: 37px;
    margin: 0 auto;
    padding-bottom: 38.7px;
  }
  #app.wc2510 div#main #link2 .produce_area .produce_text .title_text {
    position: absolute;
    background-color: white;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 9.5px;
    left: 1rem;
    top: -1rem;
  }
  #app.wc2510 div#main #link2 .produce_area .produce_text .lecture_description {
    max-width: 697px;
    width: calc(100% - 18px);
    line-height: 1.8;
    margin: 0 auto;
    padding-top: 31px;
    padding-bottom: 42px;
    font-size: 14px;
    font-weight: 300;
    line-height: 22px;
  }
  #app.wc2510 div#main #link2 .link2_hint h3,
  #app.wc2510 div#main #link2 .link2_seminar h3 {
      margin: 52px auto 20px;
    }
  #app.wc2510 div#main #link2 > div.link2_hint > p ,
  #app.wc2510 div#main #link2 .link2_seminar p {
    font-size: 14px;
    font-weight: 300;
    margin: 20px auto 53px;
  }
#app.wc2510 div#main #link2 .link2_seminar p {
    padding-bottom: 25px;
  }
/* link3 */
#app.wc2510 div#main #link3 h2 > span {
    font-size: 20px;
    line-height: 28px;
  }
  #app.wc2510 div#main #link3 .company_list {
    width: calc(100% - 42px);
  }
  #app.wc2510 div#main #link3 .company_list > ul {
    justify-content: center;
    padding-top: 25px;
    padding-bottom: 40px;
    gap: 30px 36px;
  }
  /* #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(1){
    padding-right: 40px;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(2){
    padding-right: 0;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(3){
    padding-right: 40px;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(4){
    padding-right: 38px;
  } */
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(5){
    padding-right: 0;
    width: 100%;
    text-align: center;
  }
  /* #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(6){
    padding-right: 30px;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(7){
    padding-right: 30px;
  } */
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(1) >img {
    max-width: 75.44px;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(2) > img {
    max-width: 170.43px;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(3) > img {
    max-width: 85.63px;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(4) > img {
    max-width: 90.6px;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(5) > img {
    max-width: 222.87px;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(6) > img {
    max-width: 49.67px;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(7) > img {
    max-width: 79.95px;
  }
  #app.wc2510 div#main #link3 .company_list > ul > li:nth-child(8) img {
    max-width: 131.83px;
  }
  /* link4 */
  #app.wc2510 div#main #link4 {
    width: calc(100% - 60px);
    margin: 0 auto;
    padding: 0 0 87px;
  }
  #app.wc2510 div#main #link4 h2 {
    font-size: 26px;
    font-weight: 600;
    line-height: 28px;
    color: var(--link-color);
    padding: 75px 0 19px;
    margin: 0 auto 22.5px;
    border-bottom: solid 1px var(--main-color);
  }
  #app.wc2510 div#main #link4 >div {
    flex-direction: column;
    gap: 25px;
  }
  #app.wc2510 div#main #link4 .map {
    order: 2;
  }
  #app.wc2510 div#main #link4 .map iframe{
    width: 100%;
    max-width: 440px;
    height: 197px;
    margin: 0 auto;
  }
  #app.wc2510 div#main #link4 .info {
    order: 1;
    margin-bottom: 20px;
  }
  #app.wc2510 div#main #link4 .info > div.info_event {
    font-size: 13px;
    text-align: center;
    padding-bottom: 27.5px;
  }
  /* link5 */
  #app.wc2510 div#main #link5 .link5_info {
    margin: 33px auto 39px;
  }
  #app.wc2510 div#main #link5 div.link5_info > p:first-child {
    padding-top: 0;
    padding-bottom: 1rem;
    font-size: 14px;
    line-height: 28px;
  }
  #app.wc2510 div#main #link5 div.link5_info > p:nth-of-type(2) {
    font-size: 14px;
    line-height: 28px;
    margin-bottom: 0;
    text-align: center;
    padding-bottom: 42px;
  }
  #app.wc2510 div#main #link5 div.link5_login {
    gap: 43px;
  }
  #app.wc2510 div#main #link5 div.link5_login button {
    width: 320px;
    margin-bottom: 75px;
  }
}
/* レスポンシブ★2 */
@media screen and (max-width: 879px) and (min-width: 751px) {
    #app.wc2510 div#main #link3 .company_list > ul {
      width: calc(100% - 40px);
      gap: 30px 36px;
  }
}
@media screen and (max-width: 1100px) {
  #app.wc2510 div#main #link2 {
    width: calc(100% - 60px);
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
  }
  #app.wc2510 section#registration_area h2 {
    padding: 0 0 19px;
    margin: 0 auto 25px;
  }
  #app.wc2510 section#registration_area ul.btn_area {
      width: calc(100% - 28px);
      max-width: 350px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 34px;
  }
  #app.wc2510 section#registration_area ul.btn_area > li {
    gap: 38px;
  }
  /* #app.wc2510 section#registration_area ul.btn_area > li:last-child {
    gap: 31px;
  } */
/* #app.wc2510 section#registration_area ul.btn_area {
    max-width: 1180px;
    width: calc(100% - 28px);
    margin: 0 auto;
    grid-template-columns: repeat(1, minmax(330px, 380px));
    grid-auto-rows: auto;
    grid-column-gap: 34px;
    justify-content: center;
} */
/* #app.wc2510 section#registration_area ul.btn_area > li {
    grid-template-rows: 54px 50px;
    grid-row-gap: 38px;
    align-items: center;
    justify-content: center;
    padding: 31px 0 40px;
} */
#app.wc2510 footer > div {
    font-size: 10px;
    line-height: 15px;
    text-align: center;
  }
}
/* disabledクラスのスタイル */
#app.wc2510 .disabled-btn {
  cursor: not-allowed !important;
  opacity: 0.5 !important;
  pointer-events: none !important;
}

#app.wc2510 .disabled-btn:hover {
  opacity: 0.5 !important;
  transform: none !important;
}
#app.wc2510 {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
