@charset "UTF-8";
:root {
  --color-blue-main-2026: #004BA1;
  --color-blue-sub-2026: #3D79FC;
  --color-blue-sub-2026-rgb: 61, 121, 252;
  --color-blue-light: #F2F7FF;
  --color-accent: #FF970E;
  --color-red-2026: #DF001F;
}
body {
  overflow-x: hidden;
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  letter-spacing: 0;
  overscroll-behavior: none;
}
body:lang(en) {
  font-family: "Noto Sans";
}
body:lang(zh-CN), body:lang(zh-cmn-Hans) {
  font-family: "Noto Sans SC";
}
[v-cloak] {
  opacity: 0;
}
.wholewrapper {
  min-width: 375px;
  margin: 0 auto;
  padding-top: 143px;
}
@media screen and (max-width: 960px) {
  .wholewrapper {
    padding-top: 48px;
  }
}
.wholewrapper * {
  box-sizing: border-box;
}
.wholewrapper *::before, .wholewrapper *::after {
  box-sizing: border-box;
}
a {
  color: #004BA1;
  text-decoration: none;
  transition: color 0.2s;
}
a:hover {
  color: #3D79FC;
}
@media screen and (min-width: 601px) {
  a[href^="tel:"] {
    color: #000;
    text-decoration: none;
    pointer-events: none;
  }
}
a img[src$="icon_pdf.svg"] {
  position: relative;
  top: 3px;
  width: 13px;
  height: 15px;
  margin-left: 5px;
  opacity: 1;
  vertical-align: baseline;
}
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
}
span.br_pc {
  display: block;
}
@media screen and (max-width: 600px) {
  span.br_pc {
    display: inline;
  }
}
@media screen and (max-width: 600px) {
  span.br_sp {
    display: block;
  }
}
span.brackets:before, span.file_size:before {
  content: "（";
}
span.brackets:after, span.file_size:after {
  content: "）";
}
.pc {
  display: block;
}
@media screen and (max-width: 600px) {
  .pc {
    display: none;
  }
}
.sp {
  display: none;
}
@media screen and (max-width: 600px) {
  .sp {
    display: block;
  }
}
.tab {
  display: none;
}
@media screen and (max-width: 1024px) {
  .tab {
    display: block;
  }
}
.en_hide:lang(en) {
  display: none !important;
}
.ch_hide:lang(zh-CN), .ch_hide:lang(zh-cmn-Hans) {
  display: none !important;
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 899;
  height: 160px;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 960px) {
  .header {
    height: 48px;
    background-color: #fff;
    backdrop-filter: unset;
  }
}
.header h1 {
  position: fixed;
  top: 92px;
  left: 41px;
  width: 401px;
  margin: 0;
}
@media screen and (max-width: 1300px) {
  .header h1 {
    left: 20px;
    width: 185px;
  }
}
@media screen and (max-width: 1024px) {
  .header h1 {
    width: 185px;
  }
}
@media screen and (max-width: 960px) {
  .header h1 {
    width: 169px;
    position: unset;
  }
}
@media screen and (max-width: 600px) {
  .header h1 {
    margin-left: -5px;
  }
}
.header h1 a {
  transition: opacity 0.2s;
}
.header h1 a:hover {
  opacity: 0.6;
}
.header h1 img {
  display: block;
  width: 100%;
}
.header_top {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  height: 60px;
  padding: 5px 40px;
  background: #fff;
  box-shadow: 0px 4px 24px 0px #0000001A;
  transition: 0.5s;
}
@media screen and (max-width: 1200px) {
  .header_top {
    padding-right: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .header_top {
    padding: 5px 20px;
    box-shadow: none;
  }
}
@media screen and (max-width: 960px) {
  .header_top {
    height: 44px;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.2s, opacity 0.2s;
  }
}
@media screen and (max-width: 600px) {
  .header_top {
    height: auto;
  }
}
.header_top p {
  margin: 0;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0;
}
@media screen and (max-width: 1200px) {
  .header_top p {
    width: 45%;
  }
}
@media print, screen and (max-width: 1200px) {
  .header_top p {
    width: 33%;
  }
}
@media screen and (max-width: 1024px) {
  .header_top p {
    width: 32%;
  }
}
@media screen and (max-width: 960px) {
  .header_top p {
    width: 100%;
  }
}
.header_top .sub_list {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  gap: 12px;
  margin-left: auto;
}
@media screen and (max-width: 960px) {
  .header_top .sub_list {
    margin-right: auto;
  }
}
.header_top .sub_list li {
  border-radius: 20px;
}
.header_top .sub_list li.language {
  position: relative;
  width: 128px;
  height: 30px;
  border: 1px solid #004BA1;
  background-color: #fff;
  transition: background-color 0.2s;
}
.header_top .sub_list li.language:before {
  position: absolute;
  top: 2px;
  left: 15px;
  content: url(../media/images/2025/common/icon_language.svg);
}
.header_top .sub_list li.language:after {
  position: absolute;
  top: 52%;
  right: 21px;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 10px;
  height: 5px;
  background-color: #004BA1;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.header_top .sub_list li.language:hover {
  background-color: rgba(61, 121, 252, 0.1);
}
.header_top .sub_list li.language select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 0 0 33px;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: 0;
  color: #004BA1;
}
@media screen and (min-width: 601px) {
  .header_top .sub_list li.language ul.sp_language {
    display: none;
  }
}
.header_top .sub_list li a {
  border-radius: 20px;
}
.header_top .sub_list li.archive {
  min-width: 165px;
  height: 34px;
}
.header_top .sub_list li.archive a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 2px solid var(--color-blue-main-2026);
  border-radius: 33px;
  background-color: #fff;
  color: var(--color-blue-main-2026);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  letter-spacing: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s;
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 3px;
  padding: 5px 15px;
  border-color: #ff4515;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0;
  color: #ff4515;
  border-radius: 20px;
  box-shadow: none;
}
@media (hover: hover) and (pointer: fine) {
  .header_top .sub_list li.archive a:hover {
    background-color: #fff;
  }
}
.header_top .sub_list li.archive a:hover {
  background-color: #ffe0e0;
}
.header_top .sub_list li.archive a::before {
  content: url(../media/images/2025/common/icon_pc.svg);
}
.header_top .sub_list li.association {
  min-width: 186px;
  height: 30px;
}
@media screen and (max-width: 1200px) {
  .header_top .sub_list li.association:lang(en) {
    white-space: pre-line;
  }
}
.header_top .sub_list li.association a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 2px solid var(--color-blue-main-2026);
  border-radius: 33px;
  background-color: #fff;
  color: var(--color-blue-main-2026);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  letter-spacing: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s;
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 3px;
  padding: 5px 15px;
  border-width: 1px;
  border-color: #004ba1;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0;
  color: #004ba1;
  border-radius: 20px;
  box-shadow: none;
}
@media (hover: hover) and (pointer: fine) {
  .header_top .sub_list li.association a:hover {
    background-color: #fff;
  }
}
.header_top .sub_list li.association a:hover {
  background-color: #e0f0ff;
}
.header_top .sub_list li.association a:before {
  content: url(../media/images/common/favicon.png);
}
.header_top .header_sns_list {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 0 16px;
  margin-left: 24px;
}
@media screen and (max-width: 960px) {
  .header_top .header_sns_list {
    margin: 0 0 20px;
  }
}
@media screen and (max-width: 600px) {
  .header_top .header_sns_list {
    margin-bottom: 0;
    justify-content: center;
  }
}
.header_top .header_sns_list > li {
  flex: 0 0 29px;
}
@media screen and (max-width: 960px) {
  .header_top .header_sns_list > li {
    flex: 0 0 20px;
  }
}
@media screen and (max-width: 600px) {
  .header_top .header_sns_list > li {
    flex: 0 0 29px;
  }
}
.header_top .header_sns_list > li a {
  display: block;
}
.header_top .header_sns_list > li img {
  display: block;
  width: 100%;
}
.header_bottom {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-end;
  padding: 12px 20px 0 330px;
  background-color: transparent;
}
@media screen and (max-width: 1300px) {
  .header_bottom {
    padding-left: 270px;
  }
}
@media screen and (max-width: 1024px) {
  .header_bottom {
    padding-left: 240px;
  }
}
@media screen and (max-width: 960px) {
  .header_bottom {
    background-color: #fff;
    padding-top: 0;
    margin-bottom: 0;
  }
}
.header_bottom::before {
  content: "";
  position: absolute;
  top: 0;
  left: -41px;
  clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%);
  background: #fff;
  width: 537px;
  height: 100px;
}
@media screen and (max-width: 1300px) {
  .header_bottom::before {
    width: 300px;
  }
}
@media screen and (max-width: 960px) {
  .header_bottom::before {
    display: none;
  }
}
.header_bottom nav .login_list {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-end;
  gap: 3px;
  margin-right: 20px;
  margin-bottom: 13px;
}
@media screen and (max-width: 1024px) {
  .header_bottom nav .login_list {
    margin-right: 0;
  }
}
.header_bottom nav .login_list li {
  height: 24px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
}
@media screen and (max-width: 1200px) {
  .header_bottom nav .login_list li {
    max-width: 262px;
  }
}
.header_bottom nav .login_list li.exhibitor {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
}
@media screen and (max-width: 960px) {
  .header_bottom nav .login_list li.exhibitor {
    width: unset;
  }
}
.header_bottom nav .login_list li.exhibitor a {
  border: none;
  color: #3D79FC;
  background: transparent;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 4px;
  height: 34px;
  padding: 5px 15px;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0;
  font-size: 12px;
}
.header_bottom nav .login_list li.exhibitor a::before {
  content: url(../media/images/2026/common/icon_exhibitor.svg);
}
.header_bottom nav .login_list li.mypage {
  margin-left: 0;
  padding-left: 0;
  border-left: none;
}
@media screen and (max-width: 960px) {
  .header_bottom nav .login_list li.mypage {
    width: unset;
  }
}
.header_bottom nav .login_list li.mypage a {
  color: #F21B39;
  font-size: 12px;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  gap: 7px;
}
.header_bottom nav .login_list li.mypage a:before {
  content: url(../media/images/2026/common/icon_user.svg);
}
.header_bottom nav .login_list li.contactus {
  height: 34px;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
}
.header_bottom nav .login_list li.contactus a {
  padding: 6px 10px 8px;
}
.header_bottom nav .login_list li.register {
  width: 178px;
  height: 40px;
  margin-left: 24px;
}
@media screen and (max-width: 1024px) {
  .header_bottom nav .login_list li.register {
    margin-left: 15px;
  }
}
@media screen and (max-width: 600px) {
  .header_bottom nav .login_list li.register {
    display: none;
    margin: 0 auto;
    width: 264px;
  }
}
.header_bottom nav .login_list li.register a {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #004BA1;
  border-radius: 24px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .header_bottom nav .login_list li.register a:hover {
    border: 1px solid #80a5d0;
    background-color: #80a5d0;
  }
}
.header_bottom nav .login_list li.register a::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 2px;
  left: 2px;
  border: 2px solid #fff;
  border-radius: 20px;
  pointer-events: none;
}
.header_bottom nav .login_list li.register a[disabled], .header_bottom nav .login_list li.register a.disabled {
  background-color: #B4B4B4;
  border-color: #B4B4B4;
  pointer-events: none;
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
.header_bottom nav .login_list li.register a[disabled]::after, .header_bottom nav .login_list li.register a.disabled::after {
  display: none;
}
.header_bottom nav .login_list li.register a.ended {
  border-color: #EFEFF1;
  background-color: #EFEFF1;
  color: #C2C2C2;
  box-shadow: none;
  pointer-events: none;
}
.header_bottom nav .login_list li.register a.ended::after {
  display: none;
}
.header_bottom nav .login_list li.register.ended a {
  background-color: #efeff1;
  color: #b4b4b4;
  pointer-events: none;
}
.header_bottom nav .loggedin_list {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-end;
  gap: 24px;
  margin-right: 20px;
  margin-bottom: 12px;
}
@media (max-width: 1270px) {
  .header_bottom nav .loggedin_list {
    gap: 20px;
  }
}
@media screen and (max-width: 1200px) {
  .header_bottom nav .loggedin_list {
    gap: 10px;
  }
}
@media screen and (max-width: 1024px) {
  .header_bottom nav .loggedin_list {
    margin-right: 0;
  }
}
@media screen and (max-width: 960px) {
  .header_bottom nav .loggedin_list {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 24px;
    position: fixed;
    inset: 0;
    top: 0;
    z-index: 200;
    margin: 0;
    padding: 68px 16px 24px;
    background-color: #fff;
    transform: translateY(-200vh);
    transition: transform 0.5s;
  }
}
@media screen and (max-width: 600px) {
  .header_bottom nav .loggedin_list {
    transform: translateY(-100vh);
  }
}
@media (max-width: 375px) {
  .header_bottom nav .loggedin_list {
    transform: translateY(-9999px);
  }
}
.header_bottom nav .loggedin_list > li {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .header_bottom nav .loggedin_list > li {
    width: 100%;
    margin-bottom: 5px;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.45;
    letter-spacing: 0;
  }
}
.header_bottom nav .loggedin_list > li > a {
  display: block;
  color: #004BA1;
  transition: color 0.2s;
}
@media screen and (max-width: 960px) {
  .header_bottom nav .loggedin_list > li > a {
    padding: 2px;
    text-align: center;
  }
}
.header_bottom nav .loggedin_list > li > a:hover {
  color: #3D79FC;
}
@media screen and (max-width: 960px) {
  .header_bottom nav .loggedin_list > li:nth-last-child(2) {
    margin-bottom: 0;
    padding-bottom: 22px;
    border-bottom: 1px solid #3D79FC;
  }
}
.header_bottom nav .loggedin_list > li.logout {
  width: 178px;
  height: 40px;
  margin-left: 9px;
}
@media screen and (max-width: 960px) {
  .header_bottom nav .loggedin_list > li.logout {
    width: 100%;
    max-width: 295px;
    margin-left: 0;
  }
}
.header_bottom nav .loggedin_list > li.logout a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 2px solid var(--color-blue-main-2026);
  border-radius: 33px;
  background-color: #fff;
  color: var(--color-blue-main-2026);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  letter-spacing: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s;
  cursor: pointer;
  border: 1px solid #004BA1;
  border-radius: 30px;
  box-shadow: 0px 2px 4px 0px #00000026;
  color: #004BA1;
}
@media (hover: hover) and (pointer: fine) {
  .header_bottom nav .loggedin_list > li.logout a:hover {
    background-color: #fff;
  }
}
@media screen and (max-width: 960px) {
  .header_bottom nav .loggedin_list > li.logout a {
    border-width: 2px;
    box-shadow: 0px 2px 12px 0px #00000040;
  }
}
.header_bottom nav .menu_list {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-end;
  position: relative;
}
@media screen and (max-width: 960px) {
  .header_bottom nav .menu_list {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.2s, opacity 0.2s;
    border-bottom: none;
    padding-bottom: 0;
  }
}
.header_bottom nav .menu_list > li {
  padding-bottom: 2px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .header_bottom nav .menu_list > li {
    padding-bottom: 9px;
  }
}
.header_bottom nav .menu_list > li > a {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 6px 20px 7px;
  border-radius: 4px;
  color: #000;
  white-space: nowrap;
  transition: background-color 0.2s, color 0.2s;
}
@media screen and (max-width: 1200px) {
  .header_bottom nav .menu_list > li > a {
    padding: 6px 15px 7px;
  }
}
@media screen and (max-width: 1024px) {
  .header_bottom nav .menu_list > li > a {
    padding: 6px 8px 7px;
  }
}
@media screen and (max-width: 960px) {
  .header_bottom nav .menu_list > li > a {
    padding-bottom: 9px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li > a:hover {
    background-color: #f9f9f9;
    color: #3D79FC;
  }
}
.header_bottom nav .menu_list > li.active > a, .header_bottom nav .menu_list > li:hover > a {
  color: #004BA1;
}
.header_bottom nav .menu_list > li.active .menu_list_sub, .header_bottom nav .menu_list > li:hover .menu_list_sub {
  visibility: visible;
  opacity: 1;
}
.header_bottom nav .menu_list > li.menu_list_1 {
  position: relative;
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_1 .menu_list_sub {
    width: 606px;
    left: 55%;
    transform: translateX(-50%);
  }
  .header_bottom nav .menu_list > li.menu_list_1 .menu_list_sub ul {
    gap: 17px 80px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_1 .menu_list_sub:lang(en) {
    width: 446px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_1 .menu_list_sub:lang(zh-cmn-Hans) {
    width: 350px;
  }
}
.header_bottom nav .menu_list > li.menu_list_2 {
  position: relative;
}
.header_bottom nav .menu_list > li.menu_list_2 .menu_list_sub {
  right: -395px;
}
[lang="en"] .header_bottom nav .menu_list > li.menu_list_2 .menu_list_sub {
  right: -295px;
}
.header_bottom nav .menu_list > li.menu_list_2 .menu_list_sub:lang(zh-cmn-Hans) {
  left: unset;
  right: -190px;
  transform: unset;
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_3 .menu_list_sub {
    width: 830px;
    left: 43.5%;
    transform: translateX(-50%);
  }
  .header_bottom nav .menu_list > li.menu_list_3 .menu_list_sub .menu_list_sub_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 17px 20px;
  }
  .header_bottom nav .menu_list > li.menu_list_3 .menu_list_sub .adjust_grid_2 {
    grid-column: span 2;
  }
  .header_bottom nav .menu_list > li.menu_list_3 .menu_list_sub .adjust_grid_2 a {
    display: table;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_4 .menu_list_sub {
    width: 590px;
    left: 50%;
    transform: translateX(-50%);
  }
  [lang="en"] .header_bottom nav .menu_list > li.menu_list_4 .menu_list_sub {
    right: 0;
    left: auto;
    transform: none;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_5 .menu_list_sub {
    width: 606px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_6 .menu_list_sub {
    width: 767px;
  }
  .header_bottom nav .menu_list > li.menu_list_6 .menu_list_sub ul {
    gap: 17px 65px;
  }
}
.header_bottom nav .menu_list > li.menu_list_movie a {
  color: #004BA1;
  position: relative;
}
.header_bottom nav .menu_list > li.menu_list_movie a:before {
  content: url(../media/images/2025/common/icon_movie.svg);
  margin-right: 5px;
  height: 16px;
}
.header_bottom nav .menu_list > li.menu_list_movie a::after {
  content: "";
  width: 1px;
  height: 21px;
  background-color: #efeff1;
  position: absolute;
  left: 0;
}
.header_bottom nav .menu_list_sub {
  position: absolute;
  top: 35px;
  right: 0;
  visibility: hidden;
  opacity: 0;
  padding: 26px 25px 26px 35px;
  background-color: #fff;
  box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.15);
  transition: visibility 0.2s, opacity 0.2s;
  z-index: 10;
}
.header_bottom nav .menu_list_sub_list {
  display: flex;
  flex-flow: row wrap;
  gap: 17px 85px;
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list_sub_list li.adjust_r1 {
    width: 272px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list_sub_list li.adjust_r1:lang(en) {
    width: 192.35px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list_sub_list li.adjust_r1:lang(zh-cmn-Hans) {
    width: 120px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list_sub_list li.adjust_r2 {
    width: 168px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list_sub_list li.adjust_r2:lang(en) {
    width: 178px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list_sub_list li.adjust_r2:lang(zh-cmn-Hans) {
    width: 160px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list_sub_list li.adjust_r3 {
    width: 60px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list_sub_list li.adjust_r3:lang(en) {
    width: 80px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list_sub_list li.adjust_r3:lang(zh-cmn-Hans) {
    width: 60px;
  }
}
.header_bottom nav .menu_list_sub_list li.disabled {
  color: #b4b4b4;
}
.header_bottom nav .menu_list_sub_list li a {
  display: block;
  color: #000;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  white-space: nowrap;
}
.header_bottom nav .menu_list_sub_list li a.active, .header_bottom nav .menu_list_sub_list li a:hover {
  color: #004BA1;
}
.header_bottom nav .menu_list_sub_box {
  width: 700px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #efeff1;
}
.header_bottom nav .menu_list_sub_box .search_box_title {
  margin: 0 0 9px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0;
}
.header.scrolled {
  backdrop-filter: unset;
  background: #fff;
}
.wholewrapper:has(.anchor_menu.fixed) .header.scrolled {
  box-shadow: none;
  border-bottom: 1px solid #EFEFF1;
}
.header.scrolled .header_inner {
  background: transparent;
}
.header.scrolled .header_inner::before {
  opacity: 1;
  background: linear-gradient(270deg, #EED811 25.59%, #FF9939 65.83%);
}
.header.scrolled .header_top {
  background-color: #F9F9F9;
  box-shadow: none;
}
.header.scrolled .header_bottom::before {
  opacity: 0;
}
.header_base {
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 960px) {
  .header_base {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    justify-content: space-between;
    height: 100%;
    padding: 6px 7px 6px 10px;
    background-color: #fff;
    box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.05);
    z-index: 900;
  }
}
@media screen and (min-width: 961px) {
  .header_base .menu_button, .header_base .member_button {
    display: none;
  }
}
.header_base .menu_button {
  position: relative;
  width: 24px;
  height: 24px;
  background-color: #fff;
  border: none;
  cursor: pointer;
}
.header_base .menu_button span {
  position: absolute;
  left: 3px;
  z-index: 2;
  width: 18px;
  height: 2px;
  background-color: #000;
  transition: transform 0.3s, opacity 0.2s, background-color 0.3s;
}
.header_base .menu_button span:nth-child(1) {
  top: 6px;
}
.header_base .menu_button span:nth-child(2) {
  top: 12px;
}
.header_base .menu_button span:nth-child(3) {
  top: 18px;
}
.header_base .menu_button.active span:nth-child(1) {
  transform: translate(1px, 6px) rotate(-45deg);
}
.header_base .menu_button.active span:nth-child(2) {
  opacity: 0;
}
.header_base .menu_button.active span:nth-child(3) {
  transform: translate(1px, -6px) rotate(45deg);
}
@media screen and (max-width: 960px) {
  .header_base h1 {
    position: unset;
  }
}
.header_base .member_button {
  width: 150px;
  height: 38px;
}
.header_base .member_button.mypage {
  width: 125px;
}
.header_base .member_button.mypage:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 29px;
  transform: translateY(-50%);
  width: 11px;
  height: 5px;
  background-color: #fff;
  content: "";
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.header_base .member_button.mypage a {
  padding-right: 17px;
  font-size: 13px;
  box-shadow: none;
  color: #fff;
}
.header_base .member_button.mypage.active:after {
  background-color: #fff;
}
.header_base .member_button.mypage.active a {
  background: rgba(var(--color-blue-sub-2026-rgb), 0.5);
  color: #fff;
}
.header_base .member_button a {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #004BA1;
  border-radius: 24px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  color: #fff;
  font-size: 12px;
  border: 1px solid #004BA1;
  border-radius: 30px;
  box-shadow: 0px 2px 4px 0px #00000040;
}
@media (hover: hover) and (pointer: fine) {
  .header_base .member_button a:hover {
    border: 1px solid #80a5d0;
    background-color: #80a5d0;
  }
}
.header_base .member_button a::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 2px;
  left: 2px;
  border: 2px solid #fff;
  border-radius: 20px;
  pointer-events: none;
}
.header_base .member_button a[disabled], .header_base .member_button a.disabled {
  background-color: #B4B4B4;
  border-color: #B4B4B4;
  pointer-events: none;
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
.header_base .member_button a[disabled]::after, .header_base .member_button a.disabled::after {
  display: none;
}
.header_base .member_button a.ended {
  border-color: #EFEFF1;
  background-color: #EFEFF1;
  color: #C2C2C2;
  box-shadow: none;
  pointer-events: none;
}
.header_base .member_button a.ended::after {
  display: none;
}
.header_base .member_button.active:after {
  transform: translateY(-50%) rotate(180deg);
}
.header_base .member_button.ended a {
  background-color: #efeff1;
  color: #b4b4b4;
  pointer-events: none;
}
.header_inner {
  position: relative;
}
.header_inner::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 6px;
  display: block;
  background: transparent;
  opacity: 0;
  z-index: 2;
  transition: 0.5s;
}
@media screen and (max-width: 960px) {
  .header_inner::before {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .header_inner {
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    height: calc(100% - 48px);
    background-color: #fff;
    overflow-y: auto;
  }
}
.header .sp_language_wrap {
  display: none;
}
@media screen and (max-width: 960px) {
  .header .sp_language_wrap {
    display: block;
  }
}
.header .sp_language_wrap .sp_language {
  display: flex;
  flex-flow: row nowrap;
  margin: 0 auto 18px auto;
  padding: 5px 4px;
  border-radius: 4px;
  max-width: 334px;
  background-color: var(--color-blue-light);
  gap: 0 1.7%;
}
[lang="ja"] .header .sp_language_wrap .sp_language .japanese a {
  background: linear-gradient(91.77deg, #3DBBFF 0.13%, #00489B 100.13%);
  color: #fff;
}
[lang="en"] .header .sp_language_wrap .sp_language .english a {
  background: linear-gradient(91.77deg, #3DBBFF 0.13%, #00489B 100.13%);
  color: #fff;
}
[lang="zh-CN"] .header .sp_language_wrap .sp_language .chinese a, [lang="zh-cmn-Hans"] .header .sp_language_wrap .sp_language .chinese a {
  background: linear-gradient(91.77deg, #3DBBFF 0.13%, #00489B 100.13%);
  color: #fff;
}
.header .sp_language_wrap .sp_language > li {
  position: relative;
  flex: 0 0 32.2%;
}
.header .sp_language_wrap .sp_language > li.en a {
  font-size: 12px;
}
.header .sp_language_wrap .sp_language > li:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -2%;
  width: 1px;
  height: 17px;
  background-color: #DDEDFF;
}
.header .sp_language_wrap .sp_language > li a {
  display: block;
  padding: 7px 3px;
  font-weight: bold;
  font-size: 13px;
  border-radius: 4px;
  color: #004BA1;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 960px) {
  .header.sp_open {
    height: 100%;
  }
  .header.sp_open .header_base {
    height: 48px;
  }
  .header.sp_open .header_top, .header.sp_open .header_bottom .menu_list {
    display: block;
    visibility: visible;
    opacity: 1;
  }
  .header.sp_open .header_top {
    display: flex;
    align-items: center;
    flex-flow: column-reverse nowrap;
    height: auto;
    padding-bottom: 24px;
    order: 2;
    background-color: #fff;
  }
  .header.sp_open .header_top .sub_list {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px;
  }
  .header.sp_open .header_top .sub_list li.language {
    width: unset;
    height: unset;
    border: none;
    border-radius: 0;
    background-color: transparent;
  }
  .header.sp_open .header_top .sub_list li.language:before, .header.sp_open .header_top .sub_list li.language:after {
    content: none;
  }
  .header.sp_open .header_top .sub_list li.language select {
    display: none;
  }
  .header.sp_open .header_top .sub_list li.language ul.sp_language {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    gap: 28px;
  }
  .header.sp_open .header_top .sub_list li.language ul.sp_language li {
    padding: 2px 10px;
    color: #004BA1;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0;
    cursor: pointer;
  }
  .header.sp_open .header_top .sub_list li.archive {
    order: 1;
    min-width: 186px;
  }
  .header.sp_open .header_top .sub_list li.association {
    width: auto;
    margin: 0 auto;
  }
  .header.sp_open .header_top .sub_list li.association a {
    flex-wrap: nowrap;
    padding: 5px 29px;
  }
  .header.sp_open .header_top p {
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
  }
  .header.sp_open .header_top p.en_hide:lang(en) {
    display: none !important;
  }
  .header.sp_open .header_top p.ch_hide:lang(zh-cmn-Hans) {
    display: none !important;
  }
  .header.sp_open .header_bottom {
    padding: 0;
  }
  .header.sp_open .header_bottom nav {
    display: flex;
    flex-flow: column-reverse nowrap;
    width: 100%;
    padding: 24px 16px 0;
  }
  .header.sp_open .header_bottom nav .login_list {
    order: 2;
    margin: 0 0 11px;
    padding-bottom: 24px;
    border-bottom: 1px solid #3D79FC;
  }
  .header.sp_open .header_bottom nav .login_list li.exhibitor, .header.sp_open .header_bottom nav .login_list li.mypage {
    width: 264px;
    height: 40px;
    margin-right: auto;
    margin-left: auto;
  }
  .header.sp_open .header_bottom nav .login_list li.exhibitor a, .header.sp_open .header_bottom nav .login_list li.mypage a {
    display: flex;
    align-items: center;
    flex-flow: row wrap;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding-bottom: 1px;
    border: 2px solid var(--color-blue-main-2026);
    border-radius: 33px;
    background-color: #fff;
    color: var(--color-blue-main-2026);
    font-weight: 700;
    font-size: 13px;
    line-height: 1.448;
    letter-spacing: 0;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
    transition: background-color 0.2s;
    cursor: pointer;
    flex-wrap: nowrap;
    padding: 2px 10px;
    text-align: center;
    border-radius: 30px;
    box-shadow: none;
  }
  .header.sp_open .header_bottom nav .login_list li.exhibitor a {
    border-color: #3D79FC;
    color: #3D79FC;
  }
  .header.sp_open .header_bottom nav .login_list li.mypage {
    padding-left: 0;
    border-left: 0;
  }
  .header.sp_open .header_bottom nav .login_list li.mypage a {
    border-color: #F21B39;
    color: #F21B39;
  }
  .header.sp_open .header_bottom nav .login_list li.contactus {
    display: none;
  }
  .header.sp_open .header_bottom nav .menu_list {
    order: 1;
    display: block;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #3D79FC;
  }
  .header.sp_open .header_bottom nav .menu_list > li:not(:last-child) {
    margin-bottom: 15px;
  }
  .header.sp_open .header_bottom nav .menu_list > li > a {
    margin-bottom: 12px;
    padding: 0px 0 8px;
    border-bottom: 1px solid #3D79FC;
    border-radius: 0;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.448;
    letter-spacing: 0;
    position: relative;
    justify-content: flex-start;
    color: #004BA1;
  }
  .header.sp_open .header_bottom nav .menu_list > li > a:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    border-top: 2px solid #004BA1;
    border-right: 2px solid #004BA1;
    content: "";
  }
  .header.sp_open .header_bottom nav .menu_list > li.menu_list_movie a {
    border: none;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0;
    background-color: #f9f9f9;
    border-radius: 4px;
    height: 52px;
    padding: 0;
  }
  .header.sp_open .header_bottom nav .menu_list > li.menu_list_movie a::before {
    height: auto;
    transform: scale(1.4);
    transform-origin: center right;
    margin-right: 6px;
  }
  .header.sp_open .header_bottom nav .menu_list > li.menu_list_movie a::after {
    content: none;
  }
  .header.sp_open .header_bottom nav .menu_list > li .menu_list_sub {
    position: unset;
    padding: 0;
    visibility: visible;
    opacity: 1;
    box-shadow: none;
    margin-bottom: 10px;
  }
  .header.sp_open .header_bottom nav .menu_list > li .menu_list_sub_list {
    display: block;
  }
  .header.sp_open .header_bottom nav .menu_list > li .menu_list_sub_list > li {
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0;
  }
  .header.sp_open .header_bottom nav .menu_list > li .menu_list_sub_list > li:not(:last-child) {
    margin-bottom: 13px;
  }
  .header.sp_open .header_bottom nav .menu_list > li .menu_list_sub_list > li a {
    padding: 6px 0;
    color: #3D79FC;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: 0;
  }
  .header.sp_open .header_bottom nav .menu_list > li .menu_list_sub_box {
    display: none;
  }
}
@media screen and (max-width: 960px) and (max-width: 600px) {
  .header.sp_open {
    height: 100%;
  }
}
@media screen and (max-width: 960px) and (max-width: 960px) {
  .header.sp_open .header_bottom nav {
    flex-direction: column;
    padding: 16px 16px 0;
  }
}
@media screen and (max-width: 960px) and (max-width: 600px) {
  .header.sp_open .header_bottom nav .login_list {
    display: block;
  }
}
@media screen and (max-width: 960px) and (max-width: 600px) {
  .header.sp_open .header_bottom nav .login_list li + li {
    margin-top: 16px;
  }
}
@media screen and (max-width: 960px) and (hover: hover) and (pointer: fine) {
  .header.sp_open .header_bottom nav .login_list li.exhibitor a:hover, .header.sp_open .header_bottom nav .login_list li.mypage a:hover {
    background-color: #fff;
  }
}
@media screen and (max-width: 960px) {
  .header.mypage_open .header_bottom .loggedin_list {
    transform: translateY(0);
  }
  .header.mypage_open .header_bottom .loggedin_list a {
    color: #004BA1;
  }
}
.wholewrapper::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background: linear-gradient(159deg, #F7F38B 33.96%, #FF9939 80.55%);
  width: 620px;
  height: 199px;
  clip-path: polygon(16% 0%, 100% 0%, 100% 100%, 0% 100%);
}
@media screen and (max-width: 960px) {
  .wholewrapper::before {
    display: none;
  }
}
.contents_wrap {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  .contents_wrap {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (max-width: 600px) {
  .contents_wrap {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.contents_wrap ul.pankuzu {
  display: flex;
  flex-flow: row wrap;
  margin: 26px 0 52px;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  position: relative;
  z-index: 10;
  gap: 6px 0;
}
@media screen and (max-width: 600px) {
  .contents_wrap ul.pankuzu {
    margin: 16px 0 33px;
    padding: 0 8px;
    font-weight: 400;
    font-size: 11px;
    line-height: 1.48;
    letter-spacing: 0;
  }
}
.contents_wrap ul.pankuzu li a {
  display: block;
}
.contents_wrap ul.pankuzu li a.last {
  color: #000;
  font-size: 13px;
}
@media screen and (max-width: 600px) {
  .contents_wrap ul.pankuzu li a.last {
    font-size: 11px;
  }
}
.contents_wrap ul.pankuzu li:not(:last-child) {
  padding-right: 24px;
  position: relative;
}
@media screen and (max-width: 600px) {
  .contents_wrap ul.pankuzu li:not(:last-child) {
    padding-right: 20px;
  }
}
.contents_wrap ul.pankuzu li:not(:last-child):after {
  position: absolute;
  top: 55%;
  right: 9px;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 5px;
  height: 9px;
  background-color: #000;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 600px) {
  .contents_wrap ul.pankuzu li:not(:last-child):after {
    right: 7px;
  }
}
.contents_wrap > p.preview {
  position: fixed;
  top: 30px;
  left: 30px;
  z-index: 899;
  padding: 10px 18px 12px;
  margin: 0;
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 600px) {
  .contents_wrap > p.preview {
    top: 20px;
    left: 10px;
    right: 10px;
  }
}
#main {
  position: relative;
  /*.tab_list_wrap {
	position: relative;
}
	.tab_list_label {
	display: none;

	@include media(sp) {
	display: block;
	position: absolute;
	top: 0px;
	right: 0px;
	z-index: 2;
	width: 50px;
	height: 100%;
	&::after {			
	position: absolute;
	right: 20px;	 
	top: 24px;
	display: block;
	content: "";
	width: 10px;
	height: 5px;
	background-color: #ff4515;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
}
	+ input {
	display: none;
	@include media(sp) {
	display: block;
}
}
}
	@include media(sp) {
	#toggle {
	display: none;
	cursor: pointer;
}
	.tab_list {
	li {
	&:not(:first-of-type) {
	display: none;
}
}
}
	#toggle:checked + .tab_list {
	li {
	@include flex(row wrap, flex-start, center);
}
}
}*/
}
#main .page_title {
  margin-top: 54px;
  margin-bottom: 43px;
  font-weight: 900;
  font-size: 36px;
  line-height: 1.448;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 600px) {
  #main .page_title {
    margin-top: 24px;
    margin-bottom: 24px;
    font-weight: 900;
    font-size: 28px;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
#main .page_title.left {
  margin-bottom: 43px;
  text-align: left;
}
@media screen and (max-width: 600px) {
  #main .page_title.left {
    margin-bottom: 24px;
    font-size: 28px;
  }
}
#main .page_description {
  margin-bottom: 82px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 600px) {
  #main .page_description {
    margin-bottom: 40px;
  }
}
#main .sec_title {
  margin-bottom: 31px;
  padding-bottom: 16px;
  border-bottom: 3px solid #004BA1;
  color: #004BA1;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.448;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  #main .sec_title {
    margin-bottom: 32px;
    padding-bottom: 18px;
  }
}
#main .sec_title_sub {
  margin: 39px 0;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
}
#main section + section {
  margin-top: 84px;
}
@media screen and (max-width: 600px) {
  #main section + section {
    margin-top: 52px;
  }
}
#main section > section + section {
  margin-top: 24px;
}
#main section > section:not(:last-child) {
  padding-bottom: 25px;
  border-bottom: 1px solid #efeff1;
}
#main section > p {
  margin: 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
#main section > p + p {
  margin-top: 20px;
}
#main section > p a {
  text-decoration: underline;
}
@media screen and (min-width: 601px) {
  #main section > p a[href^="tel:"] {
    text-decoration: none;
  }
}
#main .multiple_lines {
  white-space: pre-wrap;
  word-break: break-all;
}
#main .line_break {
  word-break: break-all;
}
#main .uppercase {
  text-transform: uppercase;
}
#main .search_box {
  display: flex;
  flex-flow: row nowrap;
  width: 100%;
  max-width: 700px;
  height: 52px;
  margin: 0 auto;
}
#main .search_box.left {
  margin-left: 0;
}
#main .search_box .category_search {
  width: calc(100% - 446px);
  border: 1px solid #004BA1;
  border-right: none;
  border-radius: 4px 0 0 4px;
  position: relative;
}
#main .search_box .category_search_button {
  position: relative;
  z-index: 1;
}
#main .search_box .category_search_button:before, #main .search_box .category_search_button:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
}
#main .search_box .category_search_button:before {
  right: 24px;
  z-index: 0;
  width: 10px;
  height: 5px;
  background-color: #004BA1;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#main .search_box .category_search_button:after {
  right: -1px;
  width: 1px;
  height: 32px;
  background-color: #efeff1;
}
#main .search_box .category_search select {
  width: 100%;
  padding: 15px 46px 16px 16px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 4px 0 0 4px;
  color: #004BA1;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
}
#main .search_box input[type="search"] {
  width: 306px;
  padding: 8px 16px 10px;
  border: none;
  border-top: 1px solid #004BA1;
  border-bottom: 1px solid #004BA1;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: box-shadow 0.2s;
}
@media screen and (max-width: 600px) {
  #main .search_box input[type="search"] {
    font-size: 16px;
  }
}
#main .search_box input[type="search"]::placeholder {
  color: #aaa;
}
#main .search_box input[type="search"]:focus, #main .search_box input[type="search"]:focus-visible {
  outline: 0;
  box-shadow: inset 0 0 8px rgba(0, 75, 161, 0.3);
}
#main .search_box button {
  display: block;
  width: 140px;
  height: 100%;
  padding-bottom: 3px;
  border: none;
  border-radius: 40px;
  background-color: var(--color-blue-main-2026);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
  border-radius: 0 4px 4px 0;
}
@media (hover: hover) and (pointer: fine) {
  #main .search_box button:hover {
    background-color: var(--color-blue-sub-2026);
  }
}
#main .search_box button:disabled {
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .place_button {
  width: 156px;
  height: 35px;
  margin: 0 auto 48px;
}
@media screen and (max-width: 600px) {
  #main .place_button {
    margin-bottom: 40px;
  }
}
#main .place_button a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 2px solid var(--color-blue-main-2026);
  border-radius: 33px;
  background-color: #fff;
  color: var(--color-blue-main-2026);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  letter-spacing: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s;
  cursor: pointer;
  box-shadow: 0px 2px 4px 0px #00000026;
}
@media (hover: hover) and (pointer: fine) {
  #main .place_button a:hover {
    background-color: #fff;
  }
}
#main .to_schedule {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 38px;
  padding: 14px;
  border: 1px solid #004BA1;
  max-width: 1051px;
  margin: 24px auto;
}
@media screen and (max-width: 600px) {
  #main .to_schedule {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  #main .to_schedule {
    text-align: center;
    padding: 24px 16px;
    padding: 15px 26px 16px;
  }
}
#main .to_schedule p {
  margin: 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  #main .to_schedule p {
    line-height: 1.44;
  }
}
#main .to_schedule .schedule_button {
  width: 235px;
  height: 34px;
}
@media screen and (max-width: 600px) {
  #main .to_schedule .schedule_button {
    width: 295px;
    height: 36px;
    margin: 16px auto 0;
  }
}
#main .to_schedule .schedule_button a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 2px solid var(--color-blue-main-2026);
  border-radius: 33px;
  background-color: #fff;
  color: var(--color-blue-main-2026);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  letter-spacing: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s;
  cursor: pointer;
  font-size: 14px;
}
@media (hover: hover) and (pointer: fine) {
  #main .to_schedule .schedule_button a:hover {
    background-color: #fff;
  }
}
@media screen and (max-width: 600px) {
  #main .to_schedule .schedule_button a {
    max-width: 280px;
    margin: auto;
  }
}
#main .to_schedule .schedule_list {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  gap: 16px;
}
@media screen and (max-width: 600px) {
  #main .to_schedule .schedule_list {
    display: block;
  }
}
@media screen and (max-width: 600px) {
  #main .to_schedule .schedule_list {
    margin: 25px auto 0;
  }
}
#main .to_schedule .schedule_list li .schedule_button {
  width: auto;
  height: 40px;
}
#main .to_schedule .schedule_list li a {
  padding-right: 25px;
  padding-left: 25px;
  min-width: 175px;
  border-width: 1px;
  box-shadow: 0px 2px 4px 0px #00000026;
}
#main .to_schedule .schedule_list li a:hover {
  background-color: #e0f0ff;
}
@media screen and (max-width: 600px) {
  #main .to_schedule .schedule_list li a {
    padding-right: 5px;
    padding-left: 5px;
  }
}
#main .tab_list_wrap label.tab_list_label, #main .tab_list_wrap input {
  display: none;
}
@media screen and (max-width: 600px) {
  #main ul.tab_list {
    display: none;
  }
}
#main .tab_list {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  height: 53px;
  margin: 80px auto 47.5px;
  padding: 8px;
  border-radius: 4px;
  background: linear-gradient(91.77deg, #3DBBFF 0.13%, #00489B 100.13%);
  color: #fff;
}
@media screen and (max-width: 600px) {
  #main .tab_list {
    margin: 40px auto 35px;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
    gap: 8px;
  }
}
@media screen and (min-width: 601px) {
  #main .tab_list.sp {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  #main .tab_list.sp {
    display: block;
  }
}
#main .tab_list.sp .tab_list_child {
  position: relative;
}
@media screen and (max-width: 600px) {
  #main .tab_list.sp .tab_list_child:after {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    display: block;
    content: "";
    width: 10px;
    height: 5px;
    background-color: #004BA1;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
#main .tab_list.sp select {
  padding: 0;
  color: #004BA1;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
}
#main .tab_list li, #main .tab_list_child {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 246px;
  padding-bottom: 3px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  position: relative;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
