@charset "UTF-8";
body {
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  letter-spacing: 0;
  overscroll-behavior: none;
}
body:lang(en) {
  font-family: "Noto Sans", sans-serif;
}
body:lang(zh-CN), body:lang(zh-cmn-Hans) {
  font-family: "Noto Sans SC", sans-serif;
}
[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: #3D79FC;
  text-decoration: none;
  transition: color 0.2s;
}
a:hover {
  color: rgba(61, 121, 252, 0.5);
}
@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: 143px;
  box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 960px) {
  .header {
    height: 54px;
  }
}
.header h1 {
  position: fixed;
  top: 65px;
  left: 40px;
  width: 351px;
  margin: 0;
}
@media (max-width: 1300px) {
  .header h1 {
    left: 20px;
    width: 280px;
  }
}
@media screen and (max-width: 1200px) {
  .header h1 {
    width: 185px;
  }
}
@media screen and (max-width: 1024px) {
  .header h1:lang(ja) {
    top: 70px;
    width: 130px;
  }
}
@media screen and (max-width: 960px) {
  .header h1 {
    width: 169px;
  }
}
.header h1 a {
  transition: opacity 0.2s;
}
.header h1 a:hover {
  opacity: 0.6;
}
.header h1 img {
  display: block;
  width: 100%;
}
.header_top {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  height: 44px;
  padding: 5px 40px;
  background-color: #EFEFF1;
}
@media screen and (max-width: 1024px) {
  .header_top {
    padding: 5px 20px;
  }
}
.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: 62%;
  }
  .header_top p:lang(en) {
    width: 40%;
  }
}
@media screen and (max-width: 960px) {
  .header_top p {
    width: unset;
  }
}
.header_top .sub_list {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  gap: 12px;
}
.header_top .sub_list li.language {
  position: relative;
  width: 128px;
  height: 30px;
  border: 1px solid #3D79FC;
  border-radius: 15px;
  background-color: #fff;
  transition: background-color 0.2s;
  /*button {
					@include white_button(auto, 34px);
					@include flex(row wrap, center, center);
					gap: 5px;
					padding: 5px 35px 6px 15px;
					@include font(12, 1, 700, 0);
					position: relative;

					&:before {
					content: url(../media/images/common/icon_language.svg);
				}

					&:after {
					position: absolute;
					top: 52%;
					right: 21px;
					transform: translateY(-50%);
					display: block;
					content: "";
					width: 10px;
					height: 5px;
					background-color: $color-primary;
					clip-path: polygon(0 0, 100% 0, 50% 100%);
				}
				}*/
}
.header_top .sub_list li.language:before {
  position: absolute;
  top: 0;
  left: 15px;
  content: url(../media/images/2025/common/icon_language2.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: #3D79FC;
  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: 700;
  font-size: 12px;
  line-height: 1.45;
  letter-spacing: 0;
  color: #3D79FC;
}
@media screen and (min-width: 601px) {
  .header_top .sub_list li.language ul.sp_language {
    display: none;
  }
}
.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: 1px solid #3D79FC;
  border-radius: 33px;
  background-color: #fff;
  color: #3D79FC;
  font-weight: 700;
  font-size: 14px;
  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;
}
.header_top .sub_list li.archive a:hover {
  background-color: rgba(61, 121, 252, 0.1);
}
.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: 1px solid #3D79FC;
  border-radius: 33px;
  background-color: #fff;
  color: #3D79FC;
  font-weight: 700;
  font-size: 14px;
  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: #004BA1;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0;
  color: #004BA1;
  box-shadow: unset;
}
.header_top .sub_list li.association a:hover {
  background-color: rgba(61, 121, 252, 0.1);
}
.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_bottom {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-end;
  padding: 10px 20px 0 400px;
  background-color: #fff;
  /*h1 {
		width: 280px;
		margin: 19px 0 0;

		@include media(sp) {
		width: 169px;
	}

		img {
		display: block;
		width: 100%;
	}
	}*/
}
@media (max-width: 1300px) {
  .header_bottom {
    padding-left: 340px;
  }
}
@media screen and (max-width: 1200px) {
  .header_bottom {
    padding-left: 240px;
  }
}
.header_bottom nav .login_list {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-end;
  margin-right: 20px;
  margin-bottom: 8px;
}
@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 a, .header_bottom nav .login_list li.mypage a {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  gap: 7px;
  height: 100%;
}
@media screen and (min-width: 961px) {
  .header_bottom nav .login_list li.exhibitor a, .header_bottom nav .login_list li.mypage a {
    transition: opacity 0.2s;
  }
}
.header_bottom nav .login_list li.exhibitor a:before, .header_bottom nav .login_list li.mypage a:before {
  position: relative;
  top: 1px;
}
@media screen and (min-width: 961px) {
  .header_bottom nav .login_list li.exhibitor a:hover, .header_bottom nav .login_list li.mypage a:hover {
    opacity: 0.6;
  }
}
.header_bottom nav .login_list li.exhibitor {
  height: 24px;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .header_bottom nav .login_list li.exhibitor {
    width: 185px;
  }
}
@media screen and (max-width: 960px) {
  .header_bottom nav .login_list li.exhibitor {
    width: unset;
  }
}
.header_bottom nav .login_list li.exhibitor a {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 4px;
  color: #3D79FC;
}
.header_bottom nav .login_list li.exhibitor a::before {
  content: url(../media/images/2025/common/icon_exhibitor.svg);
}
@media screen and (max-width: 600px) {
  .header_bottom nav .login_list li.exhibitor a:hover {
    background-color: rgba(61, 121, 252, 0.1) !important;
  }
}
.header_bottom nav .login_list li.mypage {
  margin-left: 24px;
  padding-left: 28px;
  border-left: 1px solid #EFEFF1;
}
@media screen and (max-width: 1024px) {
  .header_bottom nav .login_list li.mypage {
    width: 155px;
  }
}
@media screen and (max-width: 960px) {
  .header_bottom nav .login_list li.mypage {
    width: unset;
  }
}
.header_bottom nav .login_list li.mypage a {
  color: #E60019;
}
.header_bottom nav .login_list li.mypage a:before {
  content: url(../media/images/2025/common/icon_user.svg);
}
@media screen and (max-width: 600px) {
  .header_bottom nav .login_list li.mypage a:before {
    top: 2px;
  }
}
@media screen and (max-width: 600px) {
  .header_bottom nav .login_list li.mypage a:hover {
    background-color: rgba(230, 0, 25, 0.1) !important;
  }
}
.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: 32px;
}
@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 {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border-radius: 40px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.448;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  position: relative;
  z-index: 0;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.448;
  letter-spacing: 0;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
}
.header_bottom nav .login_list li.register a::before, .header_bottom nav .login_list li.register a::after {
  position: absolute;
  display: block;
  content: "";
  border-radius: 40px;
}
.header_bottom nav .login_list li.register a::before {
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #7220D2, #545CFC, #2FA5FD, #8EE9FC, #CCA2DF, #EB5FC7);
}
.header_bottom nav .login_list li.register a::after {
  inset: 3px;
  z-index: -1;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-color: #fff;
  transition: background-color 0.2s;
}
.header_bottom nav .login_list li.register a:hover {
  background-color: #F9F9F9;
}
.header_bottom nav .login_list li.register a:hover::after {
  background-color: #F9F9F9;
}
.header_bottom nav .login_list li.register a.disabled {
  background: #B4B4B4;
  color: #fff;
}
.header_bottom nav .login_list li.register a.disabled::before, .header_bottom nav .login_list li.register a.disabled::after {
  content: none;
}
.header_bottom nav .login_list li.register a::after {
  inset: 2px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
}
.header_bottom nav .login_list li.register.ended a {
  border: 2.5px solid rgba(180, 180, 180, 0.7);
  background-color: #EFEFF1;
  color: #B4B4B4;
  box-shadow: none;
  pointer-events: none;
}
.header_bottom nav .login_list li.register.ended a::before, .header_bottom nav .login_list li.register.ended a::after {
  content: 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: 8px;
}
@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: #3D79FC;
  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: rgba(61, 121, 252, 0.5);
}
@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;
    border-image: linear-gradient(to right, #648BFF 15.4%, #AB34EE 80.4%) 1;
  }
}
.header_bottom nav .loggedin_list > li.logout {
  width: 114px;
  height: 40px;
}
@media screen and (max-width: 1200px) {
  .header_bottom nav .loggedin_list > li.logout {
    margin-left: 10px;
  }
}
@media screen and (max-width: 960px) {
  .header_bottom nav .loggedin_list > li.logout {
    width: 100%;
    max-width: 295px;
  }
}
.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: 1px solid #3D79FC;
  border-radius: 33px;
  background-color: #fff;
  color: #3D79FC;
  font-weight: 700;
  font-size: 14px;
  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;
}
.header_bottom nav .loggedin_list > li.logout a:hover {
  background-color: rgba(61, 121, 252, 0.1);
}
@media screen and (max-width: 600px) {
  .header_bottom nav .loggedin_list > li.logout a {
    height: 48px;
    border-color: #3D79FC;
    color: #3D79FC;
  }
}
.header_bottom nav .menu_list {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-end;
  position: relative;
  gap: 10px;
}
@media screen and (min-width: 601px) {
  .header_bottom nav .menu_list {
    margin-right: 6px;
  }
}
.header_bottom nav .menu_list > li {
  padding-bottom: 9px;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
.header_bottom nav .menu_list > li > a {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 6px 20px 8px;
  border-radius: 4px;
  color: #000;
  white-space: nowrap;
  transition: background-color 0.2s, color 0.2s;
  /*&.active {
						color: $color-primary;
					}*/
}
@media screen and (max-width: 1200px) {
  .header_bottom nav .menu_list > li > a {
    padding: 6px 15px 8px;
  }
}
@media screen and (max-width: 1024px) {
  .header_bottom nav .menu_list > li > a {
    padding: 6px 8px 8px;
  }
}
@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 {
  color: #3D79FC;
}
.header_bottom nav .menu_list > li.active .menu_list_sub {
  visibility: visible;
  opacity: 1;
}
.header_bottom nav .menu_list > li.menu_list_1 {
  position: relative;
}
.header_bottom nav .menu_list > li.menu_list_1 .menu_list_sub {
  left: 0;
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_1 .menu_list_sub {
    width: 346px;
  }
}
.header_bottom nav .menu_list > li.menu_list_1 .menu_list_sub:lang(en) {
  width: 460px;
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_1 .menu_list_sub:lang(zh-CN), .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 {
  left: 0;
  right: unset;
}
@media screen and (max-width: 1024px) {
  .header_bottom nav .menu_list > li.menu_list_2 .menu_list_sub {
    left: unset;
    right: -655px;
  }
}
.header_bottom nav .menu_list > li.menu_list_2 .menu_list_sub:lang(en) {
  left: unset;
  right: -484px;
}
.header_bottom nav .menu_list > li.menu_list_2 .menu_list_sub:lang(zh-CN), .header_bottom nav .menu_list > li.menu_list_2 .menu_list_sub:lang(zh-cmn-Hans) {
  left: unset;
  right: -230px;
  transform: unset;
}
.header_bottom nav .menu_list > li.menu_list_3 .menu_list_sub {
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_3 .menu_list_sub {
    width: 685px;
  }
}
@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: 802px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_6 .menu_list_sub:lang(en) {
    width: 547px;
  }
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list > li.menu_list_6 .menu_list_sub:lang(zh-CN), .header_bottom nav .menu_list > li.menu_list_6 .menu_list_sub:lang(zh-cmn-Hans) {
    width: 456px;
  }
}
.header_bottom nav .menu_list > li.menu_list_7 a {
  color: #3D79FC;
  position: relative;
}
.header_bottom nav .menu_list > li.menu_list_7 a:before {
  content: url(../media/images/2025/common/icon_movie2.svg);
  margin-right: 5px;
  height: 16px;
}
.header_bottom nav .menu_list > li.menu_list_7 a::after {
  content: "";
  width: 1px;
  height: 21px;
  background-color: #EFEFF1;
  position: absolute;
  left: 0;
}
.header_bottom nav .menu_list_sub {
  position: absolute;
  top: 41px;
  right: 0;
  visibility: hidden;
  opacity: 0;
  padding: 35px 48px;
  background-color: #fff;
  box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.15);
  transition: visibility 0.2s, opacity 0.2s;
}
.header_bottom nav .menu_list_sub_list {
  display: flex;
  flex-flow: row wrap;
  gap: 20px 80px;
}
@media screen and (min-width: 961px) {
  .header_bottom nav .menu_list_sub_list li.adjust_r1 {
    width: 272.35px;
  }
}
@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-CN), .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-CN), .header_bottom nav .menu_list_sub_list li.adjust_r2:lang(zh-cmn-Hans) {
    width: 160px;
  }
}
.header_bottom nav .menu_list_sub_list li.disabled {
  color: #B4B4B4;
}
.header_bottom nav .menu_list_sub_list li.disabled a {
  color: #B4B4B4;
  pointer-events: none;
}
.header_bottom nav .menu_list_sub_list li.disabled a img[src$="pdf.svg"] {
  opacity: 0.3;
}
.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: #3D79FC;
}
.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;
}
@media screen and (max-width: 960px) {
  .header {
    height: 48px;
  }
}
@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);
    position: relative;
    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: 140px;
  height: 36px;
}
.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;
}
@media screen and (max-width: 960px) {
  .header_base .member_button.mypage 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: #3D79FC;
    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;
    border-radius: 4px;
  }
  .header_base .member_button.mypage a:hover {
    background-color: rgba(61, 121, 252, 0.5);
  }
  .header_base .member_button.mypage a::before, .header_base .member_button.mypage a::after {
    content: none;
  }
}
.header_base .member_button.active a {
  background-color: rgba(61, 121, 252, 0.5);
}
.header_base .member_button.active:after {
  transform: translateY(-50%) rotate(180deg);
}
.header_base .member_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: #fff;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.448;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  position: relative;
  z-index: 0;
  font-size: 12px;
}
.header_base .member_button a::before, .header_base .member_button a::after {
  position: absolute;
  display: block;
  content: "";
  border-radius: 40px;
}
.header_base .member_button a::before {
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #7220D2, #545CFC, #2FA5FD, #8EE9FC, #CCA2DF, #EB5FC7);
}
.header_base .member_button a::after {
  inset: 3px;
  z-index: -1;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-color: #fff;
  transition: background-color 0.2s;
}
.header_base .member_button a:hover {
  background-color: #F9F9F9;
}
.header_base .member_button a:hover::after {
  background-color: #F9F9F9;
}
.header_base .member_button a.disabled {
  background: #B4B4B4;
  color: #fff;
}
.header_base .member_button a.disabled::before, .header_base .member_button a.disabled::after {
  content: none;
}
@media screen and (max-width: 600px) {
  .header_base .member_button a {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
  }
}
.header_base .member_button a::after {
  inset: 2px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
}
.header_base .member_button.ended a {
  border: 2.5px solid rgba(180, 180, 180, 0.7);
  background-color: #EFEFF1;
  color: #B4B4B4;
  box-shadow: none;
  pointer-events: none;
}
.header_base .member_button.ended a::before, .header_base .member_button.ended a::after {
  content: 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;
  }
}
@media screen and (max-width: 960px) {
  .header_top, .header_bottom .menu_list {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.2s, opacity 0.2s;
  }
}
@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: #3D79FC;
    font-weight: 700;
    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;
    height: 34px;
    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-CN), .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 {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0 0 11px;
    padding-bottom: 24px;
    border-bottom: 1px solid;
    border-image: linear-gradient(to right, #648BFF 15.4%, #AB34EE 80.4%) 1;
  }
  .header.sp_open .header_bottom nav .login_list li.exhibitor, .header.sp_open .header_bottom nav .login_list li.mypage {
    width: 284px;
    max-width: unset;
    height: 40px;
    margin: 0 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: 1px solid #3D79FC;
    border-radius: 33px;
    background-color: #fff;
    color: #3D79FC;
    font-weight: 700;
    font-size: 14px;
    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;
    border-radius: 20px;
    font-size: 13px;
    text-align: center;
    box-shadow: unset;
  }
  .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: rgba(61, 121, 252, 0.1);
  }
  .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: #E60019;
    color: #E60019;
  }
  .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;
    border-image: linear-gradient(to right, #648BFF 15.4%, #AB34EE 80.4%) 1;
  }
  .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: 20px;
    padding: 0px 0 8px;
    border-bottom: 1px solid;
    border-image: linear-gradient(to right, #648BFF 15.4%, #AB34EE 80.4%) 1;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.448;
    letter-spacing: 0;
    position: relative;
    justify-content: flex-start;
  }
  .header.sp_open .header_bottom nav .menu_list > li > a:after {
    display: block;
    position: absolute;
    top: calc(50% - 4px);
    right: 10px;
    transform: translateY(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    content: "";
  }
  .header.sp_open .header_bottom nav .menu_list > li.menu_list_7 {
    margin-bottom: 8px;
  }
  .header.sp_open .header_bottom nav .menu_list > li.menu_list_7 > 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;
    margin: 0;
  }
  .header.sp_open .header_bottom nav .menu_list > li.menu_list_7 > 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_7 > a::after {
    content: none;
  }
  .header.sp_open .header_bottom nav .menu_list > li .menu_list_sub {
    position: unset;
    top: unset;
    left: unset;
    right: unset;
    transform: 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) {
  .header.mypage_open .header_bottom .loggedin_list {
    transform: translateY(0);
  }
}
.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: 8px;
    padding-right: 8px;
  }
}
.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;
  }
}
.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: 10px 0 26px;
    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;
  }
}
#main {
  /*.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: 40px;
  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: 26px;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
#main .page_title.left {
  margin-bottom: 53px;
  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: 48px;
  padding-bottom: 25px;
  border-bottom: 3px solid;
  border-image: linear-gradient(to right, #648BFF 15.4%, #AB34EE 80.4%) 1;
  color: #3D79FC;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.448;
  letter-spacing: 0;
  /*margin-bottom: 48px;
		padding-bottom: 25px;
		border-bottom: 3px solid;
		border-image: $color-grad 1;
		color: $color-primary;
		@include font(24, 1.448, 700, 0);

		@include media(sp) {
		margin-bottom: 25px;
		padding-bottom: 19px;
	}

		&_sub {
		margin: 39px 0;
		@include font(24, 1.2, 700, 0);
	}*/
}
@media screen and (max-width: 600px) {
  #main .sec_title {
    margin-bottom: 25px;
    padding-bottom: 19px;
  }
}
#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 #3D79FC;
  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: #3D79FC;
  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: #3D79FC;
  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 #3D79FC;
  border-bottom: 1px solid #3D79FC;
  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(61, 121, 252, 0.3);
}
#main .search_box button {
  display: block;
  width: 140px;
  height: 100%;
  padding-bottom: 3px;
  border: none;
  border-radius: 40px;
  background-color: #3D79FC;
  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;
}
#main .search_box button:hover {
  background-color: rgba(61, 121, 252, 0.5);
}
#main .search_box button:disabled {
  cursor: default;
  background: #ddd;
  color: #666;
}
#main .place_button {
  width: 171px;
  height: 40px;
  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: 1px solid #3D79FC;
  border-radius: 33px;
  background-color: #fff;
  color: #3D79FC;
  font-weight: 700;
  font-size: 14px;
  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;
}
#main .place_button a:hover {
  background-color: rgba(61, 121, 252, 0.1);
}
#main .to_schedule {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 38px;
  padding: 15px;
  border: 1px solid;
  border-image: linear-gradient(to right, #648BFF 15.4%, #AB34EE 80.4%) 1;
}
@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;
  }
}
#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 ul.schedule_list {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 600px) {
  #main .to_schedule ul.schedule_list {
    display: block;
  }
}
@media screen and (max-width: 960px) {
  #main .to_schedule ul.schedule_list {
    width: 295px;
  }
}
@media screen and (max-width: 600px) {
  #main .to_schedule ul.schedule_list {
    margin: 0 auto;
  }
}
#main .to_schedule .schedule_button {
  min-width: 180px;
  height: 40px;
}
@media screen and (max-width: 600px) {
  #main .to_schedule .schedule_button {
    min-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: 1px solid #C2C2C2;
  border-radius: 33px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  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;
  padding: 0 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}