@media screen and (max-width: 600px) {
  #main .tab_list li, #main .tab_list_child {
    justify-content: flex-start;
    height: 36px;
    padding: 0 16px;
    width: 100%;
    margin-left: 0 !important;
    background: #fff;
    color: #004BA1;
  }
}
@media screen and (min-width: 601px) {
  #main .tab_list li:not(:last-child), #main .tab_list_child:not(:last-child) {
    margin-right: 9px;
  }
}
@media screen and (min-width: 601px) {
  #main .tab_list li:not(:last-child):after, #main .tab_list_child:not(:last-child):after {
    display: block;
    position: absolute;
    top: 50%;
    right: -9px;
    transform: translateY(-50%);
    width: 1px;
    height: 36px;
    background-color: #3D79FC;
    content: "";
  }
}
#main .tab_list li:not(:first-child), #main .tab_list_child:not(:first-child) {
  margin-left: 8px;
}
@media screen and (min-width: 601px) {
  #main .tab_list li:not([class="active"]):hover, #main .tab_list_child:not([class="active"]):hover {
    background: rgba(255, 255, 255, 0.5);
    color: #004BA1;
  }
}
#main .tab_list li.active, #main .tab_list_child.active {
  background-color: #fff;
  color: #004BA1;
  cursor: unset;
}
@media screen and (min-width: 601px) {
  #main .tab_list li.active, #main .tab_list_child.active {
    pointer-events: none;
  }
}
@media screen and (max-width: 600px) {
  #main .tab_list li.active, #main .tab_list_child.active {
    cursor: pointer;
    position: relative;
  }
}
@media screen and (max-width: 600px) {
  #main .tab_list li.active:after, #main .tab_list_child.active:after {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    display: block;
    content: "";
    width: 10px;
    height: 5px;
    background-color: #ff4515;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
#main .tab_contents {
  display: none;
}
#main .tab_contents.show {
  display: block !important;
}
#main .anchor_menu {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 48px;
  padding: 18px 10px 17px;
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0px 2px 14px 0px #00000026;
  position: sticky;
}
@media screen and (max-width: 600px) {
  #main .anchor_menu {
    margin-bottom: 48px;
    padding: 12px 10px 4px 12px;
  }
}
#main .anchor_menu.fixed {
  top: 159px;
  left: 0;
  right: 0;
  z-index: 100;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  width: auto;
  max-width: unset;
  padding: 20px 10px 22px;
  border-top: 1px solid #efeff1;
  border-radius: 0;
  box-shadow: 0px 6px 14px 0px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 960px) {
  #main .anchor_menu.fixed {
    top: 48px;
    background: #fff;
  }
}
@media screen and (max-width: 600px) {
  #main .anchor_menu.fixed {
    top: 48px;
    padding: 12px 10px 4.5px;
  }
}
:not(.tabchange) #main .anchor_menu + .anchor_contents {
  padding-top: 0 !important;
}
#main .anchor_list {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  gap: 10px 41px;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  #main .anchor_list {
    flex-wrap: wrap;
    justify-content: space-around;
    overflow-x: scroll;
    gap: 18px 34px;
  }
}
@media screen and (max-width: 1024px) and (max-width: 600px) {
  #main .anchor_list {
    justify-content: flex-start;
    gap: 15px 32px;
  }
}
@media screen and (max-width: 600px) {
  #main .anchor_list.nowrap_menu {
    flex-flow: row nowrap;
  }
  #main .anchor_list.nowrap_menu li {
    white-space: nowrap;
  }
}
#main .anchor_list::-webkit-scrollbar {
  padding-top: 4px;
  height: 8px;
  border-radius: 20px;
}
#main .anchor_list::-webkit-scrollbar-track {
  border-radius: 20px;
}
#main .anchor_list::-webkit-scrollbar-thumb {
  border-radius: 20px;
  background: #d9d9d9;
}
@media screen and (max-width: 600px) {
  #main .anchor_list li {
    white-space: nowrap;
  }
}
#main .anchor_list li.disabled a {
  color: #b4b4b4;
  pointer-events: none;
}
#main .anchor_list li.disabled a:before {
  background-color: #b4b4b4;
}
#main .anchor_list li a {
  display: block;
  padding-left: 23px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0;
  position: relative;
  color: #004BA1;
}
#main .anchor_list li a:before {
  display: block;
  position: absolute;
  top: 50%;
  left: 8px;
  transform: translateY(-50%);
  width: 10px;
  height: 5px;
  background-color: #004BA1;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  transition: background-color 0.2s;
}
#main .anchor_list li a:hover:before {
  background-color: #3D79FC;
}
#main .download_button {
  width: 272px;
  height: 54px;
}
@media screen and (max-width: 600px) {
  #main .download_button {
    width: 295px;
    height: 46px;
  }
}
#main .download_button _a {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #004BA1;
  border-radius: 24px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  color: #fff;
  flex-wrap: nowrap;
  padding: 0 8px 1px;
  border-radius: 40px;
}
@media (hover: hover) and (pointer: fine) {
  #main .download_button _a:hover {
    border: 1px solid #80a5d0;
    background-color: #80a5d0;
  }
}
#main .download_button _a::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 2px;
  left: 2px;
  border: 2px solid #fff;
  border-radius: 20px;
  pointer-events: none;
}
#main .download_button _a[disabled], #main .download_button _a.disabled {
  background-color: #B4B4B4;
  border-color: #B4B4B4;
  pointer-events: none;
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .download_button _a[disabled]::after, #main .download_button _a.disabled::after {
  display: none;
}
#main .download_button _a.ended {
  border-color: #EFEFF1;
  background-color: #EFEFF1;
  color: #C2C2C2;
  box-shadow: none;
  pointer-events: none;
}
#main .download_button _a.ended::after {
  display: none;
}
#main .download_button _a::after {
  border-radius: 40px;
}
#main :not(.button_wrap) .download_button, #main :not(.follow) .download_button {
  width: 272px;
  height: 64px;
}
#main :not(.button_wrap) .download_button a, #main :not(.follow) .download_button a {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 2px solid #004BA1;
  border-radius: 44px;
  background-color: #FFFFFF;
  color: #004BA1;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0px 2px 12px 0px #00000040;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  #main :not(.button_wrap) .download_button a:hover, #main :not(.follow) .download_button a:hover {
    background-color: #F9F9F9;
  }
}
#main :not(.button_wrap) .download_button a::before, #main :not(.follow) .download_button a::before {
  content: url(../media/images/common/icon_download_blue.svg);
  position: relative;
  top: 3px;
  left: 4px;
  margin-right: 10px;
}
#main .button_wrap .download_button a, #main .follow .download_button a {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #004BA1;
  border-radius: 24px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  color: #fff;
  flex-wrap: nowrap;
  padding: 0 8px 1px;
  border-radius: 40px;
}
@media (hover: hover) and (pointer: fine) {
  #main .button_wrap .download_button a:hover, #main .follow .download_button a:hover {
    border: 1px solid #80a5d0;
    background-color: #80a5d0;
  }
}
#main .button_wrap .download_button a::after, #main .follow .download_button a::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 2px;
  left: 2px;
  border: 2px solid #fff;
  border-radius: 20px;
  pointer-events: none;
}
#main .button_wrap .download_button a[disabled], #main .button_wrap .download_button a.disabled, #main .follow .download_button a[disabled], #main .follow .download_button a.disabled {
  background-color: #B4B4B4;
  border-color: #B4B4B4;
  pointer-events: none;
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .button_wrap .download_button a[disabled]::after, #main .button_wrap .download_button a.disabled::after, #main .follow .download_button a[disabled]::after, #main .follow .download_button a.disabled::after {
  display: none;
}
#main .button_wrap .download_button a.ended, #main .follow .download_button a.ended {
  border-color: #EFEFF1;
  background-color: #EFEFF1;
  color: #C2C2C2;
  box-shadow: none;
  pointer-events: none;
}
#main .button_wrap .download_button a.ended::after, #main .follow .download_button a.ended::after {
  display: none;
}
#main .button_wrap .download_button a::after, #main .follow .download_button a::after {
  border-radius: 40px;
}
#main .back_button {
  width: 272px;
  height: 64px;
  margin: 48px auto 0;
}
#main .back_button a {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 2px solid #B4B4B4;
  border-radius: 33px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  letter-spacing: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s;
  cursor: pointer;
  /*
			&::before {
			content: "";
			position: absolute;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			border-radius: 40px;
			box-shadow: 0px 2px 12px 0px #00000040;
		}
			*/
}
@media (hover: hover) and (pointer: fine) {
  #main .back_button a:hover {
    background-color: #fff;
  }
}
#main .back_button.prev a {
  gap: 4px;
  padding-left: 6px;
  border-color: #B4B4B4;
  color: #000;
}
#main .back_button.prev a:before {
  display: inline-block;
  position: relative;
  top: 1px;
  transform: rotate(-45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #004BA1;
  border-left: 2px solid #004BA1;
  content: "";
}
#main .modal_button {
  display: block;
  width: 281px;
  height: 44px;
  padding-bottom: 3px;
  border: 1px solid #004BA1;
  border-radius: 40px;
  background-color: #fff;
  color: #004BA1;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
}
#main .modal_button_wrap {
  width: calc(100% - 16px);
  margin: 0 auto;
  padding: 16px 31px;
  border-radius: 4px;
  background-color: #f9f9f9;
}
@media screen and (min-width: 601px) {
  #main .modal_button_wrap {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  #main .modal_button {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  #main .modal_button:hover {
    background-color: rgba(61, 121, 252, 0.1);
  }
}
#main .modal_button:disabled {
  cursor: default;
  background: #ddd;
  color: #666;
}
@media screen and (max-width: 600px) {
  #main .modal_button {
    width: 281px;
    margin: 0 auto;
  }
}
#main .alert {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 538px;
  padding: 13px 13px 13px 16px;
  border-radius: 4px;
  box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.05);
  background-color: #bbdeff;
  color: #0257fc;
}
#main .alert_area {
  position: fixed;
  top: 183px;
  right: 48px;
  z-index: 101;
}
@media screen and (max-width: 960px) {
  #main .alert_area {
    top: 64px;
    right: 8px;
  }
}
#main .alert_area.error .alert {
  background-color: #ffe0e0;
  color: #FC0255;
}
#main .alert_area.error .alert button.close:before {
  background-color: #FC0255;
}
#main .alert_area.error .alert button.close:after {
  color: #FC0255;
}
#main .alert + .alert {
  margin-top: 8px;
}
@media screen and (max-width: 600px) {
  #main .alert {
    gap: 5px;
    width: calc(100vw - 16px);
    padding: 8px 8px 9px;
  }
}
#main .alert_message {
  margin: 0;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  #main .alert_message {
    font-size: 12px;
  }
}
#main .alert_message a {
  color: #0257fc;
  border-bottom: 1px solid #0257fc;
}
#main .alert button.close {
  width: 29px;
  height: 29px;
  margin-left: 11px;
  padding: 0;
  border: none;
  background-color: unset;
  font-size: 0;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 600px) {
  #main .alert button.close {
    margin-left: 9px;
  }
}
#main .alert button.close:before {
  display: block;
  position: absolute;
  top: 50%;
  left: -11px;
  transform: translateY(-50%);
  width: 1px;
  height: 100%;
  background-color: #0257fc;
  content: "";
}
@media screen and (max-width: 600px) {
  #main .alert button.close:before {
    left: -9px;
  }
}
#main .alert button.close:after {
  content: "×";
  color: #0257fc;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0;
}
#main .pagination_wrap ul.pagination {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 8px;
}
@media screen and (max-width: 600px) {
  #main .pagination_wrap ul.pagination {
    gap: 0;
  }
}
#main .pagination_wrap ul.pagination li {
  display: flex;
  align-items: flex-end;
  flex-flow: row nowrap;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #004BA1;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
}
#main .pagination_wrap ul.pagination li[class] a, #main .pagination_wrap ul.pagination li[class] span {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 2px solid var(--color-blue-main-2026);
  border-radius: 33px;
  background-color: #fff;
  color: var(--color-blue-main-2026);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  letter-spacing: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s;
  cursor: pointer;
  border-radius: 4px;
}
@media (hover: hover) and (pointer: fine) {
  #main .pagination_wrap ul.pagination li[class] a:hover, #main .pagination_wrap ul.pagination li[class] span:hover {
    background-color: #fff;
  }
}
#main .pagination_wrap ul.pagination li:not([class]) {
  width: unset;
}
#main .pagination_wrap ul.pagination li:nth-child(3) span, #main .pagination_wrap ul.pagination li:nth-last-child(3) span {
  height: unset;
  border: none;
}
@media screen and (max-width: 600px) {
  #main .pagination_wrap ul.pagination li:nth-child(3) span, #main .pagination_wrap ul.pagination li:nth-last-child(3) span {
    display: none;
  }
}
#main .pagination_wrap ul.pagination li:nth-child(3) span.page-link, #main .pagination_wrap ul.pagination li:nth-last-child(3) span.page-link {
  pointer-events: none;
}
@media screen and (max-width: 600px) {
  #main .pagination_wrap ul.pagination li:nth-child(3) span.page-link, #main .pagination_wrap ul.pagination li:nth-last-child(3) span.page-link {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  #main .pagination_wrap ul.pagination li.page {
    display: none;
  }
}
#main .pagination_wrap ul.pagination li.disabled.prev a, #main .pagination_wrap ul.pagination li.disabled.prev span, #main .pagination_wrap ul.pagination li.disabled.next a, #main .pagination_wrap ul.pagination li.disabled.next span, #main .pagination_wrap ul.pagination li.disabled.page a, #main .pagination_wrap ul.pagination li.disabled.page span {
  border-color: #b4b4b4;
  color: #b4b4b4;
  pointer-events: none;
}
#main .pagination_wrap ul.pagination li.disabled.prev a:before, #main .pagination_wrap ul.pagination li.disabled.prev a:after, #main .pagination_wrap ul.pagination li.disabled.prev span:before, #main .pagination_wrap ul.pagination li.disabled.prev span:after, #main .pagination_wrap ul.pagination li.disabled.next a:before, #main .pagination_wrap ul.pagination li.disabled.next a:after, #main .pagination_wrap ul.pagination li.disabled.next span:before, #main .pagination_wrap ul.pagination li.disabled.next span:after {
  border-color: #b4b4b4;
}
@media screen and (max-width: 600px) {
  #main .pagination_wrap ul.pagination li.active {
    display: block !important;
    width: 145px;
    margin: 0 8px;
    position: relative;
  }
}
@media screen and (max-width: 600px) {
  #main .pagination_wrap ul.pagination li.active:after {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    display: block;
    content: "";
    width: 10px;
    height: 5px;
    background-color: #004BA1;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
@media screen and (min-width: 601px) {
  #main .pagination_wrap ul.pagination li.active a, #main .pagination_wrap ul.pagination li.active span {
    background-color: #004BA1;
    color: #fff;
    pointer-events: none;
  }
}
@media screen and (max-width: 600px) {
  #main .pagination_wrap ul.pagination li.active a:lang(ja):after, #main .pagination_wrap ul.pagination li.active span:lang(ja):after {
    content: "ページ";
  }
}
@media screen and (max-width: 600px) {
  #main .pagination_wrap ul.pagination li.active a:lang(en):before, #main .pagination_wrap ul.pagination li.active span:lang(en):before {
    content: "Page";
    margin-right: 3px;
  }
}
#main .pagination_wrap ul.pagination li.prev, #main .pagination_wrap ul.pagination li.next {
  width: 79px;
}
#main .pagination_wrap ul.pagination li.prev a, #main .pagination_wrap ul.pagination li.prev span, #main .pagination_wrap ul.pagination li.next a, #main .pagination_wrap ul.pagination li.next span {
  position: relative;
}
#main .pagination_wrap ul.pagination li.prev a:before, #main .pagination_wrap ul.pagination li.prev a:after, #main .pagination_wrap ul.pagination li.prev span:before, #main .pagination_wrap ul.pagination li.prev span:after, #main .pagination_wrap ul.pagination li.next a:before, #main .pagination_wrap ul.pagination li.next a:after, #main .pagination_wrap ul.pagination li.next span:before, #main .pagination_wrap ul.pagination li.next span:after {
  display: block;
  position: absolute;
  width: 9px;
  height: 9px;
  border-top: 2px solid #004BA1;
  border-right: 2px solid #004BA1;
}
@media screen and (min-width: 601px) {
  #main .pagination_wrap ul.pagination li.prev {
    margin-right: 17px;
  }
}
#main .pagination_wrap ul.pagination li.prev a, #main .pagination_wrap ul.pagination li.prev span {
  padding-left: 18px;
}
#main .pagination_wrap ul.pagination li.prev a:before, #main .pagination_wrap ul.pagination li.prev span:before {
  left: 16px;
  content: "";
  transform: rotate(-135deg);
}
@media screen and (max-width: 600px) {
  #main .pagination_wrap ul.pagination li.prev a:before, #main .pagination_wrap ul.pagination li.prev span:before {
    left: 10px;
  }
}
@media screen and (min-width: 601px) {
  #main .pagination_wrap ul.pagination li.next {
    margin-left: 17px;
  }
}
#main .pagination_wrap ul.pagination li.next a, #main .pagination_wrap ul.pagination li.next span {
  padding-right: 18px;
}
#main .pagination_wrap ul.pagination li.next a:after, #main .pagination_wrap ul.pagination li.next span:after {
  right: 16px;
  content: "";
  transform: rotate(45deg);
}
@media screen and (max-width: 600px) {
  #main .pagination_wrap ul.pagination li.next a:after, #main .pagination_wrap ul.pagination li.next span:after {
    right: 10px;
  }
}
#main .pagination_sp {
  display: none;
  position: relative;
}
@media screen and (max-width: 600px) {
  #main .pagination_sp {
    display: block;
  }
}
@media screen and (min-width: 601px) {
  #main .pagination_sp.show {
    display: none !important;
  }
}
@media screen and (max-width: 600px) {
  #main .pagination_sp.show .pagination_sp_menu {
    display: block;
  }
}
#main .pagination_sp .pagination_sp_menu {
  display: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 145px;
  box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.15);
  background-color: #fff;
}
#main .pagination_sp .pagination_sp_menu li {
  width: 100%;
  background-color: #fff;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
}
#main .pagination_sp .pagination_sp_menu li a {
  display: block;
  padding: 8px;
  text-align: center;
}
#main .pagination_sp .pagination_sp_menu li a:lang(ja):after {
  content: "ページ";
}
@media screen and (max-width: 600px) {
  #main .pagination_sp .pagination_sp_menu li a:lang(en):before {
    content: "Page";
    margin-right: 3px;
  }
}
#main .pagination_sp .pagination_sp_menu li:first-child a:lang(ja):after, #main .pagination_sp .pagination_sp_menu li:last-child a:lang(ja):after {
  content: none !important;
}
#main .pagination_sp .pagination_sp_menu li:first-child a:lang(en):before, #main .pagination_sp .pagination_sp_menu li:last-child a:lang(en):before {
  content: none !important;
}
#main .pagination_sp .pagination_sp_menu li.active a {
  background-color: #004BA1;
  color: #fff;
  pointer-events: none;
  cursor: unset;
}
#main .pagination_sp .pagination_sp_menu li:first-child a {
  padding-top: 10px;
}
#main .pagination_sp .pagination_sp_menu li:last-child a {
  padding-bottom: 10px;
}
#main .contact_form_title {
  margin-bottom: 31px;
  padding-bottom: 16px;
  border-bottom: 3px solid #004BA1;
  color: #004BA1;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.448;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  #main .contact_form_title {
    margin-bottom: 32px;
    padding-bottom: 18px;
  }
}
#main .contact_form_title_sub {
  margin: 39px 0;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
}
#main .effection img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
@media screen and (min-width: 601px) {
  #main .effection img.auto {
    width: auto;
    display: block;
    margin: 0 auto;
  }
}
#main .effection .table_wrap {
  margin-top: 58px;
  margin-bottom: 80px;
}
@media screen and (max-width: 600px) {
  #main .effection .table_wrap {
    margin-bottom: 64px;
  }
}
#main .effection .table_wrap .table {
  width: 100%;
  border: 1px solid #d1d1d1;
  border-collapse: collapse;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.448;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  #main .effection .table_wrap .table {
    font-size: 13px;
    margin-top: 24px;
    margin-bottom: 36px;
  }
}
#main .effection .table_wrap .table caption {
  text-align: left;
  margin-bottom: 25px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.448;
  letter-spacing: 0;
}
#main .effection .table_wrap .table th, #main .effection .table_wrap .table td {
  border: 1px solid #efeff1;
  text-align: center;
}
@media screen and (max-width: 600px) {
  #main .effection .table_wrap .table th, #main .effection .table_wrap .table td {
    padding: 16px 10px;
  }
}
#main .effection .table_wrap .table th {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.448;
  letter-spacing: 0;
  padding: 8px;
  font-weight: 700;
  background-color: #f7f7f7;
  width: calc(100% / 3);
}
#main .effection .table_wrap .table td {
  padding: 19px 4px;
}
#main .effection .table_wrap .table td span {
  display: block;
  font-size: 13px;
}
#main .effection_outline {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.448;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 80px;
}
@media screen and (max-width: 600px) {
  #main .effection_outline {
    margin-bottom: 40px;
  }
}
#main .effection_sec .box {
  background: #f9f9f9;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  padding: 32px;
  gap: 32px 40px;
}
@media screen and (max-width: 960px) {
  #main .effection_sec .box {
    flex-direction: column;
  }
}
#main .effection_sec .box_text {
  width: calc(100% - (668px + 40px));
}
@media screen and (max-width: 1200px) {
  #main .effection_sec .box_text {
    width: 100%;
  }
}
#main .effection_sec .box_text h4 {
  font-weight: 900;
  font-size: 32px;
  line-height: 1.448;
  letter-spacing: 0;
  margin-bottom: 24px;
}
@media screen and (max-width: 600px) {
  #main .effection_sec .box_text h4 {
    font-size: 28px;
    text-align: center;
  }
}
#main .effection_sec .box_text p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.448;
  letter-spacing: 0;
  margin: 0;
}
#main .effection_sec .box_text p + p {
  margin-top: 20px;
}
#main .effection_sec .box_image, #main .effection_sec .box_movie {
  flex: 1 1 100%;
  max-width: 668px;
}
@media screen and (max-width: 1200px) {
  #main .effection_sec .box_image, #main .effection_sec .box_movie {
    flex: unset;
    width: 100%;
  }
}
#main .effection_sec .box_movie {
  aspect-ratio: 1.7777777778;
}
#main .effection_sec .box_movie iframe {
  width: 100%;
  height: 100%;
  border: none;
}
#main .effection_sec2 {
  margin-top: 115px;
}
@media screen and (max-width: 600px) {
  #main .effection_sec2 {
    margin-top: 80px;
  }
}
#main .effection_sec3 {
  margin-top: 162px;
}
#main .effection_sec4, #main .effection_sec5 {
  margin-top: 120px;
}
#main .effection_nav {
  margin-top: 120px;
}
#main .effection_nav .page_title {
  margin-bottom: 48px;
}
#main .effection_nav_col {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 32px 40px;
}
@media screen and (max-width: 600px) {
  #main .effection_nav_col {
    flex-direction: column;
  }
}
#main .effection_nav_col_item {
  width: calc((100% / 2) - 20px);
  background: #fff;
  box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.15);
  text-align: center;
  border-radius: 8px;
  padding: 32px 24px;
}
@media screen and (max-width: 1200px) {
  #main .effection_nav_col_item {
    display: flex;
    flex-flow: row nowrap;
  }
}
@media screen and (max-width: 600px) {
  #main .effection_nav_col_item {
    width: 100%;
  }
}
#main .effection_nav_col_item .inner {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  background-color: #f9f9f9;
  border-radius: 8px;
  padding: 16px 16px 24px;
}
@media screen and (max-width: 1200px) {
  #main .effection_nav_col_item .inner {
    display: flex;
    flex-flow: column nowrap;
  }
}
@media screen and (max-width: 600px) {
  #main .effection_nav_col_item .inner {
    padding: 16px 24px 24px;
  }
}
#main .effection_nav_col_item h5 {
  font-weight: 900;
  font-size: 28px;
  line-height: 1.448;
  letter-spacing: 0;
}
#main .effection_nav_col_item p {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.448;
  letter-spacing: 0;
  margin: 12px auto 0;
  flex-grow: 1;
}
#main .effection_nav_col_item .image {
  width: 386px;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  #main .effection_nav_col_item .image {
    width: 100%;
  }
}
#main .effection_nav_col_item .apply_button {
  width: 240px;
  height: 54px;
  margin: 32px auto 16px;
}
#main .effection_nav_col_item .apply_button a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border-radius: 40px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  font-size: 13px;
  /*position: relative;
						&::after {
						content: "";
						display: inline-block;
						background: url(../media/images/2025/common/icon_arrow_right.svg) no-repeat;
						position: relative;
						top: 1px;
						margin-left: 3px;
						width: 10px;
						height: 17px;
						position: absolute;
						right: 10px;
						top: 50%;
						transform: translateY(-50%);
					}*/
}
@media (hover: hover) and (pointer: fine) {
  #main .effection_nav_col_item .apply_button a:hover {
    background-color: #3D79FC;
  }
}
.footer {
  padding-top: 0;
  background: #fff;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 600px) {
  .footer {
    padding-top: 0;
  }
}
@media screen and (max-width: 375px) {
  .footer {
    width: calc(100% + 16px);
    margin-left: -8px;
    margin-right: -8px;
  }
}
@media screen and (max-width: 600px) {
  .footer {
    width: auto;
    margin-left: -16px;
    margin-right: -16px;
  }
}
.footer .footer_wrap {
  position: relative;
}
.footer .footer_wrap::before {
  content: "";
  position: absolute;
  top: 80px;
  left: 0;
  bottom: 0;
  background: linear-gradient(312.36deg, #F7F38B 33.96%, #FF9939 80.55%);
  clip-path: polygon(0 0, 100% 0%, 27% 100%, 0% 100%);
  width: 24%;
  aspect-ratio: 0.6134751773;
  pointer-events: none;
  z-index: 1;
}
@media screen and (max-width: 960px) {
  .footer .footer_wrap::before {
    transform: translateX(-59%);
    width: auto;
  }
}
.footer .footer_wrap::after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 160px;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 0;
  background-color: #F9F9F9;
}
@media screen and (max-width: 600px) {
  .footer .footer_wrap::after {
    top: 110px;
  }
}
.footer_inner {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto;
  padding: 263px 0 64px;
  border-top: none;
  border-bottom: 1px solid #d9d9d9;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1200px) {
  .footer_inner {
    padding: 263px 15px 64px;
  }
}
@media screen and (max-width: 960px) {
  .footer_inner {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 600px) {
  .footer_inner {
    padding: 150px 0 34px;
  }
}
@media screen and (max-width: 960px) {
  .footer_inner_left, .footer_inner_right {
    width: 100%;
  }
}
@media screen and (max-width: 1200px) {
  .footer_inner_left {
    margin-right: 10px;
  }
}
@media screen and (max-width: 960px) {
  .footer_inner_left {
    text-align: center;
  }
}
@media screen and (max-width: 600px) {
  .footer_inner_left {
    margin: 0 auto;
    padding-right: 10px;
  }
}
.footer_inner_left .footer_logo {
  width: 303px;
  margin-bottom: 40px;
}
@media screen and (max-width: 960px) {
  .footer_inner_left .footer_logo {
    margin: 0 auto 16px;
  }
}
@media screen and (max-width: 600px) {
  .footer_inner_left .footer_logo {
    margin: 0 auto 10px;
    width: 284px;
  }
}
.footer_inner_left .footer_logo img {
  display: block;
  width: 100%;
  height: auto;
}
.footer_inner_left p {
  margin: 14px 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  .footer_inner_left p {
    margin: 14px 0;
    font-size: 12px;
  }
}
.footer_inner_left p.sponsorship {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
.footer_inner_right {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  gap: 0 70px;
}
@media screen and (min-width: 601px) {
  .footer_inner_right {
    min-width: 430px;
  }
}
@media screen and (max-width: 1024px) {
  .footer_inner_right {
    gap: 0 45px;
    margin-left: 50px;
  }
}
@media screen and (max-width: 960px) {
  .footer_inner_right {
    justify-content: center;
    margin: 20px 50px 0;
  }
}
@media screen and (max-width: 600px) {
  .footer_inner_right {
    justify-content: space-between;
    margin: 22px 0 0;
    padding: 0 24px 0 16px;
    gap: 0;
  }
}
.footer_inner_right ul li a img {
  display: inline;
}
.footer_inner_right .main_menu {
  display: flex;
  flex-flow: row nowrap;
  gap: 0 70px;
}
@media screen and (max-width: 1024px) {
  .footer_inner_right .main_menu {
    gap: 0 45px;
  }
}
@media screen and (max-width: 600px) {
  .footer_inner_right .main_menu {
    display: block;
    flex: 0 0 52%;
  }
}
@media screen and (max-width: 600px) {
  .footer_inner_right .main_menu ul + ul {
    margin-top: 17.5px;
  }
}
.footer_inner_right ul li.disabled {
  color: #b4b4b4;
}
.footer_inner_right ul li a {
  color: #000;
  transition: color 0.2s;
}
.footer_inner_right ul li a:hover {
  color: #004BA1;
}
.footer_inner_right ul > li {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  letter-spacing: 0;
}
.footer_inner_right ul > li:not(:last-child) {
  margin-bottom: 17px;
}
@media screen and (max-width: 600px) {
  .footer_inner_right ul > li:not(:last-child) {
    margin-bottom: 19px;
  }
}
.footer_inner_right ul > li > ul {
  margin-top: 40px;
}
@media screen and (max-width: 600px) {
  .footer_inner_right ul > li > ul {
    margin-top: 29px;
  }
}
.footer_inner_right ul > li > ul > li {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.448;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  .footer_inner_right ul > li > ul > li {
    font-size: 13px;
  }
}
.footer_inner_right ul > li > ul > li:not(:last-child) {
  margin-bottom: 8px;
}
@media screen and (max-width: 600px) {
  .footer_inner_right ul > li > ul > li:not(:last-child) {
    margin-bottom: 20px;
  }
}
.footer_apply {
  margin-top: 80px;
  background: #fff url(../media/images/2026/outline/bg-apply.png) no-repeat;
  background-size: cover;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 48px 0;
}
@media screen and (max-width: 600px) {
  .footer_apply {
    margin-left: -16px;
    margin-right: -16px;
    padding: 40px 24px;
  }
}
.footer_apply_inner {
  text-align: center;
  background-color: #fff;
  border-radius: 4px;
  padding: 40px 146px 41px;
  max-width: 640px;
  margin: 0 auto;
  box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 600px) {
  .footer_apply_inner {
    padding: 24px 28px 25px;
  }
}
.footer_apply_inner .apply_caution {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.448;
  letter-spacing: 0;
  margin: 0 auto 16px;
}
@media screen and (max-width: 600px) {
  .footer_apply_inner .apply_caution {
    font-size: 13px;
  }
}
.footer_apply_inner .apply_button {
  width: 348px;
  height: 60px;
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  .footer_apply_inner .apply_button {
    width: 272px;
    height: 54px;
  }
}
.footer_apply_inner .apply_button a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border-radius: 40px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.448;
  letter-spacing: 0;
}
@media (hover: hover) and (pointer: fine) {
  .footer_apply_inner .apply_button a:hover {
    background-color: #3D79FC;
  }
}
@media screen and (max-width: 600px) {
  .footer_apply_inner .apply_button a {
    font-size: 13px;
  }
}
.footer p.copyright {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0;
  padding: 49px 20px;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .footer p.copyright {
    padding: 18px 0;
  }
}
.footer .pagetop {
  position: fixed;
  right: 3vw;
  bottom: 19px;
  z-index: 100;
}
@media screen and (max-width: 1200px) {
  .footer .pagetop {
    display: none;
  }
}
.footer .pagetop a {
  box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.25);
  position: relative;
  display: block;
  width: 68px;
  height: 64px;
  padding: 12px 10px 8px;
  text-align: center;
  border-radius: 4px;
  border: solid 2px #004BA1;
  background: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
}
.footer .pagetop a:not([lang=ja]) {
  padding: 12px 0px 8px;
}
.footer .pagetop a::before {
  display: block;
  margin: 0 auto 4px;
  content: url(../media/images/2025/common/icon_totop.svg);
  width: 16px;
  height: 16px;
  transition: 0.3s ease 0s;
}
.footer .pagetop a:hover::before {
  opacity: 0.7;
}
select, input, textarea {
  display: block;
}
.select {
  border-radius: 4px;
  background-color: #fff;
  position: relative;
  /*
	&:has( > select > option):not(:has(.select2)) {
		@include media(sp) {
			[lang="en"] &,
			[lang="zh-CN"] & {
				overflow: hidden;
			}
		}
	}
	*/
}
.select:has(.select2) {
  border: none;
}
.select:before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 24px;
  z-index: 0;
  display: block;
  content: "";
  width: 10px;
  height: 5px;
  background-color: #000;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.select .select2-hidden-accessible {
  border: none !important;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 100%;
  padding: 17px 16px;
  border: none;
  border-radius: 4px;
  background-color: transparent;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0;
  cursor: pointer;
  position: relative;
  z-index: 1;
}
select:focus, select:focus-visible {
  outline: 0;
}
span.select2 {
  width: 100% !important;
  height: 100% !important;
}
span.select2 .selection .select2-selection.select2-selection--single {
  height: auto !important;
  border: 1px solid #747474;
}
span.select2 .selection .select2-selection.select2-selection--single .select2-selection__rendered {
  padding: 17px 16px;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0;
}
span.select2 .selection .select2-selection.select2-selection--single .select2-selection__rendered .select2-selection__placeholder {
  color: #000;
}
span.select2 .selection .select2-selection.select2-selection--single .select2-selection__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 24px;
  z-index: 0;
  width: 10px;
}
span.select2 .selection .select2-selection.select2-selection--single .select2-selection__arrow b {
  left: unset;
  display: block;
  width: 10px;
  height: 5px;
  margin: 0;
  border: none;
  background-color: #000;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.select2-container .select2-dropdown .select2-search input.select2-search__field {
  padding: 11px 8px;
  font-size: 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.select2-container .select2-dropdown .select2-search input.select2-search__field:focus, .select2-container .select2-dropdown .select2-search input.select2-search__field:focus-visible {
  outline: 0;
  border-color: #004BA1;
  box-shadow: 0 0 8px rgba(0, 75, 161, 0.3);
}
.select2-container .select2-dropdown .select2-search input.select2-search__field::placeholder {
  color: #B4B4B4;
  font-weight: 700;
}
.select2-container .select2-dropdown .select2-results ul.select2-results__options li.select2-results__option {
  padding: 12px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0;
}
.select2-container .select2-dropdown .select2-results ul.select2-results__options li.select2-results__option.select2-results__option--selected {
  background-color: #3D79FC;
}
.select2-container .select2-dropdown .select2-results ul.select2-results__options li.select2-results__option.select2-results__option--highlighted {
  background-color: #004BA1;
}
.input + .checkboxes {
  margin: 7px 0 0;
}
@media screen and (max-width: 600px) {
  .input + .checkboxes {
    margin: 11px 0 0;
  }
}
input[type="text"], input[type="tel"], input[type="email"], input[type="url"], input[type="password"], input[type="date"], input[type="number"], textarea {
  width: 100%;
  padding: 15px 16px;
  border: 1px solid #747474;
  border-radius: 4px;
  background-color: #fff;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0;
  transition: border-color 0.2s, box-shadow 0.2s;
}
@media screen and (max-width: 600px) {
  input[type="text"], input[type="tel"], input[type="email"], input[type="url"], input[type="password"], input[type="date"], input[type="number"], textarea {
    font-size: 16px;
  }
}
input[type="text"]::placeholder, input[type="tel"]::placeholder, input[type="email"]::placeholder, input[type="url"]::placeholder, input[type="password"]::placeholder, input[type="date"]::placeholder, input[type="number"]::placeholder, textarea::placeholder {
  color: #b4b4b4;
}
@media screen and (max-width: 600px) {
  input[type="text"]::placeholder, input[type="tel"]::placeholder, input[type="email"]::placeholder, input[type="url"]::placeholder, input[type="password"]::placeholder, input[type="date"]::placeholder, input[type="number"]::placeholder, textarea::placeholder {
    font-size: 14px;
  }
}
input[type="text"]:focus, input[type="text"]:focus-visible, input[type="tel"]:focus, input[type="tel"]:focus-visible, input[type="email"]:focus, input[type="email"]:focus-visible, input[type="url"]:focus, input[type="url"]:focus-visible, input[type="password"]:focus, input[type="password"]:focus-visible, input[type="date"]:focus, input[type="date"]:focus-visible, input[type="number"]:focus, input[type="number"]:focus-visible, textarea:focus, textarea:focus-visible {
  outline: 0;
  border-color: #004BA1;
  box-shadow: 0 0 8px rgba(0, 75, 161, 0.3);
}
textarea {
  resize: none;
  height: 168px;
}
.checkboxes {
  display: flex;
  flex-flow: row wrap;
  gap: 12px;
  margin: 4px 0 0;
  padding-right: 64px;
}
@media screen and (max-width: 600px) {
  .checkboxes {
    padding-right: 0;
  }
}
.checkboxes label {
  flex: 1 0 calc((100% - 60px) / 6);
  display: flex;
  flex-flow: row nowrap;
  line-height: 1;
}
@media screen and (max-width: 1200px) {
  .checkboxes label {
    flex: 1 0 calc((100% - 36px) / 4);
  }
}
@media screen and (max-width: 960px) {
  .checkboxes label {
    flex: 1 0 calc((100% - 12px) / 2);
  }
}
.checkboxes label.disabled {
  pointer-events: none;
}
.checkboxes label.disabled [type="checkbox"] + span::before {
  border-color: #efeff1;
}
.checkboxes.columns {
  flex-direction: column;
}
.checkboxes.columns > div {
  display: flex;
}
.checkboxes.columns > div.sub {
  display: block;
  margin: 10px 0;
}
.checkboxes.columns > div.sub .rows {
  margin: 10px 0 0 30px;
  padding: 15px;
  background: #f9f9f9;
}
.checkboxes.columns > div.sub .rows label {
  flex-grow: 0;
}
.checkboxes.columns .rows {
  display: flex;
  flex-flow: row wrap;
  gap: 12px;
  margin: 4px 0 0;
}
ul.category_list.checkboxes {
  gap: 0;
  margin: 0;
  padding-right: 0;
}
input[type="radio"], input[type="checkbox"] {
  width: 20px;
  height: 20px;
  background-color: #fff;
  opacity: 0;
}
input[type="radio"] + span, input[type="checkbox"] + span {
  flex: 1 0 calc(100% - 20px);
  display: inline-block;
  padding-left: 8px;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
  cursor: pointer;
  position: relative;
}
input[type="radio"]:focus + span:before, input[type="radio"]:focus-visible + span:before, input[type="checkbox"]:focus + span:before, input[type="checkbox"]:focus-visible + span:before {
  outline: 0;
  border-color: #004BA1;
  box-shadow: 0 0 8px rgba(0, 75, 161, 0.3);
}
input[type="radio"]:checked + span:before, input[type="checkbox"]:checked + span:before {
  transition: 0.2s ease 0s;
}
input[type="radio"]:disabled + span, input[type="checkbox"]:disabled + span {
  opacity: 0.4;
}
input[type="radio"] + span:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  opacity: 1;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border: 2px solid #004BA1;
  border-radius: 10px;
  box-shadow: none;
  transition: background-color 0.2s, box-shadow 0.2s;
}
input[type="radio"]:checked + span:before {
  background-color: #004BA1;
}
input[type="radio"]:checked + span:after {
  content: "";
  position: absolute;
  top: 2px;
  left: -18px;
  opacity: 1;
  width: 16px;
  height: 16px;
  border: 2.5px solid #fff;
  border-radius: 9px;
}
input[type="checkbox"] + span:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  opacity: 1;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border: 2px solid #004BA1;
  border-radius: 2px;
  box-shadow: none;
  transition: background-color 0.2s, box-shadow 0.2s;
}
input[type="checkbox"]:checked + span:before {
  background-color: #004BA1;
}
input[type="checkbox"]:checked + span:after {
  content: "";
  position: absolute;
  top: 6px;
  left: -16px;
  opacity: 1;
  width: 12px;
  height: 5px;
  transform: rotate(-45deg);
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
}
input[type="checkbox"].all:checked + span:after {
  top: 9px;
  transform: unset;
  width: 12px;
  height: 2px;
  border: none;
  background-color: #fff;
}
.select.error p, .input.error p, .textarea.error p {
  margin-top: 8px;
  color: #FC0255;
}
.select.error {
  border-color: #FC0255;
}
.select.error select {
  color: #FC0255;
}
.select.error select:focus, .select.error select:focus-visible {
  box-shadow: 0 0 8px rgba(252, 2, 85, 0.3);
}
.select.error select:-webkit-autofill {
  -webkit-text-fill-color: #FC0255;
}
.select.error + .error {
  color: #FC0255;
}
.input.error input {
  color: #FC0255;
  border-color: #FC0255;
}
.input.error input:focus, .input.error input:focus-visible {
  box-shadow: 0 0 8px rgba(252, 2, 85, 0.3);
}
.input.error input:-webkit-autofill {
  -webkit-text-fill-color: #FC0255;
}
.textarea.error textarea {
  color: #FC0255;
  border-color: #FC0255;
}
.textarea.error textarea:focus, .textarea.error textarea:focus-visible {
  box-shadow: 0 0 8px rgba(252, 2, 85, 0.3);
}
.textarea.error textarea:-webkit-autofill {
  -webkit-text-fill-color: #FC0255;
}
#main .before_contact {
  margin-bottom: 48px;
}
#main .before_contact.hide {
  display: none;
}
@media screen and (max-width: 600px) {
  #main .before_contact .contact_form_title {
    text-align: center;
  }
}
#main .before_contact p {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.48;
  letter-spacing: 0;
}
#main .before_contact p.induction {
  margin-bottom: 34px;
}
#main .before_contact p.caution {
  margin: 16px 0;
}
#main .before_contact p.caution + .contact_form_title {
  margin-top: 50px;
}
#main .before_contact p.other_caution {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
}
#main .before_contact p.other_caution em {
  color: #df001f;
  font-style: normal;
}
#main .before_contact .button_wrap {
  display: flex;
  flex-flow: row wrap;
  gap: 16px;
  margin: 34px auto;
}
@media screen and (min-width: 601px) {
  #main .before_contact .button_wrap {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 600px) {
  #main .before_contact .button_wrap {
    justify-content: center;
    margin-bottom: 16px;
  }
}
#main .before_contact .button_wrap:last-child {
  margin-bottom: 0;
}
#main .before_contact .login_button, #main .before_contact .to_contact_button {
  width: 272px;
  height: 64px;
  margin: 0;
}
#main .before_contact .login_button a, #main .before_contact .to_contact_button a {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #004BA1;
  border-radius: 24px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  color: #fff;
  padding: 0 8px 1px;
  border-radius: 40px;
}
@media (hover: hover) and (pointer: fine) {
  #main .before_contact .login_button a:hover, #main .before_contact .to_contact_button a:hover {
    border: 1px solid #80a5d0;
    background-color: #80a5d0;
  }
}
#main .before_contact .login_button a::after, #main .before_contact .to_contact_button a::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 2px;
  left: 2px;
  border: 2px solid #fff;
  border-radius: 20px;
  pointer-events: none;
}
#main .before_contact .login_button a[disabled], #main .before_contact .login_button a.disabled, #main .before_contact .to_contact_button a[disabled], #main .before_contact .to_contact_button a.disabled {
  background-color: #B4B4B4;
  border-color: #B4B4B4;
  pointer-events: none;
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .before_contact .login_button a[disabled]::after, #main .before_contact .login_button a.disabled::after, #main .before_contact .to_contact_button a[disabled]::after, #main .before_contact .to_contact_button a.disabled::after {
  display: none;
}
#main .before_contact .login_button a.ended, #main .before_contact .to_contact_button a.ended {
  border-color: #EFEFF1;
  background-color: #EFEFF1;
  color: #C2C2C2;
  box-shadow: none;
  pointer-events: none;
}
#main .before_contact .login_button a.ended::after, #main .before_contact .to_contact_button a.ended::after {
  display: none;
}
#main .before_contact .login_button a::after, #main .before_contact .to_contact_button a::after {
  border-radius: 40px;
}
#main .before_contact .register_button {
  width: 272px;
  height: 64px;
  margin: 0;
}
#main .before_contact .register_button a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 2px solid var(--color-blue-main-2026);
  border-radius: 33px;
  background-color: #fff;
  color: var(--color-blue-main-2026);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  letter-spacing: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  #main .before_contact .register_button a:hover {
    background-color: #fff;
  }
}
#main .form {
  margin-top: 51px;
}
#main .form.confirm {
  margin-top: 42px;
}
#main .form.confirm .form_row_wrap + .form_title {
  margin-top: 66px;
}
@media screen and (max-width: 600px) {
  #main .form.confirm .form_row_wrap + .form_title {
    margin-top: 41px;
  }
}
#main .form.confirm .international_tel {
  gap: 8px 33px;
}
#main .form.confirm .button_wrap {
  margin-top: 73px;
}
#main .form_title {
  margin-bottom: 23px;
  padding: 12px 16px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0;
  background: linear-gradient(271.72deg, rgba(61, 132, 213, 0.5) 1.61%, rgba(61, 187, 255, 0.5) 100%);
}
#main .form .form_row_wrap > .form_row:first-child {
  margin-top: 0;
}
#main .form fieldset {
  margin: 0;
  padding: 0;
  border: none;
}
#main .form .alert.entry, #main .form .alert.confirm {
  display: none;
  width: unset;
  margin-bottom: 30px;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