#main .to_schedule .schedule_button a:hover {
  background-color: #F9F9F9;
}
#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(to right, #648BFF 15.4%, #AB34EE 80.4%);
  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: #9056F4;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
#main .tab_list.sp select {
  padding: 0;
  color: #3D79FC;
  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: 0 8px 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: #3D79FC;
  }
}
@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: rgba(255, 255, 255, 0.3);
    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-color: rgba(255, 255, 255, 0.5);
    color: #9056F4;
  }
}
#main .tab_list li.active, #main .tab_list_child.active {
  background-color: #fff;
  color: #9056F4;
  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: 10px 10px 11px;
  background-color: #fff;
  border-radius: 64px;
  box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 600px) {
  #main .anchor_menu {
    margin-bottom: 43px;
    padding: 10px 10px 2px 25px;
  }
}
#main .anchor_menu.fixed {
  position: fixed;
  top: 143px;
  left: 0;
  right: 0;
  z-index: 100;
  width: 100vw;
  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;
  }
}
@media screen and (max-width: 600px) {
  #main .anchor_menu.fixed {
    padding: 12px 10px 4.5px;
  }
}
@media screen and (max-width: 375px) {
  #main .anchor_menu.fixed {
    width: calc(100% + 16px);
    margin-left: -8px;
    margin-right: -8px;
  }
}
#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: 600px) {
  #main .anchor_list {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: scroll;
    gap: 10px 30px;
  }
}
#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 {
    padding-bottom: 4px;
    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;
}
#main .anchor_list li a:before {
  display: block;
  position: absolute;
  top: 50%;
  left: 8px;
  transform: translateY(-50%);
  width: 10px;
  height: 5px;
  background-color: #3D79FC;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  transition: opacity 0.2s;
}
#main .anchor_list li a:hover:before {
  opacity: 0.5;
}
#main .download_button {
  display: block;
  width: 172px;
  height: 44px;
  padding-bottom: 3px;
  border: none;
  border-radius: 40px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.448;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
  position: relative;
  z-index: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  width: 272px;
  height: 64px;
}
#main .download_button::before, #main .download_button::after {
  position: absolute;
  display: block;
  content: "";
  border-radius: 40px;
}
#main .download_button::before {
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #7220D2, #545CFC, #2FA5FD, #8EE9FC, #CCA2DF, #EB5FC7);
}
#main .download_button::after {
  inset: 3px;
  z-index: -1;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-color: #fff;
  transition: background-color 0.2s;
}
#main .download_button:hover {
  background-color: #F9F9F9;
}
#main .download_button:hover::after {
  background-color: #F9F9F9;
}
#main .download_button:disabled {
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .download_button:disabled::before, #main .download_button:disabled::after {
  content: none;
}
#main .download_button.ended {
  border: 2.5px solid rgba(180, 180, 180, 0.7);
  background-color: #EFEFF1;
  color: #B4B4B4;
  box-shadow: none;
  pointer-events: none;
}
#main .download_button.ended::before, #main .download_button.ended::after {
  content: none;
}
@media screen and (max-width: 600px) {
  #main .download_button {
    width: 295px;
    height: 46px;
  }
}
#main .download_button a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  gap: 4px;
  flex-wrap: nowrap;
  width: 100%;
  height: 100%;
  padding: 0 8px;
  color: #000;
}
#main .download_button a:before {
  content: url(../media/images/2025/common/icon_download.svg);
  position: relative;
  top: 3px;
}
#main .back_button {
  width: 216px;
  height: 54px;
  margin: 48px auto 15px;
}
@media screen and (max-width: 600px) {
  #main .back_button {
    width: 185px;
    height: 46px;
  }
}
#main .back_button a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 1px solid #C2C2C2;
  border-radius: 33px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  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;
}
#main .back_button a:hover {
  background-color: #F9F9F9;
}
#main .back_button.prev a {
  gap: 4px;
  padding-left: 6px;
}
#main .back_button.prev a:before {
  display: inline-block;
  position: relative;
  top: 1px;
  transform: rotate(-45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #3D79FC;
  border-left: 2px solid #3D79FC;
  content: "";
}
#main .modal_button {
  display: block;
  width: 281px;
  height: 44px;
  padding-bottom: 3px;
  border: 1px solid #3D79FC;
  border-radius: 40px;
  background-color: #fff;
  color: #3D79FC;
  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%;
  }
}
#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: #3D79FC;
  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: 1px solid #3D79FC;
  border-radius: 33px;
  background-color: #fff;
  color: #3D79FC;
  font-weight: 700;
  font-size: 14px;
  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: 7px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.1);
}
#main .pagination_wrap ul.pagination li[class] a:hover, #main .pagination_wrap ul.pagination li[class] span:hover {
  background-color: rgba(61, 121, 252, 0.1);
}
#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: #3D79FC;
    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: #3D79FC;
    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 #3D79FC;
  border-right: 2px solid #3D79FC;
}
@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;
  }
}
#main .pagination_sp.show {
  z-index: 1;
}
@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: #3D79FC;
  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: 15px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.48;
  letter-spacing: 0;
}
.footer {
  padding-top: 80px;
  background: #fff;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 600px) {
  .footer {
    margin-top: 68px;
    padding-top: 0;
  }
}
@media screen and (max-width: 375px) {
  .footer {
    width: calc(100% + 16px);
    margin-left: -8px;
    margin-right: -8px;
  }
}
.footer_inner {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  max-width: 1100px;
  margin: 0 auto;
  padding: 104px 0 64px;
  border-top: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .footer_inner {
    padding: 104px 15px 54px;
  }
}
@media screen and (max-width: 1024px) {
  .footer_inner {
    padding: 54px 15px;
  }
}
@media screen and (max-width: 960px) {
  .footer_inner {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media screen and (max-width: 600px) {
  .footer_inner {
    padding: 40px 0 33px;
  }
}
@media screen and (max-width: 960px) {
  .footer_inner_left, .footer_inner_right {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  .footer_inner_left {
    text-align: center;
  }
}
@media screen and (max-width: 600px) {
  .footer_inner_left {
    margin: 0 auto;
  }
}
.footer_inner_left .footer_logo {
  width: 303px;
  margin-bottom: 40px;
}
@media screen and (max-width: 960px) {
  .footer_inner_left .footer_logo {
    margin: 0 auto 12px;
  }
}
@media screen and (max-width: 600px) {
  .footer_inner_left .footer_logo {
    width: 282px;
  }
}
.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: 8px 0;
    font-size: 12px;
  }
}
.footer_inner_left p.sponsorship {
  font-weight: 700;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  .footer_inner_left p.sponsorship {
    margin-bottom: 16px;
  }
}
.footer_inner_right {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  gap: 0 70px;
}
@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 {
    gap: 0 10px;
    margin: 27px 0 0;
    padding: 0 24px 0 16px;
  }
}
@media screen and (max-width: 960px) {
  .footer_inner_right:lang(en) {
    padding-bottom: 110px;
  }
}
.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;
  }
}
@media screen and (max-width: 600px) {
  .footer_inner_right .main_menu ul + ul {
    margin-top: 19.5px;
  }
}
.footer_inner_right ul li.disabled {
  color: #B4B4B4;
}
.footer_inner_right ul li.disabled a {
  color: #B4B4B4;
  pointer-events: none;
}
.footer_inner_right ul li.disabled a img[src$="pdf.svg"] {
  opacity: 0.3;
}
.footer_inner_right ul li a {
  color: #000;
  transition: color 0.2s;
}
.footer_inner_right ul li a:hover {
  color: #3D79FC;
}
.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: 17.5px;
  }
}
.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/2025/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 {
    width: calc(100% + 16px);
    margin-left: -8px;
    margin-right: -8px;
    padding: 40px 24px;
    background: #fff url(../media/images/2025/outline/bg-apply_sp.png) no-repeat;
    background-size: cover;
  }
}
.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: #3D79FC;
  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;
}
.footer_apply_inner .apply_button a:hover {
  background-color: rgba(61, 121, 252, 0.5);
}
@media screen and (max-width: 600px) {
  .footer_apply_inner .apply_button a {
    font-size: 13px;
  }
}
.footer p.copyright {
  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;
  }
}
.pagetop {
  position: fixed;
  right: 3vw;
  bottom: 19px;
  z-index: 100;
}
@media screen and (max-width: 1200px) {
  .pagetop {
    display: none;
  }
}
.pagetop a {
  box-shadow: 0px 2px 14px 0px rgba(0, 0, 0, 0.25);
  position: relative;
  display: block;
  width: 111px;
  height: 64px;
  padding: 7px 10px 8px;
  text-align: center;
  border-radius: 12px;
  border: solid 1px #C2C2C2;
  background: #fff;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.48;
  letter-spacing: 0;
}
.pagetop a::before {
  display: block;
  margin: 5px auto 4px;
  content: url(../media/images/2025/common/icon_totop2.svg);
  width: 16px;
  height: 16px;
  transition: 0.3s ease 0s;
}
.pagetop a:hover::before {
  opacity: 0.7;
}
select, input, textarea {
  display: block;
}
.select {
  border-radius: 4px;
  background-color: #fff;
  position: relative;
}
.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.disabled {
  pointer-events: none;
  background-color: #F9F9F9;
}
.select.disabled:before {
  background-color: #b4b4b4;
}
.select.disabled select {
  color: #b4b4b4;
  border-color: #b4b4b4 !important;
  cursor: unset;
}
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;
  transition: border-color 0.2s, box-shadow 0.2s;
}
select:focus, select:focus-visible {
  outline: 0;
}
select:disabled {
  color: #b4b4b4;
  border-color: #b4b4b4;
  cursor: unset;
}
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: #3D79FC;
  box-shadow: 0 0 8px rgba(61, 121, 252, 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: rgba(61, 121, 252, 0.5);
}
.select2-container .select2-dropdown .select2-results ul.select2-results__options li.select2-results__option.select2-results__option--highlighted {
  background-color: #3D79FC;
}
.input + .checkboxes {
  margin: 7px 0 0;
}
@media screen and (max-width: 600px) {
  .input + .checkboxes {
    margin: 11px 0 0;
  }
}
#main input[type=text], #main input[type=tel], #main input[type=email], #main input[type=url], #main input[type=password], #main input[type=date], #main input[type=number], #main textarea {
  width: 100%;
  padding: 14.5px 15px;
  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 input[type=text], #main input[type=tel], #main input[type=email], #main input[type=url], #main input[type=password], #main input[type=date], #main input[type=number], #main textarea {
    font-size: 16px;
  }
}
#main input[type=text]:disabled, #main input[type=tel]:disabled, #main input[type=email]:disabled, #main input[type=url]:disabled, #main input[type=password]:disabled, #main input[type=date]:disabled, #main input[type=number]:disabled, #main textarea:disabled {
  color: #b4b4b4;
  border-color: #b4b4b4;
  background-color: #F9F9F9;
}
#main input[type=text]::placeholder, #main input[type=tel]::placeholder, #main input[type=email]::placeholder, #main input[type=url]::placeholder, #main input[type=password]::placeholder, #main input[type=date]::placeholder, #main input[type=number]::placeholder, #main textarea::placeholder {
  color: #B4B4B4;
}
@media screen and (max-width: 600px) {
  #main input[type=text]::placeholder, #main input[type=tel]::placeholder, #main input[type=email]::placeholder, #main input[type=url]::placeholder, #main input[type=password]::placeholder, #main input[type=date]::placeholder, #main input[type=number]::placeholder, #main textarea::placeholder {
    font-size: 14px;
  }
}
#main input[type=text]:focus, #main input[type=text]:focus-visible, #main input[type=tel]:focus, #main input[type=tel]:focus-visible, #main input[type=email]:focus, #main input[type=email]:focus-visible, #main input[type=url]:focus, #main input[type=url]:focus-visible, #main input[type=password]:focus, #main input[type=password]:focus-visible, #main input[type=date]:focus, #main input[type=date]:focus-visible, #main input[type=number]:focus, #main input[type=number]:focus-visible, #main textarea:focus, #main textarea:focus-visible {
  outline: 0;
  border-color: #3D79FC;
  box-shadow: 0 0 8px rgba(61, 121, 252, 0.3);
}
#main textarea {
  resize: none;
  height: 168px;
}
#main .checkboxes {
  display: flex;
  flex-flow: row wrap;
  gap: 12px;
  margin: 4px 0 0;
  padding-right: 64px;
}
@media screen and (max-width: 600px) {
  #main .checkboxes {
    padding-right: 0;
  }
}
#main .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 .checkboxes label {
    flex: 1 0 calc((100% - 36px) / 4);
  }
}
@media screen and (max-width: 960px) {
  #main .checkboxes label {
    flex: 1 0 calc((100% - 12px) / 2);
  }
}
#main .checkboxes label.disabled {
  pointer-events: none;
}
#main .checkboxes label.disabled [type="checkbox"] + span::before {
  border-color: #EFEFF1;
}
#main .checkboxes.columns {
  flex-direction: column;
}
#main .checkboxes.columns > div {
  display: flex;
}
#main .checkboxes.columns > div.sub {
  display: block;
  margin: 10px 0;
}
#main .checkboxes.columns > div.sub .rows {
  margin: 10px 0 0 30px;
  padding: 15px;
  background: #fff;
}
#main .checkboxes.columns > div.sub .rows label {
  flex-grow: 0;
}
#main .checkboxes.columns .rows {
  display: flex;
  flex-flow: row wrap;
  gap: 12px;
  margin: 4px 0 0;
}
#main ul.category_list.checkboxes {
  gap: 0;
  margin: 0;
  padding-right: 0;
}
#main input[type=radio], #main input[type=checkbox] {
  width: 20px;
  height: 20px;
  background-color: #fff;
  opacity: 0;
}
#main input[type=radio] + span, #main 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 input[type=radio]:focus + span:before, #main input[type=radio]:focus-visible + span:before, #main input[type=checkbox]:focus + span:before, #main input[type=checkbox]:focus-visible + span:before {
  outline: 0;
  border-color: #3D79FC;
  box-shadow: 0 0 8px rgba(61, 121, 252, 0.3);
}
#main input[type=radio]:checked + span:before, #main input[type=checkbox]:checked + span:before {
  transition: 0.2s ease 0s;
}
#main input[type=radio]:disabled + span, #main input[type=checkbox]:disabled + span {
  color: #B4B4B4;
}
#main input[type=radio]:disabled + span:before, #main input[type=radio]:disabled + span:after, #main input[type=checkbox]:disabled + span:before, #main input[type=checkbox]:disabled + span:after {
  opacity: 0.4;
}
#main input[type=radio] + span:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  opacity: 1;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border: 2px solid #3D79FC;
  border-radius: 10px;
  box-shadow: none;
  transition: background-color 0.2s, box-shadow 0.2s;
}
#main input[type=radio]:checked + span:before {
  background-color: #3D79FC;
}
#main 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 input[type=checkbox] + span:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  opacity: 1;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border: 2px solid #3D79FC;
  border-radius: 2px;
  box-shadow: none;
  transition: background-color 0.2s, box-shadow 0.2s;
}
#main input[type=checkbox]:checked + span:before {
  background-color: #3D79FC;
}
#main 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 input[type=checkbox].all:checked + span:after {
  top: 9px;
  transform: unset;
  width: 12px;
  height: 2px;
  border: none;
  background-color: #fff;
}
#main .select.error p, #main .input.error p, #main .textarea.error p {
  margin-top: 8px;
  color: #FC0255;
}
#main .select.error select {
  color: #FC0255;
  border-color: #FC0255;
}
#main .select.error select:focus, #main .select.error select:focus-visible {
  box-shadow: 0 0 8px rgba(252, 2, 85, 0.3);
}
#main .select.error select:-webkit-autofill {
  -webkit-text-fill-color: #FC0255;
}
#main .select.error + .error {
  color: #FC0255;
}
#main .select.error .select2-selection {
  border-color: #FC0255;
}
#main .select.error .select2-selection .select2-selection__rendered {
  color: #FC0255;
}
#main .input.error input {
  color: #FC0255;
  border-color: #FC0255;
}
#main .input.error input:focus, #main .input.error input:focus-visible {
  box-shadow: 0 0 8px rgba(252, 2, 85, 0.3);
}
#main .input.error input:-webkit-autofill {
  -webkit-text-fill-color: #FC0255;
}
#main .textarea.error textarea {
  color: #FC0255;
  border-color: #FC0255;
}
#main .textarea.error textarea:focus, #main .textarea.error textarea:focus-visible {
  box-shadow: 0 0 8px rgba(252, 2, 85, 0.3);
}
#main .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 {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border-radius: 40px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.448;
  letter-spacing: 0;
  transition: background-color 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  position: relative;
  z-index: 0;
}
#main .before_contact .login_button a::before, #main .before_contact .login_button a::after, #main .before_contact .to_contact_button a::before, #main .before_contact .to_contact_button a::after {
  position: absolute;
  display: block;
  content: "";
  border-radius: 40px;
}
#main .before_contact .login_button a::before, #main .before_contact .to_contact_button a::before {
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #7220D2, #545CFC, #2FA5FD, #8EE9FC, #CCA2DF, #EB5FC7);
}
#main .before_contact .login_button a::after, #main .before_contact .to_contact_button a::after {
  inset: 3px;
  z-index: -1;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-color: #fff;
  transition: background-color 0.2s;
}
#main .before_contact .login_button a:hover, #main .before_contact .to_contact_button a:hover {
  background-color: #F9F9F9;
}
#main .before_contact .login_button a:hover::after, #main .before_contact .to_contact_button a:hover::after {
  background-color: #F9F9F9;
}
#main .before_contact .login_button a.disabled, #main .before_contact .to_contact_button a.disabled {
  background: #B4B4B4;
  color: #fff;
}
#main .before_contact .login_button a.disabled::before, #main .before_contact .login_button a.disabled::after, #main .before_contact .to_contact_button a.disabled::before, #main .before_contact .to_contact_button a.disabled::after {
  content: none;
}
#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-radius: 40px;
  background-color: #3D79FC;
  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;
}
#main .before_contact .register_button a:hover {
  background-color: rgba(61, 121, 252, 0.5);
}
#main .before_contact .register_button.ended a {
  background-color: #EFEFF1;
  color: #B4B4B4;
  box-shadow: none;
  pointer-events: none;
}
#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: 20px;
  padding: 12px 8px;
  background: linear-gradient(91.77deg, rgba(100, 139, 255, 0.2) 0.13%, rgba(171, 52, 238, 0.2) 100.13%);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.448;
  letter-spacing: 0;
}
#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 .input-form {
  padding: 24px;
  border-top: none;
  background-color: #F9F9F9;
}
@media screen and (max-width: 600px) {
  #main .form .input-form {
    padding: 20px 12px;
  }
}
#main .form .input-form + .input-form {
  margin-top: 64px;
}
#main .form-group .control-label, #main .form-group dt, #main .form_row .control-label, #main .form_row dt {
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.48;
  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;
}
#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: 112px;
}
#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% - 112px);
}
#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.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 .controls p, #main .form-group dd p, #main .form_row .controls p, #main .form_row dd 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 .controls p, #main .form-group dd p, #main .form_row .controls p, #main .form_row dd p {
    margin: 0;
  }
}
#main .form-group .controls select, #main .form-group dd select, #main .form_row .controls select, #main .form_row dd select {
  border: 1px solid #747474;
  border-radius: 4px;
}
#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: #3D79FC;
  box-shadow: 0 0 8px rgba(61, 121, 252, 0.3);
}
#main .form-group .controls, #main .form_row .controls {
  margin-top: 6px;
}
#main .form-group {
  margin: 0;
  padding: 1px 0 0;
}
@media screen and (max-width: 600px) {
  #main .form-group {
    padding: 0;
  }
}
#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: 24px 0 0 0;
}
#main .form_row_wrap {
  padding: 1px 0 0;
  /*&:before {
			position: absolute;
			top: 0;
			left: 0;
			display: block;
			content: "";
			width: 4px;
			height: 100%;
			background: $color-primary;
		}*/
  /*.form_row:last-child {
			.output {
			padding-bottom: 0;
		}
		}*/
}
@media screen and (max-width: 600px) {
  #main .form_row_wrap {
    padding: 0 0 16px;
  }
}
#main .form_row_wrap + .form_title {
  margin-top: 50px;
}
#main .form .privacy {
  margin: 80px 0 40px;
  padding: 24px 32px;
  border: 1px solid;
  border-image: linear-gradient(to right, #648BFF 15.4%, #AB34EE 80.4%) 1;
  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: block;
  width: 272px;
  height: 64px;
  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;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 600px) {
  #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 {
    width: 100%;
  }
}
#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: #F9F9F9;
}
#main .form .submit.form-actions button.cancel:disabled, #main .form .submit.form-actions button.back:disabled, #main .form .button_wrap button.cancel:disabled, #main .form .button_wrap button.back:disabled {
  cursor: default;
  background: #ddd;
  color: #666;
}
@media screen and (max-width: 600px) {
  #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 {
    width: 295px;
    height: 46px;
  }
}
#main .form .submit.form-actions input.confirm.btn.btn-primary, #main .form .submit.form-actions input.send.btn.btn-primary, #main .form .submit.form-actions button.confirm.btn.btn-primary, #main .form .submit.form-actions button.send.btn.btn-primary {
  display: block;
  width: 272px;
  height: 64px;
  padding-bottom: 3px;
  border: none;
  border-radius: 40px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.448;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
  position: relative;
  z-index: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
#main .form .submit.form-actions input.confirm.btn.btn-primary::before, #main .form .submit.form-actions input.confirm.btn.btn-primary::after, #main .form .submit.form-actions input.send.btn.btn-primary::before, #main .form .submit.form-actions input.send.btn.btn-primary::after, #main .form .submit.form-actions button.confirm.btn.btn-primary::before, #main .form .submit.form-actions button.confirm.btn.btn-primary::after, #main .form .submit.form-actions button.send.btn.btn-primary::before, #main .form .submit.form-actions button.send.btn.btn-primary::after {
  position: absolute;
  display: block;
  content: "";
  border-radius: 40px;
}
#main .form .submit.form-actions input.confirm.btn.btn-primary::before, #main .form .submit.form-actions input.send.btn.btn-primary::before, #main .form .submit.form-actions button.confirm.btn.btn-primary::before, #main .form .submit.form-actions button.send.btn.btn-primary::before {
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #7220D2, #545CFC, #2FA5FD, #8EE9FC, #CCA2DF, #EB5FC7);
}
#main .form .submit.form-actions input.confirm.btn.btn-primary::after, #main .form .submit.form-actions input.send.btn.btn-primary::after, #main .form .submit.form-actions button.confirm.btn.btn-primary::after, #main .form .submit.form-actions button.send.btn.btn-primary::after {
  inset: 3px;
  z-index: -1;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-color: #fff;
  transition: background-color 0.2s;
}
#main .form .submit.form-actions input.confirm.btn.btn-primary:hover, #main .form .submit.form-actions input.send.btn.btn-primary:hover, #main .form .submit.form-actions button.confirm.btn.btn-primary:hover, #main .form .submit.form-actions button.send.btn.btn-primary:hover {
  background-color: #F9F9F9;
}
#main .form .submit.form-actions input.confirm.btn.btn-primary:hover::after, #main .form .submit.form-actions input.send.btn.btn-primary:hover::after, #main .form .submit.form-actions button.confirm.btn.btn-primary:hover::after, #main .form .submit.form-actions button.send.btn.btn-primary:hover::after {
  background-color: #F9F9F9;
}
#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 button.confirm.btn.btn-primary:disabled, #main .form .submit.form-actions button.send.btn.btn-primary:disabled {
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .form .submit.form-actions input.confirm.btn.btn-primary:disabled::before, #main .form .submit.form-actions input.confirm.btn.btn-primary:disabled::after, #main .form .submit.form-actions input.send.btn.btn-primary:disabled::before, #main .form .submit.form-actions input.send.btn.btn-primary:disabled::after, #main .form .submit.form-actions button.confirm.btn.btn-primary:disabled::before, #main .form .submit.form-actions button.confirm.btn.btn-primary:disabled::after, #main .form .submit.form-actions button.send.btn.btn-primary:disabled::before, #main .form .submit.form-actions button.send.btn.btn-primary:disabled::after {
  content: none;
}
#main .form .submit.form-actions input.confirm.btn.btn-primary.ended, #main .form .submit.form-actions input.send.btn.btn-primary.ended, #main .form .submit.form-actions button.confirm.btn.btn-primary.ended, #main .form .submit.form-actions button.send.btn.btn-primary.ended {
  border: 2.5px solid rgba(180, 180, 180, 0.7);
  background-color: #EFEFF1;
  color: #B4B4B4;
  box-shadow: none;
  pointer-events: none;
}
#main .form .submit.form-actions input.confirm.btn.btn-primary.ended::before, #main .form .submit.form-actions input.confirm.btn.btn-primary.ended::after, #main .form .submit.form-actions input.send.btn.btn-primary.ended::before, #main .form .submit.form-actions input.send.btn.btn-primary.ended::after, #main .form .submit.form-actions button.confirm.btn.btn-primary.ended::before, #main .form .submit.form-actions button.confirm.btn.btn-primary.ended::after, #main .form .submit.form-actions button.send.btn.btn-primary.ended::before, #main .form .submit.form-actions button.send.btn.btn-primary.ended::after {
  content: 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, #main .form .submit.form-actions button.confirm.btn.btn-primary, #main .form .submit.form-actions button.send.btn.btn-primary {
    width: 295px;
    height: 46px;
  }
}
#main .form .submit.form-actions input.modify.btn, #main .form .submit.form-actions button.modify.btn {
  display: block;
  width: 272px;
  height: 64px;
  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;
}
@media screen and (max-width: 600px) {
  #main .form .submit.form-actions input.modify.btn, #main .form .submit.form-actions button.modify.btn {
    width: 100%;
  }
}
#main .form .submit.form-actions input.modify.btn:hover, #main .form .submit.form-actions button.modify.btn:hover {
  background-color: #F9F9F9;
}
#main .form .submit.form-actions input.modify.btn:disabled, #main .form .submit.form-actions button.modify.btn:disabled {
  cursor: default;
  background: #ddd;
  color: #666;
}
@media screen and (max-width: 600px) {
  #main .form .submit.form-actions input.modify.btn, #main .form .submit.form-actions button.modify.btn {
    width: 295px;
    height: 46px;
  }
}
#main .form .button_wrap button.confirm, #main .form .button_wrap button.submit {
  display: block;
  width: 272px;
  height: 64px;
  padding-bottom: 3px;
  border: none;
  border-radius: 40px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.448;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
  position: relative;
  z-index: 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