#main .form-group .control-label, #main .form-group dt, #main .form_row .control-label, #main .form_row dt {
  margin-bottom: 8px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  #main .form-group .control-label, #main .form-group dt, #main .form_row .control-label, #main .form_row dt {
    margin-bottom: 8px;
  }
}
#main .form-group .control-label span.required, #main .form-group dt span.required, #main .form_row .control-label span.required, #main .form_row dt span.required {
  display: inline-block;
  margin-left: 8px;
  padding: 0 8px;
  background-color: #FC0255;
  color: #fff;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
  position: relative;
  top: -1px;
}
#main .form-group .controls, #main .form-group dd, #main .form_row .controls, #main .form_row dd {
  display: flex;
  flex-flow: column nowrap;
  gap: 8px;
  margin: 0;
  /*
			&.corp_left {
			@include media(sp) {
			display: block;

			.input {
			&.corp {
			.select {
			border-bottom: none;
			border-radius: 4px 4px 0 0;
		}
		}

			&.company_name {
			margin-bottom: 8px;

			input {
			border-radius: 0 0 4px 4px;
		}
		}
		}
		}
		}
			*/
}
#main .form-group .controls.col2, #main .form-group dd.col2, #main .form_row .controls.col2, #main .form_row dd.col2 {
  display: flex;
  flex-flow: row wrap;
  gap: 4px 16px;
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.col2, #main .form-group dd.col2, #main .form_row .controls.col2, #main .form_row dd.col2 {
    gap: 4px 11px;
  }
}
#main .form-group .controls.col2 .input, #main .form-group dd.col2 .input, #main .form_row .controls.col2 .input, #main .form_row dd.col2 .input {
  width: calc((100% - 16px) / 2);
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.col2 .input, #main .form-group dd.col2 .input, #main .form_row .controls.col2 .input, #main .form_row dd.col2 .input {
    width: calc((100% - 11px) / 2);
  }
}
#main .form-group .controls.col2 .select, #main .form-group dd.col2 .select, #main .form_row .controls.col2 .select, #main .form_row dd.col2 .select {
  width: 320px;
}
#main .form-group .controls.col_select, #main .form-group dd.col_select, #main .form_row .controls.col_select, #main .form_row dd.col_select {
  display: flex;
  flex-flow: row wrap;
  gap: 16px;
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.col_select, #main .form-group dd.col_select, #main .form_row .controls.col_select, #main .form_row dd.col_select {
    gap: 11px;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.col_select .input, #main .form-group dd.col_select .input, #main .form_row .controls.col_select .input, #main .form_row dd.col_select .input {
    width: calc((100% - 11px) / 2);
  }
}
#main .form-group .controls.col_select .input .select, #main .form-group dd.col_select .input .select, #main .form_row .controls.col_select .input .select, #main .form_row dd.col_select .input .select {
  width: 320px;
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.col_select .input .select, #main .form-group dd.col_select .input .select, #main .form_row .controls.col_select .input .select, #main .form_row dd.col_select .input .select {
    width: 100%;
  }
}
#main .form-group .controls.international_tel, #main .form-group dd.international_tel, #main .form_row .controls.international_tel, #main .form_row dd.international_tel {
  display: flex;
  flex-flow: row wrap;
  gap: 8px 0;
}
#main .form-group .controls.international_tel .input.number, #main .form-group dd.international_tel .input.number, #main .form_row .controls.international_tel .input.number, #main .form_row dd.international_tel .input.number {
  width: 88px;
}
#main .form-group .controls.international_tel .input.number input[type="text"], #main .form-group dd.international_tel .input.number input[type="text"], #main .form_row .controls.international_tel .input.number input[type="text"], #main .form_row dd.international_tel .input.number input[type="text"] {
  border-radius: 4px 0 0 4px;
}
#main .form-group .controls.international_tel .input.tel, #main .form-group dd.international_tel .input.tel, #main .form_row .controls.international_tel .input.tel, #main .form_row dd.international_tel .input.tel {
  width: calc(100% - 88px);
}
#main .form-group .controls.international_tel .input.tel input[type="text"], #main .form-group .controls.international_tel .input.tel input[type="tel"], #main .form-group dd.international_tel .input.tel input[type="text"], #main .form-group dd.international_tel .input.tel input[type="tel"], #main .form_row .controls.international_tel .input.tel input[type="text"], #main .form_row .controls.international_tel .input.tel input[type="tel"], #main .form_row dd.international_tel .input.tel input[type="text"], #main .form_row dd.international_tel .input.tel input[type="tel"] {
  border-left: none;
  border-radius: 0 4px 4px 0;
}
#main .form-group .controls p, #main .form-group dd p, #main .form_row .controls p, #main .form_row dd p {
  width: 100%;
  margin: 4px 0 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  #main .form-group .controls p, #main .form-group dd p, #main .form_row .controls p, #main .form_row dd p {
    margin: 0;
  }
}
#main .form-group .controls select:focus, #main .form-group .controls select:focus-visible, #main .form-group dd select:focus, #main .form-group dd select:focus-visible, #main .form_row .controls select:focus, #main .form_row .controls select:focus-visible, #main .form_row dd select:focus, #main .form_row dd select:focus-visible {
  outline: 0;
  border-color: #004BA1;
  box-shadow: 0 0 8px rgba(0, 75, 161, 0.3);
}
#main .form-group .controls.corp_left .corp, #main .form-group .controls.corp_right .corp, #main .form-group dd.corp_left .corp, #main .form-group dd.corp_right .corp, #main .form_row .controls.corp_left .corp, #main .form_row .controls.corp_right .corp, #main .form_row dd.corp_left .corp, #main .form_row dd.corp_right .corp {
  width: 240px;
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .corp, #main .form-group .controls.corp_right .corp, #main .form-group dd.corp_left .corp, #main .form-group dd.corp_right .corp, #main .form_row .controls.corp_left .corp, #main .form_row .controls.corp_right .corp, #main .form_row dd.corp_left .corp, #main .form_row dd.corp_right .corp {
    width: 100%;
  }
}
#main .form-group .controls.corp_left .company_name, #main .form-group .controls.corp_right .company_name, #main .form-group dd.corp_left .company_name, #main .form-group dd.corp_right .company_name, #main .form_row .controls.corp_left .company_name, #main .form_row .controls.corp_right .company_name, #main .form_row dd.corp_left .company_name, #main .form_row dd.corp_right .company_name {
  width: calc(100% - 240px);
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .company_name, #main .form-group .controls.corp_right .company_name, #main .form-group dd.corp_left .company_name, #main .form-group dd.corp_right .company_name, #main .form_row .controls.corp_left .company_name, #main .form_row .controls.corp_right .company_name, #main .form_row dd.corp_left .company_name, #main .form_row dd.corp_right .company_name {
    width: 100%;
  }
}
#main .form-group .controls.corp_left .company_name input[type=text], #main .form-group .controls.corp_right .company_name input[type=text], #main .form-group dd.corp_left .company_name input[type=text], #main .form-group dd.corp_right .company_name input[type=text], #main .form_row .controls.corp_left .company_name input[type=text], #main .form_row .controls.corp_right .company_name input[type=text], #main .form_row dd.corp_left .company_name input[type=text], #main .form_row dd.corp_right .company_name input[type=text] {
  height: 52.8px;
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .company_name input[type=text], #main .form-group .controls.corp_right .company_name input[type=text], #main .form-group dd.corp_left .company_name input[type=text], #main .form-group dd.corp_right .company_name input[type=text], #main .form_row .controls.corp_left .company_name input[type=text], #main .form_row .controls.corp_right .company_name input[type=text], #main .form_row dd.corp_left .company_name input[type=text], #main .form_row dd.corp_right .company_name input[type=text] {
    height: 54.2px;
  }
}
@media screen and (min-width: 601px) {
  #main .form-group .controls.corp_wide .corp, #main .form-group dd.corp_wide .corp, #main .form_row .controls.corp_wide .corp, #main .form_row dd.corp_wide .corp {
    width: 300px;
  }
}
@media screen and (min-width: 601px) {
  #main .form-group .controls.corp_wide .company_name, #main .form-group dd.corp_wide .company_name, #main .form_row .controls.corp_wide .company_name, #main .form_row dd.corp_wide .company_name {
    width: calc(100% - 300px);
  }
}
#main .form-group .controls.corp_left, #main .form-group dd.corp_left, #main .form_row .controls.corp_left, #main .form_row dd.corp_left {
  display: flex;
  flex-flow: row wrap;
  gap: 8px 0;
}
#main .form-group .controls.corp_left .corp .select, #main .form-group .controls.corp_left .corp .select select, #main .form-group dd.corp_left .corp .select, #main .form-group dd.corp_left .corp .select select, #main .form_row .controls.corp_left .corp .select, #main .form_row .controls.corp_left .corp .select select, #main .form_row dd.corp_left .corp .select, #main .form_row dd.corp_left .corp .select select {
  border-radius: 4px 0 0 4px;
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .corp .select, #main .form-group .controls.corp_left .corp .select select, #main .form-group dd.corp_left .corp .select, #main .form-group dd.corp_left .corp .select select, #main .form_row .controls.corp_left .corp .select, #main .form_row .controls.corp_left .corp .select select, #main .form_row dd.corp_left .corp .select, #main .form_row dd.corp_left .corp .select select {
    width: 100%;
    border-radius: 4px 4px 0 0;
  }
}
@media screen and (min-width: 601px) {
  #main .form-group .controls.corp_left .corp select, #main .form-group dd.corp_left .corp select, #main .form_row .controls.corp_left .corp select, #main .form_row dd.corp_left .corp select {
    border-right: none;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .corp select, #main .form-group dd.corp_left .corp select, #main .form_row .controls.corp_left .corp select, #main .form_row dd.corp_left .corp select {
    border-bottom: none;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .corp.error .select.error, #main .form-group dd.corp_left .corp.error .select.error, #main .form_row .controls.corp_left .corp.error .select.error, #main .form_row dd.corp_left .corp.error .select.error {
    border-radius: 4px;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .corp.error .select.error select, #main .form-group dd.corp_left .corp.error .select.error select, #main .form_row .controls.corp_left .corp.error .select.error select, #main .form_row dd.corp_left .corp.error .select.error select {
    border-bottom: 1px solid;
    border-radius: 4px;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .corp.error + .company_name, #main .form-group dd.corp_left .corp.error + .company_name, #main .form_row .controls.corp_left .corp.error + .company_name, #main .form_row dd.corp_left .corp.error + .company_name {
    margin-top: 0;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .corp.error + .company_name input[type=text], #main .form-group dd.corp_left .corp.error + .company_name input[type=text], #main .form_row .controls.corp_left .corp.error + .company_name input[type=text], #main .form_row dd.corp_left .corp.error + .company_name input[type=text] {
    border-radius: 4px;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .company_name, #main .form-group dd.corp_left .company_name, #main .form_row .controls.corp_left .company_name, #main .form_row dd.corp_left .company_name {
    margin-top: -8px;
  }
}
#main .form-group .controls.corp_left .company_name input[type=text], #main .form-group dd.corp_left .company_name input[type=text], #main .form_row .controls.corp_left .company_name input[type=text], #main .form_row dd.corp_left .company_name input[type=text] {
  border-radius: 0 4px 4px 0;
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_left .company_name input[type=text], #main .form-group dd.corp_left .company_name input[type=text], #main .form_row .controls.corp_left .company_name input[type=text], #main .form_row dd.corp_left .company_name input[type=text] {
    border-radius: 0 0 4px 4px;
  }
}
#main .form-group .controls.corp_right, #main .form-group dd.corp_right, #main .form_row .controls.corp_right, #main .form_row dd.corp_right {
  display: flex;
  flex-flow: row wrap;
  gap: 8px 0;
}
#main .form-group .controls.corp_right .company_name input[type=text], #main .form-group dd.corp_right .company_name input[type=text], #main .form_row .controls.corp_right .company_name input[type=text], #main .form_row dd.corp_right .company_name input[type=text] {
  border-radius: 4px 0 0 4px;
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_right .company_name input[type=text], #main .form-group dd.corp_right .company_name input[type=text], #main .form_row .controls.corp_right .company_name input[type=text], #main .form_row dd.corp_right .company_name input[type=text] {
    border-radius: 4px 4px 0 0;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_right .company_name.error input[type=text], #main .form-group dd.corp_right .company_name.error input[type=text], #main .form_row .controls.corp_right .company_name.error input[type=text], #main .form_row dd.corp_right .company_name.error input[type=text] {
    border-radius: 4px;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_right .company_name.error + .corp, #main .form-group dd.corp_right .company_name.error + .corp, #main .form_row .controls.corp_right .company_name.error + .corp, #main .form_row dd.corp_right .company_name.error + .corp {
    margin-top: 0;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_right .company_name.error + .corp .select, #main .form-group dd.corp_right .company_name.error + .corp .select, #main .form_row .controls.corp_right .company_name.error + .corp .select, #main .form_row dd.corp_right .company_name.error + .corp .select {
    border-radius: 4px;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_right .company_name.error + .corp .select select, #main .form-group dd.corp_right .company_name.error + .corp .select select, #main .form_row .controls.corp_right .company_name.error + .corp .select select, #main .form_row dd.corp_right .company_name.error + .corp .select select {
    border-top: 1px solid;
    border-radius: 4px;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_right .corp, #main .form-group dd.corp_right .corp, #main .form_row .controls.corp_right .corp, #main .form_row dd.corp_right .corp {
    margin-top: -8px;
  }
}
#main .form-group .controls.corp_right .corp .select, #main .form-group .controls.corp_right .corp .select select, #main .form-group dd.corp_right .corp .select, #main .form-group dd.corp_right .corp .select select, #main .form_row .controls.corp_right .corp .select, #main .form_row .controls.corp_right .corp .select select, #main .form_row dd.corp_right .corp .select, #main .form_row dd.corp_right .corp .select select {
  border-radius: 0 4px 4px 0;
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_right .corp .select, #main .form-group .controls.corp_right .corp .select select, #main .form-group dd.corp_right .corp .select, #main .form-group dd.corp_right .corp .select select, #main .form_row .controls.corp_right .corp .select, #main .form_row .controls.corp_right .corp .select select, #main .form_row dd.corp_right .corp .select, #main .form_row dd.corp_right .corp .select select {
    width: 100%;
    border-radius: 0 0 4px 4px;
  }
}
@media screen and (min-width: 601px) {
  #main .form-group .controls.corp_right .corp select, #main .form-group dd.corp_right .corp select, #main .form_row .controls.corp_right .corp select, #main .form_row dd.corp_right .corp select {
    border-left: none;
  }
}
@media screen and (max-width: 600px) {
  #main .form-group .controls.corp_right .corp select, #main .form-group dd.corp_right .corp select, #main .form_row .controls.corp_right .corp select, #main .form_row dd.corp_right .corp select {
    border-top: none;
  }
}
#main .form-group p, #main .form_row p {
  width: 100%;
  margin: 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  #main .form-group p, #main .form_row p {
    margin: 0;
  }
}
#main .form-group select, #main .form_row select {
  border: 1px solid #747474;
  border-radius: 4px;
}
#main .form-group select:focus, #main .form-group select:focus-visible, #main .form_row select:focus, #main .form_row select:focus-visible {
  outline: 0;
  border-color: #004BA1;
  box-shadow: 0 0 8px rgba(0, 75, 161, 0.3);
}
#main .form-group .controls, #main .form_row .controls {
  margin-top: 6px;
}
#main .form-group {
  padding-left: 20px;
  position: relative;
  margin: 0;
  padding: 1px 0 0 28px;
  position: relative;
}
#main .form-group:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 4px;
  height: 100%;
  background: linear-gradient(to right, #648BFF 15.4%, #AB34EE 80.4%);
}
@media screen and (max-width: 600px) {
  #main .form-group {
    padding: 0 8px 0 20px;
  }
}
#main .form-group + .form-group {
  padding-top: 40px;
}
#main .form-group + .form_title {
  margin-top: 48px;
}
@media screen and (max-width: 600px) {
  #main .form-group + .form_title {
    margin-top: 40px;
  }
}
#main .form .form_title + .form-group + .form-group {
  padding-top: 0;
}
#main .form_row {
  margin: 15px 0 0 0;
}
#main .form_row_wrap {
  position: relative;
}
#main .form_row_wrap + .form_title {
  margin-top: 50px;
}
#main .form_row_wrap .form_row:last-child .output {
  padding-bottom: 0;
}
#main .form_row_wrap .form_row_wrap {
  padding-bottom: 0;
}
@media screen and (max-width: 600px) {
  #main .form_row_wrap .form_row_wrap + .form_title {
    margin-top: 32px;
  }
}
#main .form_row.texts.confirm + .form_row_wrap {
  margin-top: 32px;
}
#main .form_row.texts.confirm + .form_row_wrap .etc {
  font-size: 14px;
}
#main .form_set {
  background-color: #F9F9F9;
  padding: 24px 24px 48px;
}
#main .form_set + .form_set {
  margin-top: 64px;
}
#main .form .privacy {
  margin: 80px 0 40px;
  padding: 32px;
  border: 1px solid #b4b4b4;
  background-color: #f9f9f9;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  #main .form .privacy {
    margin: 40px 0;
    padding: 23px 15px 16px;
  }
}
#main .form .privacy_bottom {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
#main .form .privacy p, #main .form .privacy ul {
  margin: 0 0 7px;
}
#main .form .privacy ul li {
  padding-left: 1em;
  text-indent: -1em;
}
#main .form .privacy ul li:before {
  content: "・";
}
#main .form .submit.form-actions, #main .form .button_wrap {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 12px;
  margin-top: 48px;
}
@media screen and (max-width: 600px) {
  #main .form .submit.form-actions, #main .form .button_wrap {
    display: flex;
    align-items: center;
    flex-flow: column-reverse nowrap;
  }
}
#main .form .submit.form-actions button.cancel, #main .form .submit.form-actions button.back, #main .form .button_wrap button.cancel, #main .form .button_wrap button.back {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 2px solid #B4B4B4;
  border-radius: 33px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.448;
  letter-spacing: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: background-color 0.2s;
  cursor: pointer;
  width: 274px;
  height: 64px;
}
@media (hover: hover) and (pointer: fine) {
  #main .form .submit.form-actions button.cancel:hover, #main .form .submit.form-actions button.back:hover, #main .form .button_wrap button.cancel:hover, #main .form .button_wrap button.back:hover {
    background-color: #fff;
  }
}
#main .form .submit.form-actions input.confirm.btn.btn-primary, #main .form .submit.form-actions input.send.btn.btn-primary {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #004BA1;
  border-radius: 24px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  color: #fff;
  width: 274px;
  height: 64px;
  border-radius: 38px;
}
@media (hover: hover) and (pointer: fine) {
  #main .form .submit.form-actions input.confirm.btn.btn-primary:hover, #main .form .submit.form-actions input.send.btn.btn-primary:hover {
    border: 1px solid #80a5d0;
    background-color: #80a5d0;
  }
}
#main .form .submit.form-actions input.confirm.btn.btn-primary::after, #main .form .submit.form-actions input.send.btn.btn-primary::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 2px;
  left: 2px;
  border: 2px solid #fff;
  border-radius: 20px;
  pointer-events: none;
}
@media screen and (max-width: 600px) {
  #main .form .submit.form-actions input.confirm.btn.btn-primary, #main .form .submit.form-actions input.send.btn.btn-primary {
    width: 272px;
  }
}
#main .form .submit.form-actions input.confirm.btn.btn-primary::after, #main .form .submit.form-actions input.send.btn.btn-primary::after {
  border-radius: 100px;
}
#main .form .submit.form-actions input.confirm.btn.btn-primary[disabled], #main .form .submit.form-actions input.confirm.btn.btn-primary.disabled, #main .form .submit.form-actions input.send.btn.btn-primary[disabled], #main .form .submit.form-actions input.send.btn.btn-primary.disabled {
  background-color: #B4B4B4;
  border-color: #B4B4B4;
  pointer-events: none;
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .form .submit.form-actions input.confirm.btn.btn-primary[disabled]::after, #main .form .submit.form-actions input.confirm.btn.btn-primary.disabled::after, #main .form .submit.form-actions input.send.btn.btn-primary[disabled]::after, #main .form .submit.form-actions input.send.btn.btn-primary.disabled::after {
  display: none;
}
#main .form .submit.form-actions input.confirm.btn.btn-primary.ended, #main .form .submit.form-actions input.send.btn.btn-primary.ended {
  border-color: #EFEFF1;
  background-color: #EFEFF1;
  color: #C2C2C2;
  box-shadow: none;
  pointer-events: none;
}
#main .form .submit.form-actions input.confirm.btn.btn-primary.ended::after, #main .form .submit.form-actions input.send.btn.btn-primary.ended::after {
  display: none;
}
#main .form .submit.form-actions button.confirm {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #004BA1;
  border-radius: 24px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  color: #fff;
  width: 274px;
  height: 64px;
  border-radius: 38px;
}
@media (hover: hover) and (pointer: fine) {
  #main .form .submit.form-actions button.confirm:hover {
    border: 1px solid #80a5d0;
    background-color: #80a5d0;
  }
}
#main .form .submit.form-actions button.confirm::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 2px;
  left: 2px;
  border: 2px solid #fff;
  border-radius: 20px;
  pointer-events: none;
}
@media screen and (max-width: 600px) {
  #main .form .submit.form-actions button.confirm {
    width: 272px;
  }
}
#main .form .submit.form-actions button.confirm::after {
  border-radius: 100px;
}
#main .form .submit.form-actions button.confirm[disabled], #main .form .submit.form-actions button.confirm.disabled {
  background-color: #B4B4B4;
  border-color: #B4B4B4;
  pointer-events: none;
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .form .submit.form-actions button.confirm[disabled]::after, #main .form .submit.form-actions button.confirm.disabled::after {
  display: none;
}
#main .form .submit.form-actions button.confirm.ended {
  border-color: #EFEFF1;
  background-color: #EFEFF1;
  color: #C2C2C2;
  box-shadow: none;
  pointer-events: none;
}
#main .form .submit.form-actions button.confirm.ended::after {
  display: none;
}
#main .form .submit.form-actions input.modify.btn {
  display: block;
  width: 272px;
  height: 54px;
  padding-bottom: 3px;
  border: 1px solid #004BA1;
  border-radius: 40px;
  background-color: #fff;
  color: #004BA1;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  #main .form .submit.form-actions input.modify.btn {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  #main .form .submit.form-actions input.modify.btn:hover {
    background-color: rgba(61, 121, 252, 0.1);
  }
}
#main .form .submit.form-actions input.modify.btn:disabled {
  cursor: default;
  background: #ddd;
  color: #666;
}
@media screen and (max-width: 600px) {
  #main .form .submit.form-actions input.modify.btn {
    width: 295px;
    height: 46px;
  }
}
#main .form .button_wrap button.confirm, #main .form .button_wrap button.submit {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #004BA1;
  border-radius: 24px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  color: #fff;
  width: 274px;
  height: 64px;
  border-radius: 38px;
}
@media (hover: hover) and (pointer: fine) {
  #main .form .button_wrap button.confirm:hover, #main .form .button_wrap button.submit:hover {
    border: 1px solid #80a5d0;
    background-color: #80a5d0;
  }
}
#main .form .button_wrap button.confirm::after, #main .form .button_wrap button.submit::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 2px;
  left: 2px;
  border: 2px solid #fff;
  border-radius: 20px;
  pointer-events: none;
}
@media screen and (max-width: 600px) {
  #main .form .button_wrap button.confirm, #main .form .button_wrap button.submit {
    width: 272px;
  }
}
#main .form .button_wrap button.confirm::after, #main .form .button_wrap button.submit::after {
  border-radius: 100px;
}
#main .form .button_wrap button.confirm[disabled], #main .form .button_wrap button.confirm.disabled, #main .form .button_wrap button.submit[disabled], #main .form .button_wrap button.submit.disabled {
  background-color: #B4B4B4;
  border-color: #B4B4B4;
  pointer-events: none;
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .form .button_wrap button.confirm[disabled]::after, #main .form .button_wrap button.confirm.disabled::after, #main .form .button_wrap button.submit[disabled]::after, #main .form .button_wrap button.submit.disabled::after {
  display: none;
}
#main .form .button_wrap button.confirm.ended, #main .form .button_wrap button.submit.ended {
  border-color: #EFEFF1;
  background-color: #EFEFF1;
  color: #C2C2C2;
  box-shadow: none;
  pointer-events: none;
}
#main .form .button_wrap button.confirm.ended::after, #main .form .button_wrap button.submit.ended::after {
  display: none;
}
#main .form form.mailform .input-form {
  border-top: none;
}
#main .form form.mailform .input-form .form-group {
  display: block;
  border-bottom: none;
}
#main .form form.mailform .input-form .form-group .control-label {
  display: block;
  margin-bottom: 8px;
}
#main .form form.mailform .input-form .form-group .control-label .title {
  flex: unset;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.48;
  letter-spacing: 0;
}
#main .form form.mailform .input-form .form-group .control-label .icon {
  display: inline-block;
  flex: unset;
  margin-left: 5px;
  position: relative;
  top: -1px;
}
#main .form form.mailform .input-form .form-group .control-label .icon span.required {
  margin: 0;
  padding: 0 8px;
  border-radius: 0;
  background-color: #FC0255;
  color: #fff;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
}
#main .form form.mailform .input-form .form-group .controls {
  flex-direction: row;
  gap: 8px 16px;
}
#main .form form.mailform .input-form .form-group .controls input[type="text"], #main .form form.mailform .input-form .form-group .controls input[type="tel"], #main .form form.mailform .input-form .form-group .controls input[type="email"], #main .form form.mailform .input-form .form-group .controls input[type="url"], #main .form form.mailform .input-form .form-group .controls input[type="password"], #main .form form.mailform .input-form .form-group .controls input[type="date"], #main .form form.mailform .input-form .form-group .controls input[type="number"], #main .form form.mailform .input-form .form-group .controls textarea {
  width: 100%;
  padding: 15px 16px;
  border: 1px solid #747474;
  border-radius: 4px;
  background-color: #fff;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0;
  transition: border-color 0.2s, box-shadow 0.2s;
}
@media screen and (max-width: 600px) {
  #main .form form.mailform .input-form .form-group .controls input[type="text"], #main .form form.mailform .input-form .form-group .controls input[type="tel"], #main .form form.mailform .input-form .form-group .controls input[type="email"], #main .form form.mailform .input-form .form-group .controls input[type="url"], #main .form form.mailform .input-form .form-group .controls input[type="password"], #main .form form.mailform .input-form .form-group .controls input[type="date"], #main .form form.mailform .input-form .form-group .controls input[type="number"], #main .form form.mailform .input-form .form-group .controls textarea {
    font-size: 16px;
  }
}
#main .form form.mailform .input-form .form-group .controls input[type="text"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="tel"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="email"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="url"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="password"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="date"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="number"]::placeholder, #main .form form.mailform .input-form .form-group .controls textarea::placeholder {
  color: #b4b4b4;
}
@media screen and (max-width: 600px) {
  #main .form form.mailform .input-form .form-group .controls input[type="text"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="tel"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="email"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="url"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="password"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="date"]::placeholder, #main .form form.mailform .input-form .form-group .controls input[type="number"]::placeholder, #main .form form.mailform .input-form .form-group .controls textarea::placeholder {
    font-size: 14px;
  }
}
#main .form form.mailform .input-form .form-group .controls input[type="text"]:focus, #main .form form.mailform .input-form .form-group .controls input[type="text"]:focus-visible, #main .form form.mailform .input-form .form-group .controls input[type="tel"]:focus, #main .form form.mailform .input-form .form-group .controls input[type="tel"]:focus-visible, #main .form form.mailform .input-form .form-group .controls input[type="email"]:focus, #main .form form.mailform .input-form .form-group .controls input[type="email"]:focus-visible, #main .form form.mailform .input-form .form-group .controls input[type="url"]:focus, #main .form form.mailform .input-form .form-group .controls input[type="url"]:focus-visible, #main .form form.mailform .input-form .form-group .controls input[type="password"]:focus, #main .form form.mailform .input-form .form-group .controls input[type="password"]:focus-visible, #main .form form.mailform .input-form .form-group .controls input[type="date"]:focus, #main .form form.mailform .input-form .form-group .controls input[type="date"]:focus-visible, #main .form form.mailform .input-form .form-group .controls input[type="number"]:focus, #main .form form.mailform .input-form .form-group .controls input[type="number"]:focus-visible, #main .form form.mailform .input-form .form-group .controls textarea:focus, #main .form form.mailform .input-form .form-group .controls textarea:focus-visible {
  outline: 0;
  border-color: #004BA1;
  box-shadow: 0 0 8px rgba(0, 75, 161, 0.3);
}
#main .form form.mailform .input-form .form-group .controls textarea {
  resize: none;
  height: 168px;
}
#main .form form.mailform .input-form .form-group .controls .checkboxes {
  display: flex;
  flex-flow: row wrap;
  gap: 12px;
  margin: 4px 0 0;
  padding-right: 64px;
}
@media screen and (max-width: 600px) {
  #main .form form.mailform .input-form .form-group .controls .checkboxes {
    padding-right: 0;
  }
}
#main .form form.mailform .input-form .form-group .controls .checkboxes label {
  flex: 1 0 calc((100% - 60px) / 6);
  display: flex;
  flex-flow: row nowrap;
  line-height: 1;
}
@media screen and (max-width: 1200px) {
  #main .form form.mailform .input-form .form-group .controls .checkboxes label {
    flex: 1 0 calc((100% - 36px) / 4);
  }
}
@media screen and (max-width: 960px) {
  #main .form form.mailform .input-form .form-group .controls .checkboxes label {
    flex: 1 0 calc((100% - 12px) / 2);
  }
}
#main .form form.mailform .input-form .form-group .controls .checkboxes label.disabled {
  pointer-events: none;
}
#main .form form.mailform .input-form .form-group .controls .checkboxes label.disabled [type="checkbox"] + span::before {
  border-color: #efeff1;
}
#main .form form.mailform .input-form .form-group .controls .checkboxes.columns {
  flex-direction: column;
}
#main .form form.mailform .input-form .form-group .controls .checkboxes.columns > div {
  display: flex;
}
#main .form form.mailform .input-form .form-group .controls .checkboxes.columns > div.sub {
  display: block;
  margin: 10px 0;
}
#main .form form.mailform .input-form .form-group .controls .checkboxes.columns > div.sub .rows {
  margin: 10px 0 0 30px;
  padding: 15px;
  background: #f9f9f9;
}
#main .form form.mailform .input-form .form-group .controls .checkboxes.columns > div.sub .rows label {
  flex-grow: 0;
}
#main .form form.mailform .input-form .form-group .controls .checkboxes.columns .rows {
  display: flex;
  flex-flow: row wrap;
  gap: 12px;
  margin: 4px 0 0;
}
#main .form form.mailform .input-form .form-group .controls ul.category_list.checkboxes {
  gap: 0;
  margin: 0;
  padding-right: 0;
}
#main .form form.mailform .input-form .form-group .controls input[type="radio"], #main .form form.mailform .input-form .form-group .controls input[type="checkbox"] {
  width: 20px;
  height: 20px;
  background-color: #fff;
  opacity: 0;
}
#main .form form.mailform .input-form .form-group .controls input[type="radio"] + span, #main .form form.mailform .input-form .form-group .controls input[type="checkbox"] + span {
  flex: 1 0 calc(100% - 20px);
  display: inline-block;
  padding-left: 8px;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
  cursor: pointer;
  position: relative;
}
#main .form form.mailform .input-form .form-group .controls input[type="radio"]:focus + span:before, #main .form form.mailform .input-form .form-group .controls input[type="radio"]:focus-visible + span:before, #main .form form.mailform .input-form .form-group .controls input[type="checkbox"]:focus + span:before, #main .form form.mailform .input-form .form-group .controls input[type="checkbox"]:focus-visible + span:before {
  outline: 0;
  border-color: #004BA1;
  box-shadow: 0 0 8px rgba(0, 75, 161, 0.3);
}
#main .form form.mailform .input-form .form-group .controls input[type="radio"]:checked + span:before, #main .form form.mailform .input-form .form-group .controls input[type="checkbox"]:checked + span:before {
  transition: 0.2s ease 0s;
}
#main .form form.mailform .input-form .form-group .controls input[type="radio"]:disabled + span, #main .form form.mailform .input-form .form-group .controls input[type="checkbox"]:disabled + span {
  opacity: 0.4;
}
#main .form form.mailform .input-form .form-group .controls input[type="radio"] + span:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  opacity: 1;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border: 2px solid #004BA1;
  border-radius: 10px;
  box-shadow: none;
  transition: background-color 0.2s, box-shadow 0.2s;
}
#main .form form.mailform .input-form .form-group .controls input[type="radio"]:checked + span:before {
  background-color: #004BA1;
}
#main .form form.mailform .input-form .form-group .controls input[type="radio"]:checked + span:after {
  content: "";
  position: absolute;
  top: 2px;
  left: -18px;
  opacity: 1;
  width: 16px;
  height: 16px;
  border: 2.5px solid #fff;
  border-radius: 9px;
}
#main .form form.mailform .input-form .form-group .controls input[type="checkbox"] + span:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  opacity: 1;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border: 2px solid #004BA1;
  border-radius: 2px;
  box-shadow: none;
  transition: background-color 0.2s, box-shadow 0.2s;
}
#main .form form.mailform .input-form .form-group .controls input[type="checkbox"]:checked + span:before {
  background-color: #004BA1;
}
#main .form form.mailform .input-form .form-group .controls input[type="checkbox"]:checked + span:after {
  content: "";
  position: absolute;
  top: 6px;
  left: -16px;
  opacity: 1;
  width: 12px;
  height: 5px;
  transform: rotate(-45deg);
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
}
#main .form form.mailform .input-form .form-group .controls input[type="checkbox"].all:checked + span:after {
  top: 9px;
  transform: unset;
  width: 12px;
  height: 2px;
  border: none;
  background-color: #fff;
}
#main .form form.mailform .input-form .form-group .controls .select.error p, #main .form form.mailform .input-form .form-group .controls .input.error p, #main .form form.mailform .input-form .form-group .controls .textarea.error p {
  margin-top: 8px;
  color: #FC0255;
}
#main .form form.mailform .input-form .form-group .controls .select.error {
  border-color: #FC0255;
}
#main .form form.mailform .input-form .form-group .controls .select.error select {
  color: #FC0255;
}
#main .form form.mailform .input-form .form-group .controls .select.error select:focus, #main .form form.mailform .input-form .form-group .controls .select.error select:focus-visible {
  box-shadow: 0 0 8px rgba(252, 2, 85, 0.3);
}
#main .form form.mailform .input-form .form-group .controls .select.error select:-webkit-autofill {
  -webkit-text-fill-color: #FC0255;
}
#main .form form.mailform .input-form .form-group .controls .select.error + .error {
  color: #FC0255;
}
#main .form form.mailform .input-form .form-group .controls .input.error input {
  color: #FC0255;
  border-color: #FC0255;
}
#main .form form.mailform .input-form .form-group .controls .input.error input:focus, #main .form form.mailform .input-form .form-group .controls .input.error input:focus-visible {
  box-shadow: 0 0 8px rgba(252, 2, 85, 0.3);
}
#main .form form.mailform .input-form .form-group .controls .input.error input:-webkit-autofill {
  -webkit-text-fill-color: #FC0255;
}
#main .form form.mailform .input-form .form-group .controls .textarea.error textarea {
  color: #FC0255;
  border-color: #FC0255;
}
#main .form form.mailform .input-form .form-group .controls .textarea.error textarea:focus, #main .form form.mailform .input-form .form-group .controls .textarea.error textarea:focus-visible {
  box-shadow: 0 0 8px rgba(252, 2, 85, 0.3);
}
#main .form form.mailform .input-form .form-group .controls .textarea.error textarea:-webkit-autofill {
  -webkit-text-fill-color: #FC0255;
}
@media screen and (max-width: 600px) {
  #main .form form.mailform .input-form .form-group .controls {
    gap: 8px 11px;
  }
}
#main .form form.mailform .input-form .form-group .controls.has_help {
  flex-wrap: wrap;
}
#main .form form.mailform .input-form .form-group .controls span.sub {
  display: none;
}
#main .form form.mailform .input-form .form-group .controls .select {
  width: 100%;
  border: none;
}
#main .form form.mailform .input-form .form-group .controls .select select {
  padding: 17px 16px;
  border: 1px solid #747474;
}
#main .form form.mailform .input-form .form-group .controls .select select[name="prefecture"].type10 {
  width: 100%;
}
#main .form form.mailform .input-form .form-group .controls input.error-tooltip, #main .form form.mailform .input-form .form-group .controls textarea.error-tooltip, #main .form form.mailform .input-form .form-group .controls select.error-tooltip {
  border-color: #FC0255 !important;
}
#main .form form.mailform .input-form .form-group .controls label.error-tooltip {
  top: 60px !important;
  width: 100%;
  margin: 0;
  padding: 0;
  background: unset;
  color: #FC0255 !important;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
  box-shadow: unset;
}
#main .form form.mailform .input-form .form-group .controls label.error-tooltip:before {
  content: none;
}
#main .form form.mailform .input-form .form-group .controls textarea.error-tooltip + label.error-tooltip {
  top: 176px !important;
}
#main .form form.mailform .input-form .form-group .controls .example.help {
  margin: 0;
  color: #000;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
}
#main .form form.mailform .input-form.confirm .form-group {
  padding-bottom: 15px;
}
#main .form form.mailform .input-form.confirm .form-group .controls {
  margin-left: 16px;
  margin-top: 24px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.48;
  letter-spacing: 0;
}
#main .form form.mailform .input-form.confirm .form_title + .form-group {
  padding-bottom: 0;
}
#main .form form.mailform .submit.form-actions input.confirm.btn.btn-primary, #main .form form.mailform .submit.form-actions input.send.btn.btn-primary, #main .form form.mailform .submit.form-actions input.modify.btn {
  padding: 0;
}
.output {
  width: unset;
  padding: 15px 22px 15.5px 16px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  .output {
    padding: 9px 15px 10px 15px;
  }
}
#main .complete p {
  margin: 20px 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
}
#main .complete .back_button {
  margin-top: 46px;
}
#main .complete .not_receive_email {
  width: 100%;
  max-width: 860px;
  margin: 25px auto 50px;
  padding: 24px;
  background-color: #f9f9f9;
  text-align: center;
}
#main .complete .not_receive_email_title {
  margin-bottom: 21px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