#main .form .button_wrap button.confirm::before, #main .form .button_wrap button.confirm::after, #main .form .button_wrap button.submit::before, #main .form .button_wrap button.submit::after {
  position: absolute;
  display: block;
  content: "";
  border-radius: 40px;
}
#main .form .button_wrap button.confirm::before, #main .form .button_wrap button.submit::before {
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #7220D2, #545CFC, #2FA5FD, #8EE9FC, #CCA2DF, #EB5FC7);
}
#main .form .button_wrap button.confirm::after, #main .form .button_wrap button.submit::after {
  inset: 3px;
  z-index: -1;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-color: #fff;
  transition: background-color 0.2s;
}
#main .form .button_wrap button.confirm:hover, #main .form .button_wrap button.submit:hover {
  background-color: #F9F9F9;
}
#main .form .button_wrap button.confirm:hover::after, #main .form .button_wrap button.submit:hover::after {
  background-color: #F9F9F9;
}
#main .form .button_wrap button.confirm:disabled, #main .form .button_wrap button.submit:disabled {
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
#main .form .button_wrap button.confirm:disabled::before, #main .form .button_wrap button.confirm:disabled::after, #main .form .button_wrap button.submit:disabled::before, #main .form .button_wrap button.submit:disabled::after {
  content: none;
}
#main .form .button_wrap button.confirm.ended, #main .form .button_wrap button.submit.ended {
  border: 2.5px solid rgba(180, 180, 180, 0.7);
  background-color: #EFEFF1;
  color: #B4B4B4;
  box-shadow: none;
  pointer-events: none;
}
#main .form .button_wrap button.confirm.ended::before, #main .form .button_wrap button.confirm.ended::after, #main .form .button_wrap button.submit.ended::before, #main .form .button_wrap button.submit.ended::after {
  content: none;
}
@media screen and (max-width: 600px) {
  #main .form .button_wrap button.confirm, #main .form .button_wrap button.submit {
    width: 295px;
    height: 46px;
  }
}
#main .form form.mailform .input-form {
  padding: 24px;
  border-top: none;
  background-color: #F9F9F9;
}
@media screen and (max-width: 600px) {
  #main .form form.mailform .input-form {
    padding: 20px 12px;
  }
}
#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: 16px;
  line-height: 1.448;
  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: 14.5px 15px;
  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]:disabled, #main .form form.mailform .input-form .form-group .controls input[type=tel]:disabled, #main .form form.mailform .input-form .form-group .controls input[type=email]:disabled, #main .form form.mailform .input-form .form-group .controls input[type=url]:disabled, #main .form form.mailform .input-form .form-group .controls input[type=password]:disabled, #main .form form.mailform .input-form .form-group .controls input[type=date]:disabled, #main .form form.mailform .input-form .form-group .controls input[type=number]:disabled, #main .form form.mailform .input-form .form-group .controls textarea:disabled {
  color: #b4b4b4;
  border-color: #b4b4b4;
  background-color: #F9F9F9;
}
#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: #3D79FC;
  box-shadow: 0 0 8px rgba(61, 121, 252, 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: #fff;
}
#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: #3D79FC;
  box-shadow: 0 0 8px rgba(61, 121, 252, 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 {
  color: #B4B4B4;
}
#main .form form.mailform .input-form .form-group .controls input[type=radio]:disabled + span:before, #main .form form.mailform .input-form .form-group .controls input[type=radio]:disabled + span:after, #main .form form.mailform .input-form .form-group .controls input[type=checkbox]:disabled + span:before, #main .form form.mailform .input-form .form-group .controls input[type=checkbox]:disabled + span:after {
  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 #3D79FC;
  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: #3D79FC;
}
#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 #3D79FC;
  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: #3D79FC;
}
#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 select {
  color: #FC0255;
  border-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 .select.error .select2-selection {
  border-color: #FC0255;
}
#main .form form.mailform .input-form .form-group .controls .select.error .select2-selection .select2-selection__rendered {
  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;
}
#main .form_set {
  padding: 24px;
  background-color: #F9F9F9;
}
@media screen and (max-width: 600px) {
  #main .form_set {
    padding: 20px 12px;
  }
}
#main .form_set + .form_set {
  margin-top: 64px;
}
#main .form_set input[type=text]:disabled, #main .form_set input[type=tel]:disabled, #main .form_set input[type=email]:disabled, #main .form_set input[type=url]:disabled, #main .form_set input[type=password]:disabled, #main .form_set input[type=date]:disabled, #main .form_set input[type=number]:disabled, #main .form_set textarea:disabled {
  background-color: #EFEFF1;
}
#main .form_set .select.disabled {
  background-color: #EFEFF1;
}
.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;
  }
}
.output.checkboxes ul li::before {
  content: "・";
}
#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 {
  width: 272px;
  height: 64px;
  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 #3D79FC;
  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: #3D79FC;
  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: #3D79FC;
  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 #3D79FC;
  border-bottom: 1px solid #3D79FC;
  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(61, 121, 252, 0.3);
}
.search_box button {
  display: block;
  width: 140px;
  height: 100%;
  padding-bottom: 3px;
  border: none;
  border-radius: 40px;
  background-color: #3D79FC;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
  background: linear-gradient(to right, #648BFF 15.4%, #AB34EE 80.4%);
  border-radius: 0 4px 4px 0;
}
.search_box button:hover {
  background-color: rgba(61, 121, 252, 0.5);
}
.search_box button:disabled {
  cursor: default;
  background: #ddd;
  color: #666;
}
#main .not_found h2.page_title {
  margin-top: 84px;
  margin-bottom: 16px;
  font-size: 26px;
}
@media screen and (max-width: 600px) {
  #main .not_found h2.page_title {
    margin-top: 40px;
    margin-bottom: 11px;
    font-size: 32px;
  }
}
#main .not_found p.page_description {
  margin-top: 0;
  margin-bottom: 40px;
}
#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 {
    margin-top: 53px;
  }
}
#main .not_found p.en {
  margin-top: 30px;
}
#main .not_found .back_button {
  width: 224px;
  height: 48px;
  margin: 60px auto 15px;
}
@media screen and (max-width: 600px) {
  #main .not_found .back_button {
    margin-top: 42px;
  }
}
#main .not_found .back_button a {
  padding-bottom: 2px;
  line-height: 1.3;
  text-align: center;
}
.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: #3D79FC;
  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: rgba(61, 121, 252, 0.5);
  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: #3D79FC;
  font-weight: 700;
}
.modal_body dl.reserve_list dd.reserve_list_place a {
  color: #3D79FC;
  font-weight: 700;
}
.modal_body dl.reserve_list dd.reserve_list_place a:hover {
  color: rgba(61, 121, 252, 0.5);
}
.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: 232px;
  height: 54px;
  padding-bottom: 3px;
  border: none;
  border-radius: 40px;
  background-color: #fff;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.448;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
}
.modal_body ul.calendar_list li button::before, .modal_body ul.calendar_list li button::after {
  position: absolute;
  display: block;
  content: "";
  border-radius: 40px;
}
.modal_body ul.calendar_list li button::before {
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #7220D2, #545CFC, #2FA5FD, #8EE9FC, #CCA2DF, #EB5FC7);
}
.modal_body ul.calendar_list li button::after {
  inset: 3px;
  z-index: -1;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-color: #fff;
  transition: background-color 0.2s;
}
.modal_body ul.calendar_list li button:hover {
  background-color: #F9F9F9;
}
.modal_body ul.calendar_list li button:hover::after {
  background-color: #F9F9F9;
}
.modal_body ul.calendar_list li button:disabled {
  cursor: default;
  background: #B4B4B4;
  color: #fff;
}
.modal_body ul.calendar_list li button:disabled::before, .modal_body ul.calendar_list li button:disabled::after {
  content: none;
}
.modal_body ul.calendar_list li button.ended {
  border: 2.5px solid rgba(180, 180, 180, 0.7);
  background-color: #EFEFF1;
  color: #B4B4B4;
  box-shadow: none;
  pointer-events: none;
}
.modal_body ul.calendar_list li button.ended::before, .modal_body ul.calendar_list li button.ended::after {
  content: 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: 0;
  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 {
  display: block;
  width: 224px;
  height: 54px;
  padding-bottom: 3px;
  border: none;
  border-radius: 40px;
  background-color: #3D79FC;
  color: #fff;
  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);
}
.modal_body button.submit:hover {
  background-color: rgba(61, 121, 252, 0.5);
}
.modal_body button.submit:disabled {
  cursor: default;
  background: #ddd;
  color: #666;
}
@media screen and (max-width: 600px) {
  .modal_body button.submit {
    width: 295px;
    max-width: 100%;
    height: 46px;
  }
}
.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%;
  }
}
.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: 295px;
    max-width: 100%;
    height: 46px;
  }
}
.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: #3D79FC;
  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;
}
#main .modal .modal_body .login_form.top .button_wrap {
  margin-top: 40px;
}
#main .modal .modal_body .login_form.top .button_wrap button.submit {
  width: 224px;
  height: 54px;
}
#main .modal .modal_body .no_id {
  margin-top: 8px;
}
/*# sourceMappingURL=./common_2025.css.map */