#main .complete .not_receive_email p {
  margin: 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
#main .complete .not_receive_email p + .not_receive_email_title {
  margin-top: 18px;
}
@media screen and (max-width: 600px) {
  #main .complete .not_receive_email p + .not_receive_email_title {
    margin-top: 19px;
  }
}
.search_box {
  display: flex;
  flex-flow: row nowrap;
  width: 100%;
  max-width: 700px;
  height: 52px;
  margin: 0 auto;
}
.search_box.left {
  margin-left: 0;
}
.search_box .category_search {
  width: calc(100% - 446px);
  border: 1px solid #004BA1;
  border-right: none;
  border-radius: 4px 0 0 4px;
  position: relative;
}
.search_box .category_search_button {
  position: relative;
  z-index: 1;
}
.search_box .category_search_button:before, .search_box .category_search_button:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
}
.search_box .category_search_button:before {
  right: 24px;
  z-index: 0;
  width: 10px;
  height: 5px;
  background-color: #004BA1;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.search_box .category_search_button:after {
  right: -1px;
  width: 1px;
  height: 32px;
  background-color: #efeff1;
}
.search_box .category_search select {
  width: 100%;
  padding: 15px 46px 16px 16px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-radius: 4px 0 0 4px;
  color: #004BA1;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
}
.search_box input[type="search"] {
  width: 306px;
  padding: 8px 16px 10px;
  border: none;
  border-top: 1px solid #004BA1;
  border-bottom: 1px solid #004BA1;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: box-shadow 0.2s;
}
@media screen and (max-width: 600px) {
  .search_box input[type="search"] {
    font-size: 16px;
  }
}
.search_box input[type="search"]::placeholder {
  color: #aaa;
}
.search_box input[type="search"]:focus, .search_box input[type="search"]:focus-visible {
  outline: 0;
  box-shadow: inset 0 0 8px rgba(0, 75, 161, 0.3);
}
.search_box button {
  display: block;
  width: 140px;
  height: 100%;
  padding-bottom: 3px;
  border: none;
  border-radius: 40px;
  background-color: var(--color-blue-main-2026);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
  border-radius: 0 4px 4px 0;
}
@media (hover: hover) and (pointer: fine) {
  .search_box button:hover {
    background-color: var(--color-blue-sub-2026);
  }
}
.search_box button:disabled {
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .not_found h2.page_title {
  margin-top: 177px;
  margin-bottom: 16px;
  font-size: 26px;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  #main .not_found h2.page_title {
    margin-top: 93px;
  }
}
#main .not_found p.page_description {
  margin-top: 0;
  margin-bottom: 50px;
}
#main .not_found p.page_description span.en {
  display: block;
  margin-top: 5px;
}
#main .not_found p:not([class]), #main .not_found p.en {
  width: 87%;
  margin: 0 auto;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 600px) {
  #main .not_found p:not([class]), #main .not_found p.en {
    width: 100%;
    margin-top: 50px;
  }
}
#main .not_found p.en {
  margin-top: 30px;
}
#main .not_found .back_button a {
  padding-bottom: 2px;
  line-height: 1.5;
}
.logged-in, .logged-out {
  margin: 60px auto;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.48;
  letter-spacing: 0;
  text-align: center;
}
.modal {
  overscroll-behavior: contain;
  overflow-y: scroll;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 900;
  scrollbar-width: none;
}
.modal:before {
  display: flex;
  content: "";
  height: calc(100vh + 1px);
  width: 1px;
  background-color: transparent;
}
.modal:after {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 899;
  display: block;
  content: "";
  background: rgba(20, 1, 1, 0.1);
  animation: modalBgOpen 0.2s;
}
@keyframes modalBgOpen {
  0% {
    background-color: rgba(20, 1, 1, 0);
  }
  100% {
    background-color: rgba(20, 1, 1, 0.1);
  }
}
@media screen and (min-width: 601px) {
  .modal.sp_only {
    display: none;
  }
}
.modal_fixed {
  overflow: hidden;
}
@media screen and (min-width: 601px) {
  .modal_fixed.sp_only {
    overflow: visible;
  }
}
.modal button.modal_close {
  position: absolute;
  top: 0;
  right: 0;
  width: 46px;
  height: 46px;
  border: none;
  background-color: #004BA1;
  color: #fff;
  font-size: 0;
  cursor: pointer;
}
.modal button.modal_close::before {
  content: "×";
  font-weight: 400;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0;
}
.modal_body {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 900;
  display: flex;
  flex-direction: column;
  width: 648px;
  max-height: 90vh;
  padding: 50px 0 0;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.15);
  overflow-y: auto;
  overscroll-behavior-y: none;
  animation: modalOpen 0.2s;
}
@keyframes modalOpen {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media screen and (max-width: 600px) {
  .modal_body {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 900;
    width: 92%;
    height: 75.5%;
    margin: 0;
    background: white;
    padding: 37px 0 0;
    border-radius: 4px;
  }
}
@media screen and (max-width: 600px) {
  .modal_body > div:not([class]) {
    height: calc(75.5vh  - 60px);
    overflow-y: auto;
  }
}
.modal_body_inner {
  flex: 1 1 100%;
  padding: 0 48px 32px;
}
@media screen and (max-width: 600px) {
  .modal_body_inner {
    height: calc(100% - 142px);
    padding: 0 24px 32px;
    overflow-y: auto;
  }
}
@media screen and (max-width: 600px) {
  .modal_body_inner dl.reserve_list {
    height: 100%;
  }
}
.modal_body p {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
.modal_body p.error {
  margin: 15px 0;
  padding: 10px 10px 11px;
  border-radius: 4px;
  background-color: #3D79FC;
  color: #FC0255;
  font-weight: 700;
  text-align: center;
}
.modal_body dl.reserve_list {
  margin: 0 0 33px;
}
@media screen and (max-width: 600px) {
  .modal_body dl.reserve_list {
    height: 100%;
    margin: 0;
    overflow-y: auto;
  }
}
.modal_body dl.reserve_list dt {
  margin-bottom: 14px;
  padding-bottom: 11px;
  border-bottom: 1px solid #EFEFF1;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  .modal_body dl.reserve_list dt {
    margin-bottom: 10px;
  }
}
.modal_body dl.reserve_list dd {
  margin: 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
}
.modal_body dl.reserve_list dd.reserve_list_title {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  .modal_body dl.reserve_list dd.reserve_list_title {
    line-height: 1.48;
  }
}
.modal_body dl.reserve_list dd.reserve_list_place {
  color: #004BA1;
  font-weight: 700;
}
.modal_body dl.reserve_list dd.reserve_list_place a {
  color: #004BA1;
  font-weight: 700;
}
.modal_body dl.reserve_list dd.reserve_list_place a:hover {
  color: #3D79FC;
}
.modal_body dl.reserve_list dd + dt {
  margin-top: 35px;
}
@media screen and (max-width: 600px) {
  .modal_body dl.reserve_list dd + dt {
    margin-top: 28px;
  }
}
.modal_body ul.confirm_list {
  margin-bottom: 27px;
}
.modal_body ul.confirm_list li {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
}
.modal_body ul.confirm_list li:before {
  content: "・";
}
.modal_body ul.confirm_list li:not(:last-child) {
  margin-bottom: 3px;
}
.modal_body ul.calendar_list {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 12px;
  margin: 24px auto;
}
@media screen and (max-width: 600px) {
  .modal_body ul.calendar_list {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: center;
  }
}
.modal_body ul.calendar_list li {
  position: relative;
  /*&::before {
				position: absolute;
				inset: 0;
				z-index: -2;
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				border-radius: 33px;
				background: $color-grad-primary;
			}*/
}
.modal_body ul.calendar_list li button {
  display: block;
  width: 272px;
  height: 54px;
  padding-bottom: 3px;
  border: 1px solid #004BA1;
  border-radius: 40px;
  background-color: #fff;
  color: #004BA1;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  box-shadow: 0px 2px 12px 0px #00000040;
}
@media screen and (max-width: 600px) {
  .modal_body ul.calendar_list li button {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .modal_body ul.calendar_list li button:hover {
    background-color: rgba(61, 121, 252, 0.1);
  }
}
.modal_body ul.calendar_list li button:disabled {
  cursor: default;
  background: #ddd;
  color: #666;
}
.modal_body ul.calendar_list li button::before {
  background: none;
}
@media screen and (max-width: 600px) {
  .modal_body ul.calendar_list li button {
    width: 231px;
  }
}
.modal_body ul.calendar_list li button:hover {
  background-color: unset;
}
.modal_body ul.calendar_list li button span {
  padding-left: 28px;
  position: relative;
}
.modal_body ul.calendar_list li button span::before {
  position: absolute;
  top: -3px;
  left: 0;
  z-index: 1;
  content: url(../media/images/2025/seminar/icon_calendar.svg);
  width: 24px;
  height: 24px;
}
.modal_body .cancel_message {
  text-align: center;
}
.modal_body .cancel_message .modal_title_sub {
  margin-bottom: 10px;
}
.modal_body .cancel_message p {
  margin: 0;
}
.modal_body .notes {
  margin-top: 24px;
  padding: 18px 17px;
  background-color: #F9F9F9;
}
.modal_body .notes_list li {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0;
}
.modal_body .notes_list li:before {
  content: "・";
}
.modal_body .notes_list li:not(:last-child) {
  margin-bottom: 3px;
}
.modal_body .modal_button_wrap {
  padding: 24px 31px;
  border-top: 1px solid #EFEFF1;
}
.modal_body button.submit {
  position: relative;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #004BA1;
  border-radius: 24px;
  background-color: #004BA1;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  color: #fff;
  width: 274px;
  height: 64px;
  border-radius: 38px;
  margin: 0 auto;
  outline: unset;
  width: 224px;
  height: 54px;
  /* &[disable="false"] {
			@include white_button(224px, 54px);
		} */
}
@media (hover: hover) and (pointer: fine) {
  .modal_body button.submit:hover {
    border: 1px solid #80a5d0;
    background-color: #80a5d0;
  }
}
.modal_body button.submit::after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 2px;
  left: 2px;
  border: 2px solid #fff;
  border-radius: 20px;
  pointer-events: none;
}
@media screen and (max-width: 600px) {
  .modal_body button.submit {
    width: 272px;
  }
}
.modal_body button.submit::after {
  border-radius: 100px;
}
.modal_body button.submit[disabled], .modal_body button.submit.disabled {
  background-color: #B4B4B4;
  border-color: #B4B4B4;
  pointer-events: none;
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
.modal_body button.submit[disabled]::after, .modal_body button.submit.disabled::after {
  display: none;
}
.modal_body button.submit.ended {
  border-color: #EFEFF1;
  background-color: #EFEFF1;
  color: #C2C2C2;
  box-shadow: none;
  pointer-events: none;
}
.modal_body button.submit.ended::after {
  display: none;
}
@media screen and (max-width: 600px) {
  .modal_body button.submit {
    max-width: 100%;
  }
}
.modal_body button.close_top {
  position: absolute;
  top: 0;
  right: 0;
  width: 64px;
  height: 64px;
  border: none;
  background-color: unset;
  color: #000;
  font-size: 0;
  cursor: pointer;
  transition: background-color 0.2s;
}
@media screen and (max-width: 600px) {
  .modal_body button.close_top {
    width: 46px;
    height: 46px;
  }
}
.modal_body button.close_top:before {
  content: "×";
  font-weight: 500;
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: 0;
}
.modal_body button.close_top:hover {
  background-color: #F9F9F9;
}
.modal_body button.close_bottom {
  display: block;
  width: 224px;
  height: 54px;
  padding-bottom: 3px;
  border: 1px solid #C2C2C2;
  border-radius: 40px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
  margin: 0 auto;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 600px) {
  .modal_body button.close_bottom {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .modal_body button.close_bottom:hover {
    background-color: #F9F9F9;
  }
}
.modal_body button.close_bottom:disabled {
  cursor: default;
  background: #ddd;
  color: #666;
}
@media screen and (max-width: 600px) {
  .modal_body button.close_bottom {
    width: 224px;
    height: 54px;
    max-width: 100%;
  }
}
.modal_title {
  margin-bottom: 45px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .modal_title {
    margin-bottom: 38px;
  }
}
.modal_title_sub {
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0;
}
.modal .no_id {
  margin-top: 18px;
  text-align: center;
}
.modal .no_id a {
  color: #004BA1;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
  text-decoration: underline;
}
.modal .alert_area {
  position: fixed;
  top: 71px !important;
  right: 8px !important;
  width: calc(100% - 16px) !important;
}
.modal .alert_area .alert {
  width: 100% !important;
  margin-right: 0 !important;
  margin-left: auto !important;
}
:not([lang="ja"]):has(.fancybox__container.in_wmb_modal_wrapper) .web_magazine_banner_block {
  opacity: 0;
}
:not([lang="ja"]):has(.web_magazine_banner_block) .pagetop {
  bottom: 25px;
}
:not([lang="ja"]) .web_magazine_modal_block {
  display: none;
}
:not([lang="ja"]) .web_magazine_banner_block {
  position: fixed;
  bottom: 10px;
  right: calc(6vw + 108px);
  z-index: 3;
  padding: 15px 20px 23px;
  background-color: #fff;
  border-radius: 40px;
  border: 4px solid var(--color-red-2026);
  font-weight: 700;
  font-size: 20px;
  text-align: center;
  color: #e60019;
  cursor: pointer;
  width: 316px;
  transition: 0.3s;
}
@media screen and (max-width: 1200px) {
  :not([lang="ja"]) .web_magazine_banner_block {
    right: 3vw;
  }
}
@media screen and (max-width: 600px) {
  :not([lang="ja"]) .web_magazine_banner_block {
    right: 3vw;
    font-size: 16px;
    padding: 6px 10px 18px;
    width: 250px;
    bottom: 13px;
  }
}
:not([lang="ja"]) .web_magazine_banner_block::after {
  content: "";
  display: inline-block;
  background: #fff url(../media/images/2026/top/arrow_circle_right_red.svg) no-repeat center / 30px;
  width: 30px;
  height: 30px;
  transform: translateY(8px);
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .fancybox__backdrop {
  background: #0000004D;
}
@media screen and (max-width: 600px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .fancybox__slide.has-close-btn {
    padding-top: 46px;
  }
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .fancybox__slide.has-html {
  padding: 30px 17px;
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block {
  max-width: 1240px;
  width: 100%;
  padding: 86px 49px 104px 120px;
  border-radius: 8px;
}
@media print, screen and (max-width: 1200px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block {
    padding-left: 60px;
  }
}
@media print, screen and (max-width: 1100px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block {
    padding: 60px 70px 60px 60px;
  }
}
@media screen and (max-width: 600px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block {
    padding: 48px 25px 35px;
  }
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .is-close-button {
  transform: translate(-17px, 49px);
  background: url(../media/images/2026/top/wmb_close.svg) no-repeat center / 20px;
  width: 20px;
  height: 20px;
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .is-close-button svg {
  opacity: 0;
  visibility: hidden;
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .modal_inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 5.6%;
}
@media print, screen and (max-width: 1100px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .modal_inner {
    gap: 0 3%;
  }
}
@media screen and (max-width: 600px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .modal_inner {
    display: block;
  }
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .image {
  flex: 0 0 500px;
  position: relative;
  background-image: linear-gradient(237.77deg, #FFA629 15.37%, #2D60FE 76.45%);
}
@media print, screen and (max-width: 1100px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .image {
    flex: 0 0 48%;
  }
}
@media screen and (max-width: 600px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .image {
    margin-left: 16px;
    margin-bottom: 39px;
  }
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .image::after {
  content: "";
  position: absolute;
  top: 4px;
  right: 4px;
  bottom: 4px;
  left: 4px;
  background-color: #fff;
}
@media screen and (max-width: 600px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .image::after {
    top: 2px;
    right: 2px;
    bottom: 2px;
    left: 2px;
  }
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .image_inner {
  position: relative;
  z-index: 2;
  margin: 0;
  transform: translate(-24px, 29px);
}
@media screen and (max-width: 600px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .image_inner {
    margin: 0px;
    transform: translate(-16px, 16px);
  }
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .image_inner img {
  display: block;
  width: 100%;
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .text {
  flex: 0 0 47.7%;
}
@media print, screen and (max-width: 1100px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .text {
    flex: 0 0 55%;
  }
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .title {
  margin-top: 23px;
  margin-bottom: 3px;
  font-weight: 900;
  font-size: 34px;
  line-height: 1.4;
  text-align: center;
  color: var(--color-red-2026);
}
@media print, screen and (max-width: 1100px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .title {
    margin-top: 0;
    font-size: 30px;
  }
}
@media screen and (max-width: 600px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .title {
    font-size: 26px;
  }
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .modal_lead {
  padding: 0 10px;
}
@media screen and (max-width: 600px) {
  :not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .modal_lead {
    padding: 0;
  }
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .modal_lead p {
  margin: 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 18px;
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .modal_lead .button {
  max-width: 264px;
  margin: 17px auto 0;
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .modal_lead .button a {
  display: block;
  padding: 12px 20px 16px;
  border-radius: 4px;
  background-color: var(--color-red-2026);
  font-weight: 700;
  font-size: 13px;
  text-align: center;
  color: #fff;
  box-shadow: 0px 2px 12px 0px #00000059;
}
:not([lang="ja"]) .fancybox__container.in_wmb_modal_wrapper .web_magazine_modal_block .modal_lead .button a::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url(../media/images/2026/top/arrow_circle_right.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px;
  margin-left: 7px;
  transform: translateY(4px);
}
/*# sourceMappingURL=./common_2026.css.map */